Intel 8080 - Intel 8080

Intel 8080
KL Intel i8080 Schwarzer Hintergrund.jpg
Eine Intel C8080A Prozessorvariante mit weißer Keramik, einem goldenen Heatspreader und goldenen Pins.
Allgemeine Information
Gestartet April 1974 ; Vor 47 Jahren ( 1974-04 )
Abgesetzt 1990 ; vor 31 Jahren ( 1990 )
Vermarktet von Intel
Entworfen von Intel
Gängige Hersteller
Leistung
max. CPU- Taktrate 2 MHz bis 3,125 MHz
Datenbreite 8 Bit
Adressbreite 16 Bit
Architektur und Klassifizierung
Mindest. Feature-Größe 6 µm
Befehlssatz 8080
Physikalische Spezifikationen
Transistoren
Kerne
Pakete)
Steckdosen)
Geschichte
Vorgänger Intel 8008
Nachfolger Intel 8085

Der Intel 8080 ( "eighty-eighty" ) ist der zweite 8-Bit- Mikroprozessor, der von Intel entwickelt und hergestellt wird . Es erschien erstmals im April 1974 und ist eine erweiterte und verbesserte Variante des früheren 8008- Designs, jedoch ohne Binärkompatibilität . Die anfänglich festgelegte Taktrate oder Frequenzgrenze betrug 2  MHz , und bei üblichen Befehlen mit 4, 5, 7, 10 oder 11 Zyklen bedeutete dies, dass er mit einer typischen Geschwindigkeit von einigen hunderttausend Befehlen pro Sekunde arbeitete . Eine schnellere Variante 8080A-1 (manchmal auch 8080B genannt) wurde später mit einer Taktfrequenzbegrenzung von bis zu 3,125 MHz verfügbar.

Der 8080 benötigt zwei unterstützende Chips, um in den meisten Anwendungen zu funktionieren, den i8224-Taktgenerator/-treiber und den i8228-Buscontroller, und er ist in einer N-Typ-Metall-Oxid-Halbleiter-Logik (NMOS) mit ungesättigten Transistoren vom Anreicherungstyp als Lasten implementiert daher eine +12  V und eine -5 V Spannung zusätzlich zu der Haupttransistor -Transistor-Logik (TTL) kompatiblen +5 V.

Obwohl frühere Mikroprozessoren für Taschenrechner , Registrierkassen , Computerterminals , Industrieroboter und andere Anwendungen verwendet wurden, wurde der 8080 zu einem der ersten weit verbreiteten Mikroprozessoren. Mehrere Faktoren trugen zu seiner Popularität bei: Sein 40-Pin-Gehäuse erleichterte die Schnittstelle als das 18-Pin-8008 und machte auch seinen Datenbus effizienter; seine NMOS-Implementierung verlieh ihm schnellere Transistoren als die der P-Typ-Metall-Oxid-Halbleiter-Logik (PMOS) 8008, während er auch die Schnittstellen vereinfachte, indem er ihn TTL-kompatibel machte ; eine größere Vielfalt an Unterstützungschips war verfügbar; sein Befehlssatz wurde gegenüber dem 8008 verbessert; und sein vollständiger 16-Bit-Adressbus (im Gegensatz zum 14-Bit-Bus des 8008) ermöglichte es ihm, auf 64 KB Speicher zuzugreifen, viermal mehr als der 8008-Bereich von 16 KB. Es wurde der Motor des Altair 8800 und der nachfolgenden S-100-Bus- Personalcomputer, bis es in dieser Rolle durch den Z80 ersetzt wurde und war die ursprüngliche Ziel-CPU für CP/M- Betriebssysteme, die von Gary Kildall entwickelt wurden .

Der 8080 war so erfolgreich, dass die Übersetzungskompatibilität auf Assemblersprachebene zu einer Designanforderung für den Intel 8086 wurde, als sein Design 1976 begann, und führte dazu, dass der 8080 alle späteren Varianten der allgegenwärtigen 32-Bit- und 64-Bit- x86- Architekturen direkt beeinflusste .

