Acesta este un articol prezentat. Faceți clic aici pentru informații mai detaliate

Zilog Z80

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare
Zilog Z80
Unități centrale de procesare
Zilog Z80.jpg
Unul dintre primele microprocesoare Z80 fabricate
(data imprimată indică „iunie 1976”).
Produs 1976
Producător Zilog
Specificatii tehnice
Frecvența procesorului 2,5 MHz / 8 MHz
Microarhitectura 8 biți
Priză DIP40
Un Z80 în versiunea CMOS în format QFP

Zilog Z80 este un microprocesor pe 8 biți cu un design intern ALU pe 4 biți, dar capabil de operații pe 8 și 16 biți [1] proiectat de Zilog de Federico Faggin și comercializat din iulie 1976 . Z80, cu derivatele și clonele sale, este una dintre cele mai utilizate familii de CPU din toate timpurile. [2]

A fost utilizat pe scară largă în numeroase sisteme, în calculatoare de acasă , în jocuri video arcade , în console , în sisteme încorporate și chiar în cele militare; [3] Odată cu familia de procesoare bazate pe MOS 6502, aceasta a dominat piața microcomputerelor și a consolelor de jocuri pe 8 biți de la sfârșitul anilor șaptezeci și a computerelor de acasă de la începutul anilor optzeci . [4]

Zilog a încercat, de asemenea, să comercializeze versiunile de minicomputer ale arhitecturii Z80, Z800 și Z280 , care însă nu au reușit succesul predecesorului lor: primul a fost abandonat chiar înainte de comercializare [5], în timp ce complexitatea și erorile celui de-al doilea, ei și-au limitat difuzarea în avantajul altor produse, inclusiv Hitachi HD64180 și Zilog Z180 . [6]

Istorie

Fotografie a originalului Zilog Z80 în tehnologie NMOS cu dimensiuni de 3545 × 3350 µm.

Federico Faggin , după ce a lucrat la modelul 8080 , a părăsit Intel la sfârșitul anului 1974 din cauza diferențelor cu managementul: acesta, de fapt, era încă prea concentrat pe producția de cipuri de memorie și a considerat microprocesoarele doar ca produse accesorii, utile pentru a vinde mai mult RAM. [7] Faggin, pe de altă parte, a văzut în ele un potențial de utilizare mult mai larg, datorită posibilității lor de a fi programat pentru utilizări generale. Faggin a decis apoi să părăsească Intel pentru a fonda, împreună cu colegul său Ralph Ungermann , Zilog, o companie dedicată exclusiv producției de procesoare. [8] Primul produs al companiei a fost Z80, născut dintr-un proiect pe care Faggin l-a dezvoltat spre sfârșitul anului 1974, [9] prezentat în iulie 1976. [10]

Z80 s-a răspândit pe piața procesorului mult mai mult decât Intel 8080 și succesorul său, 8085 [11] și a devenit unul dintre cele mai populare procesoare pe 8 biți. [12] [13] Unul dintre factorii cheie ai succesului inițial al Z80 au fost sistemele integrate în cipul în sine, cum ar fi cel pentru reîmprospătarea memoriei DRAM: această integrare a făcut posibilă crearea de sisteme complete cu adăugarea de au apărut alte câteva componente de suport extern (ulterior au apărut sisteme încorporate bazate pe Z80, care utilizează în general memorii statice , care nu au nevoie de această reîmprospătare ) și deschid calea către „System On Chip” modern.

Zilog a licențiat proprietatea intelectuală a proiectului de bază Z80 fără redevențe către nicio companie care a dorit să o producă singură: această politică comercială a achitat pe termen lung Zilog cu o rentabilitate a imaginii, difuziei și vânzărilor, deoarece a permis un produs de o companie mică, așa cum a fost, să se stabilească pe piața mondială datorită faptului că marii producători precum Toshiba au început să producă procesorul în cantități industriale. [14] Ca urmare a acestei alegeri comerciale, Zilog a produs mai puțin de 50% din toate Z80 construite în ultimii ani. [14] Cu toate acestea , mai mulți producători din Europa de Est , [3] Japonia [14] și fosta Uniune Sovietică [15] au fabricat copii fără licență ale procesorului.

Descriere tehnica

Setul de instrucțiuni al Z80 a fost scris pentru a fi compatibil cu Intel 8080, [10] [16] atât de mult din codul pentru 8080 (în principal cel al sistemului de operare CP / M ) ar putea rula nemodificat pe Z80. Masatoshi Shima (co-proiectant al Intel 4004 și Intel 8080) a contribuit la dezvoltarea Z80. [17]

Pinout-ul original al Z80 cu carcasă DIP40

Z80 a oferit următoarele îmbunătățiri față de 8080: [16]

  • un set mai complet de instrucțiuni , [18] inclusiv cele pentru manipularea biților, mișcarea blocului de date, I / O și instrucțiuni de căutare a octeților ; [19]
  • registre noi index IX și IY, cu instrucțiuni relative;
  • un sistem de întrerupere vectorizat mai automatizat și mai generalizat, care funcționează în 3 moduri: modul 2 a gestionat un mod indirect vectorizat, modul 1 a oferit un mod direct, valabil pentru sistemele simple cu hardware minim, în timp ce modul 0 indica modul compatibil 8080. [20]
  • două bănci separate de registre, care pot fi inversate rapid, pentru a accelera răspunsul la întreruperi ;
  • au nevoie de mai puțin hardware pentru alimentarea cu energie electrică, generarea ceasului , interfața de memorie și I / O:
    • cerere pentru o singură sursă de alimentare de 5V (8080 are nevoie de 3 surse de alimentare, respectiv la -5V, + 5V și + 12V)
    • ceas monofazat de 5V (8080 are nevoie de un generator de ceas bifazic cu amplitudine mare);
    • un mecanism integrat de reîmprospătare a memoriei cu acces direct care altfel trebuia furnizat de un circuit extern;
    • non - multiplexate autobuz de date (8080 dispune de un sistem de semnale de stare multiplexate în magistrala de date);
  • un preț mai mic.

Designul original în logica NMOS a văzut limita maximă a frecvenței ceasului crescând progresiv de la 2,5 MHz inițiale până la 4 MHz ale Z80A, la 6 MHz ale Z80B și la 8 MHz ale Z80H. [21] [22] O versiune CMOS a fost realizată, de asemenea, cu o gamă de frecvență variind de la 4 MHz până la 20 MHz din cele mai recente versiuni vândute. [23] [24] Versiunea CMOS a permis, de asemenea, un mod de așteptare cu consum redus de energie numit „Power-Down”, sau „modul de așteptare”, în care a fost păstrată starea internă (registre și semnale de control) către procesor la primirea semnalul de ieșire din acea stare (un semnal de ceas). [24] Se pretinde că cipurile derivate compatibile cu Z80, HD64180 / Z180 [25] [26] și eZ80 sunt capabile de 33 MHz și respectiv 50 MHz.

Înregistrează modelul de planificare și gestionare

Modelul de programare și gestionarea jurnalelor sunt convenționale și similare cu cele ale familiei x86 . Registrele AF, BC, DE și HL, compatibile cu cele ale Intel 8080, sunt duplicate în Z80 în 2 bănci separate [27] , procesorul putând comuta rapid între bănci, [28] o caracteristică utilă pentru accelerarea vitezei răspunsul la întreruperile cu un singur nivel de înaltă prioritate. Această caracteristică a fost prezentă în Datapoint 2200 , în timp ce nu a fost implementată în Intel 8008. Sistemul de registru dual avea sens pe Z80 (și pe alte microprocesoare ale vremii), deoarece a fost conceput și pentru sisteme încorporate, nu doar pentru personal calculatoare sau computere de acasă . [29] Registrele duble s-au dovedit foarte utile pentru codificarea ansamblului extrem de optimizată: unele programe software, în special jocuri pentru sisteme MSX , ZX Spectrum și alte computere bazate pe Z80, au dus la optimizarea ansamblului Z80 la niveluri extreme, folosind, printre altele, registrele duplicat.

Registrele

Arhitectura Z80

La fel ca pe 8080, registrele pe 8 biți sunt de obicei cuplate pentru a obține versiuni pe 16 biți. Registrele compatibile cu cele ale modelului 8080 sunt: [30]

  • AF - acumulator (8 biți) (A) și bit de semnalizare (F) pentru rest, zero, semn minus, paritate / depășire, jumătate de transport (utilizat pentru codificarea zecimală ) și un semnalizare Adăugare / Scădere (numită în mod normal N), de asemenea, pentru codificarea zecimală;
  • BC - registru de date / adrese (16 biți) sau 2 registre de 8 biți;
  • DE - (16 biți) registru de date / adrese sau 2 registre de 8 biți;
  • HL - (16 biți) acumulator de 16 biți / registru de adrese sau 2 registre de 8 biți;
  • SP - indicator de stivă (16 biți);
  • PC - Contor de programe (16 biți).

Noile registre introduse de Z80 sunt:

  • IX - index (16 biți) sau registru de bază pentru offset imediat de 8 biți sau acumulator de 16 biți;
  • IY - (16 biți) index sau registru de bază pentru offset imediat de 8 biți sau acumulator de 16 biți;
  • I - registru de bază (8 biți) pentru întreruperi vectoriale;
  • R - Contor de reîmprospătare DRAM (8 biți) (cel mai semnificativ bit nu contează);
  • AF '- acumulator alternativ (sau „umbră”) și semnalizare ( activat și dezactivat cu EX AF, AF' );
  • BC ', DE' și HL '- registre alternative (sau „umbră”) și semnalizatoare ( activate sau dezactivate cu EXX );
  • 4 biți pentru starea întreruperii și modurile de întrerupere.

Nu există nicio posibilitate de a accesa direct registrele alternative: există 2 instrucțiuni speciale pentru această sarcină, EX AF,AF' și EXX , [30] fiecare dintre acestea modificând 1 din 2 multiplexoare cu flip-flop . Acest lucru permite comutarea rapidă a contextului pentru rutinele de servicii de întrerupere: EX AF, AF' poate fi utilizat singur (pentru rutine de întrerupere foarte simple și rapide) sau în combinație cu EXX pentru a inversa întregul grup de registre AF, BC, DE și HL, o mod de operare mult mai rapid decât cel bazat pe inserarea acelorași registre în stivă (întreruperile cu mai multe niveluri sau întreruperile cu prioritate mică și lentă utilizează în mod normal stiva pentru a stoca valoarea registrelor).

Registrul de reîmprospătare („ R ”) este incrementat [31] de fiecare dată când procesorul execută un cod de opțiune (sau un prefix de cod de opțiune) și, prin urmare, nu are nicio relație simplă cu executarea programului. Acest mod de funcționare a fost adesea folosit pentru a genera numere pseudo-aleatorii în jocuri, dar și în scheme de protecție software. De asemenea, a fost folosit ca contor „hardware” în unele sisteme: un exemplu celebru al acestei utilizări este Sinclair ZX81 , care vă permite să țineți evidența pozițiilor personajelor de pe ecranul televizorului declanșând o întrerupere când are loc resetarea (de conectarea întreruperii la A6).

