Computer Architecture vs Computer Organization

Today I am going to discuss one of the most commonly asked question by computer science students, which is “What is the difference between computer architecture and computer organization?”. Furthermore, this article also contains two examples that help compare computer architecture vs computer organization.

Computer Architecture:

Computer Architecture deals with those attributes of the computer that are visible to the programmer.

It deals with details such as:

  1. Physical memory – Allocated and Available
  2. ISA (Instruction Set Architecture) of the processor.
  3. The number of bits used to represent data types like integer , character , double e.t.c
  4. Input Output mechanism – Depends on programming language.
  5. Technique for addressing memories – Depends on programming language.

Computer Organization:

It deals with how different components of computer are linked together to meet the requirements specified by computer architecture .

Some organizational attributes are:

  1. Hardware details – Such as RAM, Hard drive , graphic card technology used.
  2. Peripherals Devices – How devices such as mouse and keyboard, connected to the computer.
  3. Control signals. Generating from above mentioned controls.

Note that all above mentioned aspects ( hardware technology, Peripheral connectivity and their signals ) are therefore invisible to the programmer.

Example Comparison – Computer Architecture vs Computer Organization:

Let us now see a programming and a real life example. These examples will help us better understand the difference between computer architecture and computer organization.

Programming Example:

Say you are programmer and you are writing a program. Also suppose your program has the following features:
1- Loads data from memory
2- Stores that data in integer variables
3- Performs some calculations and then outputs that data on computer screen.

To write such a program, programmer are only concerned with the details visible to them – Computer Architecture.

Therefore programmers do not care about the conversion of keyword input to useful computer instructions. Nor do we care with the underlying RAM technology used. For this reason we say that organization of components is invisible to the programmer.

Real Life Example:

Say you are in a company that manufactures cars. So design and all low-level details of the car come under computer architecture (abstract,programmers view). While making it’s parts piece by piece and connecting together the different components of that car by keeping the basic design in mind comes under computer organization (physical and visible).