# VAX/VMS

DEC VAX :
| Produtor: | Digital Equipment Corporation |
| Tamanho da Palavra (Word): | 32 bits (octeto) |
| Largura do barramento de endereçamento: | 32 bits |
| Barramento de periféricos: | Unibus, Massbus, Q-Bus |
| Arquitectura: | CISC, memória virtual |
| Sistemas operativos: | VAX/VMS, Ultrix, BSD UNIX |
VAX é uma arquitectura de computadores de 32 bits que suporta um conjunto de instruções ortogonais (código de máquina) e endereçamento virtual (ou seja exige memória virtual paginada). Foi desenvolvido em meados dos anos 1970 pela Digital Equipment Corporation (DEC). A DEC foi posteriormente adquirida pela Compaq que, por sua vez, foi comprada pela Hewlett-Packard.
O VAX foi entendido como o exemplo perfeito da arquitectura de processamento CISC, com o seu largo número de modos de endereçamento e de instruções de máquina, incluindo instruções para operações tão complexas como a inserção e remoção em filas de espera (queue) e a avaliação polinomial.

## Sistemas Operativos

O sistema operativo “nativo” do VAX é o VAX/VMS da DEC (posteriormente renomeado OpenVMS) a arquitectura VAX e o sistema operativo VMS foram desenvolvidos paralelamente (engineered concurrently) para que cada um tirasse a máxima vantagem do outro, levando por exemplo à introdução da funcionalidade concentração e partilha de recursos (VAXcluster). Outros sistemas operativos VAX incluíram várias versões da BSD UNIX, nomeadamente 4.3BSD, Ultrix-32 e VAXeln. Mais recentemente o NetBSD e o OpenBSD suportam vários modelos VAX e foi desenvolvido algum trabalho no sentido de encaminhar o Linux para a arquitectura VAX.

## História

O primeiro modelo VAX lançado no mercado foi o VAX-11/780, que foi apresentado a 25 de Outubro de 1977 na Assembleia Geral Anual de Accionistas da Digital Equipment Corporation. O arquitecto deste modelo foi Bill Strecker. Subsequentemente foram criados muitos modelos diferentes com vários preços, níveis de desempenho e capacidades. Os superminis VAX foram muito populares no início dos anos 1980.
Durante um tempo o VAX-11/780 foi utilizado como termo de referência em processos de comparação de desempenho (benchmark) da CPU pois a sua velocidade era de aproximadamente um milhão de instruções por segundo (MIPS). No entanto, ironicamente, o número actual de instruções executadas num segundo era sensivelmente 500.000. Um MIPS VAX era a velocidade dum VAX-11/780; um computador a trabalhar a 27 MIPS VAX correria o mesmo programa de forma 27 vezes mais rápida que um VAX-11/780, aproximadamente. Dentro da comunidade Digital o termo mais comum era o VUP (VAX Unit of Performance – Unidade de Desempenho VAX), uma vez que o MIPS não é facilmente comparável entre arquitecturas diferentes. O termo relacionado cluster VUPs era usado informalmente para descrever o desempenho agregado de um VAXcluster. O desempenho do VAX-11/780 ainda serve como termo métrico de referência no BRL-CAD Benchmark, um pacote de programas de análise de desempenho incluído no software de modelação de sólidos BRL-CAD.
O VAX conheceu muitas implementações diferentes. O original foi implementado em TTL (Transistor-Transistor Logic) e ocupava mais do que um bastidor para uma só CPU. Os CPUs que consistiam em chips de múltiplos gate arrays ECL (Emitter Coupled Logic) ou arrays macrocell foram incluídos nos mainframes das classes 8600, 8800 superminis e, finalmente, nas classes 9000. O MicroVax-I representou uma grande transição dentro da família VAX. Na altura da sua concepção não era ainda possível implementar toda a arquitectura VAX num só chip VLSI (ou até em alguns, poucos, chips VLSI como foi posteriormente feito no VAX 8200/8300). Em vez disso o MicroVAX-I foi a primeira implementação do VAX que moveu grande parte da complexidade do conjunto de instruções VAX para software de emulação, preservando apenas as principais instruções a nível de hardware. Este novo particionamento reduziu a quantidade de microcódigo necessário e foi referenciado como a arquitectura “MicroVAX”. No MicroVAX-I a ALU (Unidade lógica e aritmética) e os registos foram implementados na forma de um chip gate array enquanto o restante controlo da máquina era efectado através de lógica convencional.
Chegou então uma implementação total da arquitectura MicroVAX VLSI (microprocessador) com o chip MicroVAX-II 78032. Esta implementação foi seguida pelos chips CVAX, SOC (“System On Chip”, um chip CVAX único). Rigel, Mariah e NVAX. Os microprocessadores VAX possibilitaram o uso da arquitectura em estações de trabalho mais baratas e posteriormente até suplantaram os modelos VAX de alto desempenho. Este largo espectro de plataformas (das mainframes até às estações de trabalho) usando uma mesma arquitectura era um conceito único na indústria da época.
A arquitectura VAX foi finalmente suplantada pela tecnologia RISC. Em 1989 a DEC introduziu uma série de estações de trabalho baseadas em processadores da MIPS Technologies que corriam Ultrix. Em 1992 a DEC lançou o seu próprio processador RISC, o Alpha (originalmente denominado Alpha AXP), uma arquitectura RISC de 64 bits de alto desempenho capaz de correr OpenVMS.
Em Agosto de 2000 a Compaq anunciou que os modelos VAX remanescentes seriam descontinuados até final desse ano .
Em 2005 todo o fabrico de computadores VAX cessou, mas os sistemas antigos continuaram em uso alargado.
Os emuladores VAX baseados em software continuam disponíveis.

