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 |
Infobox OK |
Motorola 68000 (MC68000,m68k,68k) onMotorolan valmistamamikroprosessorisarja, joka julkistettiin vuonna 1979.[1] Se oli aikanaan suosittusuoritin.Nimitystä 68000 käytetään sekä sarjan ensimmäisestä mallista että myös koko sarjasta ja sen toteuttamastaCISC-suoritinarkkitehtuurista.
Saman mallisarjan suorittimia ovat 68000,68010,68020,68030,68040,68060 eri muunnoksineen. Prosessoreista on halvempia malleja käyttöön muun muassasulautetuissa järjestelmissä.
Prosessoria käytettiin useissaUnix-työasemissa[1], muun muassaSun Microsystemsin varhaisissa malleissa,Hewlett-Packardin HP 9000 -sarjassa,Silicon Graphicsin IRIS 1000 ja IRIS 2000 -sarjoissa,NeXTinNeXT Computer -tietokoneissa sekäDigital Equipment Corporationin VAXstation 100 -terminaalissa.Kotitietokoneissa sitä käytettiin muun muassaCommodore Amiga,Atari ST,Apple Macintosh jaSinclair QL -tietokoneissa.
1980-luvulla markkinoiden kaksi suurinta mikroprosessorivalmistajaa olivatIntel 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ä alkaenMotorola 68020-mallista.[5] Motorola valmisti erillisiäliukulukulaskentaan tarkoitettujamatematiikkasuorittimia68881 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 aiempaanMotorola 6800 -sarjaan kehittäessään 68000:n.[9] Eduiksi on sanottu yksinkertaisuutta jaortogonaalisuutta, joiden myötäassemblyn opettelu tuli yksinkertaiseksi.[9]Sarjan suorittimia valmistetaan vielä 2020-luvulla.[9]
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 useissakolikkopelijärjestelmissä japelikonsoleissa kutenSega Megadrive jaNeo-Geo. Kuuluisassa SeganOut Run -autopelissä (1986) oli kaksi M68k-prosessoria, joista toinen huolehti vain objektien skaalauksesta etäisyyden mukaan. Jotkut uudemmat konsolit kutenSega Saturn jaAtari Jaguar käyttivät 68000:ta vielä apusuorittimena.Texas Instruments käytti 68000:aaTI-89 jaTI-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ä jaohjelmoitavissa logiikoissa.
Sarjanmuistinhallintayksiköllä (MMU) varustettuja suorittimia68030 ja68040 käytettiin useissa Unix-työasemissa.
Suoritinarkkitehtuurin epäviralliseksi seuraajaksi tuliApplen,IBM:n jaMotorolan suunnittelemaPowerPC, johon aiemmin m68k -suorittimia käyttänyt Applen Macintosh siirtyi vuonna 1994. Sitä käytetään myös useissa Amigan turbokorteissa.
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äänpino-osoittimena.[14]
32-bittiset osoiterekisterit mahdollistivat suuren muistimäärän suoran osoittamisen ilman segmentointeja, jolloin muistia pystyi osoittamaan suoraan.[15] Kilpailevax86 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 sitenassembly-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 onsupervisor-tilakä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 hyvinUnixin jakoa käyttäjän ja ytimen suoritustiloihin.[17]
6800-sarja |
|
---|---|
Motorola 68000 -sarja | |
Matematiikkasuorittimet | 68881/68882 |
Muistinhallintayksiköt | |
88000-sarja | |
PowerPC-sarja | |
Digitaaliset signaaliprosessorit |
|
Mikrokontrollerit |
|