System/3
   HOME

TheInfoList



OR:

The IBM System/3 was an IBM
midrange computer Midrange computers, or midrange systems, were a class of computer systems that fell in between mainframe computers and microcomputers. This class of machine emerged in the 1960s, with models from Digital Equipment Corporation ( PDP line), Data Ge ...
introduced in 1969, and marketed until 1985. It was produced by
IBM Rochester IBM Rochester is the facility of IBM in Rochester, Minnesota. The initial structure was designed by Eero Saarinen, who clad the structure in blue panels of varying hues after being inspired by the Minnesota sky, as well as IBM's nickname of " Bi ...
in
Minnesota Minnesota () is a state in the upper midwestern region of the United States. It is the 12th largest U.S. state in area and the 22nd most populous, with over 5.75 million residents. Minnesota is home to western prairies, now given over t ...
as a low-end business computer aimed at smaller organizations that still used
IBM 1400 series The IBM 1400 series were second-generation (transistor) mid-range business decimal computers that IBM marketed in the early 1960s. The computers were offered to replace tabulating machines like the IBM 407. The 1400-series machines stored infor ...
computers or
unit record equipment Starting at the end of the nineteenth century, well before the advent of electronic computers, data processing was performed using electromechanical machines collectively referred to as unit record equipment, electric accounting machines (EAM) or ...
. The first member of what IBM refers to as their "midrange" line, it also introduced the
RPG II RPG II is a very early and popular version of the IBM RPG programming language. It was developed in the late 1960s and designed to work on the smallest IBM systems of the time such as the IBM 1130, IBM System/3, System/32, System/34, System/36. ...
programming language. It is the first ancestor in the
product line Product may refer to: Business * Product (business), an item that serves as a solution to a specific consumer problem. * Product (project management), a deliverable or set of deliverables that contribute to a business solution Mathematics * Produ ...
whose current version is the
IBM i IBM i (the ''i'' standing for ''integrated'') is an operating system developed by IBM for IBM Power Systems. It was originally released in 1988 as OS/400, as the sole operating system of the IBM AS/400 line of systems. It was renamed to i5/OS i ...
series and includes the highly successful
AS/400 The IBM AS/400 (Application System/400) is a family of midrange computers from IBM announced in June 1988 and released in August 1988. It was the successor to the System/36 and System/38 platforms, and ran the OS/400 operating system. Lower-co ...
.


History

At its launch in 1969 it was available for $1000/month — less than half cost of an IBM System/360 Model 20; the smallest member of the IBM System/360 family. Many of the original System/3 model 10 units were shipped diskless, with only the new IBM 5424 Multifunction Card Unit (MFCU) which read, punched, printed on and sorted the new, smaller 96-column punched cards introduced at the same time. IBM delivered the following models: * 1969 — IBM 5410, or System/3 Model 10, introduced (shipped in 1970) * 1970 — IBM 5406, or System/3 Model 6, introduced (disk-oriented system) * 1973 — IBM 5415, or System/3 Model 15, introduced * 1974 — IBM 5408, or System/3 Model 8, introduced * 1975 — IBM 5412, or System/3 Model 12, introduced * 1976 — IBM 5404, or System/3 Model 4, introduced The System/3 and successor models
System/32 The IBM System/32 (IBM 5320) introduced in January 1975 was a midrange computer with built-in display screen, disk drives, printer, and database report software. It was used primarily by small to midsize businesses for accounting applications. R ...
,
System/34 The IBM System/34 was an IBM midrange computer introduced in 1977. It was withdrawn from marketing in February 1985. It was a multi-user, multi-tasking successor to the single-user System/32. It included two processors, one based on the System ...
, System/36 and
System/38 The System/38 is a discontinued minicomputer and midrange computer manufactured and sold by IBM. The system was announced in 1978. The System/38 has 48-bit addressing, which was unique for the time, and a novel integrated database system. It w ...
are generally referred to in IBM terminology as "midrange systems" — in contrast to IBM's mainframes.


Hardware

The IBM System/3 was announced as a computer system that initially consisted of: * IBM 5410 Model 10 Central Processing Unit * IBM 5424 Multi Functional Card Unit (MFCU) * IBM 5203 Line Printer * IBM 5444 Disk Storage (optional) * IBM 5471 Printer Keyboard * IBM 5475 Data Entry Keyboard * IBM 5496 Data Recorder, a keypunch machine with print and verify functions * IBM 5486 Card Sorter


