Computer Organization And Architecture Tutorial

Computer Organization And Architecture

COA Tutorial

The computer organization and architecture ( COA )  is one of the most important and comprehensive subject that includes many foundational concepts and knowledge used in the design of a computer system.

The COA also continues to be the most important part of the syllabus for computer science courses across all universities and also for various competitive examinations.  

This tutorial is specially designed for absolute beginners to study all the relevant topics related to computer organization and architecture .

Computer Organization And Architecture

The COA important topics include all the fundamental concepts such as computer system functional units , processor micro architecture , program instructions, instruction formats , addressing modes , instruction pipelining, memory organization , instruction cycle, interrupts, instruction set architecture ( ISA ) and other important related topics.  

Let us first start with simple introduction to the computer architecture.  

What Is Computer Architecture ?

In order to understand the term computer architecture , let us first discuss what is an architecture. The term architecture can be defined as an art and science of designing an object.

We generally relate the term architecture with the building because the building is one of the most common object in the human world. The architecture helps us to define the functional , physical and the performance  standards for any object.

Every object in the real world is based on some architecture. For example an architect will define the building in terms of building drawings and specifications for various building components.

Similarly , the system architecture defines various functional units of the computer system and how these units are interconnected and performance standards. It defines the system performance specifications and what system should achieve in terms of performance.

What Is Computer Architecture , Computer Architecture

In simple words , the computer architecture is all about computer system design details expressed in terms of functional units and interconnection between these units.

The computer architecture helps us define the functional capabilities and the requirements for the computer system. The system architecture is a high level design specification that does not specify any specify details of the hardware components.

The computer architecture gives an abstracted view of the structure of various functional units and its behaviour.

In order to build a computer system , the first step is to design and develop the  system architecture. The next step in the system design process is to finalize the computer organization details.

Computer Architecture

What Is Computer Organization ?

Let us first understand the meaning of term organization in the context of computers. The term organization is defined as arranging , classifying things together logically to maximize the functional convenience.

The computer organization is based on the computer architecture. The computer organization implements the system architecture.

In simple words , the computer organization is all about organizing various system hardware components and how these components are interconnected.

Computer Organization

The computer organization describe the details of the various hardware components related to the various functional units present in the system.

The computer organization deals with the arrangement of various system hardware components and the function performed by the components.

The computer organization defines the existence of various functional units and its components . It also defines the interaction between various functional component.

The computer organization defines the structure and behaviour of the digital computers. The main objective of the computer organization is to understand the various computer hardware components and the interaction between these components.

Difference Between Computer Architecture And Computer Organization

In general the terms “computer organization” and “computer architecture” are often used interchangeably. However, they can be distinguished by the following characteristics:

Computer Architecture

Computer Organization

Computer architecture is concerned with the way hardware components are connected together to form a computer system.

Computer organization is concerned with the way architecture is implemented in terms of structure and behaviour of a computer system as seen by the user.

It acts as an interface between computer hardware and software.

Organization deals with the components and connections between various hardware components.

Computer architecture help us to understand the functionalities of a system.

Computer organization provide the details of the how exactly all the functional units in the system are arranged and interconnected.

A programmer can view system architecture in terms of instruction set architecture (ISA), instruction format, addressing modes and registers.

Computer organization is the actual implementation of the system architecture to achieve specified system performance.

Computer architecture is the first step necessary while designing and building a computer.

An organization is defined and done based on the system architecture.

Computer architecture deals with the high level design issues and specifications.

Computer organization basically deals with the low level system design issues.

Architecture involves logic ( ISA instruction sets , addressing modes, data types , cache memory optimization ).

Organization involves physical hardware components such as circuit design, adders, signals, and peripherals.

Computer Architecture

Computer architecture refers to the design and organization of computer systems, including their components and how they interact with each other. It encompasses both the hardware and software aspects of a computer system. Computer architecture defines the structure, functionality, and behavior ( Performance Standard ) of a computer system, enabling the execution of programs and the processing of data.

Computer architecture can be classified into different types. For example, von Neumann architecture, which is based on the concept of a stored-program computer, and more specialized architectures like Reduced Instruction Set Computing (RISC) or Complex Instruction Set Computing (CISC).

It also encompasses concepts like instruction pipelining, memory hierarchy, and multiprocessing, which further enhance system performance and functionality.

1. Focus

Computer architecture is concerned with the broader design principles and conceptual structure of a computer system. It encompassing both hardware and software aspects to achieve the desired level of system performance.

2. Level of Abstraction

It deals with a higher level of abstraction compared to computer organization. It focuses on the organization and behavior of the system in terms of system performance as seen by software developers and how it supports the execution of programs.

