Intel 8080 - Intel 8080

Intel 8080
KL Intel i8080 Black Background.jpg
O variantă de procesor Intel C8080A cu ceramică albă, împrăștiere de căldură aurie și știfturi de aur.
Informații generale
Lansat Aprilie 1974 ; Acum 47 de ani ( 1974-04 )
Întrerupt 1990 ; Acum 31 de ani ( 1990 )
Comercializat de Intel
Proiectat de Intel
Producători comuni
Performanţă
Max. Rata de ceas a procesorului 2 MHz până la 3,125 MHz
Lățimea datelor 8 biți
Lățimea adresei 16 biți
Arhitectură și clasificare
Min. dimensiunea caracteristicii 6 um
Set de instructiuni 8080
Specificații fizice
Tranzistoare
Miezuri
Pachet (e)
Soclu (uri)
Istorie
Predecesor Intel 8008
Succesor Intel 8085

Intel 8080 ( „optzeci optzeci“ ) este al doilea de 8-biți microprocesor proiectat și fabricat de Intel . A apărut pentru prima dată în aprilie 1974 și este o variantă extinsă și îmbunătățită a designului anterior 8008 , deși fără compatibilitate binară . Viteza de ceas specificată inițial sau limita de frecvență a fost de 2  MHz și, cu instrucțiuni obișnuite, folosind 4, 5, 7, 10 sau 11 cicluri, aceasta însemna că a funcționat la o viteză tipică de câteva sute de mii de instrucțiuni pe secundă . O variantă mai rapidă 8080A-1 (uneori numită 8080B) a devenit disponibilă mai târziu cu o limită de frecvență a ceasului de până la 3,125 MHz.

8080 are nevoie de două cipuri de asistență pentru a funcționa în majoritatea aplicațiilor, generatorul / driverul de ceas i8224 și controlerul de magistrală i8228 și este implementat în logică de tip N-oxid-metal-semiconductor (NMOS) folosind tranzistori cu mod de îmbunătățire nesaturat ca sarcini. cerând astfel o tensiune de +12  V și o tensiune de -5 V în plus față de logica principală tranzistor-tranzistor (TTL) compatibilă +5 V.

Deși microprocesoarele anterioare au fost utilizate pentru calculatoare , case de marcat , terminale de calculator , roboți industriali și alte aplicații, 8080 a devenit unul dintre primele microprocesoare pe scară largă. Câțiva factori au contribuit la popularitatea sa: pachetul său cu 40 de pini a făcut mai ușoară interfața decât modelul cu 18 pini 8008 și, de asemenea, a eficientizat magistrala de date; implementarea sa NMOS i-a oferit tranzistoare mai rapide decât cele ale logicii semiconductoare de tip P (PMOS) 8008, simplificând în același timp interfața, făcându-l compatibil TTL ; era disponibilă o varietate mai largă de jetoane de suport; setul său de instrucțiuni a fost îmbunătățit peste 8008; iar magistrala completă de adrese pe 16 biți (față de cea pe 14 biți din 8008) i-a permis să acceseze 64 KB de memorie, de patru ori mai mult decât gama de 16 KB a 8008. A devenit motorul computerelor personale cu autobuzul Altair 8800 și ulterior S-100 , până când a fost înlocuit de Z80 în acest rol și a fost CPU-ul țintă original pentru sistemele de operare CP / M dezvoltate de Gary Kildall .

8080 a avut suficient succes, încât compatibilitatea traducerii la nivelul limbajului de asamblare a devenit o cerință de proiectare pentru Intel 8086 când a început proiectarea sa în 1976 și a condus la 8080 influențând direct toate variantele ulterioare ale arhitecturilor omniprezente pe 32 și 64 de biți x86 .

Descriere

Model de programare

microarhitectura i8080
Registrele Intel 8080
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 (poziția de biți)
Registre principale
A Steaguri P rogram S tatus W ord
B C B
D E D
H L H (adresa indirectă)
Registrele index
SP S tack P ointer
Contor de programe
PC P rogram C ounter
Registrul de stare
  S Z - AC - P - C Steaguri

