Control Unit

19
LAPORAN TUGAS ORGANISASI SISTEM KOMPUTER CONTROL UNIT Kelompok 2 : Adam Asshidiq (M0509001) Gandhi Dhanu Y (M0509031) Krisna Wavin (M0509041) Novi Estu Wardani (M0509049) Rufaida Sholikhah (M0509061) Jurusan Teknik Informatika Fakultas Matematika dan Ilmu Pengetahuan Alam

Transcript of Control Unit

Page 1: Control Unit

LAPORAN TUGAS

ORGANISASI SISTEM KOMPUTER

CONTROL UNIT

Kelompok 2 :

Adam Asshidiq (M0509001)

Gandhi Dhanu Y (M0509031)

Krisna Wavin (M0509041)

Novi Estu Wardani (M0509049)

Rufaida Sholikhah (M0509061)

Jurusan Teknik Informatika

Fakultas Matematika dan Ilmu Pengetahuan Alam

Universitas Sebelas Maret Surakarta

2010

Page 2: Control Unit

CONTROL UNIT (CU)

Unit kontrol (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 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).

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).

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.

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

Page 3: Control Unit

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 keregister yang lainnya,

dan sinyal-sinyal yang dapat mengaktifasi fungsi-fungsi ALU tertentu.

Sinyal control bagi bus control; sinyal ini juga terdiri dari dua macam: sinyal

control bagi memori dan sinyal control bagi modu-modul I/O

Page 4: Control Unit

Macam-macam CU

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.

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.

Page 5: Control Unit

Implementasi Unit Kontrol

1. Implementasi hardwired

Unit kontrol merupakan rangkaian kombinatorial. Sinyal-sinyal logika

inputnya akan didekodekan menjadi sinyal-sinyal logika output, yang

merupakan sinyal-sinyal kontrol ke sistem komputer. Sinyal-sinyal input

tersebut, seperti clock, flag, register instruction, dan sinyal kontrol merupakan

input bagi unit kontrol untuk mengetahui status komputer. Sinyal keluaran yang

dihasilkan akan mengendalikan sistem kerja komputer.

N buah input biner akan menghasilkan 2N output biner. Setiap instruksi

memiliki opcode yang yang berbeda-beda. Opcode yang berbeda dalam instruksi

akan menghasilkan sinyal kontrol yang berbeda pula. Pewaktu unit kontrol

mengeluarkan rangkaian pulsa yang periodik.

Pulsa waktu ini digunakan untuk mengukur durasi setiap operasi mikro

yang dijalankan CPU, intinya digunakan untuk sinkronisasi kerja masing-masing

bagian. Masalah dalam Merancang Implementasi Hardwired:

Memiliki kompleksitas dalam pengurutan dan operasi mikronya

Sulit didesain dan dilakukan pengetesan

Tidak fleksibel

Sulit untuk menambahkan instruksi baru

Jadi secara garis besar:

Intinya unit control merupakan rangkaian kombinatorial

Sinyal-sinyal logika inputnya akan dikodekan menjadi sekumpulan

sinyal-sinyal logika output yang merupakan sinyal-sinyal kontrol ke

system computer

Page 6: Control Unit

Input unit control meliputi sinyal-sinyal register instruksi, pewaktu, flag

dan sinyal bus control

Sinyal-sinyal tersebut sebagai masukkan bagi unit control dalam

mengetahui status computer

Selanjutnya dikodekan manghasilkan sinyal keluaran untuk

mengendalikan system kerja computer

n buah input biner akan menghasilkan 2n output biner

setiap instruksi memiliki opcode yang berbeda – beda

opcode yang berbeda dalam setiap instruksi akan menghasilkan sinyal

control yang berbeda pula

pewaktu unit control mengeluarkan rangkaian pulsa yang periodic

pulsa waktu ini digunakan untuk mengukur durasi setiap operasi mikro

yang dijalankan CPU, intinya digunakan untuk sinkronisasi kerja

masing – masing bagian

2. Implementasi microprogrammed

Implementasi yang paling reliabel saat ini adalah implementasi

microprogrammed. Unit kontrol memerlukan sebuah memori untuk menyimpan

program kontrolnya. Fungsi–fungsi pengontrolan dilakukan berdasarkan

program kontrol yang tersimpan pada unit kontrol. Selain itu, fungsi–fungsi

pengontrolan tidak berdasarkan dekode dari input unit kontrol lagi. Teknik ini

dapat menjawab kesulitan–kesulitan yang ditemui dalam implementasi

hardwired.

Jadi secara garis besar:

Unit control memerlukan sebuah memori untuk menyimpan program

controlnya

Page 7: Control Unit

