control unit

14
ORGANISASI KOMPUTER CONTROL UNIT DISUSUN OLEH: NAMA : WIRA IMAM SANTOSA KELAS : PTIK 02 NIM : 1229042027 PENDIDIKAN TEKNIK INFORMATIKA DAN KOMPUTER TAHUN AJARAN 2013/2014

Upload: wira-imam-santosa

Post on 02-Jan-2016

15 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Control Unit

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

Page 2: Control Unit

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.

Page 3: Control Unit

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.

Page 4: Control Unit

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

Page 5: Control Unit

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 :

Page 6: Control Unit

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 

Page 7: Control Unit

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 

Page 8: Control Unit

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.

Page 9: Control Unit

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.

Page 10: Control Unit

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.