History of the Computer – What has lasted over the years.
The assignment consists of an original paper by Brainerd J. and Sharpless T. on the ENIAC computer published in 1948, reproduced in the IEEE Proceedings of June 1999. The paper will be available either on line or else as a photocopy.
The task consists of looking at this historic computer, and understanding how it worked and comparing it to today's machines, commenting on what has remained the same from the original machine, and what has changed. Information on current computers can be found from books such as Stallings, or from the web.
The work will be judged on
- the ability to understand and look at the various parts in the historic computer and in today's
- the ability to write coherently and concisely the description of the various parts the ability to draw conclusions from your analysis.:eniac1.jpg
BIT 1010: Historical and Social Aspects of ICT
In 1942, John Mauchly came up with the proposal of the ENIAC (Electrical Numerical Integrator and Calculator). The U.S. Army was quite interested in this project and at the request of Lieutenant H. H. Goldstine, Mauchly, along with J. P. Eckert prepared a more completed draft in early 1943. The ENIAC Project began on May 30, 1943, and Eckert was named Director of the Project, whilst Mauchly was his chief consultant. On February 15, 1946, the ENIAC was publicly dedicated at the University of Pennsylvania's Moore School of Electrical Engineering. The whole Project was sponsored by the American military as they needed a computer for calculating artillery-firing tables, the settings used for different weapons under varied conditions for target accuracy. Upon its demonstration, the ENIAC solved the trajectory of an artillery shell in only 25 seconds, whereas it took the shell itself 30 seconds to reach its target. This was the first time that a complicated nonlinear real-time process had been calculated in less than real time. On top of that, it only took 5 seconds for the electronic portion of the calculation, whereas the IBM punched-card I/O of data consumed the other 20 seconds. Even though by the time the ENIAC was build, the war was over, it was still put to work by the military in order to perform calculations for the design of a hydrogen bomb, weather predictions, cosmic-ray studies, thermal ignition, random-number studies and wind-tunnel designs.
:ENIAC.1.gifThe ENIAC was not the first calculating machine by Mauchly. All of his previous machines contained small electric motors inside, but in 1942, Mauchly begun designing a better calculating machine that would use vacuum tubes to speed up calculations based on the work of John Atanasoff. For this reason, the ENIAC contained 18,000 vacuum tubes, and thus, operated reliably at 100,000 pulses per second. It also was 500 times as fast as a human computer using a desk calculator and 60 times as fast as the most powerful (electrically driven) mechanical computer, the analog differential analyzer, of which only two were available to the Army.
The ENIAC also contained 70,000 resistors, 10,000 capacitors, 1,500 relays, 6,000 manual switches and 5 million soldered joints. It was physically about 20 times as large as the largest radio transmitters, covering 167 square meters of floor space, weighing 30 tons and consuming 160 kilowatts of electrical power. Even though the ENIAC could perform 500 additions, 357 multiplications or 38 divisions in a second due to the use of vacuum tubes, it required long hours of maintenance, and would take technicians weeks for programming changes. On the bright side, research on the ENIAC led to many improvements in the vacuum tube.
The designers of ENIAC designed and conceived what has now become standard circuitry such as the gate (logical “and” element), buffer (logical “or” element) and used a modified Eccles-Jordan flip-flop as a logical, high-speed-and-control device. ENIAC could discriminate the sign of a number, compare quantities for equality, add, subtract, multiply, divide, and extract square roots. Apart from being an adding machine, ENIAC was also a storage unit since it was capable of storing a maximum of twenty ten-digit decimal numbers.
One of the primary aims of the designers of ENIAC was for it to achieve speed. This was possible by making it as all electronic as possible. In fact, only a few mechanical elements where used with ENIAC, and these were actually external to the calculator itself. These included the IBM card reader for input, a cardpunch for output, and the 1,500 associated relays. Apart from this, they also had to make the electronics as simple and reliable as possible. This was achieved by using vacuum tubes in a minimum of basic circuit combinations. Circuits were designed and constructed for standard components so that they could be operated and tested at current, voltage, and power levels below their normal ratings to ensure reliable operations by designing the basic circuits to work independently of the variable tolerances of their components.
As mentioned above, ENIAC used gates, buffers and flip-flop. The gate performed the switching or logical “and” function. This gate consisted of a single pentode (a thermionic tube having five electrodes), which had a control voltage applied to its suppressor grid. It operated similar to a single pole switch in which it “opened” (passed a pulse patter) when the suppressor grid was positive and “closed” when it was negative. A common load resistor connected two or more tubes which were obtained by the buffer and these formed a circuit with the logical properties of the word "or." The grids of the tubes were normally biased at the cut-off point so as to produce a negative output whenever there was a positive input to any tube in the combination. The flip-flop circuit consisted of two triodes (a vacuum tube having three electrodes) and these were connected in such a way that only one could conduct at a given time. This bi-stable device, having two inputs and two outputs, worked in such a way that when it was in its normal position, or set, one side of the output was positive whilst the other negative. When in the reset position, or abnormal position, these polarities were reversed. Logically, the flip-flop performed those functions of memory and that of a double-pole, double-throw switch. A neon lamp on the front panel of the computer units was place to indicate the state of each flip-flop.
A decade ring counter was formed from a group of ten flip-flops, (0-9), which were interconnected to count digit pulses. This decade ring counter, capable of adding and storing numbers, also possessed the following characteristics: Only one flip-flop could be in the reset state at any one time, the initial flip-flop in the chain was reset by a pulse to the counter input, and the circuit could be cleared so that a specific flip-flop was in the reset position while the others remained set.
Each flip-flop of a counter was known as a stage, and the stage of the counter was advanced by a response from a pulse at the input side. After reaching the last stage, information was once again passed and circulated through the counter, meaning that the last stage was coupled to the first. The sign of a number in the accumulator was controlled by the PM counter, a variation of the basic circuit. The accumulator, the basic arithmetic and storage unit of the ENIAC, was formed by ten-decade ring counters, one per decimal place, and a PM counter. Ten transmission circuits were equipped to the decade ring counters so that when any ring passed the nine positions, a pulse was passed to the next ring in the series. Input pulses reaching the accumulator were added to or subtracted from its contents.
The accumulator played an important role in all of ENIAC's arithmetic operations. For instance, two accumulators were required for addition, were one transferred its contents to the other. Two accumulators were also needed for subtraction, which was accomplished by a complement-and-add- process. In normal multiplication, four accumulators stored the multiplier and multiplicand and accumulated the partial products, whereas for division, they shifted the remainder and stored the numerator, denominator, and quotient. The accumulators were put to use by the function table for storage of the argument and accumulation of the function value.
The ENIAC was used for problems requiring a large amount of work for their solutions, and particularly to problems that involve the repetition of a large number of similar types of computations to achieve a result. One could say that the ENIAC was practically useless unless it was used to solve huge problems that required a large amount of repetitious computation in order to obtain numerical answers. Differential equations, the evaluation of series, or the preparation of mathematical tables were usually the most common examples of said problems.
The ENIAC had many terms, and one of them was that it was known as a large-scale device. However, being known as a large-scale device did not necessarily mean that a large room was needed to contain it, even though almost all large-scale devices of that time did requite a large room, however, this was not the reason of them being called so. Thus, size does not necessarily make a device large-scale or not, even though the new electronic devices found nowadays are being made as small as possible and less complex for various reasons. Large-scale devices are called so due to the size and complexity of the problems that could be placed in them. Such devices, including ENIAC and other devices, were capable of performing thousands of additions, multiplications and so forth without the need of any human intervention in the proper sequence and with numbers evolved in the operations as the work proceeds. For this reason, desk calculators are known as small-scale devices.
Another term for the ENIAC was that it was referred to as a general-purpose device. This was because it handled many different types of problems, in contrast to specialized devices. It was also electronic. By this we mean that electronic circuits were used to perform arithmetic and control procedures. If it were mechanical, it would have needed to use relays, and the basic arithmetic device in all differential analyzers used the mechanical integrator. AC calculating boards are electric devices, and thus the word electronic was used when referring to the ENIAC since it used electron tube circuits extensively.
The ENIAC was said to be synchronous, meaning that its operation was being controlled by a group of pulses which were repeated every 200 microseconds. A new operation could have started only at the beginning of one of those 200-microsecond intervals. If it were sequential, a signal would have needed to be given as soon as one operation would have been completed. This signal initiated immediately the following operation. The ENIAC had a limited amount of parallel operation, meaning that two or more arithmetic operations (two additions, or an addition and a multiplication) could have been carried out simultaneously. With contrast to parallel operation, series operation does not allow two or more arithmetic processes to be carried out at the same time. Due to the high speed of the electronic machines, the tendency in new development is toward series operation wherever the mode reduces complexity.
The ENIAC used one of many possible number codes. In the ENIAC, numbers appeared in the usual way they were used, and thus this representation is known as decimal. However, the open-closed or on-off characteristic of relays, certain tube circuits, and the like, has led to extensive consideration of the use of the binary, or base two, system. Since ENIAC used the decimal system, a number would have needed to been “translated” from its common expression in the decimal system to its expression in the binary system of numbers. Determining what choice of system to use internally was determined by many factors, such as saving in equipment, simplification in circuits, magnitude simplicity of understanding for maintenance men and other nontechnical personnel, and so forth.
The ENIAC was basically divided into four components. Theses four components included the Arithmetic Component, the Memory Component, the Control Component and Input and Output Devices. The Arithmetic Component consisted of 20 accumulators for addition or subtraction, one multiplier, one divider square root, and three function tables on each of which could have been set values of a known function to be called up in the course of the solution.
Those same 20 accumulators could have each and individually “hold” or “store” a number just as long as that accumulator was not being used for any other purpose. The three function tables were also memory devices yet at the same time arithmetic and finally sent numbers to be remembered to the output device. An unlimited memory was obtained by having those numbers that were sent to be remembered to the output device available for recall through the input device. All these formed part of the Memory Component.
One could divide the Control Component found in ENIAC into two major parts. The first part is the control of basic operations without regard to the problem on the machine, the second, the control of the sequence of operations for a particular problem. The last one was usually referred to as programming and was usually brought about on the ENIAC by inserting by hand external connections between panels of the various arithmetic and other devices. A master programmer needed to be available to carry out certain processes such as a cycle of operations repeated, another cycle begun and repeated, and then the first one again carried out a certain number of times, and for many other programming jobs. All electronic computers and large-scale general-purpose digital machines of today have programming done automatically.
In order for data, such as initial values of variables and values of parameters, to be recorded into the ENIAC was by means of punch tapes, magnetic tapes, or punch cards (those that were used in business machines), or otherwise, a type of mechanism which could insert into the computing machine electric or other types of signals which would be used to inform the machine of the numbers being supplied to it. The result, which would appear somewhere in the machine, would have needed to be brought out. This was usually done by using a mechanism that would translate the machine result (in the case of the ENIAC it was given by indications in certain circuits) to a punch tape, a magnetic tape, an electric typewriter, a punch card, or even an indication on a film or another medium. The downside, which was very noticeable, was that the speed at which input and output devices operated was so slow that most of the time, they were the limiting factor in determining the over-all time in which a problem could have been solved.
Computers nowadays are included with basically the same four main functions, though with some minor and major changes here and there. These functions include data processing, where the computer, of course, must be able to process data, data storage, where data must be stored even on a temporarily basis, data movement, where data must be moved from the computer to the outside world through input-output devices and finally control, where a computer must be able to control all these three functions. The latter is exercised by the individuals who provide the computer with instructions, however, within the computer is located a control unit which manages the computer's resources and organizes the performance of its functional parts in response to those instructions.
These four functions correspond with those functions found in the ENIAC, but as mentioned above, there have been improvements thanks to the advanced technology used today. For instance, the memory component found in the ENIAC was made up of 20 accumulators, each able to hold ten digits each, meaning that the ENIAC was able to hold or store 200 digits. Today, one would find that the memory organization found in a computer forms a hierarchy of levels. Varying from very small, fast, and expensive registers found in the CPU to small, fast cache memory, which comes with around three different levels, to larger DRAM (Dynamic Random Access Memory), which are used as very large hard disks and are even nonvolatile, meaning that their memory would not be lost when switched off, though are quite slow. The registers and cache are used as temporary storage and are volatile, whilst DRAM is used as a permanent storage. One could also use flash memory nowadays which is found in memory cards or USB pen drives as another means of memory storage, though they do not come as large as hard disks do. Apart from all this, memory usage by modern computer operating systems spans these levels with virtual memory, a system that provides programs with large address spaces (addressable memory), which may exceed the actual RAM in the computer. The memory found in today's computers vary from different sizes, usually the temporary memory storage contains a lot less memory than permanent memory, but nonetheless, today's memory could vary from a few Megabyte to Gigabytes to even Terabytes. As one can obviously tell, there is a huge leap from ENIAC's memory component to today's computers.
As mentioned above, data was entered into ENIAC by means of punch tapes, magnetic tapes, or punch cards, whilst the result would have usually been shown using flashing lights or by indications in the circuit and then translated by a mechanism onto a punch card, magnetic tape, electric typewriter or another sort of medium. As one can tell, this was an inconvenience especially when this had to be done every single time. Thanks to today's technology, one can simple use multiple input devices such as keyboards, mice, pen drives and much more which are a lot easier to use and much more efficient rather than the methods used with ENIAC. One could also use multiple output devices such as monitors, speakers, printers and many more which too are a lot more efficient and easier to use. All of these different input and output devices are a whole lot faster and more reliable than those used with ENIAC.
:eniac4.gifThe CPU (Central Processing Unit) controls the operation of the computer and performs its data processing functions. Nowadays, there has been increasing use of multiple processors in a single computer. It is one of the most complex components found in a computer, and its major structural components are as follows: the control unit located inside the CPU controls its operation, and thus one could say that it also controls the computer, the arithmetic and logic unit performs the computer's data processing functions, as mentioned above, the CPU contains registers that provide storage internal to the CPU and finally, there must be some sort of mechanism that provides communication among the control unit, arithmetic and logic unit, and the registers; hence the CPU interconnection is also a major structural component of the CPU.
Reprogramming ENIAC wasn't that easy, and one could say that it was its principle drawback. They had to rearrange the patch cords and the settings of 3000 switches each time they needed to reprogram. This consumed a lot of time and needed a handful of workers. Today, virtually all computers are based on three main concepts, which are that data and instructions are stored in a single read-write memory, the contents of this memory are addressable by location, without regard to the type of data contained there, and execution occurs in a sequential fashion, meaning that unless explicitly modified, execution occurs from one instruction to the next. Computers are now being composed with general-purpose configurations of arithmetic and logic functions. Depending on the control signals applied to the hardware, various functions would be performed on the data, thus with general-purpose hardware, the system accepts data and control signals and produces results. Hence, the programmer merely needs to supply a new set of control signals instead of rewiring the hardware for each new program as was done with ENIAC.
But how are these control signals being supplied? The entire program is actually a sequence of steps, where at each step, some arithmetic or logical operations is performed on some data, and for each step, a new set of control signals is needed. For each possible control signal, a unique code is provided, and a segment that can accept these codes and generate control signals is added to the general-purpose hardware. Thus, a new sequence of codes is needed instead of rewiring the hardware for each new program, where each code is, in effect, an instruction, and part of the hardware interprets each instruction and generates control signals. To distinguish this new method of programming, a sequence of codes or instructions is called software.
:small_vac-tube2.jpgThere have been many different generations of computers since the very first computer, and one would classify a computer in a certain generation depending on its improvements and advancements in development and computer technology. From the first generation to the last, computer circuitry has gotten a lot more advanced yet a whole lot smaller than the previous generation before it. As a result of this miniaturization, the speed, power and memory of today's computers has increased tremendously, and new discoveries are being developed constantly which would make the future computers even better than those of today's. Computers nowadays are varied and many, and fall into many different categories. These computers, however, are all designed thanks to the first computers, even though many changes were made since their time.
The ENIAC falls under the First Generation. As mentioned above, it used thousands of vacuum tubes instead of the mechanical switches previous computers had, and as a result of this, the ENIAC took up a lot of space, to be precise it covered 167 square meters of floor space. Due to its size, it weighed around 30 tons. The thousands of vacuum tubes used in the ENIAC were an extremely important step in the advancement of computers. These vacuum tubes acted as an amplifier and a switch. Due to the fact that they didn't have any moving parts, they could take very weak signals and amplify it (make them stronger), or they could also start and stop the flow of electricity instead (used as a switch). Apart from all this, however, the ENIAC had to consume 160 kilowatts of electrical power, and as a result of this, it gave off such a great amount of heat, that it had to be cooled by gigantic air conditioners. Nonetheless, sometimes these huge coolers were not enough and the vacuum tubes still overheated regularly.
The computers of those times needed a change so that they would improve, and thus, transistors became of use, hence the Second Generation. Thanks to John Bardeen, William Shockley and Walter Brattain, the vacuum tubes were replaced by transistors up until today. The transistor serves like the vacuum tube had, were it relayed and switched electronic signals. The bright side was that the transistors were much more faster, more reliable, smaller and a lot more cheaper to build than the vacuum tubes were. One transistor replaced the equivalent of 40 vacuum tubes. Transistors were made of solid material, some of which is silicon, which was commonly found in beach sand and glass, and thus, they were very cheap to produce. They were also much smaller and as a result gave off virtually not heat compared to the vacuum tubes.
Even though the transistors were a tremendous breakthrough in advancing the computer, and took up much more little space than the vacuum tubes, there was still in need of further improvements, thus the Third Generation. Nowadays, thousands and even millions of transistors are being compacted in an integrated circuit, or as it is sometimes referred to as a semiconductor chip. This integrated circuit packs a huge number of transistors onto a single wafer of silicon and due to this, the power of a single computer has increased by a great amount and also has lowered its cost substantially. The amount of transistors put on a single chip is increasing each year, and this growth reflects the famous Moore's Law (in 1965). He observed that the number of transistors that could be put on a single chip was doubling every year and would continue in the future. This was found to be through and as a result, both the size and cost of computers have fallen even further and further, enhancing its power along. The electronic devices used today use integrated circuits placed on printed circuit boards, called mother boards, which are thin pieces of Bakelite or fiberglass that have electrical connections carved onto them.
:mmx.gifThe Forth Generation computers can be characterized by both the jump to monolithic integrated circuits, which means millions of transistors put onto one integrated circuit chip, and the invention of the microprocessor. This microprocessor is a single chip that could do all the processing, computing and logic of a full-scale computer. It had the size of a pencil eraser, but originally was made to be used in calculators, but eventually found its way into computers. Due to the fact that millions of transistors are being placed onto one single chip, more calculations and faster speeds could be reached by computers. This is also so because the distance between parts inside the computer is decreasing each time, and thus communication would need to travel less, hence the speed of computers is increased.
After reading all this, one can conclude that since ENIAC was invented, many things have changed, whilst others remained the same, or at least many of today's technology is based on the ideas from ENIAC. A clear indication of how things have changed throughout the years is the cost to invent ENIAC. The project originally cost the U.S. Army around $500,000, whereas nowadays, common computers cost just a few hundred dollars, or at most a few thousand. We also notice a huge change since ENIAC and today's computers when one compares their sizes. ENIAC took up the space of a whole room whilst today's computers are so small that they could be placed on a desk whilst some are even portable. Thanks to the advanced change in technology from using vacuum tubes to microprocessors, computers can now operate and perform billionths of instructions per second compared to the 0.05 MIPS (millions of instructions per second) the ENIAC operated with. Apart from all this, even though ENIAC was 500 times as fast as a human computer using a desk calculator at that time, most desk calculators of today could operate faster than ENIAC did, so one can only imagine just how fast a computer is nowadays. ENIAC also operated using decimal code and could only store 200 digits whereas computers now use binary and are able to store millions and millions more. So, one can finally conclude that even though ENIAC was invented over 60 years ago, many of today's technology and ideas found in the computers would not have been if it were not for that large-scale, general-purpose device.
Cite This Dissertation
To export a reference to this article please select a referencing stye below: