250px|thumb|Egy Toshiba gyártmányú MIPS R4400 processzor A MIPS (az angol Microprocessor without Interlocked Pipeline Stages rövidítése) egy 32/64 bites RISC utasításkészlet-architektúra (angolul: instruction set architecture, ISA), melyet a MIPS Computer Systems (jelenleg MIPS Technologies) cég fejlesztett ki az 1980-as évek elején. Eredetileg a MIPS-architektúra 32 bites volt, a 64 bites felépítés későbbi fejlesztés eredménye. A MIPS utasításkészletnek több változata létezik, ezek a következők: MIPS I, MIPS II, MIPS III, MIPS IV, MIPS V, MIPS32, és MIPS64. Jelenleg a MIPS32 és MIPS64 revíziókat használják a 32 és 64 bites rendszerekhez, ezek a regiszterkészletet is meghatározzák az utasításkészlet mellett.
Több opcionális kiterjesztése van, így a MIPS-3D, ami egyszerű lebegőpontos SIMD utasításkészlet általános 3D feladatokhoz, az MDMX (MaDMaX) – ez egy jóval átfogóbb egész típusú (integer) SIMD utasításkészlet, mely a 64 bites lebegőpontos regisztereket használja, a MIPS16e, mely tömörítést ad az utasításfolyamhoz, így a programok kisebb helyet foglalnak, valamint a MIPS MT, amely többszálú utasításvégrehajtást (multithreading) ad a készlethez.
A MIPS-architektúra a legtöbb számítógép-architektúra kurzuson tananyag. Nagy hatással volt a későbbi RISC felépítésű processzorokra, mint pl. a DEC Alphára.
MIPS típusú processzorokat főleg a beágyazott rendszerekben használnak, így pl. Windows CE eszközökben, routerekben, házi használatú gateway-ekben, valamint játékkonzolokban, pl. Sony PlayStation 2 és PlayStation Portable gépekben. 2006-ig az SGI cég MIPS processzorokkal szerelt számítógépeket és munkaállomásokat forgalmazott (pl. SGI Indigo). MIPS implementációkat több cég is alkalmazott a termékeiben: ilyenek a Digital Equipment Corporation (DEC), NEC, Pyramid Technology, Siemens Nixdorf, Tandem Computers és mások az 1980-as évek végén és az 1990-es években. Az 1990-es évek második felében a RISC processzorok egyharmada MIPS változat volt.
2021 márciusában a MIPS vállalat bejelentette, hogy a MIPS-architektúra fejlesztése befejeződött, és a vállalat átáll a RISC-V architektúrájú processzorok fejlesztésére.
Történet A kezdetek 1981-ben a Stanford Egyetemen John L. Hennessy és csapata kezdte el a munkát, ami a MIPS processzor kifejlesztéséhez vezetett. A kiinduló elgondolás a következő volt: hogyan lehetne növelni a processzorok teljesítményét mélyebb/több fokozatú utasítás-futószalag (pipeline) használatával. A futószalagos technika már ismert volt ebben az időben, pl. az IBM 801-es kísérleti gépben már alkalmazták, de még nem fejlődött ki teljesen. A CPU-k néhány meghatározott alapegységből épülnek fel, ilyenek pl. az ALU (aritmetikai-logikai egység, az egész számokkal végzett műveletekhez), a memóriakezelést megvalósító betöltő/tároló (load/store) egység, stb. A hagyományos nem optimalizált felépítésben egy adott művelet (egy program utasítássorozatában) általában befejeződik, mielőtt a következő utasítás végrehajtása megkezdődne; a futószalagos architektúrában azonban az egymást követő utasítások végrehajtási fázisai átfedik egymást. Így például miközben a processzor egy utasítást hajt végre a lebegőpontos egységben, a betöltő/tároló egység beolvashatja a következő utasítást.
A futószalag használatának egyik fő akadálya az volt, hogy néhány utasítás, mint pl. az osztás, végrehajtása tovább tart, így a CPU-nak várnia kell, mielőtt a következő utasítás bekerülne a futószalagba. Az egyik megoldás erre a problémára az események közötti zárolások (interlock) használata volt, ez lehetővé tette a végrehajtási fokozatok számára a foglaltság jelzését és a sorban álló többi fázis várakoztatását. Hennessy csapata ezt a zárolást tekintette a teljesítményt korlátozó legfőbb akadálynak, mivel a zárak/reteszek a CPU összes egységével kommunikálnak, ami időbe telik, és a reteszelés az órajel növelését is korlátozza. A MIPS fő tervezési szempontja az volt, hogy minden egyes utasításfázis, a gyorsítótár-hozzáférést is beleértve, egy ciklus alatt végrehajtható legyen, megszüntetve az összefonódó zárolásokat és lehetővé téve az egyciklusos utasítás-végrehajtást.
Bár a tervezés során (a fentiekből kiindulva, ádáz vitákat követően) kihagytak néhány hasznos utasítást, mint pl. a szorzást és osztást, mégis érezhető volt, hogy egy ilyen rendszer összteljesítménye drámaian megnövekszik, mert lehetővé teszi magasabb órajelen működő csipek előállítását. A sebességnövekedést nehéz lett volna a központi zárolás megtartásával elérni, mivel a zárolás kezeléséhez szükséges idő éppen úgy függ az áramkör lapkaméretétől, mit az órajeltől.
A másik különbség a MIPS és a konkurens Berkeley RISC felépítés között a szubrutinhívások kezelése. A RISC architektúra ún. regiszterablakokat használ erre az igen gyakori feladatra, azonban ez korlátozza többszintű hívások esetén az elérhető hívási mélységet. Minden szubrutinhívásnál külön regiszterkészletre van szükség, ami növeli a processzor területigényét, ezzel együtt a kialakítás bonyolultságát is. Hennessy úgy gondolta, hogy egy 'figyelmes' fordítóprogram mindig talál szabad regisztereket, mielőtt hardveres megvalósításhoz kellene fordulni, és a regiszterek számának egyszerű növelése nemcsak hogy leegyszerűsíti ezt a feladatot, hanem még növeli is a teljesítményt.
Más tekintetben a MIPS egy tipikus RISC típusú konstrukció. Az utasításkódok lerövidítése érdekében a RISC kialakításokban csökkentették a kódolandó utasítások számát. A MIPS esetében a 32 bites utasításszóból 6 bitet foglal el az utasítás kódja (opkód), a maradék 26 bit tartalmazhat egy ugrási címet, vagy 4 db 5 bites mezőn 3 regisztercímet, egy eltolási értéket és az utasításkód másik 6 bitjét. Egy másik formátum – a sok egyéb közül – meghatározhat 2 regisztert és egy 16 bites értéket, stb. Ez az utasításkód-kialakítás lehetővé teszi, hogy a processzor egy órajelciklus alatt beolvassa a művelet kódját és a hozzá tartozó adatokat; ellentétben a korábbi, nem-RISC kialakítású processzorokkal: pl. a MOS Technology 6502 külön órajelciklusok alatt olvasta be az opkódot és az adatokat. Ez az egyik legjelentősebb teljesítménynövelő tényező a RISC kialakítások esetén. Újabban a nem-RISC kialakítású processzorok is képesek hasonló sebességet elérni, más módszerek használatával.
Az első hardver 1984-re Hennessy már belátta a tervezetben rejlő üzleti lehetőségeket és otthagyta a Stanfordot, hogy megalapítsa a MIPS Computer Systems céget. A vállalkozás első terméke, az R2000-es mikroprocesszor, 1985-ben jelent meg, majd később a továbbfejlesztett változat, az R3000-es 1988-ban. Ezeket elsősorban a Silicon Graphics (SGI) munkaállomás-sorozatában használták fel. A kereskedelemben megjelent processzorok kialakítása eltért a Stanfordon végzett kutatás eredményeitől, mivel ezekben volt szorzás és osztás utasítás, és a hardveres zárolások többségét is megvalósították. A tervezésben részt vett Earl Killian szoftvertervező is; ő a MIPS III 64 bites utasításkészlet kiterjesztés és az R4000-es mikroarchitektúra vezető tervezője.
A MIPS 1991-ben hozta forgalomba első 64 bites processzorát, az R4000-et. Ez fejlettebb TLB-vel (translation lookaside buffer, asszociatív cache címfordításhoz) rendelkezett, melyben a bejegyzés nem csak a virtuális címet, hanem a virtuális címmező azonosítót is tartalmazta, ennek haszna a mikrokernelek teljesítményében jelentkezett,Jochen Liedtke(1995). On micro kernel construction. 15th Symposium on Operating Systems Principles, Copper Mountain Resort, Colorado. a konkurens architektúráknál (Pentium, PowerPC, Alpha) ugyanis a gyakori kontextus-váltások során üríteni kell a TLB-t és ez lassulást okoz. A piaci megjelenéskor azonban a MIPS pénzügyi nehézségekbe ütközött. A kialakítás annyira fontos volt az SGI számára, ami ez idő tájt a MIPS egyik legjelentősebb ügyfele volt, hogy 1992-ben 333 millió dollárért megvásárolta a teljes céget, ezzel garantálva a kialakítás fennmaradását. Az SGI leányvállalataként a cég MIPS Technologies néven folytatta tevékenységét.
Licencelhető architektúra 1990 elején a MIPS elkezdte licencelni a fejlesztéseit külső cégeknek. Az ötlet sikeresnek bizonyult, ami főleg a mag egyszerűségének köszönhető, ui. ez sok olyan felhasználási területet is megnyitott az architektúra számára, ahol eddig kevésbé hatékony CISC megoldásokat használtak, hasonló kapuszám (gate count) és ár mellett. (A kapuszám és az ár szoros összefüggésben van, az ár arányban áll a kivezetések számával is.) A Sun Microsystems is megpróbálkozott a SPARC mag licencelésével, de közel lett annyira sikeres. Az 1990-es évek végére a MIPS a legerősebb helyet foglalta el a beágyazott rendszerek előállításának terén – 1997-ben a 48-milliós MIPS-alapú leszállított processzorral az elsődleges RISC CPU szállítóvá vált, amivel megelőzte a híres 68k processzorcsaládot. A MIPS annyira sikeres volt, hogy 1998-ban az SGI leválasztotta a céget (eladta a részvényeit), így a MIPS Technologies önálló vállalkozásként működött tovább. A MIPS bevételének fele ma is a fejlesztéseik licenceléséből származik, a többi bevétel nagy része fejlesztési szerződésekből, melyek alapján magokat fejlesztenek külső cégeknek.
1990-ben a MIPS végleges formába hozta licencelési rendszerét, ami két alapvető kialakításra épül: a 32 bites MIPS32 és a 64 bites MIPS64 architektúrákra. A MIPS32 a MIPS II utasításkészleten alapul néhány kiegészítéssel a MIPS III, MIPS IV és MIPS V-ből; a MIPS64 alapja a MIPS V. A NEC, Toshiba és SiByte (amit később megvásárolt a BroadcomBroadcom acquires MIPS core provider SiByte , EE Times, Loring Wirbel, 11/6/2000 11:51 AM EST) a bejelentéskor megszerezték a MIPS64 licencét, később csatlakozott hozzájuk a Philips, LSI Logic és az IDT. A konstrukció sikeres volt, így mostanára a számítógép-szerű eszközök (kéziszámítógépek, set-top boxok stb.) piacán a „nehézsúlyú” magok között a legelterjedtebb típus a MIPS.
A MIPS-architektúra licencelhetősége sok induló processzorgyártó cég érdeklődését fölkeltette. Az egyik ilyen volt a Quantum Effect Devices (QED). Az R4300i jelű processzort tervező csoport indította a SandCraft céget, ami a R5432-et tervezte a NEC számára, és később az SR71000 jelű modellt, ami az első soronkívüli végrehajtású (out-of-order execution) processzor volt a beágyazott eszközök piacán.
Az eredeti DEC StrongARM fejlesztőcsoport hirtelen két cégre bomlott: egyik a SiByte, ami a SB-1250 gyártója – ez volt az egyik első nagy teljesítményű MIPS-alapú SoC; míg az Alchemy Semiconductor (melyet később az AMD felvásárolt) a kis fogyasztású alkalmazásokhoz szánt Au-1000 SoC gyártója volt. A Lexra DSP kiterjesztéssel ellátott MIPS-alapú architektúrára épülő audio-chipekkel jelentkezett és többszálú programfuttatást támogató kiterjesztéssel a hálózati eszközök terén. Mivel a Lexra nem licencelte az architektúrát, két per is indult ellene. Az elsőt gyorsan lezárták, mikor a Lexra megígérte, hogy nem reklámozza MIPS-kompatibilis jelzővel a termékeit. A második, ami a MIPS 4814976 sz., a nemkiegyenlített memória-hozzáférés kezelését érintő szabadalmát érintette, hosszan elhúzódott, végül azzal ért véget, hogy a Lexra ingyenes licencet és egy nagyobb összeget kapott a MIPS Technologies-től.
Két további cég is megjelent a piacon, amik a többmagos MIPS-architektúrájú processzorok készítésére specializálódtak. A Raza Microelectronics, Inc. megszerezte a sikertelen SandCraft termékvonalának jogait és később nyolcmagos rendszerekkel állt elő, amelyek a telekommunikációs és hálózati piacot célozták meg. A Cavium Networks, ami eredetileg biztonsági processzor szállító volt, eleinte nyolcmagos, később 32 magos processzorokat állított elő, ugyanarra a piacra. Mind a két vállalat házon belül fejlesztette ki az általuk gyártott processzormagokat, csak az architektúrát licencelte, kész MIPS CPU magok vásárlása helyett.
A desktop piac elvesztése