Beschreibung

Programmiermodell

i8080 Mikroarchitektur
Intel 8080-Register
1 5 1 4 1 3 1 2 1 1 1 0 0 9 0 8 0 7 0 6 0 5 0 4 0 3 0 2 0 1 0 0 (Bitposition)
Hauptregister
EIN Flaggen P rogram S tatus W ord
B C B
D E D
h L H (indirekte Adresse)
Indexregister
SP S tack P ointer
Programm zähler
PC P rogram C ounter
Statusregister
  S Z - AC - P - C Flaggen

Der Intel 8080 ist der Nachfolger des 8008 . Es verwendet den gleichen grundlegenden Befehlssatz und das gleiche Registermodell wie der 8008 (entwickelt von Computer Terminal Corporation ), obwohl er weder mit dem Quellcode noch mit dem Binärcode kompatibel mit seinem Vorgänger ist. Jeder Befehl im 8008 hat einen äquivalenten Befehl im 8080 (obwohl sich die Opcodes zwischen den beiden CPUs unterscheiden). Der 8080 fügt seinem Befehlssatz auch einige 16-Bit-Operationen hinzu. Während der 8008 die Verwendung des HL-Registerpaars erforderte, um indirekt auf seinen 14-Bit-Speicherbereich zuzugreifen, fügte der 8080 Adressierungsmodi hinzu, um einen direkten Zugriff auf seinen vollen 16-Bit-Speicherbereich zu ermöglichen. Darüber hinaus wurde der interne 7-stufige Push-Down- Call-Stack des 8008 durch ein dediziertes 16-Bit-Stack-Pointer (SP)-Register ersetzt. Das große 40-Pin- DIP- Gehäuse des 8080 ermöglicht es, einen 16-Bit- Adressbus und einen 8-Bit- Datenbus bereitzustellen , was einen einfachen Zugriff auf 64  KB (64 × 2 10 ) Speicher ermöglicht.

Register

Der Prozessor verfügt über sieben 8-Bit- Register (A, B, C, D, E, H und L), wobei A der primäre 8-Bit-Akkumulator ist und die anderen sechs Register als einzelne 8-Bit-Register verwendet werden können oder als drei 16-Bit-Registerpaare (BC, DE und HL, in Intel-Dokumenten als B, D und H bezeichnet) in Abhängigkeit vom jeweiligen Befehl. Einige Befehle ermöglichen auch die Verwendung des HL-Registerpaars als (begrenzter) 16-Bit-Akkumulator, und ein Pseudoregister M kann fast überall verwendet werden, wo jedes andere Register verwendet werden kann, bezogen auf die Speicheradresse, auf die das HL . zeigt Paar. Es hat auch einen 16-Bit- Stack-Pointer zum Speicher (der den internen Stack des 8008 ersetzt ) und einen 16-Bit- Programmzähler .

Flaggen

Der Prozessor unterhält interne Flag-Bits (ein Statusregister ), die die Ergebnisse von arithmetischen und logischen Befehlen anzeigen. Nur bestimmte Anweisungen wirken sich auf die Flags aus. Die Flaggen sind:

  • Vorzeichen (S), wird gesetzt, wenn das Ergebnis negativ ist.
  • Null (Z), wird gesetzt, wenn das Ergebnis Null ist.
  • Parität (P), wird gesetzt, wenn die Anzahl der 1-Bits im Ergebnis gerade ist.
  • Übertrag (C), wird gesetzt, wenn die letzte Additionsoperation zu einem Übertrag geführt hat oder wenn die letzte Subtraktionsoperation ein Borgen erforderte
  • Hilfsübertrag (AC oder H), verwendet für binär codierte Dezimalarithmetik (BCD).

