R5000 - R5000

Image
NEC VR5000.

La R5000 è un 64-bit, little endian (mipsel) superscalare esecuzione 2-problema di progettazione, in ordine microprocessore , che implementa il MIPS IV architettura dell'insieme di istruzioni (ISA) sviluppato da Quantum Design Effect (QED) nel 1996. Il progetto era finanziato da MIPS Technologies, Inc (MTI), anche il licenziante. MTI ha quindi concesso in licenza il progetto a Integrated Device Technology (IDT), NEC , NKK e Toshiba . L'R5000 è succeduto al QED R4600 e R4700 come microprocessore incorporato di fascia alta di punta. IDT ha commercializzato la sua versione di R5000 come 79RV5000, NEC come VR5000, NKK come NR5000 e Toshiba come TX5000. La R5000 è stata venduta a PMC-Sierra quando la società ha acquisito QED. I derivati ​​dell'R5000 sono ancora in produzione oggi per i sistemi embedded.

Utenti

Gli utenti dell'R5000 su workstation e computer server erano Silicon Graphics, Inc. (SGI) e Siemens-Nixdorf . SGI ha utilizzato l'R5000 nelle proprie workstation O2 e Indy di fascia bassa. La R5000 è stata utilizzata anche in sistemi embedded come router di rete e stampanti di fascia alta. L'R5000 ha trovato la sua strada nell'industria dei giochi arcade, le schede madri alimentate R5000 sono state utilizzate da Atari e Midway. Inizialmente il Cobalt Qube e il Cobalt RaQ utilizzavano un modello derivato, l'RM5230 e l'RM5231. Il Qube 2700 utilizzava il microprocessore RM5230, mentre il Qube 2 utilizzava l'RM5231. I sistemi RaQ originali erano dotati di CPU RM5230 o RM5231, ma i modelli successivi utilizzavano chip AMD K6-2 e poi CPU Intel Pentium III per i modelli finali.

Storia

La tabella di marcia originale prevedeva il funzionamento a 200 MHz all'inizio del 1996, 250 MHz alla fine del 1996, sostituita nel 1997 dall'R5000A. L'R5000 è stato introdotto nel gennaio 1996 e non è riuscito a raggiungere i 200 MHz, superando i 180 MHz. Quando posizionato come un microprocessore per workstation di fascia bassa, la concorrenza includeva IBM e Motorola PowerPC 604 , HP PA-7300LC e Intel Pentium Pro .

Descrizione

Image
NEC VR5000 die shot.

L'R5000 è un design superscalare a due vie che esegue le istruzioni in ordine . L'R5000 potrebbe emettere simultaneamente un numero intero e un'istruzione in virgola mobile. Aveva una semplice pipeline per istruzioni intere e un'altra per virgola mobile per risparmiare transistor e area die per ridurre i costi. L'R5000 non ha eseguito la previsione dinamica del ramo per motivi di costo. Invece utilizza un approccio statico, utilizzando i suggerimenti codificati dal compilatore nelle istruzioni probabilmente branch introdotte per la prima volta nell'architettura MIPS II per determinare la probabilità che un branch venga preso.

La R5000 aveva grandi cache L1 , una caratteristica distintiva di QED, i cui progettisti prediligevano design semplici con grandi cache. L'R5000 aveva due cache L1, una per le istruzioni e l'altra per i dati. Entrambi hanno una capacità di 32 KB. Le cache sono set-associative a due vie , hanno una dimensione di riga di 32 byte e sono virtualmente indicizzate, fisicamente etichettate . Le istruzioni sono state precodificate quando entrano nella cache delle istruzioni aggiungendo quattro bit a ciascuna istruzione. Questi quattro bit specificano se possono essere emessi insieme e da quale unità di esecuzione vengono eseguiti. Questo problema di istruzione superscalare assistito spostando parte del controllo delle dipendenze e dei conflitti fuori dal percorso critico.

L'unità integer esegue la maggior parte delle istruzioni con una latenza e un throughput di un ciclo ad eccezione di moltiplicare e dividere. I multipli a 32 bit hanno una latenza di cinque cicli e una velocità effettiva di quattro cicli. I multipli a 64 bit hanno quattro cicli extra di latenza e metà del throughput. I divisori hanno una latenza e un throughput di 36 cicli per gli interi a 32 bit e per gli interi a 64 bit vengono aumentati a 68 cicli.

