control unit
TRANSCRIPT
ORGANISASI KOMPUTER
CONTROL UNIT
DISUSUN OLEH:
NAMA : WIRA IMAM SANTOSA
KELAS : PTIK 02
NIM : 1229042027
PENDIDIKAN TEKNIK INFORMATIKA DAN KOMPUTER
TAHUN AJARAN 2013/2014
UNIVERSITAS NEGERI MAKASSAR
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 micro-operation
dieksekusi.
Control signal tersebut secara umum menyebabkan salah satu dari hal berikut:
pembukaan atau penutupan dari gerbang-gerbang logika, transfer data antara register-register,
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 :
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.
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
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
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.
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 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 – 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.
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.
Perbedaannya dengan CU Microprogrammed terletak pada gerbang logikanya
menggenerasi semua mikroorder sehingga eksekusinya lebih cepat.
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.
Control Unit Operation
1. Instruction Cycle
Eksekusi suatu instruksi dalam sebuah komputer mencakup pengeksekusian langkah-
langkah 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.
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.
Ada 4 Registers yang ada di dalam fetch:
a. ƒ Memory Address Register (MAR)
Terkoneksi dengan address bus
MAR melakukan spesifikasi address untuk operasi baca atau tulis
b. ƒ 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)
c. Program Counter (PC)
· Menyimpan address instruksi berikut yang akan di akses(holds address of next
instruction to be fetches)
d. Instruction Register (IR)
· Menyimpan address instruksi terakhir yang diakses (Holds last instruction
fetched)
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. Data dari data bus dapat di copy ke MBR
6. PC ditambah 1 (secara paralel dengan proses fetch data dari memory)
7. Data (instruksi) dipindahkan dari MBR ke IR
8. MBR sekarang kosong dan siap untuk fetch data selanjut
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.
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 <- (IRaddress) artinya: Alamat dari IR diisikan ke MAR
MBR <- (memory) artinya: isi dari memory diisikan ke MBR
IRaddress <- (MBRaddress) artinya: alamat dari MBR diisikan ke alamat dari IR
MBR berisi suatu address (MBR contains an address)
Sekarang IR berada pada kondisi yang sama dengan direct addressing (IR is now in
same state as if direct addressing had been used)
INTERRUPT CYCLE
Interrupt/Interupsi adalah suatu permintaan khusus kepada mikroposesor untuk
melakukan sesuatu. Bila terjadi interupsi, maka komputer akan menghentikan dahulu apa yang
sedang dikerjakannya dan melakukan apa yang diminta oleh yang menginterupsi.
Pada IBM PC dan kompatibelnya disediakan 256 buah interupsi yang diberi nomor 0
sampai 255. Nomor interupsi 0 sampai 1Fh disediakan oleh ROM BIOS, yaitu suatu IC didalam
komputer yang mengatur operasi dasar komputer. Jadi bila terjadi interupsi dengan nomor 0-
1Fh, maka secara default komputer akan beralih menuju ROM BIOS dan melaksanakan program
yang terdapat disana. Program yang melayani suatu interupsi dinamakan Interrupt Handler.
Isi PC, saat itu harus disimpan sehingga CPU dapat melanjutkan aktivitas normal
terjadinya interrupt.
Cara: isi PC dipindahkan ke MBR untuk kemudian dituliskan ke dalam memori.
Lokasi memori khusus yang dicadangkan untuk keperluan ini dimuatkan ke MAR dari unit
control.
Lokasi ini berupa stack pointer.
PC dimuatkan dengan alamat rutin interrupt.
Akibatnya siklus intruksi berikutnya akan mulai mengambil instruksi yang sesuai.
6. Execution Cycle
Execution cycle adalah proses dari CPU untuk mengerjakan instruksi yang sudah dijemput
dari main memory dan sudah berada di IR register.Control unit di CPU mengartikan instruksi
tersebut, melaksanakan operasi yang harus dilakukan, seperti penjemputan/penambilan data
dari main memory, mengirim instruksi ke ALU untuk melakukan operasi aritmatika atau logika
dan menyimpan hasil pengolahan kembali ke main memory.
Sedangkan Execution sequence adalah proses atau langkah sebuah eksekusi program yang
terjadi dan berlangsung pada sebuah sistemmikroprosesor. Sebuah mikroprosesor harus dapat
melakukan proses:
Fetch data atau mengambil data baik dari memori maupun dari I/Odengan proses baca
(read) data.
Proses data atau mengolah data dalam salah satu operasi aritmetika atau logika.
Write data atau menulis data ke memori atau I/O.
Fetch Instruction atau mengambil instruksi yaitu membaca instruksi dari memori .
Interpret Instruction yaitu proses mengintepretasikan/ menterjemahkan instruksi.
Instruksi harus didekode untuk menentukan aksi dari suatu instruksi yang harus
dilakukan. Instruksi dalam bahasa mesin berbentuk kode-kode biner dalam
heksadesimal. Setiap perintah dikodekan dan disusun dalam sebuah set instruksi.Untuk
mendapatkan gambaran yangjelas, bagaimana bagian-bagian dari sebuah komputer
atau sistem mikroprosesor bekerja.