Architettura MIPS: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Domenique43 (discussione | contributi)
Stile introduzione
Etichetta: Annullato
Ortografia
 
(13 versioni intermedie di 9 utenti non mostrate)
Riga 1:
[[File:Toshiba TC86R4400MC-200 9636YJA top.jpg|thumb|Un microprocessore MIPS R4400 fabbricato da ''Toshiba'']]
L''''architettura MIPS''' ([[acronimo]] dell'[[lingua inglese|inglese]] '''''m'''icroprocessor without '''i'''nterlocked '''p'''ipeline '''s'''tages'') è un'[[architettura informatica]] per [[microprocessori]] [[RISC]].
 
PresentaIn una[[elettronica]] strutturae hardware[[informatica]] l{{'}}'''architettura MIPS''' ([[acronimo]] dell'[[lingua inglese|inglese]] '''''m'''icroprocessor without '''i'''nterlocked '''p'''ipeline '''s'''tages'') è un'[[architettura informatica]] per [[microprocessori]] [[RISC]] sviluppata dalla [[MIPS Computer Systems Inc.]] (oggi ''MIPS Technologies Inc''.). Il disegno dell'architettura e del [[set di istruzioni]] è semplice e lineare, spesso utilizzato come caso di studio nei corsi universitari indirizzati allo studio delle architetture dei processori; tale architettura ha influenzato le architetture di molti altri processori RISC tra i quali si segnala la famiglia [[DEC Alpha]]: è stata utilizzata ad es. nel campo dei computer [[Silicon Graphics|SGI]], ed ha trovato grossagrande diffusione nell'ambito dei [[Sistema embedded|sistemi embedded]], dei device di [[Windows CE]] e nei [[router]] di [[Cisco Systems|Cisco]] e anche le console [[Nintendo 64]], [[Sony]] [[PlayStation]], [[PlayStation 2]] e [[PlayStation Portable]] utilizzanoutilizzavano processori MIPS.
 
== Storia ==
[[File:MIPS Architecture (Pipelined).svg|thumb|upright=1.8|Classica pipeline MIPS a 5 stadi]]
 
Nel [[1981]] il professore [[John L. Hennessy]] della dell'[[StanfordUniversità Universitydi Stanford]] avviò un gruppo di ricerca sulle architetture RISC. Le ricerche del team di sviluppo portarono allo sviluppo della prima generazione di processori MIPS. Allora era noto che per incrementare le prestazioni dei processori si sarebbe potuto utilizzare la tecnica delle [[pipeline dati|pipeline]]. Questa tecnica sebbene fosse semplice da ideare non era semplice da implementare. Le pipeline per funzionare correttamente richiedono che le varie unità siano sincronizzate e che i dati delle varie istruzioni non si sovrappongano, quindi all'interno delle pipeline vengono posti dei blocchi ([[Interlock (informatica)|interblocco]]) che sorvegliano il completamento delle varie istruzioni e fanno procedere la pipeline solamente quando tutti gli stadi sono pronti. Questo meccanismo garantisce la corretta esecuzione del programma ma introduce spesso stalli nella CPU che deprimono le prestazioni.
 
La caratteristica distintiva del progetto MIPS è che tutte le istruzioni dovevano essere completate dagli stadi della pipeline in un solo ciclo di clock in modo da non introdurre ritardi e stalli nella pipeline. Questo permetteva di rimuovere anche molta dell'elettronica legata alla sincronizzazione degli stadi, semplificando il progetto. Questa scelta portò a semplificare e velocizzare il progetto ma portò anche degli svantaggi molto evidenti come l'eliminazione di istruzioni utili come la moltiplicazione e la divisione. Alcuni osservatori segnalarono che il progetto MIPS (e più in generale la filosofia RISC) imponevano al programmatore di sostituire le moltiplicazioni e le divisioni con una serie di operazioni più semplici e che quindi il miglioramento di prestazioni veniva eliminato o notevolmente ridimensionato. Questi osservatori non comprendevano che il miglioramento derivato dalla struttura a pipeline senza stalli compensava ampiamente le moltiplicazioni e le divisioni lente.
 
Nel 1984 Hennessy si convinse delle potenzialità commerciali del progetto e abbandonò temporaneamente l'università per fondare la MIPS Computer Systems. La società presentò l{{'}}'''R2000''' nel 1985 e il successore '''R3000''' nel 1988. Questi processori, basati su un'architettura a 32 bit, furono la base di molti sistemi commerciali, tra i maggiori utilizzatori delle CPU si distinse la [[Silicon Graphics]] che utilizzò le CPU nelle sue [[workstation]]. Il progetto commerciale delle CPU MIPS si differenziava dal progetto accademico per la presenza delle istruzioni di moltiplicazione e di divisione e di conseguenza per la presenza di unità di Interlock tra gli stadi che contraddiceva il nome stesso della [[microarchitettura]]. Nel 1991 MIPS presentò il suo primo processore a 64 bit, l{{'}}'''R4000'''. La MIPS in quel periodo affrontava una seria crisi finanziaria e quindi SGI decise di acquisire la società per assicurarsi la commercializzazione del processore a 64 bit dato che era fondamentale per le sue workstation. Come sussidiaria della SGI, la società cambiò nome in [[MIPS Technologies]].
 
Agli inizi degli anni '90 la MIPS iniziò a licenziare i suoi processori a fornitori terzi. Questa scelta era ragionevole considerando la semplicità e la potenza del progetto. I processori MIPS iniziarono a sostituire i processori CISC in molte applicazioni [[Sistema embedded|embedded]], va ricordato che il prezzo di un processore è legato al numero di transistor e al numero di piedini del processore, quindi i processori MIPS risultavano avvantaggiati per il loro basso uso di transistor. [[Sun Microsystems]] cercò di replicare il successo dei processori MIPS fornendo in licenza i suoi processori [[SPARC]]. Il progetto di Sun non ebbe successo e i processori SPARC non si diffusero nel settore embedded. I processori MIPS durante gli anni novanta acquisirono elevate quote di mercato nel segmento embedded e nel 1997 la società festeggiò il quarantottesimo milione di processori venduti, rendendo il MIPS il primo processore RISC a superare la famosa famiglia [[Motorola 68000]]. Nel 1998 la SGI si separò dalla MIPS Technologies e attualmentein quegli anni più della metà dei guadagni della società dipendonodipendevano dalle licenze vendute mentre i rimanenti guadagni derivanoderivavano dallo sviluppo di processori per compratori esterni che verrannovenivano poi prodotti da fornitori esterni.
 
[[File:IDT RV4700 die.jpg|thumb|IDT R4700]]
Nel 1999 MIPS annunciò la possibilità di acquistare la licenza per due processori base. Il processore '''MIPS32''' a 32 bit e il processore '''MIPS64''' a 64 bit. [[Nippon Electric Corporation|NEC]], [[Toshiba]] e [[SiByte]] (in seguito acquisita da [[Broadcom]]) ottennero la licenza del MIPS64 appena questa fu annunciata. [[Philips]], [[SiliconValley:LSI Logic|LSI Logic]] e IDT acquisirono la licenza in seguito. Successo dopo successo attualmente i processori MIPS sono tra i processori più utilizzati per applicazioni ad alta potenza di calcolo ma che richiedono dissipazioni contenute tipo [[Palmare|PDA]], [[Set-top box]] ecc. Un chiaro indicatore della bontà del progetto la si ha dalla scelta di [[Freescale Semiconductor|Freescale]] (società [[spin-off (mass media)|spin-off]] di [[Motorola]]) di utilizzare il core MIPS per i suoi processori invece del core [[PowerPC]] di sua proprietà.
 
Nel 1999 MIPS annunciò la possibilità di acquistare la licenza per due processori base. Il processore '''MIPS32''' a 32 bit e il processore '''MIPS64''' a 64 bit. [[Nippon Electric Corporation|NEC]], [[Toshiba]] e [[SiByte]] (in seguito acquisita da [[Broadcom]]) ottennero la licenza del MIPS64 appena questa fu annunciata. [[Philips]], [[SiliconValley:LSI Logic|LSI Logic]] e IDT acquisirono la licenza in seguito. Successo dopo successo i processori MIPS divennero quelli più utilizzati per applicazioni ad alta potenza di calcolo ma che richiedevano dissipazioni di calorecontenute tipo [[Palmare|PDA]], [[Set-top box]] ecc. Un chiaro indicatore della bontà del progetto la si ha dalla scelta di [[Freescale Semiconductor|Freescale]] (società [[spin-off (mass media)|spin-off]] di [[Motorola]]) di utilizzare il core MIPS per i suoi processori invece del core [[PowerPC]] di sua proprietà.

La possibilità di utilizzare sotto licenza il core MIPS ha spinto molte persone a fondare delle società che producessero versioni personalizzate del processore. Una delle prime società fu la [[Quantum Effect Devices]]. Alcuni progettisti MIPS che progettarono il processore '''R4300''' abbandonarono la MIPS per fondare la società [[SandCraft]] e sviluppare l{{'}}'''R5432''' per la NEC che in seguito ha sviluppato l{{'}}'''R7100''', uno dei primi processori per applicazioni embedded in grado di eseguire [[Esecuzione fuori ordine|istruzioni fuori ordine]]. I progettisti del primo [[StrongARM]] si divisero in due gruppi e fondarono due società che svilupparono processori basati su core MIPS. Il primo gruppo fondò la SiByte e sviluppò l{{'}}'''SB-1250''' uno dei primi processori [[system-on-a-chip|systems-on-a-chip]] (SOC) ad alte prestazioni su architettura MIPS. Il secondo gruppo fondò la [[Alchemy Semiconductor]] (in seguito acquisita da [[Advanced Micro Devices|AMD]]) che produsse l{{'}}'''Au-1000''', un processore '''SOC''') per applicazioni a basso consumo. [[Lexra]] utilizzò un core tipo MIPS e vi aggiunse estensioni [[Digital Signal Processor|DSP]] per il trattamento di dati audio e estensioni [[multithreading]] per la gestione delle reti locali. MIPS intentò contro Lexra due cause legali per violazioni delle sue proprietà intellettuali. La prima si risolse rapidamente quando Lexra promise di non pubblicizzare i suoi processori come MIPS compatibili. La seconda causa fu molto più lunga e danneggiò gli affari di entrambe le società; si concluse con MIPS Technologies che forniva a Lextra una licenza gratuita e un ingente risarcimento economico.
 
=== Famiglie MIPS ===
Il primo MIPS commerciale fu l{{'}}'''R2000''' che venne presentato nel [[1985]]. Questo processore rispetto alla versione sviluppata all'università aggiungeva istruzioni per la moltiplicazione e la divisione che venivano trattate in modo indipendente dal processore. Nuove istruzioni furono aggiunte per recuperare i risultati prodotti dalle moltiplicazioni e dalle divisioni. Ironicamente queste istruzioni erano bloccanti (utilizzavano l'interlock) e quindi contraddicevano il nome stesso del processore pur migliorando la densità del codice.
 
L'R2000 poteva utilizzare la codifica [[big-endian]] o [[little-endian]]. Era dotato di 32 registri a 32 bit di uso generale, ma non utilizzava la tecnica della [[register window]] dato che era considerata un potenziale collo di bottiglia. La register window invece era utilizzata da processori come l'[[AMD 29000]] e il [[DEC Alpha]]. Inoltre il program counter non era direttamente accessibile. L'R2000 poteva gestire fino a quattro coprocessori, di cui uno era integrato all'interno del processore e veniva utilizzato per gestire le eccezioni e le trap mentre gli altri tre erano disponibili per altri usi. Uno poteva essere il processore opzionale '''R2010''', un coprocessore che implementava una [[Floating Point Unit|FPU]] con trentadue registri a 32bit, i quali potevano essere utilizzati come 16 registri a 64 bit per la doppia precisione.
 
[[File:CXD8606BQ 02.JPG|thumb|MIPS R3000A-compatible (R3051) 32bit a 33,8688 MHz della [[playStationPlayStation]]]]
 
L{{'}}'''R3000''' successore dell'R2000 venne presentato nel [[1988]], aggiunse una [[CPU cache|cache]] da 32 KB per istruzioni e dati (in seguito venne espansa a 64 KB) che supportava la coerenza delle cache per facilitare lo sviluppo di sistemi multiprocessore. Sebbene il supporto del multiprocesso fosse parzialmente fallato l'R3000 venne utilizzato da molti sistemi multiprocessore. L'R3000 includeva una [[Memory management unit|MMU]], una caratteristica comune per i processori di quell'epoca. L'R3000 fu il primo processore MIPS a vendere più di un milione di processori. Il processore R3000A venne utilizzato nella console [[PlayStation]] della [[Sony]] ed era una versione a 40 Megahertz. Come l'R2000 anche l'R3000 poteva essere affiancato da un coprocessore matematico, l{{'}}'''R3010'''. Pacemips produsse l{{'}}'''R3400''' e [[Integrated Device Technology|IDT]] produsse l{{'}}'''R3500''', che non era altro che un R3000 e R3010 in un solo chip. Il [[Toshiba]] '''R3900''' è virtualmente il primo [[System-on-a-chip|SoC]] per i primi [[palmare|palmari]] basati su [[Windows CE]].
 
L{{'}}'''R4000''' venne presentato nel 1991 ed estese il set di istruzioni MIPS portandolo a 64 bit. La FPU venne integrata nel processore per creare un singolo chip molto veloce (venne presentato con una frequenza di 100 MHz). Tuttavia per ottenere una frequenza elevata i progettisti ridussero la cache a 8 KB e ogni accesso richiedeva comunque 3 cicli. L'elevata frequenza venne ottenuta creando una pipeline profonda (chiamata super pipeline dalla società). Dopo la presentazione dell'R4000 molte altre versioni vennero presentate. Tra le varie versioni è da segnalare l{{'}}'''R4400''' presentato nel 1993. Il processore era dotato di 16 KB di cache, un'architettura a 64 bit e un controller per una cache esterna di secondo livello da 1 megabyte.
 
Dopo essere diventata divisione della SGI, la MIPS sviluppò il processore a basso costo '''R4200''' e in seguito l{{'}}'''R4300''', un R4200 con bus esterno a 32 bit. Il [[Nintendo 64]] utilizzò il processore VR4300 prodotto dalla NEC che era una versione a basso costo del MIPS '''R4300i'''<ref>[http://www.nec.co.jp/press/en/9801/2002.html NEC Offers Two High Cost Performance 64-bit RISC Microprocessors]</ref>
 
[[File:QED RM7000 diephoto.jpg|thumb|QED RM7000]]
 
[[Quantum Effect Devices]] (QED) era una compagnia nata dall'abbandono della MIPS di alcuni progettisti che sviluppò i processori '''R4600''', '''R4700''', '''R4650''' e '''R5000'''. I progettisti della QED erano rimasti contrariati dalla scelta della famiglia R4000 di sacrificare la cache per ottenere delle frequenze di funzionamento elevate. I progettisti invece enfatizzarono la presenza di una ampia cache ad accesso rapido (due cicli di clock per accedervi) e fecero un uso efficiente del silicio. L'R4600 e l'R4700 vennero utilizzati da SGI per le sue macchine a basso costo [[SGI Indy]]. Furono i primi processori di tipo MIPS ad essere utilizzati da [[Cisco Systems|Cisco]] per i suoi router. L'R4650 venne utilizzato per il set-top box WebTV. La FPU dell'R5000 era più efficiente della FPU dell'R4000, difatti gli SGI Indy basati su R5000 fornivano prestazioni notevolmente migliori nel settore grafico rispetto alle macchine SGI Indy basate su R4000. In seguito la QED presentò i processori '''RM7000''' e '''RM9000''' per applicazioni embedded come dispositivi di rete e stampanti laser. QED venne acquisita da [[PMC-Sierra]] nell'agosto del [[2000]].
 
[[File:R 10000.png|thumb|[[Microarchitettura]] del processore R10000]]
Nel [[1994]] venne presentato l''''R8000''' il primo MIPS [[superscalare]]. Il processore era dotato di due ALU ed era in grado di eseguire due operazioni per ciclo di clock. Il progetto del processore venne diviso su sei integrati. Un integrato conteneva le unità di esecuzione per gli interi (con una cache da 16 KB per i dati e da 16KB per le istruzioni). Un secondo integrato conteneva l'unita FPU, due integrati contenevano una cache di secondo livello e un integrato arbitrava il bus della cache. L'ultimo integrato era un controller della cache ASIC. Il progetto era basato su due pipeline complete con unità di moltiplicazione e di somma a doppia precisione. Le pipeline venivano alimentate dalla cache di secondo livello da 4 MB. L'R8000 venne utilizzato dai server SGI Power Challenge inizialmente e dai server Power Indigo2 in seguito. Le ridotte prestazioni nel calcolo sugli interi e il suo elevato costo scoraggiò molti acquirenti sebbene le prestazioni nel calcolo in virgola mobile furono apprezzate dagli enti scientifici. L'R8000 rimase sul mercato per solo un anno quindi è un processore MIPS abbastanza raro.
 
Nel [[1994]] venne presentato l{{'}}'''R8000''' il primo MIPS [[superscalare]]. Il processore era dotato di due ALU ed era in grado di eseguire due operazioni per ciclo di clock. Il progetto del processore venne diviso su sei integrati. Un integrato conteneva le unità di esecuzione per gli interi (con una cache da 16 KB per i dati e da 16KB per le istruzioni). Un secondo integrato conteneva l'unita FPU, due integrati contenevano una cache di secondo livello e un integrato arbitrava il bus della cache. L'ultimo integrato era un controller della cache ASIC. Il progetto era basato su due pipeline complete con unità di moltiplicazione e di somma a doppia precisione. Le pipeline venivano alimentate dalla cache di secondo livello da 4 MB. L'R8000 venne utilizzato dai server SGI Power Challenge inizialmente e dai server Power Indigo2 in seguito. Le ridotte prestazioni nel calcolo sugli interi e il suo elevato costo scoraggiò molti acquirenti sebbene le prestazioni nel calcolo in virgola mobile furono apprezzate dagli enti scientifici. L'R8000 rimase sul mercato per solo un anno quindi è un processore MIPS abbastanza raro.
Nel [[1995]] venne presentato l''''R10000'''. Il processore era basato su un disegno a singolo integrato ed era progettato per essere molto più veloce dell'R8000. Era dotato di una cache primaria da 32 KB per i dati e le istruzioni. Il processore era superscalare e gestiva l'[[esecuzione fuori ordine]] delle istruzioni. Sebbene fosse dotato di una sola FPU e di una solo bus verso la memoria, le prestazioni elevate nel calcolo sugli interi, il basso costo e la alta densità resero l'R10000 la scelta preferita dalla maggior parte dei clienti. Progetti successivi vennero basati sull'architettura dell'R10000. L''''R12000''' era una versione miniaturizzata dell'R10000 per poter innalzare la frequenza operativa. Il processore '''R14000''' era una versione a frequenza maggiore con in aggiunta il supporto per le memorie [[DDR SDRAM]] per la cache di secondo livello. Inoltre il processore era dotato di un bus esterno a 200&nbsp;MHz per aumentare le prestazioni. La versione successiva chiamata '''R16000''' e '''R16000A''' era dotata di una frequenza di funzionamento maggiore, una cache di primo livello maggiore e una dimensione minore grazie alla nuova tecnologia di produzione.
 
Nel [[1995]] venne presentato l{{'}}'''R10000'''. Il processore era basato su un disegno a singolo integrato ed era progettato per essere molto più veloce dell'R8000. Era dotato di una cache primaria da 32 KB per i dati e le istruzioni. Il processore era superscalare e gestiva l'[[esecuzione fuori ordine]] delle istruzioni. Sebbene fosse dotato di una sola FPU e di unaun solo bus verso la memoria, le prestazioni elevate nel calcolo sugli interi, il basso costo e la alta densità resero l'R10000 la scelta preferita dalla maggior parte dei clienti. Progetti successivi vennero basati sull'architettura dell'R10000. L{{'}}'''R12000''' era una versione miniaturizzata dell'R10000 per poter innalzare la frequenza operativa. Il processore '''R14000''' era una versione a frequenza maggiore con in aggiunta il supporto per le memorie [[DDR SDRAM]] per la cache di secondo livello. Inoltre il processore era dotato di un bus esterno a 200&nbsp;MHz per aumentare le prestazioni. La versione successiva chiamata '''R16000''' e '''R16000A''' era dotata di una frequenza di funzionamento maggiore, una cache di primo livello maggiore e una dimensione minore grazie alla nuova tecnologia di produzione.
 
{| class="wikitable"
Riga 51 ⟶ 54:
! abbr="Pin" | IO Pin
! abbr="Potenza" | Potenza [W]
!Tensione
!Voltaggio
! abbr="Cache dati" | Dcache [k]
! abbr="Cache instruzioni" | Icache [k]
Riga 95 ⟶ 98:
 
== Applicazioni ==
Molti produttori di [[workstation]] hanno utilizzato processori MIPS. Tra i vari segnaliamo la [[Silicon Graphics|SGI]], [[MIPS Technologies|MIPS Computer Systems Inc.]], [[Olivetti]], [[Siemens Nixdorf Informationssysteme|Siemens-Nixdorf]], [[Acer (azienda)|Acer]], [[Digital Equipment Corporation]], [[NEC Corporation|NEC]], e [[DeskStation]]. Molti [[sistema operativo|sistemi operativi]] sono stati portati per le architetture basate su processori MIPS. I più famosi sono l'[[IRIX]] prodotto da SGI, [[Microsoft]] [[Windows NT]] (sebbensebbene il supporto per processori MIPS sia terminato con Windows NT 4.0), [[Windows CE]], [[Linux]], [[BSD]], [[Unix]] [[System V]], [[SINIX]], MIPS Computer Systems [[RISC/OS]] e altri.
 
Tuttavia l'utilizzo dei processori MIPS all'interno di computer e workstation èdeclino` incostantemente declinotra costanteil 2000 ed il 2006. SGI hanel 2003 annunciatoinizio` la dismissione delle macchine basate su architettura MIPS, preferendosipreferendo concentrareconcentrarsi su macchine basate su processori [[Intel]] [[IA-64]], scelta che si rivelerà` successivamente un grosso errore commerciale. Comunque l'uso dei processori MIPS nelle macchine embedded è ancora comunecontinuato. I processori sono a basso consumo e offrono buone prestazioni quindi sono spesso scelti per macchineessere portatiliintegrati in sistemi embedded. Inoltre l'architettura MIPS è diffusa quindi esistono molti tool di sviluppo e programmatori esperti della piattaforma.
 
La quasi totalità dei [[router]] per molti anni sono ormaistati basati su MIPS su sistema operativo [[Linux]], spesso in versione [[OpenWrt]] o [[DD-WRT]], adanche esclusionese didagli rarianni 2009 e seguenti vi è stata una diffusione sempre più massiccia di [[Architettura ARM|ARM]], come ad (esempio l'Alice Gate Enterprise che monta un ARM940). La sonda spaziale [[New Horizons]], sviluppata dalla [[NASA]] per l'esplorazione di [[Plutone (astronomia)|Plutone]] e del suo satellite [[Caronte (astronomia)|Caronte]] lanciata nel 2006, èfu equipaggiata con un processore MIPS R3000. Nel Corso del 2021 comunque, MIPS viene abbandonato dalla MIPS Technologies Inc in favore della architettura RISC -V.
 
=== Core ===
Riga 107 ⟶ 110:
 
=== Programmazione e emulatori ===
Esiste un emulatore gratuito del processori '''R2000/R3000''' chiamato [[SPIM]] che funziona su molti sistemi operativi (Unix, Linux, Mac OS X, MS Windows 95/98/NT/2000/XP e MS DOS) che fornisce un buon ambiente per imparare l'assembyassembly MIPS e per impratichirsi con la programmazione di macchine RISC<ref>[http://www.cs.wisc.edu/~larus/spim.html SPIM MIPS Simulator]</ref>.
 
[[GXemul]] invece è un emulatore molto potente (conosciuto precedentemente come mips64emul project) che non emula solamente i processori (dall'R4000 all'R10000) ma può emulare le macchine complete. Per esempio si può utilizzare GXemul per simulare il funzionamento di una macchina [[DECstation]] con MIPS R4400 o una macchina [[SGI O2]] con MIPS R10000 e un discreto numero di periferiche come controller [[Small Computer System Interface|SCSI]], schede grafiche, ecc.
Riga 114 ⟶ 117:
 
=== Altri modelli e sviluppi futuri ===
La famiglia MIPS include anche l{{'}}'''R6000''', una implementazione [[Emitter-coupled logic|ECL]] dell'architettura MIPS prodotto da [[Bipolar Integrated Technology]]. L'R6000 introdusse il set di istruzioni <code>MIPS II</code>. Il [[Translation Lookaside Buffer|TLB]] e l'architettura della cache era diversa da quella degli altri membri della famiglia MIPS. R6000 non aveva le prestazioni che i progettisti speravano e dopo un breve utilizzo da parte di [[Control Data Corporation]] venne abbandonato. L{{'}}'''RM7000''' era una versione dell'R5000 con 256 KB di cache di secondo livello e un controller per una cache di terzo livello opzionale. Il suo mercato primario erano i dispositivi embedded e i dispositivi di rete, difatti venne utilizzato estesamente da Cisco System. Il nome '''R9000''' non è stato mai utilizzato.
 
In quel periodo (anno 2003 e seguenti) SGI decise di abbandonare la piattaforma MIPS a favore dei processori [[Intel]] [[Itanium]] e quindi fermò lo sviluppo dei processori successivi all'R10000. I tempi di passaggio alla piattaforma Itanium furono più lunghi del previsto e intanto le macchine basate su MIPS venivano migliorate. Nel 1999 comunque era chiaro che lo sviluppo dei processori di fascia alta era stato abbandonato troppo rapidamente e quindi vennero presentati i processori R14000 e R16000 che nonostante il nome non erano molto dissimili dall'R10000. SGI cercò di portare la potente FPU della serie R8000 in altri processori MIPS e di sviluppare una versione dual core, ma problemi finanziari bloccarono il progetto. Inoltre SGI decise di utilizzare la tecnologia [[QuickTransit]] per permettere alle macchine basate su Itanium di utilizzare i programmi compilati per MIPS e quindi pose la parola fine allo sviluppo dei processori MIPS per piattaforma IRIX.
 
Una versione semplificata della gestione della pipeline è la [[DLX (informatica)|pipeline DLX]], possibile grazie alla [[rinominazione dei registri|rinominazione dei registri esplicita]]<ref>{{cita web|titolo=Dynamic Scheduling Techniques|url=http://web.cs.iastate.edu/~prabhu/Tutorial/PIPELINE/dynamSchedTech.html|accesso=24 gennaio 2016}}</ref>.
Riga 132 ⟶ 135:
 
== Altri progetti ==
{{interprogetto|preposizione=sull'}}
 
== Collegamenti esterni ==
* {{FOLDOC|Microprocessor without Interlocked Pipeline Stages|Microprocessor without Interlocked Pipeline Stages}}
* {{cita web|1=http://logos.cs.uic.edu/366/notes/MIPS%20Quick%20Tutorial.htm|2=summary of MIPS assembly language|lingua=en|accesso=10 ottobre 2006|urlarchivio=https://web.archive.org/web/20070526082617/http://logos.cs.uic.edu/366/notes/MIPS%20Quick%20Tutorial.htm|dataarchivio=26 maggio 2007|urlmorto=sì}}
* {{cita web|1=http://www.mrc.uidaho.edu/mrc/people/jff/digital/MIPSir.html|2=MIPS reference|lingua=en|accesso=10 ottobre 2006|urlarchivio=https://web.archive.org/web/20180628185213/http://www.mrc.uidaho.edu/mrc/people/jff/digital/MIPSir.html|dataarchivio=28 giugno 2018|urlmorto=sì}}
* {{cita web|url=http://www.cpu-collection.de/?tn=1&l0=cl&l1=MIPS%20Rx000|titolo=MIPS processor images and descriptions at cpu-collection.de|lingua=en}}
* {{cita web|1=http://chortle.ccsu.edu/AssemblyTutorial/TutorialContents.html|2=A programmed introduction to MIPS assembly|lingua=en|accesso=5 marzo 2009|urlarchivio=https://web.archive.org/web/20090305154304/http://chortle.ccsu.edu/AssemblyTutorial/TutorialContents.html|dataarchivio=5 marzo 2009|urlmorto=sì}}
* {{cita web|1=http://www.cs.umd.edu/class/spring2003/cmsc311/Notes/Mips/bitshift.html|2=mips bitshift operators|lingua=en|accesso=10 ottobre 2006|dataarchivio=12 febbraio 2012|urlarchivio=https://web.archive.org/web/20120212075813/http://www.cs.umd.edu/class/spring2003/cmsc311/Notes/Mips/bitshift.html|urlmorto=sì}}
* {{cita web|http://www.edumips.org|MIPS64 ISA simulator|lingua=en}}