Computer architecture

This is an old revision of this page, as edited by 209.239.197.xxx (talk) at 20:03, 1 January 2002 (Wikified; converted It's to its). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Computer architecture refers to the theory behind the actual design of a computer. In the same way as a building architect sets the principles and goals of a building project as the basis for the draftsman's plans, so too, a computer architect sets out the Computer Architecture as a basis for the actual design specifications.


There are two customary usages of the term:


The more academic usage refers to the design of a computer's underlying languauge - its "instruction set." This will include information such as whether the computer's processor can compute the product of two numbers without resorting to external memory. It will also include a nominal precision for the computer's computations.


The less formal usage refers to a description of the design of gross requirements for the varous parts of a computer, especially speeds, and interconnection requirements.



Goals


The most common goals of a Computer Architecture include:


1. Cost

Generally, cost is held constant, determined by either system or commercial requirements, and speed and storage capacity are adjusted to meet the cost target.


2. Performance (speed)


Computer retailers describe the performance of their machines in terms of CPU Speed (in MHz or GHz). This refers to the number of instructions the Central Processing Unit (CPU) can perform each second (in millions or billions respectively). However this is only one of a number of factors that impact on the performance of a machine.


Throughput is the absolute processing power of the computer system. In the most computer systems, throughput is limited to the speed of the slowest piece of hardware in use at a given time. This slowest piece might be input and output (I/O), the CPU, the memory chips themselves, or the connection (or "bus") between the memory, the CPU and the I/O. The limit most acceptable to users is the speed of the input, because the computer then seems infinitely fast. General-purpose computers like PCs usually maximize throughput to attempt to increase user satisfaction.


"Interrupt latency" is the guaranteed maximum response time of the software to an event such as the click of a mouse or the reception of data by a modem. This number is affected by a very wide range of design choices. Computers that control machinery usually need low interrupt latencies, because the machine can't, won't or should not wait. For example, computer-controlled anti-lock brakes should not wait for the computer to finish what it's doing- they should brake.


Since cost is usually constant, the variables usually consist of latency, throughput, convenience, storage capacity and input-output. The general scheme of optimization is to budget different parts of the computer system. In a balanced computer system, the data rate will be constant for all parts of the system, and cost will be allocated proportionally to assure this. The exact forms of the trade-offs depend on whether the computer system is being optimized to minimize latency or maximize throughput.


Also see CPU design.