COMPUTER ARCHITECTURE  

Introduction to Computers  

            Computer means a different thing to different people. The computer appears to be a magic (black) box to a layman. For the common men the computer is simply a calculator that works automatically. For a technically sound professional it is a sophisticated electronic device capable of solving problems or manipulating data by accepting data, performing prescribed operations (mathematical and logical) on the data, and supplying the result of these operations as output. 

            A computer is a fast and accurate electronic symbol (or data) manipulating system that is designed to automatically accept and store input data, process them, and produce output result under direction of a stored program of instructions. 

Limitations of Computers 

            Computers have to be told exactly what to do. The computer does what it’s programmed to do and nothing else.  A clever program can be written to direct the computer to store the results of previous decisions.  Then, by using the program’s branching ability, the computer may be able to modify its behavior according to the success or failure of past decisions.  But a program that has operated flawlessly for months can suddenly produce nonsense outcome. The reason could be that some rare combination of events have taken place which the computer was not programmed to handle, or the course of action provided by the programmer contained an error that is just being discovered.  A reliable program if given incorrect data may also produce nonsense results and the computer will happily report them.


HISTORY  

From Abacus to Personal Computer 

            The abacus and the personal computer are two lap-sized data processing devices separated by thousands of years of history. Let us look at some of the milestones along this lengthy path.

The first Record Keepers and their Tools  

            People lived on earth for eons without keeping records, but as tribes grew into nation trade and commerce developed. By 3500 BC Babylonian merchants calculating device was the abacus. Although over 3000 years old, it’s still used today in some parts of the world. 

            Record-keeping techniques continued to develop through the centuries, with such innovations as record audits (the Greeks) and budgets (the Romans). In 1642 Blase Pascal, a young Frenchman developed the first mechanical calculating machine (A modern programming language is named in his honor). About 30 years later, Gottfried von Leibniz, a German mathematician, improved on Pascal’s invention by producing a machine which could add, subtract, multiply, divide and extract root. But no one knew how to manufacture such precise machines.
 

Early Computer Development 

            Babbage’s Folly About 50 years before Hollerith’s efforts, Charies Babbage, Lucasian Professor of Mathematics at Cambridge University in England, proposed a machine that he named the “analytical engine”. Babbage was an eccentric and quick-tempered man who spent much of his life working in vain to complete his incredibly complex machine. Babbage’s dream-to many of his contemporaries it was “Babbage’s folly” would have incorporated a punched card input: a memory unit, or storage: an arithmetic unit, or mail; automatic printout; sequential program control; and 20 place accuracy. In short, Babbage had designed a proto-typed computer that was 100 years ahead of its time. Assisting Babbage in his efforts was Lady Augusta Ada Lovelace, the daughter of Lord Byron, a poet. A brilliant mathematician, Ada corrected some errors in Babbage’s work and invented new approach to program designs, using punched cards. She is often referred to as the first computer programmer because of these discoveries (Another modern programming language ADA is named in her honor). After Babbage’s death in 1871, computer development stalled until 1937: punched cards ruled the word of data processing. 

The First Generations Arrive 

                MARK-1, ENIAC, and the Early Pioneer in 1937, Harvard Professor Howard Aiken set out to build an automatic calculating machine to combine electrical and mechanical technology with Hollerith’s punched card techniques with the help of graduate students and IBM engineers. The project was completed in 1944. The completed device was known as the Mark-1 digital computer. Internal operations were controlled automatically with electromagnetic relays. In many respects it was the realization of Babbage’s dream.

            During 1940 and 1941, John W.Mauchly working at the Moore school of Electrical Engineering of the University of Pennsylvania, then began formulating his own ideas on how a general-purpose computer be build. Mauchly soon teamed up with J. Presper Eckert Jr., a graduate engineering student at the Moore School, to organize the construction of ENIAC in the early 1940s.            

            ENIAC was the first electronic general-purpose computer to be put into full operation. Funded by the U.S Army, it was built as a secret wartime project at the Moore School (the Army was interested in the rapid preparation of artillery trajectory tables.). Vacuum tubes (18,000 of them) were also used in ENIAC. Although it weighed 30 tons and occupied the space of a three-bedroom house but it could do 300 multiplication’s per second making it 300 times faster than any other device of the day. Operating instructions for ENIAC were not stored internally; rather they were fed trough externally located plug boards and switches. ENIAC was used by the Army until 1955 and was then placed in the Smithsonian Institution. 

