Zilog Z80: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
m pacchettizzazione (ma che lingua e' ?) => custodia come si e' sempre detto dagli anni 70
Aggiungi 1 libro per la Wikipedia:Verificabilità (20250910)) #IABot (v2.0.9.5) (GreenC bot
 
(91 versioni intermedie di 41 utenti non mostrate)
Riga 3:
|image=Zilog Z80.jpg
|image_size=
|caption=Uno dei primi microprocessori '''Z80''' fabbricati<br />(la data impressa indica "giugno 1976").
|produced-start=[[1976]]
|produced-end=
Riga 22:
|microarch=[[8 bit]]
|numcores=
|designfirm=Federico Faggin, Masatoshi Shima
}}
[[File:Z84C0010FEC LQFP.png|thumb|Uno '''Z80''' in versione [[CMOS]] in <nowiki/>custodia formato [[QFP]]]]
 
Lo '''Zilog Z80''' è un [[microprocessore]] ad [[8 bit]] progettatocon daun [[Zilog]]design einterno commercializzatodella a[[Unità partirearitmetica dale luglio del [[1976logica|ALU]]. Loa Zilog4 Z80bit èma statocapace largamentedi utilizzatooperazioni ina numerosi8 sistemi,e dagli16 [[homebit<ref computer]]name=conf-z80>{{cita agliconferenza|autore=Federico [[videogiocoFaggin|autore2=Masatoshi arcadeShima|arcade]],autore3=Ralph daiUngermann|wkautore=Federico [[sistemaFaggin|wkautore2=Masatoshi embeddedShima|sistemiwkautore3=Ralph embedded]]Ungermann|autore4=Michael aSlater quelli militari(mod.<ref name="usomilitare">{{cita web)|url=http://wwwarchive.cpu-collectioncomputerhistory.deorg/resources/text/?l0=company&l1=Eastern%20Bloc&l2=Z80Oral_History/Zilog_Z80/102658073.05.01.pdf|titoloformato=Eastern Bloc Z80pdf|editorelingua=CPU-Collection.deen|accessotitolo=21 agosto 2010}}{{Citazione|La serie 880 dei processori prodotti nella Germania dell'Est sono cloni dei processori Zilog Z80.Oral L'U880History ePanel l'UB880on sonothe cloniFounding delloof Z80,the l'UA880Company èand unthe equivalenteDevelopment delloof Z80 A ed il VB880 è una versione dellothe Z80 con un intervallo operativo di temperature allargato (da -25&nbsp;°C a +85&nbsp;°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).Microprocessor||Theconferenza=Oral 880 seriesHistory of East German processors are clones ofthe Zilog Z80 processors.Microprocessor, TheMountain U880View, and UB880 are Z80 clonesCalifornia, the27 UA880aprile is2007|editore=Computer aHistory Z80Museum|città=Mountain AView, equivalent and the VB880 is a Z80 version with enhanced temperature rangeCA (-25°United to +85 °CStates)|anno=2007|accesso=29 foragosto industrial and military purposes2018|urlarchivio=https://web.archive.org/web/20120214175506/http://archive.computerhistory.org/resources/text/Oral_History/Zilog_Z80/102658073.05.01.pdf|urlmorto=sì}}</ref> Theyprogettato weredalla produced[[Zilog]] bydi Funkwerk[[Federico ErfurtFaggin]] (FWE),e latercommercializzato renameda topartire VEBdal Mikroelektronikluglio "Karldel Marx" in Erfurt (MME) in the 1980s1976.|lingua=en}}</ref> Lo Z80, con i suoi derivati e i suoi cloni, è una delle famiglie di [[CPU]] più impiegate di tutti i tempi.<ref name="diffusione">{{cita web|url=http://www.cpu-collection.de/?tn=0&l0=cl&l1=Z80|titolo=Z80 class ICs|editore=CPU-Collection.de|accesso=21 agosto 2010}}{{Citazione|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.||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.|lingua=en}}</ref> e con la famiglia di CPU basate sul [[MOS 6502]] ha dominato il mercato dei [[microcomputer]] e delle [[console (videogiochi)|console giochi]] ad 8 bit di fine [[anni 1970|anni settanta]] e quello degli [[home computer]] dei primi [[anni 1980|anni ottanta]].<ref name="longley">{{cita|Longley, Shain|p. 147|longley}}.{{Citazione|Fino a poco tempo fa le macchine ad 8 bit furono dominate da 2 microprocessori: lo Z80 ed il 6502.||Until recently 8 bit machines were dominated by two microprocessors — the Z80 and the 6502|lingua=en}}</ref>
 
È stato largamente utilizzato in numerosi sistemi, negli [[home computer]], nei [[videogiochi arcade]], nelle [[console (videogiochi)|console]], nei [[sistema embedded|sistemi embedded]] ed anche in quelli militari;<ref name="usomilitare">{{cita web|url=http://www.cpu-collection.de/?l0=company&l1=Eastern%20Bloc&l2=Z80|titolo=Eastern Bloc Z80|editore=CPU-Collection.de|accesso=21 agosto 2010}}{{Citazione|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&nbsp;°C a +85&nbsp;°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).||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.|lingua=en}}</ref> insieme alla famiglia di CPU basate sul [[MOS 6502]] ha dominato il mercato dei [[microcomputer]] e delle [[console (videogiochi)|console giochi]] ad 8 bit di fine [[anni 1970|anni settanta]] e quello degli [[home computer]] dei primi [[anni 1980|anni ottanta]].<ref name="longley">{{cita|Longley, Shain|p. 147|longley}}.{{Citazione|Fino a poco tempo fa le macchine ad 8 bit furono dominate da 2 microprocessori: lo Z80 ed il 6502.||Until recently 8 bit machines were dominated by two microprocessors — the Z80 and the 6502|lingua=en}}</ref>
Zilog provò anche a commercializzare delle versioni per [[minicomputer]] dell'architettura Z80, lo [[Zilog Z800|Z800]] e lo [[Zilog Z280|Z280]], che però non riscossero il successo del loro predecessore: il primo fu abbandonato ancor prima della sua commercializzazione,<ref name="eetimes">{{cita web|url=http://www.eetimes.com/discussion/break-point/4027576/ZiLOG-Redux-Redux-Redux|titolo=Zilog, Redux, Redux, Redux|data=14 dicembre 2009|accesso=30 settembre 2010|editore=EE Times|nome=Jack|cognome=Ganssle}}{{Citazione|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||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.|lingua=en}}</ref> mentre la complessità ed i bug del secondo ne limitarono la diffusione a vantaggio di altri prodotti, fra cui l'[[Hitachi (azienda)|Hitachi]] [[HD64180]] e lo [[Zilog Z180]].<ref name="eetimes3">{{cita web|url=http://www.eetimes.com/discussion/break-point/4027576/ZiLOG-Redux-Redux-Redux|titolo=Zilog, Redux, Redux, Redux|data=14 dicembre 2009|accesso=30 settembre 2010|editore=EE Times|nome=Jack|cognome=Ganssle}}{{Citazione|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.||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.|lingua=en}}</ref>
 
Zilog provò anche a commercializzare delle versioni per [[minicomputer]] dell'architettura Z80, lo [[Zilog Z800|Z800]] e lo [[Zilog Z280|Z280]], che però non riscossero il successo del loro predecessore: il primo fu abbandonato ancor prima della sua commercializzazione,<ref name="eetimes">{{cita web|url=http://www.eetimes.com/discussion/break-point/4027576/ZiLOG-Redux-Redux-Redux|titolo=Zilog, Redux, Redux, Redux|data=14 dicembre 2009|accesso=30 settembre 2010|editore=EE Times|nome=Jack|cognome=Ganssle|urlarchivio=https://web.archive.org/web/20100831201343/http://www.eetimes.com/discussion/break-point/4027576/ZiLOG-Redux-Redux-Redux|urlmorto=sì}}{{Citazione|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||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.|lingua=en}}</ref> mentre la complessità ed i bug del secondo ne limitarono la diffusione a vantaggio di altri prodotti, fra cui l'[[Hitachi (azienda)|Hitachi]] [[HD64180]] e lo [[Zilog Z180]].<ref name="eetimes3">{{cita web|url=http://www.eetimes.com/discussion/break-point/4027576/ZiLOG-Redux-Redux-Redux|titolo=Zilog, Redux, Redux, Redux|data=14 dicembre 2009|accesso=30 settembre 2010|editore=EE Times|nome=Jack|cognome=Ganssle|urlarchivio=https://web.archive.org/web/20100831201343/http://www.eetimes.com/discussion/break-point/4027576/ZiLOG-Redux-Redux-Redux|urlmorto=sì}}{{Citazione|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.||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.|lingua=en}}</ref>
Zilog concesse in licenza senza [[royalty]] la proprietà intellettuale del progetto del [[Core (informatica)|core]] dello Z80 a qualunque società lo avesse voluto produrre in proprio: questa politica commerciale alla lunga ripagò Zilog con un ritorno di immagine, diffusione e vendite perché permise ad un prodotto di una piccola società, quale essa era, di affermarsi sul mercato mondiale grazie al fatto che grossi produttori come [[Toshiba]] iniziarono a produrre in quantità industriali il processore.<ref name="newscientist"/> Come conseguenza di questa scelta commerciale, Zilog ha prodotto meno del 50% di tutti gli Z80 costruiti in questi anni.<ref name="newscientist">{{cita|New Scientist (5/5/1983)|p. 276|newscientist}}.{{Citazione|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||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|lingua=en}}</ref> Nonostante ciò diversi produttori dell'[[Europa dell'Est]],<ref name="usomilitare"/> del [[Giappone]]<ref name="newscientist"/> e dell'ex [[Unione Sovietica]]<ref name="urssz80clone">{{cita web|url=http://www.chipdb.org/img-kr1858vm1-__%231050;_%231056;1858_%231042;_%231052;1_-6234.htm|titolo=КР1858ВМ1, clone russo dello Z80|accesso=29 settembre 2010|editore=chipdb.org}}</ref> fabbricarono delle copie della CPU senza licenza.
 
Con un comunicato ufficiale datato 15 Aprile 2024, la Zilog dichiara la cessazione della produzione dell'intera linea di CPU, MPU, I/O della famiglia Z80, con data di produzione dell'ultimo lotto stimata per il 15 Giugno 2024.<ref>{{Cita web|url=https://arstechnica.com/gadgets/2024/04/after-48-years-zilog-is-killing-the-classic-standalone-z80-microprocessor-chip/|titolo=After 48 years, Zilog is killing the classic standalone Z80 microprocessor chip|autore=Benj Edwards|sito=Ars Technica|data=22 aprile 2024|lingua=en|accesso=24 aprile 2024}}</ref><ref>{{cita web |url=https://www.wired.it/article/zilog-z80-fine-produzione/ |titolo=Zilog Z80, l'epico microprocessore fuori produzione dopo 48 anni |data=26 aprile 2024 |accesso=26 aprile 2024}}</ref>
 
== Storia ==
[[File:Z80-Z0840004PSC-HD.jpg|thumb|upright=1.5|Foto dello Zilog Z80 originale in tecnologia NMOS delle dimensioni di 3545×3350&nbsp;µm.]]
 
== Breve storia e analisi tecnica ==
[[Federico Faggin]], dopo aver lavorato sull'[[Intel 8080|8080]], lasciò [[Intel]] alla fine del [[1974]] per divergenze con la dirigenza: questa, infatti, era ancora troppo focalizzata sulla produzione di chip di memoria e considerava i microprocessori solo come prodotti accessori, utili per vendere più RAM.<ref name="faggin-1">{{cita|Faggin||faggin}}{{Citazione|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.||Intel in those days was a memory company. Microprocessors were important only insofar as they helped sell memory chips.|lingua=en}}</ref> Faggin, invece, intravedeva in essi una potenzialità d'impiego molto più vasta, grazie alla loro possibilità di essere programmati per impieghi generali. Faggin decise quindi di lasciare Intel per fondare insieme al suo collega [[Ralph Ungermann]] la Zilog, una società dedita esclusivamente alla produzione di CPU.<ref name="faggin-2">{{cita|Faggin||faggin}}{{Citazione|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.|| 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.|lingua=en}}</ref> Il primo prodotto della società fu proprio lo Z80, nato da un progetto che Faggin elaborò verso la fine del 1974,<ref name="faggin-3">{{cita|Faggin||faggin}}{{Citazione|Ideai la famiglia di microprocessori Z80 nel dicembre del 1974||I conceived the Z80 microprocessor family in December 1974.|lingua=en}}</ref> presentato nel luglio del 1976.<ref name="anderson">{{Cita|Anderson|p. 51}}.</ref>
 
Lo Z80 si diffuse nel mercato dei processori molto più dell'Intel 8080 e del suo successore, l'[[Intel 8085|8085]]<ref>{{cita web|url=http://www.andreadrian.de/oldcpu/Z80_number_cruncher.html|titolo=Z80, the 8-bit Number Cruncher|cognome=Adrian|nome=Andre|accesso=11 novembre 2010}}</ref> e divenne una delle CPU ad 8 bit più popolari.<ref name= popularity/><ref>{{cita web|url=http://redhill.net.au/c/c-1.html|titolo=The red hill CPU guide - in the beginning|editore=Red Hill Tech|accesso=9 novembre 2010}}{{Citazione|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.||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.|lingua=en}}</ref> Uno dei fattori chiave del successo iniziale dello Z80 furono i sistemi integrati nel chip stesso, come quello per il refresh della memoria DRAM: tale integrazione permetteva di realizzare sistemi completi con l'aggiunta di pochi altri componenti esterni di supporto (più in là comparvero sistemi embedded basati sullo Z80, che in genere utilizzano [[SDRAM|memorie statiche]], che non necessitano di questo ''refresh'') ed aprendo la via verso i moderni "System On Chip".
Il [[set di istruzioni]] dello Z80 fu scritto per essere compatibile con l'Intel 8080,<ref name="anderson"/><ref name="brock">{{cita|Brock|p. 166}}.{{Citazione|Agli inizi del 1976, Zilog presentò lo Z80, un miglioramento sostanziale dell'Intel 8080 che manteneva la piena compatibilità con il precedente chip.||In early 1976, Zilog released the Z80, a substantial improvement over the Intel 8080 that retained full compatibility with the earlier chip.|lingua=en}}</ref> per cui gran parte del codice per l'8080 (principalmente quello del [[sistema operativo]] [[CP/M]]) poteva girare senza modifiche sullo Z80. [[Masatoshi Shima]] (co-progettista dell'[[Intel 4004]] e dell'Intel 8080) contribuì allo sviluppo dello Z80.<ref>{{cita|InfoWorld|pp. 58-60|infoworld-29111982}}.{{Citazione|(...) Masatoshi Shima, che aveva anche sviluppato il 4004 mentre lavorava per la Busicom. Egli progettò in seguito lo Z80 per Zilog (...)||(...) Masatoshi Shima, who had also worked on the 4004 while at Busicom. He later designed the Z80 for Zilog (...)|lingua=en}}</ref>
 
La Zilog concesse in licenza senza [[royalty]] la proprietà intellettuale del progetto del [[Core (informatica)|core]] dello Z80 a qualunque società lo avesse voluto produrre in proprio: questa politica commerciale alla lunga ripagò Zilog con un ritorno di immagine, diffusione e vendite perché permise ad un prodotto di una piccola società, quale essa era, di affermarsi sul mercato mondiale grazie al fatto che grossi produttori come [[Toshiba]] iniziarono a produrre in quantità industriali il processore.<ref name="newscientist" /> Come conseguenza di questa scelta commerciale, Zilog ha prodotto meno del 50% di tutti gli Z80 costruiti in questi anni.<ref name="newscientist">{{cita|New Scientist (5/5/1983)|p. 276|newscientist}}.{{Citazione|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||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|lingua=en}}</ref> Nonostante ciò diversi produttori dell'[[Europa dell'Est]],<ref name="usomilitare" /> del [[Giappone]]<ref name="newscientist" /> e dell'ex [[Unione Sovietica]]<ref name="urssz80clone">{{cita web|url=http://www.chipdb.org/img-kr1858vm1-__%231050;_%231056;1858_%231042;_%231052;1_-6234.htm|titolo=КР1858ВМ1, clone russo dello Z80|accesso=29 settembre 2010|editore=chipdb.org|urlmorto=sì}}</ref> fabbricarono delle copie della CPU senza licenza.
 
== Descrizione tecnica ==
[[File:Z80 pinout.svg|thumb|upright=1.3|La piedinatura originale dello Z80 con custodia [[dual in-line package|DIP40]]]]
 
Il [[set di istruzioni]] dello Z80 fu scritto per essere compatibile con l'Intel 8080,<ref name="anderson"/><ref name="brock">{{cita|Brock|p. 166}}.{{Citazione|Agli inizi del 1976, Zilog presentò lo Z80, un miglioramento sostanziale dell'Intel 8080 che manteneva la piena compatibilità con il precedente chip.||In early 1976, Zilog released the Z80, a substantial improvement over the Intel 8080 that retained full compatibility with the earlier chip.|lingua=en}}</ref> per cui gran parte del codice per l'8080 (principalmente quello del [[sistema operativo]] [[CP/M]]) poteva girare senza modifiche sullo Z80. [[Masatoshi Shima]] (co-progettista dell'[[Intel 4004]] e dell'Intel 8080) contribuì allo sviluppo dello Z80.<ref>{{cita|InfoWorld|pp. 58-60|infoworld-29111982}}.{{Citazione|(...) Masatoshi Shima, che aveva anche sviluppato il 4004 mentre lavorava per la Busicom. Egli progettò in seguito lo Z80 per Zilog (...)||(...) Masatoshi Shima, who had also worked on the 4004 while at Busicom. He later designed the Z80 for Zilog (...)|lingua=en}}</ref>
 
Lo Z80 offriva le seguenti migliorie rispetto all'8080:<ref name="brock"/>
* un [[Instruction set|insieme di istruzioni]] più completo,<ref name="mathur">{{cita|Mathur|p. 111|mathur}}.
{{Citazione|L'architettura dei registri dello Z80 è più innovativa rispetto a quella dell'8085.||The register architecture of the Z80 is more innovative than that of the 8085.|lingua=en}}</ref> incluse quelle per la manipolazione dei bit, lo spostamento dei blocchi di dati, l'[[Input/output|I/O]] e le istruzioni per la ricerca dei [[byte]];<ref>{{Cita|Ciarcia|pp. 31-32}}.</ref>
* nuovi [[registro indice|registri indice]] IX e IY, con le relative istruzioni;
* un [[Interrupt vector|sistema di interrupt vettorizzati]] maggiormente automatizzato e generalizzato, operante in 3 modalità: il ''modo 2'' gestiva una modalità vettorizzata indiretta, il ''modo 1'' prevedeva una modalità diretta, valida per sistemi semplici con hardware minimale, mentre il ''modo 0'' indicava la modalità compatibile 8080.<ref name="interruptmodes">{{cita|Chen|p. 1943}}.
{{Citazione|(...) 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"<nowiki>=</nowiki>1, modalità diretta, allora il PC (...) viene caricato con 0038H. Se "i"<nowiki>=</nowiki>0, metodo vettorizzato, il dispositivo che chiede l'interruzione ha l'opportunità di piazzare l'op-code per 1 byte (...). Se "i"<nowiki>=</nowiki>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 (...)||(...) interrupt processing commences according to the interrupt method stipulated by the IM "i", "i"<nowiki>=</nowiki>0, 1, or 2, instruction. If "i"<nowiki>=</nowiki>1, for direct method, the PC (...) is loaded with 0038H. If "i"<nowiki>=</nowiki>0, for vectored method, (...) the interrupting device has the opportunity to place the op-code for one byte (...). If "i"<nowiki>=</nowiki>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 (...).|lingua=en}}</ref>
* due banchi di registri separati, che possono essere velocemente invertiti, per velocizzare la risposta agli [[interrupt]];
* necessità di meno hardware per l'alimentazione, la generazione del [[clock]], l'interfaccia di memoria e l'I/O:
Riga 50 ⟶ 62:
* un prezzo più basso.
 
Il progetto originale in [[logica NMOS]] vide il limite massimo della frequenza del clock crescere progressivamente dai 2,5&nbsp;[[megahertz|MHz]] iniziali fino ai 4&nbsp;MHz dello Z80A, ai 6&nbsp;MHz dello Z80B ed agli 8&nbsp;MHz dello Z80H.<ref>{{cita libro|titolo=Popular Computing|url=https://archive.org/details/sim_popular-computing_1983-01_2_3|editore=McGraw-Hill|anno=1983|p=[https://archive.org/details/sim_popular-computing_1983-01_2_3/page/n71 15]}}</ref><ref>{{cita pubblicazione|rivista=InfoWorld|autore=John Markoff|titolo=Zilog's speedy Z80 soups up 8-bit to 16-bit performance|editore=InfoWorld Media Group|data=18 ottobre 1982|p=1}}</ref> Ne fu realizzata anche una versione [[CMOS]] con un intervallo di frequenze che andava dai 4&nbsp;MHz fino ai 20&nbsp;MHz delle versioni vendute più recentemente.<ref name="cpuworld"/><ref name="z80pdf">{{cita|Zilog||z80pdf}}</ref> La versione CMOS permetteva inoltre una [[modalità d'attesa]] a basso consumo energetico denominata "Power-Down", o "modalità standby", in cui veniva mantenuto lo stato interno (registri e segnali di controllo) del processore fino al ricevimento del segnale di uscita da tale stato (un segnale di clock).<ref name="z80pdf"/> I chip derivati compatibili con lo Z80, l'[[HD64180]]/[[Zilog Z180|Z180]]<ref>{{cita|Zilog|pp. 6-2|z180faq}}.{{Citazione|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.||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.|lingua=en}}</ref><ref>{{cita web|url=http://www.z80.info/z80lives.htm|titolo=The Z80 Lives!|cognome=Ganssle|nome=Jack G.|anno=1992|accesso=11 novembre 2010}}{{Citazione|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.||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.|lingua=en}}</ref> e l'[[Zilog eZ80|eZ80]] sono dichiarati capaci rispettivamente di 33&nbsp;MHz e 50&nbsp;MHz.
Lo Z80 si diffuse nel mercato dei processori molto più dell'8080 e del suo successore, l'[[Intel 8085]]<ref>{{cita web|url=http://www.andreadrian.de/oldcpu/Z80_number_cruncher.html|titolo=Z80, the 8-bit Number Cruncher|cognome=Adrian|nome=Andre|accesso=11 novembre 2010}}</ref> e divenne una delle CPU ad 8 bit più popolari.<ref name= popularity/><ref>{{cita web|url=http://redhill.net.au/c/c-1.html|titolo=The red hill CPU guide - in the beginning|editore=Red Hill Tech|accesso=9 novembre 2010}}{{Citazione|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.||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.|lingua=en}}</ref> Uno dei fattori chiave del successo iniziale dello Z80 furono i sistemi integrati nel chip stesso, come quello per il ''refresh'' della memoria DRAM, che permettevano di utilizzarlo in abbinamento ad altri pochi chip di supporto (più in là comparvero sistemi embedded basati sullo Z80, che in genere utilizzano [[SDRAM|memorie statiche]], che non necessitano di questo ''refresh'').
 
Il progetto originale in [[logica NMOS]] vide il limite massimo della frequenza del clock crescere progressivamente dai 2,5&nbsp;[[megahertz|MHz]] iniziali fino ai 4&nbsp;MHz dello Z80A, ai 6&nbsp;MHz dello Z80B ed agli 8&nbsp;MHz dello Z80H.<ref>{{cita libro|titolo=Popular Computing|editore=McGraw-Hill|anno=1983|p=15}}.</ref><ref>{{cita pubblicazione|rivista=InfoWorld|autore=John Markoff|titolo=Zilog's speedy Z80 soups up 8-bit to 16-bit performance|editore=InfoWorld Media Group|data=18 ottobre 1982|p=1}}</ref> Ne fu realizzata anche una versione [[CMOS]] con un intervallo di frequenze che andava dai 4&nbsp;MHz fino ai 20&nbsp;MHz delle versioni vendute più recentemente.<ref name="cpuworld"/><ref name="z80pdf">{{cita|Zilog||z80pdf}}</ref> La versione CMOS permetteva inoltre una [[modalità d'attesa]] a basso consumo energetico denominata "Power-Down", o "modalità standby", in cui veniva mantenuto lo stato interno (registri e segnali di controllo) del processore fino al ricevimento del segnale di uscita da tale stato (un segnale di clock).<ref name="z80pdf"/> I chip derivati compatibili con lo Z80, l'[[HD64180]]/[[Zilog Z180|Z180]]<ref>{{cita|Zilog|p. 6-2|z180faq}}.{{Citazione|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.||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.|lingua=en}}</ref><ref>{{cita web|url=http://www.z80.info/z80lives.htm|titolo=The Z80 Lives!|cognome=Ganssle|nome=Jack G.|anno=1992|accesso=11 novembre 2010}}{{Citazione|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.||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.|lingua=en}}</ref> e l'[[Zilog eZ80|eZ80]] sono dichiarati capaci rispettivamente di 33&nbsp;MHz e 50&nbsp;MHz.
 
== Descrizione tecnica ==
 
=== Modello di programmazione e gestione dei registri ===
Il modello di programmazione e la gestione dei registri sono convenzionali e simili a quelli della famiglia [[Architettura x86|x86]]. I registri AF, BC, DE e HL, compatibili con quelli dell'Intel 8080, sono duplicati nello Z80 in 2 banchi separati<ref>{{cita libro|titolo=Kilobaud|editore=1001001|anno=1977|p=22}}</ref> con il processore che può velocemente passare da un banco all'altro,<ref>{{cita|Zaks|p. 62}}.</ref> una caratteristica utile per velocizzare la risposta agli interrupt ad alta priorità e livello singolo. Questa caratteristica era presente nel [[Datapoint 2200]], mentre non era implementata nell'Intel 8008. Il sistema dei registri doppi aveva senso sullo Z80 (e su altri microprocessori dell'epoca), perché esso era stato progettato anche per i sistemi embedded, non solo per i personal computer o per gli [[home computer]].<ref name="shima">{{cita web|url=http://www.ieeeghn.org/wiki/index.php/Oral-History:Masatoshi_Shima|titolo=Intervista a Masatoshi Shima|accesso=14 ottobre 2010|editore=IEEE.org|autore=William Aspray|data=17 maggio 1994}}{{Citazione|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||We didn't focus on mainframe computers. We focused upon office equipment like high performance printers, high-end cash registers, and intelligent terminals.|lingua=en}}</ref> I doppi registri risultarono molto utili per la codifica [[assembly]] altamente ottimizzata: alcuni software, specialmente i giochi per i sistemi [[MSX]], gli [[Sinclair ZX Spectrum|ZX Spectrum]] ed altri computer basati sullo Z80, portarono l'ottimizzazione dell'assembly dello Z80 a livelli estremi, impiegando, tra le altre cose, proprio i registri duplicati.
 
==== Registri ====
Il modello di programmazione e la gestione dei registri sono convenzionali e simili a quelli della famiglia [[Architettura x86|x86]]. I registri AF, BC, DE e HL, compatibili con quelli dell'Intel 8080, sono duplicati nello Z80 in 2 banchi separati<ref>{{cita libro|titolo=Kilobaud|editore=1001001|anno=1977|p=22}}.</ref> con il processore che può velocemente passare da un banco all'altro,<ref>{{cita|Zaks|p. 62|rodnay}}.</ref> una caratteristica utile per velocizzare la risposta agli interrupt ad alta priorità e livello singolo. Questa caratteristica era presente nel [[Datapoint 2200]], mentre non era implementata nell'Intel 8008. Il sistema dei registri doppi aveva senso sullo Z80 (e su altri microprocessori dell'epoca), perché esso era stato progettato anche per i sistemi embedded, non solo per i personal computer o per gli [[home computer]].<ref name="shima">{{cita web|url=http://www.ieeeghn.org/wiki/index.php/Oral-History:Masatoshi_Shima|titolo=Intervista a Masatoshi Shima|accesso=14 ottobre 2010|editore=IEEE.org|autore=William Aspray|data=17 maggio 1994}}{{Citazione|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||We didn't focus on mainframe computers. We focused upon office equipment like high performance printers, high-end cash registers, and intelligent terminals.|lingua=en}}</ref> I doppi registri risultarono molto utili per la codifica [[assembly]] altamente ottimizzata: alcuni software, specialmente i giochi per i sistemi [[MSX]], gli [[Sinclair ZX Spectrum|ZX Spectrum]] ed altri computer basati sullo Z80, portarono l'ottimizzazione dell'assembly dello Z80 a livelli estremi, impiegando, tra le altre cose, proprio i registri duplicati.
[[File:Z80 arch.svg|thumb|upright=2.0|Architettura dello Z80]]
 
====Registri<ref name=esd>{{cita|Heath|p. 21|esd}}.</ref>====
[[File:Z80 arch.svg|thumb|upright=2.1|Architettura dello Z80]]
 
Come sull'8080, i registri ad 8 bit sono di solito accoppiati per ottenerne delle versioni a 16 bit. I registri compatibili con quelli dell'8080 sono:<ref name=esd>{{cita|Heath|p. 21|esd}}.</ref>
* AF - (8 bit) [[Accumulatore (informatica)|accumulatore]] (A) e bit di flag (F) per resto, zero, segno meno, parità/overflow, semi-riporto (usato per [[Binary-coded decimal|codifica decimale]]), ed un flag Aggiungi/Sottrai (normalmente chiamato N), anch'esso per la codifica decimale;
* BC - (16 bit) registro dati/indirizzo oppure 2 registri ad 8 bit;
* DE - (16 bit) registro dati/indirizzo oppure 2 registri ad 8 bit;
* HL - (16 bit) registro accumulatore/indirizzo a 16 bit/indirizzo oppure 2 registri ad 8 bit;
* SP - (16 bit) [[stack pointer|puntatore stack]];
* PC - (16 bit) [[program counter|contatore di programma]].
Riga 77 ⟶ 84:
* R - (8 bit) contatore per refresh della DRAM (il [[bit più significativo]] non conta);
* AF<nowiki>'</nowiki> - accumulatore alternativo (od "ombra") e flag (''attivati e disattivati con EX AF,AF<nowiki>'</nowiki>'');
* BC<nowiki>'</nowiki>, DE<nowiki>'</nowiki> e HL<nowiki>{{'</nowiki>}} - registri alternativi (od "ombra") e flag (''attivati o disattivati con EXX'');
* 4 bit per lo stato degli interrupt e le modalità degli interrupt.
 
Riga 84 ⟶ 91:
Il ''registro di refresh'' ("''R''") viene incrementato<ref>{{cita|Zilog|p. 24|um0080}}.{{Citazione|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 <code>LD R, A</code>.||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 <code>LD R, A</code> instruction.|lingua=en}}</ref> ogni volta che la CPU esegue un [[opcode]] (o un prefisso opcode) e non ha pertanto una relazione semplice con l'esecuzione del programma. Questo modo di operare era spesso usato per generare [[numeri pseudo-casuali]] nei giochi, ma anche in schemi di protezione software. Era anche utilizzato come contatore "hardware" in alcuni sistemi: un famoso esempio di questo utilizzo è il [[Sinclair ZX81]], che permette di tenere traccia delle posizioni dei caratteri sullo schermo TV innescando un interrupt al verificarsi della reinizializzazione (collegando l'interrupt ad A6).
 
Il ''registro vettoriale di interrupt'' ("''I''") è usato per gli interrupt dello Z80 specificati con modalità 2 (selezionata dall'istruzione <code>IM 2</code>). Esso fornisce l'indirizzo di base della pagina (il "byte alto") per la tabella a 128 voci degli indirizzi degli interrupt di servizio che sono selezionati tramite un puntatore (il "byte basso" dell'indirizzo) inviato alla CPU durante un ciclo di riconoscimento degli interrupt.<ref name=interruptmodes/> Il puntatore identifica un particolare chip di perifericaperiferico e/o una funzione di perifericaun ochip quant'altroperiferico (nel caso in cui un chip periferico possa sollevare più interrupt, come ad esempio il CTC), dove i chip sono normalmente connessi a cascata per la risoluzione della priorità. Come per quello di ''refresh'', questo registro è stato talvolta utilizzato in maniera "creativa".
 
==== IlLa linguaggioALU assemblya dello4 Z80bit ====
La [[Unità aritmetica e logica|ALU]], o "Arithmetic-Unit Logic", è il modulo integrato in una CPU deputato all'esecuzione dei calcoli aritmetico/logici. A differenza di altre CPU contemporanee (come il MOS 6502 o l'Intel 8080) la ALU dello Z80 è a 4 bit, vale a dire che esegue calcoli su numeri di 4 bit, o ''[[nibble]]''. Siccome l'accumulatore della CPU è a 8 bit, per eseguire un calcolo su un numero contenuto nell'accumulatore la ALU dello Z80 deve eseguire due passaggi su tale registro. Per far sì che questo non incida sulle prestazioni della CPU, i progettisti dello Z80 hanno pensato ad un sistema di cicli interni divisi in "cicli macchina", o "cicli M" (dall'inglese M-cycle), in cui ogni ciclo M è composto da più "cicli di clock", o "stati T" (dall'inglese T-state), dove uno stato T è equivalente ad un ciclo di clock,<ref>{{cita web|url=https://floooh.github.io/2021/12/06/z80-instruction-timing.html#m-cycles-and-t-states|titolo=M-cycles and T-states|editore=The Brain Dump|accesso=14 gennaio 2024}}</ref>, ed ottimizzando le istruzioni affinché la CPU sia in grado di eseguire un minimo di sovrapposizione delle operazioni delle singole istruzioni: questo processo è detto "fetch/execute overlapping" e permette di continuare l'esecuzione di una istruzione mentre la CPU sta leggendo dalla memoria l'opcode di quella successiva. Ad esempio, l'istruzione <code>SUB r</code>, che sottrae dall'accumulatore il valore contenuto nel registro ad 8 bit indicato da "r", viene eseguito in 1 ciclo M composto da 4 cicli di clock. L'esecuzione di questa istruzione più essere divisa nei seguenti singoli passaggi:
ISTRUZIONE CORRENTE "N" (SUB r)
M1 / T1 : viene impostato l'indirizzo da cui leggere l'istruzione "N" da eseguire
M1 / T2 : viene recuperata dalla memoria l'istruzione "N"
M1 / T3 : viene interpretato l'opcode come "SUB r": A viene caricato sul latch temporaneo "ACU" (*)
M1 / T4 : viene caricato il registro "r" nel latch temporaneo "TEMP" (*)
-------------
ISTRUZIONE SUCCESSIVA "N+1"
M1 / T1 : viene impostato l'indirizzo da cui leggere l'istruzione "N+1" da eseguire
contemporaneamente il nibble basso della precedente operazione viene calcolato
M1 / T2 : viene recuperata dalla memoria l'istruzione "N+1"
contemporaneamente viene calcolato il nibble alto della precedente operazione
ed il risultato viene ricomposto come valore ad 8 bit e depositato nell'accumulatore
*: vedere figura relativa all'architettura interna della CPU
 
In tale modo lo Z80 non manifesta rallentamenti rispetto ad una CPU con una ALU interamente ad 8 bit. Ciò è anche possibile grazie al fatto che il recupero dell'istruzione dalla memoria viene sempre eseguito durante i primi stati "T" del primo ciclo M (detto M1) di una istruzione.<ref name=conf-z80/><ref name="z80-alu">{{cita web|url=http://www.righto.com/2013/09/the-z-80-has-4-bit-alu-heres-how-it.html|titolo=The Z-80 has a 4-bit ALU. Here's how it works|editore=Ken Shirriff's blog|autore=Ken Shirriff|accesso=8 agosto 2021}}</ref><ref name=z80-alu-4-bit>{{cita web|url=https://itectec.com/electrical/electronic-how-to-z80-uses-a-4-bit-alu-and-return-results-in-a-single-clock-cycle/|titolo=Electronic – How to z80 uses a 4-bit ALU and return results in a single clock cycle|editore=iTecTec.com|accesso=8 agosto 2021|dataarchivio=16 agosto 2021|urlarchivio=https://web.archive.org/web/20210816095653/https://itectec.com/electrical/electronic-how-to-z80-uses-a-4-bit-alu-and-return-results-in-a-single-clock-cycle/|urlmorto=sì}}</ref><ref name=z80-archi>{{cita web|url=http://www.z80.info/z80arki.htm|titolo=Z80 CPU Architecture|editore=Z80.info|accesso=8 agosto 2021}}</ref>
==== Una retrospettiva - Il Datapoint 2200 e l'Intel 8008 ====
 
=== Il linguaggio assembly dello Z80 ===
==== Una retrospettiva - Il Datapoint 2200 e l'Intel 8008 ====
Il linguaggio [[assembly]] del primo [[Intel 8008]] era basato su una sintassi molto semplice (ma schematica), derivata dall'architettura del [[Datapoint 2200]]; questa sintassi fu poi trasformata in un nuovo linguaggio assembly dedicato al chip 8008; il nuovo linguaggio assembly fu poi esteso, quasi nello stesso periodo, per adattarsi alle aggiunte possibilità di indirizzamento offerte dal più evoluto chip Intel 8080 (l'8008 e l'8080 condividevano un linguaggio senza che fossero compatibili a livello di codice binario; l'8008 era invece compatibile a livello binario con il Datapoint 2200).
 
In questo processo di trasformazione, l'abbreviazione mnemonica "L", che stava per ''LOAD'', fu sostituita dalle parole ''LOAD'', ''STORE'' e ''MOVE'', a cui erano state aggiunte altre lettere simboliche. La lettera "M", per ''Memory'' (referenziata da HL), fu trasformata da abbreviazione mnemonica a ''operando'' indipendente sintatticamente, mentre i registri e le combinazioni di registri furono indicati in maniera molto inconsistente, sia abbreviando gli operandi (ad esempio "MVI D" e "LXI H") sia usando le stesse forme mnemoniche delle istruzioni (ad esempio "LDA" e "LHLD") sia usando entrambi gli schemi contemporaneamente (ad esempio "LDAX B" e "STAX D").
 
{| class="wikitable" border="1"
|-
! Datapoint 2200<br>& i8008
& i8008
! i8080
! Z80
Riga 146 ⟶ 168:
|-
| <code>--</code> || <code>--</code> || <code>LD IX,(1234)</code> || <code>MOV SI,[1234]</code>
|}''Tabella di 4 sintassi che usano esempi di istruzioni di LOAD e STORE equivalenti o (per l'8086) molto simili''.<ref>{{cita web|url=http://nemesis.lonestar.org/computers/tandy/software/apps/m4/qd/opcodes.html|autore=Frank Durda IV|titolo=8080/Z80 Instruction Set|accesso=3 settembre 2010|urlarchivio=https://web.archive.org/web/20160211094642/http://nemesis.lonestar.org/computers/tandy/software/apps/m4/qd/opcodes.html|urlmorto=sì}}</ref>
 
==== La nuova sintassi ====
 
Intel dichiarò che i codici mnemonici del suo assembly erano brevettati. Fu perciò sviluppata una nuova sintassi, questa volta con un approccio più semantico:
* tutti i registri e le coppie di registri venivano indicati esplicitamente con i loro nomi interi;
* le parentesi tonde "()" venivano utilizzate coerentemente per indicare "contenuto di memoria a" (puntatore non referenziato), con l'eccezione di alcune istruzioni di salto;<ref>{{cita|SLR Systems|p. B-2|z80asm}}.
{{Citazione|Le istruzioni di salto "Jump" (<code>JP</code>), 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 "<code>"JP (HL)</code>", apparentemente non rispettano questa convenzione ed includono le parentesi tonde||"Jump" (<code>JP</code>) 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 "<code>JP (HL)</code>" include round brackets in an apparent deviation from this convention.|lingua=en}}</ref>
* Tutte le istruzioni "load" e "store" usavano lo stesso codice mnemonico, <code>LD</code> per LOAD (un ritorno al vocabolario semplicistico del Datapoint 2200); altre istruzioni di uso comune (come <code>ADD</code> e <code>INC</code>) usavano lo stesso codice mnemonico, indipendentemente dal modo di indirizzamento o dalla dimensione dell'operando (ciò era possibile perché gli stessi operandi contenevano in sé abbastanza informazioni).
 
Riga 178 ⟶ 200:
 
==== Istruzioni non documentate ====
 
I registri indice IX e IY erano stati pensati come puntatori a 16 bit flessibili per migliorare l'abilità di manipolare la memoria, le strutture di dati e gli stack. Ufficialmente essi erano gestiti solo come registri a 16 bit, ma in realtà erano implementati come una coppia di registri ad 8 bit,<ref>{{cita|Froehlich|p. 133|froehlich}}.{{Citazione|I codici non documentati dello Z80 permettono operazioni ad 8 bit con i registri IX e IY||Undocumented Z80 codes allow 8 bit operations with IX and IY registers.|lingua=en}}</ref> alla stessa maniera del registro HL, che era accessibile sia integralmente a 16 bit sia nei suoi singoli registri ad 8 bit "''H''igh" e "''L''ow". Ugualmente i codici opcode (linguaggio macchina) erano identici ma preceduti da un nuovo prefisso opcode.<ref name=undocz80>{{cita web|url=http://www.z80.info/z80undoc.htm|titolo=Z80 Undocumented Instructions|sito=Home of the Z80 CPU|cognome=Jacco|nome=J. T.|accesso=11 novembre 2010}}{{Citazione|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(...)||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 (...)|lingua=en}}</ref>
 
Riga 186 ⟶ 207:
 
=== Esecuzione delle istruzioni ===
Ogni istruzione è eseguita in passaggi che sono di solito indicati come cicli macchina (o M-cycles), dall'inglese "machine cycles", ognuno dei quali può richiedere da 3 a 6 cicli clock (o T-states o T-cycles).<ref>{{cita|Zilog|p. 11|um0080}}.</ref> Ogni ciclo M-cycle corrisponde approssimativamente ad un accesso alla memoria e/o ad un'operazione interna. Molte istruzione terminano effettivamente durante il ciclo M1 dell'istruzione ''successiva'', condizione nota come ''fetch/execute overlap''.
 
''Esempi di istruzioni tipiche (R=''read'', lettura - W=''write'', scrittura)'':
{| class="wikitable" border="1"
! M-cycle<br />totali
! istruzione
Riga 201 ⟶ 222:
| 1<ref>{{Cita|Ciarcia|p. 65}}.</ref> || INC BC || opcode || || || || ||
|-
| 2<ref>{{cita|Zaks|p. 200|rodnay}}.{{Citazione|ADD A,n Aggiungi all'accumulatore il successivo dato n. (....) MEMORY Timing: 2 M-cycles; 7 T-states||ADD A, n Add accumulator with immediate data n. (...) MEMORY Timing: 2 M cycles; 7 T states.|lingua=en}}</ref> || ADD A,n || opcode || n || || || ||
|-
| 3<ref name=Ciarcia63>{{Cita|Ciarcia|p. 63}}.</ref> || ADD HL,DE || opcode || internalinterno || internalinterno || || ||
|-
| 4<ref>{{Cita|Ciarcia|p. 77}}.</ref> || SET b,(HL) || prefixprefisso || opcode || R(HL), set || W(HL) || ||
|-
| 5<ref name=Ciarcia63/> || LD (IX+d),n || prefixprefisso || opcode || d || n,add || W(IX+d) ||
|-
| 6<ref>{{Cita|Ciarcia|p. 58}}.</ref> || INC (IY+d) || prefixprefisso || opcode || d || add || R(IY+d),inc || W(IY+d)
|}
 
GliI cicli M-cycle dello Z80 sono gestiti da una [[Automa a stati finiti|macchina a stati finiti]] interna che costruisce ogni ciclo a partire da 3, 4, 5 o 6 cicli di clock (T-cyclestate), a seconda del contesto. Questo meccanismo evita di dovere usare un'ingombrante logica asincrona e fa sì che i segnali di controllo si comportino in modo coerente all'interno di una vasta gamma di frequenze di clock. Ciò significa anche che va usato un clock con una frequenza superiore rispetto a quello che si userebbe nella situazione in cui questa suddivisione dei cicli macchina non esistesse (approssimativamente 2-3 volte superiore).
 
Questo non implica però la necessità di usare una memoria con dei tempi di accesso migliori, in quanto un clock con una risoluzione più elevata permette un controllo più preciso dei timing della memoria e la stessa può essere attiva ''in parallelo con la CPU'' per un margine più ampio (cioè registra meno ''idle''), permettendo un uso più efficiente delle sue ''prestazioni''. Parlando di esecuzione delle istruzioni, lo Z80 combina 2 cicli di clock completi in un lungo periodo di accesso alla memoria (il segnale M1), che generalmente dura solo una frazione di un (più lungo) ciclo di clock, in una specie di design più asincrono (tipo il Motorola 6800 o altre CPU simili).
 
Le memorie erano di solito troppo lente (soprattutto quelle di tipo [[EPROM]], ma anche le [[memoria flash|Flash]]) se paragonate ai sotto-cicli (i cicli di clock) delle macchine a stato finito usate nei processori contemporanei. Il ciclo macchina più breve che poteva essere usato nei progetti embedded era spesso limitato dai tempi di accesso della memoria, non dalla massima frequenza della CPU (specialmente durante l'era degli home computer). Questa relazione è però cambiata leggermente durante legli ultimeultimi decadidecenni, particolarmente per quanto riguarda le [[SRAM]]; senza cache, i disegni a ciclo singolo come l'eZ80 sono pertanto divenuti recentemente molto più importanti.
 
=== Periferiche compatibili ===
 
Zilog introdusse un certo numero di periferiche per lo Z80, tutte supportanti il sistema di gestione degli interrupt e lo spazio di indirizzi I/O della CPU. Queste includevano il "CTC" (''Counter-Timer-Circuit''), il "SIO" (''Serial Input Output''), il "DMA" (''Direct Memory Access''), il "PIO" (''Parallel Input-Output'') ed il "DART" (''Dual Asynchronous Receiver Transmitter''). Col tempo, di questi chip furono offerte anche versioni in tecnologia [[CMOS]], che offrivano un consumo energetico più basso unito ad una velocità superiore.
 
Riga 228 ⟶ 248:
 
== Copie su licenza, cloni e derivati ==
 
=== Cloni ===
Il [[Mostek]] MK3880 e l'[[STMicroelectronics|SGS-Thomson]] (ora [[STMicroelectronics]]) Z8400 erano entrambi copie ufficiali dello Z80. [[Sharp Corporation|Sharp]] e [[NEC Corporation|NEC]] svilupparono dei [[clone (informatica)|cloni]] in tecnologia [[Logica NMOS|NMOS]], rispettivamente l'[[Sharp LH0080|LH0080]] e il [[NEC µPD780C|µPD780C]]. [[Toshiba]] ne realizzò una versione [[CMOS]], il TMPZ84C00, che è ritenuto essere lo stesso processore dello Zilog Z84C00, anch'esso in CMOS. Ci furono anche chip Z80 realizzati da [[LG Electronics|GoldStar]] (poi [[LG Electronics|LG]]), così come la serie BU18400 dei cloni Z80 (inclusi i chip DMA, PIO, CTC, DART e SIO) in tecnologia NMOS e CMOS realizzati da ''ROHM Electronics''.
 
Il [[Mostek]] MK3880 e l'[[STMicroelectronics|SGS-Thomson]] (ora [[STMicroelectronics]]) Z8400 erano entrambi copie ufficiali dello Z80. [[Sharp Corporation|Sharp]] e [[NEC Corporation|NEC]] svilupparono dei [[clone (informatica)|cloni]] in tecnologia NMOS, rispettivamente l'[[Sharp LH0080|LH0080]] e il [[NEC µPD780C|µPD780C]]. [[Toshiba]] ne realizzò una versione [[CMOS]], il TMPZ84C00, che è ritenuto essere lo stesso processore dello Zilog Z84C00, anch'esso in CMOS. Ci furono anche chip Z80 realizzati da [[LG Electronics|GoldStar]] (poi [[LG Electronics|LG]]), così come la serie BU18400 dei cloni Z80 (inclusi i chip DMA, PIO, CTC, DART e SIO) in tecnologia NMOS e CMOS realizzati da ''ROHM Electronics''.
 
Nella Germania dell'Est comparve un clone senza licenza dello Z80, noto come [[U880]]: fu utilizzato nei computer realizzati da [[VEB Robotron]] e ''VEB Mikroelektronik Mühlhausen'', come la serie [[KC 85]], ma anche per computer auto-assemblati come il COMP JU+TER. In [[Romania]] era diffuso un altro clone senza licenza, l'[[MMN80CPU]] di ''Microelectronica'', utilizzato negli home computer (quali il TIM-S, l'HC ed il COBRA).
Riga 245 ⟶ 263:
 
=== Derivati ===
 
;Compatibili con lo Z80 originale:
* [[Hitachi, Ltd.|Hitachi]] sviluppò l'[[HD64180]], un microcodificato e parzialmente dinamico Z80 in CMOS, con le periferiche montate su chip ed una semplice [[Memory management unit|MMU]], che gestiva uno spazio indirizzi di 1 [[Megabyte|MB]]. Questo chip fu poi realizzato anche da Zilog, inizialmente come Z64180 e poi come [[Zilog Z180|Z180]],<ref>{{cita web|url=http://www.z80.info/z80lives.htm|titolo=The Z80 Lives!|cognome= Ganssle|nome=Jack G.|anno=1992|accesso=8 novembre 2010}}
{{Citazione|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.||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.|lingua=en}}</ref> che ha il protocollo del bus ed i timing adattati meglio ai chip periferici dello Z80. Zilog ha continuato a produrre lo Z180 e a migliorarlo: le nuove versioni si chiamano Z8S180/Z8L180, e hanno core pienamente statici, con bassi consumi energetici e ridotte interferenze elettromagnetiche (EMI, ''elimination of electromagnetic interference'').<ref name="z8s180">{{cita|Zilog, Inc.|p. 1|z8s180}}.{{Citazione|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).||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.|lingua=en}}</ref>
* [[Toshiba]] sviluppò le serie di controller intelligenti Z84013/Z84C13 (a 84 pin), e Z84015/Z84C15 (a 100 pin), in pratica dei core Z80 con le sue periferiche in tecnologia NMOS e CMOS, con un [[Watchdog|temporizzatore di supervisione]], funzione di POR ("Power-On-Reset") e generatore di stati d'attesa, tutto sullo stesso chip. Essi furono fabbricati anche da [[Sharp Corporation|Sharp]]. Questi processori sono oggi assemblati anche da Zilog.<ref>{{cita web|url=http://www.z80.info/z80lives.htm|titolo=The Z80 Lives!|cognome=Ganssle|nome=Jack G.|anno=1992|accesso=12 novembre 2010}}
{{Citazione|Sia Toshiba che Zilog vendono l'84013 e l'84015, che sono dei core Z80 con le periferiche convenzionali dello Z80 integrate nel chip.||Both Toshiba and Zilog sell the 84013 and 84015, which are Z80 cores with conventional Z80 peripherals integrated on-board.|lingua=en}}</ref>
* Lo [[Zilog Z380]], un chip a [[32 bit]] compatibile con lo Z80, introdotto nel [[1994]], è sopravvissuto durante questi anni; è usato principalmente nei dispositivi per le telecomunicazioni.
* Lo [[Zilog eZ80]], pienamente compatibile con lo Z80<ref name="ez80">{{cita|Zilog, Inc.|p. 10|ez80}}.
* Lo [[Zilog eZ80]], pienamente compatibile con lo Z80<ref name="ez80">{{cita|Zilog, Inc.|p. 10|ez80}}.{{Citazione|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.||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.|lingua=en}}</ref> 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 [[Media Access Control|MAC]] e il software a corredo include uno [[Transmission Control Protocol|stack IP]]. A differenza dello Z800 e dello Z280, presenta solo qualche istruzione aggiuntiva (di cui le principali riguardano i [[metodo di indirizzamento|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&nbsp;MHz.
{{Citazione|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.||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.|lingua=en}}</ref> 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 [[Media Access Control|MAC]] e il software a corredo include uno [[Transmission Control Protocol|stack IP]]. A differenza dello Z800 e dello Z280, presenta solo qualche istruzione aggiuntiva (di cui le principali riguardano i [[metodo di indirizzamento|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&nbsp;MHz.
* [[Kawasaki Heavy Industries|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&nbsp;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&nbsp;MHz (2006).<ref name=kawasaki>{{cita|Cahners Asia Ltd.|p. 5|cahners}}.{{Citazione|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 (...).||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 [...]|lingua=en}}</ref>
* [[Kawasaki Heavy Industries|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&nbsp;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&nbsp;MHz (2006).<ref name=kawasaki>{{cita|Cahners Asia Ltd.|p. 5|cahners}}.
{{Citazione|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 (...).||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 [...]|lingua=en}}</ref>
* Alcune famiglie di processori multimediali del costruttore [[Cina|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.<ref>{{cita web|url= http://www.s1mp3.org/en/docs_hwspecs.php|titolo=Hardware specs|sito=S1mp3.org|anno=2005|accesso=11 novembre 2010}}</ref> Questi chip sono utilizzati in molti [[Lettore MP3|lettori MP3]] e [[Lettore multimediale (dispositivo)|multimediali]].
 
Riga 265 ⟶ 286:
 
;Parzialmente compatibili:
* I microprocessori/microcontroller [[Rabbit Semiconductor|Rabbit Semiconductor 2000/3000/4000]]<ref>{{cita|Axelson|p. 93|axelson}}.
{{Citazione|Il microprocessore Rabbit 3000 di Rabbit Semiconductor è una versione migliorata e potenziata del vecchio processore Z80 di Zilog, Inc.||[...] Rabbit Semiconductor's Rabbit 3000 microprocessor, which is a much improved and enhanced derivative of Zilog, Inc.'s venerable Z80 microprocessor.|lingua=en}}</ref> sono basati sull'architettura [[HD64180]]/[[Zilog Z180|Z180]], anche se non sono pienamente compatibili a livello binario.<ref>{{cita|Hyder, Perrin|p. 32|hyder}}.{{Citazione|I prodotti di Rabbit sono strettamente basati sull'architettura Zilog Z180 anche se non sono compatibili a livello binario con i prodotti Zilog.||The Rabbit parts are based closely on the Zilog Z180 architecture, although they are not binary compatible with the Zilog parts.|lingua=en}}</ref>
 
''Non più in produzione:''
* L'[[ASCII R800|R800]] prodotto da [[ASCII Corporation]] fu un veloce processore a 16 bit utilizzato nei computer [[MSX#MSX turbo R|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]]/[[Zilog Z180|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.<ref name="eetimes3"/><ref name="eetimes2">{{cita web|url=http://www.eetimes.com/discussion/break-point/4027576/ZiLOG-Redux-Redux-Redux|titolo=ZiLOG, Redux, Redux, Redux|editore=EETimes|autore=Jack Ganssle|data=14 dicembre 2009|accesso=14 ottobre 2010|urlarchivio=https://web.archive.org/web/20100831201343/http://www.eetimes.com/discussion/break-point/4027576/ZiLOG-Redux-Redux-Redux|urlmorto=sì}}
{{Citazione|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.||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.|lingua=en}}</ref> Per contro lo Z80 in versione CMOS era rimasto popolare, a fianco delle famiglie compatibili Z180 ed eZ80.
 
<gallery>
Riga 277 ⟶ 300:
 
=== Versioni FPGA e ASIC ===
L'Evatronix CZ80CPU è un core per CPU equivalente allo Z80,<ref>{{cita web|url= http://www.cast-inc.com/cores/cz80cpu/index.shtml|titolo= CZ80CPU - 8-bit Microprocessor Core|sito= Cast|accesso= 11 novembre 2010|urlarchivio= https://web.archive.org/web/20100310132535/http://www.cast-inc.com/cores/cz80cpu/index.shtml|urlmorto= sì}}</ref> disponibile come codice sorgente [[Verilog]] o [[VHDL]] per i diffusi [[ASIC]] o come sorgente [[EDIF]] di [[netlist]] per i [[FPGA]] da [[Actel]], [[Altera]], [[Lattice Semiconductor|Lattice]] o [[Xilinx]].
 
Versioni libere sono il T80<ref name="t80">{{cita web|url=http://www.opencores.org/?do=project&who=t80|titolo=T80 cpu :: Overview|editore=OpenCores.org|accesso=8 novembre 2010}}</ref> ed il TV80,<ref>{{cita web|url=http://www.opencores.org/?do=project&who=tv80|titolo=TV80 :: Overview|editore=OpenCores.org|accesso=8 novembre 2010}}</ref><ref>{{cita web|url=http://ghutchis.googlepages.com/tv80homepage|titolo=TV 80 Home Page|accesso=11 novembre 2010|urlarchivio=https://web.archive.org/web/20081226230252/http://ghutchis.googlepages.com/tv80homepage|urlmorto=sì}}</ref> disponibili come sorgenti VHDL e Verilog sotto una licenza in stile [[Licenze BSD|BSD]] o [[GNU Lesser General Public License|LGPL]].<ref>{{cita web|url=http://opencores.org/opencores,faq|titolo=FAQ :: OpenCores|accesso=8 novembre 2010|editore=OpenCores.org}}</ref> La versione in VHDL, una volta sintetizzata, può essere impostata fino a 35&nbsp;MHz su un FPGA Spartan II di Xilinx.<ref name="t80"/> Per [[Economie di scala|produzioni su larga scala]] è comunque più conveniente utilizzare una soluzione tradizionale (o ASIC) piuttosto che un FPGA.
L'Evatronix CZ80CPU è un core per CPU equivalente allo Z80,<ref>{{cita web|url= http://www.cast-inc.com/cores/cz80cpu/index.shtml|titolo=CZ80CPU - 8-bit Microprocessor Core|sito= Cast|accesso=11 novembre 2010}}</ref> disponibile come codice sorgente [[Verilog]] o [[VHDL]] per i diffusi [[ASIC]] o come sorgente [[EDIF]] di [[netlist]] per i [[FPGA]] da [[Actel]], [[Altera]], [[Lattice Semiconductor|Lattice]] o [[Xilinx]].
 
Versioni libere sono il T80<ref name="t80">{{cita web|url=http://www.opencores.org/?do=project&who=t80|titolo=T80 cpu :: Overview|editore=OpenCores.org|accesso=8 novembre 2010}}</ref> ed il TV80,<ref>{{cita web|url=http://www.opencores.org/?do=project&who=tv80|titolo=TV80 :: Overview|editore=OpenCores.org|accesso=8 novembre 2010}}</ref><ref>{{cita web|url= http://ghutchis.googlepages.com/tv80homepage|titolo=TV 80 Home Page|accesso=11 novembre 2010}}</ref> disponibili come sorgenti VHDL e Verilog sotto una licenza in stile [[Licenze BSD|BSD]] o [[GNU Lesser General Public License|LGPL]].<ref>{{cita web|url=http://opencores.org/opencores,faq|titolo=FAQ :: OpenCores|accesso=8 novembre 2010|editore=OpenCores.org}}</ref> La versione in VHDL, una volta sintetizzata, può essere impostata fino a 35&nbsp;MHz su un FPGA Spartan II di Xilinx.<ref name="t80"/> Per [[Economie di scala|produzioni su larga scala]] è comunque più conveniente utilizzare una soluzione tradizionale (o ASIC) piuttosto che un FPGA.
 
=== Emulazione software ===
Riga 286 ⟶ 308:
Gli [[emulatore|emulatori software]] degli Z80 girano oggi sui moderni PC molto più velocemente di quanto facesse la CPU Z80 originale: essi sono utilizzati per [[Simulazione (informatica)|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 [[videogioco|videogiochi]] (come il [[MAME]]) per eseguire i vecchi [[videogioco arcade|arcade]]. Il [[SIMH]] emula il computer [[MITS Altair 8800]] sia con processore 8080 che Z80.
 
== UsiImpiego ==
=== Negli home computer ===
Durante la fine degli [[anni 1970|anni settanta]] e i 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.<ref>{{cita|Chapman|p. 223|chapman}}.{{Citazione|(...) ed il CP/M continuò a dominare il mondo dei microcomputer ad 8 bit.||[...] and CP/M continued to dominate the 8-bit world of microcomputers.|lingua=en}}</ref><ref>{{cita|InfoWorld 10/5/1982|p. 20|infoworld-10051982}}.{{Citazione|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.||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.|lingua=en}}</ref>
 
Due esempi di macchine da ufficio basate sul binomio Z80+CP/M furono il portatile [[Osborne 1]] e la serie [[Kaypro]]. [[RM plc|Research Machines]] realizzò i microcomputer [[Research Machines 380Z|380Z]] ([[1977]]) e [[Research Machines LINK 480Z|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 (azienda)|TeleVideo]], [[Xerox]] ([[Xerox 820|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.
=== Nei computer desktop ===
 
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.<ref>{{cita web|url=http://commodore64.se/wiki/index.php/Commodore_128_assembly_programming#Z80_CPU|titolo=Commodore 128 assembly programming - Z80 CPU|editore=commodore64.se|accesso=11 novembre 2010|urlarchivio=https://web.archive.org/web/20100811213834/http://commodore64.se/wiki/index.php/Commodore_128_assembly_programming#Z80_CPU|urlmorto=sì}}{{Citazione|In aggiunta alla CPU 8502, il C128 contiene anche una CPU Z80. Lo Z80 è usato in modalità CP/M (...)||In addition to the 8502 CPU, the C128 also contains a Z80 CPU. The Z80 is used in CP/M mode (...)|lingua=en}}</ref><ref>{{cita|Commodore Business Machines|p. 486|c128}}.{{Citazione|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.||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.|lingua=en}}</ref> Altri computer basati sul [[MOS 6502]] in vendita a quel tempo, come il [[BBC Micro]] e l'[[Apple II]],<ref>{{cita|InfoWorld (06/02/1984)|p. 64|infoworld-06021984}}.{{Citazione|Svariati costruttori, comunque, realizzano delle schede con lo Z80 come coprocessore che possono essere inserite all'interno dell'Apple II.||Several manufacturers, however, make Z80 coprocessor boards that plug into the Apple II.|lingua=en}}</ref> o basati sul [[MOS 6510]], come il [[Commodore 64]],<ref>{{cita libro|titolo=Popular Computing|editore=McGraw-Hill|anno=1986|p=22}}{{Citazione|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||The Commodore 64 CP/M package contains a plug-in cartridge with a Z80 microprocessor and the CP/M operating system on a disk.|lingua=en}}</ref> possono usare lo Z80 alloggiato su un'unità esterna, una scheda aggiuntiva o una [[cartuccia (supporto)|cartuccia di espansione]], come la [[Microsoft SoftCard|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.
Durante la fine degli [[anni 1970|anni settanta]] e i 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.<ref>{{cita|Chapman|p. 223|chapman}}.{{Citazione|(...) ed il CP/M continuò a dominare il mondo dei microcomputer ad 8 bit.||[...] and CP/M continued to dominate the 8-bit world of microcomputers.|lingua=en}}</ref><ref>{{cita|InfoWorld 10/5/1982|p. 20|infoworld-10051982}}.{{Citazione|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.||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.|lingua=en}}</ref>
 
[[Acer (azienda)|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".<ref>{{cita web|url=http://www.flite.co.uk/microprofessor-mpf-1b-z80-training-system.htm|titolo=Flite's MPF-1B (Microprofessor Training System)|accesso=1º ottobre 2010|editore=Flite Electronics International Limited|urlarchivio=https://web.archive.org/web/20080509183609/http://www.flite.co.uk/microprofessor-mpf-1b-z80-training-system.htm|urlmorto=sì}}</ref>
Due esempi di macchine da ufficio basate sul binomio Z80+CP/M furono il portatile [[Osborne 1]] e la serie [[Kaypro]]. [[RM plc|Research Machines]] realizzò i microcomputer [[Research Machines 380Z|380Z]] ([[1977]]) e [[Research Machines LINK 480Z|LINK 480Z]] ([[1981]]): quest'ultimo era 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]] ([[Xerox 820|serie 820]]) ed un gran numero di altre società più o meno conosciute. Alcuni sistemi utilizzavano un [[multitasking]] software per distribuire un processo fra diversi utenti.
Un altro microcomputer con finalità didattiche basato sullo Z80 è l'[[NBZ80]] o ''Nanocomputer'', prodotto dall'azienda italiana [[SGS Microelettronica|SGS-ATES]] intorno al 1979.
 
Lo Z80 fu usato nella famiglia di [[home computer]] prodotti da [[Sinclair Research|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 (informatica)|interprete]] [[BASIC]] più completo (residente su 16 kB di ROM) e grafica a colori.
Il [[Commodore 128]] integrava a fianco del [[MOS 8502]] un processore Z80, grazie al quale poteva entrare in una particolare modalità compatibile con il CP/M.<ref>{{cita web|url=http://commodore64.se/wiki/index.php/Commodore_128_assembly_programming#Z80_CPU|titolo=Commodore 128 assembly programming - Z80 CPU|editore=commodore64.se|accesso=11 novembre 2010}}{{Citazione|In aggiunta alla CPU 8502, il C128 contiene anche una CPU Z80. Lo Z80 è usato in modalità CP/M (...)||In addition to the 8502 CPU, the C128 also contains a Z80 CPU. The Z80 is used in CP/M mode (...)|lingua=en}}</ref><ref>{{cita|Commodore Business Machines|p. 486|c128}}.{{Citazione|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.||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.|lingua=en}}</ref> Altri computer basati sul [[MOS 6502]] in vendita a quel tempo, come il [[BBC Micro]] e l'[[Apple II]],<ref>{{cita|InfoWorld (06/02/1984)|p. 64|infoworld-06021984}}.{{Citazione|Svariati costruttori, comunque, realizzano delle schede con lo Z80 come coprocessore che possono essere inserite all'interno dell'Apple II.||Several manufacturers, however, make Z80 coprocessor boards that plug into the Apple II.|lingua=en}}</ref> o basati sul [[MOS 6510]], come il [[Commodore 64]],<ref>{{cita libro|titolo=Popular Computing|editore=McGraw-Hill|anno=1986|p=22}}.{{Citazione|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||The Commodore 64 CP/M package contains a plug-in cartridge with a Z80 microprocessor and the CP/M operating system on a disk.|lingua=en}}</ref> potevano usare lo Z80 alloggiato su un'unità esterna, una scheda aggiuntiva o una [[cartuccia (supporto)|cartuccia di espansione]], come la [[Microsoft SoftCard|SoftCard]] di [[Microsoft]] per l'Apple II: essa era una scheda aggiuntiva particolarmente diffusa ed uno dei pochi prodotti hardware realizzati da Microsoft a quel tempo.
 
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&nbsp;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.<ref name="storia">{{cita web|url=http://www.samdal.com/svhistory.htm|titolo=Storia di SpectraVision|accesso=13 gennaio 2013|autore=Roger Samdal}}{{citazione|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.|titolo=The history of Spectravideo|Roger Samdal|The SV-318/328 was a combined effort of Spectravideo in the US (management & marketing), Bondwell in Hong Kong (manufacturing) and ASCII Corporation in Japan (systems software). ASCII also was the Microsoft representative in Japan at that time. ASCII’s president Kazuhiko Nishi (also known as Kay Nishi) saw the potential in the Spectravideo computer system. He wanted to make a world standard for home computers out of the SV-328 design, called the MSX standard. Spectravideo agreed with this, and ASCII started to make some small changes of the design.}}</ref> A livello di hardware i sistemi MSX erano distribuiti con 16/64 KB di RAM, un processore grafico [[Texas Instruments TMS9918|TMS9918]] e un processore audio [[General Instrument AY-3-8910|AY-3-8910]].
[[Acer (azienda)|Acer]], all'epoca ''Multitech'', introdusse il [[Microprofessor I]] nel [[1981]], un dispositivo per l'apprendimento del [[linguaggio macchina]] dello Z80. Attualmente è ancora prodotto e venduto da ''Flite Electronics Int.'' ([[Southampton]], [[Inghilterra]]) come "Flite's MPF-1B".<ref>{{cita web|url=http://www.flite.co.uk/microprofessor-mpf-1b-z80-training-system.htm|titolo=Flite's MPF-1B (Microprofessor Training System)|accesso=1º ottobre 2010|editore=Flite Electronics International Limited}}</ref>
 
Lo Z80 fu usato nella famiglia di [[home computer]] prodotti da [[Sinclair Research|Sinclair]]. Il [[Sinclair ZX80]] integrava uno Z80 oppure lo μPD780C-1, un clone del processore prodotto da [[NEC]]. Questo computer, presentato nel [[1980]], integrava 1 kB di RAM e 4 kB di ROM, contenenti il [[sistema operativo]] ed il [[linguaggio di programmazione]] [[Sinclair BASIC]]. Il [[Sinclair ZX81]], presentato nel [[1981]], era un'evoluzione del precedente, rispetto al quale utilizzava uno Z80A ed integrava 8 kB di memoria ROM. Come lo ZX80, anche lo ZX81 delegava 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 poteva infatti contare su più RAM (16 kB o 48 kB, a seconda delle versioni), un [[Interprete (informatica)|interprete]] [[BASIC]] più completo (residente su 16 kB di ROM) e su una grafica a colori.
 
<gallery>
Riga 309 ⟶ 332:
File:Kaypro in Israel 1984.jpg|Il Kaypro II (1984), un diffuso personal computer trasportabile con sistema operativo [[CP/M]] e CPU Z80.
File:Link380z computer.jpg|Il [[Research Machines 380Z]], un altro computer basato sul binomio CP/M-Z80.
File:SV328.jpg |L'[[Spectravideo SVI-328|SVI-328]], prodotto dalla Spectravideo e da cui sono derivati i computer MSX.
File:MSX_Philips_VG8020.jpg|Il [[Philips]] VG-8020, uno dei computer compatibile MSX, standard basato sullo Z80.
</gallery>
 
=== Nei sistemi embedded e nell'elettronica di consumo ===
 
Lo Zilog Z80 è stato a lungo un microprocessore molto diffuso nei [[sistema embedded|sistemi embedded]] e nei [[microcontrollore|microcontroller]]<ref name=esd/> dove è stato largamente utilizzato fino ai primi [[anni 2000]],<ref name= popularity/><ref name=robertson>{{cita|Sinclair|p. 204|robertson}}.</ref> sostituito dal suo successore eZ80. Di seguito sono illustrati alcuni usi dello Z80, inclusi i prodotti dell'[[elettronica di consumo]].
 
Riga 322 ⟶ 346:
* È anche usato in [[robotica]], ad esempio per il [[riconoscimento vocale]]<ref>{{cita|.Meystel|p. 44|meystel}}.</ref> e nella [[sintesi vocale]] (ad esempio, nel processore M8950 del 1981 di [[Centro studi e laboratori telecomunicazioni|CSELT]]) e in compiti di basso livello, come unità di controllo dei [[servocomando|servomeccanismi]] per selezionare e posizionare i meccanismi (anni novanta).
* I [[multiplexer]] [[RS232]] che collegano un gran numero di "[[terminale (informatica)|terminali]]" in vecchio stile ai minicomputer o ai [[mainframe]] utilizzavano matrici schede Z80 CPU/SIO.
* Lo Z80 è stato usato anche nei [[mixer video]] usati nelle emittenti TV per operazioni di modifica video in [[sistema real-time]] (anni ottanta).<ref>{{cita|.Artwick|p. 25|artwick}}.</ref>
* È stato usato anche nei [[disco rigido|dischi rigidi]] di [[Seagate Technology]] e di altri produttori come controller.
* I terminali per le [[carta di credito|carte di credito]] delle pompe di benzina in [[Stati Uniti d'America|America]] utilizzavano la CPU Z80 ed i chip PIO (Brevetti USA 4930665, 4962462 e 5602745).
Riga 328 ⟶ 352:
* I processori Z80/Z180/Z380 sono stati utilizzati in apparecchiature per le [[telecomunicazioni]] come i [[commutazione (telecomunicazioni)|commutatori telefonici]] ed i [[modem]].
* Il [[store and forward|commutatore di messaggi]] di ''Stofor'', utilizzato ampiamente dalle banche e dagli agenti di borsa inglesi negli anni ottanta, era basato sullo Z80.
* Dispositivi per la [[domotica]], come i controller [[wireless]] degli impianti di annaffiatura o le reti senza fili, usano il sistema [[opensourceopen source]] N8VEM.
* Alcuni [[etilometro|etilometri]], come l'Intoxilyzer 5000EN, utilizzano una coppia di Z80 (anni 2000).<ref>{{cita web|sito=Ars Technica|cognome =Anderson|nome=Nate|titolo=Source code requests force breathalyzer maker to sober up|url= httphttps://arstechnica.com/old/content/2008/09/source-code-requests-force-breathalyzer-maker-to-sober-up.ars|data=15 settembre 2008|accesso=11 novembre 2010}}
{{Citazione|L'Intoxilyzer 5000EN, un etilometro (...), funziona con un paio di processori Z80.||The Intoxilyzer 5000EN, a breathalyzer [...], runs on a pair of Z80 processors.|lingua=en}}</ref>
 
==== Elettronica di consumo ====
* Diverse [[Calcolatrice#Calcolatrice scientifica|calcolatrici scientifiche]] hanno usato lo Z80, incluse la TI-73<ref>{{cita web|url=http://www.ticalc.org/basics/calculators/ti-73.html|titolo=TI-73|editore=ticalc.org|accesso=8 novembre 2010}}</ref> (1998), la TI-81<ref>{{cita web|url=http://www.ticalc.org/basics/calculators/ti-81.html|titolo=TI-81|editore=ticalc.org|accesso=8 novembre 2010}}</ref> (1990), la TI-82<ref>{{cita web|url=http://www.ticalc.org/basics/calculators/ti-82.html|accesso=8 novembre 2010|titolo=TI-82|editore=ticalc.org}}</ref> (1993), la serie TI-83<ref>{{cita web|url=http://www.ticalc.org/basics/calculators/ti-83.html|editore=ticalc.org|accesso=8 novembre 2010|titolo=TI-83}}</ref> (1996), la serie TI-84<ref>{{cita web|url=http://www.ticalc.org/basics/calculators/ti-84plus.html|titolo=TI 84 Plus|editore=ticalc.org|accesso=8 novembre 2010}}</ref> (2004), la TI-85<ref>{{cita web|url=http://www.ticalc.org/basics/calculators/ti-85.html|titolo=TI-85|editore=ticalc.org|accesso=8 novembre 2010}}</ref> (1995) e la serie TI-86<ref>{{cita web|url=http://www.ticalc.org/basics/calculators/ti-86.html|titolo=TI-86|accesso=8 novembre 2010|editore=ticalc.org}}</ref> (1997) di [[Texas Instruments]].<ref>{{cita web|url=http://www.math.umbc.edu/~campbell/Calculators/TI8x/|cognome=Campbell|nome=Robert|titolo=TI-82/83/85/86 Mathematics Use|anno=2001|editore=UMBC|accesso=11 novembre 2010}}</ref>
* Tutti i lettori multimediali ''S1 MP3'' sono basati sul core Z80 (anni 2000).<ref>{{cita|Miesenberg|p. 556|miesenberg}}.</ref>
* Lo Z80 è stato usato spesso anche nei videogiochi [[videogioco arcade|arcade]],<ref name=popularity>{{cita|Balch|p. 122|balch}}.</ref> sia come CPU, sia come coprocessore audio o video. Il gioco [[Pac-Man]] (1980) utilizza un singolo Z80 come CPU.<ref>{{cita|Midway|p. 35|midway}}.</ref><ref>{{cita|Nitsche|p. 26|nitsche}}.
{{Citazione|(...) essi non capirono la fondamentale differenza nella logica fra la versione del Pac-Man (Iwatani 1980) che girava sull'originale Z80 (...)||[...] they would not realize the fundamental logical difference between a version of Pac-Man (Iwatani 1980) running on the original Z80 [...]|lingua=en}}</ref> [[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.<ref>{{cita|Midway|p. 25|galaxian}}.</ref> 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.<ref>{{cita|Midway|p. 76|galaga}}.</ref> La [[scheda madre]] ''Jaleco Master System 32'', utilizzata per diversi arcade, utilizza uno Z80 per la gestione del sonoro.<ref>{{cita web|url=http://www.arcadehits.net/datObase/rom.php?zip=f1superb|titolo=F1 Super Battle (arcade) - Sound CPU: Z80|editore=ArcadeHits|accesso=1º ottobre 2010|urlmorto=sì}}</ref>
* Lo Z80 fu usato anche in alcune [[console (videogiochi)|console giochi]] come la [[ColecoVision]] (1982),<ref>{{cita|InfoWorld (20/12/1982)|p. 33|infoworld-20121982}}.
{{Citazione|Il ColecoVision utilizza il microprocessore Z80.||The ColecoVision uses the Z80 microprocessor.|lingua=en}}</ref> il [[Sega Master System]] (1985)<ref>{{cita|Sánchez-Crespo Dalmau|p. 14|dalmau}}.{{Citazione|Internamente sia il NES che il Master System erano equipaggiati con processori ad 8 bit (rispettivamente un 6502 ed uno Zilog Z80).||Internally, both the NES and Master System were equipped with 8-bit processors (a 6502 and a Zilog Z80, respectively).|lingua=en}}</ref> 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 Playmore|SNK]] (1990).
* I sistemi gioco portatili [[Game Boy]] (1989) e [[Game Boy Color]] (1998) di [[Nintendo]] usavano un processore derivato dallo Z80<ref name= manydevices>{{cita|Frand, Yarusso|p. 182|frand}}.
{{Citazione|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.||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.|lingua=en}}</ref> 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 e i suoi cloni furono usati largamente in telefonia nelle linee telefoniche terrestri con [[Caller ID]].
 
Riga 349 ⟶ 377:
 
==== Strumenti musicali e altro ====
* Alcuni [[sequencer]] [[Musical Instrument Digital Interface|MIDI]] come l'[[E-mu]] ''4060 Polyphonic Keyboard and Sequencer'' (1977)<ref>{{cita web|url=https://www.media.mit.edu/resenv/classes/MAS963/history/emu.html|titolo=The history of Emu Systems|accesso=18 ottobre 2010|autore=Rob Keeble|urlmorto=sì|urlarchivio=https://archive.is/20100624054511/https://www.media.mit.edu/resenv/classes/MAS963/history/emu.html}}
 
* Alcuni [[sequencer]] [[Musical Instrument Digital Interface|MIDI]] come l'[[E-mu]] ''4060 Polyphonic Keyboard and Sequencer'' (1977)<ref>{{cita web|url=https://www.media.mit.edu/resenv/classes/MAS963/history/emu.html|titolo=The history of Emu Systems|accesso=18 ottobre 2010|autore=Rob Keeble|urlmorto=sì|urlarchivio=https://archive.is/20100624054511/https://www.media.mit.edu/resenv/classes/MAS963/history/emu.html|dataarchivio=24 giugno 2010}}{{Citazione|Lo Z80 divenne la base dei prodotti Emu per i successivi 10 anni.||(...) the Z80 became the basis for Emu products for the next 10 years.|lingua=en}}</ref> <!--, lo ''Zyklus MPS'' (1988)<ref>{{cita web|url=http://www.vyla.co.uk/Zyklus_MPS_Manual.pdf|titolo=Manuale tecnico dello Zyklus MPS|accesso=18/10/ ottobre 2010|editore=Zyklus Ltd.}}</ref> NON TROVO DOCUMENTAZIONE CIRCA LA PRESENZA DELLO Z80: TOLTO --> ed il ''[[Roland Corporation|Roland]] MSQ700'' (1984)<ref>{{cita web|url=http://www.emulatorarchive.com/AM/AMProjects/MSQ700/msq700.html|titolo=AM MSQ700 Nexus - MIDI Sequencer|editore=The Emulator Archive|accesso=12 novembre 2010}}{{Citazione|L'MSQ700 è un prodotto robusto e molto affidabile che può durare per decenni. Era basato su un microprocessore Z80.||The MSQ700 is a very reliable and robust design which will survive for decades. It based around a Z80 micro-processor.|lingua=en}}</ref>, erano costruiti intorno allo Z80.
* Anche alcuni controller e commutatori MIDI, come il ''Waldorf Midi-Bay MB-15'', usavano lo Z80 (1990).<ref>{{cita web|url=http://www.till-kopper.de/midibay.html|titolo=Waldorf Midi-Bay MB-15|accesso=18 ottobre 2010}}</ref>
* Alcuni [[sintetizzatore|sintetizzatori analogici]] [[polifonia|polifonici]] integravano lo Z80 come scanner della tastiera (ma anche per gestire le manopole delle impostazioni, i display e altro) e nei [[Convertitore digitale-analogico|convertitori D/A]] o nei [[Pulse-width modulation|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),<ref>{{cita web|titolo=The Prophet 5 and Prophet 10|cognome=Reid|nome=Gordon|anno=1999|url=http://www.gordonreid.co.uk/vintage/prophet.html|accesso=11 novembre 2010|urlmorto=sì|urlarchivio=https://web.archive.org/web/20020808224630/http://www.gordonreid.co.uk/vintage/prophet.html#}}
{{Citazione|Anche se i Prophet 5 ed i prophet 10 incorporavano dei microprocessori Z80, (...)||Although the Prophet 5s and Prophet 10s incorporated Z80 microprocessors, [...]|lingua=en}}</ref> ''Prophet 600'' (1982), ''Six-Trak'' (1984), ''Multitrak'' (1985), ''MAX'' (1984) e ''Split-8'' (1985) di ''Sequential Circuits'';<ref name="vintage">{{cita web|url=http://www.vintagesynth.com/|titolo=Elenco dei sintetizzatori del passato|editore=Vintage Synth|accesso=18 ottobre 2010}}</ref>
** il sintetizzatore a 6 voci ''MemoryMoog'' (1982);<ref>{{cita web|titolo=About MemoryMoog|url= http://www.interlogic.jpn.org/memorymoog/spec.html|sito=Moog MemoryMoog User Group|accesso=11 novembre 2010}}
{{Citazione|La CPU è uno Z80 più uno Z80CTC.||CPU is Z80 + Z80CTC.|lingua=en}}</ref>
** il sintetizzatore ad 8 voci ''Oberheim OB-8'' (1983) con MIDI;<ref name="vintage"/>
** il sintetizzatore ad 8 voci [[Roland Corporation|Roland]] ''Jupiter-8'']] (1981).<ref>{{cita web|url=http://www.synthtopia.com/content/2009/03/06/roland-jupiter-8/|titolo=The Roland Jupiter 8 Analog Synthesizer|editore=Synthtopia|accesso=18 ottobre 2010|data=6 marzo 2009}}
{{Citazione|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.||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.|lingua=en}}</ref>
* Sintetizzatori/[[campionatore|campionatori]] digitali come l<nowiki>{{'</nowiki>}}''E-MU Emulator I'' (1981), l<nowiki>{{'</nowiki>}}''Emulator II'' (1984) ed il campionatore a 12 bit ''Akai S700'' (1987).<ref>{{cita web|url=http://reviews.harmony-central.com/reviews/Keyboard+And+MIDI/product/Akai/S700/10/1|titolo=Akai S700|editore=Harmony Central|accesso=18 ottobre 2010|urlmorto=sì|urlarchivio=https://web.archive.org/web/20080331205741/http://reviews.harmony-central.com/reviews/Keyboard+And+MIDI/product/Akai/S700/10/1}}</ref>
* [[Drum machine]] come l<nowiki>{{'</nowiki>}}''E-mu SP-12'' (1985), l<nowiki>{{'</nowiki>}}''E-mu SP-1200'' (1987), l<nowiki>{{'</nowiki>}}''E-mu Drumulator'' (1983) ed il ''Drumtraks'' (1984) di ''Sequential Circuits'' usavano i processori Z80.<ref name="vintage"/>
* Molti [[Riverbero#Riverbero digitale|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 [[Valvola termoionica|valvole]] ''ADA MP-1'' (1988) usava lo Z80.<ref>{{cita web|url=http://users.skynet.be/fa342734/schematics/ADA-MP-1-schematics.zip|titolo=Schemi dell'ADA MP-1|accesso=8 novembre 2010|urlarchivio=https://web.archive.org/web/20070204095130/http://users.skynet.be/fa342734/schematics/ADA-MP-1-schematics.zip|urlmorto=sì}}</ref>
*Il preamplificatore per chitarra con controller MIDI a [[Valvola termoionica|valvole]] MESA BOOGIE Triaxis (1991) usa lo Z80.
 
<gallery>
File:Roland Jupiter-8 Synth, 1983 (2039658601white bg).jpg|Il Roland Jupiter-8, un sintetizzatore analogico del 1981, utilizzava lo Z80.
File:E-mu SP-1200 front of machine.jpg|L'E-mu SP-1200 è una [[drum machine]] e [[campionatore]] che usava lo Z80.
File:Sequential Circuits Prophet 5.jpg|Il Sequential Circuits Prophet 5, un sintetizzatore che impiegava lo Z80
Riga 372 ⟶ 404:
 
== Bibliografia ==
=== Testi (in italiano) ===
* {{cita libro|cognome=Sesto Rubino|nome=Patrizio|titolo=Il nuovo manuale Z80|editore=Editrice Il Rostro|anno=1982|coautori=Giuseppe Pranzo Zaccaria}} {{NoISBN}}
=== Testi (in inglese) ===
[[File:Z80 programming reference card.JPG|thumb|Schede di riferimento per la programmazione per CPU Z80 di tre diversi produttori.]]
=== Testi ===
* {{cita libro|titolo=Zilog Components Data Book|anno=1985|editore=Zilog}} {{NoISBN}}
* {{citaCita libro|titolo=Zilog Z-80 Data BookMicroprocessori|url=httphttps://www.bitsaversarchive.org/pdfdetails/zilogMicroprocessori/_dataBookspage/Z80_DataBook.pdfn85|formatoautore=pdf|accessoeditore=20Gruppo luglioEditoriale 2009Jackson|anno=19781988|editoreISBN=Zilog}} {{NoISBN88-256-0068-2|pp=85-120}}
* {{Cita libro|titolo=Programmazione dello Z80|url=https://archive.org/details/programmazionedelloz80|autore=Rodnay Zaks|editore=Gruppo Editoriale Jackson|anno=1981|ISBN=|cid=Zaks}}
* {{cita libro|cognome=Anderson|nome=Alexander John|titolo=Foundations of Computer Technology|ed=1 |data=8 settembre 1994 |editore=CRC Press, |ISBN=0-412-59810-8|id=.|cid=Anderson}}
* {{Cita libro|titolo=Z80 - Programmazione in linguaggio Assembly|url=https://archive.org/details/z80programmazioneinlinguaggioassembly|autore=Lance A. Leventhal|editore=Gruppo Editoriale Jackson|anno=1981|ISBN=}}
* {{cita libro|cognome=Artwick|nome=Bruce A.|anno=1980|editore=Prentice-Hall|titolo=Microcomputer interfacing|ISBN=978-0-13-580902-0|id=.|cid=artwick}}
* {{Cita libro|titolo=Programmazione dello Z80 e progettazione logica|url=https://archive.org/details/programmazionedelloz80eprogettazionelogica|autore=Adam Osborne, Jerry Kane, Russell Rector, Susanna Jacobson|editore=Gruppo Editoriale Jackson|anno=1981|ISBN=}}
* {{cita libro|cognome=Axelson|nome=Jan|titolo=Embedded ethernet and internet complete|editore=Lakeview research|anno=2003|ISBN=978-1-931448-00-0|id=.|cid=axelson}}
* {{Cita libro|titolo=Il Nanobook Z-80|url=https://archive.org/details/ilnanobookz80|autore=Elizabeth A. Nichols, Joseph C. Nichols, Peter R. Rony|editore=Jackson Italiana Editrice|anno=1979|ISBN=}}
* {{cita libro|cognome=Balch|nome=Mark|titolo=Complete Digital Design: A Comprehensive Guide to Digital Electronics and Computer System Architecture|anno=2003|editore=McGraw-Hill Professional|ISBN=0-07-140927-0|id=.|capitolo= Digital Fundamentals|cid=balch}}
* {{cita libro|cognome=BrockSesto Rubino|nome=Gerald W.Patrizio|titolo=TheIl secondnuovo informationmanuale revolutionZ80|editore=HarvardEditrice UniversityIl PressRostro|anno=20031982|ISBNcoautori=978-0-674-01178-6|id=.|cid=BrockGiuseppe Pranzo Zaccaria}} {{NoISBN}}
* {{cita libro|lingua=en|titolo=Zilog Components Data Book|anno=1985|editore=Zilog}} {{NoISBN}}
* {{cita libro|autore=Wai-Kai Chen|titolo=The circuits and filters handbook|capitolo=61.4 - Microprocessor Based Degins: Interfacing|editore=CRC Press|anno=2002|ed=2|ISBN=978-0-8493-0912-0|id=.|cid=Chen}}
* {{cita libro|lingua=en|titolo=Zilog Z-80 Data Book|url=http://www.bitsavers.org/pdf/zilog/_dataBooks/Z80_DataBook.pdf|formato=pdf|accesso=20 luglio 2009|anno=1978|editore=Zilog|urlmorto=sì|urlarchivio=https://web.archive.org/web/20101018160401/http://www.bitsavers.org/pdf/zilog/_dataBooks/Z80_DataBook.pdf}} {{NoISBN}}
* {{cita libro|cognome=Ciarcia|nome=Steve|titolo=Build your own Z80 computer: design guidelines and application notes|anno=1981|mese=ottobre|editore=BYTE|ISBN=0-07-010962-1|id=.|cid=Ciarcia}}
* {{cita libro|autorelingua=Commodore Business Machinesen|annocognome=1986Anderson|editorenome=BantamAlexander BooksJohn|titolo=CommodoreFoundations 128:of Programmer'sComputer ReferenceTechnology|ed=1 |data=8 settembre 1994 |editore=CRC Press, Guide|ISBN=978-0-553412-3429259810-58|cid=c128Anderson}}
* {{cita libro|autorelingua=Danielen|cognome=Artwick|nome=Bruce Sánchez-Crespo DalmauA.|anno=20041980|editore=New RidersPrentice-Hall|titolo=CoreMicrocomputer techniques and algorithms in game programminginterfacing|url=https://archive.org/details/microprocessorin01carr|ISBN=978-0-13-102009580902-2|id=.0|cid=dalmauartwick}}
* {{cita libro|lingua=en|cognome=FroehlichAxelson|nome=Robert A.Jan|titolo=FreeEmbedded software catalogethernet and directinternet complete|url=https://archive.org/details/embeddedethernet0000axel|editore=CrownLakeview Publishersresearch|anno=19842003|ISBN=978-01-517931448-5544800-7|id=.0|cid=froehlichaxelson}}
* {{cita libro|autorelingua=Joe Grand ''et al.''en|cognome=Balch|nome=Mark|titolo=GameComplete consoleDigital hackingDesign: Xbox,A PlayStation,Comprehensive Nintendo,Guide Gameto Boy,Digital Atari,Electronics &and SegaComputer System Architecture|url=https://archive.org/details/completedigitald0000balc|anno=20042003|editore=SyngressMcGraw-Hill Professional|ISBN=9780-107-931836140927-31-90|idcapitolo=. Digital Fundamentals|cid=frandbalch}}
* {{cita libro|nomelingua=Steveen|cognome=HeathBrock|mesenome=dicembreGerald W.|annotitolo=2002The second information revolution|editoreurl=Newneshttps://archive.org/details/secondinformatio0000broc|ededitore=2|titolo=EmbeddedHarvard systemsUniversity designPress|anno=2003|ISBN=978-0-7506674-554601178-0|id=.6|cid=esdBrock}}
* {{cita libro|cognomelingua=Holtzen|nomeautore=HermanWai-Kai Chen|titolo=ComputerThe workcircuits stationsand -filters Ahandbook|capitolo=61.4 Manager's- GuideMicroprocessor toBased OfficeDegins: Automation and Multi-User SystemsInterfacing|editore=Chapman andCRC HallPress|anno=19852002|ed=2|ISBN=978-0-4128493-004910912-9|id=.0|cid=chapmanChen}}
* {{cita libro|lingua=en|cognome=HyderCiarcia|nome=KamalSteve|titolo=EmbeddedBuild systemsyour designown usingZ80 thecomputer: Rabbitdesign 30000guidelines microprocessor|coautori=Boband Perrinapplication notes|editoreurl=Newneshttps://archive.org/details/bwb_0-07-010962-1|anno=20041981|mese=ottobre|editore=BYTE|ISBN=978-0-750607-7872010962-8|id=.1|cid=hyderCiarcia}}
* {{cita libro|lingua=en|autore=Commodore Business Machines|anno=1986|editore=Bantam Books|titolo=Commodore 128: Programmer's Reference Guide|url=https://archive.org/details/C128_Programmers_Reference_Guide_1986_Bamtam_Books_a|ISBN=978-0-553-34292-5|cid=c128}}
* {{cita libro|cognome=Longley|nome=Dennis|titolo=Expanding and networking microcomputers: the complete and up to date guide to over 600 boards for Apple and IBM PCs|editore=MacMillan Press|anno=1985|coautori=Michael Shain|ISBN=978-0-333-38006-2|cid=longley}}
* {{cita libro|autorelingua=Aditya P. Mathuren|titoloautore=IntroductionDaniel to Microprocessors|ed=3Sánchez-Crespo Dalmau|anno=19902004|editore=McGrawNew HillRiders|titolo=Core techniques and algorithms in game programming|ISBN=978-0-0713-460222102009-5|id=.2|cid=mathurdalmau}}
* {{cita libro|lingua=en|cognome=MeystelFroehlich|nome=Alex|anno=1991|editore=WorldRobert ScientificA.|titolo=AutonomousFree mobilesoftware robots:catalog vehiclesand withdirect|url=https://archive.org/details/freesoftwarecata0000froe|editore=Crown cognitive controlPublishers|anno=1984|ISBN=978-99710-5517-008955448-4|id=.7|cid=meystelfroehlich}}
* {{cita libro|lingua=en|autore=Joe Grand ''et al.''|titolo=Game console hacking: Xbox, PlayStation, Nintendo, Game Boy, Atari, & Sega|anno=2004|editore=Syngress|ISBN=978-1-931836-31-9|cid=frand}}
* {{cita libro|cognome=Miesenberger|nome=Klaus|titolo=Computers Helping People with Special Needs|ISBN=978-3-540-70539-0|id=.|anno=2008|editore=Springer-Verlag|cid=miesenberg}}
* {{cita libro|cognomelingua=Nelsonen|nome=Ross P.Steve|titolocognome=The 80386 book: assembly language programmer's guide for the 80386Heath|editoremese=Microsoft Pressdicembre|anno=19892002|editore=Newnes|ed=2|titolo=Embedded systems design|ISBN=978-10-556157506-1385546-5|id=.0|cid=rossesd}}
* {{cita libro|lingua=en|cognome=NitscheHoltz|nome=MichaelHerman|titolo=VideoComputer Gamework Spaces:stations Image,- Play,A andManager's StructureGuide into 3DOffice WorldsAutomation and Multi-User Systems|annourl=2009https://archive.org/details/computerworkstat0000holt|editore=MITChapman and PressHall|anno=1985|ISBN=978-0-262412-1410100491-9|id=.|capitolo=Games and Rules|cid=nitschechapman}}
* {{cita libro|nomelingua=Julioen|cognome=SanchezHyder|coautorinome=Maria P. CantonKamal|titolo=SoftwareEmbedded solutionssystems fordesign engineersusing andthe scientistsRabbit 30000 microprocessor|annocoautori=2008Bob Perrin|editore=CRC PressNewnes|anno=2004|ISBN=978-10-42007506-43027872-0|id=.8|cid=sanchezhyder}}
* {{cita libro|lingua=en|cognome=ScanlonLongley|nome=Leo J.Dennis|titolo=8086/8088/80286Expanding assemblyand languagenetworking microcomputers: the complete and up to date guide to over 600 boards for Apple and IBM PCs|editore=MacMillan Press|anno=19781985|editorecoautori=BradyMichael BooksShain|ISBN=978-0-13333-24691938006-7|id=.2|cid=scanlonlongley}}
* {{cita libro|cognomelingua=Sinclairen|nomeautore=IanAditya RP.|anno=2000|editore=Newnes Mathur|titolo=PracticalIntroduction electronicsto handbookMicroprocessors|ed=53 |anno=1990|editore=McGraw Hill |ISBN=978-0-750607-4585460222-05|cid=robertsonmathur}}
* {{cita libro|lingua=en|cognome=ZaksMeystel|nome=RodnayAlex|titoloanno=Programming the Z80|ed=31991|editore=SybexWorld Inc.Scientific|annotitolo=1981Autonomous mobile robots: vehicles with cognitive control|ISBN=978-09971-895885-0690089-7|id=.4|cid=rodnaymeystel}}
* {{cita libro|lingua=en|cognome=Miesenberger|nome=Klaus|titolo=Computers Helping People with Special Needs|ISBN=978-3-540-70539-0|anno=2008|editore=Springer-Verlag|cid=miesenberg}}
* {{cita libro|titolo=Electronic Business Asia|editore=Cahners Asia Limited|anno=1997|cid=cahners}} {{NoISBN}}
* {{cita libro|lingua=en|cognome=Nelson|nome=Ross P.|titolo=The 80386 book: assembly language programmer's guide for the 80386|url=https://archive.org/details/8038680386book0000nels|editore=Microsoft Press|anno=1989|ISBN=978-1-55615-138-5|cid=ross}}
* {{cita libro|lingua=en|cognome=Nitsche|nome=Michael|titolo=Video Game Spaces: Image, Play, and Structure in 3D Worlds|url=https://archive.org/details/videogamespacesi0000nits|anno=2009|editore=MIT Press|ISBN=0-262-14101-9|capitolo=Games and Rules|cid=nitsche}}
* {{cita libro|lingua=en|nome=Julio|cognome=Sanchez|coautori=Maria P. Canton|titolo=Software solutions for engineers and scientists|anno=2008|editore=CRC Press|ISBN=978-1-4200-4302-0|cid=sanchez}}
* {{cita libro|lingua=en|cognome=Scanlon|nome=Leo J.|titolo=8086/8088/80286 assembly language|anno=1978|editore=Brady Books|ISBN=978-0-13-246919-7|cid=scanlon}}
* {{cita libro|lingua=en|cognome=Sinclair|nome=Ian R.|anno=2000|editore=Newnes|titolo=Practical electronics handbook|url=https://archive.org/details/practicalelectro0000sinc_u9l7|ed=5|ISBN=978-0-7506-4585-0|cid=robertson}}
* {{cita libro|lingua=en|titolo=Electronic Business Asia|editore=Cahners Asia Limited|anno=1997|cid=cahners}} {{NoISBN}}
 
=== Pubblicazioni ===
* {{RivistaVG|bit|3|43|6/8|1979|titolo=Nuove istruzioni dello Z-80|autore=Franco Maddaleno|pp=43-48}}
* {{cita pubblicazione|url=http://books.google.it/books?id=HjAEAAAAMBAJ&pg=PA58&dq=infoworld+History+of+the+8-bit:+travelling+far+in+a+short+time&hl=it&ei=_QXZTIbsNMXqOczK1cEJ&sa=X&oi=book_result&ct=result&resnum=1&ved=0CCgQ6AEwAA#v=onepage&q=shima&f=false|volume=4|numero=47|rivista=InfoWorld|titolo=History of the 8-bit: travelling far in a short time|editore=InfoWorld Media Group|data=29 novembre 1982|pp=58-60|issn=0199-6649|cid=infoworld-29111982}}
* {{cita pubblicazione|lingua=en|url=http://books.google.it/books?id=HjAEAAAAMBAJ&pg=PA58&dq=infoworld+History+of+the+8-bit:+travelling+far+in+a+short+time&hl=it&ei=_QXZTIbsNMXqOczK1cEJ&sa=X&oi=book_result&ct=result&resnum=1&ved=0CCgQ6AEwAA#v=onepage&q=shima&f=false|volume=4|numero=47|rivista=InfoWorld|titolo=History of the 8-bit: travelling far in a short time|editore=InfoWorld Media Group|data=29 novembre 1982|pp=58-60|issn=0199-6649|cid=infoworld-29111982}}
* {{cita pubblicazione|titolo=The Birth of the Microprocessor - My Recollections|autore=Federico Faggin|editore=intel4004.com|data=15 ottobre 2001|accesso=4 ottobre 2010|url=http://www.intel4004.com/speech.htm|cid=faggin}}
* {{cita pubblicazione|lingua=en|titolo=Z180The FamilyBirth Questionsof andthe AnswersMicroprocessor - My Recollections|autore=ZilogFederico Faggin|editore=intel4004.com|data=marzo15 1994ottobre 2001|accesso=4 ottobre 2010|url=http://www.wfmsintel4004.orgcom/sb180/z180qaspeech.pdf|formato=PDF|accesso=9 novembre 2010htm|cid=z180faqfaggin}}
* {{cita pubblicazione|lingua=en|titolo=Z180 Family Questions and Answers|autore=Zilog|data=marzo 1994|url=http://www.z80wfms.infoorg/zipsb180/z80z180qa.pdf|titoloformato=Zilog product specification - Z8400/Z84C00 NMOS/CMOS Z80 CPU Central Processing Unit|editore=Z80.infoPDF|accesso=219 agostonovembre 2010|cid=z80pdfz180faq|urlmorto=sì|urlarchivio=https://web.archive.org/web/20090105203850/http://www.wfms.org/sb180/z180qa.pdf}}
* {{cita pubblicazione|titololingua=Z80 Family CPU User Manualen|autore=Zilog|anno=2005|url=http://www.zilogz80.cominfo/docszip/z80/um0080.pdf|titolo=Zilog product specification - Z8400/Z84C00 NMOS/CMOS Z80 CPU Central Processing Unit|editore=Z80.info|accesso=21 agosto 2010|cid=um0080z80pdf}}
* {{cita pubblicazione|urllingua=http://z80cpu.eu/mirrors/oldcomputers.dyndns.org/manuals/z80asm.pdfen|titolo=Z80 RelocatingFamily Macro AssemblerCPU User's GuideManual|autore=SLR SystemsZilog|anno=19842005|url=https://www.zilog.com/docs/z80/um0080.pdf|cid=z80asmum0080}}
* {{cita pubblicazione|lingua=en|url=http://z80cpu.eu/mirrors/oldcomputers.dyndns.org/manuals/z80asm.pdf|titolo=Z80 Relocating Macro Assembler User's Guide|autore=SLR Systems|anno=1984|cid=z80asm|urlmorto=sì|urlarchivio=https://web.archive.org/web/20110720173724/http://z80cpu.eu/mirrors/oldcomputers.dyndns.org/manuals/z80asm.pdf}}
* {{cita pubblicazione|rivista=InfoWorld|volume=4|numero=24|autore=InfoWorld Media Group|data=21 giugno 1982|titolo=Macro-Mon, an advanced monitor for the TSR-80|url=http://books.google.it/books?id=XjAEAAAAMBAJ&pg=PA23&dq=infoworld+After+the+command+summary+are+examples+and+two+pages+of+undocumented+Z80+operation+codes&hl=it&ei=7CfZTL24MMWYOsOf2PcJ&sa=X&oi=book_result&ct=result&resnum=1&ved=0CCgQ6AEwAA#v=onepage&q&f=false|cid=infoworld-21061982}}
* {{cita pubblicazione|lingua=en|rivista=InfoWorld|volume=4|numero=24|autore=InfoWorld Media Group|data=21 giugno 1982|titolo=Macro-Mon, an advanced monitor for the TSR-80|url=http://books.google.it/books?id=XjAEAAAAMBAJ&pg=PA23&dq=infoworld+After+the+command+summary+are+examples+and+two+pages+of+undocumented+Z80+operation+codes&hl=it&ei=7CfZTL24MMWYOsOf2PcJ&sa=X&oi=book_result&ct=result&resnum=1&ved=0CCgQ6AEwAA#v=onepage&q&f=false|cid=infoworld-21061982}}
* {{cita pubblicazione|url=http://smithsonianchips.si.edu/ice/cd/STATUS97/SEC06.PDF|titolo=Section 6 MOS MPU, MCU, and Peripherals Market Trends|autore=Smithsonian|cid=smithsonian}}
* {{cita pubblicazione|lingua=en|url=http://smithsonianchips.si.edu/ice/cd/STATUS97/SEC06.PDF|titolo=Section 6 MOS MPU, MCU, and Peripherals Market Trends|autore=Smithsonian|cid=smithsonian}}
* {{cita pubblicazione|rivista=InfoWorld|volume=4|numero=18|data=10 maggio 1982|titolo=After CP/M, object oriented operating systems may lead the field|cognome=Dvorak|nome= John C.|editore=InfoWorld Media Group|cid=infoworld-10051982}}
* {{cita pubblicazione|lingua=en|rivista=InfoWorld|volume=64|numero=6|editore=InfoWorld Media Group18|data=610 febbraiomaggio 19841982|titolo=Review:After PremiumCP/M, Softcardobject IIeoriented operating systems may lead the field|cognome= PetersenDvorak|nome=Marty John C.|editore=InfoWorld Media Group|cid=infoworld-0602198410051982}}
* {{cita pubblicazione|lingua=en|rivista=InfoWorld|volume=6|numero=6|editore=InfoWorld Media Group|data=6 febbraio 1984|titolo=Review: Premium Softcard IIe|cognome= Petersen|nome=Marty|cid=infoworld-06021984}}
* {{cita pubblicazione|titolo=Midway Pac-Man Parts and Operating Manual|url=http://www.arcade-museum.com/manuals-videogames/P/Pac-Man.pdf|accesso=9 novembre 2010|anno=1980|mese=dicembre|autore=[[Midway Games]]|capitolo=Game Board Schematic|cid=midway}}
* {{cita pubblicazione|lingua=en|titolo=Midway GalaxianPac-Man Parts and Operating Manual|url=http://www.arcade-museum.com/manuals-videogames/GP/GalaxianPac-Man.pdf|accesso=9 novembre 2010|anno=1980|mese=febbraiodicembre|autore=[[Midway Games]]|capitolo=Game LogicBoard Schematic|cid=galaxianmidway}}
* {{cita pubblicazione|lingua=en|titolo=Midway GalagaGalaxian Parts and Operating Manual|url=http://www.arcade-museum.com/manuals-videogames/G/GalagaGalaxian.pdf|accesso=9 novembre 2010|anno=19811980|mese=ottobrefebbraio|autore=[[Midway Games]]|capitolo=Schematics andGame WiringLogic DiagramsSchematic|cid=galagagalaxian}}
* {{cita pubblicazione|lingua=en|titolo=Midway Galaga Parts and Operating Manual|url=http://www.arcade-museum.com/manuals-videogames/G/Galaga.pdf|accesso=9 novembre 2010|anno=1981|mese=ottobre|autore=[[Midway Games]]|capitolo=Schematics and Wiring Diagrams|cid=galaga}}
* {{cita pubblicazione|editore=InfoWorld|rivista=InfoWorld|volume=4|numero=50|data=20 dicembre 1982|titolo=Electronic Christmas, Zappy New Year|cid=infoworld-20121982}}
* {{cita pubblicazione|lingua=en|editore=InfoWorld|rivista=InfoWorld|volume=4|numero=50|data=20 dicembre 1982|titolo=Electronic Christmas, Zappy New Year|cid=infoworld-20121982}}
* {{cita pubblicazione|lingua=en|url=http://books.google.it/books?id=fdvrCZFHhGgC&pg=PA276&lpg=PA276&dq=zilog+royalty+z80&source=bl&ots=KTjCDv3WY3&sig=nzIqyCe1YP_pn5EfZActrnm7SQU&hl=it&ei=HgWjTNCnLovgOO_RnYsE&sa=X&oi=book_result&ct=result&resnum=5&ved=0CCsQ6AEwBDgU#v=onepage&q=zilog%20royalty%20z80&f=false|titolo=Japanes computer firms in court again|rivista=New Scientist|data=5 maggio 1983|editore=Reed Business Information Ltd|accesso=9 novembre 2010|cid=newscientist}}
* {{cita pubblicazione|lingua=en|url=httphttps://www.zilog.com/docs/z180/z8s180ps.pdf|titolo=Zilog Z8S180/Z8L180|autore=Zilog, Inc.|accesso=12 novembre 2010|cid=z8s180|anno=2000}}
* {{cita pubblicazione|lingua=en|autore=Zilog, Inc.|url=httphttps://www.zilog.com/docs/um0077.pdf|titolo=eZ80 CPU User Manual|anno=2008|accesso=12 novembre 2010|cid=ez80}}
 
=== Articoli sull'architettura dello Z80 ===
* {{cita pubblicazione|lingua=en|autore=A. El-Hajj|coautori=K.Y. Kabalan; M. Mneimneh; F. Karablieh|titolo=Microprocessor simulation and program assembling using spreadsheets|url=https://archive.org/details/sim_simulation_2000-08_75_2/page/82|rivista=Simulation|volume =75|numero=2|pp=82-90|mese=agosto|anno=2000|doi=10.1119/1.14604}}
* {{cita pubblicazione|lingua=en|autore=K. Nagasawa|coautori=K. Taki; H. Tamemoto; B.Y. Lee; H. Tanaka; S. Imai; Y. Kajikawa; D. Azuma|titolo=Design and evaluation for super low power Z80 with pass-transistor logic|rivista=Sharp Technical Journal|volume=67|pp=35-40|mese=aprile|anno=1997}}
* {{cita pubblicazione|lingua=en|autore=W. Lunscher|titolo=Semaphore Strategy For Z80|rivista=IEEE Micro|volume=5|numero=3|p=4| editore=IEEE|anno=1985|doi=10.1109/MM.1985.304535}}
* {{cita pubblicazione|lingua=en|autore=M. Smith|coautori=B.E. Luff|titolo=Automatic Assembler Source Translation From The Z80 To The Mc6809|rivista=IEEE Micro|volume=4|numero=2|pp=3-9|editore=IEEE|anno=1984|doi=10.1109/MM.1984.291314}}
 
=== Impieghi didattici ===
* {{cita pubblicazione|lingua=en|autore=H.B. Diab|coautori=I. Demashkieh|titolo=A computer-aided teaching package for microprocessor systems education|rivista=IEEE Transactions on Education|volume =34|numero=2|pp=179-183|editore=IEEE|mese=maggio|anno=1991|url=http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?isnumber=2676&arnumber=81598&count=10&index=4|doi=10.1109/13.81598}}
* {{cita pubblicazione|lingua=en|autore=M.H. Nehrir|coautori=A.J. Odermann; B.D. Bowen|titolo=A microcomputer-microprocessor-based DC motor speed controller for undergraduate electric machinery laboratory|rivista=IEEE Transactions on Education|volume=33|numero=4|pp=341-345|editore=IEEE|mese=novembre|anno=1990|url=http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?isnumber=2226&arnumber=61087&count=16&index=5|doi=10.1109/13.61087}}
* {{cita pubblicazione|lingua=en|autore=C. D. Spencer|coautori=P. F. Seligmann|titolo=Microcomputers as digital electronics|rivista=American Journal of Physics|volume=54|numero=5|pp=411-415|editore=AAPT|mese=maggio|anno=1986|url=http://scitation.aip.org/getabs/servlet/GetabsServlet?prog=normal&id=AJPIAS000054000005000411000001&idtype=cvips&gifs=Yes|doi=10.1119/1.14604|urlmorto=sì|accesso=3 settembre 2010|urlarchivio=https://archive.is/20130223121258/http://scitation.aip.org/getabs/servlet/GetabsServlet?prog=normal&id=AJPIAS000054000005000411000001&idtype=cvips&gifs=Yes}}
* {{cita pubblicazione|lingua=en|autore=Trevor N. Mudge|coautori=Gregory D. Buzzard|titolo=Teaching Assembly Language Programming With ZIP, A Z80 Assembly Language Interpreter Program|rivista=IEEE Transactions on Education|volume=26|numero=3|pp=91-98|editore=IEEE|anno=1983|doi=10.1109/TE.1983.4321615}}
* Sistema [[Microprofessor I]] con Z80, con corso e manuali di apprendimento.
 
=== Applicazioni scientifiche ===
* {{cita pubblicazione|lingua=en|autore=F.O. Otieno|coautori=B.O. Kola; F. N. Onyango|titolo=On-line determination of thermophysical properties in an absorption calorimeter|rivista=Measurement Science & Technology|volume=8|numero=3|pp=239-244|editore=IOP|mese=marzo|anno=1997|url= http://www.iop.org/EJ/abstract/0957-0233/8/3/004|doi=10.1088/0957-0233/8/3/004}}
* {{cita pubblicazione|lingua=en|autore=S. Altieri|coautori=F. Fossati; A. Lanza; T. Pinelli|titolo=An Automated-System to Control the Polarization Voltage of Silicon Detectors|rivista=IEEE Transactions on Nuclear Science|volume=42|numero=2|pp=57-60|editore=IEEE|mese=aprile|anno=1995|url=http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?isnumber=8517&arnumber=372132&count=9&index=1| doi=10.1109/23.372132}}
* {{cita pubblicazione|lingua=en|autore=F.M. Xiao|coautori=S. Li|titolo=A Front-End Data Acquisition-System for Mossbauer-Spectroscopy|rivista=Hyperfine Interactions|volume=71|pp=1531-1534|editore=Springer Netherlands|anno=1992|url=http://www.springerlink.com/content/p350730681282l12/?p=3befb0d2af2742f48a40f203d8cc6862&pi=0|doi=10.1007/BF02397372|urlmorto=sì}}
* {{cita pubblicazione|lingua=en|autore=T. Brenner|coautori=S. Buttgenbach; T. Fabula; W. Rupprecht|titolo=Real-time data acquisition system for laser and radio frequency spectroscopy|rivista=J. Phys. E: Sci. Instrum.|volume=21|pp=1150-1153|editore=IOP|anno=1988|url= http://www.iop.org/EJ/abstract/-search=15241819.2/0022-3735/21/12/005|doi=10.1088/0022-3735/21/12/005}}
* {{cita pubblicazione|lingua=en|autore=P.M. Kennedy|coautori=Z.H. Stachurski|titolo=A novel semi-contact extensometer based on Z80 microprocessor|rivista=J. Phys. E: Sci. Instrum.|volume=19|pp=115-118|editore=IOP|anno=1986|url=http://www.iop.org/EJ/abstract/-search=15241819.3/0022-3735/19/2/003|doi=10.1088/0022-3735/19/2/003}}
* {{cita pubblicazione|lingua=en|autore=L. Thomas|coautori=W. Bunn; S. Woodward; T. Baer|titolo=Design and operation of a 12.5-ns multichannel scaler|rivista=Review of Scientific Instruments|volume=55|numero=11|pp=1849-1853|editore=AIP|mese=novembre|anno=1984|url=http://scitation.aip.org/getabs/servlet/GetabsServlet?prog=normal&id=RSINAK000055000011001849000001&idtype=cvips&gifs=Yes| doi=10.1063/1.1137678|urlmorto=sì|accesso=3 settembre 2010|urlarchivio=https://archive.is/20130223075345/http://scitation.aip.org/getabs/servlet/GetabsServlet?prog=normal&id=RSINAK000055000011001849000001&idtype=cvips&gifs=Yes}}
* {{cita pubblicazione|lingua=en|autore=K. L. Sala|coautori=R. LeSage; R. W. Yip|titolo= S-100/Z80 microprocessor-based scanning microdensitometer and signal processing system|rivista= Review of Scientific Instruments|volume=53|numero=11|pp=1682-1684|editore=AIP|mese=novembre|anno=1982|url=http://scitation.aip.org/getabs/servlet/GetabsServlet?prog=normal&id=RSINAK000053000011001682000001&idtype=cvips&gifs=Yes|doi=10.1063/1.1136870|urlmorto=sì|accesso=3 settembre 2010|urlarchivio=https://archive.is/20130223081057/http://scitation.aip.org/getabs/servlet/GetabsServlet?prog=normal&id=RSINAK000053000011001682000001&idtype=cvips&gifs=Yes}}
 
== Voci correlate ==
* [[ZilogFederico Faggin]]
* [[ZiLOG|Zilog]]
* [[CP/M]]
* [[S-100]]
* [[8 bit#Processori 8 bit|Processori ada 8 bit]]
 
== Altri progetti ==
{{interprogetto|preposizione=sullo}}
{{Interprogetto|commons=Category:ZiLOG Z80}}
 
== Collegamenti esterni ==
* {{Collegamenti esterni}}
* [http://www.zilog.com/index.php?option=com_product&Itemid=26&mode=showFamilyDetails&familyId=20&parent_id=113 Famiglia dei prodotti Zilog Z80] - dal sito ufficiale di Zilog
* {{FOLDOC}}
* [https://www.zilog.com/index.php?option=com_product&Itemid=26&mode=showFamilyDetails&familyId=20&parent_id=113 Famiglia dei prodotti Zilog Z80] - dal sito ufficiale di Zilog
* [http://www.z80.info/ Z80-Family Pagina di supporto ufficiale] – creata da Thomas Scherrer, mantenuta da Gaby Chaudry
* [http://www.zophar.net/z80.html Emulatori software per Z80] – elenco presente sul sito Zophar's Domain
* [http://www.mathematik.uni-ulm.de/users/ag/yaze-ag/ YAZE-AG (''Yet Another Z80 Emulator by AG'')] – emulatore per Unix(Solaris), Linux, FreeBSD, Macintosh e Windows
* [httphttps://esngwww.dibedigitalelectronicsdeeds.unige.itcom/Deeds DEEDS – Suite di simulatori per la progettazione digitale ad uso didattico] – simula anche sistemi a microprocessore basati sul DMC8 (CPU a 8 bit derivata dallo Z80); esporta i progetti in VHDL e su FPGA (liberamente scaricabile)
* [https://web.archive.org/web/20080509183609/http://www.flite.co.uk/microprofessor-mpf-1b-z80-training-system.htm Flite Electronics - Costruttore del sistema didattico per Z80] [[Microprofessor I]]
* Core gratuito della CPU Z80 in [httphttps://wwwweb.archive.org/web/20110727145248/http://opencores.org/projects.cgi/web/t80/overview codice VHDL] oppure in [httphttps://wwwweb.archive.org/web/20160909055736/http://opencores.org/projects.cgi/web/tv80/overview codice Verilog] – da OpenCores.org
* [http://www.myquest.nl/z80undocumented/ Tutte le caratteristiche non documentate dello Z80] – creato da Sean Young (su http://www.myquest.nl/z80undocumented/)
* {{cita web | url = http://www.uelectronics.info/n8vem-single-board-computer/ | titolo = SBC N8VEM | accesso = 3 settembre 2010 | urlarchivio = https://web.archive.org/web/20100131160523/http://www.uelectronics.info/n8vem-single-board-computer | urlmorto = sì }}
* {{cita web | url = http://www.retroleum.co.uk/v6z80p/ | titolo = V6Z80P - Moderno home computer con lo Z80 come processore | accesso = 10 novembre 2010 | urlarchivio = https://web.archive.org/web/20101110015212/http://www.retroleum.co.uk/v6z80p/ | urlmorto = sì }}
* [http://mdfs.net/Docs/Comp/Z80/ Lista degli opcode dello Z80] - da mdfs.net
* [http://www.nascomhomepage.com/pdf/z80-mostek.pdf Mostek Z80 Manuale tecnico del processore] – manuale completo
* {{cita web|httpurl=https://www.zilog.com/docs/z80/um0080.pdf|titolo=Manuale di riferimento dello Z80 con la descrizione delle istruzioni del processore}}
* {{cita web|httpurl=https://www.zilog.com/docs/z80/um0081.pdf|titolo=Manuale di riferimento delle periferiche dello Z80}}
* {{cita web|url=https://www.youtube.com/watch?v=MQcgQboVb3g|titolo=ZED Computer - Single Board Computer}}