stringtranslate.com

PRISMA DE DEC

PRISM ( Máquina de conjunto de instrucciones reducidas en paralelo ) [ 1] fue una arquitectura de conjunto de instrucciones ( ISA) RISC de 32 bits desarrollada por Digital Equipment Corporation (DEC). Fue el resultado de una serie de proyectos de investigación de DEC desde 1982 hasta 1985, y el proyecto estuvo sujeto a requisitos y usos planificados que cambiaron continuamente, lo que retrasó su introducción. Este proceso finalmente decidió utilizar el diseño para una nueva línea de estaciones de trabajo Unix . La unidad lógica aritmética (ALU) de la versión microPrism había completado el diseño 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 administración de memoria (MMU) aún no estaban completos en el verano cuando la gerencia de DEC decidió cancelar el proyecto a favor de sistemas basados ​​en MIPS . [2] Se desarrolló un sistema operativo con nombre en código MICA para la arquitectura PRISM, que habría servido como reemplazo tanto para VAX/VMS como para ULTRIX en PRISM. [3]

La cancelación de PRISM tuvo efectos significativos dentro de DEC. Muchos de los miembros del equipo dejaron la compañía durante el año siguiente, en particular Dave Cutler , que se fue a Microsoft y dirigió el desarrollo de Windows NT . Las estaciones de trabajo basadas en MIPS tuvieron un éxito moderado entre los usuarios de Ultrix de DEC , pero tuvieron poco éxito compitiendo contra compañías como Sun Microsystems . Mientras tanto, la línea VAX, la vaca lechera de DEC, perdió cada vez más rendimiento a medida que los nuevos diseños RISC superaban incluso al VAX 9000 de gama alta. A medida que la compañía exploraba el futuro del VAX, llegaron a la conclusión de que un procesador similar a PRISM con algunos cambios adicionales podría abordar todos estos mercados. El programa DEC Alpha comenzó en 1989 , comenzando donde PRISM lo dejó .

Historia

Fondo

El VAX, introducido en 1977, fue un gran éxito para DEC, que consolidó su posición como el segundo mayor proveedor de ordenadores del mundo, detrás de IBM . El VAX se destacó por su rica arquitectura de conjunto de instrucciones (ISA), que se implementó en un microcódigo complejo . El sistema operativo VMS se superpuso a esta ISA, lo que lo llevó a tener ciertos requisitos para el manejo de interrupciones y el modelo de memoria utilizado para la paginación de memoria . A principios de la década de 1980, los sistemas VAX se habían convertido en "el centro informático de muchas empresas impulsadas por la tecnología, enviando radios de cables RS-232 a un borde de terminales VT-100 que mantenían en marcha los departamentos de ciencia e ingeniería". [4]

Esta feliz situación se vio alterada por la incesante mejora de la fabricación de semiconductores , tal como se codifica en la Ley de Moore ; a principios de la década de 1980, había una serie de microprocesadores de un solo chip de 32 bits capaces con un rendimiento similar a las primeras máquinas VAX, pero capaces de caber en un factor de forma de caja de pizza de escritorio . Empresas como Sun Microsystems introdujeron estaciones de trabajo Unix basadas en la serie Motorola 68000 que podían reemplazar una enorme máquina VAX multiusuario con una que proporcionara aún más rendimiento pero que fuera lo suficientemente económica como para ser comprada por cada usuario que la necesitara. Mientras que los propios equipos de microprocesadores de DEC estaban introduciendo una serie de implementaciones VAX a precios más bajos, la relación precio-rendimiento de sus sistemas continuó erosionándose. A finales de la década de 1980, DEC se encontró excluida del mercado técnico. [4]

RIESGO

Durante la década de 1970, IBM había estado realizando estudios sobre el rendimiento de sus sistemas informáticos y descubrió, para su sorpresa, que el 80% del tiempo de la computadora se dedicaba a realizar sólo cinco operaciones. Los cientos de otras instrucciones en sus ISA, implementadas mediante microcódigo, no se utilizaban casi en su totalidad. La presencia del microcódigo introducía un retraso cuando se decodificaban las instrucciones, por lo que incluso cuando uno llamaba directamente a una de esas cinco instrucciones, se ejecutaba más lentamente de lo que podría hacerlo si no hubiera microcódigo. Esto condujo al diseño IBM 801 , el primer procesador RISC moderno . [5]

