pengertian control unit

19
Pengertian control unit Control Unit PENGERTIAN CONTROL UNIT Control Unit 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). 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

Upload: asep-rahman

Post on 01-Dec-2015

256 views

Category:

Documents


2 download

DESCRIPTION

Pengertian Control Unit

TRANSCRIPT

Page 1: Pengertian Control Unit

Pengertian control unit

Control Unit

PENGERTIAN CONTROL UNIT

Control Unit 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). 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 :

1.2 Masukan – masukan unit control:

1.    Clock / pewaktu

Page 2: Pengertian Control Unit

       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.

Ø Aturan untuk pengelompokan siklus waktu (Rules for Clock Cycle Grouping)

Urutan yang baik harus mengikuti aturan berikut (�� Proper sequence

must be followed) :

o MAR :

(PC) harus diikuti dengan MBR��

(memory) ��

Harus menghindari terjadinya konflik (�� Conflicts must be avoided)

o Tidak boleh melakukan pembacaan dan penulisan terhadap register yang sama dan pada waktu yg

bersamaan (Must not read & write same register at same time)

o Aktifitas MBR

(memory) & aktifitas IR��

(MBR) tidak boleh dilakukan pada siklus yang bersamaan ��

��     PC harus ditambahkan 1: PC       (PC) +1

o Menggunakan ALU

o Mungkin diperlukan additional micro-operations

2.    Register instruksi

Page 3: Pengertian Control Unit

       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.

1.3 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

1.4 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.5 Jenis-Jenis Control Unit

1.         Single-Cycle CU

Page 4: Pengertian Control Unit

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.

1.6 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

Page 5: Pengertian Control Unit

  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.

1.7 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, execute

Page 6: Pengertian Control Unit

cucle,  dan interrupt cycle. Setiap sub cycle ini disusun dari beberapa perintah dasar yang

disebut micro operation.

1.8                        Control Unit Operation

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

Page 7: Pengertian Control Unit

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.

2.1                         Bagan dari micro operation:

2.2                       Tipe Operasi Mikro

·        Mendefinisikan elemen dasar prosesor

·        Mendiskripsikan operasi mikro yang harus dilakukan prosesor

·        Menentukan fungsi Control Unit yang harus dilakukan prosesor

Page 8: Pengertian Control Unit

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.

3.1 Ada 4 Registers yang ada di dalam fetch:

1.      ƒ  Memory Address Register (MAR) 

·        Terkoneksi dengan address bus 

·        MAR melakukan spesifikasi address untuk operasi baca atau tulis 

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

3.        Program Counter (PC) 

Page 9: Pengertian Control Unit

·        Menyimpan address instruksi berikut yang akan di akses(holds address of next instruction to be

fetches)

4.      Instruction Register (IR) 

·        Menyimpan address instruksi terakhir yang diakses (Holds last instruction

fetched)

3.2 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

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

4.1 Berikut adalah gambar aliran data siklus tak langsung:

Page 10: Pengertian Control Unit

PENJELASAN :

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

Page 11: Pengertian Control Unit

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

ALIRAN DATA SIKLUS INTERUPSI

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

Page 12: Pengertian Control Unit

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.

Contoh eksekusi program

Sedangkan Execution sequence adalah proses atau langkah sebuah eksekusi program yang

terjadi dan berlangsung pada sebuah sistem mikroprosesor. Sebuah mikroprosesor harus dapat

melakukan proses:

�� Fetch data atau mengambil data baik dari memori maupun dari I/O dengan 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 yang jelas, bagaimana bagian-bagian dari sebuah

komputer atau sistem mikroprosesor bekerja.

Page 13: Pengertian Control Unit

Perhatikan contoh ilustrasi Gambar di bawah  dapat mengeksekusi sebua program   sederhana:

Contoh ini menggunakan tiga perintah program dengan contoh kasus sebagai berikut:

�� Memasukkan sebuah nilai dari keyboard yang terhubung ke Port pada alamat 05h.

�� Menambahkannya dengan 07 dari nilai yang terbaca.

Page 14: Pengertian Control Unit

�� Mengeluarkan hasil penambahan ke display yang terhubung ke Port alamat 02h.

KESIMPULAN

Control Unit 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. 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. Terdiri

dari 2 jenis yaitu Single & Multi Control. Siklus instruksi terdiri dari micro operation, fetch, indirect,

interrupt dan execution cycle.

Page 15: Pengertian Control Unit