IBM 305 RAMAC
Developer | IBM |
---|---|
Manufacturer | IBM |
Release date | September 14, 1956 |
Introductory price | US$3,200 (equivalent to $34,700 in 2023) per month |
Discontinued | 1961 |
Units sold | More than 1,000 |
Successor | IBM 1401 |
Website | www |
The IBM 305 RAMAC was the first commercial computer that used a moving-head
History
RAMAC was developed and manufactured at IBM's research facility in San Jose, California. In 1959, IBM's CEO Thomas J. Watson Jr. exhibited the RAMAC in Moscow. This led to a visit by Soviet leader Nikita Khrushchev to IBM's San Jose facility.[6]
The first RAMAC to be used in the U.S. auto industry was installed at
During the
More than 1,000 systems were built. Production ended in 1961; the RAMAC computer became obsolete in 1962 when the
Overview
The first hard disk unit was shipped September 13, 1956.[7] 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 cards.[5]
The 305 was one of the last vacuum tube computers that IBM built. It weighed over a ton.[8]
The
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 meters (16 sq ft). Currie Munce, research vice president for
Programming the 305 involved not only writing
Architecture
This section needs additional citations for verification. (September 2013) |
System architecture was documented in the 305 RAMAC Manual of Operation.[4] The 305 was a character-oriented
Each character was six bits – plus one odd parity bit ("R") – composed of two zone bits ("X" and "O") and remaining four binary bits for the value of the digit in the following format:
X O 8 4 2 1 R
- 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 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.
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 I |
Instruction 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 | — | Multiply (1 to 11 characters) Stores 2 to 20 character product in accumulators 0 & 1 |
P | — | Divide (option) |
K | 380 Punched card input | — |
S T | — | 323 Punched card output, 370 Printer Output, 407 Printer output |
Q | 380 Inquiry input/output | |
J | — | 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 "
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, via distributors, to Program entry hubs specifying the first, second and third address digit of 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.
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 – Printer
- IBM 323 – Card punch
- IBM 380 – Console, the card reader and IBM Electric typewritermodel B1
- IBM 340 – Power supply
See also
- List of vacuum tube computers
- History of hard disk drives
References
- ^ Preimesberger, Chris (2006-09-08). "IBM Builds on 50 Years of Spinning Disk Storage". eWeek.com. Retrieved 2012-10-16.
- ^ a b 650 RAMAC announcement The 305 RAMAC and the 650 RAMAC were internally announced on September 4, 1956.
- ^ I.B.M. To Put Out New 'Think' Units, New York Times, September 14, 1956
- ^ a b 305 RAMAC Manual of Operation, IBM, April 1957.
- ^ a b IBM RAMAC promotional film
- ISBN 978-1-5417-6852-9.
- ^ Steven Levy, "The Hard Disk That Changed the World" Newsweek, August 7, 2006
- ^ Weik, Martin H. (March 1961). "IBM 305 RAMAC". ed-thelen.org. A Third Survey of Domestic Electronic Digital Computing Systems. See SUNOCO Philadelphia.
- ^ "RAMAC 305 Customer Engineering Manual of Instruction" (PDF). IBM Corp., 1959. pp. 7–8 and 85.
- ^ Lee Gomes, "Talking Tech" The Wall Street Journal, August 22, 2006
External links
- IBM 305 RAMAC Data Processing System
- IBM Archives on the 305
- IBM 350 RAMAC site originally prepared under the supervision of the Storage Special Interest Group of the Computer History Museum
- Youtube video