Casi al mismo tiempo, en 1979, Dave Patterson fue enviado a un año sabático de la Universidad de California, Berkeley, para ayudar al equipo de la costa oeste de DEC 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 la microcodificación, pero luego cambió de opinión y decidió que el microcódigo en sí era el problema. Pronto comenzó el proyecto RISC de Berkeley . [6] La aparición de RISC desencadenó un debate de larga duración dentro de la industria informática sobre sus méritos; cuando Patterson esbozó por primera vez sus argumentos a favor del concepto en 1980, DEC publicó una opinión disidente desdeñosa. [7]

A mediados de los años 1980, prácticamente todas las empresas con una rama de diseño de procesadores comenzaron a explorar el enfoque RISC. A pesar de cualquier desinterés oficial, DEC no fue una excepción. En el período de 1982 a 1985, no menos de cuatro intentos se hicieron 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 basado en ECL de alto rendimiento que comenzó en 1982, destinado a ejecutar Unix . SAFE ( Arquitectura optimizada para ejecución rápida ) fue un diseño de 64 bits que comenzó el mismo año, diseñado por Alan Kotok (de Spacewar! fama) y Dave Orbits y destinado a ejecutar VMS. HR-32 ( Hudson, RISC, 32 bits ) comenzó en 1984 por Rich Witek y Dan Dobberpuhl en la fábrica de Hudson, MA , destinado a ser utilizado como un coprocesador en la máquina VAX . Ese mismo año, Dave Cutler inició el proyecto CASCADE en DECwest en Bellevue, Washington. [8]

PRISMA

Finalmente, en 1985 se le pidió a Cutler que definiera un único proyecto RISC y se eligió 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 un período de muchos 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 a medida que los debates dentro de la empresa discutían 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. [8]

Estos cambios constantes hicieron que la especificación final de ISA no estuviera completa hasta septiembre de 1986. En ese momento, se tomó la decisión de producir dos versiones del concepto básico: DECwest trabajó en una implementación ECL de "alta gama" conocida como Crystal , mientras que el equipo de Desarrollo Avanzado de Semiconductores trabajó en microPRISM , una versión CMOS . Este trabajo se realizó en un 98 % entre 1985 y 1986 y contó con el respaldo de simulaciones de Pete Benoit en un gran VAXcluster . [8]

En esa época, todavía existía un considerable escepticismo por parte de los ingenieros de DEC en su conjunto sobre si RISC era realmente más rápido o simplemente más rápido en los triviales programas de cinco líneas que se utilizaban para demostrar su rendimiento. Basándose en el diseño Crystal, en 1986 se lo comparó con la máquina más rápida en desarrollo en ese momento, el VAX 8800. La conclusión fue clara: para cualquier monto de inversión dado, los diseños RISC superarían a un VAX en una proporción de 2 a 1. [9]

A mediados de 1987, se tomó la decisión de que ambos diseños fueran de 64 bits, aunque esto duró sólo 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, corría cuatro veces más rápido que su anterior Sun-3 de gama alta que utilizaba un Motorola 68020 de 20 MHz . Con este lanzamiento, DEC volvió a cambiar el objetivo de PRISM, apuntándolo únicamente al espacio de las estaciones de trabajo. Esto dio como resultado que el microPRISM se volviera a especificar como un sistema de 32 bits mientras que el proyecto Crystal se canceló. Esto introdujo más retrasos, lo que hizo que el proyecto se retrasara mucho. [8]

A principios de 1988, el sistema aún no estaba completo; el diseño de la CPU estaba casi completo, pero la FPU y la MMU, ambas basadas en el chipset Rigel contemporáneo para el VAX, todavía estaban en proceso de diseño. [8] El equipo decidió dejar de trabajar en esas partes del diseño y centrarse por completo en la CPU. El diseño se completó en marzo de 1988 y se dio por terminado en abril. [8]

