Ordinateur numérique de lancement de véhicule - Launch Vehicle Digital Computer
Le Launch Vehicle Digital Computer ( LVDC ) était un ordinateur qui fournissait le pilote automatique de la fusée Saturn V du lancement à l' insertion en orbite terrestre . Conçu et fabriqué par l'Electronics Systems Center d' IBM à Owego, New York, c'était l'un des composants majeurs de l' Instrument Unit , équipant l' étage S-IVB des fusées Saturn V et Saturn IB . Le LVDC a également pris en charge la vérification avant et après le lancement du matériel Saturn. Il a été utilisé en conjonction avec l' adaptateur de données du véhicule de lancement (LVDA) qui a effectué le conditionnement du signal des entrées du capteur à l'ordinateur du véhicule de lancement.
Matériel
Le LVDC était capable d'exécuter 12190 instructions par seconde . À titre de comparaison, un microprocesseur de l'ère 2012 peut exécuter 4 instructions par cycle à 3 GHz, atteignant 12 milliards d'instructions par seconde, un million de fois plus rapidement.
Son horloge principale fonctionnait à 2,048 MHz, mais les opérations étaient effectuées en série par bits, avec 4 cycles requis pour traiter chaque bit, 14 bits par phase d'instruction et 3 phases par instruction, pour un temps de cycle d'instruction de base de 82 s (168 cycles d'horloge ) pour un simple ajout. Quelques instructions (telles que multiplier ou diviser) ont nécessité plusieurs multiples du cycle d'instructions de base pour s'exécuter.
La mémoire était sous la forme de syllabes de 13 bits , chacune avec un 14e bit de parité. Les instructions avaient une taille d'une syllabe, tandis que les mots de données avaient deux syllabes (26 bits). La mémoire principale était un noyau magnétique à accès aléatoire , sous la forme de modules de mémoire de 4 096 mots. Jusqu'à 8 modules fournissaient un maximum de 32 768 mots de mémoire. Des lignes à retard à ultrasons fournissaient un stockage temporaire.
Pour plus de fiabilité, le LVDC a utilisé une logique à triple redondance et un système de vote. L'ordinateur comprenait trois systèmes logiques identiques. Chaque système logique a été divisé en un pipeline à sept étages . À chaque étape du pipeline, un système de vote prendrait un vote majoritaire sur les résultats, le résultat le plus populaire étant transmis à l'étape suivante dans tous les pipelines. Cela signifiait que, pour chacun des sept étages, un module de l'un des trois pipelines pouvait tomber en panne et que le LVDC produirait toujours les résultats corrects. Le résultat était une fiabilité estimée à 99,6 % sur 250 heures de fonctionnement, ce qui était bien plus que les quelques heures requises pour une mission Apollo.
Avec quatre modules de mémoire, donnant une capacité totale de 16 384 mots, l'ordinateur pesait 72,5 livres (32,9 kg), mesurait 29,5 x 12,5 x 10,5 pouces (750 mm × 320 mm × 270 mm) et consommait 137 W.
Architecture logicielle et algorithmes
Les mots d'instruction LVDC ont été divisés en un champ d'opcode de 4 bits (bits les moins significatifs) et un champ d'adresse d'opérande de 9 bits (bits les plus significatifs). Cela lui laissait seize valeurs d'opcode possibles lorsqu'il y avait dix-huit instructions différentes : par conséquent, trois des instructions utilisaient la même valeur d'opcode et utilisaient deux bits de la valeur d'adresse pour déterminer quelle instruction était exécutée.
La mémoire a été divisée en "secteurs" de 256 mots. 8 bits de l'adresse spécifiée un mot dans un secteur, et le 9ème bit sélectionné entre le "secteur courant" sélectionnable par logiciel ou un secteur global appelé "mémoire résiduelle".
Les dix-huit instructions LVDC possibles étaient :
Instruction | Code opération | Une fonction |
---|---|---|
HOP |
0000 | Transférer l'exécution vers une autre partie du programme. Contrairement à une instruction 'saut' moderne, l'adresse de l'opérande ne spécifiait pas réellement l'adresse vers laquelle sauter, mais pointait vers une 'constante HOP' de 26 bits qui spécifiait l'adresse. |
MPY |
0001 | Multipliez le contenu de l'emplacement mémoire spécifié dans l'adresse de l'opérande par le contenu du registre de l'accumulateur. Cette instruction a pris quatre cycles d'instructions pour se terminer, mais n'a pas bloqué l'exécution du programme, de sorte que d'autres instructions ont pu s'exécuter avant la fin. Le résultat a été laissé dans un registre connu. |
SUB |
0010 | Soustraire le contenu de l'emplacement mémoire spécifié dans l'adresse de l'opérande du registre de l'accumulateur. |
DIV |
0011 | Divisez le contenu de l'emplacement mémoire spécifié dans l'adresse d'opérande dans l'accumulateur. Cette instruction a nécessité huit cycles d'instructions, mais n'a pas bloqué l'exécution du programme. |
TNZ |
0100 | Transfère l'exécution de l'instruction à l'adresse d'opérande spécifiée si le contenu de l'accumulateur n'est pas nul. |
MPH |
0101 | Multipliez le contenu de l'emplacement mémoire spécifié dans l'adresse de l'opérande par le contenu du registre de l'accumulateur. Contrairement à MPY, cette instruction arrête l'exécution jusqu'à ce que la multiplication soit terminée. |
AND |
0110 | ET logiquement le contenu de l'accumulateur avec le contenu de l'emplacement mémoire spécifié dans l'adresse de l'opérande. |
ADD |
0111 | Ajoutez le contenu de l'emplacement mémoire spécifié dans l'adresse de l'opérande au registre de l'accumulateur. |
TRA |
1000 | Transférez l'exécution vers l'emplacement mémoire spécifié dans l'adresse de l'opérande. L'adresse se trouve dans le secteur d'instruction en cours ; le 9ème bit (résiduel) de l'opérande sélectionne la syllabe. |
XOR |
1001 | XOR logiquement le contenu de l'accumulateur avec le contenu de l'emplacement mémoire spécifié dans l'adresse de l'opérande. |
PIO |
1010 | Entrée ou sortie de processus : communiquez avec le matériel externe via l'adaptateur de données. "Les bits d'adresse de poids faible, A1 et A2, déterminent si l'opération est une instruction d'entrée ou de sortie. Les bits d'adresse de poids fort, A8 et A9, déterminent si le contenu des données est transféré depuis la mémoire principale, la mémoire résiduelle ou l'accumulateur." |
STO |
1011 | Stockez le contenu du registre de l'accumulateur dans l'emplacement mémoire spécifié dans l'adresse de l'opérande. |
TMI |
1100 | Transférer l'exécution à l'adresse d'opérande spécifiée si le contenu de l'accumulateur est négatif. |
RSU |
1101 | Le contenu de l'accumulateur est soustrait du contenu de l'emplacement mémoire spécifié dans l'adresse d'opérande, et le résultat est laissé dans l'accumulateur. |
SHR |
01 1110 | Le contenu de l'accumulateur est décalé d'un maximum de deux bits, en fonction d'une valeur dans l'adresse de l'opérande. Cette instruction peut également effacer l'accumulateur si les bits d'adresse de l'opérande sont à zéro. |
CDS |
x0 1110 | Changer de secteur de données. |
EXM |
11 1110 | Transférez l'exécution à l'une des huit adresses dépendant de l'adresse de l'opérande, qui spécifie également les modifications apportées à l'adresse de l'opérande de l'instruction suivante avant son exécution. |
CLA |
1111 | (Effacer l'accumulateur et) charger la mémoire. |
Programmes et algorithmes
En vol, le LVDC a effectué une boucle de calcul majeure toutes les 2 secondes pour le guidage du véhicule, et une boucle mineure 25 fois par seconde pour le contrôle d'attitude. La boucle mineure est déclenchée par une interruption dédiée toutes les 40 ms et prend 18 ms pour s'exécuter.
Contrairement au logiciel Apollo Guidance Computer , le logiciel qui fonctionnait sur le LVDC semble avoir disparu. Bien que le matériel soit assez simple à émuler, les seules copies restantes du logiciel se trouvent probablement dans la mémoire centrale des LVDC de l' unité d' instruments des fusées Saturn V restantes exposées sur les sites de la NASA.
Interruptions
Le LVDC pourrait également répondre à un certain nombre d'interruptions déclenchées par des événements externes.
Pour un Saturn IB, ces interruptions étaient :
Bit de mot de données LVDC | Une fonction |
---|---|
1 |
Interne à LVDC |
2 |
De rechange |
3 |
Erreur de mémoire simultanée |
4 |
Interruption du décodeur de commande |
5 |
Publication de référence d'orientation |
6 |
Initiation manuelle de la coupure du moteur S-IVB |
7 |
Coupure des moteurs hors-bord S-IB |
8 |
Sortie moteur S-IVB |
9 |
Interruption RCA-110A |
10 |
Capteurs de niveau de carburant S-IB à sec |
11 |
Interruption RCA-110A |
Pour une Saturn V, ces interruptions étaient :
Bit de mot de données LVDC | Une fonction |
---|---|
1 | Interruption de boucle mineure |
2 | Interrupteur de sélection de commutateur |
3 | Interruption de l'unité d'interface informatique |
4 | Perte de contrôle temporaire |
5 | Interruption du récepteur de commande |
6 | Publication de référence d'orientation |
7 | Épuisement du propulseur S-II/coupure du moteur |
8 | Épuisement du propulseur S-IC/coupure du moteur |
9 | Sortie moteur S-IVB |
dix | Recyclage du programme (interruption RCA-110A) |
11 | Moteur S-IC Inboard Out |
12 | Commande LVDA/RCA-110A Interruption |
Construction
Le LVDC mesurait environ 30 pouces (760 mm) de large, 12,5 pouces (320 mm) de haut et 10,5 pouces (270 mm) de profondeur et pesait 80 livres (36 kg). Le châssis était en alliage de magnésium-lithium LA 141, choisi pour sa rigidité élevée, son faible poids et ses bonnes caractéristiques d'amortissement des vibrations. Le châssis était divisé en une matrice 3 x 5 de cellules séparées par des parois à travers lesquelles du liquide de refroidissement circulait pour éliminer les 138 watts de puissance dissipée par l'ordinateur. Des fentes dans les parois cellulaires contenaient des "pages" d'électronique. La décision de refroidir le LVDC en faisant circuler du liquide de refroidissement à travers les parois de l'ordinateur était unique à l'époque et a permis au LVDC et au LVDA (refroidis partiellement à l'aide de cette technique) d'être placés dans un emplacement de plaque froide en raison de l'emballage tridimensionnel. Les plaques froides utilisées pour refroidir la plupart des équipements de l' unité d'instruments étaient inefficaces du point de vue de l'espace, bien que polyvalentes pour la variété d'équipements utilisés. L'alliage LA 141 avait été utilisé par IBM sur le clavier Gemini, les unités de lecture et l'ordinateur en petites quantités et le plus grand cadre du LVDC a été produit à partir des plus grandes billettes de LA 141 coulées à l'époque et ensuite usiné CNC dans le cadre .
Une page se composait de deux cartes de 2,5 à 3 pouces (64 à 76 mm) dos à dos et d'un cadre en magnésium-lithium pour conduire la chaleur vers le châssis. Les cartes à 12 couches contenaient des couches de signal, d'alimentation et de masse et les connexions entre les couches étaient réalisées par des trous métallisés.
Jusqu'à 35 carrés d'alumine de 0,3 x 0,3 x 0,07 pouces (7,6 mm × 7,6 mm × 1,8 mm) peuvent être soudés par refusion sur une carte. Ces carrés d'alumine avaient des conducteurs sérigraphiés sur la face supérieure et des résistances sérigraphiées sur la face inférieure. Des puces semi-conductrices de 0,025 x 0,025 pouces (0,64 mm × 0,64 mm), chacune contenant un transistor ou deux diodes, ont été soudées par refusion sur la face supérieure. Le module complet a été appelé un dispositif logique d'unité. Le dispositif logique d'unité (ULD) était une version plus petite du module Solid Logic Technology (SLT) d'IBM , mais avec des connexions à clip. Des billes de cuivre ont été utilisées pour les contacts entre les puces et les motifs conducteurs.
La hiérarchie de la structure électronique est indiquée dans le tableau suivant.
NIVEAU | COMPOSANT | MATÉRIEL | TERME IBM |
---|---|---|---|
1 | Transistor, diode | 0,025 x 0,025 pouces (0,64 mm × 0,64 mm) de silicium | - |
2 | Jusqu'à 14 transistors, diodes et résistances | 0,3 x 0,3 x 0,07 pouces (7,6 mm × 7,6 mm × 1,8 mm) alumine | ULD (Unité Logique Dispositif) |
3 | Jusqu'à 35 ULD | Carte de circuit imprimé de 2,5 x 3 pouces (64 mm × 76 mm) | MIB (carte d'interconnexion multicouche) |
4 | Deux MIB | Cadre magnésium-lithium | Page |
Galerie
Voir également
- Ordinateur de guidage Apollo
- Système de guidage principal du vaisseau spatial Apollo PGNCS
- Ordinateur de bord du vaisseau spatial Gemini (OBC)
Remarques
Les références
- IBM, Saturn V Launch Vehicle Digital Computer, Volume One: General Description and Theory , 30 novembre 1964
- IBM, Saturn V Guidance Computer, Semiannual Progress Report, 1er avril - 30 septembre 1963 , 31 octobre 1963 ; archiver
- Bellcomm, Inc, Mémoire requise pour l'ordinateur numérique du véhicule de lancement (LVDC) , 25 avril 1967
- Boeing, Saturn V Launch Vehicle Guidance Equations, SA-504 , 15 juillet 1967
- Haeussermann, Walter (juillet 1970). Description et performances du système de navigation, de guidage et de contrôle du lanceur Saturn (PDF) . NASA TN D-5869 .
- NASA Marshall Spaceflight Center, Saturn V Flight Manual SA-503 , 1er novembre 1968
- NASA Marshall Spaceflight Center, Manuel de vol Skylab Saturn IB , 30 septembre 1972
- MM Dickinson, JB Jackson, GC Randa. Centre de guidage spatial IBM, Owego, NY. "Ordinateur numérique de véhicule de lancement de Saturn V et adaptateur de données." Actes de la Fall Joint Computer Conference, 1964, pages 501-516.
- S. Bonis, R. Jackson et B. Pagnani. Centre de guidage spatial IBM, Owego, NY. "Emballage mécanique et électronique pour un ordinateur de guidage de véhicule de lancement." International Electronic Circuit Packaging Symposium 21-24 août 1964. Pages 226-241.
- IBM, Apollo Study Report, Volume 2. IBM Space Guidance Center, Owego, NY, 1er octobre 1963. 133 pages. Également disponible sur Virtual AGC (recherchez 63-928-130 ).
- NASA MSFC, Astrionics System Handbook Saturn Launch Vehicles NASA Marshall Space Flight Center, 1er novembre 1968. MSFC n° IV-4-401-1. IBM n° 68-966-0002. 419 pages. Le chapitre 15 concerne le LVDC et l'adaptateur de données de véhicule de lancement.