Architettura MIPS: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
m clean up, replaced: L'''' → L{{'}}''' (4), l'''' → l{{'}}''' (16) |
m refusi, wikilink |
||
Riga 4:
== Storia ==
[[File:MIPS Architecture (Pipelined).svg|thumb|upright=1.8|Classica pipeline MIPS a 5 stadi]]
Nel [[1981]] il professore [[John L. Hennessy]]
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.
Riga 36:
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
{| class="wikitable"
Riga 105:
=== 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'
[[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.
| |||