Memory

Entry models had as little as 4K (4096) bytes of
magnetic-core memory Magnetic-core memory was the predominant form of random-access computer memory for 20 years between about 1955 and 1975. Such memory is often just called core memory, or, informally, core. Core memory uses toroids (rings) of a hard magnet ...
.


Direct access storage

For mass storage, the System/3 used the IBM 5444 single-platter disk, roughly the size of a large pizza; initially each platter held 2.5 MB of data. Standard configuration for storage was one or two fixed disks, each in a separate pull-out drawer, which typically held the operating system and user-developed programs. Additionally, each fixed disc could have a removable cartridge disk attached; these typically contained the data-files associated with various applications, for example Payroll, and users frequently had a number of them. Thus the low-end systems could support a maximum of 10 MB of online storage (two fixed, two removable), although in practice this was very expensive and not common. The System/3 was also available with the IBM 5445 disk drive (20mb) and later the model 15 allowed "winchester" style 3340 drives. On the smaller models, while you could attach 5445 drives, you had to keep the 5444 for the operating system and other programming libraries, however that limitation was changed with software called elimn8 which allowed 5445 drives to totally replace the 5444's. Other companies such as Memorex manufactured compatible 5445 drives for the System/3.


Multi-Function Card Unit

The most common punched-card device was IBM 5424 Multifunction Card Unit (MFCU) which read, punched, printed on and sorted the new, smaller 96-column
punched card A punched card (also punch card or punched-card) is a piece of stiff paper that holds digital data represented by the presence or absence of holes in predefined positions. Punched cards were once common in data processing applications or to di ...
s. Instead of the rectangular punches in the classic 80-column IBM card, the new cards had tiny (1 mm), circular holes much like
paper tape Five- and eight-hole punched paper tape Paper tape reader on the Harwell computer with a small piece of five-hole tape connected in a circle – creating a physical program loop Punched tape or perforated paper tape is a form of data storage ...
. Data was stored in six-bit
binary-coded decimal In computing and electronic systems, binary-coded decimal (BCD) is a class of binary encodings of decimal numbers where each digit is represented by a fixed number of bits, usually four or eight. Sometimes, special bit patterns are used ...
code, with three rows of 32 characters each, or in 8-bit
EBCDIC Extended Binary Coded Decimal Interchange Code (EBCDIC; ) is an eight- bit character encoding used mainly on IBM mainframe and IBM midrange computer operating systems. It descended from the code used with punched cards and the corresponding ...
, with the two extra holes located in the top rows. The new cards had room for 128 printed characters in four rows of 32 characters each. They were about 1/3 the size of the older 80 column cards but held 20% more text data. The smaller, and thus lighter card could be processed with faster equipment and with fewer jams. Available as ''RPQ''s (special order equipment) to handle 80-column cards were the IBM 2560 Multifunction Card Machine (MFCM) which could read, punch, interpret and sort, and the
IBM 1442 IBM 1442 is a combination IBM card reader and card punch. It reads and punches 80-column IBM-format punched cards and is used on the IBM 1440, the IBM 1130, the IBM 1800 and System/360 and is an option on the IBM System/3. Overview The 1442 can ...
which could only read and punch.


Magnetic tape

Offline storage was available with the purchase of an external tape drive which read and wrote standard IBM
9 track tape 9 (nine) is the natural number following and preceding . Evolution of the Arabic digit In the beginning, various Indians wrote a digit 9 similar in shape to the modern closing question mark without the bottom dot. The Kshatrapa, Andhra and ...
. The System/3 Mod 10 optionally included the IBM 3410 magnetic tape subsystem.


Operator Console Facility