Registrul vectorului de întrerupere (" I ") este utilizat pentru întreruperile Z80 specificate cu modul 2 (selectat de instrucțiunea IM 2 ). Oferă adresa de bază a paginii („octetul înalt”) pentru tabelul de 128 de intrări ale adreselor de întrerupere a serviciului care sunt selectate printr-un pointer („octetul scăzut” al adresei) trimis CPU în timpul unui ciclu de confirmare a întreruperilor. [20] Pointerul identifică un anumit cip periferic și / sau o funcție a unui cip periferic (în cazul în care un cip periferic poate ridica mai multe întreruperi, cum ar fi CTC), în care cipurile sunt în cascadă în mod normal pentru rezolvarea priorității. La fel ca și cel de reîmprospătare , acest registru a fost folosit uneori într-un mod „creativ”.

ALU pe 4 biți

ALU , sau „Aritmetic-Unit Logic”, este modulul integrat într-un procesor responsabil de efectuarea calculelor aritmetice / logice. Spre deosebire de alte procesoare contemporane (cum ar fi MOS 6502 sau Intel 8080), ALU-ul Z80 este pe 4 biți, ceea ce înseamnă că efectuează calcule pe numere pe 4 biți sau pe nibbles . Deoarece acumulatorul CPU este de 8 biți, pentru a efectua un calcul pe un număr conținut în acumulator, ALU al Z80 trebuie să efectueze două treceri pe acest registru. Pentru a se asigura că acest lucru nu afectează performanța procesorului, proiectanții modelului Z80 s-au gândit la un sistem de cicluri interne împărțit în „cicluri de mașină” sau „cicluri M” (din ciclul M englezesc), în care fiecare ciclul M este compus din mai multe cicluri de ceas și optimizează instrucțiunile astfel încât CPU să poată efectua o suprapunere minimă a operațiilor instrucțiunilor individuale: acest proces se numește „preluare / executare suprapunere” și vă permite să continuați executarea o instrucțiune în timp ce CPU citește din memorie opcode-ul următorului. De exemplu, instrucțiunea SUB r , care scade din acumulator valoarea conținută în registrul de 8 biți indicat de „r”, se execută în 1 ciclu M format din 4 cicluri de ceas. Executarea acestei instrucțiuni poate fi împărțită în următorii pași:

 INSTRUCȚII ACTuale „N” (SUB r)
M1 / T1: este setată adresa de la care să citiți instrucțiunea "N" care trebuie executată
M1 / T2: instrucțiunea „N” este recuperată din memorie
M1 / T3: codul opțional este interpretat ca "SUB r": A este încărcat pe zăvorul temporar "ACU" (*)
M1 / T4: registrul "r" este încărcat în zăvorul temporar "TEMP" (*)
-------------
URMĂTOARE EDUCAȚIE „N + 1”
M1 / T1: este setată adresa de la care să citiți instrucțiunea "N + 1" care trebuie executată
          în același timp, se calculează ronțăitul scăzut al operației anterioare
M1 / T2: instrucțiunea „N + 1” este recuperată din memorie
          în același timp, se calculează ronțăiala mare a operației anterioare
          iar rezultatul este recompus ca o valoare de 8 biți și depus în acumulator
  • vezi figura referitoare la arhitectura internă a procesorului

În acest fel, Z80 nu prezintă încetiniri în comparație cu un procesor cu un ALU complet pe 8 biți. Acest lucru este posibil și datorită faptului că recuperarea instrucțiunii din memorie se realizează întotdeauna în timpul primelor cicluri „T” din primul ciclu M (numit M1) al unei instrucțiuni. [32] [33] [34] [1]

Limbajul de asamblare al Z80

O retrospectivă - Datapoint 2200 și Intel 8008

Limbajul de asamblare al primului Intel 8008 s-a bazat pe o sintaxă foarte simplă (dar schematică), derivată din arhitectura Datapoint 2200 ; această sintaxă a fost apoi transformată într-un nou limbaj de asamblare dedicat cipului 8008; noul limbaj de asamblare a fost apoi extins, aproape în aceeași perioadă, pentru a se adapta la posibilitățile suplimentare de adresare oferite de cipul Intel 8080 mai avansat (8008 și 8080 au împărtășit un limbaj fără a fi compatibil la nivel binar; 8008 a fost binar compatibil cu Datapoint 2200).

În acest proces de transformare, abrevierea mnemonică „L”, care a însemnat LOAD , a fost înlocuită cu cuvintele LOAD , STORE și MOVE , la care fuseseră adăugate alte litere simbolice. Litera „M”, pentru Memorie (la care se face referire prin HL), a fost transformată din abrevierea mnemonică în operand independent din punct de vedere sintactic, în timp ce registrele și combinațiile de registre au fost indicate foarte inconsecvent, atât prin abrevierea operanzilor (de exemplu „MVI D”, cât și „LXI H ") fie utilizând aceleași forme mnemonice ale instrucțiunilor (de exemplu" LDA "și" LHLD ") sau utilizând ambele scheme în același timp (de exemplu" LDAX B "și" STAX D ").

Punct de date 2200

& i8008

i8080 Z80 i8086 / i8088
aproximativ 1973 aproximativ 1974 1976 1978
LBC MOV B,C LD B,C MOV BL,CL
-- LDAX B LD A,(BC) MOV AL,[BX]
LAM MOV A,M LD A,(HL) MOV AL,[BP]
LBM MOV B,M LD B,(HL) MOV BL,[BP]
-- STAX D LD (DE),A MOV [DX],AL
LMA MOV M,A LD (HL),A MOV [BP],AL
LMC MOV M,C LD (HL),C MOV [BP],CL
LDI 56 MVI D,56 LD D,56 MOV DL,56
LMI 56 MVI M,56 LD (HL),56 MOV byte ptr [BP],56
-- LDA 1234 LD A,(1234) MOV AL,[1234]
-- STA 1234 LD (1234),A MOV [1234],AL
-- -- LD B,(IX+56) MOV BL,[SI+56]
-- -- LD (IX+56),C MOV [SI+56],CL
-- -- LD (IY+56),78 MOV byte ptr [DI+56],78
-- LXI B,1234 LD BC,1234 MOV BX,1234
-- LXI H,1234 LD HL,1234 MOV BP,1234
-- SHLD 1234 LD (1234),HL MOV [1234],BP
-- LHLD 1234 LD HL,(1234) MOV BP,[1234]
-- -- LD BC,(1234) MOV BX,[1234]
-- -- LD IX,(1234) MOV SI,[1234]

Tabel cu 4 sintaxe folosind exemple de instrucțiuni echivalente sau (pentru 8086) foarte similare LOAD and STORE . [35]

Noua sintaxă

Intel a susținut că mnemonica asamblării sale a fost patentată. Prin urmare, a fost dezvoltată o nouă sintaxă, de data aceasta cu o abordare mai semantică:

  • toate registrele și perechile de registre au fost indicate în mod explicit prin numele lor complete;
  • parantezele rotunde "()" au fost utilizate în mod consecvent pentru a însemna "conținutul de memorie a" (indicatorul nu este referit), cu excepția unor instrucțiuni de salt; [36]
  • Toate declarațiile „încărcare” și „magazin” au folosit același mnemonic, LD pentru LOAD (o revenire la vocabularul simplist din Datapoint 2200); alte instrucțiuni utilizate în mod obișnuit (cum ar fi ADD și INC ) au folosit același cod mnemonic, indiferent de modul de adresare sau de dimensiunea operandului (acest lucru a fost posibil, deoarece operatorii înșiși conțineau suficiente informații).

Aceste linii directoare au facilitat găsirea numelor și sintaxei tuturor noilor instrucțiuni Z80, precum și reajustarea celor vechi (de ex. „ LD BC,(1234) ” de mai sus).

Din tabel puteți vedea, de asemenea, asemănarea dintre sintaxa Z80 și cea a Intel 8086 . În afară de diferența de nomenclatură și în ciuda unei anumite discrepanțe în structura de bază a registrelor, cele două sintaxi sunt practic izomorfe pentru o mare parte a instrucțiunilor. Cu toate acestea, nu este sigur dacă această asemănare se datorează influențelor comune asupra ambelor grupuri de proiectare de către procesoarele pre-Intel 8080 (cum ar fi PDP-11 ), natura competitivă a relației dintre cele două proiecte sau o chestiune de alegere . [37] [38]

Instrucțiuni și codificare

Z80 folosește 252 din cele 256 de coduri disponibile ca opcodes cu un singur octet („ instrucțiuni root ”); cele 4 coduri rămase sunt utilizate pe scară largă ca prefixe opcode: [39] CB și ED permit instrucțiuni suplimentare, iar DD și FD selectează „IX + d” și respectiv „IY + d” (în unele cazuri fără a utiliza „d”) la locul HL. Această schemă oferă Z80 un număr mare de permutări de instrucțiuni și registre; Zilog le-a încadrat în 158 „tipuri de instrucțiuni” diferite, dintre care 78 sunt aceleași cu cele din 8080, [39] permițând executarea programelor 8080 pe Z80.

Documentația Zilog grupează, de asemenea, instrucțiunile în următoarele categorii:

  • Operații aritmetice și logice pe 8 biți;
  • Operații aritmetice pe 16 biți;
  • Operații de încărcare pe 8 biți;
  • Operațiuni de încărcare pe 16 biți;
  • operații pe biți (inserarea valorii 1, 0 sau test);
  • operații de apelare și revenire din subrutine și repornire de la adrese predefinite (repornire);
  • operațiuni de schimb, transfer și căutare bloc;
  • Operații de control CPU și aritmetică simplă;
  • operațiuni de gestionare a intrărilor / ieșirilor;
  • operații de sărituri;
  • operații de rotație și deplasare a biților;

Ca și în cazul altor procesoare ale timpului, în Z80 original nu sunt disponibile instrucțiuni de multiplicare. [40] Diferitele dimensiuni și variante ale operațiunilor de adăugare, deplasare și rotație a bitului au avut, de asemenea, efecte diferite asupra semnalizărilor, datorită proprietăților de influență a semnalelor copiate din 8080. Instrucțiunile de încărcare nu au afectat semnalizatoarele (cu excepția cazurilor de încărcare în registrele speciale I și R). Instrucțiunile de pe registrele indexului au fost utile pentru reducerea dimensiunii codului și, chiar dacă unele dintre ele nu au fost mult mai rapide decât secvențele „echivalente” compuse din operații simple, au permis reducerea indirectă a timpului de execuție prin scăderea numărului de instrucțiunile necesare pentru salvarea și restaurarea jurnalelor. [41] [42] În mod similar, instrucțiunile de adăugare pe 16 biți nu au fost deosebit de rapide în Z80 original (11 cicluri); cu toate acestea, au fost de aproximativ două ori mai rapide în comparație cu operațiile pe 8 biți care se ocupă de aceleași calcule și, de asemenea, au redus utilizarea registrelor.

Instrucțiuni nedocumentate

Registrele index IX și IY au fost concepute ca indicatori flexibili pe 16 biți pentru a îmbunătăți capacitatea de a manipula memoria, structurile de date și stivele. Oficial au fost gestionate doar ca registre pe 16 biți, dar în realitate au fost implementate ca o pereche de registre pe 8 biți, [43] în același mod ca registrul HL, care era accesibil atât pe 16 biți, cât și în un singur 8 biți înregistrează biți " H igh" și " L ow". De asemenea, codurile opcode (limba mașinii) erau identice, dar precedate de un nou prefix opcode. [44]

Zilog a publicat opcodurile și codurile mnemonice conexe pentru funcțiile ilustrate, dar nu a documentat faptul că orice opcode care a permis manipularea registrelor H și L a fost la fel de valabil pentru porțiunile de 8 biți ale registrelor IX și IY. Un exemplu este opcode 26h urmat imediat de un octet ( LD H,n ), care va încărca acea valoare în registrul H. Precedând această instrucțiune de 2 octeți cu prefixul opcode pentru registrul IX se va încărca acea valoare în cele 8 cele mai semnificative biți din registrul IX. O excepție importantă de la acest mod de operare este dată de instrucțiuni similare cu LD H,(IX+d) care folosesc atât HL cât și IX, sau IY, în aceeași instrucțiune: [44] în acest caz prefixul DD se aplică numai la porțiunea „(IX + d)” din enunț.

În plus, există și alte câteva instrucțiuni nedocumentate. [45] Unele dintre ele sunt consecința diferitelor modele inițiale ale cipului, în timp ce altele se referă la zone foarte externe ale matriței cu o rată ridicată de defecțiune, motiv pentru care s-a decis să nu le documentăm. [46]

Executarea instrucțiunilor

Fiecare instrucțiune este efectuată în pași care sunt denumiți de obicei cicluri de mașină (sau cicluri M), din „cicluri de mașină” englezești, fiecare dintre acestea putând dura între 3 și 6 cicluri de ceas (sau stări T sau cicluri T) . [47] Fiecare ciclu M corespunde aproximativ unui acces la memorie și / sau unei operații interne. Multe instrucțiuni se termină de fapt în timpul buclei M1 a următoarei instrucțiuni, o condiție cunoscută sub numele de preluare fetch / execute .

Exemple de instrucțiuni tipice (R = citire , citire - W = scriere , scriere)

Ciclul M
totaluri
instrucțiune M1 M2 M3 M4 M5 M6
1 [48] INC BC opcode
2 [49] ADAUGĂ A, nu opcode n
3 [50] ADĂUGAȚI HL, DE opcode intern intern
4 [51] SET b, (HL) prefix opcode R (HL), setat W (HL)
5 [50] LD (IX + d), n prefix opcode d n, adăugați W (IX + d)
6 [52] INC (IY + d) prefix opcode d adăuga R (IY + d), inc W (IY + d)

Ciclurile M ale Z80 sunt gestionate de o mașină internă cu stare finită care construiește fiecare ciclu pornind de la 3, 4, 5 sau 6 cicluri T, în funcție de context. Acest mecanism evită să folosească o logică asincronă greoaie și determină semnalele de control să se comporte în mod constant pe o gamă largă de frecvențe de ceas. Acest lucru înseamnă, de asemenea, că trebuie utilizat un ceas cu o frecvență mai mare decât cel care ar fi utilizat în situația în care această diviziune a ciclurilor mașinii nu există (aproximativ de 2-3 ori mai mare).

Cu toate acestea, acest lucru nu implică necesitatea utilizării unei memorii cu timpi de acces mai buni, întrucât un ceas cu o rezoluție mai mare permite un control mai precis al temporizărilor memoriei și același lucru poate fi activ în paralel cu CPU pentru o marjă mai lungă. înregistrări mai puțin inactive ), permițând o utilizare mai eficientă a performanței sale. Vorbind despre execuția instrucțiunilor, Z80 combină 2 cicluri complete de ceas într-o perioadă lungă de acces la memorie (semnalul M1), care durează în general doar o fracțiune dintr-un ciclu de ceas (mai lung), într-un fel de design mai lung. 6800 sau alte procesoare similare).

