Forum: Mikrocontroller und Digitale Elektronik x86 Applikation Peripherie und Architektur


von Mark K. (mar70)


Lesenswert?

Hallo,
möchte mich in die Applikation, Architektur und vor allem der gängigen 
Prozessorschnittstellen und Peripherie der x86 Controller einarbeiten.
Hat Jemand einen Buchtipp zu dem Thema oder Links auf Material im Netz, 
wo diese Themen fundiert diskutiert werden?
Vielen Dank im Voraus.

von (prx) A. K. (prx)


Lesenswert?

Markus N. schrieb:
> der x86 Controller

Welcher? Gibts überhaupt noch x86 Controller?

von Stefan F. (Gast)


Lesenswert?

(prx) A. K. schrieb:
> Gibts überhaupt noch x86 Controller?

Ich glaube nicht. Erinnere mich nur noch vage an den i80186, das war in 
den 90er Jahren.

von Thomas W. (Gast)


Lesenswert?

Moin, -

wenn es Dich wirklich interessiert (warum auch immer):

Barry B. Brey, The Intel microprocessors 8086,8088, 80186, 80188, 80286, 
80386, 80486... The Architecture, Programming, and Interfacing, 8th 
Edition, Prentice Hall, 2008

ISBN: 0135026458, 9780135026458

ich finde zwar die Vax interessanter, but who am I to judge.

Gruesse

Th.

von klaus (Gast)


Lesenswert?

(prx) A. K. schrieb:
> Welcher? Gibts überhaupt noch x86 Controller?

Intel Quark gibt es noch. 
https://www.intel.de/content/www/de/de/embedded/products/quark/overview.html

von Mark K. (mar70)


Lesenswert?

In modernen Industriesteuerungen, sowie Industrie PCs dürften diese x86 
Architekturen weiter zum Einsatz kommen.
Kann man die aktuell gebräuchlichen i3, i5, i7, i9 nicht als moderne x86 
verstehen, mit gleichen Grundlagen und ähnlicher Peripherie?

von (prx) A. K. (prx)


Lesenswert?

klaus schrieb:
> Intel Quark gibt es noch.

Nur wenn du sie schon vor 2 Jahren bestellt hast: "Intel announced the 
end-of-life of its Quark products in January 2019, with orders accepted 
until July 2019 and final shipments set for July 2022."

von (prx) A. K. (prx)


Lesenswert?

Markus N. schrieb:
> Kann man die aktuell gebräuchlichen i3, i5, i7, i9 nicht als moderne x86
> verstehen, mit gleichen Grundlagen und ähnlicher Peripherie?

Deine Frage nannte "Controller", und damit sind hier im Forum meistens 
keine Industrie-PCs gemeint, auch wenn die Geräte steuern.

Der Unterschied in Perpherie und Architektur zwischen dem ursprünglichen 
IBM PC und einem aktuellen PC ist allerdings ziemlich gross, vorsichtig 
ausgedrückt. Wobei der IBM PC den Vorteil hat, bis ins letzte Bit offen 
dokumentiert zu sein, BIOS-Listing inklusive. Was man von aktuellen PCs 
nicht sagen kann. Die haben Teile, an deren Doku du nicht einmal mit NDA 
rankommst.

Ansonsten solltest du deine Frage etwas konkretisieren. 4 Jahrzehnte x86 
Entwicklung hinterliessen massenhaft Info. Zu viel für die Frage.

von Patrick L. (Firma: S-C-I DATA GbR) (pali64)


Lesenswert?

Wenn du Interesse hast, hätte ich da noch ein
SM486PC mit allen Dokumentationen als PDF
Dies ist ein ganz kleiner Singleboard Computer mit dem ELANSC400CPU
<Entspricht einem 80486 inklusive sehr viel Pheripherie)

Wir verwenden diese noch immer in Messgeräten und haben deshalb diese 
noch als Ersatzteile lagernd.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

