MIPS-arkkitehtuuri

**MIPS** (**M**icroprocessor without **I**nterlocked **P**ipeline **S**tages) on RISC-suoritinarkkitehtuuri, jonka kehitti *MIPS Computer Systems Inc.* (myöhemmin *[[MIPS Technologies]]*). Ensimmäinen MIPS-suoritin, **R2000**, julkistettiin vuonna 1985, mikä tekee MIPSistä yhden pitkäikäisimmistä RISC-arkkitehtuureista.

SGI osti *MIPS Computer Systemsin* vuonna 1992. SGI irrotti MIPS-valmistuksen omaksi yksiköksi päätettyään siirtyä Intel Itanium -suorittimiin. Yrityksen nimi vaihtui myöhemmin muotoon MIPS Technologies. 

## Historia
Samaan aikaan oli kolme projektia, jotka pyrkivät kehittämään pienennetyn käskykannan suorittimen: IBM 801, Berkeley RISC ja Stanford MIPS.
 Näistä Stanfordin projekti johti MIPS-arkkitehtuurin kehittämiseen. Suunnittelun tavoitteena oli yksinkertaistaa suoritinta minimoimalla riippuvuudet liukuhihnan vaiheiden välillä. Stanfordin projektin johdossa oli John L. Hennessy.

Imagination Technologies osti MIPS Technologiesin vuonna 2012. Arkkitehtuuri on myyty vuonna 2017 Tallwood Venture Capital-yhtiölle ja vuonna 2018 edelleen Wave Computing -yhtiölle. Wave Computing on ilmoittanut joulukuussa 2018 julkaisevansa käskykannan avoimella lisenssillä MIPS Open -hankkeessa.

Suorittimen tekniikkaa on lisensoinut käyttöönsä muun muassa kiinalainen Loongson.

## Käyttökohteet

MIPS-suorittimia on käytetty muun muassa SGI:n UNIX-työasemakoneissa, Sonyn ja Nintendon pelikonsoleissa, Windows CE -pohjaisissa PDA-laitteissa, Ciscon reitittimissä sekä sulautetuissa järjestelmissä. NEC:in valmistamissa EWS4800/220 ja EWS4800/260 -työasemissa sekä UP4800-palvelimissa käytettiin R3000-suoritinta.
1990-luvun loppupuolella arvioitiin, että kolmannes valmistetuista RISC-suorittimista oli MIPSejä.

2000-luvun alussa tehokkaiden työasemiin ja palvelimiin tarkoitettujen MIPS-mallien kehitys lopetettiin SGIn siirtyessä käyttämään intelin suorittimia. Pienemmät MIPS-mallit ovat kuitenkin edelleen laajalti käytössä muun muassa WLAN-tukiasemissa. 

Kiinalainen Loongson (龙芯, lóngxīn) on vähävirtaisiin yleistietokoneisiin kehitetty MIPS-prosessori, jota kehittää Kiinan tiedeakatemia (中国科学院; engl. lyh. *CAS*). Sen ensimmäinen malli, 32-bittinen Loongson 1, julkaistiin vuonna 2002 ja se toimi 266MHz kellotaajuudella. Loongson 1 ei ollut täysin MIPS-yhteensopiva, ollen täysin Kiinan tiedeakatemian sisäisen kehityksen tulos. 
CAS osti vuonna 2007 käskykannan lisenssioikeudet MIPS Technologiesilta, ja vuonna 2009 osti täydet oikeudet sen kehittämään MIPS32 ja MIPS64 arkkitehtuureihin. 64-bittinen Loongson 2, jonka ensimmäinen malli julkaistiin ennen lisenssisopimusta vuonna 2004, on myöhemmältä mallistoltaan täysin MIPS-yhteensopiva vuodesta 2009 lähtien. 

MIPS-käskykannan erikoisuus on erityiset kerto- ja jakolaskuun liittyvät rekisterit; kaikkien muiden operaatioiden suhteen kaikki rekisterit ovat samanarvoisia, mutta kerto- ja jakolasku voidaan suorittaa vain HI- ja LO-rekistereiden avulla. Toisaalta joissain muissa RISC-käskykannoissa ei ole ollenkaan kokonaislukujen jakolaskua.

## Käskykantalaajennukset

Käskykantaan on useita laajennus*moduuleita* kuten SIMD käskyjen suorittamiseen *MIPS SIMD Architecture* (MSA).

## Arkkitehtuuriversiot

Arkkitehtuurista on useampia versioita joita ovat:
* MIPS I (1985)
** R2000
* MIPS II (1990)
** R6000
* MIPS III (1992)
** R4000
* MIPS IV (1994)
** R8000
* MIPS V (1996)
** tämän arkkitehtuurin suorittimia on suunniteltu mutta ei tuotettu
** *MIPS Digital Media Extensions* (MDMX) ja *MIPS-3D* käskykantalaajennuksia suunniteltu
* MIPS32
** 32-bittinen
** perustuu MIPS II arkkitehtuuriin ja lisäominaisuuksia MIPS III, MIPS IV ja MIPS V arkkitehtuureista
* MIPS64
** 64-bittinen
** perustuu MIPS V arkkitehtuuriin

Uusin versio arkkitehtuurista MIPS32/MIPS64 Release 6 on julkaistu vuonna 2014.

Lisäksi on eri versioita teknologian lisensoijilla, mm. Sonyn ja Toshiban "Emotion Engine" PlayStation 2 konsolissa.

## MIPS-suorittimia

* R2000 (1985)
* R3000 (1988), käytetty muun muassa Sony PlayStationissa.
* R4000 (1991), ensimmäinen 64-bittinen MIPS. Edullisempi versio, R4300, on käytössä Nintendo 64:ssä.
* R4400 (1992)
* R8000 (1994)
* R10000 (1995), käytetty muun muassa SGI O2:ssa.
* R12000 (1998)
* R14000 (2001)
* R16000 (2002)

## Käyttöjärjestelmätuki

* IRIX
* Linux
* FreeBSD 
* NetBSD
* OpenBSD 
* QNX

## Lisensoijia

Arkkitehtuurin ovat lisensoineet itselleen mm. seuraavat:
* NEC
* Toshiba 
* SiByte (myöh. Broadcom) 
* Philips
* LSI Logic
* IDT
* Raza Microelectronics, Inc.
* Cavium
* Loongson Technology
* Ingenic Semiconductor

## Lähteet

## Aiheesta muualla

* MIPS Instruction Reference  
* MIPS Instructions  
* Englanninkielisen Wikipedian artikkeli 
* Englanninkielisen Wikipedian artikkeli malleista