Das Übertragsbit kann durch spezielle Befehle gesetzt oder ergänzt werden. Bedingte Verzweigungsbefehle testen die verschiedenen Flag-Statusbits. Die Merker können als Gruppe in den Akkumulator kopiert werden. Der Akkumulator A und die Flags werden zusammen als PSW-Register oder Programmstatuswort bezeichnet.

Befehle, Anweisungen

Wie bei vielen anderen 8-Bit-Prozessoren sind alle Befehle der Einfachheit halber in einem Byte codiert (einschließlich Registernummern, jedoch ohne unmittelbare Daten). Auf einige von ihnen folgen ein oder zwei Datenbytes, die ein direkter Operand, eine Speicheradresse oder eine Portnummer sein können. Wie größere Prozessoren verfügt er über automatische CALL- und RET-Befehle für mehrstufige Prozeduraufrufe und -rückläufe (die sogar bedingt ausgeführt werden können, wie Sprünge) und Befehle zum Speichern und Wiederherstellen eines beliebigen 16-Bit-Registerpaars auf dem Maschinenstapel. Es gibt auch acht Ein-Byte-Aufrufbefehle ( RST) für Unterprogramme, die sich an den festen Adressen 00h, 08h, 10h, ..., 38h befinden. Diese sollen von externer Hardware versorgt werden, um eine entsprechende Interrupt-Service-Routine aufzurufen , werden aber auch oft als schnelle Systemaufrufe eingesetzt . Der ausgefeilteste Befehl ist XTHL, der zum Austauschen des Registerpaars HL mit dem Wert verwendet wird, der an der vom Stapelzeiger angegebenen Adresse gespeichert ist.

8-Bit-Anweisungen

Die meisten 8-Bit-Operationen können nur mit dem 8-Bit- Akkumulator (dem A-Register) ausgeführt werden. Bei 8-Bit-Operationen mit zwei Operanden kann der andere Operand entweder ein Direktwert, ein weiteres 8-Bit-Register oder ein vom 16-Bit-Registerpaar HL adressiertes Speicherbyte sein. Direktes Kopieren wird zwischen zwei beliebigen 8-Bit-Registern und zwischen jedem 8-Bit-Register und einem HL-adressierten Speicherbyte unterstützt. Aufgrund der regulären Codierung des MOVBefehls (unter Verwendung eines Viertels des verfügbaren Opcode-Platzes) gibt es redundante Codes, um ein Register in sich selbst zu kopieren ( MOV B,Bz. B.), die außer für Verzögerungen von geringem Nutzen sind. Was jedoch eine Kopie von der HL-adressierten Zelle in sich selbst gewesen wäre (dh MOV M,M), wird stattdessen verwendet, um den halt( HLT)-Befehl zu codieren , wodurch die Ausführung angehalten wird, bis ein externer Reset oder Interrupt auftritt.

16-Bit-Operationen

Obwohl der 8080 im Allgemeinen ein 8-Bit-Prozessor ist, hat er auch begrenzte Fähigkeiten zur Ausführung von 16-Bit-Operationen: Jedes der drei 16-Bit-Registerpaare (BC, DE oder HL, in Intel als B, D, H bezeichnet) Dokumente) oder SP können mit einem unmittelbaren 16-Bit-Wert geladen (mit LXI), inkrementiert oder dekrementiert (mit INXund DCX) oder zu HL hinzugefügt (mit DAD) werden. Der XCHGBefehl tauscht die Werte der HL- und DE-Registerpaare aus. Durch Addieren von HL zu sich selbst ist es möglich, mit einem Befehl dasselbe Ergebnis wie bei einer arithmetischen 16-Bit-Linksverschiebung zu erzielen. Die einzigen 16-Bit-Befehle, die sich auf ein Flag auswirken, sind DAD H/D/B, die das CY-Flag (Carry) setzen, um programmierte 24-Bit- oder 32-Bit- Arithmetik (oder größer) zu ermöglichen, die beispielsweise zur Implementierung von Gleitkomma-Arithmetik benötigt wird .

