EYAL POLAD, YARON TWENA, DORON FREIBERG, and GILAT ELIZOV.
The history of modern electronic computers may have began in 1942. but several earlier events helped to set the stage.
The inventor and painter Leonardo de Vince (1452-1519) sketched ideas for a mechanical adding machine. A century and a half later the french philosopher and mathematician Blaise Pascal (1623-1662) finally invented and built the first mechanical adding machine. It was called the Pascaline and used gear-driven counting wheels to do addition.
Forty years later, Dr. Herman Hollerith, an employee of the U.S Census Bureau, combined Jacquard's
punched cards concept with some of Babbage's ideas to solve a real world problem. The census
bureau had taken seven and a half years to complete the 1880 census. By 1890, with a 3-million
person increase in the population, the bureau anticipated that the census would take even longer.
Hollerith proposed a solution based on what he termed a census machine that would count data fed
to in punched cards. The holes in the cards represented the census data and, as the machine
detected the holes, their values were incremented on numbered dials.
By 1946, John Mauchly and J. Presper Eckert were developing, at the university of Pennsylvania, a
large scale computing device based on electronic switches and radio vacuum tubes. This device was
known as the Electronic Numerical Integration and Calculation (ENIAC), and is now seen as the
first electronic computer. It could perform thousands of calculations per second, and was used for
a variety of purpose including scientific research, calculating ballistic tables, and weather
prediction.
The great mathematician John von Neumann introduced a significant improvement in the method of
controlling the ENIAC. He suggested that instead of switching cables that connected one part of
the computer with another, in order to set up a particular computing function, a set of standard
connections between machine components be established, and that a special area of computer memory
should be developed to store both data and programming orders.
This concept is called "stored program", and is still used in today's computers. The imposing
scale and general applicability of the ENIAC signaled the beginning of the first generation of
computers.
The IAS computer can be taken as a representative of what is now called first generation
computers. It included registers, processing circuits, and information paths within the central
processing unit.
System organization
The CPU of the IAS computer consisted of a data processing unit and a program control unit. It
contains various processing and control circuits, along with a set of high-speed registers (AC,
MQ, DR, IBR, PC, IR, AR) intended for temporary storage of instructions, addresses, and data. The
main actions specified by instructions are preformed by the arithmetic-logic circuits of the data
processing unit. The control circuits were responsible for routing information correctly through
the system, and for providing proper control signals for all CPU actions. An electronig clock was
used to generate the basic timing signals needed to synchronize the operation of the different
parts of the system .
Main memory was used for storing the program and data. A transfer could take place between the
40-bit data-register DR of the CPU and any memory location. The memory address used in the
transfer was stored in the 12-bit address register AR. The DR was also used to store an operand
during the execution of an instruction. Two additional registers for the temporary storage of
operands and results were included: the accumulator (AC) and the multiplier-quotient register
(MQ). Two instructions were fetched simultaneously from M and transferred to the program control
unit. The second instruction of the pair was placed in the instruction buffer register, IBR. The
opration code of the first instruction was placed in the instruction register IR where it was
decoded. The address field of the current instruction was transferred to the memory address
register AR. Another address register, called the instruction address register, or the program
counter (PC), was used to store the address of the next instruction to be executed.
The earliest transistor computer appears to have been an experimental machine, the TX-O, which was
operational in 1953. Many of the improvements associated with second-generation computers actually
appeard first in vacuum tubes or hydrid machines. The IBM 704 vacuum tube had index registers,
floating-point hardware and a rudimentary operating system. The later models of the 704, and the
709, had special-purpose I/O processors (called "data synchronizers" or "channels"). These
computers were commercialy very successfull.
With the second generation the term "computer system" became meaningful, since memory size, the
number of processors, of I/O devices, and other system components could vary between different
installations, using the same basic computer.
An important feature of second-generation machines is the provision of special branch instructions
to facilitate the transfer of control between different programs, e.g, calling subroutines. On the
7094 a TSX instruction (transfer and set index) is available for this purpose. Suppose execution
of a subroutine that begins in location SUB is desired. Then instruction "LINK TSX SUB,4" causes
its own address (link) to be placed in the designated index index register XR(4), and the next
instruction is taken from memory location SUB. In order to return control to the calling
program, the subroutine must terminate with an instruction such as "TRA 1,4" meaning go (transfer)
to address 1+XR(4), which contains the next instruction in the main program.
IOP instructions are classified into three groups
IOPs and the CPU share a common access path to the main mamory, usually via a memory control unit
and set of shared communication lines called a system bus. Since IO operations are typically vary
slow compare with the CPU speed, most of the memory-access request can be expected to come from
the CPU.
The number of different third-generation computers is very great. The most influental computer
introduced was the IBM's System/360 series. This is a family of computers intended to cover a wide
range of computing performance. the various models are largely compatible in thst a program
written for one model should be capable of being executed any other model in the series.What would
differ may be the execution time and perhaps the memory space requirements. Many of IBM's features
have become standards in computer industry. Design of large powerful computers began with the LARC.
Other models were CDC 6600 of Control Data Corporation (CDC) in 64, 7600 in 69, and the subsequent
CYBER series.
The machines were characterized by the inclusion of many IOPs (called peripheral processors) with a
high degree of autonomy.In addition,each CPU is subdivided into a number of independent processing
units which can be oparatad simultaneously.
A CPU organization called PIPELINING was used to achieve very fast processing in several computers
such as the CDC STAR-100 (string array computer) and the Texas Instruments ASC (Advanced Scientific
Computer). The ILLIAC IV was another supercomputer designed in the late 60s at the university
of Illinois. It had 64 separate CPU-like processing elements all supervised by a common control
unit and all capable of operating simultaneously.
The first generation computer
The IBM 709

