Much of the below information is based on the IBM 704 Manual of Operations written
in 1954. Check it out for a more detailed and complete overview.
What is the IBM 704 anyways?
In the words of the manual, "the IBM 704 Electronic Data-Processing Machine is a large-scale, high-speed
electronic calculator controlled by an internally stored program of the single address type." Let's break that down:
As depicted in the below photograph, the IBM 704 was clearly large-scale in size, but it was also extensive in its
usage. The 704 was designed to solve complex problems in large-scale settings, including science, business, government,
and industry. (You sure wouldn't find this computer in anyone's living room!) These complex problems require high-speed
computational power and versatility. To achieve both, every function of the machine is controlled by a stored
program, which can be built by the customer. On most problems, the IBM 704 could execute 40,000 instructions per second.
Why is it important to MIT's history?
The IBM 704 was not the first computer at MIT; that honor goes to Whirlwind. However, Project Whirlwind was introduced during
World War II and thus primarily used for war-related research. By 1950, Project Whirlwind became well-known and soon
MIT administration began considering the introduction of a computer for public use among MIT faculty and staff. The provost
created a committee for this issue, and it was chaired by Phillip M. Morse. In a few years, the committee
succeeded in establishing a Computation Center in building 26 housing an IBM 704, which Morse recommended and obtained for the Institute.
The 704 was MIT's first public computer. Since then, MIT has grown as a digital hotspot and changed communities near and far
with the technologies that stemmed from the introduction of the IBM 704. This
article explores how the IBM 704 contributed to
the rise of video games within the MIT community.
Image taken from the IBM 704 manual. Copyright 1954, 1955. Copyright renewal not found.
How was it better than previous models?
Several IBM models before the 704 incorporated a stored program to control the machine's operation. However, the 704
introduces high-speed magnetic cores for storage or memory, while previous models used electostatic or cathode ray tubes.
Another important advancement is the ability to perform floating-point arithmetic.
Visit this article on
IBM's website to find more information on the 704 data processing system and how it differs from earlier machines.
A High-Level Breakdown of Components:
- Magnetic Core Storage
This is the feature that sets the IBM 704 apart. Individual magnetic cores looked like pinhead-sized doughnuts and
were strung together on a complex of wires. The main advantage of this storage over others is the very small time needed
to extract information from the cores. This storage is analogous to RAM; information cannot be retained when power
is off.
- Magnetic Drum
When the magnetic core storage is not enough, the magnetic drums are used to hold and supply large amounts
of information for quick access. The 704 had eight drums, each of which could hold 2048 words. Because accessing
individual bits of information from the drums was slow, it was more efficient to reserve their usage for large blocks of
data. Contrary to magnetic cores, drums retained information when power is off, analogous to ROM storage.
- Magnetic Tape Units
Turns out those huge drums often did not provide enough memory, so the ten magnetic tape units
provided another place to store programs. Even larger quantities of information (as many as 900,000 words)
could be stored in each tape and then could be removed from the machine later. The tapes provided a compact and
convenient medium to store programs for future use.
- Card Punch and Card Reader
But how do you store programs on the magnetic core, drums, or tapes? Well, that's where the punch cards come in!
The desired instructions would be key punched on cards using the card punch, and then they would be read into the
machine with the card reader. The punch cards are how humans interacted with these giant computers.
- Central Processing Unit
As with modern computers, this is where the magic happens. The CPU performs all calculations, including
addition, multiplication, logical arithmetic, etc. The IBM 704's CPU was special because
it could perform floating point arithmetic.
Evidently, storage/memory was a primary concern for early computers. We sure have come a long way since the 1950's!