Intel 8080 este succesorul modelului 8008 . Folosește același set de instrucțiuni de bază și model de înregistrare ca 8008 (dezvoltat de Computer Terminal Corporation ), chiar dacă nu este compatibil cu codul sursă și nici codul binar compatibil cu predecesorul său. Fiecare instrucțiune din 8008 are o instrucțiune echivalentă în 8080 (chiar dacă opcodes diferă între cele două procesoare). 8080 adaugă, de asemenea, câteva operații pe 16 biți în setul său de instrucțiuni. În timp ce 8008 a necesitat utilizarea perechii de registre HL pentru a accesa indirect spațiul său de memorie de 14 biți, 8080 a adăugat moduri de adresare pentru a permite accesul direct la spațiul său complet de memorie de 16 biți. În plus, stiva internă de apeluri în jos pe 7 niveluri a modelului 8008 a fost înlocuită cu un registru dedicat de 16 biți stivă-pointer (SP). Ambalajul DIP mare de 40 de pini al lui 8080 îi permite să furnizeze o magistrală de adrese pe 16 biți și o magistrală de date pe 8 biți , permițând accesul ușor la 64  KB (64 × 2 10 ) de memorie.

Registrele

Procesorul are șapte registre pe 8 biți (A, B, C, D, E, H și L), unde A este acumulatorul primar pe 8 biți, iar celelalte șase registre pot fi utilizate fie ca registre individuale pe 8 biți sau ca trei perechi de registre pe 16 biți (BC, DE și HL, denumite B, D și H în documentele Intel), în funcție de instrucțiunile specifice. Unele instrucțiuni permit, de asemenea, ca perechea de registre HL să fie folosită ca acumulator (limitat) pe 16 biți, iar un pseudo-registru M poate fi utilizat aproape oriunde să poată fi utilizat orice alt registru, referindu-se la adresa de memorie indicată de HL pereche. De asemenea, are un indicator de stivă de 16 biți către memorie (înlocuind stiva internă a 8008 ) și un contor de programe de 16 biți .

Steaguri

Procesorul menține biții de semnalizare interni (un registru de stare ), care indică rezultatele instrucțiunilor aritmetice și logice. Numai anumite instrucțiuni afectează steagurile. Steagurile sunt:

  • Semn (S), setați dacă rezultatul este negativ.
  • Zero (Z), setați dacă rezultatul este zero.
  • Paritate (P), setată dacă numărul de 1 biți din rezultat este egal.
  • Carry (C), setați dacă ultima operație de adunare a dus la o reportare sau dacă ultima operație de scădere a necesitat un împrumut
  • Transport auxiliar (AC sau H), utilizat pentru aritmetica zecimală cu cod binar (BCD).

Bitul de transport poate fi setat sau completat de instrucțiuni specifice. Instrucțiunile cu ramuri condiționate testează diferiții biți de stare a steagului. Steagurile pot fi copiate ca grup pe acumulator. Acumulatorul A și steagurile împreună sunt numite registrul PSW sau cuvântul de stare al programului.

Comenzi, instrucțiuni

Ca și în cazul multor alte procesoare pe 8 biți, toate instrucțiunile sunt codificate într-un octet (inclusiv numerele de registru, dar excluzând datele imediate), pentru simplitate. Unele dintre ele sunt urmate de unul sau doi octeți de date, care pot fi un operand imediat, o adresă de memorie sau un număr de port. La fel ca procesoarele mai mari, are instrucțiuni automate CALL și RET pentru apeluri și returnări de proceduri pe mai multe niveluri (care pot fi chiar executate condiționat, cum ar fi salturi) și instrucțiuni pentru salvarea și restaurarea oricărei perechi de registre pe 16 biți din stiva de mașini. Există, de asemenea, opt instrucțiuni de apel cu un octet ( RST) pentru subrutine situate la adresele fixe 00h, 08h, 10h, ..., 38h. Acestea sunt destinate a fi furnizate de hardware extern pentru a invoca o rutină de servicii de întrerupere corespunzătoare , dar sunt adesea folosite și ca apeluri rapide de sistem . Cea mai sofisticată comandă este XTHL, care este utilizată pentru schimbul perechii de registre HL cu valoarea stocată la adresa indicată de indicatorul stivei.

