Zilog Z80

Zilog Z80 on Zilogi 1970-ndate lõpul loodud 8-bitine neljanda põlvkonna mikroprotsessor. Peaaegu sama nimekuju Z-80 kasutas Zilogi loodud arvuti. Võrreldes kolmanda ja teise põlvkonna protsessoritega, pakub Z80 efektiivsemat mälukasutust ja suuremat käskude läbilaskevõimet. Protsessor on tarkvaraliselt kokkusobiv edasiarendus Intel 8080 protsessorist ning oli samuti mõeldud eelkõige manussüsteemides kasutamiseks. Kuni 1980-ndate keskpaigani oli Zilog Z80 koduarvutitel üks kõige laialdasemalt kasutusel olevaid protsessoreid. Protsessorit toodetakse ja müüakse tänapäevani.

Ajalugu

Zilog Z80 loonud ettevõtte asutasid 1974. aasta lõpus Intelist lahkunud füüsik Federico Faggin ja elektrotehnik Ralph Ungermann. Faggin oli selleks ajaks oma töö jooksul Fairchild Semiconductor'is ja Intelis töötanud fundamentaalse transistorite ja pooljuhtide toomise tehnoloogia kallal. Samuti lõi ta mälude ja mikroprotsessorite loomise põhimetoodika ning juhtis Intel 4004 ja Intel 8080 loomist. Faggin-i ja Ungermann-iga liitus nende protsessorite transistorite tasandi juhtivdisainer Masatoshi Shima. Märtsiks 1976 oli Zilogis valmis Z80 protsessor koos selle juurde kuuluva assembleril põhineva arendussüsteemiga. Sama aasta juulis lasti protsessor ametlikult müüki. Järgneva aasta jooksul töötati välja ja lasti müüki palju Z80 jaoks disainitud tugikiipe.
Enne, kui Zilog aasta lõpuks oma tootmisüksuse valmis sai, tootsid esimesi protsessoreid Synertek ja Mostek, kuna neil oli piisav võimekus tootmaks kiipe, mis vajasid tööks vaid üht välist toitesisendit. Disaini kopeerisid ka erinevad Jaapani ja Nõukogude Liidu firmad.
Z80 käsustik oli loodud olema kahendsüsteemis kokkusobiv Inteli 8080 protsessoriga, et ilma muudatusi vajamata töötaks sellel enamlevinud rakendustarkvara, nagu näiteks CP/M operatsioonisüsteem ja Inteli PL/M kompilaator, ning selle genereeritud väljund. Masatoshi Shima disainis enamiku protsessori mikroarhitektuurist ning transistoritasandi elektroonikast. Zilogi tegevjuht Faggin oli ise tihedalt seotud protsessori elementide paigutamisega kiibi sees, tehes oma sõnul 80- tunniseid töönädalaid. Faggin on välja öelnud, et protsessori arendamise lõpuosas pidi ta endale lühinägelikkuse tekkimise tõttu prillid ostma.

Programmeerimine ja registrid

Programmeerimismudel ja registrikomplekt on küllaltki levinud, kuna pärinevad Inteli protsessoriseerialt. Z80 lisas 16- bitilised IX ja IY registrid, mida peamiselt kasutatakse baasaadressi registritena, kui mõni käsk omab konstantset nihet, kuid on muuhulgas kasutatavad ka 16-bitiliste akumulaatoritena. Z80 muutis ka kõik teised 16-bitilised registrid laiatarberegistriteks, toetades korraga 16 biti mälust lugemist ja kirjutamist. Samuti on Intel 8080-ga kokkusobivad  AF, BC, DE ja HL registrid jagatud Z80-s kahte komplekti, võimaldades protsessoril nende vahel kiirelt vahetada. See tuleb kasuks kõrge prioriteediga katkestuste kiireks teenindamiseks. Kuna protsessoril puudub sisemine programmimälu, siis tuleb programm kirjutada välisele mälukiibile. Enamik Z80 protsessoreid kasutavad arvutiseadmed on paigutanud programmimälu mäluruumi alumisse 32 KB (A15 = 0) ja RAM-i mäluruumi ülemisse 32 KB (A15 = 1).