(prx) A. K. schrieb:
> Die haben Teile, an deren Doku du nicht einmal mit NDA rankommst.
Und das Bios ist so vertrackt, dass nicht mal der Bios-Hersteller mehr 
Fehler findet, auch wenn man die Effekte auf dem Silbertablett 
präsentiert.

Markus N. schrieb:
> möchte mich in die Applikation, Architektur und vor allem der gängigen
> Prozessorschnittstellen und Peripherie der x86 Controller einarbeiten.
Kurz gesagt: du willst dich in die PC-Technik einarbeiten? Mit welchem 
Ziel? Wieviel Zeit hast du?

Markus N. schrieb:
> In modernen Industriesteuerungen, sowie Industrie PCs dürften diese x86
> Architekturen weiter zum Einsatz kommen.
Allerding shat man dann laufend mit den entsprechend kurzen 
Produktlebenszyklen zu kämpfen. Mir ist schon 2x die Plattform direkt 
bei der Serieneinführung abgekündigt worden.

> In modernen Industriesteuerungen
Ich sehe es eher so: je moderner die Steuerung umso mehr wird ARM 
eingesetzt.

von klaus (Gast)


Lesenswert?

Oh… ich dachte, die ‚kleinen‘ Quark mit 32 MHz wären noch nicht 
abgekündigt. War wohl auf der falschen Intel Seite: 
https://www.intel.de/content/www/de/de/embedded/products/quark/overview.html

von klaus (Gast)


Lesenswert?


Beitrag #6798737 wurde von einem Moderator gelöscht.
von M. Н. (Gast)


Lesenswert?

Markus N. schrieb:
> In modernen Industriesteuerungen, sowie Industrie PCs dürften diese x86
> Architekturen weiter zum Einsatz kommen.
> Kann man die aktuell gebräuchlichen i3, i5, i7, i9 nicht als moderne x86
> verstehen, mit gleichen Grundlagen und ähnlicher Peripherie?

Ja und nein. Du hast dir mit x86 bzw. x86_64 natürlich jetzt die 
"verbasteltste" Architektur des Planeten ausgesucht.

Die Architektur ist in den letzten Jahrzehnten ja immer weiter gewachsen 
und zum größten Teil rückwärtskompatibel geblieben. IMHO macht es das 
nicht gerade einfacher. Noch heute bootet jeder i7 erstmal im 16bit 
Real-Mode und kann initial ganze 64k Speicher verwalten...

Generell fand ich das hier ganz hilfreich: 
https://riptutorial.com/Download/intel-x86-assembly-language---microarchitecture.pdf

und die OSDev Wikiseite. Ist aber mehr ein Nachschlagewerk, wenn man was 
konkretes sucht:
https://wiki.osdev.org/Category:X86

Bei x86 kannst du dich auf einiges gefasst machen. Bspw. im 
Speichermanagement:
Du Speicherverwaltung funktioniert quasi in jedem Modus komplett anders. 
Teils werden die selben Register genutzt, die tun dann aber nur andere 
Dinge :)
Ein Überblick über die einzelnen Betriebsmodi der x86 Architektur:

Übersicht: https://en.wikipedia.org/wiki/X86-64#Operating_modes

1) https://de.wikipedia.org/wiki/Protected_Mode
2) https://en.wikipedia.org/wiki/Long_mode
3) https://en.wikipedia.org/wiki/Real_mode
4) https://en.wikipedia.org/wiki/Unreal_mode
5) https://en.wikipedia.org/wiki/Virtual_8086_mode
6) https://en.wikipedia.org/wiki/System_Management_Mode

Nach dem Start bootet die SME (System management Engine) deinen Rechner 
erstmal im Real Mode. Danach arbeitet sich dein System Stück für Stück 
über den protected mode in den Long Mode hoch. Dinge in deinem Bios 
laufen bspw. im SMM (system Management Mode).