Instrucțiuni pe 8 biți

Majoritatea operațiilor pe 8 biți pot fi efectuate numai pe acumulatorul de 8 biți (registrul A). Pentru operații pe 8 biți cu doi operanzi, celălalt operand poate fi fie o valoare imediată, un alt registru pe 8 biți, fie un octet de memorie adresat de perechea de registre pe 16 biți HL. Copierea directă este acceptată între oricare două registre de 8 biți și între orice registru de 8 biți și un octet de memorie adresat HL. Datorită codificării regulate a MOVinstrucțiunii (folosind un sfert din spațiul opcode disponibil), există coduri redundante pentru a copia un registru în sine ( MOV B,Bde exemplu), care sunt de puțin folos, cu excepția întârzierilor. Cu toate acestea, ceea ce ar fi fost o copie din celula adresată HL în sine (adică, MOV M,M) este folosit în schimb pentru a codifica HLTinstrucțiunea halt ( ), oprind execuția până când are loc o resetare externă sau o întrerupere.

Operațiuni pe 16 biți

Deși 8080 este în general un procesor pe 8 biți, are și capacități limitate de a efectua operațiuni pe 16 biți: oricare dintre cele trei perechi de registre pe 16 biți (BC, DE sau HL, denumite B, D, H în Intel documente) sau SP pot fi încărcate cu o valoare imediată de 16 biți (folosind LXI), incrementată sau decrementată (folosind INXși DCX) sau adăugată la HL (folosind DAD). În XCHGschimburile de instruire Valorile HL și DE perechi registru. Adăugând HL la sine, este posibil să se obțină același rezultat ca o deplasare aritmetică stângă pe 16 biți cu o singură instrucțiune. Singurele instrucțiuni de 16 biți care afectează orice semnalizare sunt DAD H/D/B, care setează semnalizatorul CY (carry) pentru a permite aritmetica programată de 24 de biți sau 32 de biți (sau mai mare), necesară pentru a implementa aritmetica în virgulă mobilă , de exemplu.

Schema de intrare / ieșire

Spațiul portului de ieșire de intrare

8080 acceptă până la 256 de porturi de intrare / ieșire (I / O), accesate prin instrucțiuni dedicate I / O, luând adresele porturilor ca operanzi. Această schemă de mapare I / O este considerată un avantaj, deoarece eliberează spațiul limitat de adrese al procesorului. Multe arhitecturi CPU folosesc în schimb așa-numitele I / O mapate cu memorie (MMIO), în care un spațiu de adrese comun este utilizat atât pentru RAM, cât și pentru cipurile periferice. Aceasta elimină necesitatea instrucțiunilor dedicate I / O, deși un dezavantaj în astfel de modele poate fi faptul că hardware-ul special trebuie utilizat pentru a insera stări de așteptare, deoarece perifericele sunt adesea mai lente decât memoria. Cu toate acestea, în unele computere simple 8080, I / O este într-adevăr abordată ca și cum ar fi celule de memorie, "mapate în memorie", lăsând comenzile I / O neutilizate. Adresarea I / O poate folosi uneori și faptul că procesorul transmite aceeași adresă de port pe 8 biți atât la octetul de adresă inferior, cât și la cel superior (de exemplu, IN 05har pune adresa 0505h pe magistrala de adrese de 16 biți). Scheme similare de port I / O sunt utilizate în Zilog Z80 și Intel 8085 compatibile cu versiunile anterioare și în familiile de microprocesoare x86 înrudite.

