Intel 8086

Intel 8086
<<   Intel 8086   >>
KL Intel D8086.jpg
Intel D8086.
Produktion: 1978 bis 90er
Produzenten:
  • Intel
  • AMD
  • NEC
  • Harris (Intersil)
  • Siemens AG
  • Fujitsu
  • OKI
  • Texas Instruments
  • Mitsubishi
Prozessortakt: 5 MHz bis 10 MHz
Befehlssatz: 16Bit x86
Sockel: 40-pin DIP
8086-Nachbau KP1810BM86 aus der damaligen UdSSR.
Pinbelegung des 8086 im Maximum- und Minimum-Modus.

Der Intel 8086 ist ein 16-Bit-Mikroprozessor von Intel. Entwickelt 1978, wurde er zum Urvater der 80x86-Familie. Das Design basierte auf Intels 8-Bit-CPUs 8080 und 8085, der Befehlssatz war so konzipiert, dass Assembler-Quellcode für den 8080/8085 leicht automatisch in gültigen 8086-Quellcode umgewandelt werden konnte. Eine direkte Kompatibilität, also die Möglichkeit, die 8080-Programme auch ohne Neuassemblierung ablaufen zu lassen, bestand aber nicht. Wie dem 8080 fehlten dem 8086 einige wesentliche Bausteine wie Interrupt- und DMA-Controller, die als externe Chips dazukamen. Der 8086 unterstützt auch keine Gleitkomma-Operationen, kann jedoch von Haus aus mit einem Intel 8087-Koprozessor zusammenarbeiten, der dann die Gleitkomma-Berechnungen ausführt. Der Intel 8089-Koprozessor bietet erweiterte I/O-Funktionen.

Der 8086 war eine der langsamsten unter den 16-Bit-CPUs, die Ende der 1970er Jahre auf den Markt kamen.

Inhaltsverzeichnis

Speichersegmentierung

Eine Besonderheit ist die Speichersegmentierung. Da es mit einem 16-Bit-Adressregister nur möglich ist, maximal 64 kB Speicher zu adressieren, musste ein Weg gefunden werden, um trotzdem mehr möglichen Speicher adressieren zu können; Intel gab dem Prozessor 20 Adressleitungen für 220 Adressen (maximal 1 Megabyte Arbeitsspeicher). Zur Adressierung wird der Speicher in 65.536 überlappende Adressbereiche (Segmente) zu je 64 KB Größe aufgeteilt. Auf diese Weise ist es dem Chip möglich, bis zu 1 MB zu adressieren, wobei innerhalb jedes Segments mit 16-Bit-Adressen gearbeitet werden kann. Als Formel für den Zugriff auf eine physikalische Speicherstelle wurde folgender Zusammenhang festgelegt: Physikalische Adresse = Segmentregister × 16 + Offset. Mit den insgesamt vier, ebenfalls je 16 Bit großen Segmentregistern können Segmente an jeder 16-Byte-Grenze beginnen.

Wenn beispielsweise das Segmentregister die Adresse 1234hex und das Offset-Register die Adresse 5678hex enthält, was meist als 1234:5678 geschrieben wird, dann erfolgt der eigentliche Speicherzugriff auf die Adresse 1234hex × 10hex + 5678hex = 12340hex + 5678hex = 179B8hex.

Vorteil der Speichersegmentierung ist u. a. eine einfachere Portierbarkeit von 8-Bit-Programmen und eine höhere Code-Dichte, Nachteil die umständliche Programmierung und die Beschränkung auf ein Megabyte; andere 16-Bit-Architekturen erlaubten meist einen Adressraum von mindestens 16 MB. Allerdings war 1 MB Ende der 1970er Jahre für einen Mikrocomputer ohnehin viel mehr, als benötigt bzw. tatsächlich an Speicher verbaut wurde, auch aufgrund der hohen Preise für RAM (der IBM-PC hatte zum Beispiel zunächst je nach Variante nur maximal 64 KB Speicher, Heimcomputer aus der gleichen Zeit meist noch deutlich weniger).

Register

