Motorola 68000 -sarja

Wikipediasta
(Ohjattu sivulta M68k)
Siirry navigaatioon Siirry hakuun
Motorola 68000
Perustietoja
Kehittäjä Motorola
Valmistaja Motorola, Toshiba, Hitachi, Freescale
Julkaistu 1979
Arkkitehtuuri ja luokitus
Arkkitehtuurityyppi CISC
Osoiteavaruus 32-bit
Tavujärjestys Big endian
Julkaisua edeltävä XC68000-malli.
Motorola 68000.
Motorola 68060.

Motorola 68000 (MC68000, m68k, 68k) on Motorolan valmistama mikroprosessorisarja, joka julkistettiin vuonna 1979.[1] Se oli aikanaan suosittu suoritin. Nimitystä 68000 käytetään sekä sarjan ensimmäisestä mallista että myös koko sarjasta ja sen toteuttamasta CISC-suoritinarkkitehtuurista.

Saman mallisarjan suorittimia ovat 68000, 68010, 68020, 68030, 68040, 68060 eri muunnoksineen. Prosessoreista on halvempia malleja käyttöön muun muassa sulautetuissa järjestelmissä.

Prosessoria käytettiin useissa Unix-työasemissa[1], muun muassa Sun Microsystemsin varhaisissa malleissa, Hewlett-Packardin HP 9000 -sarjassa, Silicon Graphicsin IRIS 1000 ja IRIS 2000 -sarjoissa, NeXTin NeXT Computer -tietokoneissa sekä Digital Equipment Corporationin VAXstation 100 -terminaalissa. Kotitietokoneissa sitä käytettiin muun muassa Commodore Amiga, Atari ST, Apple Macintosh ja Sinclair QL -tietokoneissa.

1980-luvulla markkinoiden kaksi suurinta mikroprosessorivalmistajaa olivat Intel ja Motorola: Intelillä oli hallussaan 90 % henkilökohtaisten tietokoneiden markkinoista ja Motorolalla oli 90 % työasemamarkkinoista.[2] Prosessori oli teknisesti parempi kuin kilpailevat Intel 8088 ja TMS9900 ja Motorolan prosessorilla oli merkittäviä etuja, mutta esimerkiksi IBM valitsi Intelin prosessorin koska se oli jo tuotannossa kun sille oli tarvetta.[3]

Ensimmäinen 68000-malli on sisäisesti 32-bittinen, jossa on 16-bittinen ulkoinen dataväylä ja 24-bittinen ulkoinen osoiteväylä.[4] Myöhemmät saman sarjan mallit ovat myös ulkoisesti 32-bittisiä alkaen Motorola 68020-mallista.[5] Motorola valmisti erillisiä liukulukulaskentaan tarkoitettuja matematiikkasuorittimia 68881 ja 68882, joita voitiin käyttää 68020:n ja 68030:n rinnalla.[5][6] 68040 ja 68060 sisälsivät integroidun matematiikkasuorittimen.[7][8]

Motorola päätti rikkoa yhteensopivuuden aiempaan Motorola 6800 -sarjaan kehittäessään 68000:n.[9] Eduiksi on sanottu yksinkertaisuutta ja ortogonaalisuutta, joiden myötä assemblyn opettelu tuli yksinkertaiseksi.[9] Sarjan suorittimia valmistetaan vielä 2020-luvulla.[9]

Prosessoriperheen mallit

[muokkaa | muokkaa wikitekstiä]

Käyttökohteet

[muokkaa | muokkaa wikitekstiä]
Kaksi Hitachin valmistamaa 68HC000-prosessoria kolikkopelin emolevyllä.

68000-sarjaa käytettiin aluksi kalliissa järjestelmissä, kuten monenkäyttäjän mikroissa ja yhden käyttäjän työasemissa.

Kotitietokoneissa prosessoria käytettiin 1980-luvun alkupuolelta lähtien:

Suoritinta käytettiin 1980- ja 1990-luvuilla useissa kolikkopelijärjestelmissä ja pelikonsoleissa kuten Sega Megadrive ja Neo-Geo. Kuuluisassa Segan Out Run -autopelissä (1986) oli kaksi M68k-prosessoria, joista toinen huolehti vain objektien skaalauksesta etäisyyden mukaan. Jotkut uudemmat konsolit kuten Sega Saturn ja Atari Jaguar käyttivät 68000:ta vielä apusuorittimena. Texas Instruments käytti 68000:aa TI-89 ja TI-92 laskimissaan.

68000-sarjaa käytettiin myös ohjaustehtävissä sulautetuissa järjestelmissä. 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ä (MMU) varustettuja suorittimia 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.

Arkkitehtuuri ja käskykannan ominaisuuksia

[muokkaa | muokkaa wikitekstiä]

