R5000


El R5000 es un microprocesador de diseño de 2 números de ejecución en orden superescalar little endian (mipsel) de 64 bits que implementa la arquitectura de conjunto de instrucciones (ISA) MIPS IV desarrollada por Quantum Effect Design (QED) en 1996. El proyecto fue financiado por MIPS Technologies, Inc (MTI), también el licenciante. Luego, MTI obtuvo la licencia del diseño para Integrated Device Technology (IDT), NEC , NKK y Toshiba . El R5000 sucedió al QED R4600 y R4700 como su microprocesador integrado de gama alta insignia. IDT comercializó su versión del R5000 como 79RV5000, NEC como VR5000, NKK como NR5000 y Toshiba como TX5000. El R5000 se vendió a PMC-Sierra cuando la empresa adquirió QED. Los derivados del R5000 todavía están en producción hoy [ ¿cuándo? ] para sistemas integrados.

Los usuarios del R5000 en estaciones de trabajo y servidores fueron Silicon Graphics, Inc. (SGI) y Siemens-Nixdorf . SGI usó el R5000 en sus estaciones de trabajo de gama baja O2 e Indy . El R5000 también se usó en sistemas integrados como enrutadores de red e impresoras de alta gama. El R5000 encontró su camino en la industria de los juegos de arcade, Atari [1] y Midway utilizaron las placas base R5000 . [2] Inicialmente Cobalt Qube y Cobalt RaQusó un modelo derivado, el RM5230 y el RM5231. El Qube 2700 usó el microprocesador RM5230, mientras que el Qube 2 usó el RM5231. Los sistemas RaQ originales estaban equipados con CPU RM5230 o RM5231, pero los modelos posteriores usaban chips AMD K6-2 y, finalmente, CPU Intel Pentium III para los modelos finales.

La hoja de ruta original requería una operación de 200 MHz a principios de 1996, 250 MHz a fines de 1996, reemplazada en 1997 por R5000A. El R5000 se introdujo en enero de 1996 y no logró alcanzar los 200 MHz, alcanzando un máximo de 180 MHz. Cuando se posicionó como un microprocesador de estación de trabajo de gama baja, la competencia incluyó IBM y Motorola PowerPC 604 , HP PA-7300LC e Intel Pentium Pro .

El R5000 es un diseño superescalar bidireccional que ejecuta instrucciones en orden . El R5000 podría emitir simultáneamente un número entero y una instrucción de punto flotante. Tenía una tubería simple para instrucciones enteras y otra para coma flotante para ahorrar transistores y área de matriz para reducir costos. El R5000 no realizó la predicción de bifurcación dinámica por razones de costo. En su lugar, utiliza un enfoque estático, utilizando las sugerencias codificadas por el compilador en las instrucciones probables de bifurcación introducidas por primera vez en la arquitectura MIPS II para determinar la probabilidad de que se tome una bifurcación.

El R5000 tenía grandes cachés L1 , una característica distintiva de QED, cuyos diseñadores favorecieron diseños simples con grandes cachés. El R5000 tenía dos cachés L1, uno para instrucciones y otro para datos. Ambos tienen una capacidad de 32 KB. Los cachés son asociativos por conjuntos de dos vías , tienen un tamaño de línea de 32 bytes y están virtualmente indexados y etiquetados físicamente . Las instrucciones se predecodificaron a medida que ingresaban a la memoria caché de instrucciones agregando cuatro bits a cada instrucción. Estos cuatro bits especifican si se pueden emitir juntos y qué unidad de ejecución los ejecuta. Este problema de instrucción superescalar asistido al mover parte de la comprobación de dependencia y conflicto fuera de la ruta crítica.

La unidad entera ejecuta la mayoría de las instrucciones con una latencia y rendimiento de un ciclo, excepto multiplicar y dividir. Las multiplicaciones de 32 bits tienen una latencia de cinco ciclos y un rendimiento de cuatro ciclos. Las multiplicaciones de 64 bits tienen cuatro ciclos adicionales de latencia y la mitad del rendimiento. Las divisiones tienen una latencia y un rendimiento de 36 ciclos para enteros de 32 bits, y para enteros de 64 bits, aumentan a 68 ciclos.


NEC VR5000.
Troquelado NEC VR5000.
QED RM52x1 troquelado.