stringtranslate.com

vacuna

VAX (acrónimo de Virtual Address eXtension ) es una serie de computadoras que cuentan con una arquitectura de conjunto de instrucciones (ISA) de 32 bits y memoria virtual que fue desarrollada y vendida por Digital Equipment Corporation (DEC) a fines del siglo XX. La VAX-11/780 , presentada el 25 de octubre de 1977, fue la primera de una gama de computadoras populares e influyentes que implementaron la ISA VAX. La familia VAX fue un gran éxito para DEC, y los últimos miembros llegaron a principios de la década de 1990. La VAX fue reemplazada por la DEC Alpha , que incluía varias características de las máquinas VAX para facilitar la portabilidad desde VAX.

VAX fue diseñado como sucesor del PDP-11 de 16 bits , uno de los miniordenadores más exitosos de la historia, con aproximadamente 600.000 unidades vendidas. El sistema fue diseñado para ofrecer compatibilidad con el PDP-11, al tiempo que ampliaba la memoria a una implementación completa de 32 bits y añadía memoria virtual paginada a demanda . El nombre VAX hace referencia a su concepto de extensión de dirección virtual , que permitía a los programas hacer uso de esta memoria recién disponible y al mismo tiempo seguir siendo compatible con el código PDP-11 en modo usuario sin modificar. El nombre "VAX-11", utilizado en los primeros modelos, fue elegido para destacar esta capacidad. El VAX ISA se considera un diseño de ordenador de conjunto de instrucciones complejo (CISC).

DEC abandonó rápidamente la marca −11, ya que la compatibilidad con PDP-11 ya no era una preocupación importante. La línea se expandió tanto a mainframes de gama alta como el VAX 9000 como a sistemas a escala de estación de trabajo como la serie VAXstation . La familia VAX finalmente incluyó diez diseños distintos y más de 100 modelos individuales en total. Todos ellos eran compatibles entre sí y normalmente ejecutaban el sistema operativo VAX/VMS .

VAX ha sido percibido como el ISA CISC por excelencia, [3] con su gran cantidad de modos de direccionamiento y de instrucciones de máquina amigables para el programador en lenguaje ensamblador , una arquitectura de conjunto de instrucciones altamente ortogonal e instrucciones para operaciones complejas como inserción o eliminación de colas , formateo de números y evaluación de polinomios . [4]

Nombre

VAX-11/780

El nombre "VAX" se originó como un acrónimo de Virtual Address eXtension , tanto porque VAX era visto como una extensión de 32 bits del antiguo PDP-11 de 16 bits como porque fue (después de Prime Computer ) uno de los primeros en adoptar la memoria virtual para administrar este espacio de direcciones más grande.

Las primeras versiones del procesador VAX implementan un "modo de compatibilidad" que emula muchas de las instrucciones del PDP-11, y se le asigna el 11 en VAX-11 para resaltar esta compatibilidad. Las versiones posteriores transfirieron el modo de compatibilidad y algunas de las instrucciones CISC menos utilizadas a la emulación en el software del sistema operativo.

Conjunto de instrucciones

El conjunto de instrucciones VAX fue diseñado para ser potente y ortogonal . [5] Cuando se introdujo, muchos programas estaban escritos en lenguaje ensamblador, por lo que era importante tener un conjunto de instrucciones "amigable para el programador". [6] [7] Con el tiempo, a medida que se escribían más programas en lenguajes de programación de alto nivel , el conjunto de instrucciones se volvió menos visible y los únicos que se preocupaban mucho por él eran los escritores de compiladores.

Un aspecto inusual del conjunto de instrucciones VAX es la presencia de máscaras de registro [8] al comienzo de cada subprograma. Se trata de patrones de bits arbitrarios que especifican, cuando se pasa el control al subprograma, qué registros se deben conservar. En la mayoría de las arquitecturas, es el compilador el que debe producir instrucciones para guardar los datos necesarios, normalmente utilizando la pila de llamadas para el almacenamiento temporal. En el VAX, con 16 registros, esto podría requerir 16 instrucciones para guardar los datos y otras 16 para restaurarlos. Al utilizar la máscara, un único valor de 16 bits realiza las mismas operaciones internamente en el hardware, ahorrando tiempo y memoria. [5]

Dado que las máscaras de registro son una forma de datos integrados en el código ejecutable, pueden dificultar el análisis lineal del código de máquina, lo que puede complicar las técnicas de optimización que se aplican al código de máquina. [9]

Sistemas operativos

"VAX/VMS" estilizado utilizado por Digital

