Unit kontrol dalam unit operasi

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. 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).

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.
Proses tiga langkah karakteristik unit control:
1. Menentukan elemen dasar prosesor
2. Menjelaskan operasi mikro yang akan dilakukan prosesor
3. Menentukan fungsi-fungsi yang harus dilakukan unit control agar menyebabkan
pembentukan operasi mikro
Masukan-masukan unit control:
1. 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.
2. Register instruksi
Opcode instruksi saat itu digunakan untuk menentukan operasi mikro mana yang akan dilakukan selama
siklus eksekusi.
3. Flag
Flag ini diperlukan oleh unit control untuk menentukan status prosesor dan hasil operasi ALU
sebelumnya.
4. 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.

Control Unit
PENGERTIAN CONTROL UNIT


Control Unit Adalah salah satu bagian dari CPU yang bertugas untuk memberikan
arahan / kendali / kontrol terhadap operasi yangdilakukan 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). Pada hardwire implementation control unit sebagai
combinational circuit yang dibuat berdasarkan control signal yang akan dikeluarkan. Jadi
untuk setiap control signal memiliki rangkaian logika tertentu pada control unit yang
dapat menghasilkan control signal yang dimaksud. Secara umum untuk metode ini
digunakan PLA (programmable logic array) untuk merepresentasikan control signal.
Control unit dari sebuah prosesor memiliki 2 peran penting. Pertama, control unit
mengatur processor agar melakukan semua micro-operation dalam urutan yang benar.
Kedua, control unit menghasilkan control signal yang memastikan supaya semua microoperation dieksekusi.
Control signal tersebut secara umum menyebabkan salah satu dari hal berikut:
pembukaan atau penutupan dari gerbang-gerbang logika, transfer data antara registerregister, dan pengoperasian ALU.
Model general dari sebuah control unit dapat dilihat pada gambar 2 berikut :
Gambar : Model of Control Unit


Dari gambar tersebut dapat dilihat input dan output dari sebuah control unit. Input
dari sebuah control unit adalah :
1.2 Masukan – masukan unit control:
1. Clock / pewaktu
pewaktu adalah cara unit control dalam menjaga waktunya. Unit control
menyebabkan sebuah operasi mikro ( atau sejumslah operasi mikro yang
bersamaan) dibentuk bagi setiap pulsa waktu. Pulsa ini dikenal sebagai waktu
siklus prosesor.
 Aturan untuk pengelompokan siklus waktu (Rules for Clock Cycle Grouping)

��Urutan yang baik harus mengikuti aturan berikut (Proper sequence

must be followed) :
o MAR :
��(PC) harus diikuti dengan MBR
��(memory)

��Harus menghindari terjadinya konflik (Conflicts must be avoided)
o Tidak boleh melakukan pembacaan dan penulisan terhadap register yang sama dan
pada waktu yg bersamaan (Must not read & write same register at same time)

o Aktifitas MBR
��(memory) & aktifitas IR

��(MBR) tidak boleh dilakukan pada siklus yang bersamaan
�� PC harus ditambahkan 1: PC
(PC) +1
o Menggunakan ALU
o Mungkin diperlukan additional micro-operations
2. Register instruksi
opcode instruksi saat itu digunakan untuk menentukan operasi mikro mana yang
akan dilakukan selama siklus eksekusi.
3. Flag
flag ini diperlukan oleh unit control untuk menentukan status prosesor dan
hasil operasi ALU sebelumnya.
4. Sinyal control untuk mengontrol bus
Bagian bus control bus system memberikan sinyal-sinyal ke unit control, seperti
sinyal-sinyal interupsi dan acknowledgement.
1.3 Keluaran-keluaran unit control
1. 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
2. Sinyal control bagi bus control; sinyal ini juga terdiri dari dua macam:
- Sinyal control bagi memori.
- Sinyal control bagi modu-modul I/O