Verglichen mit anderen 16-Bit-Prozessoren hat der 8086 nur eine kleine Anzahl an Registern. Für viele Operationen ist oft nur ein bestimmtes Register verwendbar – der 8086 ist damit ein erweiterter Akkumulatorrechner, als Allzweck-Register stehen meist nur vier zur Verfügung. Fest zu einem Register zugewiesene Funktion ist zum Beispiel die (Ganzzahl-)Multiplikation: Der Multiplikand muss im Register AX abgelegt werden und danach der Multiplikationsbefehl mit dem Multiplikator als Argument aufgerufen werden. Das Ergebnis erhält man dann in den Registern DX und AX. Durch diese feste Registerbindung ist man häufig gezwungen, Werte auf den Stack oder in den Arbeitsspeicher zu sichern und von dort zu laden, da die Prozessorbefehle häufig vorgeben, welche Register gerade für die Zwischenwerte genutzt werden können. Andere 16-Bit-Prozessoren erlauben dagegen, dass man für jede Operation die zu verwendenden Allzweck-Register auswählt und damit seltener Zwischenergebnisse auf Stack und im Arbeitsspeicher sichern muss (Registermaschine); auch hatten diese Architekturen meist 16 oder mehr Register, während der 8086 (abzüglich der erwähnten Segmentregister) nur vier halbwegs allgemeine und vier speziellere Register unterstützte. Dies ist insofern ein Problem, als dass Zugriffe auf den Arbeitsspeicher im Vergleich zu Registerzugriffen sehr langsam sind.

Dieses Register-Konzept vererbte der 8086 auf seinen Nachfolger 80286 und auf alle späteren, zur sog. x86-Familie zählenden Prozessoren, jedoch wurde die Zahl der Register im neuen x64-Modus der aktuellen Prozessoren immerhin verdoppelt, zusätzlich sind die Register der aktuellen x86-Generation 64 Bit „breit“.

Betriebsarten

Der 8086 (und auch der 8088) kann in einem Minimum- und einem Maximummodus betrieben werden. Die Wahl erfolgt über den MN/MX-Pin 33. Wird er auf der 0 V (Low) geschaltet, so arbeitet der 8086/88 im Minimummodus, bei +5 V (High) im Maximummodus. Im Minimummodus können kompakte einfache Schaltungen realisiert werden; die erforderlichen Steuerleitungen stellt der Prozessor selbst zur Verfügung. Der Maximummodus ist in erster Linie für den Multiprozessorbetrieb bzw. für die Arbeit mit Koprozessoren vorgesehen. Hier werden die erforderlichen Steuerleitungen nicht bereitgestellt sondern durch zusätzliche I/O-Bausteine: den 8288 (Bus-Controller) sowie den 8289 (Bus-Arbiter).

Der 8086 verfügt über keinen internen Oszillator. Der erforderliche Takt wird extern vom Oszillator-Chip 8284 generiert. Ferner ist zur Abtrennung der Adressen aus dem gemultiplexten Adress-/Datenbus ein Latch erforderlich, z. B. der 8282. Für die ausreichende Ansteuerung der gesamten Bussysteme wie auch im Multiprozessorbetrieb benötigt man bidirektionale Treiber, z. B. den 8286.

Einsatz

Wie sein kleiner Bruder 8088, der wenig später auf den Markt kam, wurde der 8086 vor allem im IBM-PC und dessen Nachbauten eingesetzt, aber auch z. B. im Space Shuttle. Die NASA durchsuchte immer wieder den Restbestände-Markt nach einer bestimmten, lange nicht mehr hergestellten, Spezialversion des 8086 um das Shuttleprogramm durchführen zu können.[1][2] Diese Version des 8086 ist besonders unempfindlich gegen elektromagnetische Strahlung und wurde nicht nur vom Militär, sondern auch von Herstellern von medizinischen Geräten verwendet.

Architektur

  • Max. adressierbarer Speicher: 1 MB
  • Verarbeitungsbreite: 16 Bit
  • Datenbus: 16 Bit
  • Adressbus: 20 Bit
  • Befehle: ca. 100 im Format „[Präfix] Mnemonik [Operand 1][, Operand 2]“ ([…] nicht immer nötig)
  • 14 Register:
    • 4 allgemeine 16-Bit-Register (ansprechbar auch als Low- oder High-Teil zu je 8-Bit):
      • AX – Akkumulator
      • BX – Basis-Register
      • CX – Count-Register
      • DX – Daten-Register
    • 2 16-Bit-Pointer-Register:
      • SP – Stackpointer
      • BP – Basepointer
    • 2 16-Bit-Index-Register:
      • SI – Source Index
      • DI – Destination Index
    • 4 16-Bit-Segment-Register:
    • 16-Bit-Befehlszeiger IP – Instruction Pointer
    • 16-Bit-Status-Register mit 9 Flags:
      • CF – Übertragflag (engl. carry flag)
      • PF – Paritätsflag (engl. parity flag)
      • AF – Hilfsübertragsflag (engl. auxiliary carry flag)
      • ZF – Nullflag (engl. zero flag)
      • SF – Vorzeichenflag (engl. sign flag)
      • TF – Einzelschrittflag (engl. trap flag)
      • IF – Interrupt-Aktivierungs-Flag (engl. interrupt enable flag)
      • DF – Richtungsflag (engl. direction flag)
      • OF – Überlaufflag (engl. overflow flag)