Fungsi-fungsi pengontrolan dilakukan berdasarkan program control

yang tersimpan pada unit control

Fungsi-fungsi pengontrolan tidak berdasarkan decode dari input unit

control lagi

Teknik ini dapat menjawab kesulitan-kesulitan yang ditemui dalam

implementasi hardwired

CARA KERJA CONTROL UNIT

Ketika sebuah komputer pertama kali diaktifkan power-nya, maka komputer

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 :

a. subjek (komputernya)

b. verb (suatu kode operasi yang mengindikasikan pekerjaan apa yang akan

dilaksanakan)

c. 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.

Page 8: Control Unit

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. Untuk lebih jelasnya, seperti di bawah ini :

Setiap control signal yang ada sebenarnya berfungsi sebagai switch untuk

menghubungkan beberapa regsiter (MAR, MBR, PC, IR) serta komponen lainnya

seperti ALU dan setiap micro operation diwakilkan oleh satu control signal. Micro

operation bekerja antar register untuk membentuk suatu sub cycle, sebagai contoh fetch

cycle :

Page 9: Control Unit

1. T1 : MAR (PC)

2. T2 : MBR (memory)

PC (PC) + 1

3. T3 : IR (MBR)

Sebagai contoh sederhana dari control signal seperti bagan di bawah ini :

Untuk ftech cycle, micro operation pertama adalah MAR (PC) yang

diwakilkan oleh control signal C2. Selanjutnya MBR (memory) diwakilkan C5 dan

seterusnya.

Pada hardwire implementation control unit sebagai combinatorial 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

(progammable logic array) untuk merepresentasikan control signal, seperti gambar di

bawah ini :

Page 10: 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 pada IR. Setiap operation code menandakan

setiap proses yang berbeda. Proses ini dapat disederhanakan dengan digunakannya

decoder. Decoder memiliki n input dan 2n output yang akan merepresentasikan opcode.

Jadi input dari IR akan diterjemakan oleh decoder sebelum menjadi input ke control

unit.

Clock digunakan untuk mengukur durasi dari 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 signal yang

berbeda, namun pada akhir instruction cycle, contol unit harus mengembalikan ke

counter untuk menginisialisasikan periode awal.

Setiap control signal direptresentasikan dengan fungsi Boolean lalu dibuatlah

combinatorial circuit. Contohnya untuk C5 [MBR (memory)] digunakan di fetch

cycle dan indirect cycle. Masing-masing sub cycle direpresentasikan dengan 2 bit, P dan

Q. maka untuk C5 : C5 = ~P.~Q. T2 + ~P.Q.T2 >> T2 adalah clock yang digunakan.

Page 11: Control Unit

Setelah itu juga harus diperhatikan karena setiap operasi untuk execute cycle

tidak sama. Tetapi untuk memudahkan dalam contoh ini execute cycle membaca LDA

dari memory, sehingga secara lengkap : C5 = ~P.~Q.T2 + ~P.Q.T2 + P.~Q.(LDA).T2

Berbeda dengan sebelumnya, μ programmed implementation tidak menggunakan

combinatorial circuir namun menggunakan μ instruction yang disimpan pada control

memory. Proses untuk menghasilkan control signal dimulai dengan seqencing logic

yang memberi perintah READ kepada contol memory. Kemudian dilanjutkan dengan

pemindahan cari CAR (control address register) ke CBR (contol buffer register) isi

alamat yang ditujukan oleh control memry. Setelah itu CBR mengeluarkan control

signal yang dituju dan alamat selanjutnya ke sequencing logic. Terakhir, sequencing

logic akan memberikan alamat baru ke CAR beradasarkan informasi dari CBR dan

ALU.

Kelebihan dari μ programmed adalah lebih mudah untuk mengimplementasikan

dan mendesain control unit. Selain itu dibandingkan dengan harwired jauh lebih murah.

Implementasi dari decoder dan sequencing logic dari μ programmed merupakan logika

yang sederhana. Kemudahan untuk melakukan testing dan menambahkan instruksi baru

dengan desain yang fleksibel. Sedangkan kelebihan dari hardwire adalah kecepatannya

yang tinggi karena logika control unit langsung dibentuk menjadi rangkaian.

Page 12: Control Unit

SUMBER

http://adhiecenter.blogspot.com/2010/02/unit-control.html

http://rioronaldo.blogspot.com/2009/12/latar-belakang-komputer-adalah-alat.html

http://students.ee.itb.ac.id/~stefanus/cu.html

http://www.total.or.id/info.php?kk=Arithmetic%20Logical%20Unit

www.te.ugm.ac.id/.../psd.../ARITHMETIC%20LOGIC%20UNIT.doc