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)."
If you think 1GHz = 1,000,000Hz then you certainly are using a different measure.
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
So, IBM owes a lot of it's early vision to a few hackers who did a bit of reverse-engineering against an end-user license agreement? Shock, shock, horror, horror!
How about Computing History for all those obnoxious young punks who think that all of this appeared magically for their convenience just because they have deigned to bless the world with their existence.
I see even classic Slashdot is now pretty much unusable on dial up anymore.
Computer grade vacuum tubes aren't necessarily better than the category known as receiving tubes, they just need to be optimized for use as switches (either fully conducting or not conducting at all), instead of for the things that were more important in receiving tubes, stuff like low noise, particular power curves, ability to work over a range of B+ voltages, input and output impedence versus frequency, et cetera.
I see even classic Slashdot is now pretty much unusable on dial up anymore.
Not if you had a standby switch that kept the filaments on and just shut down the B+ to the plates, which would be desirable to avoid the thermal shock that would burn out the filaments quicker. I would hope that IBM would have thought to include this.
I see even classic Slashdot is now pretty much unusable on dial up anymore.
40 years ago that 1k$ would have bought you a brand new automobile, so you'd need to explain it to them in terms of 1961 purchasing power versus 2001 purchasing power.
I see even classic Slashdot is now pretty much unusable on dial up anymore.
You couldn't plug it in to the standard wall socket anyway, but you could run a dedicated circuit for it from your main panelboard and use it at home. About the same power load as your stove or your dryer and water heater running at the same time.
I see even classic Slashdot is now pretty much unusable on dial up anymore.
the editors like to repeat posts from two days ago, I guess that if there was a /. when the 604 released we could mark the post as redundant...
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
Reduce them to 26, and call them letters.
Put monkeys in front of thosand keypunch machines
and you'll gnerate all of Katz's writings in two
seconds!
IIRC, the MIT Computing Museum (or whatever it's called) in Boston has some exhibits along these lines. The Dr. Dobb's article mentions that The Computer Museum History Center has a 604 on display, so perhaps they'd put a PIC emulator next to it, which could make for a fun resume item!
Google turned up this page which contains some info on the 604's basic instruction set.
I hadn't realized that the PowerPC architecture dates this far back.
Or have they removed the History Classes from High School curriculums when I wasn't watching?
Blar.
Actually 1Ghz is 1,000,000,000Hz, 1Mhz is 1,000,000Hz
----------------- Who is Jesus?
Cool, i'll go check that out. Thanks for the useful and interresting non-flame reply. =:-)
---
Play Six Pack Man. I
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
[0] perl -e '$i=50000;for($j=0;$j<52;$j+=1.5){$i*=2;}print" $i\n";'
I suppose that's horribly broken in some way....
Try Bob Supnik's simh.
very interesting, but... if you were making use of the thing, how can you say it was obsolete?
I wasn't actually "making use" of it. They assigned me to writing a program to make sure all the parts were working.
But my personal definition of "obsolete" is "If you were going to buy something to do the same job would you consider buying this or is there something so much better/cheaper now that this wouldn't be considered."
Obsolete does NOT mean it stops doing the job.
Bantam Dominique roosters crow a four-note song. Once you've heard it as "Happy BIRTHday" you can't NOT hear it that way
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
I bet it boots faster than my current machine.
If you aren't part of the solution, there is good money to be made prolonging the problem
That's what I love about PalmOS devices. Everything's in memory. You push the power button, and it turns on. The only thing I ever have to wait for is searches on my 4+ meg medical manual.
The topic is an old IBM that ran 1000 instructions/second. I made a joke relating that to my slow computer. If you need more help understanding this, drop me an email and I'll further explain the concept.
Don't drink and moderate. Thank you.
-Legion
Why was it the 604?
I am !amused.
I invoke Goodwin's Law.
You lose.
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.
What have we had in the last 6 months here? About 10 stories about ancient/archaic computer systems. It was only interesting the first 3 or 4 times... now it's really wearing thin. Why don't they give "Computing History" or something like that it's own /box so those of us tired of these kinds of stories can filter them out?
There are two major products that come out of Berkel
(Writing from my Win98 laptop) You mean a 10 hour MTBF was considered *bad*?
It was Colossus, not Hercules. And it wasn't quite a general purpose computer.
Why is this on the Slahdot site?
Are you guys really getting that short of articles?
Tom.
Oh arse
Tom.
Oh arse
actually since there is a possiblity that all 40 possible locations do not have code, a 2 instruction program for example. The number actually increases on the programs available for it.
I/O, I/O, its off to disk I go, with a read and a write, and a bit and a byte, I/O, I/O, I/O, I/O
Still, I see nothing here about analog computers which have been around for ages and perform functions fast, efficiently, and at minimal cost (so's you can afford backup systems!)
-- .sig are belong to us!
All your
A feeling of having made the same mistake before: Deja Foobar
Imagine California's Energy crisis if the dot.coms used 601's for web servers!
I have an antique radio. I always get a kick when someone asks me if it works. I tell them sure, just plug it in - then after about thirty seconds they are asking me if I'm sure. Somewhere after the 90 second point is when sounds are actually heard coming from the speaker.
You either believe in rational thought or you don't
Endless arguments over trivial contradictions in books written by ignorant savages to explain thunder in the dark.
What's even more incredible is the fact that you used the word 'programmable' 4 times in 3 sentences.
There is no such thing as 'world peace'.
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'.
You'd still be leasing a pulse dial phone too if AT&T wasn't smacked around by the government also. It's so paradoxial for me as a libertarian to have to admit that sometimes you need a powerful government to step in and help. Only because people are stupid enough to let entities like Microsoft, IBM and AT&T exist. If people educated themselves they wouldn't need a protector.
I win, you replied and kept the thread going plus this isn't usenet kid.
But since I live in California and am under the ruling of Gray Davis, a beowulf of these electromechanical beasts would cause a rolling blackout.
If god had intended you to be naked, you would have been born that way.
Repeat after me: Moore's law does not deal with processor speed. It deals with the amount of transistors on an IC. This is a pre transistor machine, thus Moore's law does not apply to this wonderful computing machine.
If god had intended you to be naked, you would have been born that way.
True this wasn't IBM's first computer. As Dag points out in the article, this was IBM's first foray into electronic computing.
3
5
4.6
420
1
They prove about as much as the last post ;)
Don't mind me - just passing through.
Did it double as a bread oven?
It must have been nice to run down to your local computer smithe and have him hammer one out on his anvil in only a matter of a few months.... Gimme good ol' computer iron any day.. Ahhh....The days when "de-bugging" was a literal term...
--
One thing I find interesting is that many of the guys who built this stuff are still around. I feel ancient showing the PFYs around here my ZX81, and they go "Oh, neat. So small. Is it new?" (Aaaargh!).
On occasion I imagine going back just 40 years, and trying to convince anyone who wasn't certifiable, that yes, GHz speeds, under the desk, running off the power of a fsking lightbulb, for less than 1k$ is pretty much the norm. It's probably less interesting for the 604 guys, who came the long way around (as it were), but talk about exciting. (goes all starry-eyed).
yes, we have no bananas
Arguments to instructions in this most basic of instructions sets are stored in the opcodes themselves and therefore are already included in the numbers i cited. same as doing adds and subs on x86 with constant values. the constants are included in the opcode value in memory and so don't need a separate calculation.
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
So: If anybody has detailed hardware/instruction set/IO specs, i'd love to see them.
Right off the bat, I'd like to state that I think whoever moded this down was clueless. ("flamebait"? As if the 604 User Group is going to respond in outrage? Get real.)
Second, in answer to your direct question, I don't have an documenation on it--at least, a quick search of my bookshelf didn't turn up anything older than the 1602--but I'll let you know if I come across anything.
Finally, you may be interested in a simulation of EDSAC, "the world first stored program computer to operate a regular service." I also enjoyed reading "The First Computers" (by Rojas & Hashagen, MIT press), which goes into a number of the claiments for "first" in the field.
-- MarkusQ
Anyone have the Quake III benchmark for this new box? :-)
I bought an IBM 604 a few months ago thinking it was a PowerPC! No wonder MacOS is still loading!
:)
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.
... an incredible accomplishment for it's day.
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
If it was at 50kHz back in 1949, where according to Moore's Law should we be by now???
- - Sha la la la . . .