Unit Kontrol

Download Report

Transcript Unit Kontrol

ORGANISASI & ARSITEKTUR KOMPUTER
2
UNIT CONTROL
IBP WIDJA, MT
Pendahuluan


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
Operasi Mikro



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.
Elemen2 Eksekusi Program
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

Urutan Event op.Siklus Fetch
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
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
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
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
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
11 (interupsi)
Interupsi
Setup
ICC=00
ICC ?
Baca
Alamat
Opcode?
Eksekusi Instruksi
ya
ICC=11
Interupsi
?
00 (fetch)
Mengambil
Instruksi
ICC=10
tidak
tidak
ICC=00
ICC=10
Pengalamatan
tak langsung ?
ya
ICC=01
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
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
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
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
Output Sinyal Kontrol
1. Sinyal kontrol di dalam CPU (control signals within CPU):
output unit kontrol terdiri dari dua macam sinyal, yaitu:

Sinyal-sinyal yang dapat mengaktifkan fungsi ALU
yang spesifik

sinyal-sinyal yang menyebabkan perpindahan data
antar register
2. Sinyal kontrol ke ”bus control” juga terdiri atas 2 sinyal,
yaitu.

sinyal kontrol ke memori

sinyal kontrol ke modul-modul I/O
Implementasi Unit Kontrol


Implementasi Hardwired
Implementasi Microprogrammed
Implementasi Hardwired




Unit kontrol merupakan rangkaian kombinatorial. Sinyal-sinyal
logika inputnya akan didekodekan menjadi sinyal-sinyal 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.
Pulsa waktu ini digunakan untuk mengukur durasi setiap
operasi mikro yang dijalankan CPU, intinya digunakan untuk
sinkronisasi kerja masing-masing bagian.
Implementasi Hardwired...

Masalah dalam Merancang Implementasi
Hardwired:




Memiliki kompleksitas dalam pengurutan dan
operasi mikronya
Sulit didesain dan dilakukan pengetesan
Tidak fleksibel
Sulit untuk menambahkan instruksi baru
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 W LD ED LI EI LA EA A S EU LB
Instruction:
----------------------------------------------------------------------------"Fetch"
T2
T0 T0 T1
LDA
T3 T4
STA
T3
T5 T4
T2 T2
T5
T3 T5
T3
MBA
T3
ADD
T4
SUB
T4
JMP
JN
T4
T3
T3*NF
T3
T3*NF
T3
T3
T4
T3 T4
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.
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
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
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
Eksekusi Instruksi Mikro


Pada dasarnya
eksekusi ini adalah
untuk menghasilkan
sinyal-sinyal kontrol
Sebagian sinyalsinyal tersebut
menuju ke dalam
CPU dan sebagian
lagi ke bus kontrol
eksternal atau
antarmuka eksternal
lainnya
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.
end of slide