0% found this document useful (0 votes)
3 views

Detailed Computer Architecture Notes

The document provides detailed notes on computer architecture, covering functional units, classifications of architecture, and concepts of parallel processing and pipelining. It explains the roles of input, output, memory, ALU, and control units, as well as the differences between RISC and CISC architectures. Additionally, it discusses program partitioning and scheduling for efficient parallel execution.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views

Detailed Computer Architecture Notes

The document provides detailed notes on computer architecture, covering functional units, classifications of architecture, and concepts of parallel processing and pipelining. It explains the roles of input, output, memory, ALU, and control units, as well as the differences between RISC and CISC architectures. Additionally, it discusses program partitioning and scheduling for efficient parallel execution.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 3

Detailed Notes on Computer Architecture

Unit-I: Introduction

Functional units of a digital computer system include:

1. Input Unit: Takes input from the user.

2. Output Unit: Outputs the result of computation.

3. Memory Unit: Stores data and instructions (Primary and Secondary).

4. Arithmetic and Logic Unit (ALU): Performs mathematical and logical operations.

5. Control Unit: Directs the operation of all units.

Interconnections include data buses, control buses, and address buses.

Key Concepts:

- Arithmetic and logic operations form the computational core.

- Memory is classified into primary (RAM, ROM) and secondary storage (HDD, SSD).

- Difference between Computer Organization (hardware details) and Architecture (system-level design).

[Diagram: Functional units of a computer system]

Unit-II: Architecture

Architecture defines the components and interrelations within a computer system. Topics include:

- Flynn's Classification: SISD, SIMD, MISD, MIMD.

- Feng's Classification: Considering parallelism.

- RISC vs. CISC:

- RISC: Reduced Instruction Set Computer (fewer, simpler instructions).

- CISC: Complex Instruction Set Computer (more complex instructions).

Comparison between Pipelining and Parallelism:


- Pipelining: Executes multiple instruction stages simultaneously.

- Parallelism: Executes multiple instructions simultaneously.

Instruction formats include opcode, operand, and addressing modes.

[Diagram: RISC vs CISC Architecture]

Unit-III: Basic Concepts of Parallel Processing

Parallel processing aims to perform multiple computations simultaneously.

Network Models:

- Mesh: Nodes connected in a grid.

- Pyramid: Hierarchical interconnections.

- Butterfly: Multi-stage graph structure.

- Hypercube: Multidimensional cube connections.

Performance Metrics:

- Speed-up: Ratio of sequential to parallel execution time.

- Efficiency: Ratio of speed-up to the number of processors.

[Diagram: Parallel Processing Models]

Unit-IV: Pipeline Processing

Pipelining involves breaking an instruction into multiple stages and executing them concurrently.

Pipeline Design Principles:

- Instruction Pre-fetch: Preloads instructions to minimize delays.

- Hazard Detection: Resolves data, structural, and control hazards.


Pipeline Scheduling:

- Resolves conflicts in execution order using scheduling algorithms.

[Diagram: Pipeline Structure]

Unit-V: Program Partitioning & Scheduling

Partitioning divides a program into smaller tasks for parallel execution.

Key Concepts:

- Grain Size: Size of the tasks (fine-grain vs. coarse-grain).

- Scheduling Algorithms: Static and dynamic approaches for task allocation.

- Control Flow vs Data Flow:

- Control Flow: Sequential execution based on instructions.

- Data Flow: Execution based on data availability.

[Diagram: Program Partitioning Example]

You might also like