Separați spațiul stivei

Unul dintre biții din cuvântul de stare al procesorului (vezi mai jos) indică faptul că procesorul accesează date din stivă. Folosind acest semnal, este posibil să implementați un spațiu de memorie stivă separat. Cu toate acestea, această caracteristică este rar utilizată.

Cuvântul de stare intern

Pentru sisteme mai avansate, în timpul unei faze a buclei sale de lucru, procesorul și-a setat „octetul de stare intern” pe magistrala de date. Acest octet conține semnalizatoare care determină dacă este accesată memoria sau portul I / O și dacă este necesară gestionarea unei întreruperi.

Starea sistemului de întrerupere (activat sau dezactivat) este, de asemenea, afișată pe un pin separat. Pentru sistemele simple, în care întreruperile nu sunt utilizate, este posibil să se găsească cazuri în care acest pin este utilizat ca un port de ieșire suplimentar pe un singur bit (popularul computer Radio-86RK fabricat în Uniunea Sovietică , de exemplu).

Exemplu de cod

Următorul cod sursă de asamblare 8080/8085 este pentru un subrutin numit memcpycare copiază un bloc de octeți de date de o dimensiune dată dintr-o locație în alta. Blocul de date este copiat câte un octet la un moment dat, iar logica de mișcare și buclare a datelor utilizează operații pe 16 biți.

 
 
 
 
 
 
 
 
 
 
 
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

Utilizarea pinului

Autobuzul de adrese are propriii 16 pini, iar magistrala de date are 8 pini care pot fi utilizați fără multiplexare. Folosind cei doi pini suplimentari (semnalele de citire și scriere), este posibil să asamblați foarte ușor dispozitive simple cu microprocesor. Doar spațiul IO separat, întreruperile și DMA au nevoie de cipuri adăugate pentru a decoda semnalele pinului procesorului. Cu toate acestea, capacitatea de încărcare a procesorului este limitată și chiar și computerele simple conțin adesea amplificatoare de magistrală.

Procesorul are nevoie de trei surse de alimentare (−5, +5 și +12 V) și două semnale de sincronizare de amplitudine mare care nu se suprapun. Cu toate acestea, cel puțin versiunea sovietică târzie КР580ВМ80А a reușit să funcționeze cu o singură sursă de alimentare de +5 V, pinul de +12 V fiind conectat la +5 V și pinul de -5 V la masă. Procesorul consumă aproximativ 1,3  W putere.

Tabelul pin-out, din documentația însoțitoare a cipului, descrie pinii după cum urmează:

Numarul pin Semnal Tip cometariu
1 A10 Ieșire Adresa autobuzului 10
2 GND - Sol
3 D4 Bidirecțional Magistrală de date bidirecțională. De asemenea, procesorul setează tranzitoriu aici „starea procesorului”, oferind informații despre ceea ce face procesorul în prezent:
  • D0 citirea comenzii de întrerupere. Ca răspuns la semnalul de întrerupere, procesorul citește și execută o singură comandă arbitrară cu acest semnal ridicat. În mod normal, cipurile de suport furnizează comanda de apel pentru subrutină (CALL sau RST), transferând controlul către codul de gestionare a întreruperilor.
  • Citirea D1 (nivel scăzut înseamnă scriere)
  • D2 accesarea stivei (probabil a fost planificat inițial un spațiu de memorie stivă separat)
  • D3 nu face nimic, a fost oprit de instrucțiunea HLT
  • D4 scriind date pe un port de ieșire
  • D5 citirea primului octet al unei instrucțiuni executabile
  • D6 citirea datelor dintr-un port de intrare
  • D7 citirea datelor din memorie
