COA_removed-250-307 (1)

Central Processing Unit: Overview

Introduction

  • Central Processing Unit (CPU): The primary component responsible for performing the majority of data-processing operations within a computer.

  • Components of the CPU:

    • Register Set: Temporary storage for intermediate data during instruction execution.

    • Arithmetic Logic Unit (ALU): Executes mathematical and logical operations.

    • Control Unit: Manages data flow between the CPU, registers, and memory.

CPU Functions

  • The functions performed by a CPU are governed by a set of instructions that determine its architecture and behavior.

  • These instructions can be grouped into various categories such as data transfer, manipulation, and control instructions.

General Register Organization

Efficiency of Registers

  • Registers offer faster access for storing pointers, counters, and temporary results, eliminating the need for slow memory access.

  • A bus organization (like in diagram Fig. 8-2) connects multiple registers through multiplexers to facilitate data transfer effectively.

Multiplexers and ALU Operation

  • In a bus system with multiple registers:

    • Multiplexers (MUX) determine input for the ALU from different registers.

    • The control unit directs the operation flow, ensuring the correct data and operations are applied during each clock cycle.

    • A control word governs the operation, detailing which registers to access and the operation to be performed.

Stack Organization

Last In, First Out (LIFO) Structure

  • Stack: Storage where the last item added is the first removed, commonly used for function calls and returns.

  • Stack Pointer (SP): Tracks the top of the stack for insertion (push) and deletion (pop) operations.

  • Stack Operations:

    • Push: Increment SP and place the item at the new address.

    • Pop: Retrieve the item from the address pointed to by SP and then decrement SP.

Instruction Formats

Structure of Instructions

  • Instructions comprise several fields such as operation codes (opcodes), address fields, and mode fields, which define their action.

  • Different CPUs may utilize varied instruction lengths depending on their architecture (Accumulator, General Register, or Stack-based).

Example Formats

  • Three-Address Instruction: Allows specifying three operands directly (e.g., ADD R1, R2, R3).

  • Two-Address Instruction: Combines operands with one address acting as both source and destination (e.g., ADD R1, R2).

  • Zero-Address Instruction used in stack architectures, where no operand addresses are specified because the stack top automatically supplies operands for operations.

Data Transfer and Manipulation Instructions

Categories of Instructions

  1. Data Transfer: Moves data without alterations (e.g., LOAD, STORE).

  2. Data Manipulation: Performs arithmetic or logical operations (e.g., ADD, SUBTRACT).

  3. Control Instructions: Alter instruction flow (e.g., JUMP, CALL).

Examples of Instruction Types

  • Basic Arithmetic Operations: Addition, subtraction, multiplication, and their variations.

  • Logical Instructions: Such as AND, OR, NOT, XOR which manipulate bits.

  • Shift Operations: Moving bits left or right within a register, preserving the binary significance.

Program Control

Mechanisms for Control Transfer

  • Control flow can be altered using branching and jumping instructions based on conditions set by previous operations.

  • Conditional Branch Instructions: Allow execution branches based on status bits set by previous instructions (e.g., Zero, Carry, Sign).

Example Control Instructions

  • Conditional jumps like BR (branch) and JMP (jump) allow developers to direct program execution flow based on runtime conditions.

Reduced Instruction Set Computer (RISC)

RISC Architecture

  • RISC philosophy advocates for a simpler, optimized instruction set emphasizing register operations over memory access, aiming for higher performance.

  • Typical RISC characteristics include fewer instructions, fixed instruction lengths, and efficient pipelining to enhance throughput.

Comparison with CISC

  • CISC: Complex Instruction Set Computers have vast instruction sets often including memory manipulations, whereas *RISC focuses exclusively on register operations, minimizing memory interaction.

Example of RISC Instructions

  • ADD R1, R2, R3: Simple addition where R1 receives the sum of R2 and R3, reflective of RISC's straightforward definitions.

Conclusion

  • The CPU's architecture, including stack organization and instruction sets, significantly impacts overall computing efficacy and flexibility. Understanding these concepts aids in grasping the fundamentals of computer operations and performance optimization strategies.