3. Instruction Set Design

Computer architecture defines the instruction set architecture (ISA), which specifies the set of instructions, addressing modes, and data types that a computer system supports.

4. Performance Evaluation

It involves evaluating and comparing different architectural designs based on performance metrics like execution time, throughput, and energy efficiency.

5. Examples

Examples of topics studied in computer architecture include instruction set design, pipelining, memory hierarchy, parallel processing, virtual memory, and overall system performance.

Computer Organization

Computer organization deals with the physical and implementation details of a computer system, focusing on the hardware components and their interconnections. On the other hand, computer architecture focuses on the conceptual design and structure of the system, considering both hardware and software aspects. It aims to optimize system performance and functionality.

1. Focus

Computer organization primarily concerns itself with the physical aspects of a computer system and how the hardware components are interconnected and operate together.

2. Level of Detail

It deals with the low-level details of a computer system, such as the design and organization of individual hardware components, circuits, and logic gates.

3. Implementation

Computer organization is concerned with the implementation details of a computer system architecture, including the design of registers, buses, memory systems, and Input and Output interfaces.

4. Performance Optimization

It aims to optimize the performance of the computer system by considering factors like clock speed, latency, bandwidth, and hardware-level optimizations.

5. Examples

Examples of topics studied in computer organization include CPU design, memory systems, cache hierarchies, bus protocols, and I/O subsystems.

Computer Organization And Architecture

Computer System Functional Units

In computer organization and architecture , the computer system can be classified into number of functional units. This classification is based on the specific function performed in the computer system.

The basic functional units ( operational Units ) of a computer system include following units.

Computer System Block Diagram, Computer Functional Units

Input Unit

Computer System Input Unit

The main function of the input unit is to provide the data that will be operated by the CPU as per the program instructions.

The most commonly used input devices for any general purpose computer system include keyboard and mouse. However , computer can also accept the input from other input devices such as camera , scanner and mike.  

The computer system can accept the input from number of input devices such as keyboard , scanner , camera , mouse or any other input devices connected to the computer system.

Input Devices

Computer Input Devices

Output Unit

Computer System Output Unit

The main function of the output unit is to present the data to the user that is processed by the CPU as per the program instructions.

The most commonly used output devices for any general purpose computer system include display monitor , speaker and printer. However , computer can also send the output to other output devices such as projector, speaker and disk memory.  

The computer system can send the output to number of output devices such as display monitor , printer , projector , speaker or any other output devices connected to the computer system.

Output Devices

Computer Output Devices

Computer Organization And Architecture

Micro-processor

Central Processing Unit ( CPU )

The central processing unit ( CPU ) is said to be the brain of the computer system. It is the CPU that provides the processing power to the computer.

The CPU internally consist of three important units. These three units are control unit , Arithmetic And Logic Unit and memory unit. These three units together are referred as CPU.

The main function of the CPU is to execute the computer program. The CPU executes the program by fetching program instruction one by one from the main memory ( RAM ).

Central Processing Unit CPU
How CPU Executes Program Instructions

The control unit of the CPU decodes these instructions and performs the desired arithmetic and logical operations.

The CPU executes the program instruction by repetitively performing the instruction cycle. The Instruction cycle consist of four steps that include Fetch , Decode , Execute And Store.

Read More

What Is Central Processing Unit ?

Control Unit

Computer System Control Unit ( CU )

The control unit ( CU ) is an important component of the central processing unit. The control unit of the CPU is responsible to control the working of all the hardware components connected to the system.

In other words , the main function of the control unit is to direct the various operations performed by the computer system. The control units transmit the control signals that directs the hardware components to perform specific operations.

The control unit  of the CPU is also responsible to decode the program instructions fetched from the memory. The CU decodes the program instruction as per the instruction format.

The CU after the decode operation directs the arithmetic and logic unit ( ALU ) of the CPU to perform the desired operation as per the Instruction Set Architecture ( ISA ) of the CPU.

Read More

What Is Control Unit ?

CPU Control Unit

Control Unit , CPU Control Unit, Computer Organization And Architecture , Control Unit Functions

Computer Organization And Architecture

Arithmetic And Logic Unit

Computer System Arithmetic And Logic Unit ( ALU )

The arithmetic logic unit ( ALU )  is the  mathematical brain of the computer placed inside the processor chip ( Central Processing Unit ).

The ALU essentially performs all the arithmetic and the logic operations performed by the CPU. It is the ALU that actually operates on the data.

The CPU initiates the program execution by fetching the program instructions from the main memory ( RAM ) . The control unit of the CPU decodes the instruction and directs the ALU to perform the desired operation on the data.

