CONTROL UNIT OPERATION
Micro Operations
The Interrupt Cycle
The Execute Cycle (ADD)
The Indirect Cycle
The Instruction Cycle
The Fetch Cycle
Control of the Processor
A Control Signals Example
Internal Processor
Control Signals
Organization The Intel 8085
Functional Requirements
Hardwired Implementationigital Marketing
Control Unit Inputs
Control Unit Logic
Overview
Superscalar vs Superpipelined
Limitations
Procedural dependency
Resource conflicts
Output dependency
True data dependency
Antidependency
Superscalar
Superpipelined
Procedural dependencies
Resource conflict
Instruction issue policy
Instruction issue policy
In-order issue with in-order completion
In-order issue with out-of-order completion
Out-of-order issue with out-of-order completion
Instruction are executed
Instruction are fetched
Instruction update the contents of register and memory locations
11 requires two cycles to execute
1
15 depends on the value produced by 14
15 and 16 conflict for a functional unit
13 and 14 conflict for the same functional unit
True Data Dependency
Procedural Dendencies
Resource Conflict
Reorder Buffer Simulator
Register Renaming
Machine Parallelism
click to edit
click to edit
click to edit
Pipeline with Static Vs Dynamic Scheduling - Simulator
Branch Prediction
Superscalar Execution
Superscalar Implementation
Pentium 4
Generation of Micro-Ops
Trace Cache Next Instruction Pointer
Trace Cache Fetch
Out-of-Order Execution Logic
Allocate
Register Renaming
Micro-Op Queuing
Micro-Op Scheduling and Dispatching
Integer and Floating-Point Execution Units
ARM Cortex-A8
Instruction Fetch Unit
Instruction Decode Unit
Integer Execute Unit
SIMD and Floating-Point Pipeline
Fetch - 4 Register
What happens when an instruction is executed?
Fetch Sequence (symbolic)
Varian 1
Varian 2
t2: MBR <- (memory) PC <- (PC) + 1
t3: IR <- (MBR)
t1: MAR <- (PC)
t1: MAR <- (PC)
t2: MBR <- (memory)
t3: PC <- (PC) + 1 IR <- (MBR)
The Execute Cycle (ISZ)
MBR
PC
MAR
IR
Rules for clock cycle grouping
Conflicts must be avoided
Also: PC <- (PC) + 1 involves addition
Proper sequence must be followed
MAR <- (PC) must precede MBR <- (memory)
Musr not read & write same register at same time
MBR <- (memory) & IR <- (MBR) must not be in same cycle
Use ALU
May need additional micro-operations
Different for each instruction
E.g. ADD R1, X
ISZ X
MBR contains an address
IR is now in same state as if direct addressing had been used
Steps
MBR <- (memory)
MAR <- (IRaddress) - address field of IR
IRaddress <- (MBRaddress)
Execute Cycle (BSA)
BSA X
For a bigger picture, we need to tie sequences together
Assume new 2-bit register
Previous slides, we saw
Constituent Elements of Program Execution
Fetch Sequence
Result (data from memory) appears on data bus
Data from data bus copied into MBR
Control unit issues READ command
PC incremented by 1 (in parallel with data fetch from memory)
Address (MAR) is placed on address bus
data (instruction) moved from MBR to IR
MBR is now free for further data fetches
Address of next instruction is in PC