stringtranslate.com

VAX

VAX (acrónimo de Virtual Address eXtension ) es una serie de computadoras 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 finales del siglo XX. El VAX-11/780 , presentado el 25 de octubre de 1977, fue el primero de una gama de computadoras populares e influyentes que implementaron VAX ISA. La familia VAX fue un gran éxito para DEC, y los últimos miembros llegaron a principios de la década de 1990. El VAX fue sucedido por el DEC Alpha , que incluía varias características de las máquinas VAX para facilitar la transferencia desde el VAX.

VAX fue diseñado como sucesor del PDP-11 de 16 bits , uno de los miniordenadores de mayor éxito de la historia con aproximadamente 600.000 unidades vendidas. El sistema fue diseñado para ofrecer compatibilidad con versiones anteriores del PDP-11 y al mismo tiempo ampliar la memoria a una implementación completa de 32 bits y agregar memoria virtual paginada bajo demanda . El nombre VAX se refiere a su concepto de extensión de dirección virtual que permitía a los programas hacer uso de esta memoria recientemente disponible sin dejar de ser compatible con el código PDP-11 en modo de usuario no modificado. Se eligió el nombre "VAX-11", utilizado en los primeros modelos, para resaltar esta capacidad. El VAX ISA se considera un diseño de computadora con conjunto de instrucciones complejas (CISC).

DEC abandonó rápidamente la marca −11 porque la compatibilidad con PDP-11 ya no era una preocupación importante. La línea se expandió tanto a mainframes de alta gama como el VAX 9000 como a sistemas a escala de estación de trabajo como la serie VAXstation . En última instancia, la familia VAX contenía 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 CISC ISA por excelencia, [3] con su gran número de modos de direccionamiento e instrucciones de máquina fáciles de usar en lenguaje ensamblador , arquitectura de conjunto de instrucciones altamente ortogonal e instrucciones para operaciones complejas como inserción o eliminación de colas , formato de números. y evaluación polinomial . [4]

Nombre

VAX-11/780

El nombre "VAX" se originó como un acrónimo de Virtual Address eXtension , tanto porque el VAX fue 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 gestionar 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, dándole el 11 en VAX-11 para resaltar esta compatibilidad. Las versiones posteriores descargaron el modo de compatibilidad y algunas de las instrucciones CISC menos utilizadas para emularlas 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 inicio de cada subprograma. Estos son patrones de bits arbitrarios que especifican, cuando se pasa el control al subprograma, qué registros deben conservarse. En la mayoría de las arquitecturas, corresponde al compilador 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. Usando 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. Esto puede complicar las técnicas de optimización que se aplican en código de máquina. [9]

Sistemas operativos

"VAX/VMS" estilizado utilizado por Digital

El sistema operativo VAX nativo 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 el uno del otro, al igual que la implementación inicial de la instalació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 ejecutar múltiples instancias aisladas de VMS y ULTRIX en el mismo hardware. [11] VMM tenía como objetivo lograr el cumplimiento de TCSEC A1. A finales 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 soportado varios modelos VAX y se ha trabajado en la migración de Linux a la arquitectura VAX. [14] OpenBSD suspendió el soporte para la arquitectura en septiembre de 2016. [15]

Historia

Vista frontal del VAX 8350 sin cubierta

El primer modelo VAX vendido fue el VAX-11/780 , que se presentó el 25 de octubre de 1977 en la Asamblea 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 los años 1980.