CPU ALU

Arithmetic And Logic Unit ALU

The ALU is an essential fundamental component of many digital computing circuits and also for all central processing unit CPU.

In order to operate on the data , the ALU perform three types of operations. The ALU operations include arithmetic , logical and shift operations.

Read More

What Is Arithmetic Logic Unit ( ALU ) ?

Computer Organization And Architecture

Memory Unit

Computer System Memory Unit ( MU )

The main function of the memory unit is to store the data. The computer system memory unit consist of different types of memory.

The computer system memory can be grouped into two basic types that is primary and secondary memory.

The primary memory ( main memory RAM ) is called temporary or volatile memory. The secondary memory ( disk memory) is called permanent or non-volatile memory.

What Is Computer Memory

Different types of  memory used in a computer system are organized in a hierarchical order in order to optimize the system performance.

The CPU executes the program instructions at very high speed. Whereas the data transfer from the main memory RAM to the CPU is relatively slow.

And therefore , high speed cache memory is placed between the CPU and main memory RAM. The CPU stores the frequently used data into the cache memory that can be accessed at high speed as compared to the RAM.

Computer Primary And Secondary Memory
Computer Memory Hierarchy

The CPU also makes use of another very high speed memory called CPU registers built right inside the processor chip.

The processor micro-architecture consist of number of very high speed internal memory inside the CPU called registers.

The processor internally use different types of registers at different stages of the instruction cycle during the program execution.

Read More

Computer Memory Unit

Computer Organization And Architecture

CPU Registers

In processor micro architecture, the CPU registers are vary high speed memory placed inside the processor chip. In memory hierarchy , the register is the smallest in size but has the highest data access speed.

Depending upon the processor architecture , the CPU can have number of registers. The registers are used by the CPU during the execution of program instructions.

The registers plays an important role during the execution of instruction cycle performed by the CPU.

CPU Registers Example

Intel 8085 Architecture Registers

8085 Architecture General Purpose Registers

The registers are high speed temporary memory area built into the processor chip. The registers are integral part of every processor internal memory unit.

The registers provide very high data access speed that is much faster than the cache memory. And therefore , the registers are used by the processor as temporary memory during the program execution.

Read More

What Are CPU Registers ?

Intel 8085 Registers

Computer Organization And Architecture

Computer Hardware

In computer architecture , the computer hardware are the physical components either connected inside the computer cabinet or connected externally.

The main function of the hardware components is execute the operation as directed by the CPU. The hardware system components can be electronic , electrical or mechanical components.

The computer hardware components can be electronic components such as motherboard , processor , display monitor , storage disk and main memory RAM.

Computer System Hardware Components

The computer hardware components can also be electrical components such as power supply unit SMPS and electrical wires used to supply electric supply.

The hardware components also include mechanical parts such as computer cabinet where internal system components are assembled and interconnected.

The hardware components are driven by a system software called device driver. The operating system communicates with hardware through device driver.

Read More

What Is Computer Hardware ?

Computer Organization And Architecture

Computer Software

The computer software and hardware are two essential components of the computer system.

The software is designed to direct the computer to perform specific operations. Whereas , the computer hardware actually executes the program instructions to perform the desired operation.

A software is simply a computer program or a group of programs created for the purpose of providing a specific service. A software can be written in any programming language such as C language , Java , Python or any other language.

What Is Software

For example , we use MS word for creating documents , web browsers for browsing the internet , media players for watching video contents and so on.

In computer architecture , the computer system essentially make use of two types of software. The first type of software is called an application software and the second type is called a system software.

Read More

What Is Computer Software ?

Application Software

In computer architecture , the application software is designed and developed to allow the system user to perform various tasks on the  computer.

The application software provides an interface to the user to use the computer for various applications. The user can install various application software on computer as per the user requirements.

For example , we use accounting software to perform accounting work . Similarly , each application software has specific purpose to provide service to the user.

Read More

What Is Application Software ?

System Software

In computer architecture , the system software works as an interface between the operating system and the hardware components.

The operating system communicates with hardware component through a special software called a device driver. The computer system also needs other system software essential to perform some important functions.

The system software is used by the computer itself to communicate and control various hardware components connected to the computer.

The operating system is also a type of system software that is essential for every computer system . The operating system handles all the crucial functions and the system resources.

Read More

What Is System Software ?

Computer Organization And Architecture

Computer Memory Organization

The memory unit is another important functional unit present in the computer organization and architecture. The computer memory is a finite resource that is managed by the operating system ( OS ).

The computer memory is used to store the data and the program instructions. In computer system , the random access memory ( RAM )  is considered to be the primary memory ( main memory ).

