Produksjon | Fra 1979 til 1990 |
---|---|
Maker | Motorola |
cpuid | Ikke implementert |
Frekvens | 2 MHz til 12 MHz |
---|
Boliger | 64-pin DIL |
---|
Arkitektur | CISC 16/32 |
---|---|
stor endian | stor endian |
Motorola 68000 dukket opp i 1979 og er en 16/32 bit CISC mikroprosessor utviklet av Motorola . Det er den første i familien av mikroprosessorer ofte referert til som m68k eller 680x0 , som inkluderer Motorola 68010 , Motorola 68020 , Motorola 68030 , Motorola 68040 og Motorola 68060 mikroprosessorer . Navnet på 68000 kommer fra både kontinuiteten med Motorola 6800- familien av mikroprosessorer og antallet transistorer den inneholder, litt over 68.000.
Selv om vi hovedsakelig har beholdt utvidelsen og multiplikasjonen av tilgjengelige register, samt innføringen av en viss ortogonalitet i instruksjonssettet, ligger den viktigste innovasjonen i 68000-serien sammenlignet med forgjengeren, Motorola 6809 , i utseendet til privilegerte instruksjoner og brukernivå. Dette skillet er grunnleggende i moderne operativsystemer som Unix , som knapt kunne blitt opprettet på disse plattformene uten denne innovasjonen.
Legg merke til tilstedeværelsen av instruksjonen TAS (Test And Set) som kan teste og endre verdien av en byte i minnet i en enkelt instruksjon som ikke kan avbrytes . Denne typen instruksjoner er avgjørende for å implementere semaforene som brukes til kommunikasjon mellom prosesser , og derfor multitasking- operativsystemer .
To små feil, korrigert i Motorola 68010 , gjør imidlertid 68000 ikke i stand til å støtte virtualisering og virtuelt minne : MOVE from SR-instruksjonen gjør at veilederdelen av SR-registeret kan leses selv i brukermodus, noe som forhindrer virtualisering. det er ikke mulig å kjøre en instruksjon på nytt som forårsaket en minnetilgangsfeil, som forhindrer at et program gjenopptas etter innlasting av manglende data.
68000 blir referert til som 16/32 bit fordi registerene er 32 bits brede og instruksjonene aksepterer 8, 16 og 32 bit data. Imidlertid er ALU ( Arithmetic Logic Unit ) 16 bits bred, så 32-biters operasjoner tar flere tidssykluser å utføre. I tillegg er de eksterne bussene 16 bits brede for data og 24 bits brede for adresser.
Den 68000 kan også lineært adressere en total minneplass på 16 megabyte .
Dette minneområdet kan deles inn i fire deler (supervisorprogram, supervisordata, brukerprogram, brukerdata) uten å bruke en ekstern krets, men ved ganske enkelt å dekode tre statuslinjer levert av prosessoren; disse tre bitene gir god maskinvaresikkerhet for dataene og lar minneplassen utvides til 64 megabyte.
Den kan også brukes med første generasjon perifere kretser ( for eksempel PIA MC6821 ) takket være synkroniseringssignaler tilgjengelig på bussen.
68000 er stor endian .
Motorola 68000 har 8 32-bits dataregistre 32-bits adresseregister stabel register , samt fire spesielle registere som beskriver tilstanden til prosessoren.
Det er 82 instruksjoner, og prosessoren støtter mange adresseringsmodi: stakkadgang, indirekte adressering, registeradressering for eksempel.