Eingabe-/Ausgabeschema

Eingabe-Ausgabe-Port-Platz

Der 8080 unterstützt bis zu 256 Input/Output (I/O) Ports, auf die über dedizierte I/O-Befehle zugegriffen wird, die Portadressen als Operanden verwenden. Dieses I/O-Mapping-Schema wird als Vorteil angesehen, da es den begrenzten Adressraum des Prozessors freigibt. Viele CPU-Architekturen verwenden stattdessen sogenannte Memory-mapped I/O (MMIO), bei denen ein gemeinsamer Adressraum sowohl für RAM als auch für Peripheriechips verwendet wird. Dies macht dedizierte I/O-Befehle überflüssig, obwohl ein Nachteil bei solchen Designs sein kann, dass spezielle Hardware verwendet werden muss, um Wartezustände einzufügen, da Peripheriegeräte oft langsamer sind als Speicher. In einigen einfachen 8080-Computern wird die E/A jedoch tatsächlich so adressiert, als ob sie Speicherzellen wären, "memory-mapped", wobei die E/A-Befehle ungenutzt bleiben. Die E/A-Adressierung kann manchmal auch die Tatsache nutzen, dass der Prozessor dieselbe 8-Bit- IN 05hPortadresse sowohl an das niedrigere als auch an das höhere Adressbyte ausgibt (dh die Adresse 0505h auf den 16-Bit-Adressbus legen würde). Ähnliche I/O-Port-Schemata werden in den abwärtskompatiblen Zilog Z80 und Intel 8085 und den eng verwandten x86-Mikroprozessorfamilien verwendet.

Separater Stapelraum

Eines der Bits im Prozessorzustandswort (siehe unten) zeigt an, dass der Prozessor auf Daten vom Stapel zugreift. Mit diesem Signal ist es möglich, einen separaten Stack-Speicherplatz zu implementieren. Diese Funktion wird jedoch selten verwendet.

Das interne Zustandswort

Bei fortgeschritteneren Systemen setzt der Prozessor während einer Phase seiner Arbeitsschleife sein "internes Zustandsbyte" auf den Datenbus. Dieses Byte enthält Flags, die bestimmen, ob auf den Speicher oder den E/A-Port zugegriffen wird und ob ein Interrupt behandelt werden muss.

Der Interrupt-Systemzustand (aktiviert oder deaktiviert) wird ebenfalls an einem separaten Pin ausgegeben. Bei einfachen Systemen, bei denen die Interrupts nicht verwendet werden, ist es möglich, Fälle zu finden, in denen dieser Pin als zusätzlicher Single-Bit-Ausgangsport verwendet wird (zum Beispiel der beliebte Radio-86RK- Computer aus der Sowjetunion ).

Beispielcode

Der folgende 8080/8085- Assembler- Quellcode ist für eine Subroutine mit dem Namen memcpy, die einen Block von Datenbytes einer bestimmten Größe von einem Ort an einen anderen kopiert. Der Datenblock wird Byte für Byte kopiert, und die Datenbewegungs- und Schleifenlogik verwendet 16-Bit-Operationen.

 
 
 
 
 
 
 
 
 
 
 
1000
1000
1000  78
1001  B1
1002  C8
1003  1A
1004  77
1005  13
1006  23
1007  0B
1008  78
1009  B1
100A  C2 03 10
100D  C9
; memcpy --
; Copy a block of memory from one location to another.
;
; Entry registers
;       BC - Number of bytes to copy
;       DE - Address of source data block
;       HL - Address of target data block
;
; Return registers
;       BC - Zero

            org     1000h       ;Origin at 1000h
memcpy      public
            mov     a,b         ;Copy register B to register A
            ora     c           ;Bitwise OR of A and C into register A
            rz                  ;Return if the zero-flag is set high.