Durante un tiempo el VAX-11/780 se utilizó como estándar en los benchmarks de CPU . Inicialmente se describió como una máquina de un MIPS , porque su rendimiento era equivalente a un IBM System/360 que se ejecutaba en un MIPS, y las implementaciones de System/360 habían sido previamente estándares de rendimiento de facto. El número real de instrucciones ejecutadas en 1 segundo fue de aproximadamente 500.000, lo que generó quejas de exageración en el marketing. El resultado fue la definición de un "VAX MIPS", la velocidad de un VAX-11/780; una computadora que funcione a 27 MIPS VAX 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 ( Unidad de rendimiento VAX ) era el término más común, porque los MIPS no se comparan bien entre diferentes arquitecturas. El término relacionado VUP de clúster se utilizó 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, un conjunto de análisis de rendimiento incluido en la distribución del software de modelado sólido BRL-CAD). El VAX-11/780 incluía un estándar subordinado. sola computadora LSI-11 que realizaba funciones de carga, arranque y diagnóstico de microcódigo para la computadora principal. Esto se eliminó de los modelos VAX posteriores. Por lo tanto, los usuarios emprendedores del VAX-11/780 podrí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 procesador de densidad única). unidad de disquete).

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 . Durante la década de 1980, la gama alta de la familia fue mejorando 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 fue abandonado poco después. introducción. Las implementaciones de CPU que consistían en una matriz de compuertas lógica de emisor acoplado múltiple (ECL) o chips de matriz de macroceldas incluían los 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 personalizados MOSFET incluían las máquinas de clase 8100 y 8200. Las máquinas VAX 11-730 y 725 de gama baja se construyeron utilizando componentes de segmento 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 algunos 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 en mover 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 requerido y se denominó arquitectura "MicroVAX". En el MicroVAX I, la ALU y los registros se implementaron como un chip de matriz de puerta única , mientras que el resto del control de la máquina era lógica convencional.

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