Riistvara

Originaalset Z80 protsessorit müüdi DIP 40 korpuses. Täna on müügil ka QFP korpusega kiibid. Kuigi protsessor toetab väliste dekodeerimisahelate olemasolul ka mitme Sisend-/Väljundseadmega korraga suhtlemist, on Zilog loonud erinevaid lisakiipe, mis mõeldud protsessori võimekuse laiendamiseks. Täiendavasse valikusse kuuluvad taimerite ja loendurite (CTC) kiip, jadaühenduse sisend-väljundkiip (SIO), otsemällupöörduskiip (DMA), paralleelühenduse sisend-/väljundkiip (PIO) ja 2x järjestikpordikiip (DART).  Nagu ka Inteli 8080, 8085 ja 8086 protsessoritel, on ka Z80-l eraldi kontrollviigud ja aadressiruum sisend-/väljundseadmetega suhtlemiseks, ning kuigi osad protsessorit kasutavad seadmed kasutasid mällu kaardistatud sisend-/väljundseadmeid, kasutasid enamikud seda mõne lisakiibiga suhtlemiseks.
Protsessorist on toodetud nii NMOS, kui ka CMOS variante. NMOS võimaldas suure jõudlusega seadmeid luua madalate hindadega, ning CMOS kiibid olid võimekad, säilitades samas madala energiatarbe.

Kasutuskohad

Z80 võeti kasutusele arvukates seadmetes, esimesed neist CP/M operatsioonisüsteemiga ja suunatud ärisektorisse, kuniks 1977 lasi RadioShack välja TRS-80 Model 1 arvuti, mis oli üks esimesi massiliselt kodutarbimiseks mõeldud arvuteid. Neist on laialdasemalt tuntud  Heathkit H89,  Osborne 1, Kaypro seeria, ning Epson QX-10 seadmed. Z80 protsessorit kasutasid ka kõik TRS-80 järgnevad mudelid 2-4, ning oli planeeritud ka viienda mudeli protessoriks. See arvuti aga tootmisesse ei jõudnud. Teine laialdaselt tuntud Z80 protsessorit kasutav kodukasutuseks mõeldud arvuti oli Sinclair Research'i 1982 aastal välja lastud värvilise operatsioonisüsteemiga ZX Spectrum. ZX Spectrumi populaarsusest tulenevalt on selle tarkvara internetis arhiveeritud, ning vastavate rakenduste olemasolul ka tänapäeval originaalseadme peal käivitatav.
Arvutustehnika teed rajanud seadmete hulka, mis Z80 protsessoril toimisid, kuuluvad ka Amstrad CPC ja Commorde 128. Inteli 6502 arhitektuuri kasutavatel seadmetel oli võimalik Z80-t kasutada vastava laienduskaardi abil.
Protsessorit kasutati ka erinevates mängukonsoolides, näiteks Colecovision'i ja Sega Master System'i seadmetes. Z80 protsessorist tuletatud Sharp-i protsessorit kasutas originaalne GameBoy käeshoitav mängukonsool. Street Fighter 2 arkaadversioon kasutas protsessorit helikaardina. Protsessorit on kasutatud ka sateliitidel.
Tänu oma lihtsusele on Zilog Z80 peale ehitatud erinevaid hobi- ja haridusfookusega projekte ka tänapäeval, peamiselt ise kokku joodetavate komplektide näol, nagu näiteks RC2014 arvuti, mis jooksutab Microsoft BASIC'ut.
Tänapäeval võib protsessorit leida veel ka mõningatest Texas Instruments'i kalkulaatoritest, kus suuremat arvutusvõimekust ei ole lihtsalt vaja