Direkt nach dem Booten stellt dir das Bios im real mode gewisse 
Funktinen zur Verfügung, über die du bspw. weiteren Code von der Platte 
laden kannst. Sobald du dann in den 32 bit Mopdus übergegangen bist, ist 
dann aber die Bios API komplett anders und das Ganze Zeugs tut anders 
als vorher :)
https://wiki.osdev.org/Boot_Sequence

Zur eingeltichen HW Anbindung kann ich dir wenig sagen. Mir hat die 
Softwareseite von x86 gereicht.

Beitrag #6798756 wurde von einem Moderator gelöscht.
von Mark K. (mar70)


Lesenswert?

Muss mein Anliegen nochmal etwas präzisieren:

Ich möchte mich mit der Hardware vertraut machen, was gemeint ist, wenn 
man von aktuellen x86 bzw. Intel Architekturen spricht.

Hier geht es mir vorrangig um Speicherinterfaces; PowerSupply; 
Peripherie-Interfaces; Clocking; Cooling usw.

Hat hier Jemand einen Literaturtipp, oder ein paar tiefer gehende 
Onlinequellen?

Vielen Dank im Voraus, für wohlwollende Hilfestellung.

von M.M.M (Gast)


Lesenswert?

Markus N. schrieb:
> Hat hier Jemand einen Literaturtipp, oder ein paar tiefer gehende
> Onlinequellen?

Schon mal auf die Idee gekommen, an der Quelle, also Intel, zu suchen? 
Da gibt's doch tonnenweise Doku. Sicher viel mehr, als Du zu lesen 
bereit bist. Da hat das Datenblatt einer aktuellen CPU-Familie mal eben 
800 Seiten und das Datenblatt eines aktuellen Chipsatzes so um die 1900 
Seiten.

von ... (Gast)


Lesenswert?

Das mit dem Abkuendigen von irgendwelchen Architekturen hat
Intel ja schon jahrzehntelang betrieben.
Als Entwickler wuerde ich bei Intel eigentlich heute gar nichts
mehr kaufen wollen. Es koennte im naechsten Jahr ganz ploetzlich
in der Versenkung verschwinden.
Aus der langen Liste: x96, XScale, die Quarks, ...


Hoffentlich kann die "Altera"-Schmiede da ein wenig gegenhalten.

von ... (Gast)


Lesenswert?

P.S.:
Den grottigen 8086/88 haette man natuerlich als erstes
abkuendigen muessen. Das waere eine Wohltat gewesen...

von Gerhard (sgssn)


Lesenswert?