1.4 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 atauperbandingan logika
serta mengawasi kerja.
5. Menyimpan hasil proses ke memori utama.
1.5 Jenis-Jenis Control Unit
1. Single-Cycle CU
Proses di Single-Cycle CU 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 dariopcode saja. Clock cycle harus mempunyai panjang yang sama untuk
setiap jenis instruksi. Ada dua bagian pada unit kontrol ini, yaitu proses mendecode 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 multicycle lebih memiliki banyak fungsi. Dengan memperhatikan state dan opcode,
fungsi
boolean
dari
masing –masing output
control
line dapat
ditentukan masing – masingnyaakan 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-bitopcode memberitahukan operasi apa yang
selanjutnya akan dijalankan CPU.
1.6 TEKNIK UNTUK MENGIMPLEMENTASIKAN CONTROL UNIT
1. Control Unit Microprogrammed
Untuk menggenerasi signal kontrol dengan cara membaca dan mengeluarkan
atau mengalirkan mikroinstruksi.
Terbagi 2 yaitu :
Control Vertikal
Jenis implementasi dimana signal kontrol di kode ke dalam pada bit , kemudian
digunakan setelah dikode.
Control Horizontal
Control dimana setiap bit kontrol mengatur 1 operasi gate atau mesin.
2. Control Unit Konvensional /Hard-Wired
 Untuk menggenerasi signal kontrol.
 Digunakan pada komputer berkinerja tinggi (super komputer) dan RISC
 Komputer Mainframe sering menggunakannya untuk aritmetik, logika dan shift
sederhana dan instruksi akses memori.
 CU Konvensional menghasilkan suatu rangkaian mirointruksi.

2.

 Perbedaannya dengan CU Microprogrammed terletak pada gerbang logikanya
menggenerasi semua mikroorder sehingga eksekusinya lebih cepat.

1.7 CARA KERJA CONTROL UNIT
Ketika sebuah komputer pertama kali diaktifkan power-nya, maka
computer tersebut menjalankan operasi bootstrap. Operasi ini akan membaca
sebuah instruksi dari suatu lokasi memory yang telah diketahui sebelumnya dan
mentransfer instruksi tersebut ke control unit untuk dieksekusi. Instruksi-intruksi
dibaca dari memory dan dieksekusi sesuai dengan urutan penyimpanannya.
Program counter dari suatu computer menyediakan suatu cara untuk
menyimpan lokasi instruksi berikutnya. Urutan eksekusi berubah dengan
memindah lokasi intruksi baru ke program counter sebelum pembacaan (fetch)
instruksi dikerjakan. Sebuah intruksi merupakan kalimat imperatif pendek yang
sudah dapat menjelaskan makna dari perintah tersebut. Suatu intruksi terdiri dari
:
1. subjek (komputernya)
2. verb (suatu kode operasi yang mengindikasikan pekerjaan apa yang akan dilaksanakan)
3. objek (operands) yang mengidentifikasikan nilai data atau lokasi memory.

Ketika intruksi-intruksi diterima oleh Control Unit, operation code akan
mengaktifkan urutan logic untuk mengeksekusi intruksi-intruksi tersebut. Satu
eksekusi program terdiri dari beberapa instruction cycle yang menjadi komponen
penyusun dari program tersebut. Sedangkan untuk setiap instruction cycle terdiri
dari
beberapa sub
cycle lagi
seperti ftech
cycle,
indirect
cycle,
executecucle, dan interrupt cycle. Setiap sub cycle ini disusun dari beberapa
perintah dasar yang disebut micro operation.

1.8

Control Unit Operation
Instruction Cycle
Eksekusi suatu instruksi dalam sebuah komputer mencakup pengeksekusian langkahlangkah kecil yang biasa disebut sebagai instruction cycle, yang terdiri dari fetch cycle,
execution cycle, indirect cycle, dan interrupt cycle (bisa enabled/disabled).


Masing-masing cycle masih dapat diuraikan kembali menjadi langkah – langkah
yang lebih kecil lagi, yaitu micro-operation. Suatu micro-operation biasanya berupa
transfer antar register, transfer antara register dan interface eksternal (seperti system bus),
atau suatu operasi ALU biasa ( aritmetik dan logika).
Gambar Instruction Cycle

