Computador digital do veículo de lançamento - Launch Vehicle Digital Computer
O Launch Vehicle Digital Computer ( LVDC ) era um computador que fornecia o piloto automático para o foguete Saturn V desde o lançamento até a inserção na órbita terrestre . Projetado e fabricado pelo Centro de Sistemas Eletrônicos da IBM em Owego, Nova York, foi um dos principais componentes da Unidade de Instrumento , encaixado no estágio S-IVB dos foguetes Saturn V e Saturn IB . O LVDC também suportava verificação pré e pós-lançamento do hardware do Saturn. Foi usado em conjunto com o Adaptador de Dados do Veículo de Lançamento (LVDA), que realizou o condicionamento do sinal das entradas do sensor ao computador do veículo de lançamento.
Hardware
O LVDC era capaz de executar 12190 instruções por segundo . Para efeito de comparação, um microprocessador da era 2012 pode executar 4 instruções por ciclo a 3 GHz, atingindo 12 bilhões de instruções por segundo, um milhão de vezes mais rápido.
Seu clock mestre funcionou a 2.048 MHz, mas as operações foram realizadas bit-serialmente, com 4 ciclos necessários para processar cada bit, 14 bits por fase de instrução e 3 fases por instrução, para um tempo de ciclo de instrução básico de 82 μs (168 ciclos de clock ) para uma adição simples. Algumas instruções (como multiplicação ou divisão) levam vários múltiplos do ciclo de instrução básico para serem executadas.
A memória estava na forma de sílabas de 13 bits , cada uma com um 14º bit de paridade. As instruções tinham o tamanho de uma sílaba, enquanto as palavras de dados eram duas sílabas (26 bits). A memória principal era um núcleo magnético de acesso aleatório , na forma de módulos de memória de 4.096 palavras. Até 8 módulos forneceram um máximo de 32.768 palavras de memória. Linhas de atraso ultrassônicas fornecem armazenamento temporário.
Para confiabilidade, o LVDC usou lógica tripla redundante e um sistema de votação. O computador incluía três sistemas lógicos idênticos. Cada sistema lógico foi dividido em um pipeline de sete estágios . Em cada estágio do pipeline, um sistema de votação teria uma votação majoritária sobre os resultados, com o resultado mais popular sendo passado para o próximo estágio em todos os pipelines. Isso significava que, para cada um dos sete estágios, um módulo em qualquer um dos três pipelines poderia falhar e o LVDC ainda produziria os resultados corretos. O resultado foi uma confiabilidade estimada de 99,6% ao longo de 250 horas de operação, que era muito mais do que as poucas horas necessárias para uma missão Apollo.
Com quatro módulos de memória, dando uma capacidade total de 16.384 palavras, o computador pesava 72,5 lb (32,9 kg), tinha 29,5 por 12,5 por 10,5 polegadas (750 mm × 320 mm × 270 mm) de tamanho e consumia 137W.
Arquitetura e algoritmos de software
As palavras de instrução LVDC foram divididas em um campo de opcode de 4 bits (bits menos significativos) e um campo de endereço de operando de 9 bits (bits mais significativos). Isso o deixou com dezesseis valores de opcode possíveis quando havia dezoito instruções diferentes: conseqüentemente, três das instruções usaram o mesmo valor de opcode e usaram dois bits do valor de endereço para determinar qual instrução foi executada.
A memória foi dividida em "setores" de 256 palavras. 8 bits do endereço especificavam uma palavra dentro de um setor, e o 9º bit era selecionado entre o "setor atual" selecionável por software ou um setor global denominado "memória residual".
As dezoito instruções LVDC possíveis foram:
Instrução | Código de operação | Função |
---|---|---|
HOP |
0000 | Transfira a execução para uma parte diferente do programa. Ao contrário de uma instrução de 'salto' moderna, o endereço do operando não especificava realmente o endereço para o qual saltar, mas apontava para uma 'constante HOP' de 26 bits que especificava o endereço. |
MPY |
0001 | Multiplique o conteúdo da localização da memória especificada no endereço do operando pelo conteúdo do registro do acumulador. Esta instrução levou quatro ciclos de instrução para ser concluída, mas não parava a execução do programa, portanto, outras instruções podiam ser executadas antes de terminar. O resultado foi deixado em um registro conhecido. |
SUB |
0010 | Subtraia o conteúdo da localização da memória especificada no endereço do operando do registro do acumulador. |
DIV |
0011 | Divida o conteúdo da localização da memória especificada no endereço do operando no acumulador. Essa instrução levou oito ciclos de instrução para ser concluída, mas não interrompeu a execução do programa. |
TNZ |
0100 | Transfere a execução da instrução para o endereço do operando especificado se o conteúdo do acumulador não for zero. |
MPH |
0101 | Multiplique o conteúdo da localização da memória especificada no endereço do operando pelo conteúdo do registro do acumulador. Ao contrário do MPY, esta instrução interrompe a execução até que a multiplicação seja concluída. |
AND |
0110 | Logicamente, AND o conteúdo do acumulador com o conteúdo da localização da memória especificada no endereço do operando. |
ADD |
0111 | Adicione o conteúdo da localização da memória especificada no endereço do operando ao registro do acumulador. |
TRA |
1000 | Transfira a execução para o local da memória especificado no endereço do operando. O endereço está dentro do setor de instrução atual; o nono bit (residual) do operando seleciona a sílaba. |
XOR |
1001 | Logicamente XOR o conteúdo do acumulador com o conteúdo da localização da memória especificada no endereço do operando. |
PIO |
1010 | Entrada ou saída do processo: comunique-se com o hardware externo por meio do adaptador de dados. "Os bits de endereço de ordem inferior, A1 e A2, determinam se a operação é uma instrução de entrada ou saída. Os bits de endereço de ordem superior, A8 e A9, determinam se o conteúdo dos dados é transferido da memória principal, memória residual ou acumulador." |
STO |
1011 | Armazene o conteúdo do registro do acumulador na localização da memória especificada no endereço do operando. |
TMI |
1100 | Transfira a execução para o endereço do operando especificado se o conteúdo do acumulador for negativo. |
RSU |
1101 | O conteúdo do acumulador é subtraído do conteúdo da localização da memória especificada no endereço do operando e o resultado é deixado no acumulador. |
SHR |
01 1110 | O conteúdo do acumulador é deslocado em até dois bits, com base em um valor no endereço do operando. Esta instrução também pode limpar o acumulador se os bits de endereço do operando forem zero. |
CDS |
x0 1110 | Mude o setor de dados. |
EXM |
11 1110 | Transfira a execução para um dos oito endereços dependentes do endereço do operando, que também especifica modificações no endereço do operando da próxima instrução antes de ser executada. |
CLA |
1111 | (Limpe o acumulador e) carregue a memória. |
Programas e algoritmos
Em vôo, o LVDC executava um ciclo de computação principal a cada 2 segundos para orientação do veículo e um ciclo menor de 25 vezes por segundo para controle de atitude. O loop menor é disparado por uma interrupção dedicada a cada 40 ms e leva 18 ms para ser executado.
Ao contrário do software Apollo Guidance Computer , o software executado no LVDC parece ter desaparecido. Embora o hardware seja bastante simples de emular, as únicas cópias restantes do software estão provavelmente na memória central da Unidade de Instrumento LVDCs dos foguetes Saturn V restantes em exibição nas instalações da NASA.
Interrupções
O LVDC também pode responder a uma série de interrupções acionadas por eventos externos.
Para um Saturn IB, essas interrupções foram:
LVDC Data Word Bit | Função |
---|---|
1 |
Interno para LVDC |
2 |
Poupar |
3 |
Erro de memória simultânea |
4 |
Interrupção do decodificador de comando |
5 |
Liberação de Referência de Orientação |
6 |
Iniciação manual do corte do motor S-IVB |
7 |
Corte dos motores de popa S-IB |
8 |
S-IVB Motor Fora |
9 |
Interrupção RCA-110A |
10 |
Sensores de baixo nível de combustível S-IB secos |
11 |
Interrupção RCA-110A |
Para um Saturno V, essas interrupções eram:
LVDC Data Word Bit | Função |
---|---|
1 | Interrupção de Loop Menor |
2 | Interrupção do seletor de chave |
3 | Interrupção da unidade de interface do computador |
4 | Perda Temporária de Controle |
5 | Interrupção do receptor de comando |
6 | Liberação de Referência de Orientação |
7 | Esgotamento do Propelente S-II / Corte do Motor |
8 | Esgotamento do Propelente S-IC / Corte do Motor |
9 | S-IVB Motor Fora |
10 | Programa de reciclagem (interrupção RCA-110A) |
11 | Saída do motor interno S-IC |
12 | Interrupção de Comando LVDA / RCA-110A |
Construção
O LVDC tinha aproximadamente 30 polegadas (760 mm) de largura, 12,5 polegadas (320 mm) de altura e 10,5 polegadas (270 mm) de profundidade e pesava 80 libras (36 kg). O chassi foi feito de liga de magnésio-lítio LA 141, escolhida por sua alta rigidez, baixo peso e boas características de amortecimento de vibrações. O chassi foi dividido em uma matriz 3 x 5 de células separadas por paredes através das quais o refrigerante circulava para remover os 138 watts de potência dissipados pelo computador. As fendas nas paredes das células continham "páginas" de eletrônicos. A decisão de resfriar o LVDC circulando o refrigerante pelas paredes do computador foi única na época e permitiu que o LVDC e o LVDA (parcialmente resfriado usando esta técnica) fossem colocados em um local de placa fria devido à embalagem tridimensional. As placas frias usadas para resfriar a maioria dos equipamentos na Unidade de Instrumento eram ineficientes do ponto de vista espacial, embora versáteis para a variedade de equipamentos usados. A liga LA 141 foi usada pela IBM no teclado Gemini, unidades de leitura e computador em pequenas quantidades e a estrutura maior do LVDC foi produzida a partir dos maiores tarugos de LA 141 fundidos na época e posteriormente usinados CNC na estrutura .
Uma página consistia em duas placas de 2,5–3 polegadas (64–76 mm) de costas com costas e uma moldura de magnésio-lítio para conduzir o calor ao chassi. As placas de 12 camadas continham camadas de sinal, energia e solo, e as conexões entre as camadas eram feitas por orifícios de passagem.
Até 35 quadrados de alumina de 0,3 por 0,3 por 0,07 polegadas (7,6 mm x 7,6 mm x 1,8 mm) podem ser soldados por refluxo a uma placa. Esses quadrados de alumina tinham condutores serigrafados na parte superior e resistores serigrafados na parte inferior. Chips semicondutores de 0,025 por 0,025 polegadas (0,64 mm x 0,64 mm), cada um contendo um transistor ou dois diodos, foram soldados por refluxo no lado superior. O módulo completo foi chamado de dispositivo lógico de unidade. O dispositivo lógico de unidade (ULD) era uma versão menor do módulo Solid Logic Technology (SLT) da IBM , mas com conexões de clipe. Bolas de cobre foram usadas para contatos entre os chips e os padrões condutores.
A hierarquia da estrutura eletrônica é mostrada na tabela a seguir.
NÍVEL | COMPONENTE | MATERIAL | IBM TERM |
---|---|---|---|
1 | Transistor, diodo | 0,025 por 0,025 polegadas (0,64 mm × 0,64 mm) de silício | - |
2 | Até 14 transistores, diodos e resistores | Alumina de 0,3 por 0,3 por 0,07 polegadas (7,6 mm × 7,6 mm × 1,8 mm) | ULD (dispositivo lógico de unidade) |
3 | Até 35 ULDs | Placa de circuito impresso de 2,5 por 3 polegadas (64 mm × 76 mm) | MIB (placa de interconexão multicamadas) |
4 | Dois MIBs | Estrutura de magnésio-lítio | Página |
Galeria
Veja também
- Computador de orientação Apollo
- Sistema de orientação de nave espacial primária Apollo PGNCS
- Computador de bordo da nave espacial Gemini (OBC)
Notas
Referências
- IBM, Saturn V Launch Vehicle Digital Computer, Volume One: General Description and Theory , 30 de novembro de 1964
- IBM, Saturn V Guidance Computer, Relatório de Progresso Semestral, 1 de abril - 30 de setembro de 1963 , 31 de outubro de 1963; arquivo
- Bellcomm, Inc, Memory Requirements for the Launch Vehicle Digital Computer (LVDC) , 25 de abril de 1967
- Boeing, Equações de orientação do veículo de lançamento Saturn V, SA-504 , 15 de julho de 1967
- Haeussermann, Walter (julho de 1970). Descrição e desempenho do sistema de navegação, orientação e controle do veículo lançador de Saturno (PDF) . NASA TN D-5869 .
- NASA Marshall Spaceflight Center, Saturn V Flight Manual SA-503 , 1 de novembro de 1968
- NASA Marshall Spaceflight Center, Skylab Saturn IB Flight Manual , 30 de setembro de 1972
- MM Dickinson, JB Jackson, GC Randa. IBM Space Guidance Center, Owego, NY. "Computador digital e adaptador de dados do veículo de lançamento Saturn V". Proceedings of the Fall Joint Computer Conference, 1964, páginas 501-516.
- S. Bonis, R. Jackson e B. Pagnani. IBM Space Guidance Center, Owego, NY. "Embalagem mecânica e eletrônica para um computador de orientação de veículo lançador." Simpósio Internacional de Embalagem de Circuito Eletrônico 21–24 de agosto de 1964. Páginas 226-241.
- IBM, Apollo Study Report, Volume 2. IBM Space Guidance Center, Owego, NY, 1 de outubro de 1963. 133 páginas. Também disponível no Virtual AGC (pesquise por 63-928-130 ).
- NASA MSFC, Astrionics System Handbook Saturn Launch Vehicles NASA Marshall Space Flight Center, 1 de novembro de 1968. MSFC No. IV-4-401-1. IBM No. 68-966-0002. 419 páginas. O Capítulo 15 é sobre o LVDC e o Adaptador de Dados do Veículo de Lançamento.