The System/3 Operator Console Facility (OCF) consisted of either a modified
IBM Selectric typewriter The IBM Selectric typewriter was a highly successful line of electric typewriters introduced by IBM on 31 July 1961. Instead of the "basket" of individual typebars that swung up to strike the ribbon and page in a typical typewriter of the peri ...
interfaced into the computer, or a special purpose
IBM 3270 The IBM 3270 is a family of block oriented display and printer computer terminals introduced by IBM in 1971 and normally used to communicate with IBM mainframes. The 3270 was the successor to the IBM 2260 display terminal. Due to the te ...
display. Within the OCF, there was capability to 'cancel' processes and/or tasks that were running, including either partition (P1 or P2). The system could only run two programs simultaneously, except for the model 15 or systems running the Communications Control program, CCP. The CCP was a system control programming feature that allowed to support an online network of
terminal Terminal may refer to: Computing Hardware * Terminal (electronics), a device for joining electrical circuits together * Terminal (telecommunication), a device communicating over a line * Computer terminal, a set of primary input and output devi ...
s.


Printers

A smaller (IBM 5203) printer was attached to the main system. The 5203 was a chain printer with interchangeable cartridges. It could run at 100 or 200 lines per minute, based on model. Later on, IBM offered multiple models of the existing
IBM 1403 The IBM 1403 line printer was introduced as part of the IBM 1401 computer in 1959 and had an especially long life in the IBM product line. Description The original model can print 600 lines of text per minute and can skip blank lines at up to ...
printer line, which had been originally built for the
IBM 1401 The IBM 1401 is a variable-wordlength decimal computer that was announced by IBM on October 5, 1959. The first member of the highly successful IBM 1400 series, it was aimed at replacing unit record equipment for processing data stored on pu ...
computer.


Floppy disk

With the arrival of the IBM 3740 data entry system, the System/3 Model 10 got a feature called LCA (local communication adaptor) which allowed an IBM 3741 station to be "attached" to the system to transmit/receive data. Later models of the System/3 such as the Model 8 were cardless and used the 8" 3740 style floppy disk.


Instruction set

The
instruction set In computer science, an instruction set architecture (ISA), also called computer architecture, is an abstract model of a computer. A device that executes instructions described by that ISA, such as a central processing unit (CPU), is called an ...
was optimised for two key aspects of the product: limited availability of main memory, and the RPG II programming language. The original S/3 (models 10 and then 6, 8 and 12) had 29 instructions, all occupying between 3 and 6 bytes (24 to 48 bits). The first 4 bits conveyed a lot of information: "1111" meant this was an instruction without operands, known as a command. e.g. Start I/O (the I/O op being defined by previously loaded I/O registers). "11xx" and "xx11" meant a 1-operand instruction, such as a Branch. If xx was 00 the operand was addressed by its full 16-bit address. xx=01 or 10 meant base-displacement addressing was used, using index register 1 or 2 respectively. A base address would previously have been loaded into one of the two index registers and the instruction contained the displacement of up to just 256 bytes (8 bits of addressing). Other patterns for this first
half-byte In computing, a nibble (occasionally nybble, nyble, or nybl to match the spelling of byte) is a four- bit aggregation, or half an octet. It is also known as half-byte or tetrade. In a networking or telecommunication context, the nibble is oft ...
indicated a 2-operand instruction. "0000" meant both operands were addressed by their direct 16-bit address. "0100": operand 1 uses reg 1 as its base; operand 2 uses direct addressing. "0110": operand 1 uses reg 1 as its base, operand 2 uses reg 2. And so on. The remaining 4 bits of the first byte further defined the instruction. This structure meant that there was the capability to have up to 64 operations in all: 16 commands (though there were never more than five across the whole product range); 16 1-operand instructions starting with 11xx; 16 1-operand instructions starting with xx11; 16 2-operand instructions. As well as the two index registers already mentioned (referred to as 1 and 2, or binary 01 and 10) there were other registers. "Reg 4" (0100) was the instruction address register (IAR) which pointed at the current instruction. "Reg 8" (1000) was the address recall register (ARR), set by certain instructions. Among these was the conditional branch (mnemonic BC) which used it to point to the byte immediately following the branch operation. For programmers used to IBM mainframe behaviour, this meant that the S/3 branch operation could be likened to a conditional BALR (branch and link register) – very useful when branching to a sub-routine, and returning after it had processed. Finally, "Reg 16" (00010000) was the program status register (PSR), holding such things as the results of a compare instruction. Note that registers were used only for addressing and program status, not for arithmetic. The arithmetic instructions provided among the 29 instructions were binary add/subtract (provided to help manipulate addresses) and decimal add/subtract. Multiplication and division were not provided for by the standard hardware, and had to be handled by software routines. There was no floating point provision at all. All this continued to be true even with the later and generally more sophisticated Systems/34 and 36. All the above got more complicated with the System/3 model 15, and the Systems/34 and /36. Though still using 16-bit addressing, all these systems could support well over 64K of main storage (up to 512K and theoretically more), so address translation was used to swap from one 64K address space to another. Address Translation Registers were set to define the actual address space in use at any one time, their contents being concatenated with the 16-bit address used by a program to produce a real address. These "ATRs" were privileged, available only to the operating system. The original S/3 model 10 (and the later model 12) had an optional crude form of multi-programming called the Dual Program Feature. This provided no more main memory addressing, but gave two sets of registers and instructions which flipped from one "program level" to the other. The standard I/O instructions were also modified to flip when an I/O was started. So far, only the first byte of the instruction has been explained here. The next ("Q") byte was generally a qualifier, such as specifying the number of bytes to be moved in a move characters op or the condition to test for in a Branch. A couple of instructions used this byte for a 1-byte "immediate" operand. The remaining byte(s) were for the displacement(s) or address(es) for operands, or the details for some commands. An example: a simple command, Conditional Jump, a special type of conditional branch (forward only, up to 256 bytes) suitable mainly for jumping over short blocks of code: Op code byte= F2 (this is in hexadecimal, Hex F is binary 1111, Hex 2 (0010) defines the op); Q byte= 00000001 specifies that we "jump" if the condition register has the "equal" bit on; Operand= 00011000: if the condition is met we jump forward 24 bytes. Indicators were binary switches used to control program flow. Over 100 of these were available to the programmer. By using the instruction formats explained above, many of the indicator-oriented operations could be fit into just 3 bytes. For example, a line of RPG might test an indicator for "On": 3 bytes for a "Test Bits On" op; then 3 bytes for a Jump, as previously described, and useful to the RPG compiler. Saving the odd byte here and there was good when you had only 64K to play with—and, on the S/3 itself, that had to include the operating system (which grew to about 20K on the model 10 with the introduction of the "Communication Control Program", CCP).


