Computer architecture
Computer architecture refers to the intricate system of electronic components that make up a computer, focusing on how these components are structured and function together. It encompasses the design and integration of vital hardware components, such as the central processing unit (CPU), random-access memory (RAM), and various input and output devices. The CPU is central to data processing, executing program instructions through its arithmetic/logic unit (ALU) and control unit, which manage logical operations and oversee program execution.
In computer systems, data is processed in binary format, with memory facilitating random access for efficient data retrieval. Storage solutions include volatile RAM for temporary data and nonvolatile external devices for long-term data retention. As technology has evolved, significant advancements have been made in hardware integration, resulting in smaller and more powerful CPUs while enhancing computer capabilities.
Understanding computer architecture enables users to optimize system performance and expandability through compatible components and configurations. This knowledge is particularly relevant as the personal computer revolution continues to impact everyday computing experiences, making high-speed computation more accessible and affordable.
Subject Terms
Computer architecture
Type of physical science: Computation
Field of study: Computers
Computer architecture is the complex system of circuitry and devices that constitutes a computer. It consists of digital circuits that process timed electron pulses to produce logical and arithmetic results, transmit them, and then store them on various media. If all the hardware components of the computer are coordinated, a stable, controlled, programmable environment for the execution of programs is provided.


Overview
Computer architecture deals with the structure and function of the components of computer systems and their integration. In this sense, it is not a single principle but involves the development of several technologies, their merging to produce computers, and the evolutionary advances resulting in higher performance, reliability, capacities, and capabilities.
A computer consists of five basic hardware components: the central processing unit (CPU), random-access memory (RAM), secondary storage devices, input devices, and output devices.
The CPU is the component of a computer's circuitry that performs data manipulation and executes program instructions. It conducts arithmetic and nonnumeric operations in the arithmetic/logic unit (ALU) and control functions in the control unit.
The ALU consists of circuitry that does addition, subtraction, multiplication, and division on several types of numbers such as integers and floating-point real numbers. Arithmetic is carried out over binary numbers; in this scheme (also called base two), numbers are stored as zeroes and ones. Binary is used since those two values can be interpreted from the absence or presence of an electric pulse along a wire. Generally, numbers are temporarily stored in the CPU in high-speed storage circuits called registers. These registers generally occur in eight-bit, sixteen-bit, and thirty-two-bit sizes and store numbers of similar length. Besides arithmetic between registers, the ALU can compute logical functions such as AND, OR, and NOT over the bits in these registers and can test conditions over those registers such as "if a register A equals zero." Most CPUs support large sets of other instructions.
The control unit portion of the CPU supervises the step-by-step execution of a program. The control unit keeps track of the statement presently being executed, where the next instruction occurs, and the status of the computer; all these facts are also stored in several special-purpose registers. Control units occur in two types: hardwired and microprogrammed.
Hardwired control units have all the information for carrying out all machine operations represented as actual physical circuitry. Microprogrammed control units simplify circuit design and flexibility by storing the meaning of each instruction in special dedicated user-inaccessible memory called control memory. In a microprogrammed control unit, each machine operation is executed by first translating it (using control memory) into a specific sequence of low-level microinstructions (for example, commands such as move data to a register, set one bit to 1) and then executing them in that order. One drawback of this approach is a slower execution than with the hardwired model.
CPUs on minicomputers and mainframes generally consist of one massive or several standard-size boards. On microcomputers, CPUs often occupy one chip, with several support chips on the same board. These reductions in CPU size from large systems to microcomputers are primarily caused by higher degrees of circuit integration on the semiconductor surfaces in chips.
CPUs have only a small number of registers. RAM complements this storage, providing memory space for programs, their intermediate data, and computational results. RAM consists of rows of chips that store data as one long sequence of bytes, starting with byte 0000, 0001, 0002, and so on. Any arbitrary byte can be accessed in a constant amount of time and in any order, hence the term "random access." The number corresponding to where a byte of data occurs is called its address.
The CPU communicates with RAM and the rest of the computer through multiple parallel wires called a bus. The bus generally supports the simultaneous flow of eight bits, sixteen bits, thirty-two bits, and sometimes sixty-four bits, depending on the wiring and the CPU capabilities. To support the addition of new circuitry to a computer, the bus has slots (called expansion slots) with exposed metal links. When a card (called an expansion card) with circuitry is inserted into that slot, and the metal leads of the expansion card contact the bus links, the CPU can communicate with and utilize the new circuitry.
The computer executes commands basically in the following way: First, the control unit requests one specific program instruction be sent from the memory, along the bus, to the CPU. The instruction is then decoded. Depending on the instruction, data may be sent along the bus to the CPU, a computation conducted in the registers, and/or the numerical result of a computation is sent back along the bus to the memory. When the instruction is completed, the address of the next instruction for execution is computed and the whole cycle starts again.
In every computer, electric pulses are generated and sent through the circuitry in fixed time intervals determined by an internal clock generator, which synchronizes most activities in a computer. The number of clock pulses per second is one factor that determines the speed of the computer. These pulses provide the electricity that keeps both the CPU and most memory running.
Memory occurs in two forms: volatile and nonvolatile. Volatile circuitry loses all data when the power drops to near zero. Most RAM occurs as volatile electric circuits on silicon chips. One form of nonvolatile memory is battery-backed RAM, in which a battery provides a constant supply of electricity to retain the electric states of memory chips after a computer is powered down.
External storage devices are required to store data and programs prior to usage, after a program executes, and after powerdowns. This permanence of data results from the magnetic nature of the storage media used in these devices. Another characteristic of external storage devices is their very large storage capacities, often varying from 20 megabytes (millions of bytes) to multiple gigabytes (billions of bytes). Two forms of external storage are primarily in use: disks and tapes.
Disk drives essentially store data on magnetizable surfaces of flat, circular disks. As these disks rotate, data are read or written by a head above those surfaces. Any break in the electric supply will not damage the magnetic states of the disk surface.
To support disk drives and I/O (input/output) devices, every time one of these devices sends a signal or is requested, a program running on the CPU is suspended (called an interrupt) and a special program is called to process the data for that device. When complete, the CPU resumes its original program.
Because of the mechanical nature of disk drives, data access and transfer rates are slower than with RAM. Several important methods are used to speed the effective data access and transfer rates. One approach to reducing the number of disk accesses involves moving more data per access. This approach (called blocked I/O) moves whole blocks of data each time a disk access is executed, in expectation that the data beyond the amount requested will be used immediately afterward. This method, which is supported by both software and hardware, results in significant performance gains in effective sequential disk processing. Buffers are used to store these data. Another growing trend is adding RAM to disk controllers (called caching controllers) in order to speed up disk subsystem response. The most-used blocks of data are kept in the cache, resulting in better performance for nonsequential (random or direct) access.
Tape drives are used primarily for long-term backup. Disk drives are often the first component of a computer to crash. To preserve the data on them, data should be periodically copied to tape. Tapes are a removable media and must be mounted prior to usage. Since data are copied or read by the tape head as the tapes unwind, data are stored and accessed sequentially as a long stream. No direct access is possible and therefore tapes cannot replace disk drives. Speed is rarely the major issue for tape drives because their usage is periodic and does not directly influence general computer performance. Instead, data density is more crucial. Since several complete backups are normally needed and disk drives have achieved greater data densities, the shelf space for backups and the effort of mounting many tapes per backup become important.
Tape drives offer average tape capacities from 40 megabytes to 5 gigabytes. The situation is worse when large numbers of floppy disks (flexible, removable low-data-density disks) are used to back up hard drives (a common practice among personal computer users). Another application of floppy disks and tapes is the distribution and transport of software or data.
Newer technologies may replace tapes as a backup medium. Besides removable disks, disk drives using lasers to mark data onto treated surfaces (called optical disks) are becoming cost-effective and offer random-access capabilities, though significantly slower than standard magnetic disk drives. CD-ROMs (compact disk storage device read-only memory) are becoming popular as an alternative distribution media for large amounts of data. Because data writes cannot be performed on them, however, CD-ROMs are useless for backups.
Another category of peripherals are input devices such as keyboards, cardreaders (now obsolete), teletypes, and several graphically oriented pointing devices (such as mice). Most of these devices transmit data along serial cables since they are extremely slow as hardware.
Likewise, these devices use interrupts and buffers in a manner similar to disk drives. In a multiuser environment, several terminals may be connected both for input and output, sometimes with different communication protocols, along serial lines. Voice input, scanners, and scientific instrumentation may require greater throughput as input devices whose data must be processed prior to use or storage.
Output devices include printers and plotters (for documents) and monitors (for interactive display). Printers are linked to the computer bus via serial or parallel interfaces and cables. In applications where high-volume data transmission is necessary (such as with bit-mapped images, complex graphics, and typesetting with multiple fonts), parallel connections are preferred.
Monitor output is a notably more complex area. To transmit data to a monitor screen, data must be sent to a graphics card, which then converts the data into commands that control the monitor. Most monitors operate on principles like those of other cathode-ray tubes (such as those in television sets). Monitor resolution (the number of dots or pixels that occur along the length and width of the screen), screen refresh rates (the number of times per second that an image is repainted on the screen), the number of colors supported, and the number of colors viewable on one screen are serious points of concern in both monitor and video graphics technology. To keep track of each pixel, memory that is dedicated to graphics is required on the graphics card. Each pixel's color must also be recorded, multiplying those memory requirements. Whereas old monochrome text-only graphics cards used a few thousand bytes, color graphics cards with one or more megabytes supporting one million screen pixels, each with one of 256 colors, are common.
To support communications with other computers, network cards and modems are required. Modems convert data from digital signals into analog signals similar to those on phone lines. Network cards transmit along dedicated cables between computers, both of which must have the same type of card. The communicational signal codes (called protocols) are specific to the type of network. Several standard protocols exist between microcomputers and between microcomputers and minicomputers (or mainframes). Modems support many possible combinations of protocol characteristics and transmission speeds, each of which must be set for each possible destination.
Support circuits for the CPU include ROM chips. The chips store fixed programs, which can only be read not modified. These ROM programs handle input/output, interrupts, and other fixed activities. ROM determines which hard disks and graphics cards are supported.
Another support chip for the CPU may operate memory caches (so a fast CPU is not bottlenecked by slower memory). Keyboard timing is another support-chip function.
Applications
The application of technologies to produce microcomputers created the personal computer revolution, which raised the state of the human mathematical and textual processing capabilities like no other technological revolution before it. Typewriters and their inherent limitations are quickly becoming historical artifacts. High-speed computation is no longer charged at twenty dollars per minute of mainframe CPU time. The computational aspects of research have become more affordable, especially for individuals. Major grant funds are no longer devoted to renting CPU time and paying monthly disk-storage charges. Similarly, with new input technologies, the frustrations of old punch card decks are gone. Single-user computers with interactive processing are a significant result of the application of advances in hardware.
Users can actually apply their knowledge of computer architecture in several ways.
With standardized expansion slots and expansion boards, the user can custom-design a computer to meet usage requirements exactly. By learning the disk-drive types supported by their specific computers, users can purchase higher-speed or higher-capacity disk drives rather than settle for the standard models that a vendor may have overstocked.
Expansion slots serve a central role in the expandability of a computer. Under certain conditions, expandability can avert obsolescene. For example, many owners of the eight-bit IBM personal computer (with the Intel 8088 CPU) were concerned about obsolescence when new software packages were produced exclusively for the advanced thirty-two-bit IBM computer (which used the Intel 80386). Since the eight-bit machines had expansion slots and several manufacturers produced special processor expansion cards (which had Intel 80386 chips on them), users who purchased and installed those cards were able to run the new software without having to discard their eight-bit machines and pay for new thirty-two-bit machines.
It is important to understand computer architecture concepts in order to produce a system that is feasible (possesses no incompatibilities among the components), is optimal in cost (produces no overexpenditure on components whose extra capabilities are wasted because of bottlenecks or features ignored by other components), and delivers the highest performance. For example, if a user purchases an inexpensive, low-resolution graphics card and then installs a high-resolution expensive monitor, then the added cost of that higher-resolution monitor is wasted; the video signals will never utilize the higher-resolution modes.
In terms of performance, assume that a user were to buy both a high-resolution monitor and a high-resolution graphics card. If that graphics card does not have a graphics coprocessor (a chip dedicated to computing graphical information) on it, then performance will decrease. This decrease occurs because the higher resolution requires that more pixels of data be processed.
Without a coprocessor, the CPU will do all the work, resulting in a much slower system.
On a computer system that extensively utilizes disks and whose disk drive is continually active, one solution would be to increase the RAM and use software caching. As data enter the cache from disk, all subsequent accesses of those data are from memory at memory speed, which results in higher throughput and also less wear on disk drives, often the first components to fail. Adding memory may require inserting memory chips or adding a memory expansion card into an expansion slot.
The nature of interrupts, ROM, and bus type has an important role in the expansion of systems. Each type of computer operates with a different bus, and any expansion card for the wrong bus will not fit in the slots. Input/output and external storage device cards must be compatible with the ROM support chips for the CPU. For example, several devices (such as high-density floppy drives) will not operate on many computers compatible with the IBM personal computer even though the bus slots accept those cards because the ROM's stored I/O programs do not support those devices. Even if the card is compatible with the computer, two different expansion cards may conflict in several ways; most important, both cards may use the same interrupts, resulting in the CPU passing control to the wrong program or the wrong device (often causing a system to "freeze-up"). To resolve these problems, expansion cards may have switches or metallic jumpers that can be set so that no two cards trigger the same interrupt.
Context
Historically, the creation of the first electronic computer is still an issue of debate because several contributors conceived and developed machines of varying degrees of programmability and computational capabilities. John V. Atanasoff's work at Iowa State College in the 1930's indirectly contributed to the work of John William Mauchley and John Presper Eckert at the University of Pennsylvania Moore School. Mauchley and Eckert constructed ENIAC (Electronic Numerical Integrator and Computer), which is recognized as one of the earliest programmable computers. In 1949, they completed EDVAC (Electronic Discrete Variable Automatic Computer), a computer that stores programs in memory. A team at the University of Cambridge concurrently developed a similar machine based on their principles, called EDSAC (Electronic Delay Storage Automatic Calculator). Although John von Neumann contributed to the EDVAC effort, the concept of storing programs in memory is believed to be incorrectly attributed to him. To further complicate matters, Konrad Zuse worked in Europe on numerous prototype computers with several innovations in the 1930's and 1940's, but his work went unnoticed. In 1951, Eckert and Mauchley built the UNIVAC (Universal Automatic Computer), the first commercial computer, followed by International Business Machines Corporation (IBM) in 1953.
In the earliest computers, relays were used to represent gates. These were replaced by vacuum tubes. Since vacuum tubes were bulky and produced heat, they often burned out, requiring continual replacement by a maintenance staff. Vacuum tubes were replaced by transistor technology. The discovery of transistors represented a major breakthrough in miniaturization and paved the way for successive reductions in circuit size.
During the early 1960's, "small-scale integration" (SSI) produced integrated circuits with a compression of ten to twelve gates per silicon chip with leads providing the inputs and outputs of those gates. These were further compressed in "medium-scale integration" (MSI) with up to ninety-nine gates, and beyond one hundred gates with "large-scale integration" (LSI).
"Very large-scale integration" (VLSI) achieved compression levels of more than one million transistors (on the Intel 80486 CPU chip) by the late 1980's. Further reduction is projected at an accelerated pace. Memory chips have followed similar reductions. Whereas many minicomputers during the 1970's had 64-256 kilobytes of RAM and mainframes had 1-16 megabytes, many personal computers during the late 1980's supported several megabytes of RAM. Besides smaller circuits, lower assembly costs of circuit boards, greater reliability, and less heat generation are characteristic of this progress. Mainframes and supercomputers could have greater computational abilities on the high end. With the reduced costs, size, and cooling requirements, affordable personal computers and work-stations became a reality. Models of a whole computer "on a single chip" have been developed. Large-scale parallel processing is the next horizon.
Principal terms
BIT: the amount of memory required to store one binary digit
BYTE: a group of bits (often eight) that are processed as a unit
CHIP: circuitry formed on a silicon surface that is embedded in plastic and that has metal leads for connecting to external circuitry
GATE: the circuitry required to compute a single logical operation, such as the OR operation, over two bits
HARDWARE: any physical component of a computer such as circuitry, hard disks, cables, and monitor
PROGRAM: a sequence of ordered instructions that describes a procedure for the computer to perform
Bibliography
Baer, Jean-Loup. COMPUTER SYSTEMS ARCHITECTURE. Rockville, Md.: Computer Science Press, 1980. Explains extensively the decision processes and reasoning applied in computer design. While not leisurely paced, the explanations cover critical design decisions. While most books on hardware prior to 1985 are becoming dated, this text stresses theory and design judgments.
Dewdney, A. K. THE TURING OMNIBUS. Rockville, Md.: Computer Science Press, 1989. Presents sixty-one popularizing vignettes of computer science. Seven chapters categorized under "Logic Design" specifically address computer hardware issues. An excellent and enjoyable introduction to the foundations.
Graham, Neill. THE MIND TOOL. St. Paul, Minn.: West, 1986. A computer literacy text that presents computer organization and architecture concepts in five chapters, all extensively illustrated and with minimal mathematical development. Concepts are defined and carefully explained.
Greenfield, S. E. THE ARCHITECTURE OF MICROCOMPUTERS. Cambridge, Mass.: Winthrop, 1980. Though dated, this book provides a clear exposition with numerous examples and explanatory diagrams. The progression of ideas is well paced, beginning with the basics of Boolean algebra, and not attempting to be encyclopedic. Advanced topics and comprehensiveness are neglected but not missed. An excellent introduction to computer architecture.
Hayes, John P. COMPUTER ARCHITECTURE AND ORGANIZATION. New York: McGraw-Hill, 1988. A concise and lucid presentation of the fundamental concepts of computer design. Without the standard overdevelopment of switching theory paradigms, this text covers all the important points and methodologies involved in a high-level, balanced manner. Overdevelopment and parallel processing are discussed briefly.
Norton, Peter. INSIDE THE IBM PC. New York: Brady, 1986. One of the legions of trade books on the internals of the IBM personal computers (similar books exist for other microcomputers), this book is exceptional because of Norton's expertise and the readable narrative. Personal computer users can develop practical experience with hardware components and their functions. The best pragmatic approach to starting with personal computers.
Slotnick, Daniel L., E. M. Butterfield, E. S. Colantonio, D. Kopetzky, and J. K. Slotnick. COMPUTERS AND APPLICATIONS. Lexington, Mass.: D. C. Heath, 1986. This computer literacy textbook has several chapters on CPUs, I/O devices, disk drives, PC hardware, and microprocessors. No mathematical background is assumed. Several photographs and diagrams accompany the easily readable text.
Basic computer architecture
Computer Programs and Subroutines