Control Unit merupakan bagian yang berfungsi sebagai pengatur dan mengatur dan pengendali semua peralatan computer, Control Unit juga mengatur kapan alat input menerima data, mengolah, dan menampilkan proses serta hasil pengolahan data. Dengan demikian semua perintah dapat dilakukan secara berurutan tanpa adanya tumpang tindih antara satu perintah dengan perintah lainnya.
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.
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 ke register yang lainnya, dan sinyal-sinyal yang dapat mengaktifasi fungsi-fungsi ALU tertentu.
CARA KERJA CONTROL UNIT
Ketika
sebuah komputer pertama kali diaktifkan power-nya, maka
computer tersebut menjalankan operasibootstrap. 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, execute cucle, dan interrupt cycle. Setiap sub cycle ini
disusun dari beberapa perintah dasar yang disebut micro operation.
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.
Macam-macam CLU :
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 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.
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 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.
Register merupakan alat penyimpanan
kecil yang mempunyai kecepatan akses cukup tinggi, yang digunakan untuk
menyimpan data dan instruksi yang sedang diproses, sementara data dan instruksi
lainnya yang menunggu giliran untuk diproses masih disimpan di dalam memori
utama. Setiap register dapat menyimpan satu bilangan hingga mencapai jumlah
maksimum tertentu tergantung pada ukurannya. Register-register dapat dibaca dan
ditulis dengan kecepatan tinggi karena berada pada CPU.
Berikut fungsi register :
User Visibel Register :
Register CPU yang dapat digunakan oleh
pemrogram, dengan menggunakan set intsruksi memungkinkan satu buah register
atau lebih untuk dispesifikasian sebagai operand atau alamat operand.
Register CPU yang dapat digunakan oleh
pemrogram, dengan menggunakan set intsruksi memungkinkan satu buah register
atau lebih untuk dispesifikasian sebagai operand atau alamat operand.
a. General Purpose Register
- · Digunakan untuk mode pengalamatan dan data.
- · Akumulator ( aritmatika, Shift, Rotate)
- · Base Register (Rotate,Shift, aritmatika)
- · Counter Register ( Looping)
- · Data Register (menyimpan alamat I/O device).
b. Register Alamat
- · Digunakan untuk mode pengalamatan
- · Segment Register (Code Segment, Data Segment, Stack Segment, Extra Segment)
- · Register Index (Stack Index, Data Index)
- · Stack Pointer
c. Register Data
- Digunakan untuk menampung data
d. Register Kode Status Kondisi (Flag)
- Kode yang menggambarkan hasil operasi sebelumnya
Jenis register
Register terbagi menjadi
beberapa kelas:
- Register
data, yang digunakan untuk
menyimpan angka-angka dalam bilangan bulat (integer).
- Register
alamat, yang digunakan untuk
menyimpan alamat-alamat memori dan juga untuk mengakses memori.
- Register general
purpose, yang dapat digunakan untuk
menyimpan angka dan alamat secara sekaligus.
- Register floating-point, yang digunakan untuk menyimpan angka-angka
bilangan titik mengambang (floating-point).
- 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.
- Register
vektor, yang digunakan untuk
menyimpan hasil pemrosesan vektor yang dilakukan oleh prosesor SIMD.
- Register special
purpose yang dapat digunakan
untuk menyimpan data internal prosesor, seperti halnya instruction
pointer, stack pointer, dan status register.
- 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 :



0 Responses so far.
Posting Komentar