Arhitecture of a first generation
computer
Structure of a first-generation computer:IAS
Method of operation

Patrial flow chart of IAS computer operation."
The second generation computer
IBM 7094
The IBM 7094 Model I was mid-of-the-line in IBM's second generation of scientific computers. Built
with discrete transistors, the 7094 was about the same size as the 709, and had the same
architecture. The IBM 2302 was the disk drive for the 7094. The disk platters were 24 inches in
diameter and the head assembly was positioned with compressed air. It was one of the last models
of this size and it could store 300 MBytes.

IBM 2302 disc drive
A second generation computer

Structure of a second-generation computer:
the IBM 7094
The IBM 7094 is a representative large-scale scientific machine of the second generation. The CPU
differs from that of the IAS computer mainly in the addition of a set of index registers, and
arithmetic circuits that can handle both floating-point and fixed-point operations. All input
output operations are controlled by a set of I/O processors which have direct access to the
main memory. A control unit is used to switch the memory between the CPU and the various
IOPs. In the following description of the 7094, only those aspects that are signifcantly diffrent
from the IAS machine are discussed.
Most of the CPU rgisters are similar to those of the IAS computer and have been assigned the same
name. During an instruction cycle, the CPU fetches two successive instructions from memory; the
second instruction is stored in the instruction buffer register IBR. The 7097 has 7 index
registers, each can store a 15-bit address. A 3-bit "tag" subfield of the operation code of an
instruction is used to indicate if indexing is required, and which index register to use. If
index register XR(I) is indicated, then the address field currently in the address register AR has
the contents of XR(I) subtracted from it using special set of index adders to form an effective
address AR-XR(I). The affective address is used to access main memory. The program does not alter
its own instructions, since address modifications are carried out in the CPU and not in main
memory.
The instruction repertoire of the 7094 has more than 200 types of instructions. They can be
classified as follows,
Input-output processing
I/O processors such as those of the 7094, supervise the flow of information between main storage
and IO devices. They do so by executing special I/O programs, which are composed of I/O
instructions and are stored in main memory. An IOP begins execution of an IO program only when
an initiation instruction is sent to the IOP by the CPU. This instruction typically contains the
address of the first instruction in the I/O program to be executed. The IOP can then execute the
program without reference to the CPU. The CPU can, however, monitor the I/O operations by means of
instructions that obtain status information the IOPS. An IOP may also be able to communicate with
the CPU to indicate unusual conditions, such as the end of the I/O operation, by means of special
control signals calld interrupts. Interrupt facilities, introduced in some second generation
machines, enable the CPU to respond rapidly to changes in I/O activity and greatly improve its
overal efficiency. The structure of an IOP based on that of the IBM 7094 computer system (see
image). Data is transferred between the IOP and main memory a word (36 bits) at a time, but
transfer between the IOP and I/O devices, e.g magnetic tapes, is by charecter (6 bits). The IOP
therefore contains circuits for assembling characters into words and disassembling words into
characters. The main data register DR stores one word and is connected to the memory data bus. Its
role is that of the buffer register. A 5-bit instruction register IR stores the operation code part
of the current I/O instruction, while the address register AR holds a 15-bit memory address. The
number of words to be transferred during data-transfer operations is stored in the data-count
register DC. A program counter register PC stores the address of the next I/O instruction to be
executed by the IOP. Finally, the status of the current I/O operation is maintained in a status
register called SR in the IOP. This register may be used to store abnormal or error condition
information and can be examined by the CPU.
An I/O operation typically proceeds in the following way:
Large system
in the early days all programs where run seperately, and the computer had to be halted and
prepared manually for each new program to be executed .With the improvement of IO equipment and
program that came with second generation computer, it became feasible to prepare a betch of jobs
in advance,store them on magnetic tape, and the have the computer process them in one continuous
sequence ,placing the results on another magnetic tape .This mode of IO operation management is
termed batch processing. It also became common to employ a small auxiliary computer to process
the input output tapes off line off-line, allowing the main computer to devote all its attention
to a user program execution. Batch processing requires the use of a supervisory program termed a
monitor ,which is permanently resident in main memory.later operating system were designed to
enable a single CPU to process a set of independent program concurently a technique called
multiprogramming.This is accomplished by the CPU temporarily suspend execution of its cuurrent
program,beginning excution of another program ,and then returning to the first program
later. Multiprogramming systems that process many users progarams concurrently in an interactive
manner are called timesharing system.
Third Genaration
Minicomputers
Minicomputres