Operation Control Language

A simple job control language called Operation Control Language (OCL) was superficially similar to the
Job Control Language Job Control Language (JCL) is a name for scripting languages used on IBM mainframe operating systems to instruct the system on how to run a batch job or start a subsystem. More specifically, the purpose of JCL is to say which programs to run, u ...
(JCL).


Operator control commands

Operator control commands (OCCs) were used to communicate with the system.


Languages

The System/3 supported
RPG II RPG II is a very early and popular version of the IBM RPG programming language. It was developed in the late 1960s and designed to work on the smallest IBM systems of the time such as the IBM 1130, IBM System/3, System/32, System/34, System/36. ...
, Fortran IV,
COBOL COBOL (; an acronym for "common business-oriented language") is a compiled English-like computer programming language designed for business use. It is an imperative, procedural and, since 2002, object-oriented language. COBOL is primarily u ...
, and ''
Assembler Assembler may refer to: Arts and media * Nobukazu Takemura, avant-garde electronic musician, stage name Assembler * Assemblers, a fictional race in the ''Star Wars'' universe * Assemblers, an alternative name of the superhero group Champions of ...
''.G360-0002-0


RPG II compiler

The System/3 came standard with a
RPG II RPG II is a very early and popular version of the IBM RPG programming language. It was developed in the late 1960s and designed to work on the smallest IBM systems of the time such as the IBM 1130, IBM System/3, System/32, System/34, System/36. ...
compiler. In a card-only system, the RPG II compiler was supplied as two phases. The first phase would be booted from one input hopper of the MFCU, and the source would then be read following the compiler. An intermediate form was punched on cards, which were then read by the second phase of the compiler. An executable program deck was then punched. This executable could then be booted ("IPL'ed", for "Initial Program Load") to perform the processing desired. This process could require more than an hour for a significant-sized program.


Problems with System/3