El sistema operativo nativo VAX es VAX/VMS de Digital (renombrado a OpenVMS en 1991 o principios de 1992 cuando fue portado a Alpha , modificado para cumplir con los estándares POSIX y calificado como compatible con XPG4 por el consorcio X/Open ). [10] La arquitectura VAX y el sistema operativo VMS fueron " diseñados simultáneamente " para aprovechar al máximo cada uno de ellos, al igual que la implementación inicial de la función VAXcluster .

Durante la década de 1980, se desarrolló en Digital un hipervisor para la arquitectura VAX llamado VMM (Virtual Machine Monitor), también conocido como VAX Security Kernel , con el objetivo de permitir que se ejecutaran múltiples instancias aisladas de VMS y ULTRIX en el mismo hardware. [11] VMM tenía como objetivo lograr la conformidad con TCSEC A1. A fines de la década de 1980, estaba operativo en el hardware de la serie VAX 8000 , pero se abandonó antes de su lanzamiento a los clientes.

Otros sistemas operativos VAX han incluido varias versiones de Berkeley Software Distribution (BSD) UNIX hasta 4.3BSD , Ultrix -32, VAXELN y Xinu . Más recientemente, NetBSD [12] y OpenBSD [13] han admitido varios modelos VAX y se ha trabajado en la adaptación de Linux a la arquitectura VAX. [14] OpenBSD dejó de brindar soporte para la arquitectura en septiembre de 2016. [15]

Historia

Vista frontal del VAX 8350 con la cubierta quitada

El primer modelo VAX vendido fue el VAX-11/780 , que se presentó el 25 de octubre de 1977 en la Reunión Anual de Accionistas de Digital Equipment Corporation. [16] Bill Strecker, estudiante de doctorado de C. Gordon Bell en la Universidad Carnegie Mellon , fue el responsable de la arquitectura. [17] Posteriormente se crearon muchos modelos diferentes con diferentes precios, niveles de rendimiento y capacidades. Las superminicomputadoras VAX fueron muy populares a principios de la década de 1980.

Durante un tiempo, el VAX-11/780 se utilizó como estándar en las pruebas comparativas de CPU . Inicialmente se describió como una máquina de un MIPS , porque su rendimiento era equivalente al de un IBM System/360 que funcionaba a un MIPS, y las implementaciones del System/360 habían sido previamente estándares de rendimiento de facto. El número real de instrucciones ejecutadas en 1 segundo era de aproximadamente 500.000, lo que dio lugar a quejas de exageración de marketing. El resultado fue la definición de un "VAX MIPS", la velocidad de un VAX-11/780; un ordenador que funcionara a 27 VAX MIPS ejecutaría el mismo programa aproximadamente 27 veces más rápido que el VAX-11/780.

Dentro de la comunidad digital, el término VUP ( VAX Unit of Performance ) era el término más común, porque los MIPS no se comparan bien en diferentes arquitecturas. El término relacionado cluster VUPs se usó informalmente para describir el rendimiento agregado de un VAXcluster . (El rendimiento del VAX-11/780 todavía sirve como métrica de referencia en BRL-CAD Benchmark, una suite de análisis de rendimiento incluida en la distribución de software de modelado sólido BRL-CAD). El VAX-11/780 incluía una computadora LSI-11 independiente subordinada que realizaba funciones de carga de microcódigo, arranque y diagnóstico para la computadora principal. Esto se eliminó de los modelos VAX posteriores. Por lo tanto, los usuarios emprendedores del VAX-11/780 podían ejecutar tres sistemas operativos diferentes de Digital Equipment Corporation: VMS en el procesador VAX (desde los discos duros) y RSX-11S o RT-11 en el LSI-11 (desde el disquete de unidad única de densidad única).

El VAX pasó por muchas implementaciones diferentes. El VAX 11/780 original se implementó en TTL y llenó un gabinete de cuatro por cinco pies [18] con una sola CPU . A lo largo de la década de 1980, la gama alta de la familia se mejoró continuamente utilizando componentes discretos cada vez más rápidos, una evolución que terminó con la introducción del VAX 9000 en octubre de 1989. Este diseño resultó demasiado complejo y costoso y finalmente se abandonó poco después de su introducción. Las implementaciones de CPU que consistían en múltiples chips de matriz de compuertas de lógica acoplada a emisor (ECL) o matriz de macroceldas incluyeron las superminis VAX 8600 y 8800 y finalmente las máquinas de clase mainframe VAX 9000. Las implementaciones de CPU que consistían en múltiples chips MOSFET personalizados incluyeron las máquinas de clase 8100 y 8200. Las máquinas de gama baja VAX 11-730 y 725 se construyeron utilizando componentes de rebanada de bits AMD Am2901 para la ALU.

