FACTOID # 1: Idaho produces more milk than Iowa, Indiana and Illinois combined.
 Home   Encyclopedia   Statistics   States A-Z   Flags   Maps   FAQ   About 


FACTS & STATISTICS    Advanced view

Search encyclopedia, statistics and forums:



(* = Graphable)



Encyclopedia > Computer architecture
A typical vision of a computer architecture as a series of abstraction layers: hardware, firmware, assembler, kernel, operating system and applications (see also Tanenbaum 79).
A typical vision of a computer architecture as a series of abstraction layers: hardware, firmware, assembler, kernel, operating system and applications (see also Tanenbaum 79).

In computer engineering, computer architecture is the conceptual design and fundamental operational structure of a computer system. It is a blueprint and functional description of requirements (especially speeds and interconnections) and design implementations for the various parts of a computer — focusing largely on the way by which the central processing unit (CPU) performs internally and accesses addresses in memory. Image File history File links No higher resolution available. ... Image File history File links No higher resolution available. ... An abstraction layer is a way of hiding the implementation details of a particular set of functionality. ... Hardware is the general term that is used to describe physical artifacts of a technology. ... In computing, firmware is software that is embedded in a hardware device. ... An assembly language is a low-level language used in the writing of computer programs. ... A kernel connects the application software to the hardware of a computer. ... An operating system (OS) is a set of computer programs that manage the hardware and software resources of a computer. ... In computing, a process is an instance of a computer program that is being executed. ... Computer engineering (also called electronic and computer engineering) is a discipline that combines elements of both electrical engineering and computer science. ... A BlueGene supercomputer cabinet. ... Modern blueprint of the French galleon La Belle. ... Die of an Intel 80486DX2 microprocessor (actual size: 12×6. ... In computer science, a memory address is a unique identifier for a memory location at which a CPU or other device can store a piece of data for later retrieval. ...

It may also be defined as the science and art of selecting and interconnecting hardware components to create computers that meet functional, performance and cost goals.

Computer architecture comprises at least three main subcategories [1]

  • Microarchitecture, also known as Computer organization is a lower level, more concrete, description of the system that involves how the constituent parts of the system are interconnected and how they interoperate in order to implement the ISA[2]. The size of a computer's cache for instance, is an organizational issue that generally has nothing to do with the ISA.
  • System Design which includes all of the other hardware components within a computing system such as:
  1. system interconnects such as computer buses and switches
  2. memory controllers and hierarchies
  3. CPU off-load mechanisms such as direct memory access
  4. issues like multi-processing.

Once both ISA and microarchitecture has been specified, the actual device needs to be designed into hardware. This design process is often called implementation. Implementation is usually not considered architectural definition, but rather hardware design engineering. It has been suggested that some sections of this article be split into a new article entitled instruction set architecture. ... A system of codes directly understandable by a computers CPU is termed this CPUs native or machine language. ... An assembly language is a low-level language used in the writing of computer programs. ... It has been suggested that some sections of this article be split into a new article entitled instruction set architecture. ... Addressing modes, a concept from computer science, are an aspect of the instruction set architecture in most central processing unit (CPU) designs. ... In computer architecture, a processor register is a small amount of very fast computer memory used to speed the execution of computer programs by providing quick access to commonly used values—typically, the values being in the midst of a calculation at a given point in time. ... Microarchitecture consists of a set of microprocessor design techniques used to implement the instruction set (including microcode, pipelining, cache systems, etc. ... Look up cache in Wiktionary, the free dictionary. ... In computer architecture, a bus is a subsystem that transfers data or power between computer components inside a computer or between computers and typically is controlled by device driver software. ... This article or section does not adequately cite its references or sources. ... Sebi saysDirect memory access (DMA) is a feature of modern computers, that allows certain hardware subsystems within the computer to access system memory for reading and/or writing independently of the central processing unit. ... Multiprocessing is traditionally known as the use of multiple concurrent processes in a system as opposed to a single process at any one instant. ... Hardware is the general term that is used to describe physical artifacts of a technology. ... The engineering design process is a process used by engineers to help develop products. ...

Implementation can be further broken down into three pieces:

  • Logic Implementation/Design - where the blocks that were defined in the microarchitecture are implemented as logic equations.
  • Circuit Implementation/Design - where speed critical blocks or logic equations or logic gates are implemented at the transistor level.
  • Physical Implementation/Design - where the circuits are drawn out, the different circuit components are placed in a chip floor-plan or on a board and the wires connecting them are routed.

For CPUs, the entire implementation process is often called CPU design. CPU can stand for: in computing: Central processing unit in journalism: Commonwealth Press Union in law enforcement: Crime prevention unit in software: Critical patch update, a type of software patch distributed by Oracle Corporation in Macleans College is often known as Ash Lim. ... CPU design is the hardware design of a central processing unit. ...

More specific usages of the term include more general wider-scale hardware architectures, such as cluster computing and Non-Uniform Memory Access (NUMA) architectures. Linux Cluster at Purdue University A computer cluster is a group of locally connected computers that work together as a unit. ... Non-Uniform Memory Access or Non-Uniform Memory Architecture (NUMA) is a computer memory design used in multiprocessors, where the memory access time depends on the memory location relative to a processor. ...


Design goals

The most common goals in computer architecture revolve around the tradeoffs between cost and performance (i.e. speed), although other considerations, such as size, weight, reliability, feature set, expandability and power consumption, may be factors as well.


Generally cost is held constant, determined by either system or commercial requirements.


Computer performance is often described in terms of clock speed (usually in MHz or GHz). This refers to the cycles per second of the main clock of the CPU. However, this metric is somewhat misleading, as a machine with a higher clock rate may not necessarily have higher performance. As a result manufacturers have moved away from clock speed as a measure of performance. Computer performance can also be measured with the amount of cache a processor contains. If the speed, MHz or GHz, were to be a car then the cache is the traffic light. No matter how fast the car goes it still will not hit that green traffic light. The more speed you have and the more cache you have the faster your processor is. It has been suggested that this article or section be merged into Clock signal. ...

Modern CPUs can execute multiple instructions per clock cycle, which dramatically speeds up a program. Other factors influence speed, such as the mix of functional units, bus speeds, available memory, and the type and order of instructions in the programs being run. Simple superscalar pipeline. ... In computer engineering, an execution unit is a part of a CPU that performs the operations and calculations called for by the program. ... In computer architecture, a bus is a subsystem that transfers data or power between computer components inside a computer or between computers and typically is controlled by device driver software. ...

There are two main types of speed, latency and throughput. Latency is the time between the start of a process and its completion. Throughput is the amount of work done per unit time. Interrupt latency is the guaranteed maximum response time of the system to an electronic event (e.g. when the disk drive finishes moving some data). Performance is affected by a very wide range of design choices — for example, adding cache usually makes latency worse (slower) but makes throughput better. Computers that control machinery usually need low interrupt latencies. These computers operate in a real-time environment and fail if an operation is not completed in a specified amount of time. For example, computer-controlled anti-lock brakes must begin braking almost immediately after they have been instructed to brake. Interrupt latency is the time between the generation of an interrupt by a device and the servicing of the device which generated the interrupt. ... Diagram of a CPU memory cache A CPU cache is a cache used by the central processing unit of a computer to reduce the average time to access memory. ... Wikipedia does not have an article with this exact name. ...

The performance of a computer can be measured using other metrics, depending upon its application domain. A system may be CPU bound (as in numerical calculation), I/O bound (as in a webserving application) or memory bound (as in video editing). Power consumption has become important in servers and portable devices like laptops. IO bound refers to a condition in which the time it takes to complete a computation is determined principally by the speed of IO operations. ... Memory bound refers to a situation in which the time to complete a given computational problem is decided primarily by the amount of available memory to hold data. ...

Benchmarking tries to take all these factors into account by measuring the time a computer takes to run through a series of test programs. Although benchmarking shows strengths, it may not help one to choose a computer. Often the measured machines split on different measures. For example, one system might handle scientific applications quickly, while another might play popular video games more smoothly. Furthermore, designers have been known to add special features to their products, whether in hardware or software, which permit a specific benchmark to execute quickly but which do not offer similar advantages to other, more general tasks. In computing, a benchmark is the act of running a computer program, a set of programs, or other operations, in order to assess the relative performance of an object, normally by running a number of standard tests and trials against it. ...

The general scheme of optimization is to find the costs of the different parts of the computer. 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 form of the computer system will depend on the constraints and goals for which it was optimized..

Power consumption

Power consumption is another design criteria that factors in the design of modern computers. Power efficiency can often be traded for performance or cost benefits. With the increasing power density of modern circuits as the number of transistors per chip scales (Moore's Law), power efficiency has increased in importance. Recent processor designs such as the Intel Core 2 put more emphasis on increasing power efficiency. Also, in the world of embedded computing, power efficiency has long been and remains the primary design goal next to performance. Core 2 is an eighth-generation x86 architecture microprocessor produced by Intel and based on the Intel Core microarchitecture. ...

See also

Computer hardware is the physical part of a computer, including the digital circuitry, as distinguished from the computer software that executes within the hardware. ... CPU design is the hardware design of a central processing unit. ... Orthogonal instruction set is a term used in computer science. ... The software architecture of a program or computing system is the structure or structures of the system, which comprise software elements, the externally visible properties of those elements, and the relationships between them. ... Computer architecture is the theory behind the design of a computer. ...


  1. ^ John L. Hennessy and David A. Patterson (2003). Computer Architecture: A Quantitative Approach, Third Edition, Morgan Kaufmann Publishers, Inc. ISBN 1558605967. 
  2. ^ Phillip A. Laplante (2001). Dictionary of Computer Science, Engineering, and Technology. CRC Press, 94–95. ISBN 0849326915. 

2003 (MMIII) was a common year starting on Wednesday of the Gregorian calendar. ... Dr. Andrew Stuart Andy Tanenbaum (born 1944) is a professor of Computer Science at Vrije Universiteit, Amsterdam in the Netherlands. ... Map highlighting Englewood Cliffs location within Bergen County. ...

External links

  Results from FactBites:
Powell's Books - Computer Architecture (858 words)
The era of seemingly unlimited growth in processor performance is over: single chip architectures can no longer overcome the performance limitations imposed by the power they consume and the heat they generate.
Computer Architecture: A Quantitative Approach by John L. Hennessy
The term peer-to-peer has come to be applied to networks that expect end users to contribute their own files, computing time, or other resources to some shared project.
ICS: Computer Architecture and VLSI Systems (CARV) Laboratory (525 words)
The central open question for the architecture of modern computer, storage, communication, and networking hardware is how to make Scalable Systems --systems made out of building blocks, where one can increase performance by using more components, or reduce cost by using less components.
In addition, Network Interface (NIC) architectures are an essential component of future interconnects, and a research topic of revived interest in our Lab.
In particular, we work on low-latency, high-bandwidth communication subsystems, block-level storage architectures, storage virtualization, storage access protocols, computer systems dependability and security support (networked storage security, system reliability and availability, network interface support for security-sensitive applications), and, more recently, on device miniaturization and sensor networks.
  More results at FactBites »



Share your thoughts, questions and commentary here
Your name
Your comments

Want to know more?
Search encyclopedia, statistics and forums:


Press Releases |  Feeds | Contact
The Wikipedia article included on this page is licensed under the GFDL.
Images may be subject to relevant owners' copyright.
All other elements are (c) copyright NationMaster.com 2003-5. All Rights Reserved.
Usage implies agreement with terms, 1022, m