Technische Daten

  • L1-Cache: nicht vorhanden
  • L2-Cache: nicht vorhanden
  • Anzahl der Transistoren: 29.000
  • Bauform: DIL mit 40 Pins
  • Betriebsspannung (VCore): 5 Volt
  • Erscheinungsdatum: 1978
  • Fertigungstechnik: 3 µm
  • Die-Größe: 33 mm² bei 29.000 Transistoren
  • Taktraten:
    • 8086: 4,77 MHz (0,33 MIPS)
    • 8086-2: 8 MHz (0,66 MIPS)
    • 8086-1: 10 MHz (0,75 MIPS)

Wesentliche Konkurrenten

Neben Pin- und Funktions-gleichen Nachbauten (v. a. die in CMOS-Technologie hergestellten NEC V20 und V30) sowie der günstigeren, „abgespeckten“ Variante 8088, wurden in Konkurrenzprodukten zum IBM PC gerne der Motorola 68000-Prozessor verwendet, selten der Zilog Z8000, selten der National Semiconductor NS16032. (Sowohl Motorola 68000 als auch NS16032 sind jedoch 32-Bit-Prozessoren.)

Siehe auch

Weblinks

 Commons: Intel 8086 – Sammlung von Bildern, Videos und Audiodateien
Wikibooks Wikibooks: Assembler auf dem 80x86 – Lern- und Lehrmaterialien

Einzelnachweise

  1. Heise Online: NASA sucht im Internet nach uralten Chips
  2. NY Times: For Old Parts, NASA Boldly Goes . . . on eBay

Wikimedia Foundation.

Игры ⚽ Поможем решить контрольную работу

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Intel 8086 — Produced From 1978 to 1990s Common manufacturer(s) Intel, AMD, NEC, Fujitsu, Harris (Intersil), OKI, Siemens AG …   Wikipedia

  • Intel 8086 — <<   Intel 8086   >> Центральный процессор Микропроцессор Intel 8086 Производство: 8 июня 1978 Производители …   Википедия

  • Intel 8086 — 8086 en boitier céramique. L Intel 8086 est un microprocesseur CISC 16 bits fabriqué par Intel à partir de 1978. C est le premier processeur de la famille x86, qui est devenu l architecture de processeur la plus répandue dans le monde des… …   Wikipédia en Français

  • Intel 8086 y 8088 — Intel 8088 Microprocesador Microprocesador Intel 8088 Producción 1979   1982 Fabricante(s) …   Wikipedia Español

  • Intel 8086 —    Intel s low end microprocessor chip that utilizes a16 bit internal architecture and 16 bit data path; used in IBM PC XT andcompatible microcomputers …   IT glossary of terms, acronyms and abbreviations

  • Intel 8086 y 8088 — Los Intel 8086 e Intel 8088 (i8086, llamado oficialmente iAPX 86, e i8088) son dos microprocesadores de 16 bits diseñados por Intel en 1978, iniciadores de la arquitectura x86. La diferencia entre el i8086 y el i8088 es que el i8088 utiliza un… …   Enciclopedia Universal

  • Intel 8086/87 — …   Википедия

  • 8086 — Intel D8086. 8086 Clone KP1810BM86 aus der ehemaligen UdSSR. Der Intel 8086 ist ein 16 Bit Mikroprozessor von Intel. Entwickelt 1978, wurde er zum Urvat …   Deutsch Wikipedia

  • 8086 — <<   Intel 8086   >> Центральный процессор Микропроцессор Intel 8086 Производство …   Википедия

  • Intel 80286 — <<   Intel 80286   >> Центральный процессор Микропроцессор Intel 80286 (8 МГц) Производство: с 1 февраля 1 …   Википедия

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”