loop:       ldax    d           ;Load A from the address pointed by DE
            mov     m,a         ;Store A into the address pointed by HL
            inx     d           ;Increment DE
            inx     h           ;Increment HL
            dcx     b           ;Decrement BC   (does not affect Flags)
            mov     a,b         ;Copy B to A    (so as to compare BC with zero)
            ora     c           ;A = A | C      (are both B and C zero?)
            jnz     loop        ;Jump to 'loop:' if the zero-flag is not set.   
            ret                 ;Return

Pin-Verwendung

Der Adressbus hat seine eigenen 16 Pins und der Datenbus hat 8 Pins, die ohne Multiplexing verwendet werden können. Mit den zwei zusätzlichen Pins (Lese- und Schreibsignale) lassen sich sehr einfach einfache Mikroprozessorgeräte aufbauen. Nur der separate E/A-Raum, Interrupts und DMA benötigen zusätzliche Chips, um die Prozessor-Pin-Signale zu decodieren. Die Auslastung des Prozessors ist jedoch begrenzt, und selbst einfache Computer enthalten oft Busverstärker.

Der Prozessor benötigt drei Stromquellen (-5, +5 und +12 V) und zwei nicht überlappende Synchronisationssignale mit hoher Amplitude. Zumindest die späte sowjetische Version 580ВМ80А konnte jedoch mit einer einzigen +5-V-Stromquelle arbeiten, wobei der +12-V-Pin mit +5 V und der -5-V-Pin mit Masse verbunden war. Der Prozessor verbraucht etwa 1,3  W Leistung.

Die Pinbelegungstabelle aus der Begleitdokumentation des Chips beschreibt die Pins wie folgt:

PIN Nummer Signal Typ Kommentar
1 A10 Ausgabe Adressbus 10
2 Masse Boden
3 D4 Bidirektional Bidirektionaler Datenbus. Der Prozessor setzt hier auch vorübergehend den "Prozessorzustand" und gibt Auskunft darüber, was der Prozessor gerade tut:
  • D0 Leseunterbrechungsbefehl. Als Reaktion auf das Unterbrechungssignal liest und führt der Prozessor einen einzelnen willkürlichen Befehl mit diesem gesetzten Flag aus. Normalerweise liefern die unterstützenden Chips den Subroutinen-Aufrufbefehl (CALL oder RST) und übertragen die Kontrolle auf den Interrupt-Handhabungscode.
  • D1-Lesen (Low Level bedeutet Schreiben)
  • D2-Zugriff auf Stack (vermutlich war ursprünglich ein separater Stack-Speicherplatz geplant)
  • D3 tut nichts, wurde durch den HLT- Befehl angehalten
  • D4 Schreiben von Daten an einen Ausgangsport
  • D5 das erste Byte einer ausführbaren Anweisung lesen
  • D6 Lesen von Daten von einem Eingangsport
  • D7 Daten aus dem Speicher lesen
