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
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.
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.
Sumber : Wikipedia.com
Tidak ada komentar:
Posting Komentar