Amintirile erau de obicei prea lente (în special tipul EPROM , dar și Flash ) în comparație cu subciclurile (ciclurile de ceas) ale mașinilor cu stare finită utilizate în procesoarele contemporane. Cel mai scurt ciclu de mașină care ar putea fi utilizat în proiecte încorporate a fost adesea limitat de timpii de acces la memorie, nu de frecvența maximă a procesorului (în special în era computerului de acasă). Cu toate acestea, această relație sa schimbat ușor în ultimele decenii, în special în ceea ce privește SRAM-urile ; fără cache, proiectele cu ciclu unic, cum ar fi eZ80, au devenit, prin urmare, mult mai importante în ultima perioadă.

Periferice compatibile

Zilog a introdus o serie de periferice pentru Z80, toate acceptând sistemul de gestionare a întreruperilor procesorului și spațiul de adresă I / O. Acestea includ „CTC” ( Counter-Timer-Circuit ), „SIO” ( Serial Input Output ), „DMA” ( Direct Memory Access ), „PIO” ( Parallel Input-Output ) și „DART” ( Transmițător receptor dual asincron ). De-a lungul timpului, au fost oferite și versiunile CMOS ale acestor cipuri, oferind un consum mai mic de energie combinat cu o viteză mai mare.

La fel ca procesoarele Intel 8085 și 8086, dar nu și procesoarele Motorola 6800 și MOS 6502, Zilog Z80 și Intel 8080 aveau o linie de control separată și spațiu de adrese pentru instrucțiuni I / O. Deși unele computere bazate pe Z80 (cum ar fi Osborne 1 ) au folosit dispozitive I / O mapate cu memorie , de obicei spațiul I / O a fost utilizat pentru a aborda unul dintre numeroasele cipuri periferice ale Zilog compatibile cu Z80: Zilog I / O a acceptat modul Z80 2 întreruperi (a se vedea mai sus), ceea ce a facilitat gestionarea întreruperilor pentru un număr mare de periferice.

Adresare I / O pe 16 biți „nedocumentată”

Z80 a fost listat oficial ca fiind capabil să suporte adresarea memoriei pe 16 biți (maximum 64 kB ) și adresarea I / O pe 8 biți (maxim 256 de porturi), dar citind manualul hardware de referință ați putea vedea cum toate instrucțiunile I / O ar putea gestionați întreaga magistrală de adrese pe 16 biți: OUT (C),reg și IN reg,(C) introduceți întregul conținut al registrului BC în magistrala de adrese; [53] OUT (n),A și IN A,(n) introduceți conținutul registrului A în biții b8-b15 ai magistralei de adrese și ai n în biții b0-b7 ai magistralei de adrese. Un proiectant ar putea alege dacă să decodeze întreaga magistrală de adrese pe 16 biți în operațiile I / O, pentru a profita de această caracteristică sau să utilizeze cei mai înalți biți ai magistralei de adrese (b8-b15) pentru a selecta sub-caracteristicile dispozitiv. de I / O. Această caracteristică a fost, de asemenea, utilizată pentru a minimiza cerințele hardware de decodare, ca în Amstrad CPC și ZX81 .

Copii licențiate, clone și derivate

Clone

Mostek MK3880 și SGS-Thomson (acum STMicroelectronics ) Z8400 au fost ambele copii oficiale ale Z80. Sharp și NEC au dezvoltat clone NMOS , LH0080 și respectiv µPD780C . Toshiba a realizat o versiune CMOS a acestuia, TMPZ84C00, despre care se crede că este același procesor ca Zilog Z84C00, tot în CMOS. Au existat și cipuri Z80 fabricate de GoldStar (ulterior LG ), precum și seria BU18400 de clone Z80 (inclusiv cipuri DMA, PIO, CTC, DART și SIO) în tehnologia NMOS și CMOS realizată de ROHM Electronics .

În Germania de Est, a apărut o clonă fără licență a Z80, cunoscută sub numele de U880 : a fost utilizată în calculatoarele fabricate de VEB Robotron și VEB Mikroelektronik Mühlhausen , precum seria KC 85 , dar și pentru calculatoarele auto-asamblate precum COMP JU + TER. În România, o altă clonă fără licență era răspândită, MMN80CPU de la Microelectronica , utilizată în computerele de acasă (cum ar fi TIM-S, HC și COBRA).

Mai multe clone ale Z80 au fost realizate și în Uniunea Sovietică ; unul dintre acestea a fost T34VM1 , [23] numit și КP1858VМ1 [15] (realizat în paralel cu clona rusă 8080, KR580VM80A): primul urma să fie folosit în seria de pre-producție, în timp ce al doilea urma să fie folosit pentru producții la scară largă, deși, din cauza prăbușirii industriei sovietice de microelectronică la sfârșitul anilor 1980, există mai multe T34VM1 decât КP1858VМ1.

Derivate

