Motorola 68000

MC 68000 Beskrivelse av dette bildet, også kommentert nedenfor Prototype av Motorola XC68000L-prosessoren. Generelle opplysninger
Produksjon Fra 1979 til 1990
Maker Motorola
cpuid Ikke implementert
Fremførelser
Frekvens MHz  til 12  MHz
Fysiske spesifikasjoner
Boliger 64-pin DIL
Arkitektur og klassifisering
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.

Arkitektur

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.

16/32 bits

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.

Minne plass

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 .

Sett med instruksjoner

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.

Bruk av 68000