Control Unit (CU)
Pengertian Control Unit
CU (control unit)
adalah alat yang berfungsi sebagai unit control langsung dan
menyelaraskan operasi-operasi dalam komputer (semua perangkat yang
terpasang di komputer, mulai dari input device sampai output device).
Dalam pengimplementasiannya, control unit dapat dibagi menjadi dua yaitu
hardwired dan μprogrammed. Hardwired biasanya digunakan dalam
arsitektur RISC, sedangkan untuk μprogrammed digunakan pada arsitektur
CISC.
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.
μ programmed
μ
programmed implementation tidak menggunakan combinational circuit namun
menggunakan μ instruction yang disimpan pada control memory. Proses
untuk menghasilkan control signal dimulai dengan sequencing logic yang
memberi perintah READ kepada control memory. Kemudian dilanjutkan dengan
pemindahan dari CAR (control address register) ke CBR (control buffer
register) isi dari alamat yang ditunjukan oleh control memory. Setelah
itu CBR mengeluarkan control signal yang dituju dan alamat selanjutnya
ke sequencing logic. Terakhir, sequencing logic akan memberikan alamat
baru ke CAR berdasarkan informasi dari CBR dan ALU.
Kelebihan μ programmed
Kelebihan
dari μ programmed adalah lebih mudah untuk mengimplementasikan dan
mendesain control unit. Selain itu dibandingkan dengan hardwired jauh
lebih murah. Implementasi dari decoder dan sequencing logic dari
μprogrammed merupakan logika yang sederhana, kemudahan untuk melakukan
testing dan menambahkan instruksi baru serta dengan desain yang
fleksibel.
Kelebihan Hardwire
Sedangkan
kelebihan dari hardwire adalah kecepatannya yang tinggi karena logika
control unit langsung dibentuk menjadi rangkaian.
Input Control Unit
Input
untuk control unit yaitu IR, flags, clock, dan control bus signal.
Flags dan control bus signal memiliki representasi secara langsung dan
signifikan terhadap operasi bila dibandingkan dengan IR dan clock. Untuk
IR sendiri, control unit akan menggunakan operation code yang terdapat
di dalam IR. Setiap operation code menandakan setiap proses yang
berbeda. Proses ini dapat disederhanakan dengan digunakannnya decoder,
decoder memiliki n input dan 2n output yang akan merepresentasikan
opcode. Jadi input dari IR akan diterjemahkan oleh decoder sebelum
menjadi input ke control unit. Clock digunakan untuk mengukur urasi dai
micro operation, untuk mengantisipasi propagasi sinyal yang dikirimkan
melalui data paths dan rangkaian prosesor maka periode dari setiap clock
seharusnya cukup besar. Untuk mengatasinya digunakan counter yang dapat
memberikan clock input bagi control singnal yang berbeda, namun pada
akhir instruction cycle, control unit harus mengembalikan ke counter
untuk menginisialisasikan periode awal.
Cara Kerja Prosesor
Saat
data dan/atau instruksi dimasukkan ke processing-devices, pertama data
tersebut diletakkan di RAM (melalui Input-storage); Apabila berbentuk
instruksi ditampung oleh Control Unit di Program-storage, namun apabila
berbentuk data ditampung di Working-storage). Jika register siap untuk
menerima pengerjaan eksekusi, maka Control Unit akan mengambil instruksi
dari Program-storage untuk ditampungkan ke Instruction Register,
sedangkan alamat memori yang berisikan instruksi tersebut ditampung di
Program Counter. Sedangkan data diambil oleh
Control Unit dari Working-storage untuk ditampung di General-purpose
register (dalam hal ini di Operand-register). Jika berdasar instruksi
pengerjaan yang dilakukan adalah arithmatika dan logika, maka ALU akan
mengambil alih operasi untuk mengerjakan berdasar instruksi yang
ditetapkan. Hasilnya ditampung di Accumulator. Apabila hasil pengolahan
telah selesai, maka Control Unit akan mengambil hasil pengolahan di
Accumulator untuk ditampung kembali ke Working-storage. Jika pengerjaan
keseluruhan telah selesai, maka Control Unit akan menjemput hasil
pengolahan dari Working-storage untuk ditampung ke Output-storage. Lalu
selanjutnya dari Output-storage, hasil pengolahan akan ditampilkan ke
output-devices.
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
a. 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.
b. 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.
0 komentar:
Posting Komentar