The IBM System/4 Pi is a family of avionics computers used, in various versions, on the F-15 Eagle fighter, E-3 Sentry AWACS, Harpoon Missile, NASA's Skylab, MOL, and the Space Shuttle, as well as other aircraft. Development began in 1965, deliveries in 1967.[1] They were developed by the IBM Federal Systems Division and produced by the Electronics Systems Center in Owego, NY.[2]

The IBM AP-101B CPU and I/O processor (right) and AP-101S (left)

It descends from the approach used in the System/360 mainframe family of computers, in which the members of the family were intended for use in many varied user applications. (This is expressed in the name: there are 4π steradians in a sphere, just as there are 360 degrees in a circle.[3]) Previously, custom computers had been designed for each aerospace application, which was extremely costly.

Early models

edit

In 1967, the System/4 Pi family consisted of these basic models:[4][5]

Specifications[6]
Model ISA
(instructions)
Performance
(IPS)
Weight
(pounds)
TC 54 48,500 17.3 pounds (7.8 kg)
CP 36 91,000 80 pounds (36 kg)
CP-2 36 125,000 47 pounds (21 kg)
EP 70 190,000 75 pounds (34 kg)
  • Model TC (Tactical Computer)[7][8] - A briefcase-size computer for applications such as missile guidance, helicopters, satellites and submarines.
  • Model CP (Customized Processor/Cost Performance)[9][10] - An intermediate-range processor for applications such as aircraft navigation, weapons delivery, radar correlation and mobile battlefield systems.[11]
    • Model CP-2 (Cost Performance - Model 2)[12]
  • Model EP (Extended Performance)[13][14] - A large-scale data processor for applications requiring real-time processing of large volumes of data, such as crewed spacecraft, airborne warning and control systems and command and control systems. Model EP used an instruction subset of IBM System/360[15] (Model 44)[16] - user programs could be checked on System/360

The Skylab space station employed the model TC-1,[17] which had a 16-bit word length and 16,384 words of memory with a custom input/output assembly. Skylab had two, redundant, TC-1 computers: a prime (energized) and a backup (non energized.) There would be an automatic switchover (taking on the order of one second) to the backup in the event of a critical failure of the prime.[18] A total of twelve were delivered to NASA by 1972. Two were flown on Skylab in 1973-1974; the others were used for testing and mission simulators.[19] The software management effort was led by Harlan Mills and Fred Brooks. The Skylab flight software development process incorporated many lessons learned during the IBM System/360 Operating System project, as described in Brooks' 1975 book The Mythical Man-Month.[19]

Advanced Processor

edit

The AP-101, being the top-of-the-line of the System/4 Pi range, shares its general architecture with the System/360 mainframes.[19] It is a repackaged version of the IBM Advanced Processor-1 (AP-1)[20] used in the F-15 fighter.[19] The AP-1 prototypes were delivered in 1971 and the AP-101 in 1973.[21] It has 16 32-bit registers. Originally only 16 bits were available for addressing memory; later this was extended with four bits from the program status word register, allowing a directly addressable memory range of 1M locations. This avionics computer has been used in the U.S. Space Shuttle, the B-52 and B-1B bombers,[19] and other aircraft. It remained in service on the Space Shuttle because it worked, was flight-certified, and developing a new system would have been too expensive.[22]

There were a number of variants of the AP101. The Offensive Avionics System, a retrofit update of the B-52, contains two AP-101C computers.[23] The AP-101C prototypes were delivered in 1978.[21] The B-1B employs a network of eight model AP-101F computers.[24] The Space Shuttle used two variants of the AP-101: the earlier AP-101B and the upgraded AP-101S. The AP-101B was used for a series of Approach and Landing Tests in 1977. The first ascent to orbit was in 1981. The AP-101S first launched in 2000.

 
Logic board from an IBM AP-101S Space Shuttle General Purpose Computer.

Each AP-101 on the Shuttle was coupled with an input-output processor (IOP), consisting of one Master Sequence Controller (MSC) and 24 Bus Control Elements (BCEs). The MSC and BCEs executed programs from the same memory system as the main CPU, offloading control of the Shuttle's serial data bus system from the CPU. The AP-101B originally used in the Space Shuttle had magnetic-core memory. The upgrade to the AP-101S in the early 1990s replaced the core with semiconductor memory and reduced the size from two to one chassis.[25] It was augmented by glass cockpit technology. Both variants use a microprogram to define the instruction set architecture. The early AP-101 variants used IBM'S Multipurpose Midline Processor (MMP) architecture.[26] The AP-101B microprogram implemented MMP with 154 instructions. The AP101S could operate with a backwards compatible MMP with 158 instructions or the MIL-STD-1750A architecture with 243 instructions.[25] It was based on the AP-101F used in the B-1B. The AP-101S/G was an interim processor. The AP-101B performance was 0.420 MIPS, while the AP-101S was 1.27 MIPS.[25] James E. Tomayko, who was contracted by NASA to write a history of computers in spaceflight, has said:[27]

"It was available in basically its present form when NASA was specifying requirements for the shuttle contracts in the 1970s. As such, it represents the first manned spacecraft computer system with hardware intentionally behind the state of the art."