4 D5
5 D6
6 D7
7 D3
8 D2
9 D1
10 D0
11 −5 V - Sursa de alimentare −5 V. Aceasta trebuie să fie prima sursă de alimentare conectată și ultima deconectată, altfel procesorul va fi deteriorat.
12 RESET Intrare Resetați. Semnalul forțează executarea comenzilor situate la adresa 0000. Conținutul altor registre de procesor nu este modificat. Aceasta este o intrare inversă (nivelul activ fiind logic 0)
13 HOLD Intrare Cerere de acces direct la memorie. Procesorul este rugat să comute magistrala de date și adresă la starea de impedanță ridicată („deconectat”).
14 INT Intrare Solicitare de întrerupere
15 φ2 Intrare A doua fază a semnalului generatorului de ceas
16 INTE Ieșire Procesorul are două comenzi pentru setarea nivelului 0 sau 1 pe acest pin. În mod normal, pinul trebuie utilizat pentru controlul întreruperii. Cu toate acestea, în computerele simple a fost uneori folosit ca un port de ieșire pe un singur bit în diverse scopuri.
17 DBIN Ieșire Citire (procesorul citește din memorie sau din portul de intrare)
18 WR Ieșire Scrie (procesorul scrie în memorie sau în portul de ieșire). Aceasta este o ieșire inversată, nivelul activ fiind zero logic.
19 SYNC Ieșire Nivelul activ indică faptul că procesorul a pus „cuvântul de stare” pe magistrala de date. Diversii biți ai acestui cuvânt de stare oferă informații adăugate pentru a susține adresa separată și spațiile de memorie, întreruperile și accesul direct la memorie. Este necesar ca acest semnal să treacă printr-o logică suplimentară înainte de a putea fi folosit pentru a scrie cuvântul stării procesorului din magistrala de date într-un registru extern, de exemplu, 8238 -Sistem Controller și Bus Driver.
20 +5 V - Sursa de alimentare de + 5 V.
21 HLDA Ieșire Confirmare acces direct la memorie. Procesorul comută pinii de date și adrese în starea de impedanță ridicată, permițând unui alt dispozitiv să manipuleze magistrala
22 φ1 Intrare Prima fază a semnalului generatorului de ceas
23 GATA Intrare Aștepta. Cu acest semnal este posibilă suspendarea activității procesorului. De asemenea, este utilizat pentru a sprijini modul de depanare pas cu pas bazat pe hardware.
24 AȘTEPTA Ieșire Așteptați (indică faptul că procesorul este în starea de așteptare)
25 A0 Ieșire Adresă autobuz
26 A1
27 A2
28 12 V - Sursa de alimentare +12 V. Aceasta trebuie să fie ultima sursă de alimentare conectată și prima deconectată.
29 A3 Ieșire Autobuzul de adrese; poate trece la starea de impedanță ridicată la cerere
30 A4
31 A5
32 A6
33 A7
34 A8
35 A9
36 A15
37 A12
38 A13
39 A14
40 A11

Cipuri de sprijin

Un factor cheie în succesul modelului 8080 a fost gama largă de cipuri de asistență disponibile, oferind comunicații seriale, contor / sincronizare, intrare / ieșire, acces direct la memorie și control al întreruperii programabil printre alte funcții:

Implementarea fizică

Circuitul integrat 8080 folosește porți nMOS cu sarcină de îmbunătățire nesaturate , necesitând tensiuni suplimentare (pentru polarizarea porții de încărcare). A fost fabricat într-un proces de poartă din siliciu folosind o dimensiune minimă a caracteristicii de 6 µm. Un singur strat de metal este folosit pentru a interconecta cele aproximativ 6.000 de tranzistori din proiectare, dar stratul de polisilicon cu rezistență mai mare , care a necesitat o tensiune mai mare pentru unele interconectări, este implementat cu porți de tranzistor. Die dimensiunea este de aproximativ 20 mm 2 .

Impactul industrial

Aplicații și succesori

