MIPS-arhitektuur: definitsioon, ajalugu ja peamised kasutusalad
MIPS-arhitektuur: selge definitsioon, põnev ajalugu ja praktilised kasutusalad — RISC-põhimõtted, 32/64-bitine areng ning rakendused mängukonsoolides, ruuterites ja manussüsteemides.
MIPS-arhitektuur on Stanfordi Ülikoolis 1981. aastal välja töötatud arvutite käsukomplekt. Algupärane nimetus MIPS on akronüüm Microprocessor without Interlocked Pipeline Stages, mis rõhutab arhitektuuri eesmärki lihtsustada torujuhtme (pipeline) disaini ja vähendada keerulisi riistvaralisi sõltuvuste (interlock) lahendusi. MIPS on kavandatud peamiselt RISC-süsteemis töötamiseks: käsud on üldjuhul fikseeritud pikkusega, mis lihtsustab dekodeerimist ja võimaldab efektiivset torujuhtme täitmist. Alguses kasutati arhitektuuris 32-bitist bussi, kuid alates 1991. aastast hakati laialdasemalt kasutama ka 64-bitist arhitektuuri (MIPS64).
Ajalugu ja levik
MIPS arhitektuuri töötati välja akadeemilisest ideest kommertsiaalseks tooteks: 1980. aastate jooksul moodustusid erinevad MIPS-põhised mikroprotsessorid ja ettevõtted. 1980.–1990. aastatel levis MIPS laialdaselt töökodades ja tööjaamades ning seda kasutasid mitmed suured tootjad. Näiteks kuni 2006. aasta lõpuni kasutati MIPS-i rakendusi paljudes SGI arvutitoodetes. 1980ndate lõpus ja 1990ndatel kasutati MIPS-i ka firmades nagu Digital Equipment Corporation, NEC, Pyramid Technology, Siemens Nixdorf ja Tandem Computers. Hinnanguliselt oli 1990. aastate keskel ja lõpus iga kolmas toodetud RISC-mikroprotsessor MIPS-i implementatsioon.
Arhitektuuri põhijooned
- Fikseeritud käsupikkus: enamik MIPS-käske on 32-bitised, mis lihtsustab dekodeerimist.
- RISC-põhimõtted: vähe käske, lihtsad aadressimisrežimid, kiire torujuhtme täitmine.
- Registreid: tüüpiliselt 32 üldotstarbelist registrit (GPR), millest $zero on alati null; eraldi registrid korrutuse/jagamise tulemite (hi/lo) hoidmiseks.
- Instruktsioonivormingud: R-, I- ja J-tüüpi formaadid, mis on lihtsad ja kiirelt dekodeeritavad.
- Pipelining ja delay-slot: MIPS-i varasemates versioonides on kasutusel haru delay-slot ehk üks käsk täidetakse alati pärast haruinstruktsiooni, mida kompilaator või assembler tavaliselt arvestab.
- Endian-variant: MIPS võib toetada nii little- kui big-endian-andmete esitamist, sõltuvalt süsteemi konfiguratsioonist.
Instruktsioonid, ABI ja versioonid
MIPS-il on lihtne ja hästi struktureeritud käsukomplekt. MIPS-ist on erinevaid standardversioone (nt MIPS I–V) ning kaasaegsed toodangud toetavad MIPS32 ja MIPS64 arhitektuurihulku. Samuti on olemas erinevad ABI-d (nt o32, n32, n64) määramaks registrite kasutust, virna- ja kutsesüntaksit. Paljud implementeerimised lisavad ka vektori- või DSP-jõudlust parandavaid laiendusi.
Peamised kasutusalad
2015. aastal ja ka hiljem on MIPS-i rakendused olnud laialt levinud manussüsteemides ja tööstuslikes seadmetes. Levinumad kasutusvaldkonnad on:
- Windows CE ja teised mobiilsed/embedditud operatsioonisüsteemid;
- ruuterites, lülitites ja teistes võrgu seadmetes;
- koduväravates (gateway) ja modemi- ning ruuteripõhistes seadmetes;
- videomängukonsoolides — tuntud näited on Sony konsoolid nagu PlayStation, PlayStation 2 ja PlayStation Portable;
- multimeedia seadmed, set-top-box’id, kodused meediaserverid ja mõned tööstuslikud kontrollseadmed.
Lisaks on MIPS olnud populaarne õppetööks ja arendusplatvormina, kuna arhitektuuri struktuur on selge ning hea näide RISC-idee rakendamisest.
Eelised ja piirangud
Eelised: lihtne ja ennustatav käsuhaldus, hea torujuhtme efektiivsus, fikseeritud käsupikkus ja tugev dokumentatsioon. MIPS on olnud atraktiivne ka tinglikult madala energiatarbega sissekannete tõttu embedded-seadmetes.
Põhiraskused: konkurents ARM-iga, turu nišistumine ning vajadus kaasaegsete laienduste järele (nt kõrgema jõudluse vektorijuhendid). Mõned MIPS-i omadused nagu delay-slot nõuavad kompilaatoripoolset kohandamist või erinevat programmeerimismudelit.
Tänapäevane seisu
Tänapäeval on MIPS endiselt kasutusel teatud tööstusharudes, eelkõige võrgu- ja manussüsteemides, kuid mobiilseadmete turul on see pigem kokku tõmbunud ARM-i ja teiste arhitektuuride surve tõttu. Samas jätkavad kommerts- ja avatud lähtekoodiga implmentatsioonid MIPS-i arendamist, sh spetsiaalsed lõivlahendused embedded-turule. Akadeemiliselt jääb MIPS väärtuslikuks õppetöö ja arhitektuuriõpetuse näiteks.
Kui soovite, võin lisada tehnilisema ülevaate MIPS-i käsuformaadist, registrikonventsioonidest või näiteks näiteid MIPS-asm koodi kohta.
Küsimused ja vastused
K: Mis on MIPS-arhitektuur?
V: MIPS-arhitektuur on Stanfordi Ülikoolis 1981. aastal välja töötatud arvutite käsukomplekt.
K: Mida tähendab MIPS?
V: MIPS oli algselt akronüüm, mis tähendab Microprocessor without Interlocked Pipeline Stages (mikroprotsessor ilma blokeeritud torujuhtmeetappideta).
K: Mis on RISC MIPS-arhitektuuris?
V: Suurem osa MIPS-arhitektuurist on tehtud RISC-meetodil. RISC tähendab Reduced Instruction Set Computing.
K: Mis on RISC-i kasutamise eelis MIPS-arhitektuuris?
V: Täielikus RISC-arhitektuuris on kõik käsud ühesuguse pikkusega. See lihtsustab mikrokiibi disaini ja võimaldab kasutada kiireid taktimisi.
K: Millist bussiarhitektuuri kasutati MIPS-arhitektuuri algversioonides?
V: Alguses kasutati arhitektuuris 32-bitist bussi.
K: Millal kasutati MIPS-arhitektuuris 64-bitist arhitektuuri?
V: Alates 1991. aastast kasutati 64-bitist arhitektuuri.
K: Millistes süsteemides kasutatakse peamiselt MIPS-i implementatsioone?
V: 2015. aastal kasutatakse MIPS-i implementatsioone peamiselt manussüsteemides, näiteks Windows CE seadmetes, ruuterites, koduväravates ja videomängukonsoolides, näiteks Sony Playstation, PlayStation 2 ja PlayStation Portable.
Otsige