2. MICRO OPERATION
Micro operation merupakan operasi atomic dari CPU (Atomic operation of
CPU). Micro operation adalah kerja atau eksekusi terhadap data yang tersimpan
pada register dan merupakan cara kerjanya dalam satu pulsa clock. Atau
pengertian lainnya micro operation adalah suatu operasi mikro dimana suatu
computer menjalankan suatu program dan melakukan siklus proses
memasukkan dan mengambil data atau melakukan eksekusi (Fetch/execute
cycle
).
Hasil dari operasi ini dapat menggantikan isi dari informasi biner terdahulu
didalam register atau dipindahkan ke register lain.
2.1






Bagan dari micro operation:

2.2
Tipe Operasi Mikro
Mendefinisikan elemen dasar prosesor
Mendiskripsikan operasi mikro yang harus dilakukan prosesor
Menentukan fungsi Control Unit yang harus dilakukan prosesor

3. Fetch cycle
Fetch adalah siklus pengambilan data ke memori atau register. Berikut adalah
contoh aliran data siklus pengambilan(fetch cycle) :
- Urutan kejadian selama siklus instruksi tergantung pada rancangan CPU.
- Asumsi: sebuah CPU yang menggunakan register memori alamat (MAR), register
memori buffer (MBR), pencacah program (PC) dan register instruksi (IR).

Prosesnya :
-

Pada saat siklus pengambilan (fetch cycle), instruksi dibaca dari memori.
PC berisi alamat instruksi berikutnya yang akan diambil.
Alamat ini dipindahkan ke MAR dan ditaruh di bus alamat.
Unit control meminta pembacaan memori dan hasilnya disimpan di bus data dan disalin
ke MBR dan kemudian dipindahkan ke IR.
PC naik nilainya 1, sebagai persiapan untuk pengambilan selanjutnya.
Siklus selesai, unit control memeriksa isi IR untuk menentukan apakah IR berisi operand
specifier yang menggunakan pengalamatan tak langsung.

-

1.


2.


3.

4.


3.1 Ada 4 Registers yang ada di dalam fetch:
ƒ Memory Address Register (MAR)
Terkoneksi dengan address bus
MAR melakukan spesifikasi address untuk operasi baca atau tulis
ƒ Memory Buffer Register (MBR)
Terkoneksi dengan data bus
Menyimpan data untuk di tulis atau menyimpan data terakhir yang dibaca
(Holds data to write or last data read)
Program Counter (PC)
Menyimpan address instruksi berikut yang akan di akses(holds address of next
instruction to be fetches)
Instruction Register (IR)
Menyimpan address instruksi terakhir yang diakses (Holds last instruction
fetched)

3.2 Fetch Sequence (Urutan Fetch)
1. Address dari instruksi berikutnya berada dalam PC ƒ
2. Address yang ada pada MAR di masukkan ke address bus ( address alamat) ƒ
3. Control Unit memerintahkan perintah membaca (Control unit issues READ
command)
4. Hasil (data dari memory) berada pada data bus/

5.
6.
7.
8.

Data dari data bus dapat di copy ke MBR
PC ditambah 1 (secara paralel dengan proses fetch data dari memory)
Data (instruksi) dipindahkan dari MBR ke IR
MBR sekarang kosong dan siap untuk fetch data selanjut

6. Indirect Cycle (Siklus tidak Langsung)
Siklus tidak langsung adalah eksekusi sebuah instruksi melibatkan sebuah operand
atau lebih di dalam memori, yang masing – masing operand memerlukan akses memori.
Pengambilan alamat – alamat tak langsung dapat dianggap sebagai sebuah subsiklus
instruksi atau lebih.
4.1 Berikut adalah gambar aliran data siklus tak langsung:

PENJELASAN :
-

N bit paling kanan pada MBR, yang berisi referensi alamat, dipindahkan ke MAR.
Unit control meminta pembacaan memori, agar mendapatkan alamat operand yang
diinginkan ke dalam MBR.
Siklus pengambilan dan siklus tak langsung cukup sederhana dan dapat diramalkan.
Siklus instruksi (instruction cycle) mengambil banyak bentuk karena bentuk bergantung
pada bermacam – macam instruksi mesin yang terdapat di dalam IR.
Siklus meliputi pemindahan data di antara register – register, pembacaan atau penulisan
dari memori atau I/O, dan penggunaan ALU.

MAR��