L' unità a virgola mobile (FPU) era un design veloce a precisione singola (32 bit), a costi ridotti ea vantaggio di SGI, le cui workstation grafiche 3D di fascia media si basavano principalmente sulla matematica a precisione singola per applicazioni grafiche 3D. Era completamente pipeline, il che lo rendeva significativamente migliore di quello dell'R4700 . L'R5000 implementa l'istruzione multiply-add del MIPS IV ISA. Le aggiunte, le moltiplicazioni e le moltiplicazioni a precisione singola hanno una latenza di quattro cicli e una velocità effettiva di un ciclo. Le divisioni a precisione singola hanno una latenza di 21 cicli e una velocità effettiva di 19 cicli, mentre le radici quadrate hanno una latenza di 26 cicli e una velocità effettiva di 38 cicli. La divisione e la radice quadrata non sono state pipeline. Le istruzioni che operano su numeri a doppia precisione hanno una latenza significativamente più alta e una velocità effettiva inferiore ad eccezione di add, che ha latenza e velocità effettiva identiche con l'aggiunta a precisione singola. Moltiplica e moltiplica-aggiungi hanno una latenza di cinque cicli e una velocità effettiva di due cicli. Divide ha una latenza di 36 cicli e una velocità effettiva di 34 cicli. La radice quadrata ha una latenza di 68 cicli e una velocità effettiva di 66 cicli.

L'R5000 aveva un controller cache L2 integrato che supportava capacità di 512 KB, 1 MB e 2 MB. La cache L2 condivide il bus SysAD con l'interfaccia esterna. La cache è stata costruita con SRAM sincrone personalizzate (SSRAM). Il microprocessore utilizza il bus SysAD che viene utilizzato anche da molti altri microprocessori MIPS. Il bus è multiplexato (indirizzo e dati condividono lo stesso set di fili) e può funzionare a frequenze di clock fino a 100 MHz. La R5000 iniziale non supportava il multiprocessing , ma il pacchetto riservava otto pin per la futura aggiunta di questa funzione.

QED era un'azienda favolosa e non fabbricava i propri progetti. L'R5000 è stato fabbricato da IDT, NEC e NKK. Tutte e tre le società hanno fabbricato l'R5000 in un processo CMOS ( complementary metal-oxide-semiconductor ) da 0,35 μm , ma con caratteristiche di processo differenti. IDT ha fabbricato l'R5000 in un processo con due livelli di polisilicio e tre livelli di interconnessione in alluminio . I due livelli di polisilicio hanno consentito a IDT di utilizzare una cella SRAM a quattro transistor, con un numero di transistor di 3,6 milioni e un die che misurava 8,7 mm per 9,7 mm (84,39 mm 2 ). NEC e NKK hanno fabbricato l'R5000 in un processo con un livello di polisilicio e tre livelli di interconnessione in alluminio. Senza un livello aggiuntivo di polisilicio, entrambe le società dovevano utilizzare una cella SRAM a sei transistor, ottenendo un numero di transistor di 5,0 milioni e un die più grande con un'area di circa 87 mm 2 . Le dimensioni dello stampo comprese tra 80 e 90 mm 2 sono state rivendicate da MTI. 0,8 milioni di transistor in entrambe le versioni erano per la logica e il resto contenuto nelle cache. Era confezionato in un array di griglia di sfere in plastica da 272 palline (BGA) o in un array di griglia di pin in plastica da 272 pin (PGA). Non era compatibile con i pin con nessun precedente microprocessore MIPS.

Derivati

Alla fine degli anni '90, Quantum Effect Design acquisì una licenza per la produzione e la vendita di microprocessori MIPS da MTI e divenne un fornitore di microprocessori, cambiando il suo nome in Quantum Effect Devices per riflettere il suo nuovo modello di business. I primi prodotti dell'azienda erano membri della famiglia RM52xx, che inizialmente consisteva in due modelli, l'RM5230 e l'RM5260. Questi furono annunciati il ​​24 marzo 1997. L'RM5230 era inizialmente disponibile a 100 e 133 MHz, e l'RM5260 a 133 e 150 MHz. Il 29 settembre 1997 furono introdotti i nuovi RM5230 da 150 e 175 MHz, così come gli RM5260 da 175 e 200 MHz.