## Curiosidades

A frase, “CVAX — when you care enough to steal the very best" ("СВАКС... Когда вы забатите довольно воровать настоящий лучший"), um trocadilho à volta do conhecido slogan dos cartões Hallmark ), foi escrita num Russo pobre nos microprocessadores CVAX da Digital que foram usados nos MicroVAX 3000 e 6200 . A intenção era enviar uma mensagem especial aos engenheiros soviéticos que tentavam fazer engenharia reversa (reverse engineering) do design dos chips da DEC.
Diz-se que a criação do Windows NT (WNT) descende do VMS como a adição de 1 em todos os caracteres da sigla, da mesma forma que no filme 2001 - Uma Odisseia no Espaço de Stanley Kubrick, cujo computador chamado HAL seria a série anterior da marca IBM, adicionando-se 1 em cada letra.

## Modelos VAX

Estão listados por ordem cronológica (dentro dos possíveis). Os nomes de código usados durante a concepção pela DEC são apresentados em itálico. Os sistemas VAX podem ser classificados, no sentido lato, em sistemas com processadores não VLSI e em sistemas com processadores VLSI sendo o MicroVAX-I um design de transição:

### Sistemas VAX não VLSI

* VAX 11/780 (Star, CPU TTL, Outubro de 1977)
* VAX 11/750 (Comet, implementação mais compacta e com menor desempenho baseada em gate arrays TTL, Outubro de 1980)
* VAX 11/751 (11/750 montado em bastidores para fins industriais)
* VAX 11/730 (Nebula, implementação ainda mais compacta e com menor desempenho, Abril de 1982)
* VAX 11/782 (Atlas, 11/780 com processador duplo)
* VAX 11/784 (VAXimus, Quatro CPUs 11/780 partilhando uma única unidade de memória MA780. Muito raro)
* VAX 11/785 (Superstar, 11/780 mais rápido, Abril de 1984)
* VAX 11/787 (11/785 com processador duplo)
* VAX 11/788 (VISQ)
* VAX 11/725 (LCN, Nebula de baixo custo)
* VAX 8600 (Venus, também chamado 11/790 durante a concepção, CPU com gate array ECL, Outubro de 1984)
* VAX 8650 (Morningstar, também chamado 11/795 durante a concepção, um 8600 mais rápido, último modelo a utilizar placas SBI também usadas pelos modelos VAX 11/78x, último modelo a ter o modo de compatibilidade para o PDP-11. todos os modelos subsequentes da série 8000 usam o VAXBI em vez do SBI)
* VAX 8x00 (Gemini, Recurso de segurança no caso do Scorpio baseado em LSI falhar; Nunca foi comercializado)
* VAX 8500 (Flounder, VAX 8700 com um único processador, tornado mais lento deliberadamente)
* VAX 8530 (Skipjack, VAX 8700 com um único processador, tornado mais lento deliberadamente mas mais rápido que o anterior)
* VAX 8550 (Skipjack, VAX 8800 com um único processador, sem capacidade de expansão)
* VAX 8700 (Nautilus, Nautilus com um único processador. Expansível até um VAX 8800 completo)
* VAX 8800 (Nautilus, Implementação de duplo processador baseado em arrays Macrocell ECL, Janeiro de 1986; Mais tarde conhecido também como VAX 8820N)
* VAX 8810/8820/8830/8840 (Polarstar, uma variante do Nautilus com entre um e quarto processadores e um processador de consola actualizado)
* VAX 8974/8978 (cluster contendo quarto e oito VAX 8810 respectivamente, Janeiro de 1987)
* VAX 9000 (Aridus, arrefecido a ar. Desenhado originalmente para ser arrefecido a água, com o código Aquarius, processador baseado em arrays Macrocell ECL, VAXBI, Outubro de 1989)
** VAX 9000 Modelo 110
** VAX 9000 Modelo 210
** VAX 9000 Modelo 310
** VAX 9000 Modelo 4x0 (x = número de processadores, 1–4)

