Anar al contingut

MIPS (processador)

De L'Enciclopèdia, la wikipedia en valencià
Un microprocessador MIPS R4400 fabricat per Toshiba

En el nom de MIPS (sigles de Microprocessor without Interlocked Pipeline Stages) es coneix a tota una família de microprocessadors d'arquitectura RISC desenrollats per MIPS Technologies.

Els dissenys del MIPS són utilisats en la llínea de productes informàtics de SGI; en molts sistemes embebidos; en dispositius per a Windows CE; routers Cisco; i videoconsolas com la Nintendo 64 o les Sony PlayStation, PlayStation 2 i PlayStation Portable. Més recentment, la NASA va usar un d'ells en la sonda New Horizons[1]

Les primeres arquitectura MIPS varen ser de 32 bits (usant rutes de senyes i registres de 32 bits), si ben versions posteriors varen ser implementades en 64 bits. Existixen cinc revisions retrocompatibles del conjunt d'instruccions MIPS, cridades MIPS I, MIPS II, MIPS III, MIPS IV i MIPS 32/64. En l'última d'elles, la MIPS 32/64 Release 2, es definix a majors un conjunt de control de registres. Aixina mateix, estan disponibles vàries "extensions", tals com la MIPS-3D, consistent en un simple conjunt d'instruccions SIMD en menge flotant dedicades a tasques 3D comuns, la MDMX(MaDMaX) composta per un conjunt més extens d'instruccions SIMD sanceres que utilisen els registres de menge flotant de 64 bits, la MIPS16 que afig compressió al fluix d'instruccions per a fer que els programes ocupen menys espai (presuntament com a resposta a la tecnologia de compressió Thumb de l'arquitectura ARM) o la recent MIPS MT que afig funcionalitats multithreading similars a la tecnologia HyperThreading dels processadors Intel Pentium 4.

Degut a que els dissenyadors varen crear un conjunt d'instruccions tan clar, els cursos sobre arquitectura de computadors en universitats i escoles tècniques a sovint es basen en l'arquitectura MIPS. El disseny de la família de CPUs MIPS influiria de manera important en atres arquitectura RISC posteriors com els DEC Alpha.

Història

[editar | editar còdic]

En 1981, un equip liderat per John L. Hennessy en l'Universitat de Stanford va començar a treballar en lo que es convertiria en el primer processador MIPS. L'idea bàsica era millorar dràsticament el rendiment per mig de l'us de la segmentación, una tècnica que ya era llavors molt coneguda pero també difícil d'implementar. El seu funcionament pot resumir-se en que l'eixecució d'una instrucció és dividida en vàries etapes, començant la "etapa 1" d'una instrucció ans que haja finalisat l'eixecució de l'instrucció anterior. En contrast, els dissenys tradicionals esperaven la finalisació per complet d'una instrucció abans de passar a la següent, de modo que grans àrees de la CPU permaneixien inactives mentres el procés continuava. Ademés, la freqüència de rellonge de tota la CPU venia dictada per la latencia del cicle complet, en lloc de per el cridat camí crític, latencia de l'etapa de segmentación que més tarda en completar-se.

Una atra de les grans barreres a superar per la segmentación era la necessitat d'introduir bloquejos per a poder assegurar-se de que les instruccions que necessiten varis cicles de rellonge per a completar-se deixen de carregar senyes des dels registres de segmentación. Estos bloquejos poden durar cantitats de temps considerables, i suponien una gran barrera a millores de velocitat posteriors. Per això, un dels principals aspectes del disseny del MIPS va ser el marcar-se com a objectiu que totes les subfases (incloent l'accés a memòria) de totes les instruccions tardaren un únic cicle en completar-se, deixant aixina de ser necessaris els bloquejos, i permetent un rendiment d'un sol cicle.

Encara que esta idea de disseny va eliminar numeroses instruccions útils, destacant el fet de que la multiplicació i la divisió necessitarien vàries instruccions, en conjunt se sabia que el rendiment general del sistema seria dràsticament millorat en poder funcionar els chips a freqüències molt majors. Este ascens de la velocitat seria difícil en l'intervenció dels bloquejos, puix el temps necessari és funció del tamany del chip i de la freqüència de rellonge: afegir l'hardware necessari per a evitar-els reduiria notablement la velocitat del sistema.