4 D5
5 D6
6 D7
7 D3
8 D2
9 D1
10 D0
11 −5 V Das -5-V-Netzteil. Dies muss die erste angeschlossene und die letzte getrennte Stromquelle sein, sonst wird der Prozessor beschädigt.
12 ZURÜCKSETZEN Eingang Zurücksetzen. Das Signal erzwingt die Ausführung von Befehlen, die sich unter Adresse 0000 befinden. Der Inhalt anderer Prozessorregister wird nicht geändert. Dies ist ein invertierender Eingang (der aktive Pegel ist logisch 0).
13 HALT Eingang Direkte Speicherzugriffsanforderung. Der Prozessor wird aufgefordert, den Daten- und Adressbus in den hochohmigen ("getrennten") Zustand zu schalten.
14 INT Eingang Unterbrechungsanforderung
fünfzehn φ2 Eingang Die zweite Phase des Taktgeneratorsignals
16 INTE Ausgabe Der Prozessor verfügt über zwei Befehle zum Setzen des 0- oder 1-Pegels an diesem Pin. Der Pin soll normalerweise für die Interrupt-Steuerung verwendet werden. In einfachen Computern wurde er jedoch manchmal für verschiedene Zwecke als Einzelbit-Ausgangsport verwendet.
17 DBIN Ausgabe Lesen (der Prozessor liest aus dem Speicher oder dem Eingangsport)
18 WR Ausgabe Schreiben (der Prozessor schreibt in den Speicher oder den Ausgangsport). Dies ist ein invertierter Ausgang, wobei der aktive Pegel logisch Null ist.
19 SYNCHRONISIEREN Ausgabe Aktiver Pegel zeigt an, dass der Prozessor das "Zustandswort" auf den Datenbus gelegt hat. Die verschiedenen Bits dieses Zustandswortes liefern zusätzliche Informationen, um die getrennten Adress- und Speicherräume, Interrupts und direkten Speicherzugriff zu unterstützen. Dieses Signal muss zusätzliche Logik durchlaufen, bevor es verwendet werden kann, um das Prozessorzustandswort vom Datenbus in ein externes Register zu schreiben, zB 8238 – Systemcontroller und Bustreiber.
20 +5 V Das +5-V-Netzteil
21 HLDA Ausgabe Bestätigung des direkten Speicherzugriffs. Der Prozessor schaltet Daten- und Adresspins in den hochohmigen Zustand, sodass ein anderes Gerät den Bus manipulieren kann
22 φ1 Eingang Die erste Phase des Taktgeneratorsignals
23 BEREIT Eingang Warte ab. Mit diesem Signal ist es möglich, die Arbeit des Prozessors zu unterbrechen. Es wird auch verwendet, um den hardwarebasierten Schritt-für-Schritt-Debugging-Modus zu unterstützen.
24 WARTEN Ausgabe Warten (zeigt an, dass sich der Prozessor im Wartezustand befindet)
25 A0 Ausgabe Adressbus
26 A1
27 A2
28 12 V Das +12 V Netzteil. Dies muss die zuletzt angeschlossene und die erste getrennte Stromquelle sein.
29 A3 Ausgabe Der Adressbus; kann bei Bedarf in einen hochohmigen Zustand schalten
30 A4
31 A5
32 A6
33 A7
34 A8
35 A9
36 A15
37 A12
38 A13
39 A14
40 A11

Unterstützungschips

Ein Schlüsselfaktor für den Erfolg des 8080 war die breite Palette an verfügbaren Unterstützungschips, die unter anderem serielle Kommunikation, Zähler/Timing, Eingabe/Ausgabe, direkten Speicherzugriff und programmierbare Interrupt-Steuerung bieten:

Physische Umsetzung

Die integrierte 8080- Schaltung verwendet nicht gesättigte nMOS- Gates mit Anreicherungslast , die zusätzliche Spannungen (für die Last-Gate-Vorspannung) erfordern . Es wurde in einem Silizium-Gate- Prozess mit einer minimalen Strukturgröße von 6 µm hergestellt. Eine einzelne Schicht aus Metall wird verwendet , um miteinander verbinden , die ungefähr 6.000 Transistoren in der Konstruktion, aber der höhere Widerstand Polysiliziumschicht, die eine höhere Spannung für einige Verbindungen erforderlich ist , wird mit dem Transistor - Gattern implementiert. Die Düsengröße beträgt ungefähr 20 mm 2 .

Die industriellen Auswirkungen

Anwendungen und Nachfolger

Die 8080 ist in vielen frühen Mikrocomputern, wie die MITS verwendet Altair 8800 Computer, Prozessortechnologie SOL-20 Terminal - Computer und IMSAI 8080 Microcomputer, bildet die Basis für Maschinen mit dem CP / M - Betriebssystem (das später fast vollständig kompatibel und mehr könnte der Zilog Z80- Prozessor daraus Kapital schlagen, wobei Z80 & CP/M die dominierende CPU- und Betriebssystem-Kombination zwischen 1976 und 1983 wurden, ähnlich wie ein Jahrzehnt später x86 & DOS für den PC).