### Um VAX de transição

* MicroVAX/VAXstation I (Seahorse, Outubro de 1984)

### Sistemas VAX VLSI

* Série MicroVAX (Alguns modelos também comercializados como VAXservers)
** MicroVAX II (Mayflower, Maio de 1985)
** MicroVAX III (MicroVAX com encapsulamento BA23 ou BA123 actualizado com o CPU KA650 CVAX)
** MicroVAX III+ (MicroVAX com encapsulamento BA23 ou BA123 actualizado com o CPU KA655 CVAX
** VAX 4 (MicroVAX com encapsulamento BA23 ou BA123 actualizado com o CPU KA660 CVAX
** MicroVAX 2000 (TeamMate, formato desktop, Fevereiro de 1987)
** MicroVAX 3100 series (formato desktop, 1987 e seguintes)
*** MicroVAX 3100 Modelo 10 (TeamMate II, processador CVAX KA41-A)
*** MicroVAX 3100 Modelo 10e (TeamMate II, processador CVAX+ KA41-D)
*** MicroVAX 3100 Modelo 20 (Modelo 10 num encapsulamento maior)
*** MicroVAX 3100 Modelo 20e (Modelo 20 num encapsulamento maior)
*** MicroVAX 3100 Modelo 30 (Waverley/S, CPU SOC KA45)
*** MicroVAX 3100 Modelo 40 (Modelo 30 num encapsulamento maior)
*** MicroVAX 3100 Modelo 80 (Waverley/M, CPU Mariah KA47)
*** MicroVAX 3100 Modelo 85 (Waverley/M+, CPU NVAX KA55)
*** MicroVAX 3100 Modelo 88 (Waverley/M+, CPU NVAX KA58)
*** MicroVAX 3100 Modelo 90 (Cheetah, CPU NVAX KA50)
*** MicroVAX 3100 Modelo 95 (Cheetah+, CPU NVAX KA51)
*** MicroVAX 3100 Modelo 96 (Cheetah++, CPU NVAX KA56)
*** MicroVAX 3100 Modelo 98 (Cheetah++, CPU NVAX KA59)
** MicroVAX 3300/3400 (Mayfair, usou a placa do CPU KA640)
** MicroVAX 3500/3600 (Mayfair-II, usou a placa do CPU KA650, Setembro de 1987)
** MicroVAX 3800/3900 (Mayfair-III, usou a placa do CPU KA655)
* Série VAXstation
** VAXstation II (configuração em estação de trabalho do MicroVAX II)
** VAXstation II/GPX (Caylith, hardware mais avançado, gráficos a cores de alto desempenho, Dezembro de 1985)
** VAXstation 2000 (VAXstar, configuração em estação de trabalho do MicroVAX 2000)
** Série VAXstation 3100
*** VAXstation 3100 Modelo 30 (PVAX, CPU CVAX KA42-A)
*** VAXstation 3100 Modelo 38 (PVAX rev#7, CPU CVAX KA42-B)
*** VAXstation 3100 Modelo 40 (Modelo 30 num encapsulamento maior)
*** VAXstation 3100 Modelo 48 (Modelo 38 num encapsulamento maior)
*** VAXstation 3100 Modelo 76 (RigelMAX, CPU Rigel KA43-A)
*** VT1300 (X terminal; essencialmente um modelo sem discos do VAXstation 3100 Modelo 30)
** VAXstation 3200/3500 (Mayfair/GPX, CPU CVAX KA650)
** VAXstation 3520/3540 (Firefox, dois a quarto processadores CVAX KA60)
** VAXstation 4000 (Barramento TURBOchannel)
*** VAXstation 4000/VLC ou Modelo 30 (PVAX2/VLC, CPU SOC ("System On Chip")KA48, caixa estilo slim pizza, que aceitava módulos de 72 pins de SIMM com paridade)
*** VAXstation 4000 Model 60 (PMariah, CPU Mariah KA46)
*** VAXstation 4000 Model 90 (Cougar, KA49-A)
*** VAXstation 4000 Model 90A (Cougar+, CPU NVAX KA49-A)
*** VAXstation 4000 Model 96 (Cougar++, CPU NVAX KA49-C)
** VAXstation 8000 (Lynx, estação de trabalho 3D de alto desempenho baseada no VAX 8200, muito raro)
* SérieVAX 4000 (Caiu a denominação MicroVAX):
** VAX 4000 Modelo 50 (VAXbrick, Processador NVAX KA600, possível upgrade do CPU até MicroVAX 3x00 ou VAX 4000-200)
** VAX 4000 Modelo 100/100A (Cheetah-Q, Processador NVAX KA52)
** VAX 4000 Modelo 105A (Cheetah-Q+, Processador NVAX KA53 mais rápido)
** VAX 4000 Modelo 106A/108 (Cheetah-Q++, Processador NVAX KA54/KA57 mais rápido)
** VAX 4000 Modelo 200 (Spitfire, Processador SOC KA660)
** VAX 4000 Modelo 300 (Pele, processador Rigel KA670 de 1.5 μm com chipset CMOS, meados de 1989)
** VAX 4000 Modelo 400 (Omega, Processador NVAX KA675)
** VAX 4000 Modelo 500/500A (Omega/N, Processador NVAX KA680/KA681)
** VAX 4000 Model 505A/600/600A (Omega/N+, Processador NVAX KA690/KA691)
** VAX 4000 Model 700A (Legacy, Processador NVAX KA692)
** VAX 4000 Model 705A (Legacy+, Processador NVAX KA694)
* VAX 8200 e VAX 8300 (Scorpio com processador único e duplo respectivamente, placa VAXBI, Janeiro de 1986)
* VAX 8250 e VAX 8350 (Scorpios mais rápidos)
* Série VAX 6000 (x = número de processadores, máximo de 6 para a série 600):
** VAX 6000 Modelo 2x0 ou série VAX 62x0 (Calypso, usou chipset CVAX, Abril de 1988)
** VAX 6000 Modelo 3x0 ou série VAX 63x0 (Hyperion, processador CVAX+ de 1.5 μm com chipset CMOS, Janeiro de 1989)
** VAX 6000 Modelo 4x0 ou série VAX 64x0 (Calypso/XRP, chipset CMOS Rigel de 1.5 μm, meados de 1989)
** VAX 6000 Modelo 5x0 ou série VAX 65x0 (Calypso/XMP, chipset CMOS Mariah de 1.0 μm, Outubro de 1990)
** VAX 6000 Modelo 6x0 ou série VAX 66x0 (Neptune, chipset CMOS NVAX de 0.75 μm, Novembro de 1991)
** VAX 6333 (cluster pré-embalado da série VAX 6000 Modelo 300)
* Série VAX 7000:
** VAX 7000 Modelo 6x0 (Laser/Neon, até seis processadores NVAX+, com possibilidade de upgrade até aos processadores de 64 bits Alpha AXP (ie. a configuração DEC 7000 AXP), Julho de 1992)
** VAX 7000 Modelo 7x0 (Laser/Krypton, processador(es) NVAX5)
** VAX 7000 Modelo 8x0 (Laser/Krypton+, processador(es) NVAX5 mais rápidos)
* VAX 10000 Modelo 6x0 (Blazer, similar ao VAX 7000 Modelo 6x0)
* Série VAXft com tolerância de falhas (fault-tolerant):
** VAXft 3000 Model 310 (Cirrus, CPUs CVAX+, 2 processadores, sistema com tolerância de falhas lock-stepped, Fevereiro de 1990)
** VAXft Model 110 (Cirrus de menor custo e mais lento)
** VAXft Model 410/610/612 (Cirrus II, CPUs SOC)
** VAXft Model 810 (Jetstream, CPUs NVAX+)
* VAX XXXX (BVAX, VAX de alto desempenho; nunca foi comercializado)