15 Control Unit
15 Control Unit
Micro-Operations
A computer executes a program Fetch/execute cycle Each cycle has a number of steps
see pipelining
Called micro-operations Each step does very little Atomic operation of CPU Sebuah komputer menjalankan program Fetch / execute siklus Setiap siklus memiliki sejumlah langkah -Lihat pipelining Disebut micro-operations Setiap langkah melakukan sangat sedikit Operasi Atom CPU
Fetch - 4 Registers
Memory Address Register (MAR)
Connected to address bus Specifies address for read or write op
Fetch Sequence
Address of next instruction is in PC Address (MAR) is placed on address bus Control unit issues READ command Result (data from memory) appears on data bus Data from data bus copied into MBR PC incremented by 1 (in parallel with data fetch from memory) Data (instruction) moved from MBR to IR MBR is now free for further data fetches
Indirect Cycle
MAR <- (IRaddress) - address field of IR MBR <- (memory) IRaddress <- (MBRaddress) MBR contains an address IR is now in same state as if direct addressing had been used (What does this say about IR size?)
Interrupt Cycle
t1: MBR <-(PC) t2: MAR <- save-address PC <- routine-address t3: memory <- (MBR) This is a minimum
May be additional micro-ops to get addresses N.B. saving context is done by interrupt handler routine, not micro-ops
Notes:
if is a single micro-operation Micro-operations done during t4
Instruction Cycle
Each phase decomposed into sequence of elementary micro-operations E.g. fetch, indirect, and interrupt cycles Execute cycle
One sequence of micro-operations for each opcode
Functional Requirements
Define basic elements of processor Describe micro-operations processor performs Determine functions control unit must perform
Types of Micro-operation
Transfer data between registers Transfer data from register to external Transfer data from external to register Perform arithmetic or logical ops
Execution
Causing the performance of each micro-op
Control Signals
Clock
One micro-instruction (or set of parallel microinstructions) per clock cycle
Instruction register
Op-code for current instruction Determines which micro-instructions are performed
Flags
State of CPU Results of previous operations
MAR <- (PC) - Control unit mengaktifkan sinyal untuk membuka gerbang antara PC dan MAR MBR <- (memory) - Gerbang terbuka antara MAR dan bus alamat - Memory membaca sinyal kontrol - Terbuka gerbang antara data bus dan MBR
Internal Organization
Usually a single internal bus Gates control movement of data onto and off the bus Control signals control data transfer to and from external systems bus Temporary registers needed for proper operation of ALU Biasanya bus internal tunggal Gerakan kontrol Gates data ke dan turun dari bus Sinyal kontrol mengontrol transfer data dari dan ke sistem eksternal bus Register sementara yang diperlukan untuk operasi yang tepat dari ALU
Instruction register
Op-code causes different control signals for each different instruction Unique logic for each op-code Decoder takes encoded input and produces single output n binary inputs and 2n outputs
Problems With Hard Wired Designs (Masalah Dengan Desain Wired Keras) Complex sequencing & micro-operation logic Difficult to design and test Inflexible design Difficult to add new instructions Kompleks sequencing & mikro-operasi logika Sulit untuk merancang dan menguji Desain fleksibel Sulit untuk menambahkan instruksi baru
Required Reading
Stallings chapter 15