The Space Shuttle used five AP-101 computers as General-Purpose Computers (GPCs). Four operated in sync, for redundancy, while the fifth was a backup running software written independently. The Shuttle's guidance, navigation and control software was written in HAL/S, a special-purpose high-level programming language, while much of the operating system and low-level utility software was written in assembly language. AP-101s used by the US Air Force are mostly programmed in JOVIAL, such as the system found on the B-1B bomber.[28]

The AP-102 variant design began in 1984. It is a MIL-STD-1750A standard instruction set architecture. It was first used in the F-117A Stealth Fighter. It was upgraded to the AP-102A in the early 1990s.[29]

References

edit
  1. ^ IBM 1967, p. 1-3 (9).
  2. ^ IBM 1967, p. iv.
  3. ^ IBM 1967, Foreword, p. iii/iv (6).
  4. ^ IBM 1967.
  5. ^ Bedford, D. P.; Markarian, H.; Pleszkoch, N. L. (Mar 1967). "Appendix E: SYSTEM 4 Pi COMPUTER CHARACTERISTICS". Study of control computers for control moment gyro stability and control systems. Volume I - Engineering. Model TC and CP-2. pp. E-1 - E-21 (126-147).
  6. ^ IBM Overview.
  7. ^ IBM 1967, Section 2: Model TC, pp. 2-1 - 2-13/2-14 (20-32).
  8. ^ IBM Overview, Model TC, pp. -2-13 (1-16).
  9. ^ IBM 1967, Section 3: Model CP, pp. 3-1 - 3-9/3-10 (33-41).
  10. ^ IBM Overview, Model CP, pp. -3-15 (17-35).
  11. ^ IBM Overview, Model CP, p. 3 (23).
  12. ^ IBM Overview, Model CP-2, pp. -2-13 (36-51).
  13. ^ IBM 1967, Section 4: Model EP, pp. 4-1 - 4-13/4-14 (42-54).
  14. ^ IBM Overview, Model EP, pp. -2-18 (52-72).
  15. ^ "1.1 System/360 Compatibility and 2.2 System/360 Compatibility". System/4 Pi Engineering Description: Model EP. Owego, NY: Federal Systems Division of IBM. 1966. pp. 1, 4-5 (6, 9-10).
  16. ^ IBM Overview, Model EP: Summary, p. 2 (56).
  17. ^ Jenkins, Dennis (April 5, 2001). "Advanced Vehicle Automation and Computers Aboard the Shuttle". NASA History Homepage. NASA. Retrieved 27 October 2013.
  18. ^ Cooper, A. E.; Chow, W. T. (1976). "Development of On-board Space Computer Systems". IBM Journal of Research and Development. 20: 5–19. doi:10.1147/rd.201.0005.
  19. ^ a b c d e James E. Tomayko (March 1988). Computers in Spaceflight: The NASA Experience (Report). NASA Scientific and Technical Division. NASA Contractor Report 182505. Archived from the original on 28 August 2021. Retrieved 17 November 2024.
  20. ^ McTigue, T. V. (December 1976). "F-15 Computational Subsystem". Journal of Aircraft. 13 (12): 945–947. doi:10.2514/3.58734. Retrieved 18 November 2024.
  21. ^ a b Olsen, P.F.; Orrange, R.J. (September 1981). "Real-Time Systems for Federal Applications: A Review of Significant Technological Developments". IBM Journal of Research and Development. 25 (5): 405–416. doi:10.1147/rd.255.0405.
  22. ^ Rossi, Ben (18 July 2011). "The shuttle: NASA's IT legacy". Information Age.
  23. ^ Gross, James P. (February 1981). Techniques for Interfacing Multiplex Systems (PDF) (Report). Air Force Systems Command.
  24. ^ Stormont, D.P.; Welgan, R. (23–27 May 1994). "Risk management for the B-1B computer upgrade". Proceedings of National Aerospace and Electronics Conference (NAECON'94). Vol. 2. pp. 1143–1149. doi:10.1109/NAECON.1994.332913. ISBN 0-7803-1893-5. S2CID 109575632.
  25. ^ a b c Norman, P. Glenn (1987), "The new AP101S General-Purpose Computer (GPC) for the Space Shuttle", IEEE Proceedings, 75 (3): 308–319, Bibcode:1987IEEEP..75..308N, doi:10.1109/PROC.1987.13738, S2CID 19179436
  26. ^ Proulx, David M. (1984). "Applications of pipelining to firmware". ACM SIGMICRO Newsletter. 15 (4): 37–46. doi:10.1145/384281.808211.
  27. ^ Tomayko, James E. (January 1985). "NASA's Manned Spacecraft Computers". Annals of the History of Computing. 7 (1): 7–18. doi:10.1109/MAHC.1985.10009. Retrieved 18 November 2024.
  28. ^ Jovial to smooth U.S. Air Force shift to Ada. (processing language)
  29. ^ Stuart, Kenneth C. (1992). "VHSIC technology insertion into the AP-102 avionics processor family". [1992] Proceedings IEEE/AIAA 11th Digital Avionics Systems Conference. pp. 183–188. doi:10.1109/DASC.1992.282162. ISBN 0-7803-0820-4.

Bibliography

edit
edit