L'eliminació d'estes instruccions es va convertir en un tema polèmic. Molts observadors varen afirmar que eixe disseny (i els processadors RISC en general) mai superaria les seues ambicioses expectatives ("Si un senzillament substituïx l'instrucció complexa de multiplicació per una simple série de sumes, ¿on es produïx l'increment de velocitat?"). Este anàlisis tan simplista ignorava el fet de que la velocitat del disseny residia en la segmentación, no en les instruccions.

En 1984 Hennessy es va convéncer del futur potencial comercial del disseny, deixant Stanford per a formar MIPS Computer Systems. L'empresa va presentar el seu primer disseny, el R2000, en 1985, sent millorat en el R3000 de 1988. Estes CPU's de 32 bits varen ser la base de la companyia durant els 80, i varen ser amprades principalment en algunes séries de workstations de SGI. Estos dissenys comercials es varen diferenciar dels d'investigació acadèmica de Stanford en aspectes com l'implementació de la majoria dels bloquejos en hardware i el proporcionar instruccions completes per a la multiplicació i la divisió, entre uns atres.

En 1991 MIPS va presentar el seu primer processador de 64 bits, el R4000. No obstant, MIPS va tindre dificultats financeres en el seu llançament al mercat. El disseny era tan important per a SGI, llavors un dels pocs grans clients de MIPS, que en 1992 va comprar sense recel algun la companyia per a evitar que es perguera el disseny. Com a subsidiària de SGI, la companyia va passar a cridar-se MIPS Technologies.

