1
This section covers control unit design (hardwired and microprogrammed), CPU structure and instruction formats, addressing modes, data transfer/manipulation instructions, the RISC vs CISC design philosophies, and pipelining.
2
Control Unit Design Approach Description Hardwired control Control signals generated by fixed combinational logic circuits; fast but difficult to modify/extend Microprogrammed control Control signals generated by a sequence of microinstructions stored in control memory (control store); each machine instruction maps to a routine in this control memory; flexible/easily modified but somewhat slower Control memory / microinstruction format Control memory stores microinstructions, each encoding the control signals for one micro-operation; address sequencing determines the next microinstruction to fetch (sequential, branch, or subroutine-based) CPU Structure & Function A CPU comprises the ALU (arithmetic/logic operations), registers (fast local storage), and the control unit (sequencing/coordination), interconnected by internal buses.
3
Instruction format specifies the layout of an instruction: opcode (operation) field and one or more operand/address fields.
4
Addressing modes (immediate, direct, indirect, register, indexed, relative) determine how the effective operand address is computed from the instruction's address field(s).
5
Data transfer and manipulation instructions: data transfer (load, store, move), arithmetic (add, subtract), logical (AND, OR, shift), and program control (branch, jump, call) instruction classes.
6
RISC vs CISC Aspect RISC CISC Instruction set Small, simple, fixed-length instructions Large, complex, variable-length instructions Execution Mostly single-cycle execution, register-based operations Multi-cycle execution, direct memory operands allowed Control unit Typically hardwired (fast) Typically microprogrammed (flexible) Compiler complexity More complex compiler (more instructions needed per task) Simpler compiler (each instruction does more work) Pipelining & Parallel Processing Pipelining overlaps execution of multiple instructions across stages (e.g. fetch, decode, execute, memory access, write-back), increasing instruction throughput without reducing individual instruction latency.
7
Pipeline hazards (structural, data, control) can stall the pipeline; techniques like forwarding, branch prediction, and stalling mitigate them.
8
Parallel processing executes multiple instructions/tasks simultaneously using multiple functional units or processors, going beyond what pipelining alone achieves.