1951 | Univac I |
First data transfer overlapped with CPU processing |
Why it's important Early computer designs stalled the processing of instructions during I/O operations. With the typical multi-millesecond mechanical access delays of storage devices and storage transfer rates usually a small fraction of memory bandwidth, a significant portion of the computing resource was lost. Separate I/O buffer memory and storage device control of the UNIVAC-I significantly improved the system throughput..
Discussion: The UNIVAC I is the earliest commercial example of buffered/overlapped I/O for storage devices. Ten UNISERVO-I tapes drives (first commercial tape drive, metal tape) were the standard storage complement for this system. Main memory was a mercury acoustic delay line device, which stored data serially, with ten words per recirculate "channel". Total random access memory capacity was 1000 words.
Words were 12 "digits" of 6 bits each, encoding decimal numbers, upper case letters and 15 special characters. Numbers were encoded in an "excess three" format as this facilitated the serial decimal arithmetic calculations, which included floating point operations. Instructions were 6 characters, two per word. Registers and arithmetic paths were fully redundant and continuously cross checked for errors.
Once data was in the I register or was to be written to the O register, a single instruction caused the move of all 60 words from or to main memory. One restriction was that the starting memory location had to be a multiple of 10. This transfer (instruction execution time) occurred in 3.5 msec, or at 2.25 megabits per second, the serial bit rate of the main memory. Thus, the CPU time lost to I/O operations was as little as theoretically possible, one memory cycle per word transferred and zero processing time lost to mechanical operation of the storage device.
The UNIVAC-I was considerably ahead of its time with this technology, as multiple future generations of both UNIVAC and IBM computers would be shipped before "reinventing" overlapped I/O capability. For example, IBM's response to the U-I, the IBM-701 (and its successor the 702) which was introduced after the U-I, required that all I/O transfers pass through a single register in the central processor, thus making the computer unavailable for calculations when a tape read or write was pending.
As a "bonus" storage subsystem innovation, special logic provided a "boot from tape" operation with a single switch on the console that loaded one record of 120 instructions into memory locations 00 - 59. Again, many computers were shipped after the U-I without storage bootstrap ability
Additional Information:
PROGRAMMING FOR THE UNIVAC FAC-TRONIC SYSTEM, Univac Corp., January 1953. This UNIVAC-I programming manual is highly recommended to any student of computing history. In 269 pages it covers logic design, basic programming, numerical methods, and the details of the UNIVAC-I, a prodigious accomplishment in 1953..
From ENIAC to UNIVAC, An Appraisal of the Eckert-Mauchly Computers, Nancy Stern, Digital Press, 1981
A History of Modern Computing, Paul Ceruzzi, MIT Press, 1998
Provenance note: This article was authored by Grant Saviers and in Version 7 approved by a unit of the Computer History Museum's Storage SIG on July 30, 2009.