Compatibil cu originalul Z80
  • Hitachi a dezvoltat HD64180 , un CMOS Z80 microcodat și parțial dinamic, cu periferice montate pe cip și un MMU simplu, care gestiona un spațiu de adrese de 1 MB . Acest cip a fost realizat ulterior și de Zilog, inițial ca Z64180 și apoi ca Z180 , [54] care are protocolul de autobuz și timings mai potrivite pentru cipurile periferice ale Z80. Zilog a continuat să producă Z180 și să-l îmbunătățească: noile versiuni se numesc Z8S180 / Z8L180 și au nuclee complet statice, cu consum redus de energie și interferențe electromagnetice reduse (EMI, eliminarea interferențelor electromagnetice ). [55]
  • Toshiba a dezvoltat controlerul inteligent seria Z84013 / Z84C13 (84-pini) și Z84015 / Z84C15 (100-pini), practic nuclee Z80 cu perifericele sale în tehnologia NMOS și CMOS, cu temporizator de supraveghere , funcția POR („Power-On- Resetare ") și așteptați generatorul de stare, toate pe același cip. De asemenea, au fost fabricate de Sharp . Aceste procesoare sunt acum asamblate și de Zilog. [56]
  • Zilog Z380 , un cip pe 32 de biți compatibil cu Z80, introdus în 1994 , a supraviețuit acestor ani; è usato principalmente nei dispositivi per le telecomunicazioni.
  • Lo Zilog eZ80 , pienamente compatibile con lo Z80 [57] con word di 8/16/24/32 bit ed uno spazio indirizzi lineare di 16 MB; è stato introdotto nel 2001 . Esiste in diverse versioni, con SRAM o memoria flash integrata, così come con le periferiche montate su chip. Una variante integra su chip un MAC e il software a corredo include uno stack IP . A differenza dello Z800 e dello Z280, presenta solo qualche istruzione aggiuntiva (di cui le principali riguardano i metodi di indirizzamento e quelle per caricare i registri in memoria, con indirizzo variabile a 16/24 bit); rispetto allo Z80, esegue le istruzioni da 2 ad 11 volte più velocemente (con un valore medio di 3-5 volte). È certificato per frequenze di clock fino a 50 MHz.
  • Kawasaki produsse il KL5C8400, compatibile a livello binario con lo Z80, di cui risulta mediamente 1,2-1,3 volte più veloce e può operare con clock fino a 33 MHz. Kawasaki produsse anche la famiglia KL5C80A1x, con le periferiche ed una piccola memoria RAM integrata nel chip: è efficiente approssimativamente quanto l'eZ80 e può operare fino a 10 MHz (2006). [58]
  • Alcune famiglie di processori multimediali del costruttore cinese Actions Semiconductor , come l'ATJ2085 ed altri chip, contengono una MCU compatibile con lo Z80 insieme ad un processore DSP dedicato a 24 bit. [59] Questi chip sono utilizzati in molti lettori MP3 e multimediali .
Non compatibili
  • La serie di microcontrollori Toshiba TLCS-900 (principalmente PROM ) sono basati sullo Z80, condividendo con questo la struttura base dei registri suddivisi in BC, DE, HL, IX, IY e gran parte delle stesse istruzioni, ma non sono compatibili a livello binario, al contrario della precedente famiglia TLCS 90. [60]
  • La serie di microcontrollori NEC 78K è basata sullo Z80: essi condividono la stessa struttura base dei registri BC, DE, HL e istruzioni simili (ma con nomi differenti). Non sono compatibili a livello binario con lo Z80.
Parzialmente compatibili

Non più in produzione:

  • L' R800 prodotto da ASCII Corporation fu un veloce processore a 16 bit utilizzato nei computer MSX Turbo R : era compatibile con lo Z80 a livello software ma non a livello hardware (i timing dei segnali, la disposizione ed i segnali dei pin differivano dallo Z80).
  • Gli Z800, in tecnologia NMOS, e Z280, in tecnologia CMOS, furono implementazioni più veloci dello Z80 (prima dell'arrivo dell' HD64180 / Z180 ), con una MMU capace di gestire uno spazio indirizzi di 16 MB; essi aggiungevano molte variazioni e modalità di indirizzamento al set di istruzioni originali dello Z80. Il primo non fu neanche messo in commercio mentre il secondo non riuscì ad imporsi a causa della sua eccessiva complessità e perché era stato progettato più per l'uso nei minicomputer che nei sistemi embedded. [6] [63] Per contro lo Z80 in versione CMOS era rimasto popolare, a fianco delle famiglie compatibili Z180 ed eZ80.

Versioni FPGA e ASIC

L'Evatronix CZ80CPU è un core per CPU equivalente allo Z80, [64] disponibile come codice sorgente Verilog o VHDL per i diffusi ASIC o come sorgente EDIF di netlist per i FPGA da Actel , Altera , Lattice o Xilinx .

Versioni libere sono il T80 [65] ed il TV80, [66] [67] disponibili come sorgenti VHDL e Verilog sotto una licenza in stile BSD o LGPL . [68] La versione in VHDL, una volta sintetizzata, può essere impostata fino a 35 MHz su un FPGA Spartan II di Xilinx. [65] Per produzioni su larga scala è comunque più conveniente utilizzare una soluzione tradizionale (o ASIC) piuttosto che un FPGA.

Emulazione software

Gli emulatori software degli Z80 girano oggi sui moderni PC molto più velocemente di quanto facesse la CPU Z80 originale: essi sono utilizzati per simulare gli home computer basati sullo Z80 (come l' Amstrad CPC , l' MSX ed il Sinclair ZX Spectrum ), o console come il ColecoVision , ma anche negli emulatori di videogiochi (come il MAME ) per eseguire i vecchi arcade . Il SIMH emula il computer MITS Altair 8800 sia con processore 8080 che Z80.

Impiego

Negli home computer

Durante la fine degli anni settanta ei primi anni ottanta lo Z80 fu utilizzato in un gran numero di macchine da ufficio basate sul sistema operativo CP/M , una combinazione che dominò il mercato di quel tempo. [69] [70]

Due esempi di macchine da ufficio basate sul binomio Z80+CP/M furono il portatile Osborne 1 e la serie Kaypro . Research Machines realizzò i microcomputer 380Z ( 1977 ) e LINK 480Z ( 1981 ): quest'ultimo è dotato di un'interfaccia di rete proprietaria CHAIN (tipo Ethernet ) per il collegamento ad una LAN . Se sulla LAN era presente un file server , il computer poteva avviare da esso un sistema operativo usando il CP/NOS (una versione solo-rete del CP/M), altrimenti poteva avviare il CP/M da un disco e poi accedere ai servizi di rete tramite CP/NET. Altri costruttori di tali sistemi furono TeleVideo , Xerox ( serie 820 ) e un gran numero di altre società più o meno conosciute. Alcuni sistemi utilizzavano un multitasking software per distribuire un processo fra diversi utenti.

Il Commodore 128 integra a fianco del MOS 8502 un processore Z80, grazie al quale può entrare in una particolare modalità compatibile con il CP/M. [71] [72] Altri computer basati sul MOS 6502 in vendita a quel tempo, come il BBC Micro e l' Apple II , [73] o basati sul MOS 6510 , come il Commodore 64 , [74] possono usare lo Z80 alloggiato su un'unità esterna, una scheda aggiuntiva o una cartuccia di espansione , come la SoftCard di Microsoft per l'Apple II: essa era una scheda aggiuntiva particolarmente diffusa e uno dei pochi prodotti hardware realizzati da Microsoft a quel tempo.

Acer , all'epoca Multitech , introdusse il Microprofessor I nel 1981 , un dispositivo per l'apprendimento del linguaggio macchina dello Z80. Nel 2019 è ancora prodotto e venduto da Flite Electronics Int. ( Southampton , Inghilterra ) come "Flite's MPF-1B". [75] Un altro microcomputer con finalità didattiche basato sullo Z80 è l' NBZ80 o Nanocomputer , prodotto dall'azienda italiana SGS-ATES intorno al 1979.

Lo Z80 fu usato nella famiglia di home computer prodotti da Sinclair . Il Sinclair ZX80 integra uno Z80 oppure lo μPD780C-1, un clone del processore prodotto da NEC . Questo computer, presentato nel 1980 , integra 1 kB di RAM e 4 kB di ROM, contenenti il sistema operativo e il linguaggio di programmazione Sinclair BASIC . Il Sinclair ZX81 , presentato nel 1981 , era un'evoluzione del precedente, rispetto al quale utilizza uno Z80A e integra 8 kB di memoria ROM. Come lo ZX80, anche lo ZX81 delega alla CPU Z80 la generazione del segnale video. L'erede dello ZX81 fu il Sinclair ZX Spectrum , basato anch'esso sullo Z80A, ma con un hardware migliore: lo ZX Spectrum può infatti contare su più RAM (16 kB o 48 kB, a seconda delle versioni), un interprete BASIC più completo (residente su 16 kB di ROM) e grafica a colori.

I computer costruiti seguendo lo standard MSX , sviluppato da Kazuhiko Nishi , presidente della società giapponese ASCII Corporation , erano basati su uno Z80 a 3,58 MHz. L'architettura MSX deriva da quella dei computer di Spectravideo , una società americana che commercializzava dei sistemi realizzati in collaborazione proprio con ASCII Corporation. Nishi ottenne la licenza dei computer di Spectravideo e ne rivide l'hardware, creando uno standard che chiamò MSX. [76] A livello di hardware i sistemi MSX erano distribuiti con 16/64 KB di RAM, un processore grafico TMS9918 e un processore audio AY-3-8910 .

Nei sistemi embedded e nell'elettronica di consumo

Lo Zilog Z80 è stato a lungo un microprocessore molto diffuso nei sistemi embedded e nei microcontroller [30] dove è stato largamente utilizzato fino ai primi anni 2000 , [12] [77] sostituito dal suo successore eZ80. Di seguito sono illustrati alcuni usi dello Z80, inclusi i prodotti dell' elettronica di consumo .

Utilizzo industriale/professionale

Un centralino basato sullo Z80. La CPU è nella parte sinistra, accanto al chip con l'etichetta sopra.

Elettronica di consumo

  • Diverse calcolatrici scientifiche hanno usato lo Z80, incluse la TI-73 [81] (1998), la TI-81 [82] (1990), la TI-82 [83] (1993), la serie TI-83 [84] (1996), la serie TI-84 [85] (2004), la TI-85 [86] (1995) e la serie TI-86 [87] (1997) di Texas Instruments . [88]
  • Tutti i lettori multimediali S1 MP3 sono basati sul core Z80 (anni 2000). [89]
  • Lo Z80 è stato usato spesso anche nei videogiochi arcade , [12] sia come CPU, sia come coprocessore audio o video. Il gioco Pac-Man (1980) utilizza un singolo Z80 come CPU. [90] [91] Galaxian (1979) ed i giochi arcade come King & Balloon (1980) e Check Man (1982) che usano la scheda madre Namco Galaxian utilizzano tutti lo Z80 come CPU principale. [92] Altri giochi Namco come Galaga (1981) e quelli che utilizzano la scheda madre Namco Galaga , tra cui Bosconian (1981), Dig Dug (1982), Xevious (1982) e Super Xevious (1984), utilizzano 3 processori Z80 in parallelo per la CPU, la gestione della grafica e del suono. [93] La scheda madre Jaleco Master System 32 , utilizzata per diversi arcade, utilizza uno Z80 per la gestione del sonoro. [94]
  • Lo Z80 fu usato anche in alcune console giochi come la ColecoVision (1982), [95] il Sega Master System (1985) [96] e il Sega Game Gear (1990), come coprocessore audio nel Sega Mega Drive (1988) e come controller audio e coprocessore del Motorola 68000 nel Neo Geo di SNK (1990).
  • I sistemi gioco portatili Game Boy (1989) e Game Boy Color (1998) di Nintendo usavano un processore derivato dallo Z80 [97] con un insieme di istruzioni leggermente differente (i registri indice ed il set di registri alternativi mancavano, ma erano state aggiunte le modalità di indirizzamento con incremento/decremento automatico), prodotto da Sharp Corporation . Il Game Boy Color è capace di raddoppiare il clock della CPU quando esegue software specifico per questo modello. La serie Game Boy Advance (2001) originariamente includeva questo Z80 modificato per motivi di retrocompatibilità , ma in seguito questa CPU fu eliminata quando fu presentato il Game Boy Micro .
  • In Russia lo Z80 ei suoi cloni furono usati largamente in telefonia nelle linee telefoniche terrestri con Caller ID .

Strumenti musicali e altro

  • Alcuni sequencer MIDI come l' E-mu 4060 Polyphonic Keyboard and Sequencer (1977) [98] ed il Roland MSQ700 (1984) [99] , erano costruiti intorno allo Z80.
  • Anche alcuni controller e commutatori MIDI, come il Waldorf Midi-Bay MB-15 , usavano lo Z80 (1990). [100]
  • Alcuni sintetizzatori analogici polifonici integravano lo Z80 come scanner della tastiera (ma anche per gestire le manopole delle impostazioni, i display e altro) e nei convertitori D/A o nei controlli PWM dei livelli analogici; nei sistemi più recenti è stato usato alle volte per gestire le comunicazioni tra i dispositivi MIDI. Lo Z80 è stato spesso utilizzato anche per generare il suono, implementando un oscillatore a bassa frequenza o un sintetizzatore . Alcuni esempi sono:
    • i sintetizzatori Prophet 5 (1978), Prophet 10 (1980), [101] Prophet 600 (1982), Six-Trak (1984), Multitrak (1985), MAX (1984) e Split-8 (1985) di Sequential Circuits ; [102]
    • il sintetizzatore a 6 voci MemoryMoog (1982); [103]
    • il sintetizzatore ad 8 voci Oberheim OB-8 (1983) con MIDI; [102]
    • il sintetizzatore ad 8 voci Roland Jupiter-8 (1981). [104]
  • Sintetizzatori/ campionatori digitali come l' E-MU Emulator I (1981), l' Emulator II (1984) ed il campionatore a 12 bit Akai S700 (1987). [105]
  • Drum machine come l' E-mu SP-12 (1985), l' E-mu SP-1200 (1987), l' E-mu Drumulator (1983) ed il Drumtraks (1984) di Sequential Circuits usavano i processori Z80. [102]
  • Molti riverberatori digitali della Lexicon di fine anni ottanta ( PCM70 , LXP15 , LXP1 , MPX100 ) usavano uno o più Z80 per l'interfaccia utente e l'oscilloscopio a bassa frequenza; le funzioni sul segnale digitale erano poi eseguite da hardware dedicato.
  • Il preamplificatore per chitarra con controller MIDI a valvole ADA MP-1 (1988) usava lo Z80. [106]
  • Il preamplificatore per chitarra con controller MIDI a valvole MESA BOOGIE Triaxis (1991) usa lo Z80.

Note

  1. ^ a b ( EN ) Federico Faggin , Masatoshi Shima , Ralph Ungermann e Michael Slater (mod.), Zilog Oral History Panel on the Founding of the Company and the Development of the Z80 Microprocessor ( PDF ), Oral History of the Zilog Z80 Microprocessor, Mountain View, California, 27 aprile 2007 , Mountain View, CA (United States), Computer History Museum, 2007. URL consultato il 29 agosto 2018 (archiviato dall' url originale il 14 febbraio 2012) .
  2. ^ Z80 class ICs , su cpu-collection.de . URL consultato il 21 agosto 2010 .
    ( EN )

    «It [the Z80] was widely used both in desktop and embedded computer designs as well as for defense purposes, and is one of the most popular CPUs of all time.»

    ( IT )

    «Lo Z80 fu largamente utilizzato sia sui sistemi embedded sia nella progettazione dei computer così come per impieghi militari, ed è una delle CPU più popolari di tutti i tempi.»

  3. ^ a b Eastern Bloc Z80 , su cpu-collection.de . URL consultato il 21 agosto 2010 .
    ( EN )

    «The 880 series of East German processors are clones of Zilog Z80 processors. The U880 and UB880 are Z80 clones, the UA880 is a Z80 A equivalent and the VB880 is a Z80 version with enhanced temperature range (-25° to +85 °C) for industrial and military purposes. They were produced by Funkwerk Erfurt (FWE), later renamed to VEB Mikroelektronik "Karl Marx" in Erfurt (MME) in the 1980s.»

    ( IT )

    «La serie 880 dei processori prodotti nella Germania dell'Est sono cloni dei processori Zilog Z80. L'U880 e l'UB880 sono cloni dello Z80, l'UA880 è un equivalente dello Z80 A ed il VB880 è una versione dello Z80 con un intervallo operativo di temperature allargato (da -25 °C a +85 °C) destinato ad utilizzi militari ed industriali. Furono prodotti da Funkwerk Erfurt (FWE), poi rinominata in VEB Mikroelektronik "Karl Marx", con sede nella città di Erfurt (MME).»

  4. ^ Longley, Shain , p. 147 .
    ( EN )

    «Until recently 8 bit machines were dominated by two microprocessors — the Z80 and the 6502»

    ( IT )

    «Fino a poco tempo fa le macchine ad 8 bit furono dominate da 2 microprocessori: lo Z80 ed il 6502.»

  5. ^ Jack Ganssle, Zilog, Redux, Redux, Redux , su eetimes.com , EE Times, 14 dicembre 2009. URL consultato il 30 settembre 2010 (archiviato dall' url originale il 31 agosto 2010) .
    ( EN )

    «Zilog capitalized on the Z80's success with a variety of other processors, such as the ill-fated Z800 which was Z80-compatible but offered much higher performance. That part never made it to market.»

    ( IT )

    «Zilog cercò di capitalizzare il successo dello Z80 con diversi altri processori fra cui lo sfortunato Z800, che era compatibile con lo Z80 ma offriva prestazioni più elevate. Il componente non arrivò mai sul mercato»

  6. ^ a b Jack Ganssle, Zilog, Redux, Redux, Redux , su eetimes.com , EE Times, 14 dicembre 2009. URL consultato il 30 settembre 2010 (archiviato dall' url originale il 31 agosto 2010) .
    ( EN )

    «The Z280, though, went into production. Somewhat Z80-compatible it offered cache, a range of on-board peripherals, and 24 address lines. Excessively complex the part suffered from a variety of bugs that Zilog never managed to iron out. (...) Hitachi, though, upscaled the Z80 into their 64180 which had a primitive on-board MMU that extended the address bus to 20 bits. Zilog offered the part under the name Z180, and it gained substantial market share, and is also still available today.»

    ( IT )

    «Lo Z280, invece, entrò in produzione. Discretamente compatibile con lo Z80, offriva una cache e diverse periferiche integrate, oltre ad un bus indirizzi a 24 bit. Eccessivamente complesso, il processore era afflitto da diversi bug che Zilog non risolse mai. (...) Hitachi, invece, espanse lo Z80 nel suo 64180 che aveva una MMU di base integrata che estendeva il bus indirizzi a 20 bit. Zilog offrì tale processore sotto il nome di Z180, che guadagnò una discreta fetta di mercato ed è tutt'oggi ancora disponibile.»

  7. ^ Faggin
    ( EN )

    «Intel in those days was a memory company. Microprocessors were important only insofar as they helped sell memory chips.»

    ( IT )

    «Intel, a quei tempi, era un produttore di memorie. I microprocessori erano importanti solo nella misura in cui aiutavano a vendere i chip di memoria.»

  8. ^ Faggin
    ( EN )

    «I believed in microprocessors so I decided to start my own company, completely dedicated to the new business. I made that decision in the summer of 1974, a few months after the market introduction of the 8080. I finally left Intel in October 1974 and with Ralph Ungermann, one of the managers reporting to me, I started Zilog.»

    ( IT )

    «Io credevo nei microprocessori perciò decisi di avviare una mia azienda, completamente dedicata al nuovo business. Presi questa decisione nell'estate del 1974, alcuni mesi dopo l'introduzione sul mercato dell'8080. Lasciai definitivamente Intel nell'ottobre del 1974 e, con Ralph Ungermann, uno dei manager che era sotto la mia direzione, fondai la Zilog.»

  9. ^ Faggin
    ( EN )

    «I conceived the Z80 microprocessor family in December 1974.»

    ( IT )

    «Ideai la famiglia di microprocessori Z80 nel dicembre del 1974»

  10. ^ a b Anderson , p. 51 .
  11. ^ Andre Adrian, Z80, the 8-bit Number Cruncher , su andreadrian.de . URL consultato l'11 novembre 2010 .
  12. ^ a b c Balch , p. 122 .
  13. ^ The red hill CPU guide - in the beginning , su redhill.net.au , Red Hill Tech. URL consultato il 9 novembre 2010 .
    ( EN )

    «Zilog Z-80 - The most successful microprocessor of all time. (...) The Z-80 sold in huge quantities, and was at the heart of most of the microcomputers of the CP/M era.»

    ( IT )

    «Lo Zilog Z80 - Il più riuscito microprocessore di tutti i tempi. (...) Lo Z80 fu venduto in grandissime quantità, e fu il cuore di molti dei microcomputer dell'era CP/M.»

  14. ^ a b c New Scientist (5/5/1983) , p. 276 .
    ( EN )

    «The Japanese chips in question are the PD780 and the PD780-1. They were both introduced in 1979 and now account for 30 per cent of sales in the US of Z80-type microprocessors. Zilog accounts for another 40 per cent of sales and the rest is made up of Z80s manufactured under license from Zilog by companies like Mostek, SGS and Sharp»

    ( IT )

    «I chip giapponesi in questione sono il PD780 ed il PD780-1. Sono stati presentati entrambi nel 1979 ed ora sono accreditati del 30% delle vendite negli USA dei microprocessori di tipo Z80. Zilog è accreditata di un altro 40% delle vendite, il resto delle quali è accreditato agli Z80 prodotti sotto licenza Zilog da società come Mostek, SGS e Sharp»

  15. ^ a b КР1858ВМ1, clone russo dello Z80 , su chipdb.org . URL consultato il 29 settembre 2010 .
  16. ^ a b Brock , p. 166 .
    ( EN )

    «In early 1976, Zilog released the Z80, a substantial improvement over the Intel 8080 that retained full compatibility with the earlier chip.»

    ( IT )

    «Agli inizi del 1976, Zilog presentò lo Z80, un miglioramento sostanziale dell'Intel 8080 che manteneva la piena compatibilità con il precedente chip.»

  17. ^ InfoWorld , pp. 58-60 .
    ( EN )

    «(...) Masatoshi Shima, who had also worked on the 4004 while at Busicom. He later designed the Z80 for Zilog (...)»

    ( IT )

    «(...) Masatoshi Shima, che aveva anche sviluppato il 4004 mentre lavorava per la Busicom. Egli progettò in seguito lo Z80 per Zilog (...)»

  18. ^ Mathur , p. 111 .
    ( EN )

    «The register architecture of the Z80 is more innovative than that of the 8085.»

    ( IT )

    «L'architettura dei registri dello Z80 è più innovativa rispetto a quella dell'8085.»

  19. ^ Ciarcia , pp. 31-32 .
  20. ^ a b Chen , p. 1943 .
    ( EN )

    «(...) interrupt processing commences according to the interrupt method stipulated by the IM "i", "i"=0, 1, or 2, instruction. If "i"=1, for direct method, the PC (...) is loaded with 0038H. If "i"=0, for vectored method, (...) the interrupting device has the opportunity to place the op-code for one byte (...). If "i"=2, for indirect vector method, (...) the interrupting device must then place a byte (...). The Z80 then uses this byte (...) where one of 128 interrupt vectors can be selected by the byte (...).»

    ( IT )

    «(...) la gestione degli interrupt inizia secondo il metodo di interrupt impostato dall'istruzione IM "i", con "i" che può assumere i valori di 0, 1 o 2. Se "i"=1, modalità diretta, allora il PC (...) viene caricato con 0038H. Se "i"=0, metodo vettorizzato, il dispositivo che chiede l'interruzione ha l'opportunità di piazzare l'op-code per 1 byte (...). Se "i"=2, modalità vettorizzata indiretta, (...) il dispositivo che chiede l'interruzione deve piazzare un byte (...). Lo Z80 usa poi questo byte (...) per selezionare uno fra i 128 vettori di interrupt (...)»

  21. ^ Popular Computing , McGraw-Hill, 1983, p. 15. .
  22. ^ John Markoff, Zilog's speedy Z80 soups up 8-bit to 16-bit performance , in InfoWorld , InfoWorld Media Group, 18 ottobre 1982, p. 1.
  23. ^ a b Famiglia del microprocessore Zilog Z80 , su cpu-world.com . URL consultato il 29 settembre 2010 .
  24. ^ a b Zilog
  25. ^ Zilog , pp. 6-2 .
    ( EN )

    «Q: Is the instruction set of the Z180 fully identical to the Z80 CPU's except for new instructions? A: There are three instructions which are not the same. They are: DAA and RRD/RLD.»

    ( IT )

    «D: Il set di istruzioni dello Z180 è completamente identico a quello della CPU Z80, eccetto le nuove istruzioni? R: Ci sono tre istruzioni che non sono uguali. Esse sono: DAA e RRD/RLD.»

  26. ^ Jack G. Ganssle, The Z80 Lives! , su z80.info , 1992. URL consultato l'11 novembre 2010 .
    ( EN )

    «The designers picked an architecture compatible with the Z80, giving Z80 users a completely software compatible upgrade path. (...) The 64180 processor runs every Z80 instruction exactly as a Z80 does.»

    ( IT )

    «Gli sviluppatori crearono un'architettura compatibile con lo Z80, dando agli utenti dello Z80 un prodotto compatibile al 100% con lo Z80 a livello di software. (...) Il processore 64180 esegue ogni istruzione dello Z80 esattamente come farebbe uno Z80.»

  27. ^ Kilobaud , 1001001, 1977, p. 22. .
  28. ^ Zaks , p. 62 .
  29. ^ William Aspray, Intervista a Masatoshi Shima , su ieeeghn.org , IEEE.org, 17 maggio 1994. URL consultato il 14 ottobre 2010 .
    ( EN )

    «We didn't focus on mainframe computers. We focused upon office equipment like high performance printers, high-end cash registers, and intelligent terminals.»

    ( IT )

    «Non ci focalizzammo sugli elaboratori mainframe. Ci focalizzammo sulle apparecchiature da ufficio come le stampanti ad alte prestazioni, i registratori di cassa di fascia alta ed i terminali intelligenti»

  30. ^ a b c Heath , p. 21 .
  31. ^ Zilog , p. 24 .
    ( EN )

    «The Z80 CPU contains a memory refresh counter, enabling dynamic memories to be used with the same ease as static memories. Seven bits of this 8-bit register are automatically incremented after each instruction fetch. The eighth bit remains as programmed, resulting from an LD R, A instruction.»

    ( IT )

    «La CPU Z80 contiene un contatore di refresh della memoria che permette di usare le memorie dinamiche con la stessa facilità delle memorie statiche. Dopo l'esecuzione di ogni istruzione vengono incrementati automaticamente 7 bit di questo registro ad 8 bit. L'ottavo bit rimane com'è stato impostato, tramite una istruzione LD R, A

  32. ^ Ken Shirriff, The Z-80 has a 4-bit ALU. Here's how it works , su righto.com , Ken Shirriff's blog. URL consultato l'08/08/2021 .
  33. ^ Electronic – How to z80 uses a 4-bit ALU and return results in a single clock cycle , su itectec.com . URL consultato l'08/08/2021 .
  34. ^ Z80 CPU Architecture , su z80.info . URL consultato l'08/08/2021 .
  35. ^ Frank Durda IV, 8080/Z80 Instruction Set , su nemesis.lonestar.org . URL consultato il 3 settembre 2010 (archiviato dall' url originale l'11 febbraio 2016) .
  36. ^ SLR Systems , p. B-2 .
    ( EN )

    «"Jump" ( JP ) instructions, which load the program counter with a new instruction address, do not themselves access memory. Absolute and relative forms of the jump reflect this by omitting the round brackets from their operands. Register based jump instructions such as " JP (HL) " include round brackets in an apparent deviation from this convention.»

    ( IT )

    «Le istruzioni di salto "Jump" ( JP ), che caricano nel contatore del programma l'indirizzo dove andare ad eseguire nuove istruzioni, non accedono direttamente alla memoria. Le forme assolute e relative del salto riflettono questo omettendo le parentesi tonde nei loro operandi. Le istruzioni di salto basate sui registri, come ad esempio " "JP (HL) ", apparentemente non rispettano questa convenzione ed includono le parentesi tonde»

  37. ^ Scanlon , p. 12 .
    ( EN )

    «The 8086 is software-compatible with the 8080 at the assembly-language level»

    ( IT )

    «L'8086 è codice-compatibile con l'8080 a livello di linguaggio assembly»

  38. ^ Nelson , p. 2 .
    ( EN )

    «An Intel translator program could convert 8080 assembler programs into 8086 assembler programs.»

    ( IT )

    «Un programma Intel di traduzione poteva convertire i programmi assembler dell'8080 in programmi assembler per l'8086»

  39. ^ a b Z80 CPU Introduction , su z80.info , Zilog, 1995. URL consultato l'11 novembre 2010 .
    ( EN )

    «It has a language of 252 root instructions and with the reserved 4 bytes as prefixes, accesses an additional 308 instructions.»

    ( IT )

    «Possiede un linguaggio con 252 istruzioni base e con i restanti 4 byte riservati come prefissi, che accedono a 308 istruzioni addizionali.»

  40. ^ Sanchez, Canton , p. 65 .
    ( EN )

    «The 8-bit microprocessors that preceded the 80x86 family (such as the Intel 8080, the Zilog Z80, and the Motorola) did not include multiplication (...)»

    ( IT )

    «Nessun microprocessore ad 8 bit antecedente alla famiglia 80x86 (come l'Intel 8080, lo Zilog Z80 ed i Motorola) includeva la moltiplicazione»

  41. ^ Comparazione dei tempi di esecuzione delle istruzioni dello Z80 ( TXT ), su z80.info . URL consultato il 14 ottobre 2010 .
  42. ^ Organizzazione hardware dello Z80 - Registri indice , su msxarchive.nl . URL consultato il 12 novembre 2010 .
    ( EN )

    «Indexing is a facility for accessing blocks of data in the memory with a single instruction.»

    ( IT )

    «L'indicizzazione è un mezzo per accedere a blocchi di dati nella memoria con una singola istruzione.»

  43. ^ Froehlich , p. 133 .
    ( EN )

    «Undocumented Z80 codes allow 8 bit operations with IX and IY registers.»

    ( IT )

    «I codici non documentati dello Z80 permettono operazioni ad 8 bit con i registri IX e IY»

  44. ^ a b JT Jacco, Z80 Undocumented Instructions , su Home of the Z80 CPU . URL consultato l'11 novembre 2010 .
    ( EN )

    «If an opcode works with the registers HL, H or L then if that opcode is preceded by #DD (or #FD) it works on IX, IXH or IXL (or IY, IYH, IYL), with some exceptions. The exceptions are instructions like LD H,IXH and LD L,IYH (...)»

    ( IT )

    «Se un opcode opera con i registri HL, H o L allora se quell'opcode è preceduto da #DD (o #FD) esso opera con IX, IXH o IXL (o IY, IYH e IYL), con alcune eccezioni. Le eccezioni sono le istruzioni quali LD, H,IXH e LD, L,IYH(...)»

  45. ^ InfoWorld 21/6/1982 , p. 23 .
    ( EN )

    «After the command summary are examples and two pages of undocumented Z80 operation codes.»

    ( IT )

    «Dopo il sommario dei comandi ci sono gli esempi e due pagine di codici di operazioni non documentate dello Z80»

  46. ^ Great Microprocessors of the Past and Present - Part IV: The Zilog Z-80 - End of an 8-bit line (July 1976).... , su cpushack.com , CPU Shack. URL consultato l'11 ottobre 2015 .
    ( EN )

    «Like many processors (including the 8085), the Z-80 featured many undocumented instructions. In some cases, they were a by-product of early designs (which did not trap invalid op codes, but tried to interpret them as best they could), and in other cases chip area near the edge was used for added instructions, but fabrication made the failure rate high. Instructions that often failed were just not documented, increasing chip yield. Later fabrication made these more reliable.»

    ( IT )

    «Come molti processori (incluso l'8085) lo Z80 presentava molte istruzioni non documentate. In molti casi esse erano un sottoprodotto dei primi progetti (che non intercettavano gli opcode non validi ma cercavano di interpretarli come meglio potevano), ed in altri casi le aree del chip vicino ai bordi erano usate per delle istruzioni aggiuntive, ma la produzione dava degli elevati casi di malfunzionamenti. Le istruzioni che erano più soggette a questi malfunzionamenti semplicemente non erano documentate, incrementando la resa dei chip. Le produzioni successive le resero più affidabili.»

  47. ^ Zilog , p. 11 .
  48. ^ Ciarcia , p. 65 .
  49. ^ Zaks , p. 200 .
    ( EN )

    «ADD A, n Add accumulator with immediate data n. (...) MEMORY Timing: 2 M cycles; 7 T states.»

    ( IT )

    «ADD A,n Aggiungi all'accumulatore il successivo dato n. (....) MEMORY Timing: 2 M-cycles; 7 T-states»

  50. ^ a b Ciarcia , p. 63 .
  51. ^ Ciarcia , p. 77 .
  52. ^ Ciarcia , p. 58 .
  53. ^ Sean Young, Z80 Undocumented Features (in software behaviour) ( TXT ), su z80.info , 1998. URL consultato l'11 novembre 2010 .
    ( EN )

    «The I/O instructions use the whole of the address bus, not just the lower 8 bits. So in fact, you can have 65536 I/O ports in a Z80 system (the Spectrum uses this). IN r,(C) , OUT (C),r and all the I/O block instructions put the whole of BC on the address bus. IN A,(n) and OUT (n),A put A*256+n on the address bus.»

    ( IT )

    «Le istruzioni di I/O utilizzano l'intero bus indirizzi, non solo gli 8 bit più bassi. Si possono infatti avere 65.536 porte di I/O in un sistema Z80 (lo Spectrum usa questa configurazione). IN r,(C) , OUT (C),r e tutte le istruzioni sui blocchi I/O inseriscono l'intero contenuto del registro BC nel bus indirizzi. IN A,(n) e OUT (n),A inseriscono A*256+n nel bus indirizzi.»

  54. ^ Jack G. Ganssle, The Z80 Lives! , su z80.info , 1992. URL consultato l'8 novembre 2010 .
    ( EN )

    «The 64180 is a Hitachi-supplied Z80 core with numerous on-chip "extras". Zilog's version is the Z180, which is essentially the same part.»

    ( IT )

    «Il 64180 è un core Z80 sviluppato da Hitachi con numerosi "extra" integrati nel chip. La versione di Zilog è lo Z180, che è essenzialmente lo stesso componente.»

  55. ^ Zilog, Inc. , p. 1 .
    ( EN )

    «The enhanced Z8S180/Z8L180 significantly improves on previous Z80180 models, while still providing full backward compatibility with existing ZiLOG Z80 devices. The Z8S180/Z8L180 now offers faster execution speeds, power-saving modes, and EMI noise reduction.»

    ( IT )

    «L'avanzato Z8S180/Z8L180 è significativamente migliore dei precedenti modelli Z80180, mantenendo comunque sempre piena retrocompatibilità con i dispositivi Zilog Z80 esistenti. Lo Z8S180/Z8L180 offre ora una velocità di esecuzione maggiore, delle modalità di risparmio energetico e la riduzione del disturbo elettromagnetico (EMI).»

  56. ^ Jack G. Ganssle, The Z80 Lives! , su z80.info , 1992. URL consultato il 12 novembre 2010 .
    ( EN )

    «Both Toshiba and Zilog sell the 84013 and 84015, which are Z80 cores with conventional Z80 peripherals integrated on-board.»

    ( IT )

    «Sia Toshiba che Zilog vendono l'84013 e l'84015, che sono dei core Z80 con le periferiche convenzionali dello Z80 integrate nel chip.»

  57. ^ Zilog, Inc. , p. 10 .
    ( EN )

    «The eZ80 CPU's instruction set is a superset of the instruction sets for the Z80 and Z180 CPUs. The Z80 and Z180 programs are executed on an eZ80 CPU with little or no modification.»

    ( IT )

    «Il set di istruzioni della CPU eZ80 è un super-insieme del set di istruzioni di quelle delle CPU Z80 e Z180. I programmi per lo Z80 e lo Z180 sono eseguiti su una CPU eZ80 con nessuna o poche modifiche.»

  58. ^ Cahners Asia Ltd. , p. 5 .
    ( EN )

    «Kawasaki's KL5C80A12, KL5C80A16 and KL5C8400 are high speed 8-bit MCUs and CPU. Their CPU code, KC80 is compatible with Zilog's Z80 at binary level. [...] KC80 executes instructions about four times faster than Z80 at the same clock rate [...]»

    ( IT )

    «I chip Kawasaki KL5C80A12, KL5C80A16 e KL5C8400 sono MCU e CPU ad 8 bit ad alta velocità. Il codice della loro CPU, KC80, è compatibile a livello binario con quello dello Zilog Z80. (...) Il KC80 esegue le istruzioni circa 4 volte più velocemente dello Z80 alla stessa frequenza di clock (...).»

  59. ^ Hardware specs , su S1mp3.org , 2005. URL consultato l'11 novembre 2010 .
  60. ^ Smithsonian , p. 16 .
  61. ^ Axelson , p. 93 .
    ( EN )

    «[...] Rabbit Semiconductor's Rabbit 3000 microprocessor, which is a much improved and enhanced derivative of Zilog, Inc.'s venerable Z80 microprocessor.»

    ( IT )

    «Il microprocessore Rabbit 3000 di Rabbit Semiconductor è una versione migliorata e potenziata del vecchio processore Z80 di Zilog, Inc.»

  62. ^ Hyder, Perrin , p. 32 .
    ( EN )

    «The Rabbit parts are based closely on the Zilog Z180 architecture, although they are not binary compatible with the Zilog parts.»

    ( IT )

    «I prodotti di Rabbit sono strettamente basati sull'architettura Zilog Z180 anche se non sono compatibili a livello binario con i prodotti Zilog.»

  63. ^ Jack Ganssle, ZiLOG, Redux, Redux, Redux , su eetimes.com , EETimes, 14 dicembre 2009. URL consultato il 14 ottobre 2010 (archiviato dall' url originale il 31 agosto 2010) .
    ( EN )

    «The Z280, though, went into production. Somewhat Z80-compatible it offered cache, a range of on-board peripherals, and 24 address lines. Excessively complex the part suffered from a variety of bugs that ZiLOG never managed to iron out.»

    ( IT )

    «Lo Z280, invece, entrò in produzione. Compatibile con lo Z80, offriva una cache ed un insieme di periferiche integrate ed un bus indirizzi a 24 bit. Eccessivamente complesso, il prodotto era afflitto da diversi bug che Zilog non risolse mai.»

  64. ^ CZ80CPU - 8-bit Microprocessor Core , su Cast . URL consultato l'11 novembre 2010 (archiviato dall' url originale il 10 marzo 2010) .
  65. ^ a b T80 cpu :: Overview , su opencores.org . URL consultato l'8 novembre 2010 .
  66. ^ TV80 :: Overview , su opencores.org . URL consultato l'8 novembre 2010 .
  67. ^ TV 80 Home Page , su ghutchis.googlepages.com . URL consultato l'11 novembre 2010 .
  68. ^ FAQ :: OpenCores , su opencores.org . URL consultato l'8 novembre 2010 .
  69. ^ Chapman , p. 223 .
    ( EN )

    «[...] and CP/M continued to dominate the 8-bit world of microcomputers.»

    ( IT )

    «(...) ed il CP/M continuò a dominare il mondo dei microcomputer ad 8 bit.»

  70. ^ InfoWorld 10/5/1982 , p. 20 .
    ( EN )

    «The idea of a generic operating system is still in its infancy. In many ways it begins with CP/M and the mishmash of early 8080 and Z80 computers.»

    ( IT )

    «L'idea di un sistema operativo generico è ancora nelle sue prime fasi. Essa si evolve per la maggior parte dal CP/M e dal miscuglio dei primi computer 8080 e Z80.»

  71. ^ Commodore 128 assembly programming - Z80 CPU , su commodore64.se . URL consultato l'11 novembre 2010 .
    ( EN )

    «In addition to the 8502 CPU, the C128 also contains a Z80 CPU. The Z80 is used in CP/M mode (...)»

    ( IT )

    «In aggiunta alla CPU 8502, il C128 contiene anche una CPU Z80. Lo Z80 è usato in modalità CP/M (...)»

  72. ^ Commodore Business Machines , p. 486 .
    ( EN )

    «The Commodore 128 computer is a two-processor system, with the 8502 as the primary processor and the Z80 as secondary processor. (...) The Z80's primary function is to run CP/M 3.0.»

    ( IT )

    «Il computer Commodore 128 è un sistema biprocessore, con l'8502 come processore principale e lo Z80 come processore secondario. (...) La funzione primaria dello Z80 è quella di far girare il CP/M 3.0.»

  73. ^ InfoWorld (06/02/1984) , p. 64 .
    ( EN )

    «Several manufacturers, however, make Z80 coprocessor boards that plug into the Apple II.»

    ( IT )

    «Svariati costruttori, comunque, realizzano delle schede con lo Z80 come coprocessore che possono essere inserite all'interno dell'Apple II.»

  74. ^ Popular Computing , McGraw-Hill, 1986, p. 22. .
    ( EN )

    «The Commodore 64 CP/M package contains a plug-in cartridge with a Z80 microprocessor and the CP/M operating system on a disk.»

    ( IT )

    «Il pacchetto CP/M per il Commodore 64 contiene una scheda aggiuntiva con un microprocessore Z80 ed un dischetto con il sistema operativo CP/M»

  75. ^ Flite's MPF-1B (Microprofessor Training System) , su flite.co.uk , Flite Electronics International Limited. URL consultato il 1º ottobre 2010 (archiviato dall' url originale il 9 maggio 2008) .
  76. ^ Roger Samdal, Storia di SpectraVision , su samdal.com . URL consultato il 13 gennaio 2013 .

    «L'SV-318/328 era frutto della collaborazione dell'americana Spectravideo (management e marketing), della Bondwell di Hong Kong (assemblaggio) e della giapponese ASCII Corporation (software di sistema). ASCII era all'epoca anche la rappresentativa di Microsoft in Giappone. Il presidente di ASCII Kazuhiko Nishi (noto anche come Kay Nishi) vide le potenzialità dei computer di Spectravideo. Volle realizzare uno standard mondiale per degli home computer derivandolo dal progetto dell'SV-328, chiamato lo standard MSX. Spectravideo accettò e ASCII apportò delle piccole modifiche al progetto.»

    ( Roger Samdal )
  77. ^ Sinclair , p. 204 .
  78. ^ .Meystel , p. 44 .
  79. ^ .Artwick , p. 25 .
  80. ^ Nate Anderson, Source code requests force breathalyzer maker to sober up , su Ars Technica , 15 settembre 2008. URL consultato l'11 novembre 2010 .
    ( EN )

    «The Intoxilyzer 5000EN, a breathalyzer [...], runs on a pair of Z80 processors.»

    ( IT )

    «L'Intoxilyzer 5000EN, un etilometro (...), funziona con un paio di processori Z80.»

  81. ^ TI-73 , su ticalc.org . URL consultato l'8 novembre 2010 .
  82. ^ TI-81 , su ticalc.org . URL consultato l'8 novembre 2010 .
  83. ^ TI-82 , su ticalc.org . URL consultato l'8 novembre 2010 .
  84. ^ TI-83 , su ticalc.org . URL consultato l'8 novembre 2010 .
  85. ^ TI 84 Plus , su ticalc.org . URL consultato l'8 novembre 2010 .
  86. ^ TI-85 , su ticalc.org . URL consultato l'8 novembre 2010 .
  87. ^ TI-86 , su ticalc.org . URL consultato l'8 novembre 2010 .
  88. ^ Robert Campbell,TI-82/83/85/86 Mathematics Use , su math.umbc.edu , UMBC, 2001. URL consultato l'11 novembre 2010 .
  89. ^ Miesenberg , p. 556 .
  90. ^ Midway , p. 35 .
  91. ^ Nitsche , p. 26 .
    ( EN )

    «[...] they would not realize the fundamental logical difference between a version of Pac-Man (Iwatani 1980) running on the original Z80 [...]»

    ( IT )

    «(...) essi non capirono la fondamentale differenza nella logica fra la versione del Pac-Man (Iwatani 1980) che girava sull'originale Z80 (...)»

  92. ^ Midway , p. 25 .
  93. ^ Midway , p. 76 .
  94. ^ F1 Super Battle (arcade) - Sound CPU: Z80 , su arcadehits.net , ArcadeHits. URL consultato il 1º ottobre 2010 .
  95. ^ InfoWorld (20/12/1982) , p. 33 .
    ( EN )

    «The ColecoVision uses the Z80 microprocessor.»

    ( IT )

    «Il ColecoVision utilizza il microprocessore Z80.»

  96. ^ Sánchez-Crespo Dalmau , p. 14 .
    ( EN )

    «Internally, both the NES and Master System were equipped with 8-bit processors (a 6502 and a Zilog Z80, respectively).»

    ( IT )

    «Internamente sia il NES che il Master System erano equipaggiati con processori ad 8 bit (rispettivamente un 6502 ed uno Zilog Z80).»

  97. ^ Frand, Yarusso , p. 182 .
    ( EN )

    «This first Game Boy operated on four AA batteries and was equipped with a Zilog Z80 microprocessor - the same processor used on many electronic devices in the 1980s. In fact, all the Game Boy models up to and including the Game Boy Color featured a Z80 CPU.»

    ( IT )

    «Il primo Game Boy era alimentato con 4 batterie AA ed era equipaggiato con un microprocessore Zilog Z80 - lo stesso processore utilizzato su molti dispositivi degli anni ottanta. Infatti, tutti i modelli del Game Boy fino al Game Boy Color incluso utilizzavano una CPU Z80.»

  98. ^ Rob Keeble, The history of Emu Systems , su media.mit.edu . URL consultato il 18 ottobre 2010 (archiviato dall' url originale il 24 giugno 2010) .
    ( EN )

    «(...) the Z80 became the basis for Emu products for the next 10 years.»

    ( IT )

    «Lo Z80 divenne la base dei prodotti Emu per i successivi 10 anni.»

  99. ^ AM MSQ700 Nexus - MIDI Sequencer , su emulatorarchive.com , The Emulator Archive. URL consultato il 12 novembre 2010 .
    ( EN )

    «The MSQ700 is a very reliable and robust design which will survive for decades. It based around a Z80 micro-processor.»

    ( IT )

    «L'MSQ700 è un prodotto robusto e molto affidabile che può durare per decenni. Era basato su un microprocessore Z80.»

  100. ^ Waldorf Midi-Bay MB-15 , su till-kopper.de . URL consultato il 18 ottobre 2010 .
  101. ^ Gordon Reid, The Prophet 5 and Prophet 10 , su gordonreid.co.uk , 1999. URL consultato l'11 novembre 2010 (archiviato dall' url originale l'8 agosto 2002) .
    ( EN )

    «Although the Prophet 5s and Prophet 10s incorporated Z80 microprocessors, [...]»

    ( IT )

    «Anche se i Prophet 5 ed i prophet 10 incorporavano dei microprocessori Z80, (...)»

  102. ^ a b c Elenco dei sintetizzatori del passato , su vintagesynth.com , Vintage Synth. URL consultato il 18 ottobre 2010 .
  103. ^ About MemoryMoog , su Moog MemoryMoog User Group . URL consultato l'11 novembre 2010 .
    ( EN )

    «CPU is Z80 + Z80CTC.»

    ( IT )

    «La CPU è uno Z80 più uno Z80CTC.»

  104. ^ The Roland Jupiter 8 Analog Synthesizer , su synthtopia.com , Synthtopia, 6 marzo 2009. URL consultato il 18 ottobre 2010 .
    ( EN )

    «A Z80 CPU was used for managing storage of patches, scanning the keyboard, display, and buttons, port handling, and taking care of the auto-tune function among other things.»

    ( IT )

    «Una CPU Z80 era usata, tra le altre cose, per gestire la memorizzazione delle patch, per la scansione della tastiera, per il display, i pulsanti, la gestione delle porte e la funzione di auto-tune.»

  105. ^ Akai S700 , su reviews.harmony-central.com , Harmony Central. URL consultato il 18 ottobre 2010 (archiviato dall' url originale il 31 marzo 2008) .
  106. ^ Schemi dell'ADA MP-1 ( ZIP ), su users.skynet.be . URL consultato l'8 novembre 2010 .

Bibliografia

Schede di riferimento per la programmazione per CPU Z80 di tre diversi produttori.

Testi

  • Microprocessori , Gruppo Editoriale Jackson, 1988, pp. 85-120, ISBN 88-256-0068-2 .
  • Rodnay Zaks, Programmazione dello Z80 , Gruppo Editoriale Jackson, 1981.
  • Lance A. Leventhal, Z80 - Programmazione in linguaggio Assembly , Gruppo Editoriale Jackson, 1981.
  • Adam Osborne, Jerry Kane, Russell Rector, Susanna Jacobson, Programmazione dello Z80 e progettazione logica , Gruppo Editoriale Jackson, 1981.
  • Elizabeth A. Nichols, Joseph C. Nichols, Peter R. Rony, Il Nanobook Z-80 , Jackson Italiana Editrice, 1979.
  • Patrizio Sesto Rubino, Giuseppe Pranzo Zaccaria, Il nuovo manuale Z80 , Editrice Il Rostro, 1982. ISBN non esistente
  • ( EN ) Zilog Components Data Book , Zilog, 1985. ISBN non esistente
  • ( EN ) Zilog Z-80 Data Book ( PDF ), Zilog, 1978. URL consultato il 20 luglio 2009 (archiviato dall' url originale il 18 ottobre 2010) . ISBN non esistente
  • ( EN ) Alexander John Anderson, Foundations of Computer Technology , 1ª ed., CRC Press,, 8 settembre 1994, ISBN 0-412-59810-8 .
  • ( EN ) Bruce A. Artwick, Microcomputer interfacing , Prentice-Hall, 1980, ISBN 978-0-13-580902-0 .
  • ( EN ) Jan Axelson, Embedded ethernet and internet complete , Lakeview research, 2003, ISBN 978-1-931448-00-0 .
  • ( EN ) Mark Balch, Digital Fundamentals , in Complete Digital Design: A Comprehensive Guide to Digital Electronics and Computer System Architecture , McGraw-Hill Professional, 2003, ISBN 0-07-140927-0 .
  • ( EN ) Gerald W. Brock, The second information revolution , Harvard University Press, 2003, ISBN 978-0-674-01178-6 .
  • ( EN ) Wai-Kai Chen, 61.4 - Microprocessor Based Degins: Interfacing , in The circuits and filters handbook , 2ª ed., CRC Press, 2002, ISBN 978-0-8493-0912-0 .
  • ( EN ) Steve Ciarcia, Build your own Z80 computer: design guidelines and application notes , BYTE, ottobre 1981, ISBN 0-07-010962-1 .
  • ( EN ) Commodore Business Machines, Commodore 128: Programmer's Reference Guide , Bantam Books, 1986, ISBN 978-0-553-34292-5 .
  • ( EN ) Daniel Sánchez-Crespo Dalmau, Core techniques and algorithms in game programming , New Riders, 2004, ISBN 978-0-13-102009-2 .
  • ( EN ) Robert A. Froehlich,Free software catalog and direct , Crown Publishers, 1984, ISBN 978-0-517-55448-7 .
  • ( EN ) Joe Grand et al. , Game console hacking: Xbox, PlayStation, Nintendo, Game Boy, Atari, & Sega , Syngress, 2004, ISBN 978-1-931836-31-9 .
  • ( EN ) Steve Heath, Embedded systems design , 2ª ed., Newnes, dicembre 2002, ISBN 978-0-7506-5546-0 .
  • ( EN ) Herman Holtz, Computer work stations - A Manager's Guide to Office Automation and Multi-User Systems , Chapman and Hall, 1985, ISBN 978-0-412-00491-9 .
  • ( EN ) Kamal Hyder, Bob Perrin, Embedded systems design using the Rabbit 30000 microprocessor , Newnes, 2004, ISBN 978-0-7506-7872-8 .
  • ( EN ) Dennis Longley, Michael Shain, Expanding and networking microcomputers: the complete and up to date guide to over 600 boards for Apple and IBM PCs , MacMillan Press, 1985, ISBN 978-0-333-38006-2 .
  • ( EN ) Aditya P. Mathur, Introduction to Microprocessors , 3ª ed., McGraw Hill, 1990, ISBN 978-0-07-460222-5 .
  • ( EN ) Alex Meystel, Autonomous mobile robots: vehicles with cognitive control , World Scientific, 1991, ISBN 978-9971-5-0089-4 .
  • ( EN ) Klaus Miesenberger, Computers Helping People with Special Needs , Springer-Verlag, 2008, ISBN 978-3-540-70539-0 .
  • ( EN ) Ross P. Nelson, The 80386 book: assembly language programmer's guide for the 80386 , Microsoft Press, 1989, ISBN 978-1-55615-138-5 .
  • ( EN ) Michael Nitsche, Games and Rules , in Video Game Spaces: Image, Play, and Structure in 3D Worlds , MIT Press, 2009, ISBN 0-262-14101-9 .
  • ( EN ) Julio Sanchez, Maria P. Canton, Software solutions for engineers and scientists , CRC Press, 2008, ISBN 978-1-4200-4302-0 .
  • ( EN ) Leo J. Scanlon, 8086/8088/80286 assembly language , Brady Books, 1978, ISBN 978-0-13-246919-7 .
  • ( EN ) Ian R. Sinclair, Practical electronics handbook , 5ª ed., Newnes, 2000, ISBN 978-0-7506-4585-0 .
  • ( EN ) Electronic Business Asia , Cahners Asia Limited, 1997. ISBN non esistente

Pubblicazioni

Articoli sull'architettura dello Z80

Impieghi didattici

Applicazioni scientifiche

Voci correlate

Altri progetti

Collegamenti esterni

Controllo di autorità LCCN ( EN ) sh85149799 · GND ( DE ) 4067242-6 · BNF ( FR ) cb11951233n (data)
Wikimedaglia
Questa è una voce in vetrina , identificata come una delle migliori voci prodotte dalla comunità .
È stata riconosciuta come tale il giorno 15 novembre 2010 — vai alla segnalazione .
Naturalmente sono ben accetti suggerimenti e modifiche che migliorino ulteriormente il lavoro svolto.

Segnalazioni · Criteri di ammissione · Voci in vetrina in altre lingue · Voci in vetrina in altre lingue senza equivalente su it.wiki