# IBM System/4 Pi

L'IBM System/4 Pi és una família d'ordinadors aviònics utilitzats, en diverses versions, al caça F-15 Eagle, E-3 Sentry AWACS, Harpoon Missile, Skylab de la NASA, MOL i el transbordador espacial, així com altres aeronaus. El desenvolupament va començar el 1965, els lliuraments el 1967. Van ser desenvolupats per la Divisió de Sistemes Federals d'IBM i produïts pel Centre de Sistemes Electrònics d'Owego, Nova York.
Descendeix de l'enfocament utilitzat a la família d'ordinadors mainframe System/360, en què els membres de la família estaven destinats a ser utilitzats en moltes aplicacions d'usuari variades. (Això s'expressa en el nom: hi ha 4 π esteradians en una esfera, igual que hi ha 360 graus en un cercle). Anteriorment, s'havien dissenyat ordinadors personalitzats per a cada aplicació aeroespacial, cosa que era extremadament costosa.

## Els primers models

El 1967, la família System/4 Pi constava d'aquests models bàsics:
| Model | ISA (instruccions) | Rendiment (IPS) | Pes (lliures) |
| TC | 54 | 48.500 | 17.3 lliures (7.8 kg) |
| CP | 36 | 91.000 | 80 lliures (36 kg) |
| CP-2 | 36 | 125.000 | 47 lliures (21 kg) |
| EP | 70 | 190.000 | 75 lliures (34 kg) |
* Model TC (Tactical Computer) - Un ordinador de la mida d'un maletí per a aplicacions com ara guia de míssils, helicòpters, satèl·lits i submarins.
* Model CP (Processador personalitzat/Rendiment de costos) - Un processador de rang intermedi per a aplicacions com ara navegació d'avions, lliurament d'armes, correlació de radar i sistemes mòbils de camp de batalla.
** Model CP-2 (Rendiment de costos - Model 2)
* Model EP (Extended Performance) - Un processador de dades a gran escala per a aplicacions que requereixen processament en temps real de grans volums de dades, com ara naus espacials tripulades, sistemes d'avís i control aerotransportats i sistemes de comandament i control. El model EP va utilitzar un subconjunt d'instruccions d'IBM System/360 (Model 44) - els programes d'usuari es podrien comprovar al System/360
L'estació espacial Skylab va emprar el model TC-1, que tenia una longitud de paraula de 16 bits i 16.384 paraules de memòria amb un conjunt d'entrada/sortida personalitzat. Skylab disposava de dos ordinadors TC-1 redundants: un principal (energitzat) i un de còpia de seguretat (no energitzat). Hi hauria un canvi automàtic (de l'ordre d'un segon) a la còpia de seguretat en cas d'una fallada crítica de el primer. Un total de dotze van ser lliurats a la NASA el 1972. Dos van ser volats a Skylab el 1973-1974; els altres s'utilitzaven per a simuladors de proves i missions. L'esforç de gestió del programari va ser liderat per Harlan Mills i Fred Brooks. El procés de desenvolupament de programari de vol Skylab va incorporar moltes lliçons apreses durant el projecte IBM System/360 Operating System, tal com es descriu al llibre de Brooks de 1975 The Mythical Man-Month.

## Processador avançat