Mauchly, Eckert, and others at the Moore School set out to build a machine with stored program capability. This machine the EDVAC was not completed until several years later. EDVAC finished in 1949 at Cambridge University, and distinction must go to it for being the stored program electronic computer. 

            The Race to Market: One reason for the delay in EDVAC was that Eckert and Mauchly founded their own company in 1946 and began to work on the Universal Automatic computer, or UNIVAC. In early 1951 the first UNIVAC-1 became operational at the Census Bureau (In 1963, it too was retried to the Smithsonian Institution-a historical relic just after 12 years!). When UNIVAC-1 displaced IBM punched card equipment at the Census Bureau, Thomas J. Watson, Jr. the son of IBM’s founder reached quickly to move IBM into the computer age. The first computer acquired for data processing and record keeping by a business organization was another UNIVAC-1, installed in 1954 at General Electric’s Appliance Park in Louisvile, kentucky. But the IBM 650 entered service in Boston in late 1954. A comparatively inexpensive machine for that time, it was widely accepted. It gave IBM the leadership in computer production in 1955.
            

  The Second and Third Generations Arrive  

            The Second Generation of computers that began to appear in 1959 was made smaller and faster and had greater computing capacity. The practice of writing applications programs in machine language gave way to the use of high level programming language. And the vacuum tube, with its relatively short life, gave way to compact solid-state components like the transistors that had been developed at Bell Laboratories in 1947 by John Bardeen, William Shockley, and Walter Britain. 

            Paralleling the development of second-generation systems was the creation of new industry, built around the idea of integrating transistors and other components into circuits that could be placed on small chips of silicon. An early firm in this industry was Shockley Semiconductor, founded in 1955 by William Shockley in his hometown of Palo Alto, California. Some employees of Shockley’s firm soon left to form Fairchild Semiconductor. Report Noyce, one of Fairchild’s founders is one of two people credited with developing the first integrated circuits. Aack Kilby a Texas Instrument engineer is the other. Fairchild people then formed a number of other companies. Noyce, for example, was founder of Intel Corporation. Since many of these companies were located in the Santa Clara Valley near Shockley’s firm in Palo Alto, the region became known as Silicon Valley.           

