Computer architecture

Computer systems architecture

The discipline that defines the conceptual structure and functional behavior of a computer system. It is analogous to thearchitecture of a building, determining the overall organization, the attributes of the component parts, and how these partsare combined. It is related to, but different from, computer implementation. Architecture consists of those characteristicswhich affect the design and development of software programs, whereas implementation focuses on those characteristicswhich determine the relative cost and performance of the system. The architect's main goal has long been to produce acomputer that is as fast as possible, within a given set of cost constraints. Over the years, other goals have been added,such as making it easier to run multiple programs concurrently or improving the performance of programs written in higher-level languages.

A computer system consists of four major components (see illustration): storage, processor, peripherals, and input/output(communication). The storage system is used to keep data and programs; the processor is the unit that controls theoperation of the system and carries out various computations; the peripheral devices are used to communicate with theoutside world; and the input/output system allows the previous components to communicate with one another.

Overview of a computer system

Storage

The storage or memory of a computer system holds the data that the computer will process and the instructions that indicatewhat processing is to be done. In a digital computer, these are stored in a form known as binary, which means that eachdatum or instruction is represented by a series of bits. Bits are conceptually combined into larger units called bytes (usually 8bits each) and words (usually 8 to 64 bits each). A computer will generally have several different kinds of storage devices,each organized to hold one or more words of data. These types include registers, main memory, and secondary or auxiliarystorage. See Bit

Registers are the fastest and most costly storage units in a computer. Normally contained within the processing unit,registers hold data that are involved with the computation currently being performed.

Main memory holds the data to be processed and the instructions that specify what processing is to be done. A major goal ofthe computer architect is to increase the effective speed and size of a memory system without incurring a large cost penalty.Two prevalent techniques for increasing effective speed are interleaving and cacheing, while virtual memory is a popular wayto increase the effective size. Interleaving involves the use of two or more independent memory systems, combined in a waythat makes them appear to be a single, faster system. With cacheing, a small, fast memory system contains the mostfrequently used words from a slower, larger main memory.

Virtual memory is a technique whereby the programmer is given the illusion of a very large main memory, when in fact it hasonly a modest size. This is achieved by placing the contents of the large, “virtual” memory on a large but slow auxiliarystorage device, and bringing portions of it into main memory, as required by the programs, in a way that is transparent to theprogrammer.

Auxiliary memory (sometimes called secondary storage) is the slowest, lowest-cost, and highest-capacity computer storagearea. Programs and data are kept in auxiliary memory when not in immediate use, so that auxiliary memory is essentially along-term storage medium. There are two basic types of secondary storage: sequential and direct-access. Sequential-accesssecondary storage devices, of which magnetic tape is the most common, permit data to be accessed in a linear sequence. Adirect-access device is one whose data may be accessed in any order. Disks and drums are the most commonlyencountered devices of this type.

Memory mapping is one of the most important aspects of modern computer memory designs. In order to understand itsfunction, the concept of an address space must be considered. When a program resides in a computer's main memory, thereis a set of memory cells assigned to the program and its data. This is known as the program's logical address space. Thecomputer's physical address space is the set of memory cells actually contained in the main memory. Memory mapping issimply the method by which the computer translates between the computer's logical and physical address spaces. The moststraightforward mapping scheme involves use of a bias register. Assignment of a different bias value to each program inmemory enables the programs to coexist without interference.

Another strategy for mapping is known as paging. This technique involves dividing both logical and physical address spacesinto equal-sized blocks called pages. Mapping is achieved by means of a page map, which can be thought of as a series ofbias registers. See Computerstoragetechnology

Processing

A computer's processor (processing unit) consists of a control unit, which directs the operation of the system, and anarithmetic and logic unit, which performs computational operations. The design of a processing unit involves selection of aregister set, communication paths between these registers, and a means of directing and controlling how these operate.Normally, a processor is directed by a program, which consists of a series of instructions that are kept in main memory.

Although the process of decoding and executing instructions is often carried out by logic circuitry, the complexity ofinstruction sets can lead to very large and cumbersome circuits for this purpose. To alleviate this problem, a technique knownas microprogramming was developed. With microprogramming, each instruction is actually a macrocommand that is carriedout by a microprogram, written in a microinstruction language. The microinstructions are very simple, directing data to flowbetween registers, memories, and arithmetic units.

It should be noted that microprogramming has nothing to do with microprocessors. A microprocessor is a processorimplemented through a single, highly integrated circuit.

Computer architecture

From Wikipedia, the free encyclopedia

A pipelinedimplementationofthe MIPSarchitecture. Pipelining is a keyconceptincomputerarchitecture.

In computerengineering, computerarchitecture is a setofrulesandmethodsthatdescribethefunctionality, organization, andimplementationof computersystems. Some definitions of architecture define it as describing the capabilities and programming model of a computer but not a particular implementation.In other definitions computer architecture involves instruction set architecture design,

 




double arrow
Сейчас читают про: