Computer Organization and Architecture
Notes
Introduction
Computer Organization and Architecture are fundamental concepts in computer science and
engineering. Computer Architecture defines the attributes of a system visible to a
programmer, such as the instruction set, number of bits used for data, and I/O mechanisms.
It deals with the logical design and how the system appears to the user. Computer
Organization, on the other hand, deals with the operational units and their interconnections
that realize the architectural specifications. It focuses on the physical implementation of the
computer system.
1. Basic Computer Instructions
Basic Computer Instructions are the elemental building blocks that govern the behavior of a
computer system. They orchestrate the entire spectrum of operations within a computer.
These instructions are executed by the Central Processing Unit (CPU) to perform various
tasks.
2. Von Neumann Architecture
The Von Neumann architecture, proposed by John Von Neumann in 1945, is a stored-
program concept where programs and data are stored in the same memory unit and treated
similarly. This design allows for easier reprogramming of computers. The basic structure
includes a Central Processing Unit (CPU), Main Memory Unit, and Input/Output Devices.
Central Processing Unit (CPU)
The CPU is the electronic circuit responsible for executing instructions of a computer
program. It comprises:
Control Unit (CU): Handles processor control signals, directs I/O flow, fetches
instruction codes, and controls data movement.
Arithmetic and Logic Unit (ALU): Performs all calculations, including arithmetic
(addition, subtraction), logical operations, and bit-shifting operations.
Registers: High-speed storage areas within the CPU. Key registers include:
Accumulator: Stores results of ALU calculations.
Program Counter (PC): Keeps track of the memory location of the next
instruction.
Memory Address Register (MAR): Stores memory locations for fetching or storing
data/instructions.
Memory Data Register (MDR): Stores instructions fetched from memory or data
to be transferred.
Current Instruction Register (CIR): Stores the most recently fetched instruction.
Instruction Buffer Register (IBR): Holds instructions not immediately executed.
Buses
Buses transmit data between computer components. Types include:
Data Bus: Carries data among memory, I/O devices, and the processor.
Address Bus: Carries the address of data between memory and processor.
Control Bus: Carries control commands and status signals to coordinate activities.
Input/Output Devices
These devices facilitate data input into main memory and output information from the
computer.
Von Neumann Bottleneck
The Von Neumann bottleneck refers to the limitation where instructions are executed one at
a time sequentially, hindering CPU performance due to shared bus access for both data and
instructions.
3. Harvard Architecture
Harvard Architecture overcomes the Von Neumann bottleneck by using separate storage and
buses for instructions and data. This allows the CPU to access instructions and read/write
data simultaneously, leading to improved performance.
Structure of Harvard Architecture
It features separate data and instruction buses, enabling parallel access.
Operational Registers
Similar to Von Neumann, it includes a Program Counter, ALU, Control Unit, and Input/Output
System, but optimized for separate memory access.
Features of Harvard Architecture
Separate memory spaces: Allows simultaneous access to instruction and data
memories.
Fixed instruction length: Simplifies instruction fetching.
Parallel instruction and data access: Improves processing speed.
More efficient memory usage: Data and instruction memories can be independently
optimized.
Suitable for embedded systems: Critical for real-time applications.
Limited flexibility: Modifying instructions at runtime is difficult due to separate
memory spaces.
Advantages of Harvard Architecture
Fast and efficient data access.
Better performance due to parallel processing.
Suitable for real-time applications.
Enhanced security against certain attacks.
Disadvantages of Harvard Architecture
Increased complexity and cost.
Limited flexibility in modifying instructions.
Higher memory requirements.
Code size limitations due to fixed instruction length.
Von Neumann vs. Harvard Architecture
Feature Von Neumann Architecture Harvard Architecture
Single memory space for data and Separate memory spaces for data and
Memory Structure
instructions instructions
Instruction & Data
Fetched from the same memory Fetched from separate memories
Fetch
Instruction Executed sequentially, potential Simultaneous fetching, reduced
Execution bottlenecks bottlenecks
Speed & Potentially faster due to simultaneous
Generally slower due to contention
Performance access
Complexity & Cost Simpler design, less costly More complex, potentially higher cost
Specialized systems (embedded,
Usage Most traditional computers
DSPs)
4. Computer System Level Hierarchy
The Computer System Level Hierarchy describes the different levels that connect the
computer with the user and facilitate computational activities. It consists of seven levels:
Level 0: Digital Logic: The lowest level, comprising circuits and gates.
Level 1: Control: Involves microcode and control units.
Level 2: Machine: Includes hardware components and instruction set architecture.
Level 3: System Software: Operating systems and library code.
Level 4: Assembly Language: Machine-understandable code.
Level 5: High-Level Language: Languages like C++, Java, FORTRAN.
Level 6: User: Users and executable programs.
Features of Computer System Level Hierarchy
Abstraction: Each level provides abstraction from underlying hardware.
Modularity: Independent design and development of each level.
Interoperability: Seamless interaction between different levels.
Scalability: Allows for adding new components and functionality.
Security: Different levels contribute to system security.
References
[1] GeeksforGeeks. (n.d.). Computer Organization and Architecture. Retrieved from
https://media.geeksforgeeks.org/courses/syllabus/db29b4a6e537cb1a4c4a9119e1ca565f.pdf