Cancelación

Durante el período PRISM, DEC se vio envuelta en un importante debate sobre la dirección futura de la empresa. A medida que se introducían nuevas estaciones de trabajo basadas en RISC, el beneficio de rendimiento del VAX se erosionaba constantemente y la relación precio/rendimiento se debilitaba por completo. Diferentes grupos dentro de la empresa debatían cuál era la mejor respuesta. Algunos abogaban por trasladar el VAX a la gama alta, abandonando la gama baja a los proveedores de estaciones de trabajo como Sun. Esto condujo al programa VAX 9000 , al que se hizo referencia internamente como el "asesino de IBM". Otros sugirieron trasladarse al mercado de estaciones de trabajo utilizando PRISM o un procesador de consumo. Y otros sugirieron volver a implementar el VAX en un procesador RISC. [8]

Frustrados por el creciente número de pérdidas frente a máquinas competitivas más rápidas y baratas, un pequeño grupo de skunkworks de Palo Alto , fuera de Central Engineering, centrado en estaciones de trabajo y UNIX/ Ultrix , se planteó la idea de utilizar un procesador RISC estándar para construir una nueva familia de estaciones de trabajo. El grupo llevó a cabo la debida diligencia y finalmente eligió el MIPS R2000 . Este grupo adquirió una máquina de desarrollo y creó un prototipo de una versión de Ultrix para el sistema. Desde las reuniones iniciales con MIPS hasta la máquina prototipo pasaron solo 90 días. La producción completa de una versión DEC podría comenzar tan pronto como enero de 1989, mientras que pasaría al menos otro año antes de que una máquina basada en PRISM estuviera lista. [8]

Cuando se planteó el asunto en la sede de DEC, la empresa no se puso de acuerdo sobre cuál de los dos enfoques era mejor. Se pidió a Bob Supnik que considerara el asunto 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 al mercado mucho antes. En la acalorada 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 alta gama. La estación de trabajo surgió como DECstation 3100. [8 ]

En ese momento, se habían devuelto muestras del microPRISM y se comprobó que funcionaban en su mayor parte. También demostraron ser capaces de funcionar a velocidades de 50 a 80 MHz, en comparación con los 16 a 20 del R2000. Las predicciones de rendimiento basadas en estas observaciones sugirieron una mejora significativa del rendimiento con respecto a los productos RISC existentes y anunciados de otros proveedores. Sin embargo, sin la unidad de punto flotante que lo acompañaba, cuyo diseño se había detenido, o el chip de interfaz de caché necesario para operar a tales frecuencias, que había sido parte de un proyecto cancelado, las predicciones de rendimiento de punto flotante seguían siendo hipotéticas. [10]

Legado

En la reunión de julio de 1988, la empresa ya había adoptado casi por completo la postura de que el enfoque RISC era una opción para las estaciones de trabajo, pero el rendimiento de PRISM era similar al de las máquinas VAX más recientes y el concepto RISC tenía un margen considerable para crecer. Cuando la reunión terminó, Ken Olsen pidió a Supnik que investigara formas en que Digital pudiera mantener el rendimiento de los sistemas VMS competitivo con los sistemas Unix basados ​​en RISC. [11]

Un grupo de ingenieros formó un equipo, conocido como el grupo de trabajo "RISCy VAX" o "Extended VAX" (EVAX), para explorar esta cuestión. [11] A finales del verano, el grupo había explorado tres conceptos: un subconjunto de la ISA VAX con un núcleo similar al RISC, un VAX traducido que ejecutaba código VAX nativo y lo traducía sobre la marcha a código RISC y lo almacenaba en una memoria caché, y el VAX ultrapipelinado, una implementación CISC de mucho mayor rendimiento. Todos estos enfoques tenían problemas que significaban que no serían competitivos con una máquina RISC simple. [12]

El grupo analizó a continuación sistemas que combinaban una solución VAX de un solo chip y 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 convincente. [12]

