

IBM 305 at U. S. Army Red River Arsenal
Foreground: Two 350 disk drives. Background:380 console and 305 processing unit.
The
IBM 305 RAMAC was the first commercial computer that used a moving head hard disk drive (magnetic
disk storage) for secondary storage.
IBM introduced the storage unit on
September 4,
1956 before unveiling the entire computer nine days later on
September 13.
[1][2][3] RAMAC stood for "Random Access Method of Accounting and Control". Its design was motivated by the need to replace the
punch card tub file used by most businesses at the time. 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-bits plus 1 odd
parity bit) characters (about 4.4 MB). It had fifty 24-inch diameter 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 1000 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.


One storage disk.
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, punch card data collection, and a central printing facility.
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) was programmed by inserting wire jumpers into a
plug-board.
The original 305 RAMAC computer system could be housed in a room of about 9 m (30') by 15 m (50'); the 350 disk storage unit measured around 1,5 m² (5' square). The first hard disk unit was shipped Sept. 13, 1956
[4]. 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.
In an interview
[5] published in the
Wall Street Journal with Currie Munce, research vice president for
Hitachi Global Storage Technologies, which acquired the IBM's storage business, said the entire RAMAC unit weighed over a ton and had to be moved around with forklifts and delivered via large cargo airplanes. According to Munce, while the storage capacity of the drive could have been increased above five megabytes, the marketing department at IBM 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 memory 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 1 2 4 8 R
Instructions 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 plug-board 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 | N/A | Multiply (1 to 11 characters) Stores 2 to 20 character product in accumulators 0 & 1 |
| P | N/A | Divide (option) |
| K | 380 Punch Card Input | N/A |
| S T | N/A | 323 Punch Card Output, 370 Printer Output, 407 Printer Output |
| Q | 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 "
Accumulators". 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.
Jumps
The 305's instruction set does not include any jumps, instead these are programmed on the plug-board:
- Unconditional jump – the program exit code (P field) specifies a Program exit hub on the plug-board, 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 plug-board, 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 plug-board 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 (30ms): 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 (20ms) 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 (10ms).
Certain instructions though took far longer than the typical 30ms to 50ms. For example, multiply took six to nineteen revolutions of the drum (60ms to 190ms) and divide (an option) took ten to thirty seven revolutions of the drum (100ms to 370ms). 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 typewriter model B1 |
| IBM 340 | – | Power Supply | |
External links
Footnotes
Disk storage is a general category of a computer storage mechanisms, in which data is recorded on planar, round and rotating surfaces (disks, discs, or platters). A disk drive is a peripheral device used to collect information from.
..... Click the link for more information.
International Business Machines Corporation
Public (NYSE: IBM )
Founded 1889, incorporated 1911
Headquarters Armonk, New York, USA
Key people Samuel J.
..... Click the link for more information.
September 4 is the 1st day of the year (2nd in leap years) in the Gregorian calendar. There are 0 days remaining.
Events
..... Click the link for more information. 19th century - 20th century - 21st century
1920s 1930s 1940s - 1950s - 1960s 1970s 1980s
1953 1954 1955 - 1956 - 1957 1958 1959
Year 1956 (MCMLVI
..... Click the link for more information.
September 13 is the 1st day of the year (2nd in leap years) in the Gregorian calendar. There are 0 days remaining.
Events
..... Click the link for more information. punch card or punched card (or punchcard or Hollerith card or IBM card), is a piece of stiff paper that contains digital information represented by the presence or absence of holes in predefined positions.
..... Click the link for more information.
The tub file was an early, primitive random access memory technology in which pre-punched punch cards that contained frequently used information were stored in a file for reuse.
..... Click the link for more information.
vacuum tube, electron tube (inside North America), thermionic valve, or just valve (elsewhere); is a device used to amplify, switch, otherwise modify, or create an electrical signal by controlling the movement of electrons in a low-pressure space, often not
..... Click the link for more information.
A parity bit is a binary digit that indicates whether the number of bits with value of one in a given set of bits is even or odd. Parity bits are used as the simplest error detecting code.
There are two types of parity bits: even parity bit and odd parity bit.
..... Click the link for more information.
Servo may refer to:
- Servomechanism, or servo, a device used to provide control of a desired operation through the use of feedback
- Servo drive, a special electric amplifier used to power electric servo motors
..... Click the link for more information. The IBM 1401, the first member of the IBM 1400 series, was a variable wordlength decimal computer that was announced by IBM on October 5, 1959. It was withdrawn on February 8, 1971.
..... Click the link for more information.
1960 Winter Olympics, officially known as the VIII Olympic Winter Games, were celebrated in 1960 in Squaw Valley, California, United States (located in the Lake Tahoe basin). Squaw Valley won the bid in 1955.
..... Click the link for more information.
Machine code or machine language is a system of instructions and data directly executed by a computer's central processing unit. Machine code is the lowest-level of abstraction for representing a computer program.
..... Click the link for more information.
Drum memory was an early form of computer memory that was widely used in the 1950s and into the 1960s, invented by Gustav Tauschek in 1932 in Austria. For many machines, a drum
..... Click the link for more information.
plug-board, or, more formally, a control panel, was a device used to direct the operation of unit record equipment (and some early computers) built by IBM and other companies during the punch card era.
..... Click the link for more information.
Type Daily newspaper
Format Broadsheet
Owner Dow Jones & Company
(Sale Pending to News Corp.)
Publisher L. Gordon Crovitz
Editor Marcus Brauchli
Founded July 8, 1889
Language English
Headquarters 200 Liberty Street
New York, NY 10281
..... Click the link for more information. Hitachi Global Storage Technologies is a wholly owned subsidiary of Hitachi, Ltd.
Summary
Hitachi purchased IBM's hard disk drive division, integrated their own HDD operations, and launched the company in 2003.
..... Click the link for more information. Drum memory was an early form of computer memory that was widely used in the 1950s and into the 1960s, invented by Gustav Tauschek in 1932 in Austria. For many machines, a drum
..... Click the link for more information.
Revolutions per minute (abbreviated rpm, RPM, r/min, or r·min−1) is a unit of frequency: the number of full rotations completed in one minute around a fixed axis.
..... Click the link for more information.
Alphanumeric is a collective term used to identify letters of the Latin alphabet and Arabic digits. There are either 36 (single case) or 62 (case-sensitive) alphanumeric characters. The alphanumeric character set consists of the numbers 0 to 9 and letters A to Z.
..... Click the link for more information.
Magnetic core memory, or ferrite-core memory, is an early form of computer memory. It uses small magnetic ceramic rings, the cores, to store information via the polarity of the magnetic field they contain.
..... Click the link for more information.
instruction set is (a list of) all instructions, and all their variations, that a processor can execute.
Instructions include:
- arithmetic such as add and subtract
- logic instructions such as and, or, and not
..... Click the link for more information. In computer science, an opcode (Operation Code) is the portion of a machine language instruction that specifies the operation to be performed. Their specification and format will be laid out in the instruction set architecture (ISA) of the computer hardware component
..... Click the link for more information.
fixed-point number representation is a real data type for a number that has a fixed number of digits before and after the radix point (e.g. "." in English decimal notation).
..... Click the link for more information.
signed numbers: sign-and-magnitude, ones' complement, two's complement, and excess-N.
For most purposes, modern computers typically use the two's-complement representation, but other representations are used in some circumstances.
..... Click the link for more information.
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 (addition, multiplication, shift, etc.
..... Click the link for more information.
In mathematics and computing, the method of complements is a technique used to subtract one number from another using only addition of positive numbers. This method was commonly used in mechanical calculators and is still used in modern computers.
..... Click the link for more information.
relay is an electrical switch that opens and closes under the control of another electrical circuit. In the original form, the switch is operated by an electromagnet to open or close one or many sets of contacts. It was invented by Joseph Henry in 1835.
..... Click the link for more information.
For the IBM mainframe computer, see .
The
IBM 370 printer was used on the IBM 305 RAMAC computer system, introduced by IBM on September 14, 1956.
..... Click the link for more information. The IBM Electric typewriters were a series of electric typewriters that IBM manufactured, starting in the late 1940s. They used the conventional moving carriage and hammer mechanism.
..... Click the link for more information.