El R5000 es un microprocesador de 64 bits, little endian (mipsel) superescalar , de ejecución en orden, de diseño de 2 problemas , que implementa la arquitectura de conjunto de instrucciones MIPS IV (ISA) desarrollada por Quantum Effect Design (QED) en 1996. El proyecto fue financiado por MIPS Technologies, Inc (MTI), también el licenciante. Luego, MTI otorgó la licencia del diseño a 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.
Usuarios
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 . La R5000 también se utilizó en sistemas integrados como enrutadores de red e impresoras de alta gama. La R5000 se abrió camino en la industria de los juegos de arcade, Atari [1] y Midway utilizaron placas base con tecnología R5000 . [2] Inicialmente, el Cobalt Qube y el Cobalt RaQ usaban 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 utilizaron chips AMD K6-2 y, finalmente, CPU Intel Pentium III para los modelos finales.
Historia
La hoja de ruta original requería una operación de 200 MHz a principios de 1996, 250 MHz a fines de 1996, sucedida en 1997 por R5000A. El R5000 se introdujo en enero de 1996 y no logró alcanzar los 200 MHz, superando los 180 MHz. Cuando se posiciona como un microprocesador de estación de trabajo de gama baja, la competencia incluía IBM y Motorola PowerPC 604 , HP PA-7300LC e Intel Pentium Pro .
Descripción
El R5000 es un diseño superescalar bidireccional que ejecuta instrucciones en orden . El R5000 podría emitir simultáneamente un entero y una instrucción de punto flotante. Tenía una tubería simple para instrucciones enteras y otra para punto flotante para ahorrar transistores y área de matriz para reducir costos. El R5000 no realizó una predicción de rama dinámica por razones de costo. En su lugar, utiliza un enfoque estático, utilizando las sugerencias codificadas por el compilador en las instrucciones de probabilidad 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 preferían 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 de conjuntos bidireccionales , tienen un tamaño de línea de 32 bytes y están indexados virtualmente, etiquetados físicamente . Las instrucciones se codificaron previamente a medida que ingresan a la caché de instrucciones agregando cuatro bits a cada instrucción. Estos cuatro bits especifican si se pueden emitir juntos y con qué unidad de ejecución se ejecutan. Este problema de instrucción superescalar ayudó al mover parte de la verificació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 un rendimiento de un ciclo, excepto para 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, se incrementan a 68 ciclos.
La unidad de punto flotante (FPU) era un diseño rápido de precisión simple (32 bits), para reducir el costo y beneficiar a SGI, cuyas estaciones de trabajo de gráficos 3D de rango medio se basaban principalmente en matemáticas de precisión simple para aplicaciones de gráficos 3D. Estaba completamente canalizado, lo que lo hacía significativamente mejor que el del R4700 . El R5000 implementa la instrucción de suma múltiple del MIPS IV ISA. Las adiciones, multiplicaciones y adiciones de precisión simple tienen una latencia de cuatro ciclos y un rendimiento de un ciclo. Las divisiones de precisión simple tienen una latencia de 21 ciclos y un rendimiento de 19 ciclos, mientras que las raíces cuadradas tienen una latencia de 26 ciclos y un rendimiento de 38 ciclos. La división y la raíz cuadrada no se canalizaron. Las instrucciones que operan con números de doble precisión tienen una latencia significativamente mayor y un rendimiento más bajo, excepto para agregar, que tiene una latencia y un rendimiento idénticos con sumar de precisión simple. Multiplicar y multiplicar-sumar tienen una latencia de cinco ciclos y un rendimiento de dos ciclos. Divide tiene una latencia de 36 ciclos y un rendimiento de 34 ciclos. La raíz cuadrada tiene una latencia de 68 ciclos y un rendimiento de 66 ciclos.
El R5000 tenía un controlador de caché L2 integrado que admitía capacidades de 512 KB, 1 MB y 2 MB. La caché L2 comparte el bus SysAD con la interfaz externa. La caché se creó con SRAM síncronos personalizados (SSRAM). El microprocesador utiliza el bus SysAD que también utilizan varios otros microprocesadores MIPS. El bus está multiplexado (la dirección y los datos comparten el mismo conjunto de cables) y puede funcionar a frecuencias de reloj de hasta 100 MHz. El R5000 inicial no admitía el multiprocesamiento , pero el paquete reservaba ocho pines para la futura incorporación de esta función.
QED era una empresa sin fábulas y no fabricaba sus propios diseños. El R5000 fue fabricado por IDT, NEC y NKK. Las tres empresas fabricaron el R5000 en un proceso de semiconductor de óxido metálico complementario (CMOS) de 0,35 μm , pero con diferentes características de proceso. IDT fabricó el R5000 en un proceso con dos niveles de polisilicio y tres niveles de interconexión de aluminio . Los dos niveles de polisilicio permitieron a IDT utilizar una celda SRAM de cuatro transistores, lo que resultó en un recuento de transistores de 3,6 millones y un troquel que medía 8,7 mm por 9,7 mm (84,39 mm 2 ). NEC y NKK fabricaron el R5000 en un proceso con un nivel de polisilicio y tres niveles de interconexión de aluminio. Sin un nivel adicional de polisilicio, ambas compañías tuvieron que usar una celda SRAM de seis transistores, lo que resultó en un recuento de transistores de 5.0 millones y una matriz más grande con un área de alrededor de 87 mm 2 . MTI reclamó tamaños de matriz en el rango de 80 a 90 mm 2 . 0,8 millones de los transistores en ambas versiones eran para lógica, y el resto estaba contenido en las cachés. Estaba empaquetado en una matriz de rejilla de bolas de plástico de 272 bolas (BGA) o una matriz de rejilla de clavijas de plástico de 272 pines (PGA). No era compatible con pines con ningún microprocesador MIPS anterior.
Derivados
A fines de la década de 1990, Quantum Effect Design adquirió una licencia para fabricar y vender microprocesadores MIPS de MTI y se convirtió en un proveedor de microprocesadores, cambiando su nombre a Quantum Effect Devices para reflejar su nuevo modelo comercial. Los primeros productos de la empresa fueron miembros de la familia RM52xx, que inicialmente constaba de dos modelos, el RM5230 y el RM5260. Estos fueron anunciados el 24 de marzo de 1997. El RM5230 estaba inicialmente disponible en 100 y 133 MHz, y el RM5260 en 133 y 150 MHz. El 29 de septiembre de 1997, se introdujeron nuevos RM5230 de 150 y 175 MHz, al igual que los RM5260 de 175 y 200 MHz.
Tanto el RM5230 como el RM5260 son derivados del R5000 y difieren en el tamaño de sus cachés primarios (16 KB cada uno en lugar de 32 KB), el ancho de sus interfaces de sistema (el RM5230 tiene un bus SysAD de 32 bits y 67 MHz y el RM5260, un bus SysAD de 64 bits y 75 MHz) y la adición de instrucciones de multiplicación de suma múltiple y multiplicación de tres operandos para aplicaciones de procesamiento de señales digitales . Estos microprocesadores fueron fabricados por Taiwan Semiconductor Manufacturing Company (TSMC) en su proceso de 0,35 μm con tres niveles de interconexión. Fueron empaquetados por Amkor Technology en sus paquetes Power-Quad 4, el RM5230 en una versión de 128 pines y el RM5260 en una versión de 208 pines.
Posteriormente, a la familia RM52xx se unió el RM5270, que se anunció en la Conferencia de sistemas integrados el 29 de septiembre de 1997. Destinado a aplicaciones integradas de alta gama, el RM5270 estaba disponible en 150 y 200 MHz. Las mejoras fueron la adición de un controlador de caché secundario en chip que admitía hasta 2 MB de caché. El bus SysAD tiene 64 bits de ancho y puede operar a 100 MHz. Estaba empaquetado en un Super-BGA (SBGA) de 304 pines que era compatible con pines con el RM7000 y se ofreció como una ruta de migración al RM7000.
El 20 de julio de 1998, se anunció la familia RM52x1. La familia estaba formada por RM5231, RM5261 y RM5271. Estos microprocesadores eran derivados de los correspondientes dispositivos de la familia RM52x0 fabricados en un proceso de 0,25 μm con cuatro niveles de metal. El RM5231 estaba inicialmente disponible a 150, 200 y 250 MHz; mientras que RM5261 y RM5271 estaban disponibles en 250 y 266 MHz. El 6 de julio de 1999, se introdujo un RM5271 de 300 MHz, con un precio de 140 dólares EE.UU. en cantidades de 10.000. El RM52x1 mejoró la familia anterior con cachés primarios más grandes de 32 KB y un bus SysAD más rápido que admitía frecuencias de reloj de hasta 125 MHz.
Después de que PMC-Sierra adquiriera QED , las familias RM52xx y RM52x1 continuaron como productos PMC-Sierra. PMC-Sierra introdujo dos derivados RM52x1, el RM5231A y el RM5261A, el 4 de abril de 2001. Estos microprocesadores fueron fabricados por TSMC en su proceso de 0,18 μm y se diferencian de los dispositivos anteriores por presentar frecuencias de reloj más altas y menor consumo de energía. El RM5231A estaba disponible a frecuencias de reloj de 250 a 350 MHz y el RM5261A de 250 a 400 MHz.
El R5900 utilizado en la PlayStation 2 de Sony es una versión modificada de la CPU R5000 denominada Emotion Engine con una disposición personalizada de caché de datos / instrucciones y las extensiones multimedia SIMD (MMI) 107 vectoriales patentadas por Sony. Su FPU personalizada no es compatible con IEEE 754 a diferencia de las FPU utilizadas por R5000. También tiene un segundo núcleo MIPS que actuó como controlador de sincronización para coprocesadores vectoriales especializados, importante para la matemática 3D que en ese momento se computaba principalmente en la CPU.
Referencias
- ^ "Sistema 16 - Hardware Atari Seattle (Atari)" . www.system16.com . Consultado el 30 de noviembre de 2015 .
- ^ "Sistema 16 - Midway Seattle Hardware (Midway)" . www.system16.com . Consultado el 30 de noviembre de 2015 .
- Computergram (8 de enero de 1996). "Listo para MIPS con R5000 Sucesor del 4600/4700". Revisión de negocios informáticos .
- Gwennap, Linley (22 de enero de 1996). "R5000 mejora FP para MIPS de rango medio". Informe del microprocesador , 10 (1).
- Halfhill, Tom R. (abril de 1996). "R5000 reduce el costo 3-D". Byte .
- Halfhill, Tom R. (mayo de 1996). "Mips R5000: 3D rápido y asequible". Byte , 161-162.
- MIPS Technologies, Inc. Antecedentes técnicos del microprocesador MIPS R5000 .
- PMC-Sierra, Inc. (4 de abril de 2001). "PMC-Sierra lanza microprocesadores MIPS R5200A de tercera generación". Presione soltar.
- Dispositivos de efecto cuántico (24 de marzo de 1997). "QED presenta la familia de microprocesadores RM52xx". Presione soltar.
- Dispositivos de efecto cuántico (29 de septiembre de 1997). "QED presenta el microprocesador superescalar de 64 bits RM5270". Presione soltar.
- Dispositivos de efecto cuántico (20 de julio de 1998). "QED presenta la familia de microprocesadores RM52x1". Presione soltar.
- Dispositivos de efecto cuántico (6 de julio de 1999). "RM5271 de QED disponible inmediatamente a 300MHz". Presione soltar.