A Tip A Day [:: ATAD ::]

a fortune, two cents a day

Posts Tagged ‘architecture

ATAD #14 – The computer architecture

leave a comment »

The conceptual computer architecture can be represented with five abstraction layers with each encompassing a particular set of functionality.

  1. Operating System (OS) and Applications
    – the software component of the computer
  2. Kernel
    – the core component of the OS that manages the system resources and is the lowest abstraction layer for programs
  3. Assember
    – converts high level language statements into machine instructions and data
  4. Firmware
    – a computer program embedded in the hardware that works specifically with that hardware
  5. Hardware
    – the physical components of the computer

This wiki article lists that Computer architecture comprises at least three main subcategories:

  • Instruction set architecture, or ISA, is the abstract image 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.
  • Microarchitecture, also known as Computer organization is a lower level, more concrete and detailed, 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.

We build hardware to make it work for us, and the essence of getting things done is to issue instructions in a language as a medium of communication. Instructions can be written in programming languages that broadly are classified in three categories, high level, assembly and machine language.

High level languages are english like, abstract and more portable across different computers. As we move from high-level languages to lower levels, the code gets harder to read and understand. Machine language that is specific to a CPU and also called native code, is a system of instructions and data directly executed by the CPU. Assembly language is a symbolic representation (using mnemonics defined by the hardware manufacturer, instructions and operands) of the numerical machine codes. The assembler is a utility used to translate machine language into the target computers’ machine code.

__tipped__

Written by veed

August 10, 2008 at 6:50 pm

Posted in ATAD, computing, tech

Tagged with , ,