Zilog Z80

Z80 Beskrivelse av dette bildet, også kommentert nedenfor Kopi av matrisen til en Z80A; de faktiske dimensjonene er 4,950 × 4,720  µm Generelle opplysninger
Produksjon Juli 1976
Maker Zilog
Fremførelser
Frekvens 2,5  MHz  til 8  MHz
Databussbredde 8 biter
Bussadressebredde 16 bits

Fysiske spesifikasjoner
Graveringsfinhet um
Stikkontakt (er) 1
Arkitektur og klassifisering
Arkitektur 8080
stor endian stor endian

Den Zilog Z80 er en 8-bit mikroprosessor utformet og fremstilt av Zilog . En av egenskapene til denne prosessoren er koblingen av visse registre (2 ganger 8 bits) og 16-biters adressebuss, noe som tillater mye raskere informasjonsbehandling enn med en konvensjonell 8-biters prosessor.

Denne prosessoren ble først markedsført iJuli 1976. Tidlig på 1980 - tallet var han veldig populær i utformingen av 8-bits datamaskiner som Radio Shack TRS-80 , Sinclair ZX80 , ZX81 , ZX Spectrum , MSX standard , Amstrad CPC , PC-88 og senere i innebygde systemer. Med MOS 6502- familien dominerte den 8-bits datamarkedet fra slutten av 1970 - tallet til midten av 1980- tallet .

Z80 ble designet for å være kompatibel med Intel 8080  : flertallet av koden for 8080 kunne fungere uten større endringer på Z80.

Den CP / M operativsystemet er designet for å kjøre på datamaskiner med en Intel 8080, og kan også kjøres uten modifikasjon på datamaskiner med en Z80.

Datamaskiner med en Z80 var generelt kraftigere og hadde mer funksjonalitet enn de med en 8080. Noen versjoner av CP / M og mange applikasjoner for CP / M eksisterte bare som en versjon for Z80.

Historie og oversikt

Z80 ble til da Federico Faggin , etter å ha jobbet med Intel 8080 , forlot Intel på slutten av 1974 for å grunnlegge Zilog med Ralph Ungermann, for iJuli 1976, ta Z80 ut på markedet. Den ble designet for å være binærkompatibel med Intel 8080, slik at det meste av 8080-koden, spesielt CP / M-operativsystemet, fungerer uten endringer på den.

Z80 tok raskt over fra 8080 i markedet, og har blitt en av de mest populære 8-biters prosessorer. Kanskje en av nøklene til Z80s suksess var den innebygde oppdateringen av DRAM , og andre funksjoner som gjorde det mulig å bygge systemer med færre sidechips.

For første generasjon NMOS økte den maksimale klokkefrekvensen gradvis. Først ved 2,5  MHz , deretter av velkjente 4  MHz (Z80a), opp til 6 (Z80b) og 8  MHz (Z80h). En CMOS- versjon ble utviklet med avskjæringsfrekvenser fra 4  MHz til 20  MHz (for versjonen som ble solgt på 2000-tallet). CMOS-versjonen har også en standby-modus med lavt strømforbruk, med bevaring av prosessortilstanden (uten lavfrekvensgrense). De fullt kompatible derivatene Z180 og eZ80 er for øyeblikket spesifisert for henholdsvis maksimalt 33 og 50  MHz .

Prosessor bruk inkluderer kalkulatorer Texas Instruments , den spillkonsoller salon Master System , bærbar Game Boy og Game Gear . Enkelte kraftigere konsoller utstyrt med andre sentrale prosessorer som Neo Geo eller Mega Drive med Motorola 68000 , brukte Z80 som en komplementær prosessor for å administrere lyden eller inngangene / utgangene til systemet.

Fra og med 2007 brukes Z80 bare i innebygde systemer, for eksempel kopimaskiner, faksmaskiner, kalkulatorer og andre kontorenheter i form av "alt-i-ett" -kontrollere, på grunn av det viktige biblioteket som er tilgjengelig for denne prosessoren, og den enkle grensesnittet med matrise-tastaturer og LCD- skjermer .

Sammensetningen av Z80

Denne mikroprosessoren har 16 adresselinjer som i teorien lar den adressere 65536 byte .

Den består av 5 deler:

Registerene