Siguieron otros procesadores VLSI VAX en forma de implementaciones V-11, CVAX , CVAX SOC ("System On Chip", un CVAX de un solo chip), Rigel , Mariah y NVAX . Los microprocesadores VAX ampliaron la arquitectura a estaciones de trabajo económicas y más tarde también suplantaron a los modelos VAX de alta gama. Esta amplia gama de plataformas (desde mainframe hasta estaciones de trabajo) que utilizaban una arquitectura era única en la industria informática en ese momento. Se grabaron diversos gráficos en el chip del microprocesador CVAX. La frase CVAX... cuando te importa lo suficiente como para robar lo mejor fue grabada en un ruso entrecortado como un juego de palabras con el eslogan de Hallmark Cards , con la intención de ser un mensaje para los ingenieros soviéticos que eran conocidos por robar computadoras DEC para aplicaciones militares y reversa. diseñar el diseño de su chip. [20] [21] A finales de la década de 1980, los microprocesadores VAX habían aumentado su potencia para ser competitivos con los diseños discretos. Esto llevó al abandono de las series 8000 y 9000 y su reemplazo por modelos 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 finalmente fue reemplazada por la tecnología RISC . En 1989, DEC introdujo una gama de estaciones de trabajo y servidores que ejecutaban Ultrix , DECstation y DECsystem respectivamente, utilizando procesadores de MIPS Computer Systems . En 1992, DEC introdujo su propia arquitectura de conjunto de instrucciones RISC, Alpha AXP (posteriormente 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 dejarían de fabricarse a finales de año, [22] pero los sistemas antiguos siguen utilizándose de forma generalizada. [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 uno tiene un tamaño de un gigabyte (en el contexto del direccionamiento, 2 30 bytes):

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

Modos de privilegio

El VAX tiene cuatro modos de privilegios implementados en hardware:

Palabra larga de 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 evaluaciones comparativas , que muestra sus componentes internos

El primer sistema basado en VAX fue el VAX-11/780 , miembro de la familia VAX-11 . El VAX 8600 de gama alta reemplazó al VAX-11/780 en octubre de 1984 y a mediados de la década de 1980 se le unieron las minicomputadoras MicroVAX de nivel básico y las estaciones de trabajo VAXstation . 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 fallos , 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ó la capacidad de otorgar acceso de escritura a más de una CPU DEC, pero no al mismo tiempo, a un disco compartido. Implementaron una mejora llamada SImultaneous Machine ACceSs ( SIMACS ), [24] [25] que permitió a su controlador de disco especial establecer un indicador de semáforo para el acceso al disco, permitiendo múltiples ESCRITURAS en los mismos archivos; el disco es compartido por varios sistemas DEC. SIMACS también existía en los sistemas PDP-11 RSTS .

Sistemas cancelados

Los sistemas cancelados incluyen el BVAX , un VAX de alta gama basado en lógica de emisor acoplado (ECL), y otros dos modelos VAX basados ​​en ECL: Argonaut y Raven . [26] Raven fue cancelado en 1990. [27] También se canceló un VAX llamado Gemini , que era un recurso alternativo 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. Ejemplos incluyen:

Referencias

  1. ^ "Manual de referencia del conjunto de instrucciones y MACRO VAX". 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, Virgilio. "Arquitectura de Computadores - Apuntes de clase" (PDF) . Instituto de Tecnología de Illinois . Consultado el 15 de abril de 2022 .
  4. ^ Payne, María; Bhandarkar, Dileep (1980). "Punto flotante VAX: una base sólida para el cálculo numérico". Noticias de arquitectura informática SIGARCH . ACM. 8 (4): 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 de computadoras: The Vax. Prensa digital. ISBN 9781483299372.
  6. ^ "Otro enfoque a la arquitectura del conjunto 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 VAX como conjunto de instrucciones fácil de programar, una ventaja
  7. ^ "VAX". Esp. destaca por su gran conjunto de instrucciones fáciles de usar para programadores ensambladores, una ventaja que
  8. ^ "Manual de referencia del conjunto de instrucciones y MACRO de VAX". 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 del código de máquina: mejora del código objeto ejecutable (PDF) (Doctor). vol. Informe técnico núm. 246 del Departamento de Ciencias de la Computación. Instituto Courant, Universidad de Nueva York. arXiv : 1308.4815 . Código Bib : 2013arXiv1308.4815G . Consultado el 22 de agosto de 2013 .
    • Clinton F. Goss (2013) [1986]. Optimización del código de máquina: mejora del código objeto ejecutable (tesis doctoral). Instituto Courant, Universidad de Nueva York.
  10. ^ ab Rainville, Jim; Howard, Karen, eds. (1997). "VAX/VMS a las 20". Corporación de equipos digitales. Archivado desde el original el 20 de julio de 2018 . Consultado el 20 de julio de 2018 .
  11. ^ Paul A.Karger; María Elena Zurko; Douglas W. Benín; Andrew H. Mason; Clifford E. Kahnh (7 al 9 de mayo de 1990). Un núcleo de seguridad VMM para la arquitectura VAX (PDF) . Actas. 1990 Simposio de la IEEE Computer Society 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. ^ "Transferencia de 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 y Simulación de la Computació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 Computación . 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 que se utilizan hoy en día". Mundo PC . Consultado el 11 de octubre de 2021 .
  24. ^ Varita, R.; Kesteven, M.; Rayner, P. (24 de febrero de 1984). "Requisitos informáticos para el desarrollo de software AT" (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). "Cuervo". Historia y Simulación de la Computación . Consultado el 1 de marzo de 2019 .
  28. ^ "Informe de Informática 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.; Juguetón, 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". Anales IEEE de la historia de la informática . 21 (3): 38–48. doi : 10.1109/85.778981.
  31. ^ Laimutis Telksnys; Antanas Zilinskas (julio de 1999). "Ordenadores en Lituania" (PDF) . Anales IEEE de la historia de la informática . 21 (3): 31–37. doi : 10.1109/85.778980. S2CID  16240778.
  32. ^ Prokhorov NL; Gorskiy VE "Software básico para modelos de ordenador SM de 32 bits". Revista de sistemas de software (en ruso). 1988 (3) . Consultado el 15 de septiembre de 2021 .
  33. ^ Congreso de Estados Unidos , Oficina de Evaluación de Tecnología (julio de 1987). Transferencia de tecnología a China. Imprenta del gobierno de EE. UU . pag. 96.ISBN _ 9781428922914. OTA-USC-340.
  34. ^ Xia Nanyin; Chan Laixing (1990). "Lanzamiento de satélites y sistemas TT&C de China y sus funciones en la cooperación internacional". En F. Sharokhi; JS Greenberg; T. Al-Saud (eds.). Comercialización espacial: vehículos y programas de lanzamiento . Instituto Americano de Aeronáutica y Astronáutica . pag. 244.ISBN _ 0-930403-75-4.

Otras lecturas

enlaces externos