A principis dels 90 MIPS va començar a otorgar llicències dels seus dissenys a tercers. Açò va provar en just èxit la simplicitat del núcleu, alguna cosa que li permetia ser amprat en numeroses aplicacions que anteriorment utilisaven dissenys CISC molt manco capaços i de preu i número de portes similars (comentar que abdós magnituts estan estretament relacionades; el preu d'una CPU està generalment relacionat en el número de portes i pines externs). Sun Microsystems va intentar pujar-se al carro otorgant llicències del seu núcleu SPARC, pero ni va aplegar a roçar l'èxit del MIPS. A finals dels 90 MIPS tenia un cavall de batalla en els processadors integrats, i en 1997 va ser entregat el processador MIPS 48 millons, convertint-se en la primera CPU RISC en desbancar a la famosa família 68k de Motorola. La família MIPS va tindre tant èxit que SGI va rellançar a MIPS Technologies en 1998. Més de la mitat dels ingressos de MIPS actualment procedixen de les concessions de llicències, mentres que gran part del restant procedix de contractes de disseny de núcleus per a ser fabricats per tercers.

En 1999 MIPS va consolidar el seu sistema de llicències al voltant de dos dissenys bàsics, el MIPS32 de 32 bits i el MIPS64 de 64 bits. NEC, Toshiba i SiByte (posteriorment adquirida per Broadcom) varen obtindre llicències per al MIPS64 tan pronte com este processador va ser anunciat; a estes empreses els varen seguir unes atres com Philips, LSI Logic i IDT. Els èxits es varen succeir, i actualment els núcleus MIPS són un dels pesos pesats del mercat de dispositius com els computadores de mà o decodificadores i sintonizadoras de TV. Un indici del seu èxit és el fet de que Freescale (filial de Motorola) utilise processadors MIPS en els seus aparats, en lloc d'atres propis basats en el PowerPC.

Des de que l'arquitectura MIPS és licenciable, ha atret a numeroses companyies jóvens a lo llarc dels anys. Una de les primeres noves companyies en dissenyar processadors MIPS va ser Quàntum Effect Devices. L'equip de disseny de MIPS encarregat del R4300 va fundar SandCraft, que va dissenyar el R5432 per a NEC i posteriorment el SR7100, un dels primers processadors basats en eixecució fòra d'orde per a sistemes embebidos. L'equip original de disseny del DEC StrongARM finalment es va dividir en dos companyies MIPS: SiByte, fabricant del SB-1250, un dels primers sistemes de chip únic d'alt rendiment basats en el MIPS; i Alchemy Semiconductor (més vesprada comprada per AMD), que fabricava el sistema de chip únic Au-1000 per a aplicacions poc exigents. Lexra va utilisar arquitectura pseudo-MIPS i va afegir extensions DSP per al mercat dels chips d'àudio i soport multithreading per al mercat de rets. Degut a que Lexra no era concessionària de cap llicència MIPS, dos pleits varen ser oberts entre abdós empreses. El primer es va resoldre ràpidament en prometre Lexra no seguir anunciant els seus processadors com MIPS-compatibles. El segon va ser llarc i va danyar els interessos d'abdós companyies, terminant en la concessió per part de MIPS d'una llicència gratuïta a Lexra, aixina com el pagament d'una gran cantitat de diners.

Família de CPU's

[editar | editar còdic]
Esquema de la segmentación del MIPS.

El primer model de CPU comercial de MIPS, el R2000, va ser anunciat en 1985. Afegia instruccions multiciclo per a la multiplicació i la divisió en una unitat independent integrada en el processador. Aixina mateix es varen afegir instruccions per a enviar els resultats d'esta unitat al núcleu; les quals necessitaven bloquejos.

El R2000 podia ser iniciat tant en format big-endian com little-endian. Tenia 32 registres de propòsit general de 32 bits, pero no contava en un registre d'estat, lo que suponia un considerable coll de botella. Este problema ho compartia en l'AMD 29000 i el DEC Alpha. Al contrari que atres registres, el contador de programa no és directament accessible.

El R2000 ademés soportava fins a quatre co-processadors, un dels quals estava integrat en la CPU principal per al maneig d'excepcions i interrupcions, mentres que els atres tres estaven destinats a atres usos. Una opció era afegir l'unitat de punt flotant R2010, que contava en 32 registres de 32 bits que podien ser amprats com a tals per a manejar números en simple precisió o be com 16 registres de 64 bits en doble precisió.

El R3000 succeiria al R2000 en 1988, afegint una caché de 32 kB (pronte aumentada a 64 kB) per a instruccions i senyes, junt en el soport de "coherència caché" per a l'us multiprocessador. Mentres va haver defectes en el soport multiprocessador del R3000, MIPS li les va seguir arreglant per a que formara part de varis dissenys exitosos de multiprocessador. El R3000 també incloïa una unitat de maneig de memòria (MMU) integrada, característica comuna entre els processadors del moment. El R3000 va ser el primer disseny exitós de MIPS en el mercat, i finalment varen ser fabricades més d'1 milló d'unitats. El R3000A, utilisat en l'extremadament exitosa Sony PlayStation, va ser una versió accelerada fins als 40 MHz. De la mateixa manera que el R2000, el R3000 va ser emparellat en la FPU R3010. Pacemips va fabricar el R3400 i IDT el R3500, sent abdós models processadors R3000s en la FPU R3010 en un únic chip. El Toshiba R3900 va ser el primer sistema de chip únic per als primers ordenadors de mà en Windows CE.

En la serie R4000, presentada en 1991, es va estendre el joc d'instruccions del MIPS per a constituir una autèntica arquitectura de 64 bits i es va moure la FPU al mateix circuit per a crear un sistema de chip únic, operant a una velocitat de rellonge radicalment superior (inicialment 100 MHz). No obstant, per a poder alcançar tal freqüència les cachés varen ser reduïdes a 8 kB cada una, sent necessaris tres cicles de rellonge per a accedir a elles. Les altes freqüències de treball varen ser alcançades gràcies a la tècnica de segmentación profunda (cridada llavors super-segmentación). Despuix del R4000 va nàixer un gran número de versions millorades, incloent la R4400 de 1993 en cachés de 16 kB, operacions de 64 bits sense a penes errors i un controlador per a una atra caché externa (L2) d'1 MB.

MIPS, actualment una divisió de SGI cridada MTI, va dissenyar la versió de baix cost R4200, i posteriorment l'encara més barata R4300, consistent en un R4200 en bus extern de 32 bits. La Nintendo 64 usa una CPU NEC VR4300 basada en el MIPS de baix cost R4300@i.[2]

Quàntum Effect Devices (QED), una companyia a banda fundada per antics ingeniers de MIPS, varen dissenyar el R4600 "Orion", el R4700 "Orion", el R4650 i el R5000. Mentres que el R4000 va aumentar la freqüència a canvi de reduir capacitat de caché, els dissenys de QED varen destacar per les grans cachés accessibles en sol dos cicles de rellonge i per l'us eficient de l'àrea de silici. Els R4600 i R4700 varen ser utilisats en les versions de baix cost de les estacions de treball SGI Indy aixina com en els primers enrutadores Cisco basats en el MIPS, aquells de les séries 36x0 i 7x00. El R4650 va ser amprat en els aparats originals de WebTV (ara Microsoft TV). La FPU R5000 treballava de forma més eficient i flexible en números en simple precisió que la R4000, i com a resultat, en similar hardware gràfic, les SGI Indy que montaven la FPU R5000 oferien molt millor rendiment gràfic que les que contaven en la R4400. SGI va rebatejar a les velles targetes gràfiques que varen incorporar la R5000 per a remarcar la millora. QED posteriorment va dissenyar les famílies RM7000 i RM9000 per a sistemes embebidos com a rets i impressores làser. QED va ser adquirida pel fabricant de semiconductors PMC-Serra en agost de 2000, sent esta l'última companyia en invertir en l'arquitectura MIPS.

El R8000 (1994) va ser el primer disseny MIPS superescalar, capaç d'eixecutar dos operacions d'ALU i atres dos de memòria en cada cicle de rellonge. El disseny es va plasmar en sis chips: una unitat sancera (en dos cachés de 16 KB, una per a instruccions i una atra L1 de senyes), una unitat de punt flotant, tres RAM de caché secundària totalment personalizables (dos per a accessos a caché secundària i una atra per a bus), i un controlador de caché ASIC. El disseny tenia dos unitats segmentades de suma-multiplicació en doble precisió, les quals rebien el fluix de senyes de la caché secundària externa de 4 MB. El R8000 va ser montat en els servidors SGI Power Challenge a mitan dels 90 i posteriorment en les estacions de treball Power Indigo2. El seu rendiment llimitat en operacions sanceres i el seu elevat cost ho varen fer impopular entre la majoria dels usuaris, si ben el bon rendiment del seu FPU va ser aprofitat pels usuaris científics; el R8000 va estar a penes un any en el mercat.

En 1995, va ser llançat el R10000. Este processador era un disseny de chip únic, en major velocitat de rellonge que el R8000, i majors cachés primàries de 32 kB per a instruccions i senyes. Era també superescalar, pero la seua gran innovació va ser ser "out-of-order". Encara en una FPU més simple, la vasta millora en les operacions en sancers, el seu menor preu i la major densitat varen fer del R10000 el preferit per molts clients.

Els dissenys més recents es basen en el R10000. El R12000 ha segut fabricat en tecnologia millorada per a comprimir el chip i operar a major velocitat de rellonge. La revisió R14000 permetia majors freqüències, soport adicional per a DDR SRAM en el chip extern de caché i un FSB de 200 MHz per a un millor transferència. Les últimes versions varen ser cridades R16000 i R16000A, caracterisant-se per una major velocitat de rellonge, caché L1 adicional i chips de menor tamany en comparació als anteriors.

Especificacions del microprocessador MIPS
Model Freqüència [MHz] Any Procés [µm] Transistors [millons] Tamany del chip [mm²] Pins I/S Potència [W] Voltage Dcache [k] Icache [k] Scache [k]
R2000 8-16,7 1985 2 0,11 -- -- -- -- 32 64 none
R3000 12-40 1988 1,2 0,11 66,12 145 4 -- 64 64 none
R4000 100 1991 0,8 1,35 213 179 15 5 8 8 1024
R4400 100-250 1992 0,6 2,3 186 179 15 5 16 16 1024
R4600 100-133 1994 0,64 2,2 77 179 4,6 5 16 16 512
R5000 150-200 1996 0,35 3,7 84 223 10 3,3 32 32 1024
R8000 75-90 1994 0,5 2,6 299 591 30 3,3 16 16 1024
R10000 150-250 1995 0,35 6,8 299 599 30 3,3 32 32 512
R12000 270-400 1998 0,18–0,25 6,9 204 600 20 4 32 32 1024
R14000 500-600 2001 0,13 7,2 204 527 17 -- 32 32 2048
R16000 700-800 2002 0,11 -- -- -- 20 -- 64 64 4096

Note: Estes especificacions fan referència a les configuracions més comunes. Existixen variacions, sobretot en les cachés de nivell 2.

Vore també

[editar | editar còdic]

Referències

[editar | editar còdic]