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.
Pada awal-awal desain komputer,
CU diimplementasikan sebagai ad-hoc
logic yang
susah untuk didesain. Sekarang, CU diimplementasikan sebagai sebuah microprogram yang disimpan di dalam tempat
penyimpanan kontrol (control store).
Beberapa word dari microprogram dipilih oleh microsequencer dan bit yang datang dari word-word tersebut akan secara langsung
mengontrol bagian-bagian berbeda dari perangkat tersebut, termasuk di antaranya
adalah register,
ALU, register instruksi, bus dan peralatan input/output di
luar chip. Pada komputer modern,
setiap subsistem ini telah memiliki kontrolernya masing-masing, dengan CU
sebagai pemantaunya (supervisor).
Tugas
CU
Tugas dari CU adalah
sebagai berikut:
1.
Mengatur dan mengendalikan alat-alat input dan output.
2.
Mengambil instruksi-instruksi dari memori utama.
3.
Mengambil data dari memori utama kalau diperlukan oleh
proses.
4.
Mengirim instruksi ke ALU bila ada perhitungan
aritmatika atau perbandingan logika serta mengawasi kerja.
5.
Menyimpan hasil proses ke memori utama.
Macam-macam
CU
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. Ada dua bagian pada unit kontrol ini, yaitu
proses men-decodeopcode untuk
mengelompokkannya menjadi 4 macam instruksi (yaitu di gerbang AND), dan
pemberian sinyal kontrol berdasarkan jenis instruksinya (yaitu gerbang OR).
Keempat jenis instruksi adalah “R-format” (berhubungan dengan register), “lw”
(membaca memori), “sw” (menulis ke memori), dan “beq” (branching).
Sinyal kontrol yang dihasilkan bergantung pada jenis instruksinya. Misalnya
jika melibatkan memori ”R-format” atau ”lw” maka akan sinyal ”Regwrite” akan
aktif. Hal lain jika melibatkan memori “lw” atau “sw” maka akan diberi sinyal
kontrol ke ALU, yaitu “ALUSrc”. Desain single-cycle ini lebih dapat bekerja dengan
baik dan benar tetapi cycle ini tidak efisien.
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.
Macam register yang digunakan:
- Register alamat memori (MAR): dihubungkan dengan saluran alamat bus system. MAR menerapkan alamat didalam memori untuk operasi membaca dan menulis.
- Register buffer memori (MBR): dihubungkan dengan saluran data bus system. MBR berisi nilai yang akan disimpan di memori atau nilai terakhir yang dibaca dari memori.
- Program counter (PC); menampung alamat instruksi berikutnya yang akan diambil.
- Register instruksi (IR); menampung instruksi terakhir yang diambil.
Proses tiga langkah karakteristik unit control:
- Menentukan elemen dasar prosesor
- Menjelaskan operasi mikro yang akan dilakukan prosesor
- Menentukan fungsi-fungsi yang harus dilakukan unit control agar menyebabkan pembentukan operasi mikro
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.
Masukan-masukan unit control:
Clock/pewaktu:
pewaktu adalah cara unit control dalam menjaga waktunya. Unit control
menyebabkan sebuah operasi mikro (atau sejumlah operasi mikro yang bersamaan)
dibentuk bagi setiap pulsa waktu. Pulsa ini dikenal sebagai waktu siklus
prosesor.
Register instruksi:
opcode instruksi saat itu digunakan untuk menentukan operasi mikro mana yang
akan dilakukan selama siklus eksekusi.
Flag:
flag ini diperlukan oleh unit control untuk menentukan status prosesor dan
hasil operasi ALU sebelumnya.
Sinyal control untuk mengontrol
bus. Bagian bus control bus system memberikan
sinyal-sinyal ke unit control, seperti sinyal-sinyal interupsi dan
acknowledgement.
Keluaran-keluaran unit control:
- Sinyal control didalam prosesor: terdiri dari dua macam: sinyal-sinyal yang menyebabkan data dipindahkan dari register yang satu keregister yang lainnya, dan sinyal-sinyal yang dapat mengaktifasi fungsi-fungsi ALU tertentu.
- Sinyal control bagi bus control; sinyal ini juga terdiri dari dua macam: sinyal control bagi memori dan sinyal control bagi modu-modul I/O
Terdapat tiga macam sinyal control:
· Sinyal-sinyal yang mengaktifasi fungsi ALU
· Sinyal-sinya yang mengaktifasi alur data
· Sinyal-sinyal pada bus system eksternal atau antar
muka eksternal lainnya.
Sinyal control yang dhasilkan oleh unit control
menyebabkan terbuka dan tertutupnya gerbanga logika, dihasilkan pada
perpindahan data dank e register dan operasi ALU.
Model
Unit Control
Unit kontrol menghasilkan signal kontrol yang mengatur
komputer. Untuk komputer yang sangat sederhana,unit control ini bisa mengirim
microorder,yakni signal individual yang dikirimkan melalui jalur kontrol
dedicated,untuk mengontrol komponen dan peralatan individual.
Yang
lebih umum dilakukan oleh unit control adalah menghasilkan set
mikroorder secara serempak dari pada microorder individual.set mikrooder yang
dihasilkan oleh unit kontrol pada sekali saat disebut microinstruction.
1. Operasi Mikro
Unit kendali logika ( Control Logic Unit ) bertugas untuk mengatur seluruh aktifitas perangkat keras di dalam komputer.
CLU bertugas untuk :
1. Memfetch suatu instruksi dari memori
2. Memberi kode pada instruksi untuk menentukan operasi mana yang akan dilaksanakan
3. Menentukan sumber dan tujuan data di dalam perpindahan data
4. Mengeksekusi operasi yang dilakukan
Unit kendali logika ( Control Logic Unit ) bertugas untuk mengatur seluruh aktifitas perangkat keras di dalam komputer.
CLU bertugas untuk :
1. Memfetch suatu instruksi dari memori
2. Memberi kode pada instruksi untuk menentukan operasi mana yang akan dilaksanakan
3. Menentukan sumber dan tujuan data di dalam perpindahan data
4. Mengeksekusi operasi yang dilakukan
Setelah
menginterpretasi kode biner suatu instruksi, CLU menghasilkan serangkaian
perintah kendali, yang disebut sebagai instruksi mikro (microinstruction ) atau
operasi mikro.
Instruksi
mikro merupakan operasi primitif tingkat rendah yang bertindak secara langsung
pada sirkuit logika suatu komputer dan mengatur fungsi-fungsi sebagai berikut :
1. Membuka/menutup suatu gerbang ( gate ) dari sebuah register ke sebuah bus
2. Mentransfer data sepanjang 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
1. Membuka/menutup suatu gerbang ( gate ) dari sebuah register ke sebuah bus
2. Mentransfer data sepanjang 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
2. Perancangan CLU
Terdapat 2 pendekatan dalam perancangan CLU, yaitu :
1. Hardwired atau Random Logic
Sejumlah gerbang ( gate ), counter dan register saling dihubungkan untuk menghasilkan sinyal-sinyal kendali. Setiap rancangan memerlukan sekelompok peranti logika dan hubungan yang berbeda-beda.
Terdapat 2 pendekatan dalam perancangan CLU, yaitu :
1. Hardwired atau Random Logic
Sejumlah gerbang ( gate ), counter dan register saling dihubungkan untuk menghasilkan sinyal-sinyal kendali. Setiap rancangan memerlukan sekelompok peranti logika dan hubungan yang berbeda-beda.
2. Microprogrammed
Control
Dibentuk serangkaian instruksi mikro ( program mikro ) yang disimpan dalam sebuah memori kendali ( biasanya sebuah ROM ) dalam CLU. Waktu yang diperlukan dan sinyal kendali yang dihasilkan didapat dengan menjalankan suatu program mikro
Dibentuk serangkaian instruksi mikro ( program mikro ) yang disimpan dalam sebuah memori kendali ( biasanya sebuah ROM ) dalam CLU. Waktu yang diperlukan dan sinyal kendali yang dihasilkan didapat dengan menjalankan suatu program mikro
Microinstruction decoder
menghasilkan dan mengeluarkan mikroorder yang di dasarkan pada mikrointruksi
dan op code intruksi yang akan di jalankan .yang terakhir sequncer
menyinkronkan aktivitas dari komponen unit kontrol.squencer adalah bagian inti
(jantung) dari unit control.dia mempunyai dua mode operasi yang berbeda yaitu:
a. Operasi biasa
Selama operasi biasa (ordinary operation ),squencer
menghasilkan signal kontrol yang mengatur unit kontrol
b. Start up mesin
Selama start up mesin ,unit kontrol memunculkan dan
menandai berbagai macam register
3. Organisasi CLU Microprogrammed
Instruksi di-fetch kedalam IR dan pengendali mikro menjalankan program mikro yang bersesuaian. Address awal program mikro di-load kedalam CAR(Control Address Register) kemudian memori control mentransfer instruksi mikro pertama ke dalam CBR(Control Buffer Register).
Dengan memfetch sebuah instruksi mikro dari memori
kontrol berarti kita menyatakan sebuah siklus mikro,yaitu waktu di
mana instruksi mikro didecode untuk menghasilkan sinyal kendali yang diperlukan
untuk menjalankannya. CAR secara normal bertambah 1 pada tiap-tiap pulsa
sehingga dapat mengalamati instruksi mikro berikutnya secara berurutan. Namun,
perhatikan bahwa rangkaian tersebut dapat diubah oleh kondisi-kondisi yang
terjadi di dalam atau di luar CLU, yang mungkin menyebabkan pengendali mikro
meningkatkan CAR lebih dari 1. Jika ada operand yang diperlukan untuk suatu
instruksi tertentu maka informasi address dalam IR di-decode untuk melengkapi
lokasi operand.
Dalam microprogrammmed control terdapat dua jenis
format instruksi, yaitu secara :
1. Horizontal
Satu bit diberikan untuk setiap sinyal logika yang dihasilkan oleh instruksi mikro.Jenis implementasi dimana signal kontrol di kode ke dalam pada bit , kemudian digunakan setelah dikode.
1. Horizontal
Satu bit diberikan untuk setiap sinyal logika yang dihasilkan oleh instruksi mikro.Jenis implementasi dimana signal kontrol di kode ke dalam pada bit , kemudian digunakan setelah dikode.
2. Vertikal
Hanya satu operasi mikro yang dipanggil pada suatu
waktu. Control dimana setiap bit control mengatur 1 operasi gate atau mesin.
Komponen-Komponen Pokok Control Unit Microprogrammed
1. Instruction Register
Menyimpan instruksi register
mesin yang dijalankan.
2. Control Store berisi microprogrammed
ü Untuk semua instruksi mesin.
ü Untuk startup mesin.
ü 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
Peralatan pendukung microprogrammmed control adalah :
1. Assembler Mikro
2. Formatter
3. Sistem Pengembangan
4. Simulator Perangkat Keras
1. Assembler Mikro
2. Formatter
3. Sistem Pengembangan
4. Simulator Perangkat Keras
4. Kelemahan Pemrograman Mikro
§ Karena waktu akses memori kendali
ROM menentukan kecepatan operasi CLU maka kendali microprgrammed mungkin
menghasilkan CLU yang lebih lambat dibandingkan dengan kendali hard-wired.
§ Alasannya bahwa waktu yang
diperlukan untuk menjalankan suatu instruksi mikro juga mencakup waktu akses
ROM, Sedangkan, suatu keterlambatan dalam CLU hard-wired hanya mungkin
disebabkan oleh keterlambatan waktu penyebaran melalui perangkat keras, yang
relative sangat kecil. (hard-wired digunakan hanya jika system itu tidak
terlalu kompleks dan hanya memerlukan beberapa operasi kendali).
5. Keuntungan Pemrograman Mikro
§ Rancangan microprogrammed
relative mudah diubah-ubah dan dibetulkan
§ Menyediakan kemampuan diagnostic
yang lebih baik dan lebih dapat diandalkan daripada rancangan hard-wired
§ Utilisasi memori utama dalam
computer microprogrammed biasanya lebih baik Karena perangkat lunak yang
seharusnya menggunakan ruang memori utama justru ditempatkan pada memori
kendali
§ 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
Tidak ada komentar:
Posting Komentar