The Universal Machine
The computer is one of one of our greatest technological inventions. Its impact is—or will be—judged comparable to the wheel, the steam engine, and the printing press. But here’s the magic that makes it special: it isn’t designed to do a specific thing. It can do anything. It is a universal machine.
Software turns these universal machines into a network of ATMs, the World Wide Web, mobile phones, computers that model the universe, airplane simulators, controllers of electrical grids and communications networks, creators of films that bring the real and the imaginary to life, and implants that save lives. The only thing these technological miracles have in common is that they are all computers.
We are privileged to have lived through the time when computers became ubiquitous. Few other inventions have grown and spread at that rate, or have improved as quickly. In the span of two generations, computers have metamorphosed from enormous, slow, expensive machines to small, powerful, multi-purpose devices that are inseparably woven into our lives.
A “mainframe” was a computer that filled a room, weighed many tons, used prodigious amounts of power, and took hours or days to perform most tasks. A computer thousands of times more powerful than yesterday’s mainframe now fits into a pill, along with a camera and a tiny flashlight. Swallow it with a sip of water, and the “pill” can beam a thousand pictures and megabytes of biomedical data from your vital organs to a computer. Your doctor can now see, not just guess, why your stomach hurts.
The benefits are clear. But why look backward? Shouldn’t we focus on tomorrow?
Why Computer History?
History places us in time. The computer has altered the human experience, and changed the way we work, what we do at play, and even how we think. A hundred years from now, generations whose lives have been unalterably changed by the impact of automating computing will wonder how it all happened—and who made it happen. If we lose that history, we lose our cultural heritage.
Time is our enemy. The pace of change, and our rush to reach out for tomorrow, means that the story of yesterday’s breakthroughs is easily lost.
Compared to historians in other fields, we have an advantage: our subject is new, and many of our pioneers are still alive. Imagine if someone had done a videotaped interview of Michelangelo just after he painted the Sistine Chapel. We can do that. Generations from now, the thoughts, memories, and voices of those at the dawn of computing will be as valuable.
But we also have a disadvantage: history is easier to write when the participants are dead and will not contest your version. For us, fierce disagreements rage among people who were there about who did what, who did it when, and who did it first. There are monumental ego clashes and titanic grudges. But that’s fine, because it creates a rich goldmine of information that we, and historians who come after us, can study. Nobody said history is supposed to be easy.
It’s important to preserve the “why” and the “how,” not just the “what.” Modern computing is the result of thousands of human minds working simultaneously on solving problems. It’s a form of parallel processing, a strategy we borrowed to use for computers. Ideas combine in unexpected ways as they built on each other’s work.
Even simple historical concepts aren’t simple. What’s an invention? Breakthrough ideas sometimes seem to be “in the air” and everyone knows it. Take the integrated circuit. At least two teams of people invented it, and each produced a working model. They were working thousands of miles apart. They’d never met. It was “in the air.”
Often the process and the result are accidental. “I wasn’t trying to invent an integrated circuit,” Bob Noyce, co-inventor of the integrated circuit, was quoted as saying about the breakthrough. “I was trying to solve a production problem.” The history of computing is the history of open, inquiring minds solving big, intractable problems—even if sometimes they weren’t trying to.
The most important reason to preserve the history of computing is to help create the future. As a young entrepreneur, the story goes, Steve Jobs asked Noyce for advice. Noyce is reported to have told him that “You can’t really understand what’s going on now unless you understand what came before.”
Technology doesn’t run just on venture capital. It runs on adventurous ideas. How an idea comes to life and changes the world is a phenomenon worth studying, preserving, and presenting to future generations as both a model and an inspiration.
History Can Be Fun
Besides—computer history can be fun. An elegantly designed classic machine or a well-written software program embodies a kind of truth and beauty that give the qualified appreciative viewer an aesthetic thrill. Steve Wozniak’s hand-built motherboard for the Apple I is a beautiful painting. The source code of Apple’s MacPaint program is poetry: compressed, clear, with all parts relating to the whole. As Albert Einstein observed, “The best scientists are also artists.”
Engineers have applied incredible creativity to solve the knotty problems of computing. Some of their ideas worked. Some didn’t. That’s more than ok; it’s worth celebrating.
Silicon Valley understands that innovation thrives when it has a healthy relationship with failure. (“If at first you don’t succeed...”) Technical innovation is lumpy. It’s non-linear. Long periods of the doldrums are smashed by bursts of insight and creativity. And, like artists, successful engineers are open to the happy accident.
In other cultures, failure can be shameful. Business failure can even send you to prison. But here, failure is viewed as a possible prelude to success. Many great technology breakthroughs are inspired by crazy ideas that bombed. We need to study failures, and learn from them.
Where are all the museums?
Given the impact of computing on the human experience, it’s surprising that the Computer History Museum is one of very few institutions devoted to the subject.
There are hundreds of aircraft, railroad, and automobile museums. There are only a handful of computer museums and archives. It’s difficult to say why. Maybe the field is too new to be considered history.
We are proud of the leading role the Computer History Museum has taken in preserving the history of computing. We hope others will join us.
The kernel of our collection formed in the 1970s, when Ken Olsen of the Digital Equipment Corporation rescued sections of MIT’s Whirlwind mainframe from the scrap heap. He tried to find a home for this important computer. No institution wanted it. So he kept it and began to build his own collection around it.
Gordon Bell, also at DEC, joined the effort and added his own collection. Gordon’s wife, Gwen, attacked with gusto the task of building an institution around them. They saw, as others did not, that these early machines were important historical artifacts—treasures—that rank with Gutenberg’s press. Without Olsen and the Bells, many of the most important objects in our collection would have been lost forever.
Bob Noyce would have understood the errand we are on. Leslie Berlin’s book The Man Behind The Microchip tells the story of Noyce’s comments at a family gathering in 1972. He held up a thin silicon wafer etched with microprocessors and said, “This is going to change the world. It’s going to revolutionize your home. In your own house, you’ll all have computers. You will have access to all sorts of information. You won’t need money any more. Everything will happen electronically.”
And it is. We are living in the future he predicted.
The Computer History Museum wants to preserve not just rare and important artifacts and the stories of what happened, but also the stories of what mattered, and why. They are stories of heretics and rebels, dreamers and pragmatists, capitalists and iconoclasts—and the stories of their amazing achievements. They are stories of computing’s Golden Age, and its ongoing impact on all of us. It is an age that may have just begun.
For its time, this was a supercomputer. IBM donated one to the Technical University in Copenhagen, where it served as the Campus Computing resource, and also made time available to other universities. This machine had 36 bit words, and I think 32 K words of main memory. The machine was very fast: Only about 3 microseconds per instruction, so rather than let the machine read punched cards and write to the printer, all the jobs and data were read onto magnetic tape and then the output was written to tape. The conversions between tape and paper or cards were done on an IBM1401, which was later replaced with an IBM-360/30 which could accept jobs remotely via modems.The operating system of the 7094 was called IBSYS and lived on a tape drive. It had many compilers, including Fortran II, Fortran IV and COBOL.
(A reference manual for the very similar IBM 7090 is here - PDF, 156 pages).
The RC-4000 was the successor to the GIER, but had nothing in common with it. It was a 24-bit machine with a real-time operating system that had interrupts, memory protection and a limited amount of multi-tasking. It was used for many interesting applications, including real-time chemical process control, large databases (telephone directory call-centers) and time-sharing. The operating system was the subject of a fair number of computer science research journal articles, and many of the concepts embodied in it were absorbed into Multics and Unix. The one we used at Univeristy of Copenhagen belonged to the Chemistry department, but time-sharing terminals were found all over the science campus section, where they served other departments until the Univac 1106 arrived.
The IBM-360 family of computers ranged from the model 20 minicomputer (which typically had 24 KB of memory) to the model 91 supercomputer which was built for the North American missile defense system. Despite their differences, all these machines had the same user instruction set; on the smaller machines many of the more complex instructions were done in microcode rather than in hardware. For example, machines in the lower midrange did not have multiplier hardware, but the microcode implemented multiplications by repeated addition. It was rumored that the smallest machines did addition by repeated increments!The machines had different operating systems. The smallest machines could not really support an operating system and were often used for specialized applications, where a program was loaded from binary punched cards at startup. The middle range used a system called DOS (not related to MS-DOS) and the higher end system was called OS/360. These were the machines that established 32 bits as the standard for computers.
The first IBM-360 I used in Copenhagen was the spooling front-end for the 7094. In 1970, the technical university installed a 360/65, later upgraded to a 360/75. When it came in, it had 1 MB of RAM (magnetic core memory in those days) and a roomful of disk drives, probably adding up to about 200 MB.
Today's S/390 mainframes are direct descendants of the IBM-360 family. The IBM-1130 was a mini-computer built in the shape of a desk. The ALU had 16-bit words, and it came with a 1.5 MB hard disk. The DOS had a Fortran-IV compiler, but even though the machine was similarly sized to the GIER, it was much less usable.Eventually, the Niels Bohr Institute decided that it could be used as remote job entry terminal to the IBM computers at the technical university.
The Danish universities decided to install 3 large computers at the three largest univerities, an they wisely chose to get an IBM, an UNIVAC and a Control Data. University of Copenhagen got the Univac, and it was a great system.When the machine was installed, it was a Univac-1106 with 131 K words (of 36 bits), i.e. about 600 KB. About 18 months later, it was upgraded to an 1108 which ran twice as fast. This upgrade consisted in replacing a divide-by-two flip-flop in the system clock circuit by a jumper. We also got more memory, I think we doubled it.
This machine served an endless stream of batch jobs from both local and remote card-reader/printer stations plus about 50 interactive display terminals.
Digital Equipment Corporation's PDP-11 family of minicomputers was extremely successful for over 25 years - for good reasons. The instruction set was elegant and flexible, the engineering design was modular in ways that not only allowed the manufacturer to custom build machines of many different price/performance levels, but also allowed users to expand them in the field later. Machines existed in all differnet sizes; towards the end of its lifespan, the range spanned from personal computers built into a terminal, to time-sharing multiuser systems capable of serving as a common computing resource for an entire university department.Read more on my PDP-11 page. The PDP-11 address space eventually became too small to do practical work: As the machines got less expensive, people were attacking more complex problems, requiring larger programs. So Digital Equipment built a larger machine, called VAX-11 (Virtual Address eXtensions for pdp-11). This machine was the best design I have ever worked on. The instruction set was very powerful, although some thought it was too large to be truly elegant.Read more on my VAX page. When I changed employers in 1990, one of the attractions of the new job was that instead of a text terminal connected to a central computer cluster, this company put a workstation with a bit-mapped windowed display on the desk of each engineer. In those days, that would be a Sun Microsystems Sun-3/80.Sun Microsystems was a company built on the discovery that single-chip microprocessors had become powerful enough that one could build a general- purpose computer around one of these chips, powerful enough to tackle the same class of problems that one would have done on a mainframe or a VAX, but inexpensive enough to give one for the exclusive use of a scientist or engineer. Programmers loved them. They ran the same Unix systems that was used on many PDP-11 or VAX sites, were programmed in the "C" programming language, and on the windowed screen you could have 5 or 6 windows, each looking like a terminal and switch your keyboard back and forth between them.
My new employer built communications equipment around the same family of Motorola microprocessors, and we used the compilers and other software development tools of the Sun machines. The MacIntosh took the ideas behind the Sun and applied them to systems more suited to consumers: Half the price, and as easy to use as possible. The MacIntosh did not "invent" or even popularize the mouse: The Sun had a mouse. What was new was the desktop metaphor as a way of organizing the workspace, and the removal of command lines: Clicking on the pictures was the ONLY way to run programs.I loved the Macs from I first saw one, but I thought this was way too much money to spend on a toy. My wife and I bought one in 1989, when a brother-in-law who managed a computer store got a good offer for a demonstration system, which he passed along to us. Our machine was called the Mac SE; it had one MB of DRAM and a 20MB hard drive, and cost USD 2000.
Ironically, one of the things that I found attractive about it was the knowledge that programming for the Mac was very difficult, and the machine did not come with any compiler or other programming tools. Thus I was guaranteed not to be tempted into spending all my spare time playing with the computer, but would be able to enjoy it as a tool. The MC68000 was a nice enough CPU, but Sun Microsystems decided they could build a much more powerful system for not much more money by designing their own CPU according to the "RISC" (Reduced Instruction Set Computer) architecture fashion of the time. Sun called their RISC design SPARC (which they said stood for something Sun Processor Architecture for RISC Computing).The idea behind RISC was to make the instructions simple enough that every instruction could complete in one cycle of the master clock. You might execute a few more instructions that way, but since the CPU logic would be simpler, you could use the circuitry space that was saved on the CPU chip to include a larger cache memory, so fewer of the instructions and data fetched from memory would have to come from the main memory. This would allow the programs to run faster.
In general, RISC computers were unfriendly to programmers that wanted to write "assembly language" where the programmer has to describe the operations in terms of individual machine instructions. But most programmers very rarely do that. So with a good C compiler, the "weird" instruction sets did not matter.
The first SPARC machines came out around 1989 and allowed Sun to build larger servers to complement their desktop machines. Within 2-3 years, a smaller, less expensive RISC CPU was replacing the MC68000 chips in the desktop workstations. The Intel 8088 microprocessor was chosen by IBM for their first Personal Computer in 1980. Soon many manufacturers were building very similar machines, using also the slightly faster 8086 and 80186 CPU versions. Around 1982, the PC-AT (advanced technology) came out with the 80286 CPU. After interesting video games became available (beginning with the Microsoft Flight Simulator) every manufacturer had to make their machine indistinguishable from the PC-AT in order that it would be able to run these games. Soon the intense competition among the smaller manufacturers in Taiwan drove the prices of the look-alike "PC clones" well below the price of "real" PCs, and the market really took off.After the MacIntosh stunned the market, IBM and Microsoft worked feverishly to produce a "Windows program" for PCs, and after several very bad versions, Microsoft Windows version 3.1 finally became a good enough imitation around 1990.
Meanwhile, Intel kept producing faster and better microprocessors, still compatible with the 8088/8086/80286 series, although the later versions beginning with 80386 also had a newer memory management system that allowed them to run Unix. Beginning around 1988, Unix was ported to 80386 PCs.
Today, PCs range from small portable ("laptop") computers to large server machines with 4-way multiprocessor CPU sets and can run any of these operating systems (plus several less common): $Log: my_hist.htm,v $
Revision 1.5 2003/12/29 04:25:39 lars
*** empty log message ***
Revision 1.4 2002/03/17 05:36:05 lars
*** empty log message ***
Revision 1.3 2001/10/26 13:28:02 lars
Replaced CMC -> Beagle-Ears
Revision 1.2 2000/08/15 05:11:08 lars
Fix typo in URL (missing end tag)
Revision 1.1 2000/08/15 01:25:07 lars
Rearranged files, moving these from computer/ to comphist/