8080 este utilizat în multe microcomputatoare timpurii, precum computerul MITS Altair 8800 , tehnologia procesorului SOL-20 Terminal Computer și IMSAI 8080 Microcomputer, formând baza pentru mașinile care rulează sistemul de operare CP / M (ulterior, aproape pe deplin compatibil și mai mult capabil, procesorul Zilog Z80 ar valorifica acest lucru, Z80 & CP / M devenind combinația dominantă de CPU și sistem de operare din perioada 1976-1983, la fel cum a făcut x86 și DOS pentru PC un deceniu mai târziu).

Chiar și în 1979, după introducerea procesoarelor Z80 și 8085, cinci producători ai modelului 8080 vândeau aproximativ 500.000 de unități pe lună la un preț de aproximativ 3 până la 4 USD fiecare.

Primele microcomputere cu o singură placă , cum ar fi MYCRO-1 și dyna-micro / MMD-1 (vezi: Computer cu o singură placă ), au fost bazate pe Intel 8080. Una dintre primele utilizări ale 8080 a fost făcută la sfârșitul anilor 1970 de Cubic-Western Data din San Diego, CA, în sistemele sale automatizate de colectare a tarifelor, personalizate pentru sistemele de transport în masă din întreaga lume. O utilizare industrială timpurie a modelului 8080 este ca „creierul” liniei de produse DatagraphiX Auto-COM (Computer Output Microfiche), care preia cantități mari de date de utilizator de pe bandă de la bobină la bobină și le imaginează pe microfișă. Instrumentele Auto-COM includ, de asemenea, un întreg subsistem automat de tăiere, prelucrare, spălare și uscare a filmului - o ispravă, atât în ​​secolul 21, cât și în secolul XXI, pentru a fi realizat cu succes doar cu un microprocesor de 8 biți care rulează la un viteza de ceas mai mică de 1 MHz cu o limită de memorie de 64 KB. De asemenea, în jurul microprocesorului 8080 au fost construite mai multe jocuri video arcade timpurii , inclusiv Space Invaders , unul dintre cele mai populare jocuri arcade realizate vreodată.

La scurt timp după lansarea modelului 8080, a fost introdus designul concurent Motorola 6800 și, ulterior, derivatul MOS Technology 6502 al modelului 6800.

Zilog a introdus Z80 , care are un set de instrucțiuni de limbaj mașină compatibil și a folosit inițial același limbaj de asamblare ca și 8080, dar din motive juridice, Zilog a dezvoltat un limbaj de asamblare alternativ sintactic (dar compatibil cu codul) pentru Z80. La Intel, 8080 a fost urmat de 8085 compatibil și mai elegant din punct de vedere electric .

Ulterior, Intel a lansat 8086 pe 16 biți compatibil cu limbajul de asamblare (dar nu compatibil cu binarul) și apoi 8088 cu 8/16 biți , care a fost selectat de IBM pentru noul său PC care va fi lansat în 1981. Mai târziu NEC a realizat NEC V20 (o clonă 8088 cu compatibilitate cu setul de instrucțiuni Intel 80186 ) care acceptă și un mod de emulare 8080. Acest lucru este susținut și de V30 de la NEC (o clonă 8086 îmbunătățită în mod similar). Astfel, 8080, prin arhitectura sa de instrucțiuni (ISA), a avut un impact durabil asupra istoriei computerelor.

Un număr de procesoare compatibile cu Intel 8080A au fost fabricate în Eastern Bloc : KR580VM80A (inițial marcat ca KP580ИK80) în Uniunea Sovietică , MCY7880 fabricat de Unitra CEMI în Polonia , MHB8080A fabricat de TESLA în Cehoslovacia , 8080APC fabricat de Tungsram / MEV în Ungaria și MMN8080 realizat de Microelectronica București în România .

Începând din 2017, modelul 8080 este încă în producție la Lansdale Semiconductors.

Schimbarea industriei

