PRISM ( Parallel Reduced Instruction Set Machine ) [ 1 ] fue una arquitectura de conjunto de instrucciones ( ISA ) RISC de 32 bits desarrollada por Digital Equipment Corporation ( DEC). Fue el resultado de varios proyectos de investigación de DEC entre 1982 y 1985, y el proyecto estuvo sujeto a cambios constantes en los requisitos y usos previstos, lo que retrasó su introducción. Finalmente, se decidió utilizar el diseño para una nueva línea de estaciones de trabajo Unix .
La unidad aritmético-lógica (ALU) de la versión microPrism se había diseñado completamente en abril de 1988 y se fabricaron muestras, pero el diseño de otros componentes como la unidad de punto flotante (FPU) y la unidad de gestión de memoria (MMU) aún no se había completado en el verano cuando la dirección de DEC decidió cancelar el proyecto en favor de sistemas basados en MIPS . [ 2 ] Se desarrolló un sistema operativo con nombre en clave MICA para la arquitectura PRISM, que estaba destinado a reemplazar tanto a VAX/VMS como a ULTRIX en PRISM, aunque finalmente se creó un puerto PRISM ULTRIX independiente cuando el objetivo original de multipersonalidad de MICA resultó inviable. [ 3 ] [ 4 ]
La cancelación de PRISM tuvo repercusiones significativas en DEC. Muchos miembros del equipo abandonaron la empresa al año siguiente, en particular Dave Cutler , quien se unió a Microsoft y lideró el desarrollo de Windows NT . Las estaciones de trabajo basadas en MIPS tuvieron un éxito moderado entre los usuarios de Ultrix de DEC , pero no lograron competir con empresas como Sun Microsystems . Mientras tanto, la línea VAX, la gallina de los huevos de oro de DEC , perdió rendimiento a medida que los nuevos diseños RISC superaban incluso al VAX 9000 , el modelo tope de gama . Al explorar el futuro de VAX, la empresa concluyó que un procesador similar a PRISM, con algunas modificaciones adicionales, podría cubrir todos estos mercados. Retomando el legado de PRISM, el programa DEC Alpha comenzó en 1989.
Historia
Fondo
Presentado en 1977, el VAX fue un éxito rotundo para DEC, consolidando su posición como el segundo mayor proveedor de computadoras del mundo, solo por detrás de IBM . El VAX se destacó por su rica arquitectura de conjunto de instrucciones (ISA), implementada en un microcódigo complejo. El sistema operativo VMS se implementó sobre esta ISA, lo que implicó ciertos requisitos para el manejo de interrupciones y el modelo de memoria utilizado para la paginación . A principios de la década de 1980, los sistemas VAX se habían convertido en "el centro informático de muchas empresas tecnológicas, enviando cables RS-232 a una red de terminales VT-100 que mantenían en funcionamiento los departamentos de ciencia e ingeniería". [ 5 ]
Esta situación favorable se vio alterada por la implacable mejora de la fabricación de semiconductores, tal como lo reflejaba la Ley de Moore . A principios de la década de 1980, existían varios microprocesadores de un solo chip de 32 bits con un rendimiento similar al de las primeras máquinas VAX, pero que podían integrarse en un formato compacto de sobremesa . Empresas como Sun Microsystems introdujeron estaciones de trabajo Unix basadas en la serie Motorola 68000, capaces de reemplazar una enorme máquina VAX multiusuario con una que ofrecía aún más rendimiento y era lo suficientemente económica como para ser adquirida por cada usuario que la necesitara. Mientras los propios equipos de microprocesadores de DEC introducían una serie de implementaciones de VAX a precios más bajos, la relación precio-rendimiento de sus sistemas seguía deteriorándose. En la segunda mitad de la década de 1980, DEC se vio excluida del mercado tecnológico. [ 5 ]
RISC
Durante la década de 1970, IBM realizó estudios sobre el rendimiento de sus sistemas informáticos y descubrió, para su sorpresa, que el 80 % del tiempo de ejecución se dedicaba a realizar solo cinco operaciones. Los cientos de instrucciones restantes en sus conjuntos de instrucciones (ISA), implementadas mediante microcódigo, permanecían prácticamente sin usar. La presencia del microcódigo introducía un retardo en la decodificación de las instrucciones, por lo que incluso al llamar directamente a una de esas cinco instrucciones, la ejecución era más lenta que si no existiera el microcódigo. Esto dio lugar al diseño del IBM 801 , el primer procesador RISC moderno . [ 6 ]
Por esa misma época, en 1979, Dave Patterson fue enviado a un año sabático de la Universidad de California, Berkeley, para ayudar al equipo de DEC en la costa oeste a mejorar el microcódigo VAX. Patterson quedó impresionado por la complejidad del proceso de codificación y concluyó que era insostenible. Primero escribió un artículo sobre formas de mejorar el microcódigo, pero luego cambió de opinión y decidió que el microcódigo en sí era el problema. Pronto comenzó el proyecto Berkeley RISC . [ 7 ] El surgimiento de RISC desencadenó un largo debate dentro de la industria informática sobre sus méritos; cuando Patterson expuso por primera vez sus argumentos para el concepto en 1980, DEC publicó una opinión disidente despectiva, [ 8 ] pero a mediados de la década de 1980 el consenso en DEC era que RISC era al menos el doble de eficiente que CISC. La empresa tenía dos opciones: mejorar VAX tanto como fuera posible hasta que la limitación de su espacio de direcciones de 32 bits obligara a un reemplazo alrededor de 1999, o desarrollar RISC lo más rápido posible. [ 9 ] [ 10 ]
A mediados de la década de 1980, prácticamente todas las empresas con una división de diseño de procesadores comenzaron a explorar el enfoque RISC. A pesar del desinterés oficial, [ 11 ] DEC no fue una excepción. En el período de 1982 a 1985, se realizaron no menos de cuatro intentos para crear un chip RISC en diferentes divisiones de DEC. Titan, del Laboratorio de Investigación Occidental (WRL) de DEC en Palo Alto, California, fue un diseño de alto rendimiento basado en ECL que comenzó en abril de 1982, destinado a ejecutar Unix , y logró este objetivo en diciembre de 1985. [ 12 ] Titan ejecutaba una versión modificada de Ultrix llamada Tunix (Titan Unix) con funciones de gestión de memoria y procesos reescritas. [ 13 ] La continua brecha de rendimiento entre los servidores en WRL, que incluían estos servidores Titan basados en RISC, y las estaciones de trabajo basadas en VAX que se utilizaban como clientes precipitaría finalmente el desarrollo de la DECstation basada en MIPS. [ 9 ]
Titan estuvo acompañado por el proyecto MultiTitan, que se desarrolló desde mediados de 1984 hasta enero de 1988 y exploró el paralelismo a nivel de instrucciones, el multiprocesamiento de memoria compartida, la gestión explícita de caché, la aritmética de punto flotante de alto rendimiento, el procesamiento escalar y vectorial unificado y el uso de una "definición de software" para la arquitectura. [ 14 ] En abril de 1988, este esfuerzo entregó muestras de un microprocesador fabricado mediante un proceso CMOS que se probaron dentro de la arquitectura Titan existente, capaz de operar a frecuencias de entre 70 MHz y 90 MHz dependiendo de la pieza individual, pero sin alcanzar los 100 MHz deseados . Sin los chips de punto flotante y gestión de caché correspondientes, no se pudieron realizar pruebas de rendimiento, y solo se obtuvieron estimaciones de un rendimiento de 20 MIPS. [ 15 ]
SAFE ( Streamlined Architecture for Fast Execution ) fue un diseño de 64 bits que comenzó en 1982, diseñado por Alan Kotok ( famoso por Spacewar! ) y Dave Orbits, y destinado a ejecutar VMS. HR-32 ( Hudson, RISC, 32-bit ) comenzó en 1984 por Rich Witek y Dan Dobberpuhl en la fábrica de Hudson, MA , destinado a ser utilizado como coprocesador en la máquina VAX . Ese mismo año, Dave Cutler inició el proyecto CASCADE en DECwest en Bellevue, Washington. [ 16 ]
PRISMA
DEC utilizó las grandes ganancias de VAX para financiar los múltiples proyectos competidores, lo que provocó retrasos e incertidumbre. [ 10 ] Finalmente, en 1985 se le pidió a Cutler que definiera un único proyecto RISC, seleccionando a Rich Witek como arquitecto jefe. En agosto de 1985 se entregó el primer borrador de un diseño de alto nivel y se comenzó a trabajar en el diseño detallado. La especificación PRISM fue desarrollada durante varios meses por un equipo de cinco personas: Dave Cutler, Dave Orbits, Rich Witek, Dileep Bhandarkar y Wayne Cardoza. Durante este período inicial, hubo cambios constantes en el diseño debido a los debates internos en la empresa sobre si debía ser de 32 o 64 bits, si debía estar orientado a una carga de trabajo comercial o técnica, etc. [ 16 ]
Estos cambios constantes hicieron que la especificación final de la ISA no estuviera completa hasta septiembre de 1986. En ese momento, se decidió producir dos versiones del concepto básico: DECwest trabajó en una implementación ECL de gama alta conocida como Crystal , mientras que el equipo de Desarrollo Avanzado de Semiconductores trabajó en microPRISM , una versión CMOS . Este trabajo estaba completado en un 98 % entre 1985 y 1986 y contó con el gran apoyo de simulaciones realizadas por Pete Benoit en un gran clúster VAX . [ 16 ]
Durante esta época, el equipo de ingeniería de DEC en su conjunto aún mostraba un considerable escepticismo sobre si RISC era realmente más rápido, o simplemente más rápido en los programas triviales de cinco líneas que se utilizaban para demostrar su rendimiento. Basándose en el diseño Crystal, en 1986 se comparó con la máquina más rápida en desarrollo hasta entonces, la VAX 8800. La conclusión fue clara: con la misma inversión, los diseños RISC superarían a una VAX en una proporción de 2 a 1. [ 17 ]
A mediados de 1987, se decidió que ambos diseños serían de 64 bits, aunque esto duró solo unas semanas. En octubre de 1987, Sun presentó el Sun-4 . Impulsado por un SPARC de 16 MHz , una versión comercial del diseño RISC de Patterson, funcionaba cuatro veces más rápido que su anterior modelo de gama alta, el Sun-3, que utilizaba un Motorola 68020 de 20 MHz . Con este lanzamiento, DEC volvió a cambiar el objetivo de PRISM, dirigiéndolo exclusivamente al ámbito de las estaciones de trabajo. Esto provocó que el microPRISM se reespecificara como un sistema de 32 bits, mientras que el proyecto Crystal se canceló. Esto generó más retrasos, dejando el proyecto muy por detrás del cronograma previsto. [ 16 ]
A principios de 1988, el sistema aún no estaba completo; el diseño de la CPU estaba casi terminado, pero la FPU y la MMU, ambas basadas en el chipset Rigel contemporáneo para el VAX, todavía estaban en fase de diseño. [ 16 ] El equipo decidió detener el trabajo en esas partes del diseño y centrarse por completo en la CPU. El diseño se completó en marzo de 1988 y se grabó en abril. [ 16 ]
Cancelación
Durante el período PRISM, DEC se vio inmersa en un importante debate sobre el futuro de la empresa. Con la introducción de nuevas estaciones de trabajo basadas en RISC, la ventaja de rendimiento de la VAX se fue erosionando constantemente y la relación precio/rendimiento se vio completamente perjudicada. Diferentes grupos dentro de la empresa debatieron sobre la mejor manera de responder. Algunos abogaban por posicionar la VAX en la gama alta, dejando la gama baja a los proveedores de estaciones de trabajo como Sun. Esto dio lugar al programa VAX 9000 , conocido internamente como el "asesino de IBM". Otros sugirieron entrar en el mercado de estaciones de trabajo utilizando PRISM o un procesador estándar. Otros más propusieron reimplementar la VAX en un procesador RISC. [ 16 ]
Frustrados por el creciente número de pérdidas frente a máquinas competitivas más baratas y rápidas, un pequeño grupo de investigación independiente en Palo Alto , al margen de Ingeniería Central, centrado en estaciones de trabajo y UNIX/ Ultrix , consideró la idea de utilizar un procesador RISC comercial para construir una nueva familia de estaciones de trabajo. El grupo llevó a cabo un análisis exhaustivo y finalmente optó por el MIPS R2000 . Este grupo adquirió una máquina de desarrollo y creó un prototipo de una adaptación de Ultrix al sistema. Desde las reuniones iniciales con MIPS hasta la creación de un prototipo transcurrieron tan solo 90 días. La producción en serie de una versión DEC podría comenzar en enero de 1989, mientras que una máquina basada en PRISM tardaría al menos un año más en estar lista. [ 16 ]
Cuando se planteó el asunto en la sede de DEC, la empresa estaba dividida sobre qué enfoque era mejor. Se le pidió a Bob Supnik que considerara el tema para una próxima revisión del proyecto. Concluyó que, si bien el sistema PRISM parecía ser más rápido, el enfoque MIPS sería menos costoso y llegaría mucho antes al mercado. En la tensa reunión de revisión del Comité Ejecutivo de la empresa en julio de 1988, la empresa decidió cancelar Prism y continuar con las estaciones de trabajo MIPS y los productos VAX de gama alta. La estación de trabajo resultante fue la DECstation 3100. [ 9 ] [ 16 ]
Para entonces, se habían recibido muestras del microPRISM y se comprobó que, en su mayoría, funcionaban correctamente. También demostraron ser capaces de operar a velocidades de 50 a 80 MHz, en comparación con los 16 a 20 MHz del R2000. Las predicciones de rendimiento basadas en estas observaciones sugerían una mejora significativa con respecto a los productos RISC existentes y anunciados de otros proveedores. Sin embargo, sin la unidad de coma flotante correspondiente, cuyo diseño se había detenido, ni el chip de interfaz de caché necesario para operar a dichas frecuencias, que formaba parte de un proyecto cancelado, las predicciones de rendimiento de coma flotante seguían siendo hipotéticas. [ 18 ]
Legado
Para la reunión de julio de 1988, la empresa se había decantado casi por completo por la arquitectura RISC como una estrategia para estaciones de trabajo. Sin embargo, el rendimiento de PRISM era similar al de las últimas máquinas VAX, y el concepto RISC tenía un considerable potencial de crecimiento. Al finalizar la reunión, Ken Olsen solicitó a Supnik que investigara cómo Digital podría mantener el rendimiento de los sistemas VMS competitivo frente a los sistemas Unix basados en RISC. [ 19 ]
Un grupo de ingenieros formó un equipo, denominado indistintamente como el grupo de trabajo "RISCy VAX" o "Extended VAX" (EVAX), para explorar este problema. [ 19 ] A finales del verano, el grupo había explorado tres conceptos: un subconjunto de la arquitectura VAX con un núcleo similar a RISC, una VAX traducida que ejecutaba código VAX nativo y lo traducía sobre la marcha a código RISC, almacenándolo en una caché, y la VAX ultrasegmentada, una implementación CISC de mucho mayor rendimiento. Todos estos enfoques presentaban problemas que impedían su competitividad frente a una máquina RISC simple. [ 20 ]
A continuación, el grupo consideró sistemas que combinaban una solución de chip único VAX existente con un chip RISC para satisfacer las necesidades de rendimiento. Estos estudios sugirieron que el sistema se vería inevitablemente limitado por la parte de menor rendimiento y no ofrecería ninguna ventaja decisiva. [ 20 ]
Fue en este punto cuando Nancy Kronenberg señaló que la gente usaba VMS, no VAX, y que VMS solo tenía unas pocas dependencias de hardware basadas en su modelado de interrupciones y paginación de memoria. No parecía haber ninguna razón de peso por la que VMS no pudiera portarse a un chip RISC siempre que se conservaran estos pequeños detalles del modelo. Un trabajo posterior sobre este concepto sugirió que este era un enfoque viable. [ 20 ]
En febrero de 1989, Supnik presentó el informe resultante al Grupo de Trabajo Estratégico. Se plantearon dos preguntas: ¿podría el diseño RISC resultante ser también líder en rendimiento en el mercado Unix?, y ¿debería la máquina ser un estándar abierto? Con ello, se decidió adoptar la arquitectura PRISM con las modificaciones pertinentes, que finalmente se convirtió en Alpha , y se inició la adaptación de VMS a la nueva arquitectura . [ 21 ]
Cuando PRISM y MICA fueron cancelados, Dave Cutler dejó Digital para unirse a Microsoft , donde se le encomendó el desarrollo de lo que se conocería como Windows NT . La arquitectura de Cutler para NT se inspiró en gran medida en muchos aspectos de MICA. [ 22 ] [ 23 ] [ 24 ]
Diseño
En cuanto a las operaciones con enteros , la arquitectura PRISM era similar a la de MIPS . De los 32 bits de las instrucciones , los 6 bits más significativos y los 5 menos significativos constituían la instrucción, dejando los 21 bits restantes para codificar una constante o la ubicación de un registro . Se incluían sesenta y cuatro registros de 32 bits, en comparación con los treinta y dos de MIPS, pero su uso era similar en otros aspectos. Tanto PRISM como MIPS carecen de las ventanas de registro , que eran un sello distintivo del otro gran diseño RISC, Berkeley RISC.
El diseño PRISM destacó por varios aspectos de su conjunto de instrucciones . En particular, PRISM incluía Epicode ( código de instrucciones de procesador extendido ), que definía una serie de instrucciones "especiales" destinadas a ofrecer al sistema operativo una ABI estable en múltiples implementaciones. Epicode disponía de su propio conjunto de 22 registros de 32 bits. Posteriormente, se añadió un conjunto de instrucciones de procesamiento vectorial , con el apoyo de dieciséis registros vectoriales adicionales de 64 bits que podían utilizarse de diversas maneras.
Referencias
- ↑ Mark Smotherman. "Boceto de DEC PRISM" .
PRISM (Máquina de conjunto de instrucciones reducido paralelo) ... primer borrador de la arquitectura PRISM en agosto de 1985; DEC cancela el proyecto en 1988 a favor de una basada en MIPS...
- ↑ "PRISM asesinado" (PDF) . bitsavers.org . 17 de junio de 1988. Consultado el 5 de enero de 2021 .
- ↑ Dave Cutler (30 de mayo de 1988). "Agenda de DECwest/SDT" (PDF) . bitsavers.org .
- ↑ "Ingeniería DECWEST : hoy, mañana y el futuro, parte 2 de 2" . computerhistory.org . DIC. 1988-04-20 . Consultado el 2025-05-21 .
- 1 2 Comerford 1992 , pág. 26.
- ↑ Cocke, John; Markstein, Victoria (enero de 1990). "La evolución de la tecnología RISC en IBM" (PDF) . IBM Journal of Research and Development . 34 (1): 4– 11. doi : 10.1147/rd.341.0004 . Recuperado el 6 de febrero de 2026 .
- ↑ Patterson, David (30 de mayo de 2018). "Historia arriesgada" . AM SIGARCH .
- ↑ Clark, Douglas; Streck, William (septiembre de 1980). "Comentarios sobre "El caso de la computadora con conjunto reducido de instrucciones", de Patterson y Ditzel" (PDF) . Archivado del original (PDF) el 18 de abril de 2019.
- 1 2 3 Furlong, Thomas C.; Nielsen, Michael JK; Wilhelm, Neil C. (Primavera de 1990). "Desarrollo de la DECstation 3100" (PDF) . Digital Technical Journal . 2 (2). Digital Equipment Corporation.
- 1 2 Bell, Gordon ; Strecker, WD ¿Qué hemos aprendido del PDP-11? - ¿Qué hemos aprendido de VAX y Alpha? (PDF) (Informe) . Recuperado el 26 de junio de 2025 .
- ↑ Clark, Douglas; Streck, William (septiembre de 1980). "Comentarios sobre "El caso de la computadora con conjunto reducido de instrucciones", de Patterson y Ditzel" (PDF) . Archivado del original (PDF) el 18 de abril de 2019.
- ↑ Manual del sistema Titan . Digital Equipment Corporation. 2 de agosto de 1988. pág. 2. Consultado el 7 de agosto de 2025 .
- ↑ Borg, Anita; Kessler, RE; Lazana, Georgia; Wall, David W. (septiembre de 1989). Rastros de direcciones largas de máquinas RISC: generación y análisis (informe técnico). Digital Equipment Corporation. pág. 3. Recuperado el 7 de agosto de 2025 .
- ↑ MultiTitan: Cuatro documentos de arquitectura (Informe técnico). Digital Equipment Corporation. 5 de abril de 1988. págs. 1–4 . Consultado el 12 de agosto de 2025 .
- ↑ Jouppi, Norman P.; Tang, Jeffrey YF (julio de 1989). Un microprocesador CMOS de 32 bits sostenido de 20 MIPS con una alta relación entre rendimiento sostenido y máximo . Digital Equipment Corporation. pág. 19. Consultado el 12 de agosto de 2025 .
- ^ Súpnik 2008 .
- ↑ Schein 2003 , pág. 209.
- ↑ uPRISM - El capítulo final (PDF) (Informe técnico). Digital Equipment Corporation. 21 de octubre de 1988. Consultado el 17 de febrero de 2024 .
- ^ "EV- 4 (1992)" . 2008-02-24.
- 1 2 3 Comerford 1992 , pág. 28.
- ↑ "Gestión de saltos tecnológicos: un estudio del equipo de diseño Alpha de DEC" (PDF) . Abril de 1993.
- ↑ Zachary, G. Pascal (2014). ¡Un espectáculo!: La vertiginosa carrera para crear Windows NT y la próxima generación en Microsoft . Open Road Media. ISBN 978-1-4804-9484-8. Consultado el 4 de enero de 2021 .
- ↑ Neil Rieck. "Dave Cutler, PRISM, Mica, Emerald, etc." . neilrieck.net . Consultado el 4 de enero de 2021 .
- ↑ Mark Russinovich (30 de octubre de 1998). "Windows NT y VMS: El resto de la historia" . itprotoday.com . Consultado el 4 de enero de 2021 .
Bibliografía
- Comerford, Richard (julio de 1992). "Cómo DEC desarrolló Alpha". IEEE Spectrum . 29 (7): 26– 31. doi : 10.1109/6.144508 .
- Schein, Edgar (2003). DEC ha muerto, ¡viva DEC ! Berrett-Koehler. ISBN 9781576752258.
- Supnik, Bob (24 de febrero de 2008). "MicroPrism" . El proyecto de simulación de historia de la computación .
- Documentos de Prism en bitsavers.org
Lecturas adicionales
- Bhandarkar, Dileep P. (1995). Arquitectura e implementaciones Alpha . Digital Press.
- Bhandarkar, D. et al. (1990. "Arquitectura orientada a problemas de alto rendimiento" . Actas de Compcon Spring '90 , págs. 153-160 .
- Conrad, R. et al. (1989). "Un microprocesador de 32/64 b con 50 MIPS (pico)" . ISSCC Digest of Technical Papers , pp. 76-77 .
- Arquitecturas de conjuntos de instrucciones
- proyectos de tecnología de la información
- Productos no lanzados