2. Operasi Unit Kendali
Unit kendali (bahasa Inggris: Control Unit - CU) adalah
salah satu bagian dari CPU yang bertugas untuk
memberikan arahan/kendali/ kontrol terhadap operasi yang
dilakukan di bagian ALU (Arithmetic Logical Unit) di dalam
CPU tersebut. Output dari CU ini akan mengatur aktivitas
dari bagian lainnya dari perangkat CPU tersebut.
3. Macam-macam Control Unit
Single-Cycle CU
Proses di CUl ini hanya terjadi dalam satu clock
cycle, artinya setiap instruksi ada pada satu cycle, maka
dari itu tidak memerlukan state.
Dengan demikian fungsi boolean masing-masing
control line hanya merupakan fungsi dari opcode saja.
Clock cycle harus mempunyai panjang yang sama untuk
setiap jenis instruksi.
4. Multi-Cycle CU
Berbeda dengan unit kontrol yang single-cycle, unit
kontrol yang multi-cycle lebih memiliki banyak fungsi.
Dengan memperhatikan state dan opcode, fungsi
boolean dari masing-masing outputcontrol line dapat
ditentukan. Masing-masingnya akan menjadi fungsi dari
10 buah input logic. Jadi akan terdapat banyak fungsi
boolean, dan masing-masingnya tidak sederhana. Pada
cycle ini, sinyal kontrol tidak lagi ditentukan dengan
melihat pada bit-bit instruksinya. Bit-bit opcode
memberitahukan operasi apa yang selanjutnya akan
dijalankan CPU; bukan instruksi cycle selanjutnya
5. Dua tugas dasar unit control:
Pengurutan:
unit control menyebabkan prosesor menuju sejumlah
operasi mikro dalam urutan yang benar, yang
didasarkan pada program yang sedang dieksekusi.
Eksekusi:
unit control menyebabkan setiap operasi mikro
dilakukan.
6.
Eksekusi instruksi melibatkan rangkaian sub-langkah yg
disebut siklus. Setiap siklus terdiri atas rangkaian
operasi fundamental yg disebut operasi mikro.
Unit Kontrol memiliki 2 tugas:
Membuat processor melakukan operasi mikro pada urutan yg
sesuai yg ditentukan oleh program
Menghasilkan sinyal kontrol yg menyebabkan setiap operasi
mikro bisa dieksekusi
Sinyal kontrol yg dihasilkan oleh unit kontrol akan
mempengaruhi logic gate shg data dapat berpindah.
Teknik untuk menerapkan unit kontrol dapat dilakukan
sebagai implementasi Hardwire atau implementasi
Termikroprogram
7. 1. Operasi-operasi Mikro Meliputi
siklus-siklus Interuksi
Setiap satu instruksi dapat dianggap sbg susunan
sejumlah satuan siklus yg lebih kecil, misal (Fetch–
execute di pipeline). Setiap satuan siklus kecil tersebut
terdiri dari langkah2 operasi mikro
Kata mikro mengacu pada fakta bahwa tiap langkah
adalah sederhana dan akan menyelesaikan operasi
terkecil
Operasi mikro merupakan operasi prosessor yang
fungsional dan atomic.
9. op. Siklus Fetch
Contoh Siklus Fetch:
Saat awal PC berisi 1100100
Memindahkan alamat ke MAR
Bus Alamat mengandung
alamat yg disimpan di MAR
Unit kontrol mengeluarkan
perintah READ pada kontrol
bus. Hasilnya muncul di bus
data dan disalin ke MBR
Untuk menyiapkan instruksi
berikutnya PC dinaikkan 1
Lankah terakhir adalah
memindahkan isi MBR ke IR
Dengan demikian siklus
Fetch sederhana sebenarnya
terdiri atas 3 langkah dan 4
operasi mikro
Secara simbolik dapat ditulis
sbb:
t1: MAR <-- (PC)
t2:
MBR <-- Memory
PC <-- (PC) + I
t3: IR <-- (MBR)
t1,t2 dan t3 mrpk unit waktu
yg berdurasi sama &
berurutan
11. op. Siklus Fetch tak langsung
Operasi mikro sederhana untuk siklus fetch tidak langsung:
t1: MAR <-- (IR (alamat))
t2: MBR <-- Memory
t3: IR (alamat) <--( MBR (alamat))
Bidang alamat instruksi dipindahkan ke MAR
Bidang alamat tersebut digunakan untuk mengambil
alamat operand
Alamat IR diperbaharui oleh MBR sedemikian shg berisi
alamat langsung bukannya alamat tak langsung
12. op.
Siklus Interupsi
Diakhir siklus eksekusi akan terjadi pengujian apakah
ada interupsi, bila ada interupsi maka terjadilah siklus
interupsi
Conoth Operasi mikro siklus interupsi serdernaha:
t1: MBR <-- (PC)
t2: MAR <-- Alamat_simpan
PC <--- Alamat_rutin
t3: Memory <-- (MBR)
Isi PC ditransfer ke MBR
MAR kemudian dimuati oleh alamat isi PC yg akan
disimpan. PC akan dimuati awal rutin pengolahan
interupsi.
Menyimpan MBR yg berisi isi PC yg lama ke dalam
memori
13. op. Siklus Eksekusi
Siklus Eksekusi merupakan
siklus yg tidak mudah untuk
diprediksi dng demikian diambil
contoh:
ADD R1, X
operasi mikro yg terjadi:
t1: MAR<--IR(alamat)
t2: MBR<--Memory
t3: R1<--R1+MBR
operasi diatas mrpk op. yg
sangat sederhana, masih
dibutuhkan beberapa op. lagi
untuk menyimpan result ke
memory
Contoh lain eksekusi branch
and save address pd instruksi:
BSA X
Alamat instruksi yg berada
setelah instruksi BSA
disimpan di lokasi X. Dan
eksekusi dilanjutkan pada
lokasi X+1
op. nya:
t1: MAR<--(IR (Alamat))
MBR<--(PC)
t2: PC<--(IR (Alamat))
memory<--(MBR)
t3: PC<--(PC) + I
14. op. Siklus Instruksi
Jadi setiap fase siklus instruksi akan diuraikan menjadi
rangkaian op. elementer.
Seluruh rangkaian op. dapat digambarkan secara utuh
dgn mengandaikan register 2-bit yg berisi ICC
(Instruction Code Cycle):
00: Fetch
01: Indirect Fetch
10: Eksekusi
11: Interupsi
Siklus tidak langsung selalu diikuti siklus eksekusi.
Siklus Interupsi selalu diikuti siklus fetch
Diagram dibawah menggambarkan rangkaian
op. lengkap yg hanya tergantung rangkain instruksi dan
pola interupsi
16. 2. Kontrol Prosessor
Definisi fungsional dari tentang apa yang
dilakukan oleh unit kontrol adalah:
Pengurutan: unit kontrol menyebabkan
prosessor menuju sejumlah operasi mikro
dalam urutan yg benar berdasarkan pada
program yang sedang dieksekusi
Eksekusi: Unit kontrol menyebabkan setiap
operasi mikro dilakukan
Cara unit kontrol beroperasi yaitu dengan
menggunakan sinyal-sinyal kontrol
17. Sinyal Kontrol
Spesifikasi eksternal: Dalam melaksanakan
fungsinya, Unit Kontrol harus memiliki input yg
memungkinkan untuk mengetahui status sistem dan
memiliki output yg dapat mengatur prilaku sistem
Spesifikasi internal: Unit kontrol harus memiliki logika yg
diperlukan untuk membentuk fungsi pengurutan dan
fungsi eksekusinya
Elemen2 sinyal kontrol:
Sinyal yg mengaktivasi fungsi-fungsi ALU
Sinyal yg mengaktivasi alur-alur data
Sinyal pd bus sistem eksternal atau interface lainnya
18. Model Unit Kontrol
Register Instruksi
Sinyal Kontrol
dalam CPU
Flag
Unit
Kontrol
Sinyal Kontrol
dari bus sistem
Clock
Sinyal Kontrol
pd bus sistem
Bus Kontrol
19. Input Unit Kontrol
Unit kontrol mempunyai beberapa input, diantaranya:
Clock: berfungsi untuk sinkronisasi operasi antar
komponen
Flag: flag-flag ini diperlukan unit kontrol untuk
mengetahui status CPU. Flag diset ALU sebagai hasil
dari suatu operasi, misalnya: overflow flag, diset 1 bila
hasil komputasi melampaui panjang register tempat flag
disimpan.
Instruction register: menggunakan opcode untuk
menentukan operasi mikro yang akan dilakukan selama
siklus eksekusi
Sinyal kontrol dari ”bus control”: memberi jalur ke unit
kontrol untuk sinyal-sinyal tertentu, seperti sinyal
interrupt dan sinyal acknowledgment
21. Implementasi Hardwired
Unit kontrol merupakan rangkaian kombinatorial. Sinyalsinyal logika inputnya akan didekodekan menjadi sinyalsinyal logika output, yang merupakan sinyal-sinyal
kontrol ke sistem komputer. Sinyal-sinyal input
tersebut, seperti clock, flag, register instruction, dan
sinyal kontrol merupakan input bagi unit kontrol untuk
mengetahui status komputer. Sinyal keluaran yang
dihasilkan akan mengendalikan sistem kerja komputer.
N buah input biner akan menghasilkan 2N output biner.
Setiap instruksi memiliki opcode yang berbeda beda.
Opcode yang berbeda dalam instruksi akan
menghasilkan sinyal kontrol yang berbeda pula. Pewaktu
unit kontrol mengeluarkan rangkaian pulsa yang
periodik.
22.
Pulsa waktu ini digunakan untuk mengukur durasi setiap
operasi mikro yang dijalankan CPU, intinya digunakan
untuk sinkronisasi kerja masing-masing bagian.
Masalah dalam Merancang Implementasi
Hardwired:
Memiliki kompleksitas dalam pengurutan dan operasi
mikronya
Sulit didesain dan dilakukan pengetesan
Tidak fleksibel
Sulit untuk menambahkan instruksi baru
23.
24. A Matrix of Times at which Each Control Signal Must Be Active in
Order to
Execute the Hard-wired Basic Computer's Instructions
Control Signal:
IP LP EP LM R
S EU LB
W
LD
ED
LI
EI
LA
EA
A
Instruction:
---------------------------------------------------------------------------"Fetch"
T2
LDA
T3
STA
T3
MBA
T0
T4
T0
T1
T5
T5 T4
T3
T4
SUB
T4
JN
T3
T3
ADD
JMP
T2
T3
T3*NF
T2
T5
T4
T3
T3
T4
T3 T4
T3
T3*NF
25. Implementasi Microprogrammed
Implementasi yang paling reliabel saat ini adalah
implementasi microprogrammed. Unit kontrol
memerlukan sebuah memori untuk menyimpan program
kontrolnya.
Fungsi–fungsi pengontrolan dilakukan berdasarkan
program kontrol yang tersimpan pada unit kontrol. Selain
itu, fungsi–fungsi pengontrolan tidak berdasarkan
dekode dari input unit kontrol lagi.
Teknik ini dapat menjawab kesulitan–kesulitan yang
ditemui dalam implementasi hardwired.
26. Unit Kontrol Termikroprogram
Set instruksi mikro disimpan
didalam memori kontrol
Register alamat kontrol berisi
alamat instruksi mikro berikut yg
akan dibaca
Ketika instruksi mikro dibaca
dari memori kontrol, instruksi
tersebut dipindahkan ke register
buffer kontrol
Sequence logic memuatkan
register alamat kontrol dan
mengelarkan instruksi read
27. Unit Kontrol Termikroprogram ...
Untuk mengeksekusi instruksi
SL mengeluarkan read ke CM
Word yg terbaca dng alamat
dari CAR akan ditransfer dari
CM ke CBR
Isi dari CBR menghasilkan
sinyal kontrol & informasi
alamat berikutnya untuk
menuntun SL
SL akan memuat sebuah
alamat baru ke CAR
berdasarkan informasi dari
CBR dan ALU flag
Semua kejadian diatas terjadi
selama 1 pulsa clock
28. Kelebihan dan Kekurangan
pada unit Kontrol Termikroprogram
Kelebihan:
Dapat menyederhanakan perancangan unit kontrol
Lebih murah dan lebih sedikit kesalahan yg bisa
terjadi pada saat implementasi
Penerapan Sequence Logic dan Dekoder merupakan
bagian logika yg mudah daripada unit kontrol
hardwire yg merupakan circuit logic yg sangat
kompleks .
Kekurangan
Unit Termikroprogram akan lebih lambat daripada unit
hardwired
Teknik ini banyak pada CISC dan unit kontrol
hardwired lebih digunakan pada RISC
29. Eksekusi Instruksi Mikro
Pada dasarnya eksekusi
ini adalah untuk
menghasilkan sinyalsinyal kontrol
Sebagian sinyal-sinyal
tersebut menuju ke dalam
CPU dan sebagian lagi ke
bus kontrol eksternal atau
antarmuka eksternal
lainnya
30. Aplikasi Pemrograman Mikro
Semenjak pemrograman mikro populer di th 1960 maka
terdapat banyak variasi implementasi.
Aplikasi tsb meliputi:
Realisasi Komputer
Emulasi : mengemulasi mesin lain
Dukungan sistem operasi: peningkatan kinerja dng implementasi
bentuk2 primitif untuk menggantikan bagian penting software SO
Realisasi spesial equipment: Card modem, dsg
Dukungan bahasa tingkat tinggi: Jenis yg dapat langsung
diterapkan pada firmware Cobol, Foltran
Dianostic mikro: firmware untuk mendukung
pengawasan, pendeteksian, isolasi dan perbaikan kesalahan
sistem
Penyesuaian pemakai: memori kontrol pd RAM bukan ROM shg
user dapat melakukan program mikro sesuai dengan keperluan
user tsb.