CONTROL UNIT (CU)
Unit kontrol (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.
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.
CARA KERJA CONTROL UNIT
Bayangkan sebuah orkestra dengan banyak pemain musik, seorang dirijen, sebuah
buku lagu. Pemain musik dapat memainkan alat musik, namun mereka tidak dapat
memainkan lagu dengan harmonis jika tidak diarahkan oleh seorang dirijen. Seorang
dirijen bertugas mengarahkan pemain biola untuk mempertahankan temponya, atau
mengarahkan pemain terompet untuk meniup terompetnya dengan pelan, atau meninta
pemain drum untuk memukul drumnya lebih keras, dsb. Untuk melakukan pengarahan
tersebut, seorang dirijen juga membutuhkan buku lagu sebagai pemandu atau acuan not
yang sedang dimainkan sekaligus petunjuk not yang akan dimainkan berikutnya.
Dalam sebuah CPU, para pemain musik adalah bermacam-macam instruksi yang
dapat dilakukan oleh CPU (misal: operasi perpindahan data, operasi penjumlahan,
operasi logika, dsb). Seperti hal nya para pemusik yang tidak dapat bermain harmonis
tanpa adanya dirijen, operasi-operasi dalam komputer juga tidak dapat bekerja dengan
baik dan benar jika tidak diperintah oleh sebuah Control Unit. Walaupun dapat
mengarahkan, seorang dirijen membutuhkan buku lagu sebagai acuan not yang sedang
dan akan dimainkan. Begitu juga dengan komputer, walaupun memiliki kemampuan
untuk memerintah operasi yang benar, Control Unit tidak dapat bekerja jika tidak
memiliki acuan tentang instruksi apa yang sedang dijalankan dan perintah apa yang
akan dijalankan selanjutnya. Informasi tentang instruksi yang akan dijalankan tersebut
dapat dilihat pada sebuah Instruction Register.
Berikut adalah diagram blok input dan output dari dan ke CU
Input control unit (bertanda panah masuk):
1. Clock / pewaktu
Seluruh instruksi dalam komputer dikerjakan secara sinkron, artinya semua
komponen sistem komputer mengerjakan sebuah instruksi secara bersama-sama
pada sebuah waktu yang sama. Salah satu input CU adalah sinyal clock yang
berfungsi untuk men-sinkron-kan waktu dengan semua komponen sistem
komputer.
2. Instruction Register
Salah satu tugas CU adalah untuk menentukan operasi yang akan dilakukan.
Untuk dapat menentukan operasi apa yang akan dilakukan CU harus mengetahui
instruksi/operasi apa yang sekarang sedang dilakukan. Instruction register
adalah tempat untuk CU memeriksa operasi apa yang saat ini sedang
dilakukan.
3. Flag
Flag adalah tanda yang diperlukan oleh CU untuk mengetahui status prosesor
dan hasil operasi ALU sebelumnya. Status prosesor diperlukan untuk
mengetahui status atau hasil operasi sebuah instruksi agar CU dapat menentukan
instruksi apa yang akan dilakukan selanjutnya.
4. Control signal from control bus
Sinyal dari control bus untuk CU, contoh sinyal yang dikirim adalah sinyal
interupsi dan sinyal acknowledgement. Misalnya ada operasi yang harus
segera dikerjakan oleh CPU dari perangkat I/O (misal: printer kehabisan kertas),
maka perangkat I/O akan mengirim sinyal interupsi ke prosesor melalui control
bus, kemudian control bus akan membawanya ke CU.
Output control unit (bertanda panah keluar):
1. Control signal within CPU (Sinyal control DALAM prosesor)
Sinyal yang dihasilkan CU dan hanya dikirim internal dalam prosesor sendiri (ke
register atau ke ALU). Sinyal ini terdiri dari 2 macam yaitu: 1) Sinyal yang
menyebabkan data dipindahkan dari sebuah register ke register yang lainnya,
2) Sinyal yang dapat mengaktifkan fungsi ALU.
2. Control signal to control bus (Sinyal control untuk bus control)
Sinyal yang dihasilkan CU dan dikirimkan ke komponen di luar prosesor
melalui jalur control bus. Sinyal ini terdiri dari dua macam: sinyal control yang
ditujukan untuk memori (RAM) dan sinyal control yang ditujukan untuk
perangkat I/O.
Metode Pembentukan Sinyal Kontrol
Untuk mengeksekusi sebuah instruksi, CU harus memproduksi sinyal kontrol dengan
urutan yang benar. Ada dua metode yang dapat digunakan untuk memproduksi sinyal
kontrol yang benar, yaitu 1) Metode Hardwired, 2) Metode Micro-programmed.
1. Metode hardwired
Input CU yaitu clock, flag, instruction register, dan control signal from control
bus akan diproses oleh CU sehingga menghasilkan output berupa sinyal kontrol. Cara
CU memproduksi sinyal kontrol pada metode hardwired adalah dengan mengonversi
sinyal-sinyal input tersebut ke dalam serangkaian gerbang logika dan menghasilkan
output berupa sinyal kontrol. Rangkaian gerbang logika ini sudah dirangkai secara
permanen oleh pabrik pembuat prosesor dan tidak dapat diubah-ubah oleh pengguna,
sehingga dinamakan “hardwired”. Berikut karakteristik metode hardwired:
Sinyal kontrol dihasilkan dari sirkuit logika permanen yang berhubungan langsung
dengan ekspresi boolean (true atau false).
Lebih cepat Metode hardwire lebih cepat dibandingkan metode
microprogrammed.
High speed Prosesor yang menggunakan metode hardwired dapat bekerja
dengan kecepatan tinggi (high speed).
Struktur yang rumit Semakin modern prosesor, semakin banyak dan semakin
rumit sirkuit logika yang dibutuhkan, sehingga semakin sulit mengimplementasikan
metode hardwired ini.
Tidak fleksibel jika ada perubahan desain prosesor, maka rangkaian sirkuit
logika pada CU dengan metode hardwired harus diubah juga.
2. 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.
Jadi secara garis besar:
Unit control memerlukan sebuah memori untuk menyimpan program controlnya
Fungsi-fungsi pengontrolan dilakukan berdasarkan program control yang tersimpan
pada unit control
Fungsi-fungsi pengontrolan tidak berdasarkan decode dari input unit control lagi
Teknik ini dapat menjawab kesulitan-kesulitan yang ditemui dalam implementasi
hardwired