Der Intel 8086
Der Intel 8086
Der Intel 8086
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
Datenverarbeitung I<br />
<strong>Der</strong> <strong>Intel</strong> <strong>8086</strong><br />
Daniel Ketel<br />
Student ISE „Electrical and Electronic Engineering“<br />
Geschichte<br />
14.12.2005<br />
Vorlesung Datenverarbeitung 1 WS 2005/2006 Daniel Ketel<br />
• <strong>Intel</strong> Gründung 1968 (Gordon E. Moore & Robert Noice)<br />
• AMD Gründung 1969<br />
• Eigentlich SRAM-, DRAM- und ROM-Hersteller<br />
• 15. November 1971 erscheint erster <strong>Intel</strong>-Prozessor:<br />
<strong>Intel</strong> 4004, 740kHz, erster Mikroprozessor<br />
• 1. April 1972: <strong>Intel</strong> 8008, 500-800kHz<br />
• 1. April 1974: <strong>Intel</strong> 8080, 2MHz<br />
• März 1976: <strong>Intel</strong> 8085, 5MHz<br />
• 8. Juni 1978: <strong>Intel</strong> <strong>8086</strong>, 5-10MHz: erster 16-Bit Prozessor<br />
• 1. Juni 1979: <strong>Intel</strong> 8088, 5-8MHz<br />
Vorlesung Datenverarbeitung 1 WS 2005/2006 Daniel Ketel
<strong>Der</strong> <strong>Intel</strong> <strong>8086</strong><br />
• Erster 16-Bit Prozessor von <strong>Intel</strong><br />
• Schwesterprozessor des später erschienenen<br />
<strong>Intel</strong> 8088 (8-Bit Datenbus)<br />
• Assemblerkompatibel zu dem 8080<br />
• Erhältlich mit 5MHz, 8MHz und 10MHz Taktfrequenz<br />
• 29.000 Transistoren, 3µm Fertigung<br />
• Kann 1MByte Speicher adressieren<br />
Aufbau des <strong>8086</strong><br />
Quelle: www.thg.ru/cpu/20041228<br />
Vorlesung Datenverarbeitung 1 WS 2005/2006 Daniel Ketel<br />
Quelle:<br />
http://www.cs.sun.ac.za/~museum/gen4.html<br />
Vorlesung Datenverarbeitung 1 WS 2005/2006 Daniel Ketel
Aufbau des <strong>8086</strong><br />
Quelle Bild: http://www.zianet.com/kromeke/pastcomp/cpu_photo.htm<br />
Allgemeines<br />
• 4 allgemeine (Daten-) Register<br />
• 4 Zeiger- (bzw. Index-) Register<br />
• 4 Segmentregister<br />
• 1 IP (Instruction Pointer)<br />
• 1 Flags Register<br />
• Adressbus (16-Bit)<br />
• Datenbus (16-Bit)<br />
• Kontrollbus<br />
• 2-Adress-Prozessor<br />
Vorlesung Datenverarbeitung 1 WS 2005/2006 Daniel Ketel<br />
Vorlesung Datenverarbeitung 1 WS 2005/2006 Daniel Ketel
Allgemeine Register<br />
• AX, BX, CX, DX (16-Bit Register)<br />
• AX: Akkumulator (Akku)<br />
• BX: Basis (Base-Register)<br />
• CX: Zähler (Counter-Register)<br />
• DX: Datenregister (Data-Register)<br />
• Auch als 8 8-Bit Register zu gebrauchen<br />
• AH, AL, BH, BL, CH, CL, DH, DL<br />
AH AX<br />
BH<br />
CH<br />
DH<br />
BX<br />
CX<br />
DX<br />
AL<br />
BL<br />
CL<br />
DL<br />
Vorlesung Datenverarbeitung 1 WS 2005/2006 Daniel Ketel<br />
Zeiger-/Index Register<br />
• SP, BP, SI, DI<br />
• SP: Stapelzeiger (Stack Pointer)<br />
• BP: Basis-Zeiger (Base Pointer)<br />
• SI: Quell-Index (Source Index)<br />
• DI: Ziel-Index (Destination Index)<br />
• Stapelzeiger: Zeigt auf Anfang des Stapels im Speicher<br />
• BP, SI und DI dienen Registerindirekten Adressierung<br />
Vorlesung Datenverarbeitung 1 WS 2005/2006 Daniel Ketel
Segmentregister<br />
• CS, DS, SS, ES<br />
• CS: CodeSegment<br />
• DS: DatenSegment<br />
• SS: StapelSegment<br />
• ES: ExtraSegment<br />
• Ein 16-Bit Register reicht nicht aus um 1MB Speicher<br />
anzusprechen<br />
• Damaliger Kompromiss: 2 Register werden kombiniert<br />
• Braucht 2 Register, aber 16-Bit Register reichen aus<br />
• Können i.d.R. nicht manuell geändert werden<br />
Interrupts<br />
Vorlesung Datenverarbeitung 1 WS 2005/2006 Daniel Ketel<br />
• Interrupt: Momentaner Prozess wird unterbrochen<br />
• INTR, NMI<br />
INTR: Interrupt<br />
NMI: Non-maskable Interrupt<br />
• INTR: Kann deaktiviert (maskiert) werden.<br />
• NMI: Prozessor muss seine Tätigkeit unterbrechen<br />
• Die Flags werden auf dem Stack gesichert<br />
• <strong>Der</strong> Interrupt wird bearbeitet<br />
Vorlesung Datenverarbeitung 1 WS 2005/2006 Daniel Ketel
Besonderheiten des <strong>8086</strong><br />
• POPF, PUSHF<br />
POPF: Flags werden auf dem Stack gesichert<br />
PUSHF: Flags werden von dem Stack geladen<br />
• Kann keine Fliesskommazahlen bearbeiten.<br />
Externer Fliesskommakoprozessor (z.B. <strong>Intel</strong> 8087)<br />
• 6-Byte Cache zwecks precaching von Instruktionen<br />
• War einer der ersten 16-Bit Prozessoren<br />
Vorlesung Datenverarbeitung 1 WS 2005/2006 Daniel Ketel