IBM System/4 Pi

Last updated
The IBM AP-101B CPU and I/O processor (right) and AP-101S (left) Space Shuttle General Purpose Computer.jpg
The IBM AP-101B CPU and I/O processor (right) and AP-101S (left)

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]

Contents

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

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

Specifications [6]
Model ISA
(instructions)
Performance
(IPS)
Weight
(pounds)
TC5448,50017.3 pounds (7.8 kg)
CP3691,00080 pounds (36 kg)
CP-236125,00047 pounds (21 kg)
EP70190,00075 pounds (34 kg)

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

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. IBM AP-101S logic board.jpg
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]

Related Research Articles

IBM mainframes are large computer systems produced by IBM since 1952. During the 1960s and 1970s, IBM dominated the computer market with the 7000 series and the later System/360, followed by the System/370. Current mainframe computers in IBM's line of business computers are developments of the basic design of the System/360.

<span class="mw-page-title-main">IBM System/360</span> IBM mainframe computer family (1964–1977)

The IBM System/360 (S/360) is a family of mainframe computer systems announced by IBM on April 7, 1964, and delivered between 1965 and 1978. System/360 was the first family of computers designed to cover both commercial and scientific applications and a complete range of applications from small to large. The design distinguished between architecture and implementation, allowing IBM to release a suite of compatible designs at different prices. All but the only partially compatible Model 44 and the most expensive systems use microcode to implement the instruction set, featuring 8-bit byte addressing and fixed-point binary, fixed-point decimal and hexadecimal floating-point calculations.

<span class="mw-page-title-main">Skylab</span> First space station launched and operated by NASA (1973–1979)

Skylab was the United States' first space station, launched by NASA, occupied for about 24 weeks between May 1973 and February 1974. It was operated by three trios of astronaut crews: Skylab 2, Skylab 3, and Skylab 4. Operations included an orbital workshop, a solar observatory, Earth observation and hundreds of experiments. Skylab's orbit eventually decayed and it disintegrated in the atmosphere on July 11, 1979, scattering debris across the Indian Ocean and Western Australia.

<span class="mw-page-title-main">IBM System/370</span> Family of mainframe computers 1970–1990

The IBM System/370 (S/370) is a range of IBM mainframe computers announced as the successors to the System/360 family on June 30, 1970. The series mostly maintains backward compatibility with the S/360, allowing an easy migration path for customers; this, plus improved performance, were the dominant themes of the product announcement.

<span class="mw-page-title-main">System call</span> Way for programs to access kernel services

In computing, a system call is the programmatic way in which a computer program requests a service from the operating system on which it is executed. This may include hardware-related services, creation and execution of new processes, and communication with integral kernel services such as process scheduling. System calls provide an essential interface between a process and the operating system.

<span class="mw-page-title-main">Apollo Guidance Computer</span> Guidance and navigation computer used in Apollo spacecraft

The Apollo Guidance Computer (AGC) was a digital computer produced for the Apollo program that was installed on board each Apollo command module (CM) and Apollo Lunar Module (LM). The AGC provided computation and electronic interfaces for guidance, navigation, and control of the spacecraft. The AGC was the first computer based on silicon integrated circuits. The computer's performance was comparable to the first generation of home computers from the late 1970s, such as the Apple II, TRS-80, and Commodore PET.

<span class="mw-page-title-main">HAL/S</span> Programming language

HAL/S is a real-time aerospace programming language compiler and cross-compiler for avionics applications used by NASA and associated agencies. It has been used in many U.S. space projects since 1973 and its most significant use was in the Space Shuttle program. It was designed by Intermetrics in 1972 for NASA and delivered in 1973. HAL/S is written in XPL, a dialect of PL/I. Although HAL/S is designed primarily for programming on-board computers, it is general enough to meet nearly all the needs in the production, verification, and support of aerospace and other real-time applications. According to documentation from 2005, it was being maintained by the HAL/S project of United Space Alliance.

<span class="mw-page-title-main">VM (operating system)</span> Family of IBM operating systems

VM is a family of IBM virtual machine operating systems used on IBM mainframes System/370, System/390, zSeries, System z and compatible systems, including the Hercules emulator for personal computers.

<span class="mw-page-title-main">CP/CMS</span> IBM operating system specializing in virtualization

CP/CMS is a discontinued time-sharing operating system of the late 1960s and early 1970s. It is known for its excellent performance and advanced features. Among its three versions, CP-40/CMS was an important 'one-off' research system that established the CP/CMS virtual machine architecture. It was followed by CP-67/CMS, a reimplementation of CP-40/CMS for the IBM System/360-67, and the primary focus of this article. Finally, CP-370/CMS was a reimplementation of CP-67/CMS for the System/370. While it was never released as such, it became the foundation of IBM's VM/370 operating system, announced in 1972.

<span class="mw-page-title-main">Robert Crippen</span> American astronaut (born 1937)