Sogar 1979, nach der Einführung der Z80- und 8085-Prozessoren, verkauften fünf Hersteller des 8080 schätzungsweise 500.000 Einheiten pro Monat zu einem Preis von jeweils 3 bis 4 US-Dollar.

Die ersten Einplatinen-Mikrocomputer , wie der MYCRO-1 und der dyna-micro /MMD-1 (siehe: Einplatinen-Computer ) basierten auf dem Intel 8080. Eine der frühen Anwendungen des 8080 erfolgte Ende der 1970er Jahre von Cubic-Western Data aus San Diego, CA, in seinen automatisierten Fahrpreiserfassungssystemen, die speziell für Nahverkehrssysteme auf der ganzen Welt entwickelt wurden. Eine frühe industrielle Verwendung des 8080 ist das "Gehirn" der DatagraphiX Auto-COM-Produktlinie (Computer Output Microfiche), die große Mengen an Benutzerdaten von Bandspulen auf Mikrofiche abbildet. Die Auto-COM-Instrumente umfassen auch ein komplettes automatisiertes Subsystem zum Schneiden, Verarbeiten, Waschen und Trocknen von Filmen – sowohl damals als auch im 21. Taktrate von weniger als 1 MHz bei einer Speichergrenze von 64 KB. Außerdem wurden mehrere frühe Video- Arcade-Spiele um den 8080-Mikroprozessor herum gebaut, darunter Space Invaders , eines der beliebtesten Arcade-Spiele aller Zeiten.

Kurz nach der Einführung des 8080 wurde das konkurrierende Motorola 6800- Design eingeführt und danach das MOS Technology 6502- Derivat des 6800.

Zilog führte den Z80 ein , der über einen kompatiblen Maschinensprachbefehlssatz verfügt und ursprünglich dieselbe Assemblersprache wie der 8080 verwendete, aber aus rechtlichen Gründen entwickelte Zilog eine syntaktisch unterschiedliche (aber codekompatible) alternative Assemblersprache für den Z80. Bei Intel folgte auf den 8080 der kompatible und elektrisch elegantere 8085 .

Später brachte Intel den Assemblersprachen-kompatiblen (aber nicht binär-kompatiblen) 16-Bit- 8086 und dann den 8/16-Bit- 8088 heraus , der von IBM für seinen neuen PC im Jahr 1981 ausgewählt wurde. Später stellte NEC den NEC . her V20 (ein 8088-Klon mit Intel 80186- Befehlssatzkompatibilität), der auch einen 8080-Emulationsmodus unterstützt. Dies wird auch von NECs V30 (einem ähnlich verbesserten 8086-Klon) unterstützt. Somit hat der 8080 über seine Instruction Set Architecture (ISA) einen nachhaltigen Einfluss auf die Computergeschichte.

Eine Reihe von Prozessoren, die mit dem Intel 8080A kompatibel sind, wurden im Ostblock hergestellt : der KR580VM80A (ursprünglich als KP580ИK80 gekennzeichnet) in der Sowjetunion , der MCY7880 von Unitra CEMI in Polen , der MHB8080A von TESLA in der Tschechoslowakei , der 8080APC von Tungsram / MEV in Ungarn und der MMN8080 von Microelectronica Bukarest in Rumänien .

Ab 2017 wird der 8080 noch bei Lansdale Semiconductors produziert.

Branchenwechsel

Der 8080 änderte auch die Art und Weise, wie Computer erstellt wurden. Als der 8080 eingeführt wurde, wurden Computersysteme normalerweise von Computerherstellern wie Digital Equipment Corporation , Hewlett Packard oder IBM erstellt . Ein Hersteller würde den gesamten Computer produzieren, einschließlich Prozessor, Terminals und Systemsoftware wie Compiler und Betriebssystem. Der 8080 wurde für fast jede Anwendung mit Ausnahme eines kompletten Computersystems entwickelt. Hewlett Packard entwickelte um den 8080 herum die HP 2640- Serie intelligenter Terminals. Das HP 2647 ist ein Terminal, das die Programmiersprache BASIC auf dem 8080 ausführt. Microsoft würde als Gründungsprodukt die erste populäre Sprache für den 8080 vermarkten und später DOS erwerben für den IBM-PC .