The primary memory RAM is a temporary ( volatile ) memory and the  secondary disk memory is referred as permanent ( non-volatile ) memory.

Memory Organization , Computer Organization And Architecture

In computer architecture , the memory is divided into large number of memory cells ( block ). The computer memory is linear and organized as series of group of bits ( 8 Bits = 1 Byte ) called byte.

A single block of memory consist of eight bits ( 8 Bits ) that is equal to one byte ( 1 Byte ). Each byte in the computer memory represents a unique memory location with unique memory address.

The computer memory is also organized as word addressable memory. In computer organization, the term word is defined as group bits ( 8 Bits , 16 Bits , 32 Bits ) that can be transferred simultaneously between the CPU and main memory RAM.

The word size in memory organization defined the number of bits that can be processed together in a single CPU operation.

Read More

Computer Memory Organization

Computer Organization And Architecture

Instruction Cycle

The main function of the central processing unit ( CPU ) is to execute the program. The computer program consist of number of instructions . These instructions direct the computer to perform the desired operations.

In order to execute the program , the operating system allocates the necessary resources. The operating system loads the program instructions along with associated data into the main memory RAM.

The CPU initiates the program execution by fetching the data and instructions from the main memory RAM. The CPU execution mechanism is called instruction cycle.

Instruction Cycle

The instruction cycle is the basic operation of the CPU which essentially consist of  which essentially consist of sequence of three operations. These three operations include fetch , decode and execute.

The CPU repetitively performs the  instruction cycle to perform various operations as per the program instructions. The instruction cycle internally consist of another CPU operation called machine cycle.

The CPU operations and the instruction cycle is synchronized by the stream of clock signals. The clock signals are generated by the timing and control signal generator of the control unit.

Read More

CPU Instruction Cycle

Computer Organization And Architecture

Instruction Pipelining

Instruction Pipeline Architecture

The processor chip manufacturing companies have to constantly innovate the new technology and the microprocessor design in order to improve the processor performance.

In computer architecture, the instruction pipelining is a technique used that helps to utilize the processing power of the CPU. The instruction pipelining aims to significantly improve the CPU performance.

The computer program consist of multiple instructions. The CPU repetitively performs the instruction cycle to execute the program instructions.

The instruction cycle is executed in four stages or operations . These four operations are fetch , decode , execute and store. Each stage is designed to perform a certain part of the instruction  cycle  .

The instruction pipelining technique allows the processor to concurrently execute different stages of the instruction cycle for multiple instructions.

Instruction Non-Pipeline Architecture

CPU Non Pipelined Architecture

Instruction Pipeline Architecture

CPU Pipelined Architecture

The pipelined concurrent execution of the instructions allows  the processor to simultaneously initiate the execution of multiple instructions.

In simpler CPUs, the instruction cycle is executed sequentially.  The CPU executes each instruction one by one. Such sequential execution is referred as non-pipelined architecture.

However , In  most  modern  processors use the pipelining technology which allows the CPU to simultaneously execute more number of instructions.   

In instruction pipelined architecture , the next instruction processing  starts even  before  the  previous instruction  has finished. This  results into  improved  CPU  performance.

Read More

Instruction Pipeline Architecture

Instruction Set Architecture ( ISA )

In computer organization and architecture , the instruction set architecture ( ISA ) is defined as a set of binary commands supported by the processor chip.

Each processor chip design is based on the specific Instruction set architecture ( ISA ). The ISA merely defines the set of operations that must be supported by the CPU that implements a specific ISA.

The ISA does not specify the details of its implementation inside the processor chip. Rather , the ISA only specify the capability of the processor in terms of binary operations performed by the processor.

Instruction Set Architecture
Microprocessor Instruction Set Architecture

For example , you will find many processor that implement x86 ISA . However , each processor can have different ISA implementation despite being based on the same x86 architecture.

The instruction set architecture ( ISA ) also defines the maximum length of the program statement. And therefore , the implementation of the ISA, the statement length is restricted within maximum permissible limit.  

Similarly , the ISA also defines the instruction format for different types of instructions. The instruction format defines how the entire instruction is encoded within the specified instruction format.

The processor micro-architecture is referred to the actual implementation of the ISA into the processor chip. The micro-architecture defines the performance and the efficiency of the processor design.

Read More

Instruction Set Architecture ( ISA )

Computer Organization And Architecture

Instruction Format

The CPU is responsible to execute the program. However, the CPU can decode and execute only machine instructions in the binary format.

And therefore , all computer programs written in any high level programming language must be first converted machine instruction.

During the program compilation stage, the compiler converts the high level program instructions into low level standard machine instructions in a specific format. This standard machine instruction format is defined as “Instruction Format”.

