In-depth Notes on Computer Organisation

Overview of Key Topics in IB Computer Science
  • System Design: Architecture planning of software and systems.

  • Computer Organisation: Parts of the computer and interactions.

  • Networks: Communication and resource sharing among computers.

  • Computational Thinking: Problem-solving with algorithms.

  • Abstract Data Structures: Data organization for efficiency.

  • Resource Management: Allocation of computing resources.

  • Control D: OOP (Object-Oriented Programming): OOP principles in HL and SL.

Computer Architecture
CPU Architecture
  • Central Processing Unit (CPU):

    • ALU: Arithmetic and bitwise operations.

    • CU: Directs processor operations.

    • Registers: Temporary data storage.

Primary Memory
  • RAM: Volatile memory for data and instructions.

  • ROM: Non-volatile memory for firmware.

  • Cache Memory: Fast memory for frequently accessed data.

Machine Instruction Cycle
  • Essential operation of CPUs: Fetch-Execute Cycle from boot to shutdown.

Stages of the Fetch-Execute Cycle
  1. Fetching: Retrieves instructions from RAM to Registers.

  2. Decoding: Interprets instructions for actions.

  3. Executing: Performs actions based on decoded instruction (e.g., calculates area).

  4. Storing Results: Saves executed instruction results in memory/registers.

Simplified Model of Machine Instruction Cycle
  • Components:

    • Program Counter (PC): Next instruction to be fetched.

    • Memory Address Register (MAR): Holds fetched instruction address.

    • Memory Data Register (MDR): Stores retrieved instruction.

    • Current Instruction Register (CIR): Current instruction being processed.

    • Accumulator: Immediate results storage.

  • Data Pathway: PC ➔ MAR ➔ MDR ➔ CIR ➔ CU ➔ ALU for execution.

Additional Notes
  • Data and Address Buses:

    • Data bus carries actual data.

    • Address bus carries data location. Understanding these is key for exams.

Tips for Exam Preparation
  • Review CPU component roles and types of memory (RAM, ROM, Cache).

  • Familiarize with programming code and machine operations.

  • Explain detailed fetch-execute cycle significance.