|Encoding||Variable (2, 4 or 6 bytes long)|
|Branching||Condition code, indexing, counting|
|Page size||N/A, except for 360/67|
|General purpose||16 32-bit|
|Floating point||4 64-bit|
|History of IBM mainframes 1952–present|
|zSeries 900, 800, 990, and 890||z/Architecture|
|zEnterprise System (z196, zEC12)|
The IBM System/360 (S/360) was a mainframe computer system family announced by IBM on April 7, 1964, and delivered between 1965 and 1978. It was the first family of computers designed to cover the complete range of applications, from small to large, both commercial and scientific. The design made a clear distinction between architecture and implementation, allowing IBM to release a suite of compatible designs at different prices. All but the most expensive systems used microcode to implement the instruction set, which featured 8-bit byte addressing and binary, decimal and floating-point calculations.
The slowest System/360 models announced in 1964 ranged in speed from 0.0018 to 0.034 MIPS; the fastest models were approximately 50 times as fast with 8 kB and up to 8 MB of internal main memory, though the latter was unusual, and up to 8 megabytes of slower Large Core Storage (LCS). A large system might have as little as 256 kB of main storage, but 512 kB, 768 kB or 1024 kB was more common.
System/360 was extremely successful in the market, allowing customers to purchase a smaller system with the knowledge they would always be able to migrate upward if their needs grew, without reprogramming of application software or replacing peripheral devices. The design is considered by many to be one of the most successful computers in history, influencing computer design for years to come.
The chief architect of System/360 was Gene Amdahl, and the project was managed by Fred Brooks, responsible to Chairman Thomas J. Watson Jr. The commercial release was piloted by another of Watson's lieutenants John R. Opel who managed the launch of IBM’s System 360 mainframe family in 1964.
Application level compatibility (with some restrictions) for System/360 software is maintained until present day with the IBM zSeries computers.
System/360 history 
A family of computers 
Contrasting with at-the-time normal industry practice, IBM created an entire series of computers (or CPUs) from small to large, low to high performance, all using the same instruction set (with two exceptions for specific markets). This feat allowed customers to use a cheaper model and then upgrade to larger systems as their needs increased without the time and expense of rewriting software. IBM was the first manufacturer to exploit microcode technology to implement a compatible range of computers of widely differing performance, although the largest, fastest, models had hard-wired logic instead.
This flexibility greatly lowered barriers to entry. With other vendors (with the notable exception of ICT), customers had to choose between machines they could outgrow and machines that were potentially overpowered (and thus too expensive). This meant that many companies simply did not buy computers.
IBM initially announced a series of six computers and forty common peripherals. IBM eventually delivered fourteen models, including rare one-off models for NASA. The least expensive model was the Model 20 with as little as 4 K of core memory, eight 16-bit registers instead of the sixteen 32-bit registers of real 360s, and an instruction set that was a subset of that used by the rest of the range.
The initial announcement in 1964 included Models 30, 40, 50, 60, 62, and 70. The first three were low- to middle-range systems aimed at the IBM 1400 series market. All three were sold first during mid-1965. The last three, intended to replace the 7000 series machines, were never sold and were replaced by the 65 and 75, which was first delivered during November 1965, and January 1966, respectively.
Later additions to the low-end included models 20 (1966, mentioned above), 22 (1971), and 25 (1968). The Model 22 was a recycled Model 30 with minor limitations: a smaller maximum memory configuration, and slower I/O channels which limited it to slower and lower-capacity disk and tape devices than on the 30.
The Model 44 (1966) was a specialized model, designed for scientific computing and for real-time computing and process control, featuring some additional instructions.
A succession of high-end machines included the Model 67 (1966, mentioned below, briefly anticipated as the 64 and 66), 85 (1969), 91 (1967, anticipated as the 92), 95 (1968), and 195 (1971). The 85 design was intermediate between the System/360 line and the follow-on System/370 and was the basis for the 370/165. There was a System/370 version of the 195, but it did not include Dynamic Address Translation.
The implementations differed substantially, using different native data path widths, presence or absence of microcode, yet were extremely compatible. Except where specifically documented, the models were architecturally compatible. The 91, for example, was designed for scientific computing and provided out-of-order instruction execution (and could yield "imprecise interrupts" if a program trap occurred while several instructions were being read), but lacked the decimal instruction set used in commercial applications. New features could be added without violating architectural definitions: the 65 had a dual-processor version (M65MP) with extensions for inter-CPU signalling; the 85 introduced cache memory. Models 44, 75, 91, 95, and 195 were implemented with hardwired logic, rather than microcoded as all other models.
The Model 67, announced in August 1965, was the first production IBM system to offer dynamic address translation hardware to support time-sharing. "DAT" is now more commonly referred to as an MMU. An experimental one-off unit was built based on a model 40. Before the 67, IBM had announced models 64 and 66, DAT versions of the 60 and 62, but they were almost immediately replaced by the 67 at the same time that the 60 and 62 were replaced by the 65. DAT hardware would reappear in the S/370 series in 1972, though it was initially absent from the series. Like the 65 to which it was closely related, the 67 also had a dual-CPU implementation.
All System/360 models were withdrawn from marketing by the end of 1977.
Backward compatibility 
IBM's existing customers had a large investment in software that executed on second generation machines. Many models offered the option of emulation of the customer's previous computer (e.g. the IBM 1400 series on a Model 30 or the IBM 7094 on a Model 65) using a combination of special hardware, special microcode and an emulation program that used the emulation instructions to simulate the target system, so that old programs could run on the new machine. However, customers had to halt the computer and load the emulation program. The Model 85 and later System/370 retained the emulation options, but allowed them to be executed under operating system control alongside native programs.
Successors and variants 
System/360 (excepting the Model 20) was replaced by the compatible System/370 range in 1970 and Model 20 users were targeted to move to the IBM System/3. (The idea of a major breakthrough with FS technology was dropped in the mid-1970s for cost-effectiveness and continuity reasons.) Later compatible IBM systems include the 3090, the ES/9000 family, 9672 (System/390 family), the zSeries, System z9, System z10 and IBM zEnterprise System.
Computers that were mostly identical or compatible in terms of the machine code or architecture of the System/360 included Amdahl's 470 family (and its successors), Hitachi mainframes, the UNIVAC 9200/9300/9400 series, Fujitsu as the Facom, the RCA Spectra 70 series,[NB 1] and the English Electric System 4.[NB 2] The System 4 machines were built under license to RCA. The Spectra series were sold to what was then UNIVAC to become the UNIVAC 90/60 and later releases. The Soviet Union produced an System/360 clone named the ES EVM.
The IBM 5100 portable computer, introduced in 1975, offered an option to execute the System/360's APL.SV programming language through a hardware emulator. IBM used this approach in order to avoid the costs and delay in creating a version of APL specific to the 5100.
Special radiation-hardened and otherwise somewhat modified System/360s, in the form of the System/4 Pi avionics computer, are used in several fighter and bomber jet aircraft. In the complete 32-bit AP-101 version, 4 Pi machines are used as the replicated computing nodes of the fault-tolerant Space Shuttle computer system (in five nodes). The U.S. Federal Aviation Administration operated the IBM 9020, a special cluster of modified System/360s for air traffic control, from 1970 until the 1990s. (Some 9020 software is apparently still used via emulation on newer hardware.)
Technical description 
Influential features 
The System/360 introduced a number of industry standards to the marketplace, such as:
- The 8-bit byte (against financial pressure during development to reduce the byte to 4 or 6 bits), rather than adopting the 7030 concept of accessing bytes of variable size at arbitrary bit addresses.
- Byte-addressable memory (as opposed to bit-addressable or word-addressable memory)
- 32-bit words
- The bus and tag I/O channel standardized in FIPS-60
- Commercial use of microcoded CPUs
- The IBM Floating Point Architecture (until superseded by the IEEE 754-1985 floating-point standard, 20 years later)
- The EBCDIC character set[NB 3]
- Nine track magnetic tape
Architectural overview 
The System/360 series had a computer system architecture specification. This specification does not make any assumptions on the implementation itself, but rather describes the interfaces and the expected behavior of an implementation. The architecture describes mandatory interfaces that must be available on all implementations and optional interfaces which may or may not be implemented.
Some of the aspects of this architecture are:
- Big endian byte ordering
- A processor with
- 16 32-bit General purpose registers (R0-R15)
- A 64-bit Program status word (PSW) which describes (among other things)
- An interruption mechanism, maskable and unmaskable interruption classes and subclasses
- An instruction set. Each instruction is wholly described and also defines the conditions under which an exception is recognized in the form of program interruption.
- A memory (called storage) subsystem with
- 8 bits per byte
- A special processor communication area starting at address 0
- 24-bit addressing
- Manual control operations that allow
- A bootstrap process (a process called Initial Program Load or IPL)
- Operator-initiated interrupts
- Resetting the system
- Basic debugging facilities
- Manual display and modifications of the system's state (memory and processor)
- An Input/Output mechanism - which does not describe the devices themselves
Some of the optional features are:
- Binary-coded decimal instructions
- Floating point instructions
- Timing facilities (interval timer)
- Key-controlled memory protection
All models of System/360, except for the Model 20, implemented that specification.
Binary arithmetic and logical operations are performed as register-to-register and as memory-to-register/register-to-memory as a standard feature. If the Commercial Instruction Set option was installed, packed decimal arithmetic could be performed as memory-to-memory with some memory-to-register operations. The Scientific Instruction Set feature, if installed, provided access to four floating point registers that could be programmed for either 32-bit or 64-bit floating point operations. The Models 85 and 195 could also operate on 128-bit extended-precision floating point numbers stored in pairs of floating point registers, and software provided emulation in other models. The System/360 used an 8-bit byte, 32-bit word, 64-bit double-word, and 4-bit nibble. Machine instructions had operators with operands, which could contain register numbers or memory addresses. This complex combination of instruction options resulted in a variety of instruction lengths and formats.
Memory addressing was accomplished using a base-plus-displacement scheme, with registers 1 through F (15). A displacement was encoded in 12 bits, thus allowing a 4096-byte displacement (0-4095), as the offset from the address put in a base register. Register 0 could not be used as a base register, as "0" was reserved to indicate an address in the first 4 KB of memory. This permitted initial execution of the interrupt routines, since base registers would not necessarily be set to 0 during the first few instruction cycles of an interrupt routine. It isn't needed for IPL ("Initial Program Load" or boot), as one can always clear a register without the need to save it.
With the exception of the Model 67, all addresses were real memory addresses. Virtual memory was not available in most IBM mainframes until the System/370 series. The Model 67 introduced a virtual memory architecture which was used by MTS, CP-67, and TSS/360, but not by IBM's mainline System/360 operating systems.
The System/360 machine-code instructions are 2 bytes long (no memory operands), 4 bytes long (one operand), or 6 bytes long (two operands). Instructions are always situated on 2-byte boundaries.
Operations like MVC (Move-Characters) (Hex: D2) can only move at most 256 bytes of information. Moving more than 256 bytes of data required multiple MVC operations. (The System/370 series introduced a family of more powerful instructions such as the MVCL "Move-Characters-Long" instruction, which allows up to 16 MB to be moved as a single block.)
An operand is two bytes long, typically representing an address as a 4-bit nibble denoting a base register and a 12-bit displacement relative to the contents of that register, in the range 000–FFF (shown here as hexadecimal numbers). The address corresponding to that operand is the contents of the specified general-purpose register plus the displacement. For example, an MVC instruction that moves 256 bytes (with length code 255 in hexadecimal as FF) from base register 7, plus displacement 000, to base register 8, plus displacement 001, would be coded as the 6-byte instruction "D2FF 8001 7000" (operator/length/address1/address2).
The System/360 was designed to separate the "system state" from the "problem state". This provided a basic level of security and recoverability from programming errors. Problem (user) programs could not modify data or program storage associated with the system state. Addressing, data, or operation exception errors caused the system state to be entered through a controlled routine allowing the operating system to attempt to correct or terminate the program in error. Similarly, certain processor hardware errors could be recovered through the "machine check" routines.
Peripherals interfaced to the system via channels. A channel was a specialized processor with the instruction set optimized for transferring data between a peripheral and main memory. In modern terms, this could be compared to direct memory access (DMA).
There were initially two types of channels; byte-multiplexer channels, for connecting "slow speed" devices such as card readers and punches, line printers, and communications controllers, and selector channels for connecting high speed devices, such as disk drives, tape drives, data cells and drums. Every System/360 (except for the Model 20, which was not a standard 360) had a byte-multiplexer channel and 1 or more selector channels. The smaller models (up to the model 50) had integrated channels, while for the larger models (model 65 and above) the channels were large separate units in separate cabinets, such as the IBM 2860 and 2870.
The byte-multiplexer channel was able to handle I/O to/from several devices simultaneously at the device's highest rated speeds, hence the name, as it multiplexed I/O from those devices onto a single data path to main memory. Devices connected to a byte-multiplexer channel were configured to operate in 1-byte, 2-byte, 4-byte, or "burst" mode. The larger "blocks" of data were used to handle progressively faster devices. For example, a 2501 card reader operating at 600 cards per minute would be in 1-byte mode, while a 1403-N1 printer would be in burst mode. Also, the byte-multiplexer channels on larger models had an optional selector subchannel section that would accommodate tape drives. The byte-multiplexor's channel address was typically "0" and the selector subchannel addresses were from "C0" to "FF." Thus, tape drives on System/360 were commonly addressed at 0C0-0C7. Other common byte-multiplexer addresses were: 00A: 2501 Card Reader, 00C/00D: 2540 Reader/Punch, 00E/00F: 1403-N1 Printers, 010-013: 3211 Printers, 020-0BF: 2701/2703 Telecommunications Units. These addresses are still commonly used in z/VM virtual machines.
System/360 models 30, 40, and 50 had an integrated 1052-7 console that was usually addressed as 01F, however, this was not connected to the byte-multiplexer channel, but rather, had a direct internal connection to the mainframe.
Selector channels enabled I/O to high speed devices. These storage devices were attached to a control unit and then to the channel. The control unit enabled clusters of devices to be attached to the channels. On higher speed models, multiple selector channels, which could operate simultaneously or in parallel, improved overall performance.
Control units were connected to the channels with gray "bus and tag" cable pairs. The bus cables carried the address and data information and the tag cables identified what data was on the bus. The general configuration of a channel was to connect the devices in a chain, like this: Mainframe—Control Unit X—Control Unit Y—Control Unit Z. Each control unit was assigned a "capture range" of addresses that it serviced. For example, control unit X might capture addresses 40-4F, control unit Y: C0-DF, and control unit Z: 80-9F. The capture ranges had to be a multiple of 8, 16, 32, 64, or 128 devices and be aligned on appropriate boundaries. Each control unit in turn had one or more devices attached to it. For example, you could have control unit Y with 6 disks, that would be addressed as C0-C5.
The cable ordering of the control units on the channel was also significant. Each control unit was "strapped" as High or Low priority. When a device selection was sent out on a mainframe's channel, the selection was sent from X->Y->Z->Y->X. If the control unit was "high" then the selection was checked in the outbound direction, if "low" then the inbound direction. Thus, control unit X was either 1st or 5th, Y was either 2nd or 4th, and Z was 3rd in line. It was also possible to have multiple channels attached to a control unit from the same or multiple mainframes, thus providing a rich high-performance, multiple-access, and backup capability.
Typically the total cable length of a channel was limited to 200 feet, less being preferred. Each control unit accounted for about 10 "feet" of the 200-foot limit.
Block multiplexer channel 
IBM introduced a new type of I/O channel on the Model 85 and Model 195: the 2880 block multiplexer channel. The channel allowed a device to suspend a channel program, pending the completion of an I/O operation and thus to free the channel for use by another device. The initial use for this was the 2305 fixed-head disk, which had 8 "exposures" (alias addresses) and rotational position sensing (RPS).
These channels could support either standard 1.5 MB/second connections or, with the 2-byte interface feature, 3 MB/second; the later used one tag cable and two bus cables.
Basic hardware components 
Being somewhat uncertain of the reliability and availability of the then new monolithic integrated circuits, IBM chose instead to design custom hybrid integrated circuits using discrete flip chip mounted glass encapsulated transistors and diodes with silk screened resistors on a ceramic substrate, then either encapsulated in plastic or covered with a metal lid. Several of these were then mounted on a small multi-layer printed circuit board to make a "Solid Logic Technology" (SLT) module. Each SLT module had a socket on one edge that plugged into pins on the computer's backplane (the reverse of how most other company's modules were mounted).
Operating system software 
The smaller System/360 models used the Basic Operating System/360 (BOS/360), Tape Operating System (TOS/360), or Disk Operating System/360 (DOS/360, which evolved into DOS/VS, DOS/VSE, VSE/AF, VSE/SP, VSE/ESA, and then z/VSE).
The larger models used Operating System/360 (OS/360): Primary Control Program (PCP), Multiprogramming with a Fixed number of Tasks (MFT), which evolved into OS/VS1, and Multiprogramming with a Variable number of Tasks (MVT), which evolved into MVS. MVT took a long time to develop into a usable system, and the less ambitious MFT was widely used. PCP was used on intermediate machines; the final releases of OS/360 included only MFT and MVT.
When it announced the Model 67 in August 1965, IBM also announced TSS/360 (Time-Sharing System) for delivery at the same time as the 67. TSS/360, a response to Multics, was an ambitious project that included many advanced features. It never worked properly, was delayed, canceled, reinstated, and finally canceled again in 1971. It was replaced by CP-67, MTS (Michigan Terminal System), TSO (Time Sharing Option for OS/360), or one of several other time-sharing systems.
CP-67, the original virtual machine system, was also known as CP/CMS. CP/67 was developed outside the IBM mainstream at IBM's Cambridge Scientific Center, in cooperation with MIT researchers. CP/CMS eventually won wide acceptance, and led to the development of VM/370 (aka VM/CMS) and today's z/VM.
The Model 20 offered a simplified and rarely used tape-based system called TPS (Tape Processing System), and also DPS (Disk Processing System) that provided support for the 2311 disk drive. TPS could run on a machine with 8K of memory, and DPS required 12 K, which was pretty hefty for a Model 20. Many customers ran quite happily with 4 K and CPS (Card Processing System).
With TPS and DOS, the card reader was used (a) to define the stack of jobs to be run (Job Control Language), and (b) to feed in transaction data, like customer payments. But the operating system was held on tape or disk, and results (master files!) could also be stored on the tapes or hard drives. Stacked job processing became an exciting possibility for the small but adventurous computer user.
A little known and little used suite of 80 column punched-card utility programs known as Basic Programming Support (BPS) (jocularly: Barely Programming Support), a precursor of TOS, was available for smaller systems.
Component names 
IBM created a new naming system for the new components created for System/360, although well-known old names, like IBM 1403 and IBM 1052, were retained. In this new naming system, components were given four-digit numbers starting with 2. The second digit described the type of component, as follows:
|20xx:||Arithmetic processors, for example the IBM 2030, which was the CPU for the IBM System/360 Model 30.|
|21xx:||Power supplies and other equipment intimately associated with processors, for example the IBM 2167 Configuration Unit.|
|22xx:||Visual output devices, for example the IBM 2250 and IBM 2260 CRT displays, and the IBM 2203 line printer for the System/360 model 20.|
|23xx:||Direct-access storage devices, for example the IBM 2311 and IBM 2314 disk drives, the IBM 2321 Data Cell;
Main storage such as the IBM 2361 Large Capacity Storage (Core Storage, Large Core Storage or LCS) and the IBM 2365 Processor Storage.
|24xx:||Magnetic tape drives, for example the IBM 2401, IBM 2405 and IBM 2415.|
|25xx:||Punched card handling equipment, for example the IBM 2501 (card reader), IBM 2520 (card punch); IBM 2540 (reader/punch) and IBM 2560 (Multi-Function Card Machine or MFCM).|
|26xx:||Paper tape handling equipment, for example the IBM 2671 paper tape reader.|
|27xx:||Communications equipment, for example the IBM 2701, IBM 2705, IBM 2741 interactive terminal and the IBM 2780 batch terminal.|
|28xx:||Channels and controllers, for example the IBM 2821 Control Unit, IBM 2841 and IBM 2844.|
|29xx:||Miscellaneous devices, for example the IBM 2914 Data Channel Switch and the IBM 2944 Data Channel Repeater.|
IBM developed a new family of peripheral equipment for System/360, carrying over a few from its older 1400 series. Interfaces were standardized, allowing greater flexibility to mix and match processors, controllers and peripherals than in the earlier product lines.
In addition, System/360 computers could use certain peripherals that were originally developed for earlier computers. These earlier peripherals used a different numbering system, such as the IBM 1403 chain printer. The 1403, an extremely reliable device which had already earned a reputation as a workhorse, was sold as the 1403-N1 when adapted for the System/360.
Also available were optical character recognition (OCR) readers 1287 and 1288.
Most small systems were sold with an IBM 1052-7 as the console typewriter. This was tightly integrated into the CPU — the keyboard would physically lock under program control. Certain high-end machines could optionally be purchased with a 2250 graphical display, costing upwards of US $100,000. The 360/85 used a 5450 display console that was not compatible with anything else in the line; the later 3066 console for the 370/165 and 370/168 used the same basic display design as the 360/85.
Direct access storage devices (DASD) 
The 2311, with a removable 1316 disk pack, was based on the IBM 1311 and had a theoretical capacity of 7.2 MB, although actual capacity varied with record design.:31 (When used with a 360/20, the 1316 pack was formatted into fixed-length sectors, giving a maximum capacity of 5.4MB.)
In 1966, the first 2314s shipped. This device had up to eight usable disk drives with an integral control unit; there were nine drives, but one had to be reserved as a spare. Each drive used a removable 2316 disk pack with a capacity of nearly 28 MB. The disk packs for the 2311 and 2314 were physically large by today's standards — e.g., the 1316 disk pack was about 14 in (36 cm) in diameter and had six platters stacked on a central spindle. The top and bottom outside platters did not store data. Data were recorded on the inner sides of the top and bottom platters and both sides of the inner platters, providing 10 recording surfaces. The 10 read/write heads moved together across the surfaces of the platters which were formatted with 203 concentric tracks. To reduce the amount of head movement (seeking), data was written in a virtual cylinder from inside top platter down to inside bottom platter. These disks were not usually formatted with fixed-sized sectors as are today's hard drives (though this was done with CP/CMS). Rather, most System/360 I/O software could customize the length of the data record (variable-length records), as was the case with magnetic tapes.
Some of the most powerful early System/360s used high-speed head-per-track drum storage devices. The 3,500 RPM 2301, which replaced the 7320, was part of the original System/360 announcement, with a capacity of 4Mb. The 303.8 kB/second IBM 2303:74-76 was announced on January 31, 1966, with a capacity of 3.913 MB. These were the only drums announced for System/360 and System/370, and their niche was later filled by fixed-head disks.
The 6,000 RPM 2305 appeared in 1970, with capacities of 5 Mb (2305-1) or 11 Mb (2305-2) per module. Although these devices did not have large capacity, their speed and transfer rates made them attractive for high-performance needs. A typical use was overlay linkage (e.g. for OS and application subroutines) for program sections written to alternate in the same memory regions. Fixed head disks and drums were particularly effective as paging devices on the early virtual memory systems. The 2305, although often called a "drum" was actually a head-per-track disk device, with 12 recording surfaces and a data transfer rate up to 3 megabytes per second.
Rarely seen was the IBM 2321 Data Cell, a mechanically complex device that contained multiple magnetic strips to hold data; strips could be randomly accessed, placed upon a cylinder-shaped drum for read/write operations; then returned to an internal storage cartridge. The IBM Data Cell [noodle picker] was among several IBM trademarked "speedy" mass online direct-access storage peripherals (reincarnated in recent years as "virtual tape" and automated tape librarian peripherals). The 2321 file had a capacity of 400 MB, at the time when the 2311 disk drive only had 7.2 MB. The IBM Data Cell was proposed to fill cost/capacity/speed gap between magnetic tapes—which had high capacity with relatively low cost per stored byte—and disks, which had higher expense per byte. Some installations also found the electromechanical operation less dependable and opted for less mechanical forms of direct-access storage.
The Model 44 was unique in offering an integrated single-disk drive as a standard feature. This drive used the 2315 "ramkit" cartridge and provided 1,171,200 bytes of storage.:11
Tape drives 
The 2400 tape drives consisted of a combined drive and control unit, plus individual 1/2" tape drives attached. With System/360, IBM switched from IBM 7 track to 9 track tape format. 2400 drives could be purchased that read and wrote 7 track tapes for compatibility with the older IBM 729 tape drives. In 1967, a slower and cheaper pair of tape drives with integrated control unit was introduced: the 2415. In 1968, the IBM 2420 tape system was released, offering much higher data rates, self-threading tape operation and 1600bpi packing density. It remained in the product line until 1979.
Unit record devices 
- Punched card devices included the 2501 card reader and the 2540 card reader punch. Virtually every System/360 had a 2540. The 2560 MFCM ("Multi-Function Card Machine") reader/sorter/punch, listed above, was for the Model 20 only. It had notorious reliability problems (earning humorous acroymns often involving "...Card Muncher" or "Mal-Function Card Machine).
- Line printers were the IBM 1403 and the slower IBM 1443.
- A paper tape reader, the IBM 2671, was introduced in 1964. It had a rated speed of 1,000 cps. There were also a paper tape reader and paper tape punch from an earlier era, available only as RPQs (Request Price Quotation). The 1054 (reader) and 1055 (punch), which were carried forward (like the 1052 console typewriter) from the IBM 1050 Teleprocessing System. All these devices operated at a maximum of 15.5 characters per second. The paper tape punch from the IBM 1080 System was also available by RPQ, but at a prohibitively expensive price.
- Optical Character Recognition (OCR) devices 1287 and latter the 1288 were available on the 360's. The 1287 could read handwritten numerals, some OCR fonts, and cash register OCR paper tape reels. The 1288 'page reader' could handle up to legal size OCR font typewritten pages, as well as handwritten numerals. Both of these OCR devices employed a 'flying spot' scanning principle, with the raster scan provided by a large CRT, and the reflected light density changes were picked up by a high gain Photo Multiplier tube.
- MICR (Magnetic Ink Character Recognition) was provided by the IBM 1412 and 1419 Cheque Sorters, with Magnetic Ink Printing (for cheque books) on 1445 Printers (a modified 1443 that used an MICR ribbon). 1412/1419 and 1445 were mainly used by Banking Institutions.
Remaining machines 
Few of these machines remain. Despite being sold or leased in very large numbers for a mainframe system of its era, only a few System/360 computers are known to exist today, none of which is in working condition. Most machines were scrapped when they could no longer profitably be leased, partly for the gold and other precious metal content of their circuits, but mainly to keep these machines from competing with IBM's newer computers, such as the System/370. As with all classic mainframe systems, complete System/360 computers were prohibitively large to be held in storage, and too expensive to maintain. The Smithsonian Institution owns a System/360 Model 65, although it is no longer on public display. The Computer History Museum in Mountain View, CA has a non-working System/360 Model 30 on display, as does the Museum of Transport and Technology (Motat) in Auckland, New Zealand and the Vienna University of Technology in Austria. The University of Western Australia has a complete System/360 in storage at its Shenton Park warehouse. The IBM museum in Sindelfingen has two System/360s – a Model 20 and a Model 91 floating point machine. The control panel of the most complex System/360 model type built, the FAA IBM 9020, comprising up to 12 System/360 Model 65s and Model 50s in its maximum configuration is on display in the Computer Science department of Stanford University as IBM 360 display and Stanford Big Iron. It was manufactured in 1971 and decommissioned in 1993. The IBM Endicott History and Heritage Center in Endicott, NY has a non-working System/360 and an associated 2401 magnetic tape drive on display.
See also 
- History of IBM
- List of IBM products
- Dr. Gene Amdahl (architect)
- Dr. Gerrit Blaauw (architect)
- Dr. Fred Brooks (System/360 project manager)
- Bob Evans (computer scientist)
- The RCA Spectra 70 had radically different architecture for interrupts and I/O. There were compatibility packages to allow operating systems for System/360 to run on a Spectra/70 and vice versa.
- Intended for real-time processing, the English Electric System 4 employed four processor states, each with its own set of general purpose registers. Instructions available in the user state were identical to the System 360. The other states were entered according to the class or severity of interrupt. The fourth (the highest) state was entered when power failure was imminent, and enabled the processor to shut itself down in an orderly fashion.
- IBM was a major advocate of the ASCII standardization, supporting the approval of the American Standard Code for Information Interchange, ASA X3.4-1963. This code was first implemented in the Teletype Model 33 machines used in American Telephone & Telegraph's TWX (TeletypeWriter eXchange) network. A proposed American National Standard for the representation of ASCII in 80-column, 12-row punched cards was in the approval process when System/360 was announced. In the System/360 architecture bit 12 of the Program status word (PSW), see IBM Corp (1964), p.70, controlled selection of the EBCDIC or the ASCII mode signed decimal data as described on p.35. Thus the System/360 processor architecture provided support of this proposed ASCII standard in anticipation of its approval. When the user community rejected this proposed standard, the requisite peripheral devices were never made available and this System/360 capability was not included in System/370. Bit 12 of the PSW was redefined to switch between System/360 and System/370 modes. These second-generation systems supported “national use” characters in the IBM Binary-Coded Decimal standard to accommodate the accented characters in the alphabets of French speaking Canada, Central and South America and Western Europe. See Western Latin character sets (computing) for a discussion of the problems involved and the various solutions, including EBCDIC, that have been used over the years. When designing System/360, ASCII had yet to be expanded for international use, a work that began later under the name Unicode.
- IBM System/360 Dates and Characteristics
- System 360/30 announcement
- "System/360 Announcement" (press release), IBM Data Processing Division, April 7, 1964, webpage: IBM-PR360: states cycle time from "millionth-of-a-second to only 200 billionths-of-a-second" and "memory capacity ranges from 8,000 characters of information to more than 8,000,000".
- An Appreciation - John R. Opel, posted on www.ibm.com
- DIGITAL COMPUTER NEWSLETTER, Office of Naval Research, Mathematical Sciences Division, July 1965--pages 5-6: IBM System/360 time-sharing computers
- Elliott, Jim (2010). "IBM Mainframes – 45+ Years of Evolution" (PDF). IBM Canada Ltd. p. 17. shows the announcement, ship and withdrawal dates for all S/360 models other than the transient models 64 and 66
- IBM (February 1971), System/370 Model 165 Theory of Operation (Volume 8) 709/7090/7094/7094-II Compatibility Feature, Second Edition, SY77-6835-0.
- IBM (April 1964), System/360, Model 30 1401 Compatibility Feature, A24-3255-1, "Mode status (System/360, Model 30, mode or 1401 compatibility mode) is set during the read-in of the compatibility initialization deck."
- IBM (November 1971), Emulating the IBM 7094 on the IBM Models 85 and 165 using OS/360 Program Number for M/85: 360C-EU-734 Program Number for M/165: 360C-EU-740 OS Release 20, Third Edition, GC27-6951-2
- Account of Soviet cloning of the IBM-360, from Pioneers of Soviet Computing by Boris Malinovsky
- NTIS (1979), I/O Channel Interface, National Technical Information Service, FIPSPUB60
- IBM (1964), IBM System/360 Principles of Operation, First Edition, A22-6821-0.
- IBM (September 1968), IBM System/360 Principles of Operation, Eighth Edition, Poughkeepsie, NY, A22-6821-7. revised by IBM (May 12, 1970), GN22-0354. Missing or empty
|title=(help) and IBM (June 8, 1970), GN22-0361. Missing or empty
- IBM, IBM System/360 I/O Interface Channel to Control Unit Original Equipment Manufacturers' Information, Fifth Edition, A22-6843-3.
- IBM (February 1972), IBM System/360 Model 67 Functional Characteristics, Third Edition, GA27-2719-2.
- IBM (December 1969). IBM System/360 Component Descriptions - 2841 and Associated DASD. Eighth Edition. GA26-5988-7.
- IBM 2301 Drum Storage, Columbia University Computing History
- IBM 2305 product announcement
- IBM (November 1980), Reference Manual for IBM 2835 Storage Control and IBM 2305 Fixed Head Storage Module, Fifth Edition, GA26-1689-4.
- The IBM 2321 Data Cell Drive, Columbia University Computing History
- IBM System/360 Model 44 Functional Characteristics
- Emerson W. Pugh, Lyle R. Johnson, John H. Palmer, IBM's 360 and Early 370 Systems, Cambridge: MIT Press, 1991, ISBN 0-262-16123-0. This is the definitive reference work on the early history of System/360 and early System/370 family.
- IBM Corp (1964). IBM System/360 Principles of Operation. Poughkeepsie, NY: IBM Systems Reference Library, File No. S360-01, Form A22-6821-0.
|Wikimedia Commons has media related to: IBM system 360|
From the IBM Journal of Research and Development 
- Architecture of the IBM System/360 — By System/360 architects Gene Amdahl (HW), Fred Brooks (OS), and G. A. Blaauw (HW)
- Solid Logic Technology — By E. M. Davis, W. E. Harding, R. S. Schwartz and J. J. Corning
From IBM Systems Journal 
- Blaauw, G. A., and Brooks, F.P., Jr., "The Structure of System/360, Part I-Outline of the Logical Structure", IBM Systems Journal, vol. 3, no. 2, pp. 119–135, 1964.
- Stevens, W. Y., The structure of SYSTEM/360, Part II: System implementations", IBM Systems Journal, Volume 3, Number 2/3, Page 136 (1964)
- Amdahl, G. M., "The structure of SYSTEM/360, Part III: Processing unit design considerations", IBM Systems Journal, Volume 3, Number 2/3, Page 144 (1964)
- Padegs, A., "The structure of SYSTEM/360, Part IV: Channel design considerations", IBM Systems Journal, Volume 3, Number 2/3, Page 165 (1964)
- Blaauw, G.A., " The structure of SYSTEM/360, Part V: Multisystem organization", IBM Systems Journal, Volume 3, Number 2/3, Page 181 (1964)
- Tucker, S. G., "Microprogram control for SYSTEM/360" IBM Systems Journal, Volume 6, Number 4, pp. 222–241 (1967)
- IBM's announcement of the System/360
- Generations of the IBM 360/370/3090/390 by Lars Poulsen with multiple links and references
- Several photos of a dual processor IBM 360/67 at the University of Michigan's academic Computing Center in the late 1960s or early 1970s are included in Dave Mills' article describing the Michigan Terminal System (MTS)
- Pictures of an IBM System/360 Model 67 at Newcastle (UK) University
- Video of a two-hour lecture and panel discussion entitled The IBM System/360 Revolution, from the Computer History Museum on 2004-04-07
- scanned manuals of IBM System/360 — at bitsavers.org
- Description of a large IBM System/360 model 75 installation at JPL
- "The Beginning of I.T. Civilization - IBM's System/360 Mainframe" by Mike Kahn
- Illustrations from “Introduction to IBM Data Processing Systems”, 1968: contains photographs of IBM System/360 computers and peripherals
- Dates of announcement, first ship and withdrawal of all models of the IBM System/360
- IBM System 360 RPG Debugging Template and Keypunch Card