MIPS-arkkitehtuuri – RISC-käskykanta, historia ja käyttökohteet
Tutustu MIPS-arkkitehtuuriin — RISC-pohjainen 32/64-bittinen teknologia, sen historia ja käytöt sulautetuissa järjestelmissä, reitittimissä ja PlayStation-pelikonsolissa.
MIPS-arkkitehtuuri on Stanfordin yliopistossa vuonna 1981 kehitetty tietokoneiden käskykanta. Alussa MIPS oli lyhenne sanoista Microprocessor without Interlocked Pipeline Stages. Suurin osa siitä on toteutettu RISC:nä. Täydellisessä RISC-arkkitehtuurissa kaikki komennot ovat yhtä pitkiä. Tämä yksinkertaistaa mikrosirun suunnittelua ja mahdollistaa nopeiden kellojaksojen käytön. Alussa arkkitehtuurissa käytettiin 32-bittistä väylää, mutta vuodesta 1991 alkaen käytettiin 64-bittistä arkkitehtuuria.
Vuonna 2015 MIPS-toteutuksia käytetään pääasiassa sulautetuissa järjestelmissä, kuten Windows CE -laitteissa, reitittimissä, kotikäyttöön tarkoitetuissa yhdyskäytävissä ja videopelikonsoleissa, kuten Sony Playstationissa, PlayStation 2:ssa ja PlayStation Portableissa. Vuoden 2006 loppuun asti niitä käytettiin myös monissa SGI:n tietokonetuotteissa. MIPS-toteutuksia käyttivät 1980-luvun lopulla ja 1990-luvulla myös Digital Equipment Corporation, NEC, Pyramid Technology, Siemens Nixdorf, Tandem Computers ja muut. Arvioiden mukaan 1990-luvun puolivälissä ja lopussa joka kolmas tuotettu RISC-mikroprosessori oli MIPS-toteutus.
Tekniset piirteet
- Load/store-arkkitehtuuri: MIPS on puhdas load/store-arkkitehtuuri, eli aritmeettiset käskyt käsittelevät ainoastaan rekistereitä ja muistoon päästään erillisillä lataus- ja tallennuskäskyillä.
- Kiinteän pituinen käskykanta: Perinteiset MIPS-käskyt ovat 32-bittisiä, mikä yksinkertaistaa dekooderia ja pipelöintiä. MIPS64 laajensi arkkitehtuurin 64-bittiseksi.
- Rekisterit: Tavallisessa MIPS-arkkitehtuurissa on 32 yleiskäyttöistä 32- tai 64-bittistä rekisteriä ja erillinen liukulukuyksikkö rekistereineen. Rekisterien nimityksiä käytetään laajasti kutsuen mm. zero, at, v0–v1, a0–a3, t0–t9, s0–s7, k0–k1, gp, sp, fp, ra.
- Käskyformaatit: Kolme perusmuotoa: R- (rekisteri), I- (immediate/osoite) ja J- (hyppy) muodot. Lisäksi arkkitehtuuri tukee coprocessor-yksiköitä (esim. FPU).
- Pipelöinti ja ilman lukituksia: Nimestäkin käy ilmi, että alkuperäisessä MIPSissä pyrittiin välttämään laitteellisia interlockeja (hazard-lukituksia). Tämä siirsi vastuun ajoituksesta enemmän käännösohjelmalle (compiler), ja joissain tilanteissa käännösohjelma lisäsi viivekäskyjä (esim. NOP) tai hyödynsi branch-delay -paikkoja.
- Endianness: MIPS-ympäristöt voivat olla kumpaakin endiannessiä tukeva (big- tai little-endian) toteutuksesta riippuen.
Historia ja kehitys
MIPS kehitettiin akateemisessa ympäristössä ja sen suunnittelufilosofia painotti yksinkertaisuutta, pipelöitävyyttä ja tehokasta käännösohjelman tukea. Arkkitehtuuri oli merkittävä esimerkki RISC-ajatuksista ja sillä oli suuri vaikutus mikroprosessoreiden suunnitteluun 1980–1990-luvuilla. MIPS-arkkitehtuuria lisensoitiin useille valmistajille, minkä takia sen toteutuksia nähtiin monissa eri tuotteissa ja markkinasegmenteissä.
Käyttökohteet ja nykytilanne
- Sulautetut laitteet: Reitittimet, kotiverkkolaitteet, modeemit ja erilaiset järjestelmäpiirit (SoC) ovat olleet yleisiä MIPSin käyttökohteita.
- Kulutuselektroniikka ja pelikonsolit: MIPS-toteutuksia on käytetty mm. useissa Sony-konsoleissa ja erilaisissa viihdelaitteissa.
- Tietokoneet ja työasemat: Aikaisemmin SGI ja muut valmistajat käyttivät MIPS-prosessoreita työasemissa ja palvelimissa, mutta markkinat ovat sittemmin siirtyneet laajemmin muihin arkkitehtuureihin.
- Koulutus ja tutkimus: MIPS on suosittu opetusesimerkki tietokonearkkitehtuurin kursseilla, ja se on käytössä monissa oppikirjoissa ja kurssimateriaaleissa.
Edut ja rajoitukset
- Edut: Selkeä ja yksinkertainen käskykanta, hyvä pipelöitävyys, tehokas kompilaattorituki ja laaja lisenssiverkosto eri laitevalmistajien keskuudessa.
- Rajoitukset: Koska alkuvaiheen lähestymistapa siirsi osan vastuusta ohjelmistolle, laitteistot saattoivat olla riippuvaisia kääntäjän optimoinneista. Lisäksi MIPS on menettänyt osan markkinaosuudestaan ajan myötä esimerkiksi ARM-arkkitehtuurille, mikä on vähentänyt joissain segmenteissä ekosysteemin vetovoimaa.
Yhteenvetona MIPS on merkittävä RISC-arkkitehtuuri, joka on vaikuttanut laajasti mikroprosessoreiden kehitykseen ja jota on käytetty laajalti erityisesti sulautetuissa ja erikoistuneissa järjestelmissä. Sen yksinkertainen rakenne tekee siitä myös edelleen hyödyllisen opetus- ja tutkimuskäytössä.
Kysymyksiä ja vastauksia
K: Mikä on MIPS-arkkitehtuuri?
A: MIPS-arkkitehtuuri on Stanfordin yliopistossa vuonna 1981 kehitetty tietokoneiden käskykanta.
K: Mitä MIPS tarkoittaa?
V: MIPS oli alun perin lyhenne sanoista Microprocessor without Interlocked Pipeline Stages.
K: Mikä on RISC MIPS-arkkitehtuurissa?
V: Suurin osa MIPS-arkkitehtuurista on toteutettu RISC:nä. RISC on lyhenne sanoista Reduced Instruction Set Computing.
K: Mikä on RISC:n käytön etu MIPS-arkkitehtuurissa?
V: Täydellisessä RISC-arkkitehtuurissa kaikki komennot ovat yhtä pitkiä. Tämä yksinkertaistaa mikrosirun suunnittelua ja mahdollistaa nopeiden kellojaksojen käytön.
K: Mitä väyläarkkitehtuuria käytettiin MIPS-arkkitehtuurin ensimmäisissä versioissa?
V: Alussa arkkitehtuurissa käytettiin 32-bittistä väylää.
K: Milloin MIPS-arkkitehtuurissa käytettiin 64-bittistä arkkitehtuuria?
V: Vuodesta 1991 alkaen käytettiin 64-bittistä arkkitehtuuria.
K: Missä järjestelmissä MIPS-toteutuksia käytetään ensisijaisesti?
V: Vuonna 2015 MIPS-toteutuksia käytetään ensisijaisesti sulautetuissa järjestelmissä, kuten Windows CE -laitteissa, reitittimissä, kotikäytävien yhdyskäytävissä ja videopelikonsoleissa, kuten Sony Playstationissa, PlayStation 2:ssa ja PlayStation Portableissa.
Etsiä