Motorola 68000 är en mikroprocessorfamilj från dåvarande Motorola numera Freescale med en 32-bits CISC-arkitektur. Många tillverkare av tidiga arbetsstationer använde 68000 eller uppföljare, bland annat Sun och Hewlett-Packard. Den har även använts i enheter som till exempel Amiga, Atari ST, i tidiga Macintosh-datorer samt spelkonsoler.

Motorola 68k
Motorola 68030-processor.
Grundinformation
TillverkningsårFrån 1979 till 1994
TillverkareMotorola
Teknisk information
Kärnor1

Historia redigera

Utvecklingen av processorn började 1976 och började med intentionen att skapa en helt ny typ av processor som inte behövde vara bakåtkompatibel med tidigare processorer. Processorn påstås ha fått sitt namn av att den innehåller 68 000 transistorer, det verkliga antalet ligger närmare 70 000.

Processorn användes till en början endast i riktigt påkostade datorsystem av typen arbetsstationer som till exempel den svenska ABC 1600 och Apollo/Domain. Med tiden kom de att bli alltmer populära och användes efter några år i hemdatorer, bland annat i Amiga, Atari ST och Macintosh. Dataindustrier ABs DIAB Serie 90 var i det närmaste ensamma om att använda processorn för flera serverprodukter. Processorn har även använts i ett antal TV-spel som till exempel Sega Mega Drive, Neo-Geo, Sega Saturn och Atari Jaguar, varav de två senast nämnda endast använde den som co-processor.

Under en period vann Dragonball, en strömsnålare släkting till familjen, vissa kommersiella framgångar i handdatorer, i synnerhet vissa varianter av Palm. Idag har den dock i princip ersatts av främst ARM-baserade processorer. Det av Motorola avknoppade företaget Freescale tillverkar även ColdFire som också är baserad på 68k-arkitekturen. Den är främst tänkt för så kallade inbäddade applikationer, och används i hemelektronik, bilar, hissar med mera.

Familjen 68000 fick en uppföljare i familjen Motorola 88000 men den gick en snar död till mötes då Apple och IBM tillsammans med Motorola valde att satsa på PowerPC.

Specifikationer redigera

Processorn innehåller 16 generella register, dataregistren d0–d7 och adressregistren a0–a7. Ett, inget eller flera register kan användas för att adressera ett minnesområde. Adressregister a7 användes samtidigt som stackpekare. Processorn använde 32-bitars minnespekare, vilket gjorde att den direkt kunde komma åt 4 gigabyte minne utan att använda segment som många andra processorer vid denna tid. Detta gjorde det enkelt att programmera den.

Generationer redigera

Motorola 68000 redigera

 
Motorola 68000-processor i kapsel

Denna modell var den första i serien. Processorn är av så kallad CISC-typ och är från början utrustad med rena 16- respektive 32-bitars register internt. Den används bland annat i den symbolhanterande miniräknaren TI-89.

Motorola 68008 redigera

 
MC68008P8

68008 lanserades 1982 som en billigare variant av Motorola 68000. Ur en programmeringssynpunkt var den så gott som identisk med en äkta 68000, men hade utvändigt krympts till en DIL-kapsel med 48 ben, vilket var betydligt enklare för dåtidens hårdvarukonstruktörer att använda än den för sin tid mycket stora 68000 med sina 64 ben. Detta ledde emellertid till att adressbussen inskränktes från 24 till 20 bitar och att databussen minskades från 16 till 8 bitar. På grund av den smalare databussen arbetade 68008 hälften så snabbt som 68000, eftersom det dubbla antalet klockcykler gick åt för att förse processorn med data så länge den kommunicerade med RAM.

En senare version kom i en PLCC-kapsel med 52 ben och en bredare adressbuss à 22 bitar, varför den kunde adressera 4 Mbyte minne mot tidigare 1 Mbyte. Databussen vidgades däremot inte.

Inom datorvärlden användes 68008 inte särskilt mycket. Sinclair QL och ABC 1600 är dock två exempel.

Motorola 68010 redigera

68010 var pinnkompatibel med MC68000 och hade funktioner för att stödja virtuellt minne, något som var omöjligt med 68000. Hade även en mini instruktionscache för loopar som var 2 instruktioner långa. I praktiken var det ingen mening att uppgradera till 68010 från 68000 om man inte behövde stödet för virtuellt minne.

Motorola 68012 redigera

68012 är en 16/32-bit microprocessor från tidigt 1980-tal. Det är en 84-pinnars version av Motorola 68010. Minnesutrymmet utökades till 2 GB, och en read-modify-write ("läs-modifiera-skriv") (RMC) pinne lades till som indikerar att en atomisk read-modify-write cykel pågår. Detta gjordes för att underlätta design av multiprocessorsystem med virtuellt minne.[1][2] Alla andra processorer på samma buss måste då vänta tills cykeln avslutas. Övriga funktioner från 68010 var oförändrade.

Expansionen av minnesutrymmet orsakade problem för de program som använde den högsta adressbyten för att lagra information, vilket bara fungerade för de processorer (68000 och 68010) som endast använde de lägsta tre adressbytarna för att addressera minne. Ett liknande problem drabbade 68020.

Motorola 68020 redigera

Denna processor har till skillnad från föregångarna rena 32-bitars adress- och databussar såväl internt som externt.

Processorn släpptes 1984 och återfinns i Macintosh II-datorer och Sun 3-arbetsstationer.

En lågkostnadsvariant kallad 68EC020 finns i t.ex. Amiga 1200 och Amiga CD32. Skillnaden mellan 68EC020 och den "riktiga" 68020 är att 68EC020 har en 24-bitars adressbuss istället för 32-bitars. Den kan således endast adressera 16MB RAM istället för 4 GB.

Motorola 68030 redigera

 
Motorola 68030

Motorola 68030 lanserades 1987. Processorn är till största delen en vidareutveckling av föregångaren 68020, men har en MMU i samma kapsel samt ytterligare cache på 256 byte för data (68020 hade bara en cache på 256 byte för instruktioner). Billighetsmodellen utan MMU kallas för 68EC030. Processorn finns i varianter med klockfrekvenser mellan 16 och 50 MHz. 68030 var populär i datorer som Amiga och Macintosh. Den används även i Ericssons telefonväxel AXD.

Motorola 68040 redigera

68040 var den sista 68k-processorn som användes i Macintosh-datorer innan de bytte till PowerPC-processorer.

Motorola 68060 redigera

Denna variant är av CISC-typ och blev den sista i serien. Motorola började därefter istället att tillverka processorer av RISC-typ.

Källor redigera

  1. ^ MC68010/MC68012 16-/32-Bit Virtual Memory Microprocessors. Motorola Semiconductor. May 1985. http://bitsavers.org/components/motorola/68000/68010_68012_Data_Sheet_May85.pdf  Arkiverad 28 mars 2020 hämtat från the Wayback Machine.
  2. ^ Avtar, Singh; Triebel, Walter A. (1991). 16-Bit and 32-Bit Microprocessors: Architecture, Software, and Interfacing Techniques. Englewood Cliffs, New Jersey: Prentice-Hall. ISBN 978-0138121570 

Externa länkar redigera