Slashdot Mirror


IBM's First Computer

wiredog writes "From Dr. Dobbs History of Computing comes the story of the IBM 604. IBMs first programmable "computer". With 16 instructions in the instruction set, 40 program steps storable in memory, a blazingly fast 1000 instructions/sec at 50 kHz and power consumption of 7.59kW (230VAC @ 33A)."

11 of 67 comments (clear)

  1. Re:If it was IBM's FIRST computer... by Zachary+Kessin · · Score: 3

    It was probably the 604 because while it was the first computer it was not the first machine they made. They were selling punch card things which had model numbers.
    Sort of like the first boeing Jet was the 707, they had made a lot of airplanes like the 247 and the B-17/B-29 before that.

    --
    Erlang Developer and podcaster
  2. Re:It makes me think.... by Christopher+Thomas · · Score: 5

    Computers have been working in pretty much the same way since then and it kind of reminds me the way cars continue to use the same archaic technology used back in 1900, only greatly refined.This is simply because it's easier (and cheaper) for manufacturers to maintain a single common base for their products for as long as possible before throwing it away and starting all over again. The choice, I believe, is ours: Mass production or revolution?

    Well, the way that machine code works is vaguely similar, except that the hardware implementation has changed on a *fundamental* level since then, and we have several layers of increasingly abstracted software on top that couldn't exist back then, and have developed several new branches of engineering involved in the design of hardware and software for computing devices...

    No, no innovation or revolution there.

    Sorry if I'm sounding a bit harsh. It's just that I've seen the "we've been using [foo] forever, we're shackled to it and should switch to something new and revolutionary" argument a few times now, and it almost always a) ignores a lot of fundamental change that's gone on over the years both in [foo] and in the design and use of [foo], and b) fails to propose an alternative.

    What would be the "revolution" that you hope for?

    Optical computers? The computer hardware layer would change utterly, but the design concepts used wouldn't, and the software would show almost no change at all. You'd also be stuck with a feature resolution no smaller than one wavelength of light (about half a micron to a micron).

    Nanomechanical computers? Same deal (though without the feature size limit). You'd still be implementing digital logic, so all of the upper layers of the design and use of computers would stay the same.

    The only thing that's fundamentally different both in design and use is quantum computing, and I'll bet that even that would have strong similarities on several levels.

    Technological progress rarely happens by revolution - it's by evolution of existing ideas and devices, sometimes put together in new ways. Over time, the result of these changes can be profound, but the idea that you *must* turn the world on its head to move forward is a misconception.

    Sorry if I'm being impolite; this is just something that's bothered me for a while :).

  3. Anyone for an emulator? by drenehtsral · · Score: 3

    I would be very interested in playing with an emulator for this, or failing that, and having specs writing one. I might even write an emulator for in in PIC assembly language to have an actual physical emulator (now instead of taking kilowats it'd probably take milliwats. It would be fun though.)

    So: If anybody has detailed hardware/instruction set/IO specs, i'd love to see them. Remove the "comment" from my address.

    --

    ---
    Play Six Pack Man. I
  4. Brings back memories... by Ungrounded+Lightning · · Score: 3

    I actually programmed a 606 back in my cutting-hacker-teeth days. A high-school summer job at a university lab - and it WAS obsolete at the time. The IBM 14xx and 709x and the Control Data 1604 (discrete transistors and diodes germanium mainly - on cards) were the state-of-the-art.

    The 606 was a later, bigger box of the same pluggable modules. They had vacuum tubes at the end for the output amplifier/switch, and little baseless peanut-tube vacuum DIODES along the side of the module for the logic gates. (Think DTL, but with the "T" standing for "Triode" rather than "Transistor". At least I think the amplifer tube was a triode - perhaps a dual triode. (Two logic gates per plugin! Miniaturization!) Didn't get into the circuitry.)

    606 had one K of memory - decimal K, addressed from 000 to 999. If I recall correctly, a word was ten four-bit digits plus sign. (I don't recall if it was BCD or bi-quinary.)

    Ten program-readable registers - each consisting of a rotary switch for each digit plus a toggle for the sign - made up the middle part of the processor's end panel. Bottom part was a giant plugboard, top part a neon light display, with a neon lamp for each state of the program sequencer and a bunch more for an output register.

    There was a knob (bakelite pointer on a pot) for adjusting the clock speed.

    One I used had a printer/reader, separate punch, and a drum memory. UofMich guys had mad a plug board that turned it into a stored-program machine - booting a program from the console card reader. Printer was strictly numeric and took about a second per line to print. A row of heavy metal typebars would rise up, each one stopping at the correct height, and when enough time had elapsed for all of them to have reached maximum height the whole thing would "whack" forward through the ribbon onto the paper.

    There was a prime-number sieve program that they used for basic checks. After about the first 13 primes or so it was taking longer than a printer cycle to compute them. B-)

    --
    Bantam Dominique roosters crow a four-note song. Once you've heard it as "Happy BIRTHday" you can't NOT hear it that way
  5. If it was IBM's FIRST computer... by 11thangel · · Score: 3

    Why was it the 604?

    --

    I am !amused.
    1. Re:If it was IBM's FIRST computer... by regen · · Score: 3

      A lot of early IBM computers where named for the buildings they were designed in. This is true of the 70X machines (701 was the RISC computer ever designed and lives on as an IO processor in the modern mainframes) designed in Poughkeepsie, and probably of the 604.

    2. Re:If it was IBM's FIRST computer... by TomV · · Score: 5
      The 604 "Electronic Calculating Punch" was developed from the 603 Electronic Multiplier, itself a derivative of 1933's 601 Electronic Multiplying Punch.

      Enhancements included an increased clock speed (from 35kHz to a screaming 50 kHz, wahey!!), use of miniature tubes, capacity of 20 plugboard steps per card instruction, 32 digit capacity, new flip-flops, and use of standardised control circuitry to make maintenance easier.

      It wasn't the first IBM capable of division, that was the 602, and it wasn't a stored-program computer, as it executed straight off the card.

      It's sort of questionable if the 604 was a 'computer' in any modern sense, but it was a lot more versatile and reliable than previous electronic calculators, and IBM managed to ship 5600 or so. Also, the demand for 604 parts basically kicked off the 'computer grade vacuum tube' market.

      TomV

  6. Not IBM's first computer by Animats · · Score: 3
    This wasn't really IBM's first computer. It was, as someone else pointed out, one of the last of their line of tabulating machine accessories.

    In the tabulating machine era, there were keypunches for input, tabulators for addition, subtraction, and printing, sorters for sorting, and collators for merging and matching. The need for multiplication was limited, and was addressed by standalone machines like the 602A, basically a mechanical desk caculator integrated with a card reader/punch.

    The mechanical multipliers were slow, and the last years of the mechanical era included electronic multipliers and dividers, culminating in the IBM 604, the last of the plugboard-wired engines.

    The IBM 650, a real computer with a magnetic drum main memory, was IBM's first commercial general purpose programmable computer. (Knuth did his first programming on one.) It was programmed with an assembler that generated object programs, not by wiring plugboards like the 604.

    The IBM 701 was IBM's first all-electronic computer. Everything previous had moving parts in the basic compute loop, slowing things down.

    IBM had a few experimental machines before the 650 which could be called computers, the huge IBM Selective Sequence Controlled Calculator being the first big one. But those were one of a kind machines.

    Bear in mind that IBM was running way behind in this period. UNIVAC was the technology leader back then.

  7. It makes me think.... by Strangely+Unbiased · · Score: 3

    Computers haven't changed all that much, have they? Sure, we now use GHzs to measure speed, nut that's just 1,000,000Hz, it's not a different measure. Computers have been working in pretty much the same way since then and it kind of reminds me the way cars continue to use the same archaic technology used back in 1900, only greatly refined.This is simply because it's easier (and cheaper) for manufacturers to maintain a single common base for their products for as long as possible before throwing it away and starting all over again.
    The choice, I believe, is ours: Mass production or revolution?
    We have to find a balance, especially in the computer world (Pentium 11, anyone?).

    --


    There is no such thing as 'world peace'.
  8. Re:that makes programming easy.... by thatguywiththestuff · · Score: 3

    I wish. Here are a few numbers for ya:

    16 possible instructions. 40 in memory.

    That's 16^40 = 1.46 x 10^48 combinations.

    Now, let's assume that we have a computer than can generate 1 billion of these per second.

    That's 1.46 x 10^39 seconds.

    Okay, we have 1 billion of those computers.

    That's 1461.5 billion billion billion seconds.

    That's 46.3 billion billion millenia.

    Ouch.

    Justin Dubs

  9. Earlier Computers by standards · · Score: 5

    Ah, everyone always forgets about the IBM Mech1. This mechanical computer was programmable, certainly not in the modern sense. It was availble 15 years earlier.

    It had 19 ten-digit decimal registers, and was fully programmable by inserting replacable camshafts. Although not programmable on the fly, it did have memory (the state of the machine), and it was in fact programmable, with screwdrivers and wrenches.

    It required a bit of oil and greese, but was known for calculating Pi to 190 places in under 3 minutes ... an incredible accomplishment for it's day.