Control Logic Unit dan Set Register
Control
Logic Unit dan Set Register
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 bagian lainnya dari perangkat CPU.
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). CU, juga berfungsi untuk bersinkronasi antar komponen.
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 aritmetika atau perbandingan logika serta mengawasi
kerja.
5. 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 dapat bekerja dengan baik dan benar
tetapi cycle ini tidak efisien.
1. 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.
( Control
Logic Unit ) bertugas untuk mengatur seluruh aktifitas perangkat keras di dalam
komputer dan juga untuk memindahkan data antar register. cara untuk melakukan
operasi mikro tersebut dengan menggunakan bahasa transfer register / Register
Transfer Language (RTL).
Berikut cara
menggunakan Bahasa RTL :

Artinya isi
register A1 dan A2 dijumlahkan dengan menggunakan sirkuit adder biner dan hasil
jumlahnya ditransfer ke register A3.
Namum apabila
dilakukan pengulangan penjumlahan akan menyebabkanoverflow dan untuk
menampung overflow tersebut digunakan register 1-bit yaitu V sebagai register
overflow serta pelengkap A3.

CLU bertugas
untuk :
1. Memberi 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 dikerjakan
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
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
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.
2. Microprogrammed Control
Dibentuk serangkaian instruksi mikro ( program mikro ) yang disimpan dalam
sebuah memori kendali ( biasanya sebuah ROM ) dalam CLU.
Microinstruction
decoder menghasilkan dan mengeluarkan mikroorder di dasarkan pada
mikrointruksi dan op code intruksi yang akan di jalankan .yang terakhir
sequncer menyinkronasikan aktivitas dari komponen unit kontrol.squencer adalah
bagian inti (jantung) dari unit control.
Register
Register merupakan
alat penyimpanan kecil yang mempunyai kecepatan akses cukup tinggi, yang
digunakan untuk menyimpan data dan/atau instruksi yang sedang diproses. Memori
ini bersifat sementara, biasanya di gunakan untuk menyimpan data saat di olah
ataupun data untuk pengolahan selanjutnya. Register umumnya diukur dengan
satuan bit yang dapat ditampung olehnya, seperti "register 8-bit",
"register 16-bit", "register 32-bit", atau "register
64-bit" dan lain-lain.
Kategori dalam
register :
1. register
yang terlihat pemakai,
Register-register
tipe ini terlihat oleh pemakai (pemrogram), pemrogram dapat memeriksa dan
beberapa instruksi dapat digunakan untuk mengisi (memodifikasi) isi register
tipe ini. Register tipe ini terdiri dari dua jenis, yaitu:
- Data Register : Digunakan untuk menyimpan angka-angka dalam bilangan bulat (integer)
- Data Register : Digunakan untuk menyimpan angka-angka dalam bilangan bulat (integer)
- Addres Register :
Digunakan untuk menyimpan alamat-alamat memori dan juga
untuk mengakses memori.
2. register
untuk kendali status.
Beragam register
tipe ini digunakan untuk mengendalikan operasi pemroses. Kebanyakan tidak
terlihat oleh pemakai. Sebagiannya dapat diakses dengan instruksi mesin yang
dieksekusi dalam mode kontrol atau kernel sistem operasi.
Register untuk
kendali status antara lain:
- register untuk
alamat dan buffer (address and buffer register)
- register untuk
eksekusi intruksi (instruction execution register)
- register untuk
informasi status (status information register)
Register prosesor,
dalam arsitektur komputer,
adalah sejumlah kecil memori komputer yang bekerja dengan kecepatan
sangat tinggi yang digunakan untuk melakukan eksekusi terhadap program-program komputer dengan
menyediakan akses yang cepat terhadap nilai-nilai yang umum digunakan. Umumnya
nilai-nilai yang umum digunakan adalah nilai yang sedang dieksekusi dalam waktu
tertentu.
Register prosesor
berdiri pada tingkat tertinggi dalam hierarki memori: ini berarti bahwa kecepatannya
adalah yang paling cepat; kapasitasnya adalah paling kecil; dan harga tiap
bitnya adalah paling tinggi. Register juga digunakan sebagai cara yang paling
cepat dalam sistem komputer untuk melakukan manipulasi data.
Register umumnya diukur dengan satuan bit yang
dapat ditampung olehnya, seperti "register 8-bit", "register
16-bit", "register 32-bit", atau "register 64-bit" dan
lain-lain.
Istilah register
saat ini dapat merujuk kepada kumpulan register yang dapat diindeks secara
langsung untuk melakukan input/output terhadap sebuah instruksi yang
didefinisikan oleh set instruksi.
untuk istilah ini, digunakanlah kata "Register Arsitektur". Sebagai
contoh set instruksi Intel x86 mendefinisikan
sekumpulan delapan buah register dengan ukuran 32-bit, tetapi CPU yang
mengimplementasikan set instruksi x86 dapat mengandung lebih dari delapan register
32-bit.
Jenis register:
A. Register terbagi
menjadi beberapa kelas:
1. Register data,
yang digunakan untuk menyimpan angka-angka dalam bilangan bulat (integer).
2. Register alamat,
yang digunakan untuk menyimpan alamat-alamat memori dan juga untuk mengakses
memori.
3.
Register general purpose, yang dapat digunakan untuk menyimpan angka dan
alamat secara sekaligus.
4.
Register floating-point, yang digunakan untuk menyimpan angka-angka
bilangan titik mengambang (floating-point).
5. Register
konstanta (constant register), yang digunakan untuk menyimpan angka-angka
tetap yang hanya dapat dibaca (bersifat read-only),
semacam phi, null, true, false dan lainnya.
6. Register vektor,
yang digunakan untuk menyimpan hasil pemrosesan vektor yang dilakukan
oleh prosesor SIMD.
7. Register special
purpose yang dapat digunakan untuk menyimpan data internal prosesor,
seperti halnya instruction pointer, stack pointer, dan status register.
8. Register yang
spesifik terhadap model mesin (machine-specific register), dalam beberapa
arsitektur tertentu, digunakan untuk menyimpan data atau pengaturan yang
berkaitan dengan prosesor itu sendiri. Karena arti dari setiap register
langsung dimasukkan ke dalam desain prosesor tertentu saja, mungkin register
jenis ini tidak menjadi standar antara generasi prosesor.
Referensi:
id.wikipedia.org/wiki/Register_prosesor
rizkypratama0318.2014/11/organisasi-komputer-diagram-blok.html
id.wikipedia.org/wiki/Unit_Kendali
Komentar
Posting Komentar