PDP 11
An interesting contrasting development in this generation was the mass production of small low-cost
computers called MINICOMPUTERS.Its important representative was the LINC developed at MIT 1963.
Minicomputers are charaterized by short word lenghts 8 to 32 bits,limited hardware and software facilities,
and small physical size.
Their low cost makes them suitable for a wide variety of applications such as industrial control,
where a dedicated computer for exm. a computer which is permanently assigned to one application, is needed.
In recent years, improvments in device technology have resulted in minicomputrs which are comparable in
performance to large second generation machines and greatly exceed the performance of most first generation machines.
* Each instruction of the processor being controlled causes a sequence of microinstructions,called a MICROPROGRAM,to be fetched from a special ROM or RAM ,called a CONTROL MEMORY.
* The microinstructions specify the sequence of microoperations or register transfer operations needed to interpret and execute the main instruction.
* Each instruction fetch from main memory thus initiates a sequence of microinstruction fetches from control memory.
Microp. provides a simpler and more systematic of designing control circuits and greatly increases the flexibility of a computer. The instruction set of microprogrammed machine changed merely by replacing the contents of the control memory. This makes it possible for a microprogrammed computer to execute directly programs written in the machine language of a different computer, a process called EMULATION. Microprogrammed control units tend to be more costly and slower than hardwired units, but these drawbacks are generaly outweighed by the greater flexibility provided by microprogramming. Because of the close interaction of software and hardware in microprogrammed systems, microprograms are sometimes referred to as FIRMWARE.
Parallelism can also be introduced on a lower level by overlapping the fetching and the execution of individual instructions by a single CPU. Two distinct methods of achieving this have evolved.
1. More then one unit can be provided to carry out a particular operation, lets say addition. By employing n independent adders, n additions can be performed simultaneously. This type of structure permits array operations to be performed very rapidly.
2. A processing unit can be designed in the form of a pipeline, which allows the execution of a sequence of microoperations to be overlapped.
Multiprogramming and multiprocessing usually involve a number of concurrently executing programs sharing the same main memory. Because main memory capacity is limited by cost considerations, it is generally impossible to store all executing programs and their data sets in main memory simultaneously. Thus it becomes necessary to allocate memory space dynamically among different competing programs and move or "swap" information back and forth between main and secondary memory as required. A major function of an operating system is to perform this memory management operations automatically.
This technology has evolved steadily from ICs containing just a few transistors to those containing hundreds of thousands of transistors; the latter case is termed "Very large scale integration", or VLSI.
The impact of VLSI technology on computer design has been profound. It has made it possible to fabricate an entire CPU, main memory, or similar device with a single IC that can be mass produced at a very low cost. This has resulted in new classes of machines such as inexpensive personal computers, and high performance parallel processors that contain thousands of CPUs.
The term "FOURTH GENERATION" is occasionally aplied to VLSI-based computer architecture.
Integrated Circuits
An "INTEGRATED CIRCUITS" (IC) incorporates a complete transistor circuit into
a tiny rectangle or "chip" of semiconductor material, typically silicon.
The IC chip is then mounted in a suitable package that protects it and provides
electrical connection points (pins or leads) to allow several ICs to be
connected to one another, to I/O devices, and to power supplies.
In the "DUAL IN-LINE PACKAGE (DIP)" the pins are organised in two parallel rows
with 2.54 mm spacing between adjacent pins in each row.
For very complex chips requiring a hundred or more pins, a "PIN-GRID ARRAY (PGA)"
package may be used, where less surface area is needed to acommodate a given
number of pins.
A complete computer system can be constructed by mounting a set of ICs on carriers or substrates that provide both mechanical support for the computers and a means for interconnecting them. A typical IC carrier is a circuit board made of fiberglass or a similar insulating material. The interconnections can be formed either by discrete wires or by conductors that are printed- again a manufucturing technology that facilitates low-cost mass production-in one or more layers on the circuit board. In the latter case, the substrate is called a "PRINTED - CIRCUIT BOARD (PCB)". Finally a set of circuit boards can be mounted in a metal enclosure or cabinet that contains power supplies, cooling fans to dissipate the heat generated by the ICs, and possibly some I/O equipment.
IC types
Two of the more important IC technologies are "BIPOLAR" and "MOS". They both use transistors as
the basic switching elements; they differ however, in the polarities of the charges associated with
the primary carriers of electric current within the IC chips.
Bipolar circuits used both negative carriers and positive carriers. MOS circuits use field-effect transistors in which there is only one type of charge carrier: positive in the case of P-type MOS and negative in the case of N-type MOS. The term MOS (metal oxide semiconductor) describes the materials from which MOS circuits are typically formed; the term unipolar might be more appropriate, but it is not used. An important MOS subtechnology called CMOS combines N- and P-type MOS transistors in the same IC in a very efficient manner. MOS ICs are generally smaller and consume less power than the corresponding bipolar circuits. On the other hand, bipolar ICs generally have faster switching speeds. Although most ICs are presently manufactured from silicon, increasing attention is being given to other semiconducting materials such as gallium arsenide. Gallium arsenide ICs are more difficult to process than silicon ICs, but they are inherently faster by a factor of about 5.
Integrated circuits may be roughly classified on the basis of their DENSITY, which is defined either as the number of transistors included in a chip, or as the number of logic gates per chip, where a typical logic gate is composed of about five transistors. The earliest ICs, which contained from 1 to about 10 gates, are termed SMALL SCALE INTEGRETION (SSI). MEDIUM SCALE INTEGRATION (MSI) implies a density of 10 to 100 gates per chip, while the term LARGE SCALE INEGRATION (LSI) covers ICs containing hundreds or thousands of gates. The term VERY LARGE SCALE INTEGRATION (VLSI) is employed for the densest ICs, such as 1 M-bit memory chips first marketed in 1986, each of which contains more than 1 million MOS transistors.
Because IC manufacture is almost entirely automated, the cost of making a complex IC is small provided a high production volume is maintained.
LSI circuits began to be produced in large quantities around 1970 for computer main memories and pocket calculators. For the first time it became possible to fabricate a CPU or even an entire computer on a single IC chip. A CPU or similar programmable processor on a single IC or, occasionally, several ICs , is called a MICROCOMPUTER.
Because of the low manufacturing costs noted above, MICROPROCESSORS AND MICROCOMPUTERS are very inexpensive. This enables them to be sold high-volume users at prices comparable to those of the discrete transistors used in second- generation. Low cost and small size also make microcomputers suitable for many applications where computers where not previosly used.
1. The proposed design is "drawn" or laid out in terms of cells whose complexity can very from a single transistor to a complex processor. Computer programs have been developed that convert the graphical input into a computer file in some standard format. Typically the CRT screen of a computer, termed a CAD workstation, serves as the designer`s drawing board.
2. A variety of CAD programs have been developed to assist in the design process by, for instance, allowing trial layouts to be easily modified, and allowing cells from a precomputed cell library to be incorporated into the current design. Programs called simulators are used to verify the correctness of a proposed design whose complexity may make it difficult to check manually.
3. The computer file describing the proposed circuit is processed automatically to create the optical templates or masks, which are the printing plates from which the ICs are manufactured.
The MCS-4 series was soon followed by a large number of microprocessor families produced by various manufacturers; most of these employ the faster NMOS and CMOS technologies.
As IC densities increased with the rapid development of IC manufacturing technology, the power and performance of the microprocessors also increased.
This is reflected in the increase in the CPU word size to 4, 8, 16, and by mid- 1980s, 32 bits. The smaller microprocessors have relatively simple instruction sets, e.g., no floating point instructions, but they are nevertheless suitable as controllers for a very wide range of applications such as automobile engines and microwave ovens.
The larger and more recent microprocessor families have gradually acquired most of the features of large computers.
As the microprocessor industry has matured, several families of microprocessors have evolved into de facto industrial standards with multiple manufacturers and numerous "support" chips including RAMs, ROMs ,I/O controllers ect.
A microcomputer with a relatively small main memory and limited I/O connections can be implemented on a single VLSI chip.
The resulting one-chip microcomputer is in many respects, a landmark development in computer technology because it reduces the computer to a small, inexpensive, and easily replaceable design component.
The production of single chip microcomputers began in the mid 1970s, shortly after the appearance of the first microprocessors. They are typically used as programmable controllers for a wide range of devices and are consequently sometimes referred as microcontrollers.
Microcomputers have given rise to a new class of general-purpose machines called PERSONAL COMPUTERS. These are small, low cost computers that are designed to sit on an ordinary office desk and, in some cases, to fold into a compact form that is easily carried. A typical PC has perhaps 1Mbytes of main memory capacity, and the following I/O devices: a keyboard; a video monitor, a compact disk driver and interface circuits for connecting the PC to telephone or computer networks.
One of the most widely used PC families is the PC series from IBM, which, following its introduction in 1981 and following precedents set by earlier IBM computers, has become a standard for this class of machine.
Another noteworthy PC is apple computer's Macintosh.
Their small size and low cost have made it feasible to use microcomputers in many applications which previosly employed special-purpose logic circuits. The microcomputer is tailored to a particular appliction by means of programs which are frequently stored in ROM chips. Changes are made merely by replacing the ROM programs.
PC have proliferated to the point that they have become as common as typewriters in business offices. Their main applications are word processing, where PC have assumed and greatly expanded many of the traditional typewriter's functions, accounting and similar data processing tasks, and as communication terminals with other computers all over the world.
Some of the tasks that computers will do in the next generation of computing can be defined as ARTIFICIAL INTELLIGENCE .
Such computers would make decisions based on available evidence rather than on hard and fast rules. If computers could be taught the rules that are used in decision making, they might be able to replace the human experts who are currently charged with those decisions.
Some versions of these types of EXPERT SYSTEM are already in use and new ones are now under development.
However, new computer programs and new methods of programming computers will have to be designed and put into operation before it can be said to be fully engaged in this latest generation of computers.
We are still a few steps away, but life saving computer implants are only around the corner. These tiny computers will control mechanical devices that can replace living organs that have ceased to function. Other medical research has given paraplegics renewed hope that they may someday walk again with the assistance of a computerised nervous system. Within a few years, pocket computers will be able to read 50 different newspapers, turn on the heat at home, call a cab, order groceries, buy shares of stock, make hotel reservations. Our pocket computers will also serve as credit cards.
ALBERT EINSTEIN said that "concern for man himself and his fate must always form the chief interest of all technical endeavors".
There are those who believe that a rapidly advancing computer technology exhibits little regard for "man himself and his fate".
Whether it is good or bad, society has reached the point of no return with regard to its dependence on computers.
Bell,C.G,and A.Newell. Computer Structures: Readings and Example,McGraw-Hill,.
David A. Patterson, John L. Hennessy Computer Architecture: A Quantitative Approach. 1990
John P. Hayes. Computer Architecture and Organization. 1988
The Origins of Digital Computers: Selected Papers,3d ed.,Springer-Verlag, Berlin,1982.
Computer History
Intels Computers of the 1990s.
Larry Long, Nancy Long. Computers. Prentice-Hall, 1986
Murdock, Everett E. Computers today, 1995