PRISM ( multiprocesador de conjunto de instrucciones reducido en paralelo ) fue la CPU de alto rendimiento de Apollo Computer utilizada en sus estaciones de trabajo de la serie DN10000 . Durante algún tiempo fue el microprocesador más rápido disponible, una gran fracción de un Cray-1 en una estación de trabajo. Hewlett-Packard compró Apollo en 1989, poniendo fin al desarrollo de PRISM, aunque algunas de las ideas de PRISM se utilizaron más tarde en la propia computadora HP-PA de conjunto de instrucciones reducidas (RISC) y en los procesadores Itanium .
PRISM se basó en lo que se conocería hoy como un diseño VLIW , mientras que la mayoría de los esfuerzos de la época, 1988, se basaron en un enfoque RISC más "puro". En los primeros diseños de RISC, el procesador central se simplificó tanto como fue posible para permitir que se usara más espacio del chip para los registros y simplificar la adición de canales de instrucciones para mejorar el rendimiento.
Compiladores
Se esperaba que los compiladores utilizados con los sistemas dedicaran más tiempo durante la compilación a hacer un uso eficaz de los registros y limpiar el flujo de instrucciones . Al realizar la programación de instrucciones en el compilador, este diseño evitó los problemas y la complejidad de la programación dinámica de instrucciones (donde las instrucciones para múltiples unidades funcionales deben seleccionarse cuidadosamente para evitar interdependencias entre valores intermedios) que se encuentran en diseños superescalares como el de Digital Equipment Corporation . Alpha .
En algunos aspectos, el diseño de VLIW puede considerarse como "super-RISCy", ya que también descarga el proceso de selección de instrucciones al compilador. En el diseño de VLIW, el compilador examina el código y selecciona instrucciones que se sabe que son "seguras", y luego las empaqueta en palabras de instrucción más largas. Por ejemplo, para una CPU con dos unidades funcionales, como PRISM, el compilador encontraría pares de instrucciones seguras y las colocaría en una sola palabra más grande. Dentro de la CPU, las instrucciones simplemente se dividen nuevamente y se introducen en las unidades seleccionadas.
Este diseño minimiza los cambios lógicos en la CPU a medida que se agregan unidades funcionales, ya que el compilador está manejando la selección de instrucciones. Sin embargo, esto también vincula muy estrechamente el código compilado al diseño del procesador; por ejemplo, si una nueva generación de la CPU agrega unidades funcionales adicionales, todos los programas que se ejecutan en ella deben volver a compilarse para que el compilador pueda reorganizar las instrucciones nuevamente, quizás de cuatro en lugar de dos. En comparación, un diseño más tradicional como el PowerPC (PPC) ha experimentado cambios internos dramáticos, sin embargo, el código escrito para los primeros PPC seguirá funcionando sin modificaciones en las últimas versiones. El costo de esto es una cantidad cada vez mayor de espacio de chip que debe dedicarse a la programación de instrucciones .
Los compiladores de Apollo fueron los primeros compiladores comerciales en utilizar técnicas de asignación estática única .
Características arquitectonicas
PRISM era un diseño "puro" de 32 bits , que incluía treinta y dos enteros de 32 bits y treinta y dos registros de coma flotante de 64 bits (superpuestos por sesenta y cuatro registros de 32 bits). PRISM podría enviar un solo entero o un entero y una instrucción de punto flotante por ciclo de reloj . La instrucción de punto flotante podría, a su vez, combinar una suma y una multiplicación de punto flotante en una sola instrucción. El compilador siempre intentó emparejar (o triplicar) las instrucciones para mantener el uso completo de las unidades internas, pero si no lograba encontrar un par seguro, simplemente alimentaba una única instrucción entera. PRISM fue uno de los primeros diseños en incluir una multiplicación con sumar / restar / truncar en una sola instrucción (cinco operandos ), por lo que a menudo se describió como una CPU de tres problemas.
Historia
El diseño original de PRISM se introdujo en 1988 en las estaciones de trabajo Apollo DN10000 de una a cuatro CPU . El "DN" en el nombre se refiere a "Nodo de dominio", siendo Dominio / SO el sistema operativo similar a Unix que se usa en todas las máquinas de Apollo. Tenga en cuenta que PRISM era una placa de CPU de varios chips, no un solo microprocesador ; esto era bastante común para las CPU de gama alta en ese momento.
Se vendieron aproximadamente mil sistemas DN10000.
PRISM II , que funcionaba al doble de la velocidad del reloj, se retrasó por problemas en la fabricación y finalmente se canceló después de la compra de HP. Sin embargo, varias características del diseño PRISM se incorporaron a las generaciones posteriores de la arquitectura HP-PA , y los dos principales proponentes del concepto VLIW, Intel y HP, colaboraron más tarde en Itanium .
El PRISM fue generalmente la CPU más rápida del mercado durante su corta vida útil. En comparación con los diseños RISC comunes de la época, el PRISM era efectivamente dos CPU en una, lo que lo hacía aproximadamente el doble del rendimiento de una CPU RISC que se ejecuta a la misma velocidad de reloj.
Competidores contemporáneos
Aunque el Intel i860 también usó un VLIW (o correctamente LIW en ambos casos, ya que dos no son "muy" largos), extraer rendimiento del i860 resultó notoriamente difícil y, en la práctica, el PRISM fue mucho más rápido.
Digital Equipment Corporation también diseñó un chip RISC llamado PRISM durante la misma época, pero ese proyecto se canceló en 1988 y nunca entró en producción.
Referencias
- La gran lista de CPU, Sección 5, Parte II: Apollo PRISM - Superworkstation
- La gran lista de CPU, Sección 5, Parte II: Apollo PRISM - Superworkstation