Chapter 3 csc429 actual [Compatibility Mode] (1)

Introduction

  • Computer Organization and Architecture

  • Chapter Title: System Architecture

  • Author: Assoc. Prof. Ts. Dr. Norhaslinda Kamaruddin, UiTM Shah Alam

Compiler and Machine Code

  • Compiler: A tool that translates source code into object code.

  • Machine Code: Code that can be directly executed by the CPU.

  • Linker: Converts object code into machine code for execution.

Transition from Hardware to Software

  • Hardwired Systems: Inflexible systems requiring physical changes to change functions.

  • General Purpose Hardware: Can perform various tasks with proper control signals, eliminating the need for rewiring.

Program Fundamentals

  • Definition of a Program: A sequence of steps involving arithmetic, logical, control, or data movement operations.

  • Each operation requires a unique set of control signals.

Program Execution

  • Execution Process: Each operation is represented by unique codes (e.g., ADD, MOVE) that are interpreted by hardware circuits to issue control signals.

Historical Context

  • John von Neumann: Notable mathematician, proposed foundational concepts for computer architecture (1945).

  • EDVAC: Early computer design documented by von Neumann.

The von Neumann Architecture

  • Key components:

    • Arithmetic and Logic Unit (ALU): Performs calculations and logical operations.

    • Control Unit: Directs operations and manages the flow of instructions.

    • Main Memory: Stores data and programs for execution.

    • Input/Output Systems: Manage data transfer between the computer and external devices.

Architecture vs. Organization

  • Architecture: Specifies attributes visible to the programmer (instruction set, addressing techniques).

  • Organization: Refers to how features are implemented (hardware configuration, control signals).

Functional Structure and Components

  • Structure: Static relationships among components (e.g., CPU, memory, I/O).

  • Function: Dynamic behavior and operations of each component.

Central Processing Unit (CPU)

  • Core components: Control Unit, ALU, and Registers.

  • Function of CPU:

    • Executes programs stored in memory.

    • Fetches instructions and decodes them.

  • Registers: Temporary storage within the CPU for quick access to data and instructions.

Memory Architecture

  • Main Memory: Temporary data storage; includes registers like Program Counter (PC) and Instruction Register (IR).

  • Memory Registers: Facilitate data movement, including MAR (Memory Address Register) and MDR (Memory Data Register).

Control Unit Functionality

  • Control Unit Role: Interprets and controls instruction execution, manages the fetch/execute cycle.

  • Utilizes a control bus to send and receive signals.

Arithmetic Logic Unit (ALU)

  • Performs arithmetic and logic operations.

  • Controlled by signals from the Control Unit.

Processor Machine Cycle

  • Fetch: Retrieve instruction from memory.

  • Decode: Translate instruction into commands for execution.

  • Execute: Perform the operation indicated by the instruction.

  • Store: Write results back to memory.

Instruction Cycle

  • Consists of Fetch and Execute phases, repeating continuously.

Interrupt Handling

  • Mechanism allowing external devices to interrupt the normal processing sequence.

  • Interrupt Cycle: Processor checks for interrupts and handles them appropriately.

  • Can manage multiple interrupts via priority systems.

Bus Architecture

  • Bus: Communication pathway connecting devices within the system.

    • Data Bus: Carries actual data.

    • Address Bus: Indicates memory location for data transfer.

    • Control Bus: Sends command signals.

  • Buses can be structured in a single or multiple arrangements to handle data transfer efficiently.

Summary

  • Centralized vs. Decentralized Bus Arbitration: How access to the bus is managed to avoid conflicts.

  • Bus Timing: Events may be synchronous or asynchronous, impacting performance based on device speeds.