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