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
Comments
Post a Comment