Fue en ese momento cuando Nancy Kronenberg señaló que la gente utilizaba 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 convincente por la que VMS no pudiera trasladarse a un chip RISC siempre que se conservaran estos pequeños fragmentos del modelo. Investigaciones posteriores sobre este concepto sugirieron que se trataba de un enfoque viable. [12]

Supnik llevó el informe resultante al Strategy Task Force en febrero de 1989. Se plantearon dos preguntas: ¿podría el diseño RISC resultante ser también un líder en rendimiento en el mercado Unix, y debería la máquina ser un estándar abierto? Y con eso, se tomó la decisión de adoptar la arquitectura PRISM con las modificaciones apropiadas, convirtiéndose finalmente en Alpha , y comenzó el puerto de VMS a la nueva arquitectura . [13]

Cuando se cancelaron PRISM y MICA, Dave Cutler dejó Digital para irse a Microsoft , donde se hizo cargo del 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. [14] [15] [16]

Diseño

En términos de operaciones con números enteros , la arquitectura PRISM era similar a los diseños MIPS . De los 32 bits de las instrucciones , los 6 bits más altos y los 5 más bajos eran la instrucción, dejando los otros 21 bits de la palabra para codificar una constante o ubicaciones de registros . Se incluyeron sesenta y cuatro registros de 32 bits, en comparación con los treinta y dos del MIPS, pero el uso era similar en lo demás. PRISM y MIPS carecen de las ventanas de registro que eran un sello distintivo del otro diseño RISC importante, Berkeley RISC.

El diseño de PRISM se destacó por varios aspectos de su conjunto de instrucciones . Cabe destacar que 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. A Epicode se le dio su propio conjunto de 22 registros de 32 bits para usar. Posteriormente también se agregó un conjunto de instrucciones de procesamiento vectorial , respaldado por dieciséis registros vectoriales adicionales de 64 bits que podían usarse de diversas maneras.

Referencias

  1. ^ Mark Smotherman. "Esbozo de DEC PRISM". PRISM (máquina de conjunto de instrucciones reducidas en paralelo) ... primer borrador de la arquitectura PRISM en agosto de 1985; DEC cancela el proyecto en 1988 en favor de una basada en MIPS ...
  2. ^ "PRISM asesinado" (PDF) . bitsavers.org . 1988-06-17 . Consultado el 2021-01-05 .
  3. ^ Dave Cutler (30 de mayo de 1988). "Agenda DECwest/SDT" (PDF) . bitsavers.org .
  4. ^ desde Comerford 1992, pág. 26.
  5. ^ 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 . Consultado el 5 de octubre de 2022 .
  6. ^ Patterson, David (30 de mayo de 2018). "Historia de RISCy". AM SIGARCH .
  7. ^ Clark, Douglas; Streck, William (septiembre de 1980). "Comentarios sobre "El caso de la computadora con conjunto de instrucciones reducido", de Patterson y Ditzel" (PDF) . Archivado desde el original (PDF) el 18 de abril de 2019.
  8. ^abcdefghi Supnik 2008.
  9. ^ Schein 2003, pág. 209.
  10. ^ uPRISM - El capítulo final (PDF) (Informe técnico). Digital Equipment Corporation. 21 de octubre de 1988. Consultado el 17 de febrero de 2024 .
  11. ^ ab "EV-4 (1992)". 2008-02-24.
  12. ^ abc Comerford 1992, pág. 28.
  13. ^ "Gestión de los avances tecnológicos: un estudio del equipo de diseño Alpha de DEC" (PDF) . Abril de 1993.
  14. ^ Zachary, G. Pascal (2014). ¡Sorprendente!: La vertiginosa carrera para crear Windows NT y la próxima generación en Microsoft. Open Road Media. ISBN 978-1-4804-9484-8. Recuperado el 4 de enero de 2021 .
  15. ^ Neil Rieck. «Dave Cutler, PRISM, Mica, Emerald, etc.». neilrieck.net . Consultado el 4 de enero de 2021 .
  16. ^ 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

Lectura adicional