Aktuell ist die X86-Architektur nicht mehr. Aktuell ist heute die 
X64-Architektur. Mit <wechsel von 32-Bit auf 64-Bit hat sich die 
Architektur grundlegend geändert. Also, TS, überleg nochmal was du 
eigentlich suchst! So grundlegende Literatur ist ja wirklich 
interessant, aber sicher selten und daher vermutlich nur auf englisch 
verfügbat. Kontaktier doch mal INTEL selber, vielleicht bekommst du 
sogar ne Antwort. Dieses Thema hat mich auch schon mal interessiert aber 
als eingefleischter AMD-Fan habe ich AMD kontaktiert und.....keine 
Antwort bekommen. :-(

good Luck
Gerhard

von Johannes (Gast)


Lesenswert?

So einfach ist es heute leider nicht mehr. Nimm dir einen 486er, da 
kannst du alles halbwegs direkt programmieren.

> Hier geht es mir vorrangig um Speicherinterfaces;

Sehr CPU spezifisch. Häufig sind die Optionen über die PCI Config 
erreichbar und nicht dokumentiert.

> PowerSupply;

Was meinst du hier genau? Die Basics laufen über ACPI, das allein ist 
(gefühlt) komplexer als die gesamte Hardware eines 486ers.

> Peripherie-Interfaces;

Schau dir an wie PCI in Software funktioniert. Auch PCIe sieht nach 
innen aus wie PCI.

> Clocking;

Komplett CPU spezifisch. Such dir einen Prozessor raus, schau ins 
Programmer Manual oder besser z.B. in ein OS oder BIOS Developer Manual 
vom Hersteller dazu.
Ich kenn die von AMD, da ist's recht genau beschrieben. Natürlich darfst 
du dich mit den Interna heutiger CPUs beschäftigen, z.B. SMM.

> Cooling usw.

Cooling ist "einfach". Es hängt ein entsprechender Chip per I2C am 
System, der Chip ist meist gut dokumentiert. Der I2C Bus ist seinerseits 
dann meist per PCI erreichbar, z.B. über einen SMBus Controller.


Fazit: Es macht heut wenig Spaß sich das direkt anzusehen, es ist 
einfach extrem komplex geworden und moderne Betriebssysteme verstecken 
das zum Glück alles. Mein Rechner hat allein 11 I2C Busse, find mal den 
richtigen.

von keine Macht den Barbaren (Gast)


Lesenswert?

Markus N. schrieb:
> aktuellen x86 bzw. Intel Architekturen

x86 ist nicht aktuell, es gibt inzwiscen selbst bei intel mehrere! 
Nachfolge Archrtekturen (IA-32. Und bei controllern scheint man ohnehin 
nicht nach intel sondern eher nach TI, ARM, MIPS, ... wenn man nicht 
selbst eine archtecture creirt und ein SoC-Design hochstemmt.

Das hätte dir auch ein schnelles Nachschlagen in der Wikipedia verraten:
https://de.wikipedia.org/wiki/X86-Prozessor#Geschichte

von udok (Gast)


Lesenswert?

Markus N. schrieb:
> Hallo,
> möchte mich in die Applikation, Architektur und vor allem der gängigen
> Prozessorschnittstellen und Peripherie der x86 Controller einarbeiten.
> Hat Jemand einen Buchtipp zu dem Thema oder Links auf Material im Netz,
> wo diese Themen fundiert diskutiert werden?
> Vielen Dank im Voraus.

Wegen der Architektur brauchst du dir keine Gedanken machen.
Das macht der Compiler für dich.
Du musst eigentlich nur wissen: 32 Bit oder 64 Bit.

Ich nehme mal an, du bist nicht mehr wirklich am 8086 interessiert?
Wenn aber doch, dann gibt es hier gute Info, die auch für den 80386 noch
gültig ist.

https://www.tutorialspoint.com/microprocessor/microprocessor_8086_overview.htm

http://matthieu.benoit.free.fr/cross/data_sheets/8086_family_Users_Manual.pdf

Der x86 ist eine sehr einfache Architektur mit gerade mal 29000 Gatter.

Du brauchst eigentlich nur 2 Dutzend ASM Befehle und einen Überblick
über die Register: (EAX, EBX, ECX, EDX, ESP, EPB, ESI, EDI),
den Rest kannst du bei Bedarf nachlesen.

Hier zwei gute Referenzen für den 80386:

https://css.csail.mit.edu/6.858/2013/readings/i386.pdf

https://www.complang.tuwien.ac.at/ubvl/amd64/amd64h.html

Modernes x64 ist identisch zum 80386, abgesehen
davon, dass die Register 64 Bit breit sind, und es 16 statt 8 davon 
gibt.
Davon abgesehen gibt es Befehlserweiterungen für spezielle Anwendungen,
die kannst du erst mal ignorieren (Floating Point Unit, SSE, AVX).
Mit den komplizierten Segmentregistern hast du (wenn du kein
OS schreibst) nichts zu tun.

Die Peripherie hängt von deinem Board ab.

Hier mal Infos für USB:
https://www.beyondlogic.org/usbnutshell/usb1.shtml

RS232:
Siehe Wiki

PCI und PCI Express:
https://de.wikipedia.org/wiki/Peripheral_Component_Interconnect

SATA:
Siehe Wiki

Info zu Stromversorgung und Kühlung solltest du im Datenblatt
deines Boards finden.

Mehr gibts dazu eigentlich ohne Infos deinerseits nicht zu sagen.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.