Operasi Unit Kontrol Arsitektur Komputer II STMIK – AUB Surakarta

Download Report

Transcript Operasi Unit Kontrol Arsitektur Komputer II STMIK – AUB Surakarta

Operasi Unit Kontrol
Arsitektur Komputer II
STMIK – AUB Surakarta
Micro-Operations
 Fungsi sebuah komputer adalah mengeksekusi program.
 Siklus Fetch/execute selalu terjadi
 Tiap siklus memiliki sejumlah langkah yang terdiri dari
register-register CPU
Ingat pipelining!
 Tiap langkah disebut operasi mikro (micro-operation)
 Tiap langkah berupa langkah sederhana (Atomic
operation of CPU)
Constituent Elements of
Program Execution
Fetch - 4 Registers
Memory Address Register (MAR)
Connected to address bus
Specifies address for read or write op
Memory Buffer Register (MBR)
Connected to data bus
Berisi data yang akan disimpan atau nilai terakhir
yang dibaca
Program Counter (PC)
Holds address of next instruction to be fetched
Instruction Register (IR)
Holds last instruction fetched
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
Fetch Sequence (symbolic)
 t1: MAR <- (PC)
 t2: MBR <- (memory)

PC <- (PC) +1
 t3: IR <- (MBR)
 (tx = time unit/clock cycle)
 or
 t1: MAR <- (PC)
 t2: MBR <- (memory)
 t3: PC <- (PC) +1

IR <- (MBR)
Aturan Pengelompokan Operasi
Mikro per Clock Cycle
 Rangkaian kejadian yang benar harus dipenuhi
MAR <- (PC) harus mendahului MBR<- (memory)
 Konflik harus dihindari
Tidak diperbolehkan membaca dan menulis ke register yang
sama pada saat yang bersamaan
MBR <- (memory) & IR <- (MBR) must not be in same cycle
 Perlu diperhatikan juga operasi penambahan : PC <(PC) +1
Use ALU
May need additional micro-operations
Indirect Cycle
 MAR <- (IRaddress) - address field of IR
 MBR <- (memory)
 IRaddress <- (MBRaddress)
 Field alamat instruksi dipindahkan ke MAR
 MBR contains an address (alamat yang dipindahkan
digunakan untuk mengambil alamat operand)
 Alamat field IR diupdate dari MBR (IR berisi alamat
langsung)
 IR berada dalam status yang sama perti halnya apabila
pengalamatan tak langsung tidak pernah digunakan dan
siap untuk siklus eksekusi
Interrupt Cycle
 t1:
 t2:

 t3:
MBR <-(PC)
MAR <- save-address
PC <- routine-address
memory <- (MBR)
 Isi PC dipindahkan ke MBR
 MAR dimuati alamat dimana isi PC akan disimpandan PC
dimuati dengan alamat awal rutin pengolahan interrupt.
This is a minimum
CPU membutuhkan operasi mikro tambahan untuk memperoleh
alamat simpan dan alamat rutin
N.B. saving context is done by interrupt handler routine, not microops
 Menyimpan MBR, yang berisi nilai PC lama ke memori
Execute Cycle (ADD)
Different for each instruction
e.g. ADD R1,X - add the contents of location X
to Register 1 , result in R1
t1: MAR <- (IRaddress)
t2: MBR <- (memory)
t3: R1 <- R1 + (MBR)
Note no overlap of micro-operations
Execute Cycle (ISZ)
ISZ X - increment and skip if zero
t1:
t2:
t3:
t4:

MAR <- (IRaddress)
MBR <- (memory)
MBR <- (MBR) + 1
memory <- (MBR)
if (MBR) == 0 then PC <- (PC) + 1
Notes:
if is a single micro-operation
Micro-operations done during t4
Persyaratan Fungsional
 Menentukan elemen dasar CPU
 Mendiskripsikan operasi mikro yang harus dilakukan CPU
 Menentukan fungsi-fungsi yang harus dilakukan Control
Unit agar menyebabkan operasi-operasi mikro.
Elemen Dasar Prosesor
 ALU
elemen komputer paling dasar
 Register
menyimpan data (informasi status program, memori, register
dan modul I/O)
 Internal Data Path
memindahkan data antar register dan antara register dan ALU
 External Data Path
menghubungkan register ke memori dan modul I/O dan
terkadang dengan bus sistem
 Control Unit
menyebabkan operasi dalam CPU
FUNGSI CONTROL UNIT
 Sequencing (mengurutkan operasi)

Membuat CPU menuju sejumlah operasi mikro dalamurutan
operasi tertentu yang benar, yang didasarkan pada program
yang sedang dieksekusi
 Mengeksekusi

Membuat kinerja setiap operasi mikro selesai dengan
menggunakan sinyal kontrol tertentu
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
Control Signals – Input (1)
Clock
Cara unit kontrol dalam “menjaga waktu”nya.
One micro-instruction (or set of parallel microinstructions) per clock cycle
Disebut clock cycle time atau processor cycle time
Instruction register
Op-code instruksi saat itu digunakan untuk
menentukan operasi mikro mana yang akan
dilakukan selama siklus eksekusi
Control Signals – Input (2)
Flags
Flag diperlukan untuk menentukan status CPU dan
hasil sebelumnya yang diperoleh dari operasi-operasi
ALU.
From control bus
Interrupts
Acknowledgements
Control Signals - output
Within CPU (Sinyal Kontrol dalam CPU)
Cause data movement (dari satu register ke register
lainya)
Activate specific ALU functions
Via control bus (Sinyal Kontrol bagi Bus Kendali)
To memory
To I/O modules
Example Control Signal
Sequence - Fetch
MAR <- (PC)
Control unit activates signal to open gates between
PC and MAR
MBR <- (memory)
Open gates between MAR and address bus
Memory read control signal
Open gates between data bus and MBR
Organisasi Internal CPU
Biasanya menggunakan susunan bus single
internal
Gates mengontrol perpindahan data dari setiap
register dari dan ke bus
Control signals mengontrol perpindahan data
dari dan ke bus sistem (eksternal) dan operasi
ALU
Temporary registers needed for proper
operation of ALU
Organisasi Internal CPU
Penggunaan lintasan data memudahkan layout
interkoneksi dan kontrol CPU
Pemakaian bus internal  menghemat ruang
(secara fisik)
Hardwired Implementation (1)
Mengontrol input-input unit
Flag dan sinyal-sinyal kontrol bus
Umumnya, tiap bit memiliki arti tertentu.
Instruction register
Unit control menggunakan op-code dan tiap op-code
akan melakukan aksi yang berbeda (sejumlah kombinasi
sinyal-sinyal kontrol) instruksi berlainan
Input logika unik bagi setiap op-code
Decoder mengambil input yang didekode dan
menghasilkan sebuah output
Umumnya, dekoder memiliki n input biner and 2n outputs
biner
Hardwired Implementation (2)
Clock
Mengeluarkan rangkaian pulsa yang berulang-ulang
Berguna untuk mengukur durasi operasi mikro
Harus cukup panjang untuk memungkinkan
terjadinya perambatan sinyal di sepanjang lintasan
data dan merambat ke rangkaian CPU.
Sinyal kontrol yang berlainan dalam satuan waktu
yang berbeda pada sebuah siklus instruksi
tunggalnya
Dibutuhkan penghitung sebagai input bagi unit
kontrol dengan input kontrol yang berbeda untuk tiap
satuan waktunya.
Problems With Hard Wired
Designs
Complex sequencing & micro-operation logic
Difficult to design and test
Inflexible design
Difficult to add new instructions