Computer Organization and Architecture Study Notes

Architecture versus Organization

  • Computer Architecture:

    • Refers to attributes of a system that are directly visible to the programmer.
    • Consists of attributes that have a direct impact on the logical execution of a program.
    • Key architectural attributes include:
      • Instruction set architecture (ISA).
      • Number of bits used to represent data types (e.g., integers, floating-point numbers).
      • Input/Output (I/O) mechanisms.
      • Techniques for addressing memory.
    • Architectural Example: Determining whether a computer architecture contains a specific hardware instruction for multiplication.
  • Computer Organization:

    • Refers to the operational units and their interconnections that realize the architectural specifications.
    • Key organizational attributes include:
      • Hardware control signals.
      • Interfaces between the computer and peripheral devices.
      • Memory technology used in the system.
    • Organizational Example: Determining whether a multiplication instruction is implemented via a dedicated hardware multiply unit or by executed repeated addition software routines.
  • Architectural Families and Compatibility:

    • Many computer design families maintain a single, standardized architecture while using varying organizational implementations across different models.
    • Intel x86 Family: All implementations share the same basic architecture.
    • IBM System/370 Family: Models share the same basic architecture across multiple generations.
    • Code Compatibility: Shared architecture guarantees application software compatibility across different system versions (at least maintaining backward compatibility, allowing older software to run on new hardware).
    • Organizational Differences: Organization differs between different versions and price/performance points within the same family to adjust performance, speed, and cost parameters.

Fundamental Computer Concepts: Structure and Function

  • Core Concepts Defined:

    • Structure: The specific way in which internal components are interconnected and relate to each other.
    • Function: The operation of each individual component as part of the overall structure.
  • Four Basic Computer Functions:

    • Data Processing: Performing arithmetic, logical, and structural operations on data.
    • Data Storage: Holding data long-term or temporarily for system operation.
    • Data Movement: Transferring data between the computer environment and external devices or communication channels.
    • Control: Managing and coordinating the computer's internal components, storage, and processing tasks based on given instructions.
  • Functional View of a Computer:

    Figure 1.1 A Functional View of the Computer

*   **Operating Environment**: The source and destination of data external to the computer system.
*   **Data Movement Apparatus**: Transfers data directly between the operating environment and internal mechanisms.
*   **Control Mechanism**: Orchestrates all operations, directing internal movement, processing, and storage components.
*   **Data Storage Facility**: Holds data internally for current or future processing operations.
*   **Data Processing Facility**: Executes hardware processing tasks on data.
  • Four Basic Operational Scenarios:
    • Data Movement Operation: Data is transferred directly between the external operating environment and the computer via the Data Movement Apparatus under Control Mechanism direction.
    • Data Storage Operation: Data is received from the external environment through the Data Movement Apparatus and written directly into the Data Storage Facility managed by the Control Mechanism.
    • Processing from/to Storage: Data is retrieved from the Data Storage Facility, operated on by the Data Processing Facility, and stored back into the Data Storage Facility under Control Mechanism supervision.
    • Processing from Storage to I/O: Data stored in the Data Storage Facility is processed by the Data Processing Facility and moved out through the Data Movement Apparatus to the external operating environment.

Top-Level Computer Structure

  • External System Environment:

    • Peripherals: External devices connected for input/output operational capabilities.
    • Communication Lines: External links connecting the computer system to networks or remote systems.
  • Four Major Structural Components:

    Top-Level Computer Structure Diagram

*   **Central Processing Unit (CPU)**:
    *   Controls system operations and performs all data processing functions within the computer.
*   **Main Memory**:
    *   Stores active instructions and data needed during program execution.
*   **Input/Output (I/O)**:
    *   Transfers data between the computer and its external peripherals or communication links.
*   **Systems Interconnection (System Bus)**:
    *   A communication structure providing data pathways among the CPU, Main Memory, and Input/Output mechanisms.

Internal Structure of the CPU

  • Role of the Processor:

    • Acts as the primary execution engine of the computer, decoding software instructions and managing internal hardware components.
  • Four Primary Internal Components of the CPU:

    Internal CPU Structure Diagram

*   **Control Unit**:
    *   Directs and controls all operational tasks inside the CPU and throughout the computer system.
*   **Arithmetic and Logic Unit (ALU)**:
    *   Performs mathematical calculation and logical comparison tasks.
*   **Registers**:
    *   Internal high-speed hardware memory storage locations local to the processor for holding intermediate results and control status.
*   **Internal CPU Interconnection (Internal Bus)**:
    *   Communication mechanism enabling data transfer among the Registers, ALU, and Control Unit.

Internal Structure of the Control Unit

  • Role of the Control Unit:

    • Generates discrete hardware control signals to sequence and execute machine instructions.
  • Three Key Internal Sub-Components of the Control Unit:

    Control Unit Internal Structure Diagram

*   **Sequencing Logic**:
    *   Controls signal flow sequencing logic to execute micro-operations step-by-step.
*   **Control Unit Registers and Decoders**:
    *   Decodes opcodes and retains intermediate state information during instruction decoding.
*   **Control Memory**:
    *   Dedicated internal storage containing microprogram routines that define microinstruction control sequences.

Overview of Core Computer Architecture Topics

  • CPU Structure and Function: Detailed examination of processor organization, instruction cycle execution, and internal register sets.
  • Reduced Instruction Set Computers (RISC): Architectures prioritizing simplified instruction sets to achieve instruction throughput per clock cycle.
  • Superscalar Processors: Advanced architectures enabling parallel instruction dispatch and simultaneous execution across multiple instruction pipelines.
  • Control Unit Operation: Principles governing instruction decoding, hardware timing, and control signal generation.
  • Microprogrammed Control: Methodologies for implementing control units using microinstruction routines stored in control memory.
  • Multiprocessors and Vector Processing: High-performance parallel hardware configurations including multi-core implementations, vector calculations, and shared system memory topologies.
  • Digital Logic: Hardware foundations covering Boolean logic, gate operations, combinational circuits, and sequential logic (detailed in system documentation appendix).