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:
- Mengatur dan mengendalikan alat-alat input dan output.
- Mengambil instruksi-instruksi dari memori utama.
- Mengambil data dari memori utama kalau diperlukan oleh proses.
- Mengirim instruksi ke ALU bila ada perhitungan aritmatika atau perbandingan logika serta mengawasi kerja.
- Menyimpan hasil proses ke memori utama.
Macam-macam CU :
1. 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-decode opcode
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.
2. 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 output control 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.
Posting Komentar