Aus den 8080 und 8085 entstand der 8086, der als quellcodekompatible (wenn auch nicht binärkompatible ) Erweiterung des 8085 konzipiert wurde. Dieses Design wiederum brachte später die x86- Chipfamilie hervor , die Grundlage für viele verwendete CPUs heute. Viele der grundlegenden Maschinenbefehle und Konzepte des 8080 überleben in der weit verbreiteten x86-Plattform. Beispiele sind die Register mit den Namen A , B , C und D und viele der Flags, die verwendet werden, um bedingte Sprünge zu steuern. 8080-Assembly-Code kann immer noch direkt in x86-Anweisungen übersetzt werden; alle seine Kernelemente sind noch vorhanden.

Geschichte

Federico Faggin , der Begründer der 8080-Architektur Anfang 1972, schlug sie dem Management von Intel vor und drängte auf ihre Implementierung. Sechs Monate später bekam er endlich die Erlaubnis, es zu entwickeln. Faggin stellte im November 1972 Masatoshi Shima aus Japan ein, der unter seiner Leitung das detaillierte Design durchführte und die Designmethodik für Zufallslogik mit Silizium-Gate verwendete, die Faggin für die 4000-Familie entwickelt hatte. Stanley Mazor hat dem Befehlssatz einige Anweisungen beigesteuert.

Shima beendete das Layout im August 1973. Nach der Regulierung der NMOS-Fertigung wurde im Januar 1974 ein Prototyp des 8080 fertiggestellt. Er hatte einen Fehler, da das Ansteuern mit Standard-TTL-Geräten die Massespannung erhöhte, da ein hoher Strom in die schmale Leitung floss . Allerdings hatte Intel bereits 40.000 Exemplare des 8080 in Regie der Verkaufsabteilung produziert, bevor Shima den Prototyp charakterisierte. Es wurde veröffentlicht, dass Low-Power-Schottky-TTL-(LS-TTL-)Geräte erforderlich sind. Der 8080A hat diesen Fehler behoben.

Intel bot einen Befehlssatzsimulator für den 8080 namens INTERP/80 an. Es wurde von Gary Kildall geschrieben, während er als Berater für Intel arbeitete.

Patent

Kulturelle Wirkung

  • Asteroid 8080 Intel wird als Wortspiel und Lob auf den Namen Intel 8080 benannt.
  • Die von Microsoft veröffentlichte Telefonnummer 425-882-8080 wurde gewählt, weil so viel früher an diesem Chip gearbeitet wurde.
  • Viele der wichtigsten Telefonnummern von Intel haben auch eine ähnliche Form: xxx-xxx-8080

Siehe auch

Verweise

Weiterlesen

  • 8080A/8085 Assembler-Programmierung ; 1. Aufl.; Lance Leventhal; Adam Osborne & Associates; 495 Seiten; 1978. (Archiv)
  • 8080/Z80 Assemblersprache - Techniken zur verbesserten Programmierung ; 1. Aufl.; Alan Miller; John Wiley & Söhne; 332 Seiten; 1981; ISBN  978-0471081241 . (Archiv)
  • Mikroprozessor-Schnittstellentechniken ; 3. Aufl.; Rodnay Zaks und Austin Lesea; Sybex; 466 Seiten; 1979; ISBN  978-0-89588-029-1 . (Archiv)
  • Z80 und 8080 Assemblerprogrammierung ; 1. Aufl.; Käthe Spracklen; Hayden; 180 Seiten; 1979; ISBN  978-0810451674 . (Archiv)

Externe Links