8080 a schimbat, de asemenea, modul în care au fost create computerele. Când a fost introdus modelul 8080, sistemele informatice erau de obicei create de producători de computere precum Digital Equipment Corporation , Hewlett Packard sau IBM . Un producător ar produce întregul computer, inclusiv procesorul, terminalele și software-ul sistemului, cum ar fi compilatoarele și sistemul de operare. 8080 a fost conceput pentru aproape orice aplicație, cu excepția unui sistem computerizat complet. Hewlett Packard a dezvoltat seria de terminale inteligente HP 2640 în jurul anului 8080. HP 2647 este un terminal care rulează limbajul de programare BASIC pe 8080. Microsoft va comercializa ca produs fondator primul limbaj popular pentru 8080 și va achiziționa ulterior DOS pentru computerul IBM .

8080 și 8085 au dat naștere modelului 8086, care a fost conceput ca o extensie compatibilă cu codul sursă (deși nu este compatibil binar ) cu modelul 8085. Acest design, la rândul său, a generat ulterior familia x86 de jetoane, baza pentru multe procesoare utilizate azi. Multe dintre instrucțiunile și conceptele de bază ale mașinii 8080 supraviețuiesc pe platforma x86 larg răspândită. Exemplele includ registrele numite A , B , C și D și multe dintre steagurile utilizate pentru a controla salturile condiționate. Codul de asamblare 8080 poate fi tradus direct în instrucțiuni x86; toate elementele sale de bază sunt încă prezente.

Istorie

Federico Faggin , inițiatorul arhitecturii 8080 la începutul anului 1972, a propus-o conducerii Intel și a presat implementarea acesteia. În cele din urmă a obținut permisiunea de ao dezvolta șase luni mai târziu. Faggin l-a angajat pe Masatoshi Shima din Japonia în noiembrie 1972, care a realizat proiectarea detaliată sub direcția sa, folosind metodologia de proiectare pentru logica aleatorie cu poartă de siliciu pe care Faggin a creat-o pentru familia 4000. Stanley Mazor a contribuit cu câteva instrucțiuni la setul de instrucțiuni.

Shima a finalizat aspectul în august 1973. După reglementarea fabricării NMOS, un prototip al modelului 8080 a fost finalizat în ianuarie 1974. Avea un defect, deoarece conducerea cu dispozitive TTL standard a crescut tensiunea la sol, deoarece curentul mare curgea în linia îngustă. . Cu toate acestea, Intel a produs deja 40.000 de unități ale modelului 8080 în direcția secțiunii de vânzări înainte ca Shima să caracterizeze prototipul. A fost lansat ca necesitând dispozitive Schottky TTL de mică putere (LS TTL). 8080A a remediat acest defect.

Intel a oferit un simulator de seturi de instrucțiuni pentru 8080 numit INTERP / 80. A fost scris de Gary Kildall în timp ce lucra ca consultant pentru Intel.

Brevet

Impact cultural

  • Asteroidul 8080 Intel este numit un joc de cuvinte și o laudă pentru numele Intel 8080.
  • Numărul de telefon publicat de Microsoft, 425-882-8080, a fost ales deoarece s-au lucrat atât de devreme la acest cip.
  • Multe dintre principalele numere de telefon ale Intel au, de asemenea, o formă similară: xxx-xxx-8080

Vezi si

Referințe

Lecturi suplimentare

  • 8080A / 8085 Programarea limbajului de asamblare ; Primul Ed; Lance Leventhal; Adam Osborne & Associates; 495 pagini; 1978. (arhivă)
  • Limbaj de asamblare 8080 / Z80 - Tehnici pentru o programare îmbunătățită ; Primul Ed; Alan Miller; John Wiley & Sons; 332 pagini; 1981; ISBN  978-0471081241 . (Arhiva)
  • Tehnici de interfațare cu microprocesor ; Ed. 3; Rodnay Zaks și Austin Lesea; Sybex; 466 pagini; 1979; ISBN  978-0-89588-029-1 . (Arhiva)
  • Programarea limbajului de asamblare Z80 și 8080 ; Primul Ed; Kathe Spracklen; Hayden; 180 de pagini; 1979; ISBN  978-0810451674 . (Arhiva)

linkuri externe