A Motorola 680x0/m68000/68000 ill. m68k egy 32 bites CISC processzorcsalád. Ezek a processzorok igen népszerűek voltak az 1980-as években és az 1990-es évek elején a személyi számítógépek és a munkaállomások körében, a sorozat egy ideig az Intel x86 processzorcsaládjának legerősebb konkurense volt. Korai személyi számítógépekben, Unix munkaállomásokban, videójáték-konzolokban használták, származtatott változataikat PDA-kban, beágyazott rendszerekben és vezérlőegységekben továbbra is használják (ld. Felhasználás).
A család tagjai Első generáció (belsőleg 16/32 bites, 8, 16 és 32 bites interfészekkel szerelve): 68000 68EC000 68SEC000 68HC000 68008 68010 68012 Második generáció (teljesen 32 bites): 68020 68EC020 68030 68EC030 Harmadik generáció (utasítás-futószalaggal): 68040 68EC040 68LC040 Negyedik generáció (szuperskalár): 68060 68EC060 68LC060 Egyebek Freescale 683XX (CPU32 másként 68330, 68360 ill. QUICC): Freescale ColdFire Freescale DragonBall Philips 68070 Apollo core 68080 – FPGA-ban implementált processzor
A fejlesztés állomásai 68000 1979-ben jelent meg az m68k sorozat első tagja. Eredetileg HMOS technológiával készült. „16/32 bitesként” emlegetik: belsőleg 32 bites, külső adatbusza 16 bites, címbusza 24 bites, 1979-től 1982-ig 4, 6, 8, 10, 12,5 és 16,67 MHz órajelű változatai készültek. Jellemzői: 8 32 bites adatregiszter, 9 32 bites címregiszter, 32 bites programszámláló, 16 bites állapotregiszter. 2 privilegizációs szint (felhasználói és szupervizor mód) 7 szintű megszakítási rendszer 256 megszakítási vektor, kivételkezelés, csapda (trap) utasítások I/O portok: nincsenek
68008 1982-ben jelent meg; az eredeti 68000-es változata, azzal teljesen tárgykód-kompatibilis, de lábkiosztása más (nem pin-kompatibilis). 32 bites processzor, 8 bites külső adatbusszal, címbusza 20 vagy 22 bites az egyes változatokban. Mivel az adatbusz fele olyan széles, mint a 68000-ben, az utasításlehívás több ciklust igényelt, ezért ez a processzor azonos órajelen lassabb volt, mint a 68000. A 8 bites Sinclair QL mikrogépben használták. max. órajel: 16,67 MHz max. memória: 4 MiB RAM I/O portok: nincsenek
68010 1982-ben jelent meg,CPU World 32 bites CPU, 16 bites adatbusszal. A 68000 javított változata, azzal lábkompatibilis. A magot és a mikrokódot optimalizálták, azonos órajelen 10-20%-kal gyorsabb a 68000-nál. Felkészítették a virtuális memória kezelésére is, a "MOVE from SR" utasítás privilegizált lett, új utasításokat is kapott, így nem 100%-ban tárgykód-kompatibilis az eredeti 68000-rel. Max. órajel: 16 MHz Virtuális memória támogatás (újraindítható utasítások). 'ciklikus mód' (loop mode) a gyorsabb string és memória könyvtári primitíveknek. Új Vector Base Register (VBR): a megszakítási vektor táblázat bárhol lehet a memóriában. Új blokk-adatmozgató utasítás: MOVES + SFC, DFC regiszterek.
68012 A Motorola 68012 (MC68012) egy 68010-kompatibilis processzor, 31 bitesre kiterjesztett címbusszal, virtuálismemória- és multiprocesszoros támogatással. 1982 és 1984 között jelent meg.a 68010 1982-es és a 68020 1984-es megjelenése között A 68010 és a 68020 között áll.
31 bites címbusz, közvetlenül címezhető memóriaterület: 2 GiB RMC buszvezérlő vezérlő kimenet a virtuális memória és multiprocesszoros működés támogatásához Órajel: 8 - 12,5 MHz között.
68020 1984-ben jelent meg, a processzorcsalád második generációjának első tagja. Kompatibilis a család korábbi tagjaival. Címbuszát 32 bitesre bővítették, így 4 GiB memóriát címezhetett. Az adatbusza is 32 bites, de képes 8 és 16 bites adatbuszt használó módban is működni. Új utasításokkal és címzési módokkal bővítették. Megjelent benne a Motorola 68881 és 68882 matematikai koprocesszorok és a MC68851 PMMU (lapozó memóriakezelő) hardveres támogatása, a multiprocesszoros támogatás, a magba futószalag és utasítás-cache került. Multiprocesszoros konfigurációban összesen 8 db egység csatlakozhat a buszra, ezek közül bármelyik lehet FPU vagy CPU, de csak egyetlen MMU lehet; a processzorok a rendszerben aszinkron módon működnek.
32 bites címbusz és ALU. 3 fokozatú futószalag. 256 byte-os utasítás-gyorsítótár. Korlátozás nélküli szó és hosszúszó adathozzáférés (nem kell adatstruktúra-igazítás). 8-szoros multiprocesszálás lehetőség. Szélesebb szorzó (32×32 → 64 bit) és osztó (64÷32 → 32 bites hányados és 32 bites maradék) és bitmezőkezelő utasítások Új címzési módok: skálázott indexelt, újabb indirekt memóriacímzés, nagyobb eltolások. Az olcsóbb 'EC' jelű (pl. MC68EC020) chipek 24 bites címbusszal rendelkeztek.http://www.freescale.com/files/32bit/doc/ref_manual/MC68020UM.pdf MC68020 MC68EC020 MICROPROCESSORS USER’S MANUAL, Freescale Semiconductor, Inc., pdf
68030 1987-ben jelent meg, a második generációs 68020 felújított változata. Újítások: belső 256 bájtos utasítás-cache és 256 bájtos adat-cache; chipre integrált MMU; 68881 és a gyorsabb 68882 használható külső matematikai koprocesszorként.
Elválasztott utasítás- és adat-cache, mindkettő 256 byte-os. Chipre integrált memóriakezelő egység (MMU) (68851). Az olcsóbb 'EC' jelű chipekben nincs MMU.
68040 1989-ben jelent meg a Motorola 68040, a harmadik generáció indító tagja. Chipre integrált MMU-t és beépített FPU-t is tartalmazott. Az adat- és az utasításcache méretét 4 KiB-ra növelték, 6 fokozatú futószalag került bele. A beépített FPU nem teljes értékű, bizonyos utasítások hiányoznak belőle, ezeket szoftveresen emulálják (operációs rendszerbe integrált integrált FPSP csomag). A 68040 ugyan jelentősen gyorsabb volt riválisánál, az Intel 486-nál, azonban melegedési problémákkal küzdött, ezért órajelét 40 MHz-en maximálták.
Az adat- és az utasításcache mérete egyaránt 4 KiB. 6 fokozatú futószalag (pipeline). Az FPU-ból hiányoznak az IEEE transzcendens függvények lehetőségei. Az FPU emuláció a 2E71M és későbbi chip-revíziókban működik. Olcsó LC jelű chipek (68LC040): nincs beépített FPU. Olcsó EC jelű chipek (68EC040): nincs beépített FPU és MMU.
68060 1994-ben jelent meg a Motorola 68060 (MC68060) processzor, amit a 68040 utódjaként mutattak be. Ez volt az m68k család utolsó tagja. Sok hasonlóságot mutat az Intel Pentium / P5 mikroarchitektúrával: mindkettő sorrendi (in-order) végrehajtású szuperskalár, kettős futószalagot tartalmazó konfiguráció, utasítás-dekóderrel (ami az utasításokat egyszerűbb részutasításokra konvertálja a végrehajtás előtt). A 68060-ban az utasítás- és adatcache méretét 8 KiB-ra növelték, fejlett elágazás-előrejelző (branch prediction) egységgel látták el, belső utasítás-végrehajtó egysége RISC típusú.http://www.physics.ucdavis.edu/Classes/Physics116/68060d.pdf , pg. 2.; "Fixed format instructions are dispatched to dual four-stage pipelined RISC operand execution engines ..." A 68060 FPU nem futószalagos, részleges, a hiányzó utasításokat emulációval pótolják: ezek miatt a lebegőpontos végrehajtás 3-szoros időigényű a Pentiuméhoz képest, más téren azonban gyorsabb, optimalizált utasításainak köszönhetően. 50-től 75 MHz-ig terjedő órajelű változatai készültek.
Adat- és az utasításcache mérete: egyaránt 8 KiB Órajel: 50, 60, 66, 75 MHz Kettős 4 fokozatú futószalag Kétciklusos integer szorzóegység Elágazás-előrejelzés (branch prediction) Kettős utasítás-futószalag Utasítások a címszámító egységben (address generation unit, AGU), az ALU előtt két ciklussal szolgáltatják az eredményt. Olcsó LC jelű chipek: nincs beépített FPU. Olcsó EC jelű chipek: nincs beépített FPU és MMU.
68050 és 68070 Nem létezett 68050 számú változat, bár volt ilyen projekt a Motorolánál. A 680x0 sorozatban a páratlan-x számú verziók mindig az előző páros-x verziókban jelentkezett hibák javítására jöttek létre, tehát várható volt, hogy a 68050-ben csökken a 68040-eshez képest az áramfelvétel és hőtermelés, javul a kivételkezelés az FPU-ban, csökken a csíkszélesség, és az utasítások mikrokódja jobb optimalizálást kap. A várakozások közül sok javítás belekerült a 68060-as processzorba, ezek a tervezési célok között szerepeltek. A 68050 tervezését megszakították, olyan okok miatt, mint pl. már tervezés alatt volt a 68060-as processzor; az Intel 80486 nem haladt olyan ütemben, ahogy azt a Motorola elképzelte; vagy akár az, hogy a 68060-as többet ígérő tervezet volt.
A fentiekhez hasonlóan nem volt a 68060-at követő revízió sem, mivel ekkor a Motorola már feladni készült 68k és 88k processzorsorozatait az újabb PowerPC üzletág érdekében, így 68070-es sohasem készült.
A Motorola páros tízeseket használt a CPU magok főbb kiadásaihoz, így a 68000, 68020, 68040 és 68060 verziókhoz. A 68010 az előző 68000 egy javított változata volt, kisebb változtatásokkal a magban, és hasonlóan a 68030 is egy felújított 68020 volt néhány javított tulajdonsággal; egyik sem hozott jelentős változást a magban.
Létezett ugyan egy 68070 jelű processzor, a 16/32 bites 68000 egy licencelt változata; valamivel lassúbb volt, egyszerű DMA vezérlőt, I²C hostot és chipre integrált soros portot tartalmazott. A Philips CD-i fő processzoraként alkalmazták. Ezt a processzort a Philips gyártotta és nem tartozott a Motorola 680x0 sorozatába.
Az utolsó generáció A negyedik generációs 68060 magán viseli az Intel Pentium P5 architektúra több jellemzőjét. A továbbfejlesztés valószínűleg egy Intel P6 mikroarchitektúrára hasonlító processzort eredményezett volna.
Egyéb változatok A 68000-es processzorsorozat letűnte után a processzorcsaládot bizonyos fokig tovább használták mikrovezérlőkben és beágyazott mikroprocesszor-verziókban. Ezek a felsorolásban az „egyebek” alatt szereplő processzorok: a CPU32, azaz a 68330, a ColdFire, a QUICC és a DragonBall. További felhasználási mód volt a mind a Motorolától, mind a Commodore-tól független gyártó által készített ún. "Amiga gyorsító" (accelerator) kártyákban történő felhasználás is, melyhez újabban az Apollo 68080 processzorokat használják előszeretettel.
CPU32 (683xx) A Freescale 683xx (ill. korábban Motorola 683xx) egy kompatibilis mikrokontroller család, mely a Freescale 68000-alapú magra épül. A családban két magot használnak: az egyik a 68EC000, a másik a CPU32.
A CPU32 utasításkészlete hasonlít a 68020 utasításkészletére, de hiányoznak belőle a "bit field" (BFxxx) utasítások, a CALLM, RTM, CAS, CAS2, cpxxx (koprocesszor-) és PACK, UNPK BCD utasítások; ezek helyett a processzor trap utasításokat hajt végre, lehetővé téve az emulációt. Speciális kiegészítő utasításokat is tartalmaz. A mag teljesen statikus, azaz képes változó órajelen működni, a teljes leállástól a maximális órajelig (25 vagy 33 MHz); tervezési szempontja a minimális tranzisztorszám melletti maximális teljesítmény volt. A mag mellett egyéb kiegészítő egységeket is tartalmazhat, akár hálózati interfész-processzort v. Ethernet-vezérlőt, az egylapkás rendszerekhez (SoC) hasonlóan.
Dragonball thumb|Motorola DragonBall MX-1 processzor Az 1995-ben megjelent Motorola/Freescale Semiconductor DragonBall avagy MC68328 egy 68000-alapú 32 bites mikrovezérlő, ill. minden szükséges elemet tartalmazó egychipes számítógép. Adat- és címbusza 32 bites, bár a címbuszt egyes modellekben 24 bitesre korlátozták. Kis fogyasztású beágyazott rendszerekbe és PDA-kba szánták, pl. a korai Palm PDA-k ilyen chipekre épültek, míg a Palm OS 5-től kezdve kiszorította azokat az ARM-alapú Texas és Intel processzorok támogatása. Nem támogatja a 68020+ utasítások többségét. FPU-t nem, és csak minimális képességű MMU-t tartalmaz. Korai változataiban nem volt cache, a későbbi modellekbe kisméretű utasítás- és adatcache-t is integráltak.
ColdFire