Robert Laurel Crippen is an American retired naval officer and aviator, test pilot, aerospace engineer, and retired astronaut. He traveled into space four times: as pilot of STS-1 in April 1981, the first Space Shuttle mission; and as commander of STS-7 in June 1983, STS-41-C in April 1984, and STS-41-G in October 1984. He was also a part of the Manned Orbiting Laboratory (MOL), Skylab Medical Experiment Altitude Test (SMEAT), ASTP support crew member, and the Approach and Landing Tests (ALT) for the Space Shuttle.

Wen Tsing Chow, was a Chinese-born American missile guidance scientist and a digital computer pioneer, known for the invention of programmable read-only memory or PROM.

A hypervisor, also known as a virtual machine monitor (VMM) or virtualizer, is a type of computer software, firmware or hardware that creates and runs virtual machines. A computer on which a hypervisor runs one or more virtual machines is called a host machine, and each virtual machine is called a guest machine. The hypervisor presents the guest operating systems with a virtual operating platform and manages the execution of the guest operating systems. Unlike an emulator, the guest executes most instructions on the native hardware. Multiple instances of a variety of operating systems may share the virtualized hardware resources: for example, Linux, Windows, and macOS instances can all run on a single physical x86 machine. This contrasts with operating-system–level virtualization, where all instances must share a single kernel, though the guest operating systems can differ in user space, such as different Linux distributions with the same kernel.

<span class="mw-page-title-main">Overlay (programming)</span>

In a general computing sense, overlaying means "the process of transferring a block of program code or other data into main memory, replacing what is already stored". Overlaying is a programming method that allows programs to be larger than the computer's main memory. An embedded system would normally use overlays because of the limitation of physical memory, which is internal memory for a system-on-chip, and the lack of virtual memory facilities.

<span class="mw-page-title-main">Launch Vehicle Digital Computer</span> Computer of the Saturn V rocket

The Launch Vehicle Digital Computer (LVDC) was a computer that provided the autopilot for the Saturn V rocket from launch, through Earth orbit insertion, and the trans-lunar injection burn that would send the Apollo spacecraft to the Moon. Designed and manufactured by IBM's Electronics Systems Center in Owego, New York, it was one of the major components of the Instrument Unit, fitted to the S-IVB stage of the Saturn V and Saturn IB rockets. The LVDC also supported pre- and post-launch checkout of the Saturn hardware. It was used in conjunction with the Launch Vehicle Data Adaptor (LVDA) which performed signal conditioning from the sensor inputs to the computer from the launch vehicle.

<span class="mw-page-title-main">IBM CP-40</span> IBM experimental operating system

CP-40 was a research precursor to CP-67, which in turn was part of IBM's then-revolutionary CP[-67]/CMS – a virtual machine/virtual memory time-sharing operating system for the IBM System/360 Model 67, and the parent of IBM's VM family. CP-40 ran multiple instances of client operating systems – particularly CMS, the Cambridge Monitor System, built as part of the same effort. Like CP-67, CP-40 and the first version of CMS were developed by IBM's Cambridge Scientific Center (CSC) staff, working closely with MIT researchers at Project MAC and Lincoln Laboratory. CP-40/CMS production use began in January 1967. CP-40 ran on a unique, specially modified IBM System/360 Model 40.

<span class="mw-page-title-main">IBM System/360 Model 67</span> 1967 IBM mainframe model with virtual memory and 32-bit addressing

The IBM System/360 Model 67 (S/360-67) was an important IBM mainframe model in the late 1960s. Unlike the rest of the S/360 series, it included features to facilitate time-sharing applications, notably a Dynamic Address Translation unit, the "DAT box", to support virtual memory, 32-bit addressing and the 2846 Channel Controller to allow sharing channels between processors. The S/360-67 was otherwise compatible with the rest of the S/360 series.

This article covers the History of CP/CMS — the historical context in which the IBM time-sharing virtual machine operating system was built.

The history of IBM mainframe operating systems is significant within the history of mainframe operating systems, because of IBM's long-standing position as the world's largest hardware supplier of mainframe computers. IBM mainframes run operating systems supplied by IBM and by third parties.

<span class="mw-page-title-main">Gemini Guidance Computer</span>

The Gemini Guidance Computer was a digital, serial computer designed for Project Gemini, America's second human spaceflight project. The computer, which facilitated the control of mission maneuvers, was designed by the IBM Federal Systems Division.

<span class="mw-page-title-main">IBM System/360 Model 91</span> High-end IBM computer model from 1960s

The IBM System/360 Model 91 was announced in 1964 as a competitor to the CDC 6600. Functionally, the Model 91 ran like any other large-scale System/360, but the internal organization was the most advanced of the System/360 line, and it was the first IBM computer to support out-of-order instruction execution. It ran OS/360 as its operating system. It was designed to handle high-speed data processing for scientific applications. This included space exploration, theoretical astronomy, sub-atomic physics and global weather forecasting.

References

  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. 1 2 3 4 5 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. 1 2 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. 1 2 3 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