El MicroVAX I representó una transición importante dentro de la familia VAX. En el momento de su diseño, todavía no era posible implementar la arquitectura VAX completa como un único chip VLSI (o incluso unos pocos chips VLSI como se hizo más tarde con la CPU V-11 del VAX 8200/8300). En cambio, el MicroVAX I fue la primera implementación de VAX que trasladó algunas de las instrucciones VAX más complejas (como el decimal empaquetado y los códigos de operación relacionados) al software de emulación. Esta partición redujo sustancialmente la cantidad de microcódigo necesario y se denominó la arquitectura "MicroVAX". En el MicroVAX I, la ALU y los registros se implementaron como un único chip de matriz de puertas, mientras que el resto del control de la máquina era lógica convencional.

Una implementación completa de VLSI ( microprocesador ) de la arquitectura MicroVAX llegó con la CPU 78032 (o DC333) y la FPU 78132 (DC335) del MicroVAX II. El 78032 fue el primer microprocesador con una unidad de gestión de memoria incorporada [19]. El MicroVAX II se basaba en una única placa de procesador de tamaño cuádruple que transportaba los chips del procesador y ejecutaba los sistemas operativos MicroVMS o Ultrix -32 . La máquina presentaba 1 MB de memoria incorporada y una interfaz de bus Q22 con transferencias DMA . El MicroVAX II fue sucedido por muchos otros modelos MicroVAX con un rendimiento y una memoria muy mejorados.

Los procesadores VAX VLSI posteriores siguieron en forma de V-11, CVAX , CVAX SOC ("System On Chip", un CVAX de un solo chip), Rigel , Mariah y NVAX . Los microprocesadores VAX extendieron la arquitectura a estaciones de trabajo económicas y más tarde también suplantaron a los modelos VAX de gama alta. Esta amplia gama de plataformas (desde mainframe hasta estación de trabajo) que usaban una arquitectura era única en la industria informática en ese momento. Varios gráficos se grabaron en la matriz del microprocesador CVAX. La frase CVAX... cuando te importa lo suficiente como para robar lo mejor fue grabada en ruso defectuoso como un juego de palabras con un eslogan de Hallmark Cards , con la intención de enviar un mensaje a los ingenieros soviéticos que eran conocidos por robar computadoras DEC para aplicaciones militares y realizar ingeniería inversa del diseño de sus chips. [20] [21] A fines de la década de 1980, los microprocesadores VAX habían crecido en potencia para ser competitivos con los diseños discretos. Esto llevó al abandono de las series 8000 y 9000 y su reemplazo por modelos del VAX 6000 impulsados ​​por Rigel, y más tarde por sistemas VAX 7000 impulsados ​​por NVAX .

En la oferta de productos de DEC, la arquitectura VAX fue finalmente reemplazada por la tecnología RISC . En 1989, DEC presentó una gama de estaciones de trabajo y servidores que ejecutaban Ultrix , DECstation y DECsystem respectivamente, utilizando procesadores de MIPS Computer Systems . En 1992, DEC presentó su propia arquitectura de conjunto de instrucciones RISC, Alpha AXP (más tarde rebautizada como Alpha), y su propio microprocesador basado en Alpha, el DECchip 21064 , un diseño de 64 bits de alto rendimiento capaz de ejecutar OpenVMS.

En agosto de 2000, Compaq anunció que los modelos VAX restantes se descontinuarían a fines de año, [22] pero los sistemas antiguos siguen siendo ampliamente utilizados. [23] Los emuladores VAX basados ​​en software Stromasys CHARON-VAX y SIMH siguen estando disponibles. VMS ahora es desarrollado por VMS Software Incorporated, aunque solo para las plataformas Alpha , HPE Integrity y x86-64 .

Arquitectura del procesador

MicroVAX 3600 (izquierda) con impresora (derecha)

Mapa de memoria virtual

La memoria virtual VAX se divide en cuatro secciones. Cada una tiene un tamaño de un gigabyte (en el contexto del direccionamiento, 230 bytes ):

Para VMS, P0 se utilizó para el espacio de proceso del usuario, P1 para la pila de procesos, S0 para el sistema operativo y S1 estaba reservado.

Modos de privilegio

El VAX tiene cuatro modos de privilegio implementados en hardware:

Palabra larga sobre el estado del procesador