The System/3 had no provision for halting a process once it had started to run. For instance, if a compile failed because of an error on the very first page, the user had to wait for a sometimes voluminous compile listing to print in its entirety. Users learned to reach under the printer and jostle the paper discharge chute, which would cause the machine to halt with a "P3" (printer error) displayed. The user could then dial in the response code FF to abort the run. Another way of stopping it was simply to press the green "Start" button on the console, causing the system to reboot. Error codes were displayed on a two-digit
seven-segment display A seven-segment display is a form of electronic display device for displaying decimal numerals that is an alternative to the more complex dot matrix displays. Seven-segment displays are widely used in digital clocks, electronic meters, bas ...
(one of the first seen, and built with lamps rather than LEDs). The range of error codes included not only decimal and hexadecimal digits (as seven-segment displays are commonly used) but also a limited set of other letters; for example, "P3" was one of several printer error codes. A thick manual that came with the System/3 aided the operator in interpreting the error codes and suggested recovery procedures. The System/3 had no audible warning device, so a program that was not printing, reading cards, or causing other obvious activity could halt and the operator would not know it unless they happened to look at the status display. Models with the Dual Program Feature had two separate status displays. Most/many users did not buy a console. Instead OCL code was either suppressed entirely or printed on the 5203 printer. The console offered by IBM slowed down program execution tremendously when it printed OCL commands, as it was basically a selectric typewriter. The concept of keying your punched cards through the console was a marketing ploy. In reality, the System/3 could not be a computer and a keypunch at the same time, so when it was a keypunch, no computing was possible. The original IBM System/3, which was shown in July 1969, had the keypunch console so they could offer a computer for under $2,000/month. In reality it was unworkable and almost invariably users acquired a stand-alone keypunch/verifier. Later several OEM companies built 96-column keypunches, sorters, and collators. This took the 'heavy lifting' off of the MFCU and freed the System/3 for actual computing functions. Most experienced System/3 users minimized use of the MFCU as much as possible, since it was a system bottleneck.


Emulation

The later
System/32 The IBM System/32 (IBM 5320) introduced in January 1975 was a midrange computer with built-in display screen, disk drives, printer, and database report software. It was used primarily by small to midsize businesses for accounting applications. R ...
,
IBM System/34 The IBM System/34 was an IBM midrange computer introduced in 1977. It was withdrawn from marketing in February 1985. It was a multi-user, multi-tasking successor to the single-user System/32. It included two processors, one based on the System/ ...
and
IBM System/36 The IBM System/36 (often abbreviated as S/36) was a midrange computer marketed by IBM from 1983 to 2000 - a multi-user, multi-tasking successor to the System/34. Like the System/34 and the older System/32, the System/36 was primarily progr ...
were all able to run System/3 applications through emulation. The System/32 used a vertically
microcode In processor design, microcode (μcode) is a technique that interposes a layer of computer organization between the central processing unit (CPU) hardware and the programmer-visible instruction set architecture of a computer. Microcode is a la ...
d processor, with 16-bit microcode words, which emulated the System/3 instruction set, rather slowly, in microcode. The System/34 and System/36 both had two processors: a Control Storage Processor (CSP), as in System/32, which handled most supervisor and input/output operations, and a Main Storage Processor (MSP). This latter was a re-implementation of the System/3 model 15 processor; effectively providing "hardware emulation" of the System/3.


See also

*
Distributed Data Management Architecture Distributed Data Management Architecture (DDM) is IBM's open, published software architecture for creating, managing and accessing data on a remote computer. DDM was initially designed to support record-oriented files; it was extended to support ...
*
IBM System/370 The IBM System/370 (S/370) is a model range of IBM mainframe computers announced on June 30, 1970, as the successors to the System/360 family. The series mostly maintains backward compatibility with the S/360, allowing an easy migration path ...


References


Further reading

*"Everything You Always Wanted to Know About the System/3 But Nobody Told You" by Charlie Massoglia *"System/3 Disk Sort as a Programming Language" by Charlie Massoglia *"System/3 Programming RPG II" by Solomon Martin Bernard, 1972, *"An introduction to computing: IBM System/3" by Jerome T. Murray, 1971, *"Business System with Punched card data processing and System/3 Model 10", by F. R. Crawford, 1973,


External links

*
Original vintage film from about 1969
Computer History Archives Project


IBM System/3 website

IBM System/3 Models 8, 10, 12, and 15 Components Reference Manual
{{DEFAULTSORT:Ibm System 3 System 03 16-bit computers