The Third Generation Second-generation systems were rather specialized. They were designed to process either scientific or nonscientific applications, but they weren’t meant to do well in both environments. That situation changed in 1964 when IBM announced a third generation of computing hardware i.e. System/360 family of mainframe computers. Each processor in this family had a large set of built-in instructions that it could execute. Some of these instructions were particularly useful in scientific processing, while others were more suited to record-keeping applications. Thus, the 360 lines could be used efficiently in both environments. Many other upgraded families of processors have been introduced since 1964. Collectively, these processors might be considered a fourth generation. But the industry failed to agree on a generation in subsequent years.

  From 1965 to 1974  

            The development of Minicomputers; the computers built in the early 1960s were mainframes designed to provide at a central site all the processing power needed by an organization. This approach served the needs of some organizations. But others were unable to afford large systems or they had special applications that a large, centralized machine could not process effectively.
            Clearly, a need existed for low-cost minimal computers to fill the gaps left by the bigger, faster centralized approach. Several innovators recognized this need and formed new firms in the 1960s to produce these minimal machines. The first processors called minicomputers were developed and built in 1965 by digital Equipment Corporation (DEC)-now the largest producer of minis. Other major suppliers of mini are Hewlett- Packard and Data General etc.
            The Microprocessor Arrived the average number of electronic components packed on a silicon chip doubled each year after 1965 and this progress led to a dramatic development; the creation of a microprocessor that could be placed on single chip. A microprocessor contains all the circuits needed to perform arithmetic-logic and control functions. A complete processor unit can be built with a microprocessor, a few additional primary storage chips, and other support circuitry.

            The first microprocessor-the Intel 4004 could execute only a few Instructions. And it could manipulate only tiny amount data at one time, But by the fall of 1971, Intel had produced a more powerful chip, the 8008 and Texas Instruments had also delivered a microprocessor. In 1974, Intel Produced a third microprocessor the 8080 and the groundwork was laid for the development of personal computer (PC).

  The Fourth Generation   The Development of Personal Computers  

            The PC Pioneers: The first advertisement for a microprocessor based PC appeared in the March 1974 issue of QST, a magazine for amateur radio buffs. The product advertised was the Sceifbi-8H. Only about 200 were sold. Following closely behind the Scelbi was the Altair 8800. Designed around an Intel chip by an Albuquerque, New Mexico, company named MITS, Inc. the Altair was originally offered in kit form for under $400. The lead article in the January 1975 issued by Popular Electronics featured this machine and that article may well have triggered the PC explosion. At the same time completing a program that could translate instructions written in BASIC into the machine codes required by Intel microprocessors. Microsoft Corporation was created to market the Gates-Allen BASIC program, and Microsoft BASIC was licensed to MITS in late 1975. Microsoft is now a leading supplier of PC software. 

            The Early Successes        A company that did grow out of a garage and into American business folklore is Apple Computer. In the spring of 1976, a young Hewlett-Packards technician named Steve Wozniak bought a microprocessor from MOS Technology and set out to build a computer around it. This computer –the Apple- was shown at the Homebrew computer club in Silicon Valley. Wozniak offered his design to Hewlett- Packard. When it wasn’t interested, a friend of Worzniak’s named Steve jobs suggested that they form a company to market the Apple. Only about 200 Apple I’ were built, but by the end of the summer Wozniak was working on the design of the Apple II. With financial and managerial help from mike Markkula, a former Intel engineer and marketing executive, Apple suddenly became a major entrant into the computer industry.            

            The Recent Years  By the end of the 1970s, the leading machines were being used everywhere-in homes, school, and workplaces. But as the 1980s, began, lower-cost systems intended for home use were produced by companies such as Atari and Commodore, and a whole new generation of more powerful d4sktop models for use in schools and workplaces was introduced. IBM entered the market with its IBM-PC family of computers and enjoyed huge success, but small start-up firms appeared regularly with new hardware and software offerings. 

Types of computer 

Analog

            The representation of numerical quantities by means of physical variables e.g. translation, rotation, voltage, or resistance. 

Digital Computer

            A computer in which discrete representation of data is used. 

Hybrid Computer

            A computer for data processing uses both analog representation and digital representation of data. 

Classification of Computers  

Digital computers have been grouped into four main classes: 

·       Micro Computers

·       Mini Computers

·       Main Frame Computers

·       Supper Computers 

            This classification is very useful in gaining an under standing of the key elements of computer architecture and the key differences among computers. This classification of course, implies differences between classes in one or more characteristics. In the 1960’s, before the microcomputer, there was a clear-cut distinction between mini computers and main frames. The most important characteristic that could be used to differentiate the two types of computers were:

·         Speed

·         Instruction Set

·         Number of CPU Registers

·         Word Length

·         Main Memory Size

·         Complexity of I/O Modules

·         Operating system complexity

·         Physical Size

·         Cost

·         Virtual Address Space

·         Secondary Memory Size degree of Multiprogramming 

            The mainframe possessed more out of these characteristics than the minicomputers with the on going evolution of technology. The boundaries between the four types of machines have become blurred.

 

Microcomputer             A microcomputer is a computer whose CPU has microprocessor.  A micro is a processor all of whose components are on a single integrated-circuit chip. Home computers, personal office computers are examples of microcomputers, which have proliferated bringing computing power and literacy to more and more people.  In terms of number of units, microcomputer sales dwarf those of all other typed of computers combined.

 Personal Computer    Personal computers are called so because they are designed for personal use of individual or small business companies.  They are meant for professionals, small business units and office automation systems. PC can be used for variety of applications, Electronic spread sheets, and Telecommunications database Management and Accounting Word Processing. PC can be assembled with little assistance at less than one-fourth brand name prices. All you have to buy is:

·         Three printed circuit boards

·         Mother board

·         Display board

·         I/C board

·         Key board

·         Monitor

·         Hard disk

·         Floppy Drive

·         RAM
 

