Unit Kendali Logika atau Control Logic Unit adalah bagian yang mengatur seluruh aktivitas perangkat keras di dalam komputer. CLU menyebabkan suatu instruksi dapat diambil dari memori, memberi kode pada instruksi tersebut untuk menentukan operasi yang akan dilaksanakan, menentukan sumber dan tujuan data, dan menyebabkan perpindahan data dan eksekusi operasi yang diperlukan. CLU menjalankan seluruh proses sampai sebuah operasi HALT secara tiba-tiba masuk ke dalam program dan dieksekusi.
Kode instruksi
bersama data, tersimpan di dalam memori. Sebuah instruksi merupakan entitas
kompleks yang pelaksanaannya tidak dapat diselesaikan dalam satu waktu/putaran.
Karena itu setelah menginterpretasikan kode biner suatu instruksi, CLU
menghasilkan serangkaian perintah kendali yang disebut sebagai instruksi-mikro
(microinstruction) yang menjalankan instruksi tersebut. Untuk membedakan sebuah
instruksi dan sebuah instruksi-micro, seringkali instruksi-instruksi disebut
sebagai instruksi-makro (macroinstruction).
Durasi siklus eksekusi
tergantung pada jenis operasi yang akan dikerjakan, mode pengalamatan data yang
digunakan dan jumlah operand yang diperlukan. CLU mengerjakannya dengan membagi
setiap siklus instruksi menjadi serangkaian keadaan (state), setiap state
mempunyai panjang yang sama dan durasi setiap state sama dengan periode
clock/siklus komputer.
Instruksi-mikro merupakan
operasi primitif tingkat rendah yang bertindak secara langsung pada sirkuit
logika suatu komputer. Mereka memerinci fungsi-fungsi (sinyal-sinyal) seperti
berikut:
1. Membuka/menutup suatu gerbang (gate) dari sebuah
register ke sebuah BUS.
2. Mengirim data sepanjang sebuah BUS.
3. Memberi inisial sinyal-sinyal kendali seperti READ,
WRITE, SHIFT, CLEAR dan SET.
4. Mengirimkan sinyal-sinyal waktu.
5. Menunggu sejumlah periode waktu tertentu.
6. Menguji bit-bit tertentu dalam sebuah register.
Ada dua pendekatan pokok
bagi perancangan sebuah CLU yaitu: rancangan hard-wire (atau logika
acak) dan rancangan microprogrammed.
Pada pendekatan hard-wired
sejumlah gerbang (gate), counter, dan register saling
dihubungkan untuk menghasilkan sinyal-sinyal kendali, setiap rancangan
memerlukan piranti logika dan hubungan yang berbeda-beda. Pada pendekatan microprogrammed
untuk setiap instruksi-mikro disebut sebagai sebuah program-mikro, untuk setiap
instruksi-mikro dan disimpan dalam sebuah memori kendali (biasanya ROM) dalam
CLU. Kemudian waktu yang diperlukan dan kendali dihasilkan dengan menjalankan
suatu program-mikro untuk masing-masing instruksi-makro.
KENDALI
HARD-WIRED
Sewaktu sebuah instruksi ditempatkan dalam
register instruksi (IR atau Instruction Register), CLU mendekode
instruksi itu dan menghasilkan serangkaian instruksi-mikro. Sebagai contoh
suatu komputer yang mempunyai 16 instruksi, sehingga setiap instruksi dapat
diberi kode dengan sebuah opcode 4 bit yang unik, sisa word instruksi
berisi informasi pengalamatan yang penting seperti register-register yang
terlibat, alamat-alamat memori dan offset). Mneumonic-nya diperlihatkan
sebagai berikut:
LDR (Load register
dari memori)
LDM (Load memori dari
suatu register)
ADR (Add ke register)
BRU (Branch/percabangan
tidak kondisional)
BRZ (Branch/percabanan
pada nol)
KENDALI MICROPROGRAMMED
Istilah program-mikro pertama kali diungkapkan
oleh M.V Wilkes pada awal tahun 1950-an ketika dia mengajukan suatu pendekatan
baru untuk mengendalikan perancangan unit. Ide ini menarik perhatian banyak
ahli dan insinyur komputer pada saat itu, walaupun hal itu tampak tidak
realistis karena adanya persyaratan untuk memori kendali yang sangat cepat dan
relatif tidak mahal. Situasi ini berubah secara dramatis dengan adanya
pengumuman keluarga komputer IBM System/360 pada bulan April 1964. Seluruh
model terbesar menyertakan memori kontrol yang cepat dan tidak mahal dan
merupakan microprogrammed. Sejak itu, pemrograman mikro menjadi hal yang
umum sejalan dengan peningkatan kecepatan dan penurunan harga memori kontrol.
l Organisasi CLU Microprogrammed
Instruksi-makro disimpan dalam memori utama dan diakses
melalui memory address register (MAR) dan memory buffer register (MBR).
Instruksi diambil (fetch) ke dalam register instruksi (IR atau instruction
register) dan pengendali-mikro (microcontroller atau sequencer)
yang bersesuaian. Alamat awal program-mikro dimuat (load) ke dalam
kendali alamat register (CAR atau Control Address Register) dan kemudian
kendali memori mengirim instruksi-mikro pertama ke dalam kendali penyangga
register (CBR atau Control Buffer).
l Komponen-Komponen Pokok Control Unit
Microprogrammed
1. Instruction
Register
Menyimpan instruksi register mesin yang dijalankan.
2. Control
Store berisi microprogrammed
a)
Untuk semua instruksi mesin.
b)
Untuk startup mesin.
c)
Untuk memprosesan interupt
3. Address
Computing Circuiting
Menentukan alamat Control Store dari mikroinstruksi
berikutnya yang akan dijalankan.
4. Microprogrammed
Counter
Menyimpan alamat dari
mikroinstruksi berikutnya.
5. Microinstruction
Buffer
Menyimpan mikroinstruksi
tersebut selama dieksekusi.
6. Microinstruction
Decoder
Menghasilkan dan mengeluarkan
mikroorder yang didasarkan pada mikroinstruksi dan opcode
instruksi yang akan dijalankan
Format Instruksi-mikro
Pada dasarnya ada dua jenis format instruksi-mikro:
horisontal dan vertikal. Pada format instruksi-mikro horisontal, satu bit
diberikan untuk setiap sinyal logika yang dapat dihasilkan oleh
instruksi-mikro. Dengan demikian, jika dibutuhkan sejumlah K sinyal
kendali yang berbeda maka dibutuhkan instruksi-mikro dengan word sepanjang K
bit. Untuk menghasilkan suatu sinyal tertentu, bit yang bersesuaian dalam
instruksi mikro diatur menjadi 1, kehadiran suatu sinyal kendali diindikasikan
dengan menempatkan sebuah nol pada posisi bit yang semestinya. Pendekatan ini
mempunyai keuntungan bahwa kita dapat menghasilkan sebanyak mungkin sinyal
kendali yang diperlukan secara beruntun, yang memungkinkan operasi yang sangat
cepat.
Namun demikian kebanyakan operasi-mikro adalah mutual
ekslusif dan tidak pernah dipanggil secara bersamaan. Karena itu, kita dapat
membagi mereka ke dalam kelompok-kelompok dan menggunakan sejumlah bit (field)
untuk memberi kode sekumpulan intruksi-mikro yang mutual ekslusif. Kemudian
digunakan suatu dekoder untuk memilih operasi mikro tertentu yang akan
dipanggil. Jika terbawa ke dalam ekstrem (hanya satu field) maka proses
mengode (coding) dan mendekode (decoding) menghasilkan suatu
format instruksi-mikro vertikal, dimana hanya ada satu operasi-mikro yang
dipanggil pada suatu waktu. Karena itu instruksi-mikro vertikal menyerupai
format sebuah interuksi-makro dan terdiri atas suatu kode operasi tunggal,
disebut sebagai opecode mikro, satu operand atau lebih, dan berberapa field
lain (misalnya untuk percabangan kondisional).
KEUNTUNGAN PEMROGRAMAN-MIKRO
Kendali microprogrammed menawarkan suatu
pendekatan yang lebih terstruktur untuk merancang unit kendali logika (CLU)
dibandingkan dengan kendali hard-wired.
1.
Rancangan microprogrammed
relative mudah diubah-ubah dan dibetulkan
2.
Menyediakan kemampuan
diagnostic yang lebih baik dan lebih dapat diandalkan daripada rancangan
hard-wired
3.
Utilisasi memori utama dalam
computer microprogrammed biasanya lebih baik Karena perangkat lunak yang
seharusnya menggunakan ruang memori utama justru ditempatkan pada memori
kendali
4. Pengembangan ROM lebih lanjut(dalam kaitan dengan harga dan waktu akses) secara lebih jauh justru menguatkan posisi dominant pemrograman mikro, salah satunya dengan menyertakan unit memori ketiga disebut sebagai nano-memory (tambahan bagi memori utama dan memori kendali). Dalam mengerjakan hal ini, mungkin terjadi pertukaran (trade-off) yang menarik antara pemrograman mikro horisontal dan vertikal

No comments:
Post a Comment