Sia l'RM5230 che l'RM5260 sono derivati ​​dell'R5000 e differiscono per le dimensioni delle loro cache primarie (16 KB ciascuna invece di 32 KB), la larghezza delle loro interfacce di sistema (l'RM5230 ha un bus SysAD a 32 bit e 67 MHz e RM5260 un bus SysAD a 64 bit 75 MHz) e l'aggiunta di istruzioni di moltiplicazione-aggiunta e di moltiplicazione a tre operandi per applicazioni di elaborazione del segnale digitale . Questi microprocessori sono stati fabbricati dalla Taiwan Semiconductor Manufacturing Company (TSMC) nel suo processo da 0,35 μm con tre livelli di interconnessione. Sono stati confezionati da Amkor Technology nei suoi pacchetti Power-Quad 4, l'RM5230 in una versione a 128 pin e l'RM5260 in una versione a 208 pin.

Alla famiglia RM52xx si aggiunse in seguito l'RM5270, annunciato alla Embedded Systems Conference del 29 settembre 1997. Destinato ad applicazioni embedded di fascia alta, l'RM5270 era disponibile a 150 e 200 MHz. I miglioramenti sono stati l'aggiunta di un controller di cache secondario su chip che supportava fino a 2 MB di cache. Il bus SysAD è largo 64 bit e può funzionare a 100 MHz. È stato confezionato in un Super-BGA (SBGA) a 304 pin compatibile con i pin con l' RM7000 ed è stato offerto come percorso di migrazione all'RM7000.

Image
QED RM52x1 die shot.

Il 20 luglio 1998 è stata annunciata la famiglia RM52x1. La famiglia era composta da RM5231, RM5261 e RM5271. Questi microprocessori erano derivati ​​dei dispositivi corrispondenti della famiglia RM52x0 fabbricati in un processo da 0,25 μm con quattro livelli di metallo. L'RM5231 era inizialmente disponibile a 150, 200 e 250 MHz; mentre l'RM5261 e l'RM5271 erano disponibili a 250 e 266 MHz. Il 6 luglio 1999 è stato introdotto un RM5271 da 300 MHz, al prezzo di 140 dollari per quantità di 10.000. L'RM52x1 è migliorato rispetto alla famiglia precedente con cache primarie da 32 KB più grandi e un bus SysAD più veloce che supportava frequenze di clock fino a 125 MHz.

Dopo che QED è stata acquisita da PMC-Sierra , le famiglie RM52xx e RM52x1 sono state continuate come prodotti PMC-Sierra. PMC-Sierra ha introdotto due derivati ​​dell'RM52x1, l'RM5231A e l'RM5261A, il 4 aprile 2001. Questi microprocessori sono stati fabbricati da TSMC nel suo processo da 0,18 μm e si differenziano dai dispositivi precedenti per la presenza di frequenze di clock più elevate e minore consumo energetico. L'RM5231A era disponibile a frequenze di clock da 250 a 350 MHz e l'RM5261A da 250 a 400 MHz.

L'R5900 utilizzato nella PlayStation 2 di Sony è una versione modificata della CPU R5000 soprannominata Emotion Engine con una disposizione personalizzata della cache di istruzioni / dati e 107 SIMD Multimedia Extensions (MMI) proprietarie di Sony. La sua FPU personalizzata non è conforme a IEEE 754 a differenza delle FPU utilizzate da R5000. Ha anche un secondo core MIPS che fungeva da controller di sincronizzazione per coprocessori vettoriali specializzati, importante per la matematica 3D che all'epoca era calcolata principalmente sulla CPU.

Riferimenti

  • Computergram (8 gennaio 1996). "MIPS pronto con R5000 successore del 4600/4700". Computer Business Review .
  • Gwennap, Linley (22 gennaio 1996). "R5000 migliora FP per MIPS Midrange". Rapporto sul microprocessore , 10 (1).
  • Halfhill, Tom R. (aprile 1996). "R5000 taglia il costo 3-D". Byte .
  • Halfhill, Tom R. (maggio 1996). "Mips R5000: 3-D veloce e conveniente". Byte , 161–162.
  • Informazioni tecniche sul microprocessore MIPS Technologies, Inc. MIPS R5000 .
  • PMC-Sierra, Inc. (4 aprile 2001). "PMC-Sierra distribuisce i microprocessori MIPS R5200A di terza generazione". Comunicato stampa.
  • Dispositivi ad effetto quantistico (24 marzo 1997). "QED presenta la famiglia di microprocessori RM52xx". Comunicato stampa.
  • Quantum Effect Devices (29 settembre 1997). "QED presenta il microprocessore superscalare a 64 bit RM5270". Comunicato stampa.
  • Quantum Effect Devices (20 luglio 1998). "QED presenta la famiglia di microprocessori RM52x1". Comunicato stampa.
  • Quantum Effect Devices (6 luglio 1999). "RM5271 di QED disponibile immediatamente a 300 MHz". Comunicato stampa.