IBM 305
Encyclopedia
The IBM 305 RAMAC, publicly announced on September 13, 1956, was the first commercial computer that used a moving head hard disk drive (magnetic disk storage
) for secondary storage. RAMAC stood for "Random Access Method of Accounting and Control". Its design was motivated by the need for real-time accounting in business. The first RAMAC to be used in the US auto industry was installed at Chrysler
's MOPAR
Division in 1957. It replaced a huge tub file
which was part of MOPAR's parts inventory control and order processing system. The 305 was one of the last vacuum tube
computers that IBM built. The IBM 350 disk system stored 5 million 8-bit (7 data bits plus 1 parity bit
) characters. It had fifty 24 inches (609.6 mm) disks. Two independent access arms moved up and down to select a disk, and in and out to select a recording track, all under servo
control. Average time to locate a single record was 600 milliseconds. Several improved models were added in the 1950s. The IBM RAMAC 305 system with 350 disk storage leased for $3,200 per month in 1957 dollars, equivalent to a purchase price of about $160,000. More than 1,000 systems were built. Production ended in 1961; the RAMAC computer became obsolete in 1962 when the IBM 1405 Disk Storage Unit for the IBM 1401
was introduced, and the 305 was withdrawn in 1969.
The original 305 RAMAC computer system could be housed in a room of about 9 m (30 ft) by 15 m (50 ft); the 350 disk storage unit measured around 1.5 square metres (16.1 sq ft). The first hard disk unit was shipped September 13, 1956. The additional components of the computer were a card punch, a central processing unit, a power supply unit, an operator's console/card reader unit, and a printer. There was also a manual inquiry station that allowed direct access to stored records. IBM touted the system as being able to store the equivalent of 64,000 punched card
s.
Programming the 305 involved not only writing machine language instructions to be stored on the drum memory
, but also almost every unit in the system (including the computer itself) could be programmed by inserting wire jumpers into a plugboard
control panel.
During the 1960 Olympic Winter Games
in Squaw Valley (USA), IBM provided the first electronic data processing systems for the Games. The system featured an IBM RAMAC 305 computer, punched card data collection, and a central printing facility.
Currie Munce, research vice president for Hitachi Global Storage Technologies
(which has acquired IBM's hard disk drive business), stated in a Wall Street Journal interview that the RAMAC unit weighed over a ton, had to be moved around with forklifts, and was delivered via large cargo airplanes. According to Munce, the storage capacity of the drive could have been increased beyond five megabytes, but IBM's marketing department at that time was against a larger capacity drive, because they didn't know how to sell a product with more storage.
rotating at 6000 RPM that held 3200 alphanumeric
characters. A core memory buffer of 100 characters was used for temporary storage during data transfers.
Each character was 7 bits, composed of two zone bits ("X" and "O"), four BCD bits for the value of the digit, and an odd parity bit ("R") in the following format:
X O 8 4 2 1 R
Instructions
could only be stored on 20 tracks of the drum memory and were fixed length (10 characters), in the following format:
Fixed-point
data "words" could be any size from one decimal digit up to 100 decimal digits, with the X bit of the least significant digit storing the sign (signed magnitude
).
Data records could be any size from one character up to 100 characters.
The color code of this table is:
L and M select the same track, containing ten 10-character "Accumulator
s". As a destination L specifies addition, M specifies subtraction. (Numbers in these accumulators were stored in ten's complement form, with the X bit of the most significant digit storing the sign. The sign of each accumulator was also held in a relay
. However the 305 automatically converted between its standard signed magnitude format and this format without the need for special programming.)
J, R, and - do not select tracks on the drum, they specify other sources and destinations.
Reading or writing a character took 96 µs.
The 305's typical instruction took three revolutions of the drum (30 ms): one (I phase) to fetch the instruction, one (R phase) to read the source operand and copy it to the core buffer, and one (W phase) to write the destination operand from the core buffer. If the P field (Program exit code) was not blank, then two (D phase and P phase) additional revolutions of the drum (20 ms) were added to the execution time to allow relays to be picked. The Improved Processing Speed option could be installed that allowed the three instruction phases (IRW) to immediately follow each other instead of waiting for the next revolution to start; with this option and well optimized code and operand placement a typical instruction could execute in as little as one revolution of the drum (10 ms).
Certain instructions though took far longer than the typical 30 ms to 50 ms. For example, multiply took six to nineteen revolutions of the drum (60 ms to 190 ms) and divide (an option) took ten to thirty seven revolutions of the drum (100 ms to 370 ms). Input/Output instructions could interlock the processor for as many revolutions of the drum as needed by the hardware. Was built in 2010
Disk storage
Disk storage or disc storage is a general category of storage mechanisms, in which data are digitally recorded by various electronic, magnetic, optical, or mechanical methods on a surface layer deposited of one or more planar, round and rotating disks...
) for secondary storage. RAMAC stood for "Random Access Method of Accounting and Control". Its design was motivated by the need for real-time accounting in business. The first RAMAC to be used in the US auto industry was installed at Chrysler
Chrysler
Chrysler Group LLC is a multinational automaker headquartered in Auburn Hills, Michigan, USA. Chrysler was first organized as the Chrysler Corporation in 1925....
's MOPAR
Mopar
Mopar is the automobile parts and service arm of Chrysler Group LLC. The term was first used by Chrysler in the 1920s and has been in continuous use ever since. Mopar parts are original equipment manufactured parts for Chrysler vehicles...
Division in 1957. It replaced a huge tub file
Tub file
The tub file was an early random access memory technology in which pre-punched punched cards that contained frequently used information were stored in a file for reuse. Usually such tub files would contain a series of related data — one for each item sold in a store, for example — so that data...
which was part of MOPAR's parts inventory control and order processing system. The 305 was one of the last vacuum tube
Vacuum tube
In electronics, a vacuum tube, electron tube , or thermionic valve , reduced to simply "tube" or "valve" in everyday parlance, is a device that relies on the flow of electric current through a vacuum...
computers that IBM built. The IBM 350 disk system stored 5 million 8-bit (7 data bits plus 1 parity bit
Parity bit
A parity bit is a bit that is added to ensure that the number of bits with the value one in a set of bits is even or odd. Parity bits are used as the simplest form of error detecting code....
) characters. It had fifty 24 inches (609.6 mm) disks. Two independent access arms moved up and down to select a disk, and in and out to select a recording track, all under servo
Servomechanism
thumb|right|200px|Industrial servomotorThe grey/green cylinder is the [[Brush |brush-type]] [[DC motor]]. The black section at the bottom contains the [[Epicyclic gearing|planetary]] [[Reduction drive|reduction gear]], and the black object on top of the motor is the optical [[rotary encoder]] for...
control. Average time to locate a single record was 600 milliseconds. Several improved models were added in the 1950s. The IBM RAMAC 305 system with 350 disk storage leased for $3,200 per month in 1957 dollars, equivalent to a purchase price of about $160,000. More than 1,000 systems were built. Production ended in 1961; the RAMAC computer became obsolete in 1962 when the IBM 1405 Disk Storage Unit for the IBM 1401
IBM 1401
The IBM 1401 was 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 electromechanical unit record equipment for processing data stored on punched cards...
was introduced, and the 305 was withdrawn in 1969.
The original 305 RAMAC computer system could be housed in a room of about 9 m (30 ft) by 15 m (50 ft); the 350 disk storage unit measured around 1.5 square metres (16.1 sq ft). The first hard disk unit was shipped September 13, 1956. The additional components of the computer were a card punch, a central processing unit, a power supply unit, an operator's console/card reader unit, and a printer. There was also a manual inquiry station that allowed direct access to stored records. IBM touted the system as being able to store the equivalent of 64,000 punched card
Punched card
A punched card, punch card, IBM card, or Hollerith card is a piece of stiff paper that contains digital information represented by the presence or absence of holes in predefined positions...
s.
Programming the 305 involved not only writing machine language instructions to be stored on the drum memory
Drum memory
Drum memory is a magnetic data storage device and was an early form of computer memory widely used in the 1950s and into the 1960s, invented by Gustav Tauschek in 1932 in Austria....
, but also almost every unit in the system (including the computer itself) could be programmed by inserting wire jumpers into a plugboard
Plugboard
A plugboard, or control panel , is an array of jacks, or hubs, into which patch cords can be inserted to complete an electrical circuit. Control panels were used to direct the operation of some unit record equipment...
control panel.
During the 1960 Olympic Winter Games
1960 Winter Olympics
The 1960 Winter Olympics, officially known as the VIII Olympic Winter Games, were a winter multi-sport event held between February 18 and 28, 1960 in Squaw Valley, California, United States. In 1955 at the 50th IOC meeting, the organizing committee made the surprise choice to award Squaw Valley as...
in Squaw Valley (USA), IBM provided the first electronic data processing systems for the Games. The system featured an IBM RAMAC 305 computer, punched card data collection, and a central printing facility.
Currie Munce, research vice president for Hitachi Global Storage Technologies
Hitachi Global Storage Technologies
Hitachi Global Storage Technologies is a wholly owned subsidiary of Hitachi, Ltd., it is expected to be sold to Western Digital in third calendar quarter 2011. Hitachi GST developed hard disk drives, enterprise-class solid state drives, and external storage solutions and services used to store,...
(which has acquired IBM's hard disk drive business), stated in a Wall Street Journal interview that the RAMAC unit weighed over a ton, had to be moved around with forklifts, and was delivered via large cargo airplanes. According to Munce, the storage capacity of the drive could have been increased beyond five megabytes, but IBM's marketing department at that time was against a larger capacity drive, because they didn't know how to sell a product with more storage.
Architecture
The 305 was a character-oriented variable "word" length decimal (BCD) computer with a drum memoryDrum memory
Drum memory is a magnetic data storage device and was an early form of computer memory widely used in the 1950s and into the 1960s, invented by Gustav Tauschek in 1932 in Austria....
rotating at 6000 RPM that held 3200 alphanumeric
Alphanumeric
Alphanumeric is a combination of alphabetic and numeric characters, and is used to describe the collection of Latin letters and Arabic digits or a text constructed from this collection. There are either 36 or 62 alphanumeric characters. The alphanumeric character set consists of the numbers 0 to...
characters. A core memory buffer of 100 characters was used for temporary storage during data transfers.
Each character was 7 bits, composed of two zone bits ("X" and "O"), four BCD bits for the value of the digit, and an odd parity bit ("R") in the following format:
X O 8 4 2 1 R
Instructions
Instruction set
An instruction set, or instruction set architecture , is the part of the computer architecture related to programming, including the native data types, instructions, registers, addressing modes, memory architecture, interrupt and exception handling, and external I/O...
could only be stored on 20 tracks of the drum memory and were fixed length (10 characters), in the following format:
- T1 A1 B1 T2 A2 B2 M N P Q
Field positions Function T1 A1 B1 Source operand address – Track, low order AB character T2 A2 B2 Destination operand address – Track, low order AB character M N Length of operands (each operand must be entirely on its specified track) P Program exit code; used to select test conditions, perform jumps, and initiate input/output. The 305's control panel programming determines the action(s) performed. Q Control code; modifies the operation (similar to an op code), the default operation being a copy from source to destination. Other operations were: "1" Compare, "2" Field compare, "3" Compare & Field compare, "5" Accumulator reset, "6" Blank transfer test, "7" Compress & Expand, "8" Expand, "9" Compress
Fixed-point
Fixed-point arithmetic
In computing, a fixed-point number representation is a real data type for a number that has a fixed number of digits after the radix point...
data "words" could be any size from one decimal digit up to 100 decimal digits, with the X bit of the least significant digit storing the sign (signed magnitude
Signed number representations
In computing, signed number representations are required to encode negative numbers in binary number systems.In mathematics, negative numbers in any base are represented by prefixing them with a − sign. However, in computer hardware, numbers are represented in binary only without extra...
).
Data records could be any size from one character up to 100 characters.
Drum memory
The drum memory was organized into 32 tracks of 100 characters each.The color code of this table is:
- Yellow – Storage
- Blue – Arithmetic
- Green – Input/Output
- Red – Special function
Track Specifier Source Function Destination Function W X Y Z General Storage 0 1 2 3 4 5 6 7 8 9
& A B C D E F G H IInstruction Storage, General Storage L Read accumulator Add to accumulator M Read & clear accumulator Subtract from accumulator V Multiplicand (1 to 9 characters) or Divisor (1 to 9 characters) N N/A Multiply (1 to 11 characters)
Stores 2 to 20 character product
in accumulators 0 & 1P N/A Divide (option) K 380 Punched Card Input N/A S T N/A 323 Punched Card Output,
370 Printer Output,
407 Printer OutputQ 380 Inquiry Input/Output J N/A 350 File Address R 350 File Data Input/Output - Core buffer Character selector $ 382 Paper Tape Input/Output (option)
L and M select the same track, containing ten 10-character "Accumulator
Accumulator (computing)
In a computer's central processing unit , an accumulator is a register in which intermediate arithmetic and logic results are stored. Without a register like an accumulator, it would be necessary to write the result of each calculation to main memory, perhaps only to be read right back again for...
s". As a destination L specifies addition, M specifies subtraction. (Numbers in these accumulators were stored in ten's complement form, with the X bit of the most significant digit storing the sign. The sign of each accumulator was also held in a relay
Relay
A relay is an electrically operated switch. Many relays use an electromagnet to operate a switching mechanism mechanically, but other operating principles are also used. Relays are used where it is necessary to control a circuit by a low-power signal , or where several circuits must be controlled...
. However the 305 automatically converted between its standard signed magnitude format and this format without the need for special programming.)
J, R, and - do not select tracks on the drum, they specify other sources and destinations.
Jumps
The 305's instruction set does not include any jumps, instead these are programmed on the control panel:- Unconditional jump – the program exit code (P field) specifies a Program exit hub on the control panel, which has a wire plugged into it and the Program entry hub specifying the instruction to jump to.
- Conditional jump – the program exit code (P field) specifies a Program exit hub on the control panel, which has a wire plugged into it and the appropriate Condition selector common hub to be tested, the corresponding two Condition selector output hubs have wires plugged into them and the Program entry hubs specifying the instructions to jump to or the Program advance hub to continue in sequence. Complicated conditions involving many Condition selectors could be wired to execute in a single instruction (e.g., Testing the sign and zero states of multiple accumulators), with one of several Program entry hubs activated.
- Multi-way jump – the destination track (T2 field) is set to "-" and the appropriate Character selector hubs on the control panel have wires plugged into them and the Program entry hubs specifying the instructions to jump to or the Program advance hub to continue in sequence.
Timing
All timing signals for the 305 were derived from a factory recorded Clock Track on the drum. The clock track contained 816 pulses 12 µs apart with a 208 µs gap for sync.Reading or writing a character took 96 µs.
The 305's typical instruction took three revolutions of the drum (30 ms): one (I phase) to fetch the instruction, one (R phase) to read the source operand and copy it to the core buffer, and one (W phase) to write the destination operand from the core buffer. If the P field (Program exit code) was not blank, then two (D phase and P phase) additional revolutions of the drum (20 ms) were added to the execution time to allow relays to be picked. The Improved Processing Speed option could be installed that allowed the three instruction phases (IRW) to immediately follow each other instead of waiting for the next revolution to start; with this option and well optimized code and operand placement a typical instruction could execute in as little as one revolution of the drum (10 ms).
Certain instructions though took far longer than the typical 30 ms to 50 ms. For example, multiply took six to nineteen revolutions of the drum (60 ms to 190 ms) and divide (an option) took ten to thirty seven revolutions of the drum (100 ms to 370 ms). Input/Output instructions could interlock the processor for as many revolutions of the drum as needed by the hardware. Was built in 2010
Hardware implementation
The logic circuitry of the 305 was built of one and two tube pluggable units and relays.Related peripheral units
A basic system was composed of the following units:IBM 305 | – | Processing unit | The magnetic process drum, magnetic core register and electronic logical and arithmetic circuits |
IBM 350 | – | Disk Storage unit | |
IBM 370 IBM 370 The IBM 370 printer was used on the IBM 305 RAMAC computer system, introduced by IBM on September 14, 1956. The 370 was connected to the 305 by a serial data line from the S track of the computer's drum memory and printed 80-columns with a punched tape controlled carriage... |
– | Printer | |
IBM 323 | – | Card Punch | |
IBM 380 | – | Console | The Card Reader and IBM Electric typewriter IBM Electric typewriter The IBM Electric typewriters were a series of electric typewriters that IBM manufactured, starting in the mid-1930s. They used the conventional moving carriage and typebar mechanism, as opposed to the fixed carriage and type ball used in the IBM Selectric, introduced in 1961... model B1 |
IBM 340 | – | Power Supply | |