Main CPU components

What is a CPU?

The Central Processing Unit (CPU) is the brain of the computer, responsible for executing instructions and processing data. It operates through the fetch-decode-execute cycle, ensuring that programs run smoothly. This section explores the major components of the CPU and their interactions.

CPU Components and Their Functions

Arithmetic Logic Unit (ALU)

  • Performs mathematical calculations (addition, subtraction, multiplication, division).
  • Executes logical operations (AND, OR, NOT, XOR).
  • Handles comparisons to determine branching conditions in programs.
  • Example: Comparing two numbers (A > B) to decide which instruction to execute next.

Control Unit (CU)

  • Directs the flow of data within the CPU and to/from memory.
  • Decodes instructions and signals other components for execution.
  • Manages the fetch-decode-execute cycle.
  • Example: Decoding the instruction "LOAD A" and triggering the memory read process.

Registers

Registers are small, high-speed storage locations within the CPU that temporarily hold data and instructions.

Register Function
Program Counter (PC) Stores the address of the next instruction to be fetched.
Memory Address Register (MAR) Holds the address of the memory location to be accessed.
Memory Data Register (MDR) Stores data being transferred between memory and the CPU.
Instruction Register (IR) Holds the current instruction being executed.
Accumulator (AC) Temporarily holds intermediate results of arithmetic and logical operations.

Buses

Buses are communication pathways that transfer data and control signals within the computer.

Bus Function Example
Address Bus Carries memory addresses from the CPU to memory and I/O devices. Sending the address of variable X to RAM for reading.
Data Bus Transfers actual data between the CPU, memory, and peripherals. Transferring the value of variable X from RAM to the CPU.
Control Bus Sends control signals (e.g. read/write) to coordinate CPU operations. Signaling a memory read operation to retrieve data.

Processors

  • Single-core Processor: Executes one instruction at a time.
    Example: A basic calculator performing sequential operations.
  • Multi-core Processor: Contains multiple cores to execute tasks in parallel.
    Example: Running multiple applications (browser, music player, word processor) simultaneously.
  • Co-processors: Specialized processors (e.g. GPUs) assist the CPU in specific tasks.
    Example: A GPU handling complex 3D graphics rendering in a video game.

Interaction of CPU Components

The fetch-decode-execute cycle ensures that instructions are processed in a structured and efficient manner:

  1. Fetch: The PC sends the next instruction's address to the MAR. The instruction is fetched into the MDR and passed to the IR.
  2. Decode: The CU decodes the instruction and identifies the necessary components.
  3. Execute: The ALU carries out the operation. The result is stored in the AC or memory, and the cycle repeats.

Practical Example

Consider a simple arithmetic operation: X = A + B.

  • The CPU fetches the instruction and loads values of A and B into registers.
  • The CU decodes the addition operation and signals the ALU.
  • The ALU adds A and B and stores the result in the accumulator.
  • The result is written back to memory or another register.

 Key Takeaways

  • The ALU performs arithmetic and logic operations.
  • The CU directs instruction flow and manages execution.
  • Registers temporarily store critical data for quick processing.
  • Buses facilitate communication between components.
  • The fetch-decode-execute cycle ensures smooth instruction processing.