A Brief Journey inside the IBM 704

Montse Garza

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.

The IBM fills an entire room
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!