Computer organization basics
By John Duda
This series of articles is being written to present the computer knowledge I've picked up over the years so that I can share with you some of that knowledge. I intend to present information on how the computer works, how a program runs, how the computer executes the instructions the program issues. How the memory, the cache, the I/O section of the processor works and what it does. The challenge for me is to write a readable article that gets into detail but doesn't put the reader to sleep. Some of what I write you may find arguable but I hope to present the real story.
I spent 4 years in the US Navy as an ATN2, or "Aviation Electronics Technician
Petty Officer Second". I was trained in basic electronics, aviation electronics
and in Morse code which I never used again. I spent my remaining time in the
Navy working on drones. Planes, boats, cars, and various track vehicles.
After that I was hired by Univac in 1968 and spent 13 years fixing large
system computers as a Senior Systems Engineer. I quit that job and opened an
under-funded Photographic business where I sold memberships in a dark
room/studio access center called "The Clique". Following that misadventure I
spent a number of years working for Memorex and Telos again back in the
computer repair business, now picking up experience in the IBM arena.
History of the computer
The history of the computer is really the history of data processing. After the Abacus, Burroughs developed the mechanical calculator, which evolved into using calculators to manually post interest to a banks ledger card, for example. IBM developed the punch card, or tab card, industry which was, in my mind, the real beginnings of data processing, as we now know it. IBM controlled the punch card industry with some competition from Remington. Remington's punch cards had 90 columns with round holes.
No one invented the electronic computer, if you ask the attorneys and judges. They also would tell you no one invented the automobile. What really happened was that two professors at the University of Pennsylvania, J. Presper Eckert and John W. Mauchley developed an electronic computer known as the ENIAC, which they patented. They offered their interests to several companies, including IBM, which wasn't interested. The rights were purchased by Remington Rand, which formed the Univac division. Univac sold the first commercial computer the UNIVAC1, in 1950.
IBM developed their own computers and used their punch card customers to continue their domination of the data processing industry. Suddenly every one realized the implication of the computer. Many of the large electrical companies entered the computer industry, and most got back out.
Univac later sued IBM for patent infringements, which case was settled out of court in the mid 50's. Most books on the subject only explain that Univac agreed to accept a fixed dollar amount per year and never go any farther. The way Univac explained the settlement to us, their employees, was that they received $7 Million dollars and the rights to anything that IBM ever developed in the future. These rights today are worth more than that dollar amount and may make the present company, Unisys, worth more than any other asset they own.
A decade later Honeywell sued Univac because they wined that they were paying more in royalties than IBM with no where near the sales or profits. Honeywell won the suit because of the "Atanasoff Berry Computer", or "ABC computer" which used a spinning drum of capacitors and no logic circuits to perform a calculation. From my experience with computers I think the old tab equipment plug boards have more similarity to a computer than a spinning array of capacitors. The Univac patent apparently is useless though. One question in my mind though is that Univac not only patented the computer, but the basic electronic gates that are used to create a computer. The And gates, Or gates and the Flip-Flops. What happened to those patent rights?
Had Atanasoff Berry sued Univac they might now have the right to the patent,
but Honeywell only won the right to not pay royalties to Univac. One
compelling reason to decide who developed the computer is that IBM never
contested their agreement with Univac. According to Univac, IBM had 92 percent
of the computer business. So 92% of the business says Univac developed the
computer? Eckert, Mauchley and Univac were the only only group though that
recognized the implication of what they had developed, got a patent, and used
the device commercially. The first use of a digital computer for commercial
data processing was the Univac1. Interestingly Honeywell got out of the
computer business about the time the judge issued his decision. Another
interesting fact is that Atanasoff Berry testified at the Honeywell Univac
trial. He is reported to have taken the position that he didn't want the
patent, who would. If he had gotten a patent on his creation it would have
expired in the early fifties. By the time a decision was rendered two patents
could have expired. Besides why would he want the patent which was merely an
invitation for law suits!
I worked with a man who was hired in 1947 by Remington and worked for Univac on the early computers. He described a machine with doors on either end. A long passageway separated two computers. From the inside what you saw was mainly the tubes, rows and rows of glowing tubes. There were two computers processing the same program, and no calculation was used unless both computers got the same result. A lot of the troubleshooting was done while the computer ran. The CE, or Customer Engineer, walked through the computer looking for tubes which didn't glow. If the equivalent tube on the other side did glow then the bad tube was removed under power while running and replaced. After a short warm-up the tube would begin glowing. I assume that the program, which was running while this was done, was a diagnostic program, or so I hope? So the first commercial computer was a multiprocessor server? Here's a lot of specs on the
An interesting story on the UNIVAC1 I heard many times recanted at Univac was the gift of one of the first systems to the University of Pennsylvania, where the ENIAC was developed. Penn graciously accepted the computer and sold it for the cash. Univac was disgusted because Penn not only couldn't see the future educational value of the system, but that they cut Univac out of the sale of a system to its potential customer. Penn in the 1970's did buy a Univac computer, a 90/70 I believe it was. Contrary to Univac's 1100 systems the 90 series of computers were plug compatible to IBM's systems and could (optionally) run IBM's operating system and programs.
Until the late 50's all of the computers used vacuum tubes, or valves as the English call them. After that the second generation of computers used transistors. Both the first and second-generation computers used core memory, or core as it was referred to, for storage. With core memory you could read any location at any time. By the third generation, the microchip took over and RAM or random access memory replaced core. Why the inane name, for something always done. Core memory was random access, RAM is not. Look into the effects of RAS and Cas delay. With core memory any location you accessed was done in one memory cycle. (That memory cycle also included both a read and a write to restore what was written.) That's not true of RAM. Also with RAM if you change rows you get an additional delay called CAS latency. Why for all these years are we talking random access memory. The spinning capacitors on the ABC computer above weren't random access, but that was 30 odd years earlier. Here's an interesting link for the development of the
dram chip which credits Honeywell for the idea that spawned the Intel DRAM chip.
One of the things that intrigued me about Univac's early computers was their use of a long coil of wire to store data. The UNIVACIII processor, circa 1962, used these coils for both the arithmetic and index registers. They took up about the same space as the transistors which the computer was designed with. They knew how long it took for one bit to travel down the wire and they put all the bits on the same piece of wire. At the end of the wire was an amplifier, which then was fed back to the beginning of the wire. A machine cycle was broken down into nine "t times". If you needed to read a certain bit you had to know what "t time" the bit was at the output.
The print buffer for the UNIVACIII printer also used two long wires to store all 128 characters that it could print on one print line, one for the even characters, the other stored all the odd characters. In the case of that printer that's 384 bits of data all on the same piece of wire! It always amazed me that you could later read off what you needed! We used to have problems with them misreading if the operator stacked to many boxes of paper on top of the control unit cabinet. At other times it misread and we put another box on top to fix it!
In the 50's and even into the 60's, programs were written in assembly language, which we'll get into in a later article. In 1960 the US government drove a group of computer companies to write a compiler program so a program could be written in the language and then compiled on any brand of computer. Cobol is the language they developed. Grace Hopper is generally credited with most of the programming work. Every article you read says that she worked for Remington. Univac is a division of Remington so I believe that was a way of fragmenting the efforts of her and the company she worked for. Cobol was not the first language developed. Fortran (formula translator), for one preceded it, but today Cobol programs still dominate the mainframe computer industry.
New Technology NT
In 1962 Burroughs released the B5000 computer and introduced the concept of Virtual Memory. This was probably the biggest single development in computers even to the present. Virtual Memory allows memory to be swapped between the computers memory and a storage device, like the hard drive on your PC. This allows for multiple programs to use vastly more memory than the computer actually has. It was important in those days when computers had 4 to 96 Kbytes of memory. Most computers could only access 32 or 64Kbytes of memory with a machine instruction (which we'll get into later). Today we have lots of memory but the programs are mammoth also.
By 1967 Univac had released computers with virtual memory, multiprogramming, multiprocessing, guard mode (we now call this protect mode), segmented memory, the ability to protect memory from access by a second program, and the ability to prevent unauthorized access to a file.
Another big development was the electronic accessor for disk drives patented by Memorex. The IBM 2314 and the similar Univac 8414 used hydraulics to drive the heads across the disk platters. The Memorex 660, which was otherwise IBM compatible, used electronics to drive the actuator.
Of course everyone knows about the microprocessor chip developed by Intel. Computers became much smaller, cooler, and faster although the power was gone. Suddenly we all had computers in our homes and offices. DOS let us run our PC's similar to mainframe computers of the 50's. With the development of Windows NT the system developments of 25 years earlier returned to the computer.
One thing that hasn't returned is reliability. In the 1970's I worked on a computer that crashed because it hadn't been rebooted for so long that the clock, which is a counter, maxed out. It wouldn't even reboot till powered off. Someday we may all have computers this reliable!
Many people today think that the mainframe computer is dead. The real truth is that today there are probably as many mainframe computers as there was prior to the PC. The large corporations and government agencies that had a large mainframe computer before the PC, still have one. Some smaller companies and schools that had a small main frame now are using a server. The big difference today is that the PC at our desk replaced the terminal and gives each user more power than the terminal provided.
In future articles I plan to explore in detail the workings of the computer. My next article will explain what a computer processor is.