Instruction Format, Program Instruction Format , Instruction Cycle, Computer Organization And Architecture

These machine instructions can be directly decoded and executed by the processor. The instruction format defines the pattern of bits that consist of three parts.

Each part of the instruction format directs the CPU while decoding the program instructions. The instruction format consist of addressing mode , operation code ( OPCODE ) and the data ( OPERAND ).

The addressing mode helps to decode location of the data , the OPCODE specify the operation to be performed and the OPERAND specify the integer data value.

Read More

What Is Instruction Format ?

Computer Organization And Architecture

Addressing Modes

Instruction Format Addressing Modes

In simple words , the addressing mode is the field ( single bit ) in the instruction format that directs the processor regarding how to locate the data that is to be operated by the CPU.

The addressing mode is represented by a single bit in the instruction format. It provides the information about the operand whether it contains either the data or address of the data.

In microprocessor architecture,  the instruction format is a standard machine instruction format that CPU can decode and execute.

Depending upon the instruction type , the pattern of bits in the machine instruction format consist of three parts.

The first part indicates the addressing mode , the second part OPCODE specifies the operation to be performed and the third part OPERAND either data or address of the data.

the addressing mode for the machine instruction specifies the rules for the CPU while operating on the OPERAND .

The addressing mode part of the machine instruction format  allows to specify whether the OPERAND value is a direct data Or It is an indirect referencing.

Instruction Addressing Modes, Instruction Format

If the addressing mode specified is indirect  then the OPERAND contains a memory address that points to the actual data. However , If the addressing mode specified is direct  then the OPERAND contains the actual data.

The machine code instruction format can use different types of addressing mode depending upon the type of the instruction and the processor architecture.

Read More

Addressing Modes

Computer Organization And Architecture

Interrupts In COA

Hardware And Software Interrupts

In computer architecture , the interrupts are defined as signals ( service call ) sent to the processor either by the hardware components or by the software to seek the processor response.

The interrupt signals generated by the hardware is called as hardware interrupt. Whereas, the interrupt signals generated by the program is called as software interrupt ( also called as traps ).

The interrupt events or signals are called interrupt because these events  prompts the processor to pause the normal execution of the CPU instruction cycle and respond to the interrupt signal.

Interrupts In Computer Organization And Architecture

The processor response to the interrupt signals depends upon the priority and the type of interrupt.

The processor responds to an interrupt by pausing the current process execution and an interrupt service routine ISR ( also called as an interrupt handler ) is executed by the processor.

After executing the ISR, the processor then resumes its previous process after the service routine (  interrupt handler )  is executed in response to an interrupt signal.    

Read More

What Are Interrupts ?

Computer Organization And Architecture

Computer Bus

Computer Bus Architecture

In computer system architecture , the computer buses are defined as the wired connections that connect the CPU and various hardware components.

The computer buses are group of wires running across the computer system. The computer buses transfer data , control signals and memory address.

In order to execute the program , the CPU needs to communicate with main memory RAM and other hardware components. The computer system makes use of three types of buses which include data bus , control bus and address bus.

Computer Bus Architecture In COA , Computer Organization And Architecture

The CPU continuously perform the memory read and write operations. The data transfer take place using the data bus. The CPU also transmits control signals through control bus .

Similarly , the CPU communicates with the memory controller and the main memory ram using the address bus. The address bus is used to transfer the memory address required for memory read and write operations.

Read More

Computer Bus Architecture

Binary Number System

In simple words , the number system is a system of counting. There are many number systems exist in mathematics. We are all familiar with decimal number that we use in our everyday life.

However , the computer and other digital devices do not understand the decimal number system. Rather , the computers can understand and execute only machine instructions in binary.

In mathematics and digital electronics, a binary number is a number system that uses only two numbers ( either zero 0  OR  one 1 ) to represents any number.

Binary Number System , computer organization And Architecture

A computer system is a digital device. The micro processor ( CPU )  inside the computer functions as a system’s brain. The processor internally consist of millions of tiny components called transistor.

These transistors can be programmed to function like a micro switch that can be switched on or off. And therefore , the processor can execute commands represented only two states ( on or off ).

These two states can be easily represented in the binary. The binary commands use only two digits that is 0 ( zero ) and 1 ( one ).

Transistor As Micro Switch , Binary 0
Transistor As Micro Switch , Binary 1

Computer Organization And Architecture

Join The Best Seller

Computer Science Online Course

This is the most comprehensive  and unique  Computer Science  And Programming Fundamentals course Online which will give you in depth understanding of most important fundamental concepts in computer science And Programming .

Don`t copy text!