Z80 registrerer
1 5 1 4 1 3 1 2 1 1 1 0 0 9 0 8 0 7 0 6 0 5 0 4 0 3 0 2 0 1 0 0 (bitposisjoner)
Hovedregistre
Flagg AF ( en ccumulator og f lag, akkumulator og flagg)
B VS F.Kr.
D E AV
H L HL (indirekte adresse, adresseindireksjon)
Alternative registre
PÅ' Flagg AF ' ( en ccumulator og f lag, akkumulator og flagg)
B ' VS ' BC '
Av E ' AV'
H ' De HL ' (indirekte adresse, adresseindireksjon)
Indekserte registre
IX Jeg ndex X
IY Jeg ndex Y
SP S tack P ointer, stack pekeren
Andre registre
  Jeg Jeg avbryter vektoren, avbryter vektoren
  R R efresh counter, refresh counter
Ordinær teller
Pc P rogram C ounter, ordenstelleren
Statens register
  S Z - H - P / V IKKE VS F lags, flagg

Det er to kategorier av registre  : hoved og sekundær som, i motsetning til hva navnet indikerer, er veldig nyttig fordi de tjener som bilde registre når børsene er viktig i beregningene.

De viktigste registrene består av to familier: enkle 8-bits registre , som kan kobles inn i 16-bits og med registre og 16-bit IX, IY, SP registre som kan særpregede til 8-bits registre (unntatt SP), brukes til å indeksere minnet. fordi det inneholder en I som indeks . Register med Ls betyr Lav og registre med H betyr Høy.

Navnet på et 8-bitersregister består av en enkelt bokstav, mens navnet på et 16-bitersregister består av to bokstaver. Koblingen av 8-bitersregistrene gjøres ved å navngi de to registerene, og begynner med den mest betydningsfulle (for eksempel er BC 16-biters kobling av B- og C-registerene).

Registeret A er det viktigste, det kalles også “  akkumulator . "Svært mange instruksjoner i maskinkoden bruker dette registeret. Det er mye brukt i sammenligningsoperasjoner.

Registeret F kalt "flagg" inneholder 8 indikatorer (flagg) på resultatet av den siste utregningen. Vi finner spesielt:

B- og C-registre brukes som tellere og i forbindelse med D- og E-registre i enkle operasjoner. H- og L-registerene har de samme egenskapene og har en veldig rik instruksjonsenhet, de brukes til å inneholde minneadresser, men kapasiteten er lavere enn A-registeret. I likhet med I- og R-registerene.

IX- og IY-registerene er til og med registre, de kan indekseres og er nyttige for arbeid på bordlister. For ZX 81 ble de brukt til systemadministrasjon som displayet, maskinspråkprogrammereren måtte gjenopprette dem etter bruk, noe som var en ulempe med denne maskinen.

SP-registeret, kalt stakkpekeren, brukes til å lagre mellomresultater i en stabel . PUSH og POP er to viktige instruksjoner i dette registeret som lar deg plassere og fjerne et element fra henholdsvis bunken.

Instruksjonsfamilier

Den første familien består av LD-lastebytes som laster minnet inn i et register og omvendt. Den består også av utvekslingsinstruksjoner (EX) som utfører utveksling mellom registre eller mellom registre og verdier.

Den andre familien består av aritmetiske instruksjoner som tillegg , subtraksjon , dekrement og inkrement .

Den tredje familien består av logiske instruksjoner som AND og OR som utfører operasjoner i sammenligning av to bitvise registre. OG vil gjøre to 1-er til en enkelt 1, en 1 og en 0 til en 0, etc., XOR har verdien eksklusiv eller og CPN hever forskjellige flagg fra F-registeret avhengig av resultatene.

Den fjerde familien består av betingede og ubetingede forgreningsinstruksjoner som styrer sekvensbrudd: JR (relativ hopp), JP (enkelt hopp), CALL, RST som refererer til et sted i maskinkoden, slik som instruksjonene i grunnleggende GOTO og GOSUB, RET som lukker løkken som den grunnleggende RETURN-instruksjonen.

Deretter er det familiene til stabelinstruksjoner (stabeloppbevaring og avstapling), rotasjonsinstruksjonsfamiliene som endrer antall biter i et register, familiene til bitinstruksjonene som arbeider på en bestemt bit, familier av input-output instruksjoner, familier av avbryte instruksjoner, familier med overføringsinstruksjoner  osv.

Merknader og referanser

  1. (in) Zilog, Z80 CPU Family User Manual ,1 st januar 2005( les online ) , s.  5.

Vedlegg

Kilder

Relaterte artikler