Motorola 68000

Wikipedia
Loikkaa: valikkoon, hakuun

Motorola 68000 (MC68000, m68k, 68k) on Motorolan valmistama mikroprosessori, joka julkistettiin vuonna 1979. Se oli aikanaan suosittu suoritin, jota käytettiin mm. Commodore Amiga -, Atari ST -, Apple Macintosh - ja Sinclair QL -tietokoneissa. Se on sisäisesti 32-bittinen ja ulkoisesti 16-bittinen. Muita saman sarjan suorittimia ovat 68008, 68010, 68020, 68030, 68040, 68060 eri muunnoksineen. Nimitystä 68000 käytetään joskus myös yleisesti koko sarjasta ja sen toteuttamasta CISC-suoritinarkkitehtuurista.

Käyttökohteet[muokkaa | muokkaa wikitekstiä]

Prosessorin esiaste vuodelta 1979.

68000:ta käytettiin aluksi kalliissa järjestelmissä, kuten monenkäyttäjän mikroissa ja yhden käyttäjän työasemissa. Kotitietokoneissa sitä käytettiin ensiksi 1980-luvun alkupuolella Applen Lisassa ja Macintoshissa. Näitä seurasivat Commodore Amiga, Atari ST ja Sharp X68000. Suoritinta käyttivät jo 1980-luvun alkupuolelta useat kolikkopelijärjestelmät ja hieman myöhemmin pelikonsolit, kuten Sega Megadrive ja Neo-Geo. Jotkut uudemmat konsolit kuten Sega Saturn ja Atari Jaguar käyttivät 68000:ta vielä apusuorittimena. Texas Instruments käyttää 68000:aa laskimissaan TI-89 ja TI-92.

Menestyksekkäin 68000 oli kuitenkin ohjaustehtävissä. Lasertulostimissa sitä käytettiin ohjaimena ensimmäistä kertaa jo vuonna 1981, läpi 1980-luvun yleisesti ja vielä pitkälle 1990-luvulla halvoissa malleissa. Sitä käytettiin ja käytetään edelleen paljon myös teollisuusjärjestelmissä ja ohjelmoitavissa logiikoissa.

Sarjan muistinhallintayksiköllä varustettuja suorittimia Motorola 68030 ja 68040 käytettiin useissa Unix-työasemissa.

Suoritinarkkitehtuurin epäviralliseksi seuraajaksi tuli Applen, IBM:n ja Motorolan suunnittelema PowerPC, johon aiemmin m68k -suorittimia käyttänyt Applen Macintosh siirtyi vuonna 1994. Sitä käytetään myös useissa Amigan turbokorteissa.

Käskykannan ominaisuuksia[muokkaa | muokkaa wikitekstiä]

M68k-arkkitehtuurissa on kahdeksan 32-bittistä datarekisteriä sekä kahdeksan 32-bittistä osoiterekisteriä. Käskykanta on melko ortogonaalinen, eli siinä ei ole suuremmalti rajoituksia siinä, mitä rekisterejä pystyy käyttämään minkäkin käskyn yhteydessä, paitsi että osa käskyistä operoi vain datarekistereillä, osa vain osoiterekistereillä.

32-bittiset osoiterekisterit mahdollistivat suuren muistimäärän suoran osoittamisen ilman hankalia segmentointeja, joita kilpaileva x86 tarvitsi yli 64 kilotavun käyttämiseen. Ensimmäisissä 68k-suorittimissa oli vain 24-bittinen ulkoinen osoiteväylä, minkä johdosta jotkut ohjelmoijat käyttivät osoiterekisterien ylimpiä kahdeksaa bittiä ylimääräisen datan säilömiseen. Tämä aiheutti myöhemmin yhteensopivuusongelmia suorittimien uudempien mallien kanssa, joissa oli leveämpi ulkoinen osoiteväylä tai virtuaalimuistia.

m68k:n käskykanta on muutenkin melko johdonmukainen ja siten assembly-kieleksi helppoa ohjelmoida, ja ohjelmoijat pitivät sille ohjelmoimisesta, mitä ei voinut sanoa kilpailevasta x86-arkkitehtuurista. Suuresta rekisterimäärästä ja käskykannan ortogonaalisuudesta johtuen konekieli vei enemmän tilaa kuin kilpailevan x86:n konekieli.lähde?