Arkkitehtuurissa on kahdeksan 32-bittistä datarekisteriä ja kahdeksan 32-bittistä osoiterekisteriä. Datarekistereillä ei ole erityiskäyttöjä vaan ne ovat ohjelmoijan vapaasti käytettävissä lähteenä tai kohteena tavun (8-bit), sanan (16-bit) tai tuplasanan (32-bit) mitoissa. Osoiterekistereitä voi käsitellä 16- tai 32-bittisillä arvoilla. Osoiterekistereistä vain A7 on erityinen ja sitä käytetään pino-osoittimena.[14]

32-bittiset osoiterekisterit mahdollistivat suuren muistimäärän suoran osoittamisen ilman segmentointeja, jolloin muistia pystyi osoittamaan suoraan.[15] Kilpaileva x86 tarvitsi segmentointia yli 64 kilotavun käyttämiseen. Ensimmäisissä 68k-suorittimissa oli vain 24-bittinen ulkoinen osoiteväylä, ja muistiosoitteen kahdeksan ylintä bittiä olivat merkityksettömiä. Tämä johdosta jotkut ohjelmoijat käyttivät osoiterekisterien ylimpiä kahdeksaa bittiä ylimääräisen datan säilömiseen suorittimen käskykannan määrittelyn vastaisesti. Näin laaditut ohjelmat eivät enää toimineet suorittimien uudempien mallien kanssa, joissa oli leveämpi ulkoinen osoiteväylä tai virtuaalimuistia. Näihin ohjelmiin kuului esimerkiksi Microsoftin kehittämä AmigaBASIC, joka ei toiminut enää AmigaOS 2.0:n alla.

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ä. 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?

Motorola 68000 -sarjassa on supervisor-tila käyttöjärjestelmä ytimen suorittamista varten. Muut ohjelmat suoritetaan käyttäjätilassa.[16] Supervisor-tilassa pino-osoitin A7-rekisterissä vaihtuu ja käytössä on toinen tilarekisteri.[16] Käytössä on myös etuoikeutettuja käskyjä, jotka operoivat tilarekisterillä.[16] Prosessorin kaksi suoritustilaa vastaavat hyvin Unixin jakoa käyttäjän ja ytimen suoritustiloihin.[17]

  1. a b Gordon Bell: Rise and Fall of Minicomputers ethw.org. Viitattu 22.1.2020. (englanniksi)
  2. History of SPARC systems 1987-2006 softpanorama.org. Viitattu 21.10.2019. (englanniksi)
  3. Walden C. Rhines: The Inside Story of Texas Instruments’ Biggest Blunder: The TMS9900 Microprocessor spectrum.ieee.org. 22.6.2017. Viitattu 7.9.2024. (englanniksi)
  4. a b Motorola 68000 microprocessor family cpu-world.com. Viitattu 18.10.2021. (englanniksi)
  5. a b Motorola 68020 (MC68020) microprocessor family CPU-World. Viitattu 9.1.2017.
  6. Motorola 68030 (MC68030) microprocessor family cpu-world.com. Viitattu 6.9.2021. (englanniksi)
  7. Motorola 68040 (MC68040) microprocessor family cpu-world.com. Viitattu 6.9.2021. (englanniksi)
  8. Motorola 68060 processor family cpu-world.com. Viitattu 6.9.2021. (englanniksi)
  9. a b c Jim Turley: Wallowing in 68K Nostalgia eejournal.com. 10.8.2020. Viitattu 9.10.2022. (englanniksi)
  10. 【Fujitsu】 FACOM G-100 Series museum.ipsj.or.jp. Viitattu 19.10.2021. (englanniksi)
  11. 【Hitachi】3050 Series museum.ipsj.or.jp. Viitattu 18.10.2021. (englanniksi)
  12. 【NEC】 EWS4800 museum.ipsj.or.jp. Viitattu 19.10.2021. (englanniksi)
  13. 【Mitsubishi Electric】 ME 1000 Series museum.ipsj.or.jp. Viitattu 19.10.2021. (englanniksi)
  14. Thomas L. Johnson: A Comparison of MC68000 Family Processsors. Byte, syyskuu 1986, s. 205. Artikkelin verkkoversio.
  15. Robinson, Philip R.: Mastering the 68000 microprocessor, s. 12. Tab Books, 1985. ISBN 0-8306-1886-4 (englanniksi)
  16. a b c Jim Dun Ion: Supervisor Mode atarimagazines.com. 1986. Viitattu 9.10.2022. (englanniksi)
  17. Andrew L. Rood & Robert C. Cline & Jon A. Brewster: Unix and the MC68000. Byte, syyskuu 1986, s. 179. Artikkelin verkkoversio.

Kirjallisuutta

[muokkaa | muokkaa wikitekstiä]

Aiheesta muualla

[muokkaa | muokkaa wikitekstiä]
Käännös suomeksi
Käännös suomeksi
Tämä artikkeli tai sen osa on käännetty tai siihen on haettu tietoja muunkielisen Wikipedian artikkelista.
Alkuperäinen artikkeli: en:Motorola 68000 series