Computer architecture

In computer engineering, computer architecture is the conceptual design and fundamental operational structure of a computer system. It is the technical drawings and functional description of all design requirements (especially speeds and interconnections), it is how to design and implement various parts of a computer — focusing largely on the way by which the central processing unit (CPU) operates internally and how it accesses addresses in memory.

It can 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 includes at least three main subcategories:[1]

  1. Instruction set architecture, or ISA, is the abstract model of a computing system that is seen by a machine language (or assembly language) programmer, including the instruction set, memory address modes, processor registers, and address and data formats.
  2. Microarchitecture, also known as Computer organization is a lower level, a detailed description of the system that is sufficient for completely describing the operation of all parts of the computing system, and how they are inter-connected and inter-operate 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.
  3. System Design which includes all of the other hardware components within a computing system such as:

Once both ISA and microarchitecture has been specified, the actual computing system needs to be designed into hardware. This design process is called implementation. Implementation is usually a hardware engineering design process.

Implementation can be further broken down into three but not fully separate pieces:

  • Logic Implementation: Design of blocks defined in the microarchitecture, mainly, at the register-transfer and gate levels.
  • Circuit Implementation: Transistor-level design of basic elements (gates, multiplexers, flip-flops, etc.) as well as of some larger blocks (ALUs, caches etc.) that may be implemented at this level, or even at a lower physical level, for performance reasons.
  • Physical Implementation: Physical 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; it can also be a family of related CPU designs, such as RISC and CISC.

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

From Wikipedia, the free encyclopedia · View on Wikipedia

Developed by Tubidy