Minicomputer     By early 1960, economic and technical factors combined to make small inexpensive computers attractive for many applications. Many computing tasks could be accomplished with less power than was then available on the contemporary mainframe computers. This led to the advent of minicomputers. Throughout the 1960s and 1970 advances in technology led to the increasing functionality of the minicomputer. The minicomputer became a multi-user, or shared system. Speed of execution, instruction repertoire, memory size, and other characteristics of minicomputers increased with advances in technology. Instruction sets were enhanced to include operations on floating-print number for scientific processing and on character strings for commercial applications. The availability of low cost memory allowed a dramatic increase on the size of main memory attached to the minicomputers.

            Introduction of 32 bit minicomputers dubbed as superman in late 1970s led to support of more simultaneous users and handing more peripheral devices and larger memories than previous minicomputers. 

            So now if you need a multi-user system to support, say around 30-40 online concurrent users in a database environment, you would not go in for a mainframe, that would be an overkill and a microcomputer would be too small.  What is needed in such a case would be minicomputer. A word of caution is warranted here, in the above example the figure on the number should not be taken in a strict sense.  What is important is that there is a range of computers available, which in term of the criteria we have listed would fall somewhere between the categories of microcomputers & mainframe. 

Mainframe                      Although there has been some blurring of the boundaries between minicomputers and mainframes, the mainframe remains a distinct class of computers. 

            There are some key differences between the mainframe class and the minicomputer class. One of the most dramatic differences is in the speed of the two classes. A common measure of speed is Million of instructions Per Second (MIPS), this is the rate at which machine instructions are executed.  An IBM 3090/600 is rate at 102 MIPS whereas VAX 8842 us rated at 22 MIPS.  It is sometimes dangerous to compare MIPS rating of dissimilar machines, since the typical instruction on one machine might do more than the typical instruction on another. However, the instruction sets of mainframes and super minis are comparable, so this is a fair comparison.  Another dramatic difference is in price. An IBM 3090/600 model would have cosseted around $ 12.4 million in 1988.

 

            In terms of dollar volume, mainframe is the largest sector of the computer hardware market, and the market place continues to grow. The question might arise, why such expensive machines continue to survive on the world of microcomputers and low cost minis. The primary function of mainframes today is to support large databases. Large business and government organizations need a central repository of data that can be managed and controlled centrally. Only the mainframe has the processing power to handle large database systems. More that kept up with other classes of computer in terms of price and performance.


Supercomputers          Although the performance of mainframe general-purpose computers continues to improve relentlessly, there remain applications that are beyond the theoretical performance limits of the contemporary mainframe. There is a need for computers to solve multi variety mathematical problems of real physical processes, such as occur in disciplines including aerodynamics, seismology, and atomic, nuclear and plasma physics.  Typically, these problems are characterized by the need for high precision and a program that repetitively performs floating-point arithmetic operations on large array of numbers. Most of these operations fall into the category known as continues field simulation. In essence, a physical situation can be described by a surface or region in three dimensions (e.g the flow of air adjacent to the surface of a rocket). A grid of points approximates this surface. A set of differential equations defines the physical behavior of the surface at each point. The equations are represented as an array of values and coefficients, and the solution involves repeated arithmetic operations on the arrays of data. 

            To handle these types of problems, the supercomputers have been developed.  These machines are typically capable of handling hundreds of millions of Floating point operations Per Second (FLOPS) and cost in the 15-20 million-dollar range.  Although a supercomputer is capable of general-purpose applications found on mainframes, it is optimized for the type of numerical calculation involving arrays.            

            The supercomputer has limited use and because of its price tags a limited market.  Only a few dozen of these machines are operational in India, mostly at research centers and some government agencies with scientific or engineering functions.  As with other areas of computer technology, there is a content demand to increase the performance of the supercomputer.  In come current application in aerodynamics and nuclear physics as many as needed for a single problem.  Thus the technology and performance of supercomputer continues to evolve.

            Super-computers are able to reach the large volume and speed performances far beyond the theoretical limits of mainframes by using parallel processing, vector processing and pipelining techniques.  

 Computer System Organization

             A computer consists of Hardware and Software.
 

Hardware         

            It is a general term used to represent the physical and tangible components of the computer itself i.e. those components that can be seen and touched. It includes:

·         Input devices

·         Output devices

·         Central processor unit

·         Back up storage or auxiliary memory devices

·         Different adapter cards and peripheral devices

            The electronics circuits consisting of resistors, ICs, etc. Inside a computer cabinet are all examples of computer hardware. All input and output devices connected to computer are collectively known as peripherals.