L' AP-101, sent la part superior de la línia de la gamma System/4 Pi, comparteix la seva arquitectura general amb els mainframes System/360. És una versió reempaquetada de l'IBM Advanced Processor-1 (AP-1) utilitzat en el caça F-15. Els prototips AP-1 es van lliurar el 1971 i l'AP-101 el 1973. Té 16 registres de 32 bits. Originalment només estaven disponibles 16 bits per a la memòria d'adreçament; més tard això es va ampliar amb quatre bits del registre de paraules d'estat del programa, permetent un rang de memòria directament adreçable d'1 M ubicacions. Aquest ordinador aviònic s'ha utilitzat al transbordador espacial nord-americà, als bombarders B-52 i B-1B, i altres avions. Va romandre en servei al transbordador espacial perquè funcionava, estava certificat de vol i desenvolupar un nou sistema hauria estat massa car.
Hi havia diverses variants de l'AP101. El sistema d'aviació ofensiva, una actualització d'adaptació del B-52, conté dos ordinadors AP-101C. Els prototips AP-101C es van lliurar el 1978. El B-1B empra una xarxa de vuit ordinadors model AP-101F. El transbordador espacial va utilitzar dues variants de l'AP-101: l'anterior AP-101B i l'AP-101S actualitzat. L'AP-101B es va utilitzar per a una sèrie de proves d'aproximació i aterratge el 1977. La primera ascensió a l'òrbita va ser l'any 1981. L'AP-101S es va llançar per primera vegada l'any 2000.
Cada AP-101 del Shuttle estava acoblat amb un processador d'entrada-sortida (IOP), format per un controlador de seqüència mestra (MSC) i 24 elements de control de bus (BCE). L'MSC i els BCE van executar programes des del mateix sistema de memòria que la CPU principal, descarregant el control del sistema de bus de dades sèrie del Shuttle des de la CPU. L'AP-101B utilitzat originalment al transbordador espacial tenia memòria de nucli magnètic. L'actualització de l'AP-101S a principis de la dècada de 1990 va substituir el nucli per memòria de semiconductors i va reduir la mida de dos a un xassís. Es va augmentar amb la tecnologia de la cabina de vidre. Ambdues variants utilitzen un microprograma per definir l'arquitectura del conjunt d'instruccions. Les primeres variants de l'AP-101 utilitzaven l'arquitectura del processador de línia mitjana multipropòsit (MMP) d'IBM. El microprograma AP-101B va implementar MMP amb 154 instruccions. L'AP101S podria funcionar amb un MMP compatible enrere amb 158 instruccions o l'arquitectura MIL-STD-1750A amb 243 instruccions. Es basava en l'AP-101F utilitzat al B-1B. L'AP-101S/G era un processador provisional. El rendiment de l'AP-101B va ser de 0,420 MIPS, mentre que l'AP-101S va ser de 1,27 MIPS. James E. Tomayko, que va ser contractat per la NASA per escriure una història dels ordinadors en els vols espacials, ha dit:
"Estava disponible bàsicament en la seva forma actual quan la NASA estava especificant els requisits per als contractes de llançadora als anys 70. Com a tal, representa el primer sistema informàtic de nau espacial tripulada amb maquinari intencionadament darrere de l'estat de l'art".
El transbordador espacial va utilitzar cinc ordinadors AP-101 com a ordinadors de propòsit general (GPC). Quatre funcionaven sincronitzats, per a la redundància, mentre que el cinquè era un programari de còpia de seguretat que executava escrit de manera independent. El programari de guia, navegació i control del Shuttle es va escriure en HAL/S, un llenguatge de programació d'alt nivell especial, mentre que gran part del sistema operatiu i programari d'utilitat de baix nivell es va escriure en llenguatge assemblador. Els AP-101 utilitzats per la Força Aèria dels EUA estan programats majoritàriament a JOVIAL, com el sistema que es troba al bombarder B-1B.
El disseny de la variant AP-102 va començar el 1984. És una arquitectura de conjunt d'instruccions estàndard MIL-STD-1750A. Va ser utilitzat per primera vegada en el caça Stealth F-117A. Va ser actualitzat a l'AP-102A a principis de la dècada de 1990.

## Referències

* ↑ IBM, 1967, p. 1-3 (9).
* ↑ IBM, 1967, p. iv.
* ↑ IBM, 1967, Foreword, p. iii/iv (6).
* ↑ IBM, 1967.
* ↑ Bedford, D. P.; Model TC and CP-2. «Appendix E: SYSTEM 4 Pi COMPUTER CHARACTERISTICS». A: Study of control computers for control moment gyro stability and control systems. Volume I - Engineering, Mar 1967, p. E-1 - E-21 (126-147).
* ↑ IBM, 1967, Section 2: Model TC, pp. 2-1 - 2-13/2-14 (20-32).
* ↑ IBM, 1967, Section 3: Model CP, pp. 3-1 - 3-9/3-10 (33-41).
* ↑ IBM Overview, Model CP, p. 3 (23).
* ↑ IBM Overview, Model CP-2, pp. -2-13 (36-51).
* ↑ IBM, 1967, Section 4: Model EP, pp. 4-1 - 4-13/4-14 (42-54).
* ↑ IBM Overview, Model EP: Summary, p. 2 (56).
* ↑ Jenkins, Dennis. «Advanced Vehicle Automation and Computers Aboard the Shuttle» (en anglès). NASA History Homepage. NASA, 05-04-2001. [Consulta: 27 octubre 2013].
* ↑ Cooper, A. E.; Chow, W. T. IBM Journal of Research and Development, 20, 1976, pàg. 5–19. DOI: 10.1147/rd.201.0005.
* ↑ Rossi, Ben. «The shuttle: NASA's IT legacy» (en anglès). Information Age, 18-07-2011.
* ↑ Stormont, D.P.. «Risk management for the B-1B computer upgrade». A: Proceedings of National Aerospace and Electronics Conference (NAECON'94) (en anglès). 2, 23–27 May 1994, p. 1143–1149. DOI 10.1109/NAECON.1994.332913. ISBN 0-7803-1893-5.