La palabra larga del estado del proceso contiene 32 bits:

Sistemas basados ​​en VAX

El SPEC-1 VAX, un VAX 11/780 utilizado para evaluación comparativa , mostrando los componentes internos

El primer sistema basado en VAX fue el VAX-11/780 , un miembro de la familia VAX-11 . El VAX 8600 de gama alta reemplazó al VAX-11/780 en octubre de 1984 y se le unieron las minicomputadoras MicroVAX de nivel de entrada y las estaciones de trabajo VAXstation a mediados de la década de 1980. El MicroVAX fue reemplazado por el VAX 4000 , el VAX 8000 fue reemplazado por el VAX 6000 a fines de la década de 1980 y se introdujo el VAX 9000 de clase mainframe . A principios de la década de 1990, se introdujo el VAXft tolerante a fallas , al igual que el VAX 7000/10000 compatible con Alpha . Se vendió una variante de varios sistemas basados ​​en VAX como VAXserver .

Acceso simultáneo a máquinas (SIMACS)

System Industries desarrolló una capacidad para otorgar a más de una CPU DEC, pero no al mismo tiempo, acceso de escritura a un disco compartido. Implementaron una mejora llamada SIMULTANEUS MÁQUINA ACCEs ( SIMULCS ), [24] [25] que permitió que su controlador de disco especial estableciera un indicador de semáforo para el acceso al disco, lo que permite múltiples ESCRITURAS en los mismos archivos; el disco es compartido por múltiples sistemas DEC. SIMACS también existía en los sistemas PDP-11 RSTS .

Sistemas cancelados

Entre los sistemas cancelados se encuentran el BVAX , un VAX de alta gama basado en lógica acoplada a emisores (ECL), y otros dos modelos de VAX basados ​​en ECL: Argonaut y Raven . [26] Raven fue cancelado en 1990. [27] También se canceló un VAX llamado Gemini , que era una alternativa en caso de que fallara el Scorpio basado en LSI . Nunca se envió.

Clones

Se produjeron varios clones de VAX, tanto autorizados como no autorizados. Algunos ejemplos son:

Referencias

  1. ^ "VAX MACRO and Instruction Set Reference Manual". Documentación de OpenVMS . Abril de 2001. 8.1 Arquitectura básica. Archivado desde el original el 6 de septiembre de 2001.
  2. ^ DEC STD 032 – Estándar de arquitectura VAX (PDF) . Digital Equipment Corp. 5 de enero de 1990. pág. 12-5 . Consultado el 1 de agosto de 2022 .
  3. ^ Bistriceanu, Virgil. «Arquitectura informática: notas de clase» (PDF) . Instituto Tecnológico de Illinois . Consultado el 15 de abril de 2022 .
  4. ^ Payne, Mary; Bhandarkar, Dileep (1980). "VAX de punto flotante: una base sólida para el cálculo numérico". ACM SIGARCH Computer Architecture News . 8 (4). ACM: 22–33. doi : 10.1145/641845.641849 . ISSN  0163-5964. S2CID  15021135.
  5. ^ ab Levy, Henry; Eckhouse, Richard (28 de junio de 2014). Programación y arquitectura informática: The Vax. Digital Press. ISBN 9781483299372.
  6. ^ "Otro enfoque para la arquitectura de conjuntos de instrucciones: VAX" (PDF) . Archivado desde el original (PDF) el 10 de junio de 2017 . Consultado el 3 de octubre de 2018 . ... arquitecturas de conjuntos de instrucciones, elegimos el VAX como conjunto de instrucciones fácil de usar para el programador, un activo
  7. ^ "VAX". Destaca especialmente por su amplio conjunto de instrucciones, fácil de usar para programadores ensambladores, una ventaja que
  8. ^ "VAX MACRO and Instruction Set Reference Manual". Documentación de OpenVMS . Abril de 2001. 9.2.5 Instrucciones de llamada a procedimiento. Archivado desde el original el 30 de marzo de 2002.
  9. ^ Goss, Clinton F. (agosto de 2013) [Publicado por primera vez en junio de 1986]. Optimización de código de máquina: mejora del código de objeto ejecutable (PDF) (PhD). Vol. Informe técnico n.º 246 del Departamento de Ciencias de la Computación. Courant Institute, New York University. arXiv : 1308.4815 . Bibcode :2013arXiv1308.4815G . Consultado el 22 de agosto de 2013 .
    • Clinton F. Goss (2013) [1986]. Optimización de código máquina: mejora del código de objeto ejecutable (tesis doctoral). Courant Institute, New York University.
  10. ^ ab Rainville, Jim; Howard, Karen, eds. (1997). "VAX/VMS at 20". Digital Equipment Corporation. Archivado desde el original el 20 de julio de 2018. Consultado el 20 de julio de 2018 .
  11. ^ Paul A. Karger; Mary Ellen Zurko; Douglas W. Benin; Andrew H. Mason; Clifford E. Kahnh (7-9 de mayo de 1990). Un núcleo de seguridad VMM para la arquitectura VAX (PDF) . Actas. Simposio de la IEEE Computer Society de 1990 sobre investigación en seguridad y privacidad. IEEE. doi :10.1109/RISP.1990.63834 . Consultado el 31 de enero de 2021 .
  12. ^ "NetBSD/vax".
  13. ^ "OpenBSD/vax".
  14. ^ "Portar Linux al VAX".
  15. ^ "OpenBSD 6.0". 2016. Consultado el 20 de junio de 2017 .
  16. ^ "VAX 11/780, el primer sistema VAX (octubre de 1977)".
  17. ^ Pizarrero, Robert (1987). Retratos en Silicio. Prensa del MIT. pag. 213.ISBN 978-0-262-69131-4.
  18. ^ "Computadora VAX 11/780: CPU". Museo de Historia de la Computación . Consultado el 24 de octubre de 2012 .
  19. ^ "MicroVAX II (1985)". Historia de la informática y simulación .
  20. ^ "Roba lo mejor". micro.magnet.fsu.edu . Consultado el 30 de enero de 2008 .La frase rusa era: СВАКС... Когда вы забатите довольно воровать настоящий лучший
  21. ^ "CVAX (1987)". Historia y simulación de la informática . Consultado el 30 de enero de 2008 .
  22. ^ "VAX Systems: Una carta de Jesse Lipcon". Archivado desde el original el 15 de agosto de 2000.
  23. ^ "Si no está roto, no lo arregles: Computadoras antiguas en uso hoy en día". PCWorld . Consultado el 11 de octubre de 2021 .
  24. ^ Wand, R.; Kesteven, M.; Rayner, P. (24 de febrero de 1984). "Requisitos informáticos para el desarrollo de software de TA" (PDF) .
  25. ^ Joshi, Prem; Delacroix, Jacques (septiembre de 1984). "Nueva flexibilidad para múltiples VAX/VMS". COPIA IMPRESA . págs. 64–68.
  26. ^ Mark Smotherman (19 de julio de 2008). "¿Quiénes son los arquitectos informáticos?" . Consultado el 30 de septiembre de 2008 .
  27. ^ Supnik, Bob (2007). "Raven". Historia de la informática y simulación . Consultado el 1 de marzo de 2019 .
  28. ^ "RAL Informatics Report 1984-85" (Informe de informática de la RAL 1984-85) . Consultado el 15 de octubre de 2007 .
  29. ^ "La historia de la TPA" . Consultado el 15 de octubre de 2007 .
  30. ^ Dujnic, J.; Fristacky, N.; Molnar, L.; Plander, I.; Rovan, B. (1999). "Sobre la historia de la informática, la ingeniería informática y el desarrollo de la tecnología informática en Eslovaquia". IEEE Annals of the History of Computing . 21 (3): 38–48. doi :10.1109/85.778981.
  31. ^ Laimutis Telksnys; Antanas Zilinskas (julio de 1999). "Computadoras en Lituania" (PDF) . IEEE Annals of the History of Computing . 21 (3): 31–37. doi :10.1109/85.778980. S2CID  16240778.
  32. ^ Prokhorov NL; Gorskiy VE "Software básico para modelos informáticos SM de 32 bits". Revista de sistemas de software (en ruso). 1988 (3) . Consultado el 15 de septiembre de 2021 .
  33. ^ Congreso de los Estados Unidos , Oficina de Evaluación Tecnológica (julio de 1987). Transferencia de tecnología a China. Imprenta del Gobierno de los Estados Unidos . p. 96. ISBN 9781428922914.OTA-USC-340.
  34. ^ Xia Nanyin; Chan Laixing (1990). "Sistemas de lanzamiento de satélites y de prueba y control de China y su papel en la cooperación internacional". En F. Sharokhi; JS Greenberg; T. Al-Saud (eds.). Comercialización espacial: vehículos de lanzamiento y programas . Instituto Americano de Aeronáutica y Astronáutica . pág. 244. ISBN. 0-930403-75-4.

Lectura adicional

Enlaces externos