Sign in with
Sign up | Sign in

The IBM 704

A Complete History Of Mainframe Computing
By
The IBM 704

Announced in 1954, the IBM 704 was the first large-scale commercially-available computer system to employ fully automatic floating-point arithmetic commands and the first to use the magnetic core memory developed for the Whirlwind.

Core memory consisted of tiny doughnut-shaped metal pieces that were roughly the size of a pin-head with wires running through them, which could be magnetized in either direction, giving a logical value of zero or one. Core memory had a lot of important advantages, not the least of which was that it did not need power to maintain its contents (an advantage it holds over modern memory). It also allowed truly random access, where any memory location was accessed as quickly as any other (except when interleaving was used, of course). This was not the case with prior forms of memory. It was considerably faster than other memory technologies used, having an access time of 12 microseconds. Perhaps most importantly, however, was the much greater reliability that the IBM 704 offered.

For longer-term storage, the 704 used a magnetic drum storage unit. For additional storage, tapes capable of holding five million characters each were used.

The 704 was quite fast, being able to perform 4,000 integer multiplications or divides per second. However, as mentioned, it was also capable of doing floating point arithmetic natively and could perform almost 12,000 floating-point additions or subtractions per second. More than this, the 704 added index registers, which not only dramatically sped up branches, but also reduced program development time (since this was handled in hardware now).

The 704 pioneered two major technologies we have today: the index registers and floating-point arithmetic. Magnetic core memory was also extremely useful, offering far greater speed and reliability, but it was a transient technology.

See more See less
Display all 71 comments.
This thread is closed for comments
Top Comments
  • 12 Hide
    Ramar , June 26, 2009 7:39 AM
    Wonderful article, thanks Tom's. =]

    Killed a good hour of my day, and I very much enjoyed it.
  • 11 Hide
    pugwash , June 26, 2009 8:17 AM
    Good article, however although not quite "Complete". There is no mention of Collosus (which was used to break Enigma codes from 1944) or The Manchester Small-Scale Experimental Machine (SSEM), nicknamed Baby, which was the world's first stored-program computer which ran its first program in June 1948.
  • 10 Hide
    1ce , June 26, 2009 7:55 AM
    Really cool. One observation, on page 7 I think the magnetic drum is rotating 12,500 revolutions per minute, not per second....If my harddrive could spin at 12,500 revolutions per second I'm sure it could do all sorts of amazing things like flying or running Crysis.
Other Comments
  • -9 Hide
    seboj , June 26, 2009 6:50 AM
    Quote:
    Mainframes arguably express man's highest achievement


    But will it Blend?
  • 12 Hide
    Ramar , June 26, 2009 7:39 AM
    Wonderful article, thanks Tom's. =]

    Killed a good hour of my day, and I very much enjoyed it.
  • 10 Hide
    1ce , June 26, 2009 7:55 AM
    Really cool. One observation, on page 7 I think the magnetic drum is rotating 12,500 revolutions per minute, not per second....If my harddrive could spin at 12,500 revolutions per second I'm sure it could do all sorts of amazing things like flying or running Crysis.
  • 11 Hide
    pugwash , June 26, 2009 8:17 AM
    Good article, however although not quite "Complete". There is no mention of Collosus (which was used to break Enigma codes from 1944) or The Manchester Small-Scale Experimental Machine (SSEM), nicknamed Baby, which was the world's first stored-program computer which ran its first program in June 1948.
  • 2 Hide
    neiroatopelcc , June 26, 2009 9:11 AM
    So the ABC was in fact the first mobile computer? The picture does show wheels under the table at least :)  But I guess netbooks are easier to handle, and have batteries
  • 2 Hide
    dunnody , June 26, 2009 10:11 AM
    I am with pugwash - its a good article but why does it seem like it is a bit US centric, no mention of Alan Turning or "Baby" and the Enigma code cracking machines of Bletchley Park
  • 3 Hide
    Anonymous , June 26, 2009 11:47 AM
    Err what about the Zuse Z3?
  • 2 Hide
    candide08 , June 26, 2009 12:48 PM
    I agree with others, in that I am surprised that there was not even a mention of a Turing machine or other very early "computers".

    Surely they qualified as Mainframes of their times?
  • 2 Hide
    Anonymous , June 26, 2009 1:11 PM
    It's a shame that multiplication, addition and division benchmarks are not persistently noted throughout the article.

    I know that now a days it's very much dependent on software design, but it would still be nice to follow the progression in terms of calculation power of the machines.
  • 2 Hide
    theholylancer , June 26, 2009 2:05 PM
    25 pages??? i love ad block but damn this is annoying
  • 2 Hide
    vinnyny , June 26, 2009 2:20 PM
    Where can we get an 80/80 of this article without all of the noise? No PDF?
  • -4 Hide
    scook9 , June 26, 2009 2:27 PM
    So.....can it play Crysis?

    Out of curiosity, since its a metric I am more familiar with, what would the TeraFLOPS rating be in the newest and bestest from IBM. And how much would one of those bad boys set you back in the wallet.

    Was a very educational and interesting article.
  • 0 Hide
    lamorpa , June 26, 2009 3:04 PM
    "The 704 was quite fast, being able to perform 4,000 integer multiplications or divides per second. However, as mentioned, it was also capable of doing floating point arithmetic natively and could perform almost 12,000 floating-point additions or subtractions per second. More than this, the 704 added index registers, which not only dramatically sped up branches, but also reduced program development time (since this was handled in hardware now)."

    Many of these statements are sure to be wrong. 1) For sure, it would not be faster at floating point than integer. 2) Index registers have to do with memory addressing, not branching.
  • 7 Hide
    ta152h , June 26, 2009 3:33 PM
    First, I agree with the title being misleading, and I apologize for it. It was never intended to be a complete guide, which would be virtually impossible. I don't know why that title was chosen.

    The choice of computers was U.S. centric, because computers were U.S. centric. I chose only one mechanical computer, and it was made by IBM, since they were the dominant company. To add more computers would have been boring, and none of them were important technological milestones. So, while they might be specifically interesting to you, I was of the opinion too many computers from the same time frame would be boring. I almost chose the EDSAC over the EDVAC, but, went with the first design over the first implementation.

    With regards to the index registers, "the IBM 704 added index registers and a “TSX” instruction that would branch to an address but leave the address of the TSX in an index register. A single unmodified branch could use that index register value to return."

    Loops involve branching, branching involves memory addressing.

    With regards to floating point vis-a-vis integer, you need to be more careful about what you're sure of. For one, multiplies and divides are generally slower, being much more complex. But, more to the point, this information is available directly from IBM.
  • 1 Hide
    Anonymous , June 26, 2009 4:08 PM
    As one who live the mainframe era from the 2k machines for $500K...this story is incomplete without the story of the competition that was the force behind the commercial introduction at a furious pace of things we take for granted today.

    Any mention of mainframes without the Honeywell H-800 series, the H200 series or Multics leaves out systems that have had a large influence on computing as we know it. The H-800 was one of the first multiprocessing systems of the late '50s, the H-200 was Honeywell's answer to the 1401 in the '60s and Multics merely contributed much of the hardware architecture for the Intel CPU used in today's PCs and foreshadowed UNIX and many of the development tools we use today. I saw no mention of GE and their 600-6000 series. And NCR. (Remember the term "BUNCH" as the competitors to IBM.)

    So starting in the '50s, you should also have the history of the BUNCH woven in even to their demise. Not every great idea originated from IMB (though many did).

  • 2 Hide
    jackshaftoe , June 26, 2009 5:01 PM
    What, and no mention of Lawrence Waterhouse and his work during WW2??? :p 
  • 2 Hide
    Anonymous , June 26, 2009 5:10 PM
    Nice article, it was fun to review that history. I would have added mention of the groundbreaking Cray machines, especially the seminal Cray-1 (and it's successor X-MP) as the first "supercomputer." The X-MP looked like a futuristic chaise lounge with the main circuits in a center column surrounded by a circular padded bench. They were so arranged to reduce interconnecting wire lengths, as the speed was limited by the time it took electrons to travel through the interconnects...a speed of light limitation! The later Cray-2 was unique in that it was completely immersed in a bath of liquid Flourinert to cool the dense circuitry.
  • 2 Hide
    jsloan , June 26, 2009 5:38 PM
    the first computer programmers were all women!

    http://abcnews.go.com/Technology/story?id=3951187&page=1
  • 2 Hide
    aspireonelover , June 26, 2009 5:38 PM
    Great Article! I learned something new today! I've never been so "into" the computer history before.
    Thanks Rich Arzoomanian for writing this article.
  • 3 Hide
    jsloan , June 26, 2009 5:54 PM
    all jokes aside, this is the best tom's hardware article i have read to date. thanks for taking the time, effort and expense for putting it together.
Display more comments