• Tidak ada hasil yang ditemukan

UNIT KONTROL ARSITEKTUR and ORGANISASI K

N/A
N/A
Protected

Academic year: 2017

Membagikan "UNIT KONTROL ARSITEKTUR and ORGANISASI K"

Copied!
44
0
0

Teks penuh

(1)

11/10/2014

Arsitektur dan

Organisasi

Komputer

S1 PTI B 2013 ( FT-TE-UM)

(2)

1

Pag

e

(3)

2

Pag

e

2

KATA PENGANTAR

Puji syukur kami panjatkan kehadirat Allah SWT yang telah memberikan rahmat serta karunia-Nya kepada kami sehingga kami berhasil menyelesaikan Sumber Belajar (Buku) ini yang

berjudul “Unit Kontrol”.

Buku ini berisikan tentang materi dari matakuliah Arsitektur dan Organisasi Komputer. Diharapkan buku ini dapat memberikan informasi kepada kita semua tentang Unit Kontrol pada arsitektur dan organisasi computer. Semoga dengan buku ini pembaca mampu memahami Unit Kontrol Komputer.

Kami menyadari bahwa buku ini jauh dari sempurna, oleh karena itu kritik dan saran dari dosen , mahasiswa serta semua pihak yang bersifat membangun selalu kami harapkan demi kesempurnaan buku ini.

Akhir kata, kami sampaikan terima kasih kepada semua pihak yang telah berperan serta dalam penyusunan buku ini dari awal sampai akhir. Semoga Allah SWT senantiasa melancarkan segala usaha kita. Amin.

(4)

3

Pag

e

3

DAFTAR ISI

Kata Pengantar 2

Daftar Isi 3

Pendahuluan 5

Materi BAB 1 Unit Kontrol 6

1.1 Definisi 6

1.2 Cara Kerja Unit Kontrol 7

1.3 Fungsi Unit Kontrol 8

1.4 Urutan Reset 12

1.5 Pengenalan dan Pelayanan Interupsi 14

1.6 Penanganan Situasi Abnormal 15

1.7 Siklus Instruksi 16

1.7.1 Pengambilan Instruksi 20

1.7.2 Kalkulasi Alamat Operand 22

1.7.3 Pengambilan Operand 22

1.7.4 Operasi Eksekusi 22

1.7.5 Pemilihan Desain Unit Kontrol 23

Evaluasi 25

BAB 2 Hardwire Control Unit (HCU) 26

2.1 Definisi 26

2.2 Keuntungan Hardwire Control Unit 31

2.3 Kekurangan Hardwire Control Unit 31

(5)

4

Pag

e

4

BAB 3 Microprogrammed Control Unit (MCU) 33

3.1 Definisi 33

3.2 Permasalahan pada MCU 34

3.3 Pegurangan Panjang Word Mikroinstruksi 36

3.4 Horizontal dan Vertical MCU 37

3.5 Pencabangan Tidak Bersyarat 39

3.6 Pencabangan Bersyarat 39

3.7 Hardware, Software dan Firmware 41 3.8 Keuntungan MCU 41 3.9 Kekurangan MCU 41

Evaluasi 41

Kesimpulan 42

(6)

5

Pag

e

5

PENDAHULUAN

Dalam mata kuliah Arsitektur dan Organisasi Komputer, khususnya bahasan Unit Kontrol memiliki beberapa sub bahasan yang akan dibahas pada buku ini. Buku ini akan disusun sebagai sarana pembelajaran untuk membantu mahasiswa atau semua pihak yang membutuhkan banyak informasi mengenai Unit Kontrol itu sendiri. Selain itu buku ini juga disusun untuk memenuhi mata kuliah Arsitektur dan Organisasi Komputer oleh pengampu : Bapak Muladi, sebagai tugas akhir mata kuliah ini. Kemudian bertujuan untuk memberikan suatu manfaat yang nantinya dapat menambah pengetahuan dan wawasan dalam pelajaran atau mata kuliah Arsitektur dan Organisasi Komputer khususnya bahasan Unit Kontrol.

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.

(7)

6

Pag

e

6

MATERI

BAB 1 UNIT KONTROL

1.1 Definisi

Unit control merupakan otak atau pusat syaraf hardware computer. Unit control mengawasi pelaksanaan siklus instruksi dan membangkitkan sinyal-sinyal control relevan pada saat yang tepat supaya micro operasi yang tepat dapat dikerjakan pada CPU dan unit-unit eksternal lainnya seperti memori dan I/O controller/devices. Unit control dirancang untuk suatu organisasi datapath spesifik (ALU, register dan sebagainya). Bagian ini membahas operasi unit control dan kedua teknik perancangan unit control: hardwired dan microprogramming

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

Tujuan

 Memahami pengertian unit control

 Memahami fungsi unit control

(8)

7

Pag

e

7

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.2 Cara Kerja Unit Kontrol

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)

(9)

8

Pag

e

8

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 cucle, dan interrupt cycle. Setiap sub cycle ini disusun dari beberapa perintah dasar yang disebut micro operation.

1.3 Fungsi Unit control

Unit control bertanggung jawab pada pengoordinasian aktivitas dalam computer. Gambar 6.1 memberikan gambaran terhadap keseluruhan fungsi/peranan unit control. Sinyal-sinyal control disampaikanoleh unit control untuk mencapai hardwarelogic dalam prosesor dan unit-unit eksternal lainnya. Sinyal-sinyal yang memulai operasi-operasi dalam computer. Mikrooperasi-mikrooperasi dilaksanakan bila sinyal control yang relevan mengaktifkan titik-titik control. Memori utama dikontrol oleh dua sinyal control: memory read dan memory write. Semua pengontrol I/O menerima sinyal control yang terbanyak. Bagaimana unit control mengetahui sinyal control yang akan disampaikan? Dia mempunyai semacam daftar tugas yang diberitahu oleh program apa yang harus dikerjakan/dieksekusi.

(10)

9

Pag

e

9

Pada table 6.1 diberikan hubungan jenis-jenis instruksi dan aksi-aksi CPU. Prosesor mengeksekusi program dengan melakukan siklus-siklus instruksi seperti yang ditunjukkan pada gambar 6.2. Setiap siklus instruksi terdiri atas beberapa langkah seperti yang ditunjukkan pada gambar 6.3. Dua langkah pertama(pengambilan instruksi dan decode instruksi) diperlukan oleh semua instruksi. Ada tidaknya sisa langkah berikutnya adalah bergantung pada masing-masing instruksi. Hal ini dijelaskan pada table 6.2, 6.3 dan 6.4 yang memberikan tindakan-tindakan yang diperlukan pada beberapa instruksi yang dikenal.

NO TIPE INSTRUKSI TINDAKAN CPU KET

1 Transfer data Salin informasi;

membaca dari sumber dan menulisnya ke target

Sumber atau target atau keduanya bisa dari memori

2 Aritmatika Melakukan operasi

ALU yang diperlukan dan men-set kode kondisi dan flag

Operand-operand harus dibawa ke ALU jika tidak tersedia dalam ALU

3 Logika Sama dengan di atas Sama dengan di atas

4 Control Program Program counter

diperbaharui

Pencabangan

5 I/O Memasukkan atau

mengeluarkan data; melakukan siklus baca I/O atau siklus bus tulis I/O

(11)

10

Pag

e

10

Gambar 6.2 Siklus instruksi

Fungsi unit control secara keseluruhan dapat diringkaskan sebagai berikut : 1. Mengambil/membaca instruksi

2. Mendekode/interprestasi opcode dan mode pengalamatan

3. Membangkitkan sinyal control yang diperlukan sesuai dengan instruksi(opcode dan mode pengalamatan) dalam urutan waktu yang tepat agar mikrooperasi-mikrooperasi yang relevan dikerjakan

4. Kembali ke langkah 1 untuk instruksi selanjutnya

Tabel 6.2 langkah-langkah instruksi ADD, NOOP, HALT, dan SKIP

NO ADD NOOP HALT SKIP

1 Ambil instruksi Ambil instruksi Ambil instruksi Ambil instruksi

2 Dekode instruksi Dekode

instruksi

Dekode instruksi Dekode instruksi

3 Kalkulasi alamat operand jika diperlakukan

Ke siklus

berikutnya

1. Reset flip-flop RUN 2. Ke siklus

berikutnya

1. Increment Pc

2. Ke siklus berikutnya

4 Ambil operand - - -

5 Eksekusi operasi - - -

(12)

11

Pag

e

11

2. Ke siklus berikutnya

Tabel 6.3 langkah-langkah instruksi SKIPIFP, BUN,BZ dan BRAS

NO Skip positive BUN BZ Branch and save

1 Ambil instruksi Ambil instruksi Ambil instruksi Ambil instruksi 2 Dekode instruksi Dekode instruksi Dekode instruksi Dekode

instruksi 3 1. Jika tanda zero,

increment PC 2. Ke siklus berikutnya

1. Alamat branch disalin ke PC

2. Ke siklus berikutnya 1. Jika akumulator zero, alamat branch disalin ke PC

2. Ke siklus berikutnya

-

4 - operand ke PC - - Load alamat

5 - - - 1.Increment PC

2.Ke siklus berikutnya

Tabel 6.4 langkah-langkah instruksi LDA, STA, dan AND

NO LDA STA AND

1 Ambil instruksi Ambil instruksi Ambil instruksi

2 Dekode instruksi Dekode instruksi Dekode instruksi

3 Ambil operand dari memori Simpan isi

akumulator dalam lokasi memori

(13)

12

Pag

e

12

4 1. Load oerand dalam akumulator 2. Ke siklus berikutnya

Ke siklus berikutnya Lakukan operasi(AND)

5 - - 1.Simpan hasil

2.ke hasil berikutnya

Mode pengalamatan memengaruhi seberapa cepat suatu siklus instruksi selesai. Gambar 6.4 menunjukkan tiga kasus instruksi ADD yang berbeda.

Selain pada sikus instruksi regular, unit control juga melakukan urutan-urutan tugas khusus tertentu seperti berikut ini :

1. Urutan reset pada pengindraan sinyal reset

2. Pengenalan interupsi dan pencabangan ke ISR (Interupt service routine)

3. Penanganan situasi abnormal seperti pengenalan kegagalan hardware yang serius dan pengambilan aksi yangtepat seperti shutdown atau pengecekan mesin.

Gambar 6.4 variasi pada siklus instruksi ADD 1.4 Urutan Reset

(14)

13

Pag

e

13

1. Daya computer dihidupkan. Hal ini mengaktifkan sirkuit Power-On reset yang membangkitkan sinyal power-on reset.

2. Operator menekan tombol/saklar reset pada panel depan yang mengaktifkan sinyal MANUAL RESET.

3. Hardware eksternal(di luar prosesor) memberikan sinyal reset ke prosesor. Hal ini adalah suatu keadaan khusus yang ada pada prosesor dahulu yang melepaskan prosesor pada keadaan HALT atau SHUTDOWN

Gambar 6.5 menunjukkan aksi yang dilakukan oleh unit control. Untuk sembarang kasus yang sudah dijelaskan sebelumnya, unit control melakukan empat tindakan:

1. Me-reset error flag

2. Me-reset Interrupt Enable (IE) flag; sinyal control IE := 0 artinya dibangkitkan untuk maksud tersebut

3. Mendorong sebuah alamat tetap ke dalam program counter (PC). Alamat ini biasa dikenal dengan reset vector. Sinyal control PC := RV dibangkitkan suaya alamat vector reset dimasukkan ke dalam PC. Umumnya vector reset adalah semua zero-addres atau semua one-addres yang dapat dibangkitkan dengan mudah oleh Hardware. Beberapa prosesor berisi program Built-in Self-test (BIST) yang dieksekusi pertama sebagai suatu ukuran keyakinan agar prosesor yakin dengan keandalan yang dimilikinya. Jika BIST berhasil, maka selanjutnya dia memasukkan vector reset ke dalam PC.

(15)

14

Pag

e

14

Gambar 6.5 Proses reset

1.5 Pengenalan dan pelayanan interupsi

Interupsi dapat terjadi setiap saat. Biasanya, unit control memeriksa kehadiran permintaan interupsi sebelum melakukan pengambilan instruksi baru setelah instruksi yang sebelumnya diselesaikan. Jika interrupt enable falg=0, maka unit control melompati langkah ini dan interupsi tetap ditunda. Dalam mengindra permintaan interupsi, unit kontol melakukan hal/fungsi berikut:

1. Menyimpan isi PC ke dalam lokasi stack yang alamatnya ditunjukkan oleh stack pointer 2. Menurunkan nilai

3. Menyimpan CPU status flag di dalam lokasi stack 4. Menetapkan vector interupsi

5. Memasukkan alamat awal ISR ke program counter PC 6. Me-resert flag

(16)

15

Pag

e

15

Gambar 6.6 siklus instruksi dan pelayanan interupsi 1.6 Penanganan situasi abnormal

Dua kasus situasi abnormal :

1. Prosesor mengindra suatu kondsi pengecualian seperti overflow, kode operasi illegal dan sebagainya. Ketika melakukan tindakan untuk layanan tersebut, pengecualian ini terjadi, yang dihasilkan double error. Pada kasus ini unit control melakukan shutdown dengan melakukan resetting pada flip-flop RUN/HALT

(17)

16

Pag

e

16

1.7 Siklus Instruksi

Karena set instruksi dari suatu CPU memiliki bermacam mode pengalamatan dan format operand, maka unit control bertanggung jawab untuk menjaga semua kemungkinan pada setiang tingkat dalam siklus instruksi. Siklus instruksi terdiri dari micro operation, fetch, indirect, interrupt dan execution cycle.

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

Bagan dari micro operation: - Tipe Operasi Mikro

 Mendefinisikan elemen dasar prosesor

 Mendiskripsikan operasi mikro yang harus dilakukan prosesor  Menentukan fungsi Control Unit yang harus dilakukan prosesor.

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

(18)

17

Pag

e

17

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

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)

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

Fetch Sequence (Urutan Fetch)

 Address dari instruksi berikutnya berada dalam PC.

 Address yang ada pada MAR di masukkan ke address bus ( address alamat).

 Control Unit memerintahkan perintah membaca (Control unit issues READ command).

(19)

18

Pag

e

18

 Data dari data bus dapat di copy ke MBR.

 PC ditambah 1 (secara paralel dengan proses fetch data dari memory).

 Data (instruksi) dipindahkan dari MBR ke IR.

 MBR sekarang kosong dan siap untuk fetch data selanjutnya.

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

Berikut adalah gambar aliran data siklus tak langsung:

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

(20)

19

Pag

e

19

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

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

(21)

20

Pag

e

20

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

1.7.1 Pengambilan Instruksi

Sub-siklus melibatkan pengambilan instruksi dari alamat meori program yang disediakan dalam program counter. Masalah yang muncul meliputi :

(22)

21

Pag

e

21

instruksi adalah 4byte dan panjang word memori adalah 2byte, maka dua word harus diambil/fetch

2. Jika datapath antara CPU dan memori lebih kecil dari panjang word memori, maka unit control melakukan siklus bus lebih dari satu kali untuk mendapatkan satu word memori. Contoh : bus data adalah 16byte dan panjang word memori 32bit, dua siklus bus dibutuhkan untu mengambil satu word.

Bagaimana unit control mengetahui panjang dari instruksi yang diambil?

Panjang instruksi diketahui dari opcode instruksi tersebut. Karena itu, unit control mengetahui panjang instruksi hanya setelah pengambilan word pertama instruksi. Berdasarkan opcode, unit control memutuskan jumlah word yang akan diambil dari memori.

(23)

22

Pag

e

22

Gambar : siklus instruksi

1.7.2 Kalkulasi alamat operand

Ada 4 lokasi alamat operand :

1. Pada instruksi itu sendiri sebagai immediate operand 2. Pada register prosesor

3. Pada memori utama 4. Pada port I/O

Alamat operan dinyatakan dalam instruksi pada salah satu mode pengalamatan seperti pengalamatan langsung dan tidak langsung. Prosedur kalkulasi alamat operand tergantung pada mode pengalamatan masing-masing

1.7.3 Pengambilan operand

Jika operand berada dalam memori utama, CPU melakukan sikles baca memori. Jumlah siklus memori utama bergantung pada dua factor yaitu panjang operand dan panjang word memori.

(24)

23

Pag

e

23

Operasi control didesain untuk melaksanakan semua mikro-operasi seperti yang ditetapkan oleh instruksinya.Unit control mengetahui opcode urutan aksi yang tepat yang harus dilakukan selama tingkatan ini. Semua operasi internal berada di dalam prosesor sedangkan yang lain berada dalam unit eksternal memori.

1.7.5 Pemilihan Desain unit control

Unit control didesain dengan dua macam kemampuan :

1. Kumpulan sinyal control adalah unik bagi setiap instruksi. Kepintaran/intelejensi ini dibangun dan disimpan di dalam unit control. Unit control mensuplai sinyal control yang disesuaikan dengan opcode

2. Sinyal control suatu instruksi disupali dengan urutan yang tepat. Informasi ini juga merupakan kepintaran yang disebutkan pada poin1 di atas

(25)

24

Pag

e

24

Gambar 6.8 Pengambilan keputusan secara keseluruhan dalam unit control .

(26)

25

Pag

e

25

Evaluasi !

1) Jelaskan pengertian Unit Kontrol !

(27)

26

Pag

e

26

BAB 2 HARDWIRE CONTROL UNIT.

2.1 Definisi

Hardwire control junit terdiri atas kumpulan sirkuit kombinasional yang membangkitkan sinyal control. Diagram blok HCU dan prinsip kerja HCU akan digambarkan pada gambar dibawah ini ( Gambar 6.10 dan 6.11). Setiap baris vertical merepresentasikan suatu instruksi. Setiap baris horizontal merepresentasikan suatu rangkaian pulsa pewaktuan.

Gambar 6.10 Diagram blok HCU

Pulsa- pulsa pewaktuan T1, T2, T3 dan lain-lain mempunyai waktu tunda tertentu. Mereka digunakan sebagai sinyal referensi pewaktuan. Pada suatu instruksi, mikrooperasi- mikrooperasi uang diperlukan adalah urutan waktu yang menggunakan pulsa- pulsa pewaktuan. Misalnya untuk operasi LDA jika dibaca dari memori, dilakukan oleh T1, penyimpanan pada memori dapat dilakukan pada T2. Kombinasi sinyal LDA dan T1 dapat digunakan sebagai sinyal control untuk pembacaan dari memori. Sinyal kombinasi lainnya dari LDA dan T2 dapat digunakan sebaga

Tujuan

1) Memahami pengertian Hardwire Control Unit

(28)

27

Pag

e

27

sinyal control untuk penyimpanan pada akumulator. Gambar 6.12 menunjukkan bagaimana dua gerbang membangkitkan dua sinyal control selama eksekusi instruksi LDA. Konsep ini digunakan untuk pembangkitan semua sinyal control. Untuk pembangkitan beberapa sinyal control, digunakan status dari flag CPU. Misalnya, untuk instruksi JZ(lompat jika akumulator nol), zero

flag digunakan bersama T1 dan JZ seperti yang ditunjukkan pada Gambar 6.13. Sinyal control

dibangkitkan jika zero flag=1.

HCU mempunyai sirkuit untuk :

1. Mengidentifikasi instruksi dari opcode dan membangkitkan sinyal relevan seperti ADD, NOOP, HALT, dan lain- lain. Pada suatu waktu tertent, ada salah satu sinyal dari opcode yang aktif dan yang lainnya tidak aktif.

2. Mempertahankan/ menjaga referensi waktu dengan membangkitkan serangkaian pulsa- pulsa pewaktuan.

3. Membangkitkan sekumpulan sinyal- sinyal control sesuai mikrooperasi yang akan dikerjakan untuk instruksi yang ada (saat itu) pada interval waktu yang tepat.

4. Setelah penyelesaian eksekusi dari suatu instruksi, perlu pembangkitan sinyal control untuk pengambilan instruksi berikutnya.

(29)

28

Pag

e

28

Gambar 6.11 Prinsip dasar HCU

Gambar 6.12 Pembangkitan sinyal control untuk instruksi LDA

Gambar 6.13 pembangkitan sinyal control untuk instruksi JZ.

(30)

29

Pag

e

[image:30.612.12.605.14.766.2]

29

Gambar 6.14 Organisasi HCU

Gambar 6.15 Pembangkitan sinyal pewaktuan

Gambar 6.16 pencacah lingkar

(31)

30

Pag

e

30

[image:31.612.6.603.13.746.2]

dan seterusnya. Keluaran pencacah urut diterjemahkan sandinya oleh timing decoder. Setiap sinyal pewaktuan( T1, T2, T3 dan T4) adalah sbeuah bentuk gelombang periodic karena bentuknya yang repetitif. Dimungkinkan menggunakan sebuah pencacah lingkar ( Gambar 6.16 ) mempunyai proteksi ‘1’ yang bergerak dari satu posisi bit ke posisi berikutnya bila sinyal clock dating. Gambar 6.17 (a)-(g) menunjukkan beberapa contoh kasus sirkuit kombinasional yang dibutuhkan untuk pembangkitan berbagai sinyal control. Flip- flop F dan E menunjukkan apakah CPU berada dalam fase pengambilan instruksi atau fase eksekusi instruksi dari suatu siklus instruksi. Jika keduanya reset, artinya prosesor tidak bekerja ( siklus instrkuksi tidak dilaksanakan). Sebuah analisis hati- hati dari Gambar 6.17 menunjukkan bahwa gerbang tertentu dapat dieliminasi dengan menggabungkan sirkuit- sirkuit dari instruksi berbeda.

Gambar 6.17 (a) HCU : pembangkitan sinyal- sinyal control

(32)

31

Pag

e

[image:32.612.15.598.11.761.2]

31

Gambar 6.17 (c) Penyederhanaan gerbang untuk pembangkitan sinyal control

Gambar 6.18 Kontrol PC (vector reset tidak diperlihatkan). 2.2 Keuntungan Hardwire Control Unit

Keuntungan HCU bekerja dengan cepat dari MCU. Sirkuit kombinasional membangkitkan sinyal control berdasarkan status sinyal- sinyal input. Segera setela kombinasi sinyal input yang diperlukan ditempatkan, dengan segera output (sinyal control) dibangkitkan oleh sebuah sirkuit kombinasional. Waktu tunda antara pembangkitan output ke input yang tersedia bergantung pada banyaknya gerbang dalam lintasan dan waktu tunda propagasi setiap gerbang dalam lintasan. Jika terdapat dua level gerbang dan setiap gerbang mempunyai tuda propagasi 5 ns, waktu yang digunakan untuk pembangkitan sinyal control adalah 10 ns.

2.3 Kekurangan Hardwire Control Unit

(33)

32

Pag

e

32

2. Desain tidak fleksibel. Jika dibutuhkan modifikasi, maka sangat sulit untuk melakuakan koreksi. Modifikasi desain diperluka pada situasi berikut :

- Jika terdapat kesalahan dalam desain awal.

- Jika fitur baru ( misalnya instruksi baru) akan ditambahkan pada desain yang ada. - Komponen hardware baru ( misalnya memori) kecepatan yang lebih tinggi tersedia,

yang akan meningkatkan performa.

Evaluasi !!!

1) Jelaskan pengertian dari hardwire control unit!

(34)

33

Pag

e

33

BAB 3 MICROPROGRAMMING CONTROL UNIT.

3.1 Definisi

[image:34.612.6.599.15.765.2]

Microprogamming adalah sbeuah konsep modern yang digunakan untuk perancangan unit control (Gambar 6.19). beberapa aplikasi umum adalah sebagai pengontrol I/O seperti disk controller, peripheral devices, seperti hardisk driver dan printer. Filosofi microprogramming berdasarkan pada elaborasi “pembacaan pola control tersimpan”.

Gambar 6.19 Diagaram blok MCU Tujuan

1) Memahami pengertian dari microprogrammed control unit

(35)

34

Pag

e

34

Mikrooperasi dieksekusi bila sinyal control yang sesuai dibuat aktif. Setiap instruksi memerlukan suatu urutan set mikrooperaasi yang spesifik. Sinyal- sinyal control diperlukan untuk suatu instruksi dan urutan waktu yang dapat disimpan dalam memori yang disebut memori control. Dengan pengambilan word memori control satu demi satu, sinyal- sinyal control dapat dibangkitkan. Memori control adalah sebuah ROM. Dengan cara yang sama, aktivitas yang biasa terjadi dalam unit control seperti penanganan interupsi, pengambilan instruksi, dan sebagainya dapat diterjemahkan ke dalam word memori control.

[image:35.612.8.603.14.773.2]

Unit control hanya dapat dibaca dari memori control tetapi isinya tidak dimodifikasi. Dalam bentuk sederhana, setiap bit dalam word memori control dapat dicadangkan untuk sinyal control, jadi pemindahan bit untuk semua sinyal control dapat digunakan. Jika bit adalah 1, sinyal control yang sesuai menjadi aktif. Jika bit adalah 0 sinyal control tidak aktif. Bila suatu word dibaca/ diambil dari memori control, beberapa bit dapat menjadi 1 dan yang lain 0. Sinyal- sinyal control yang berkenaan dnegan ‘1’ dibangkitkan. Jadi mikrooperasi dieksekusi secara simultan. Gambar 6.20 menunjukkan sebuah control format word memori control. Setiap word memori control dikenal dengan mikrooperasi.

Gambar 6.20 Konfigurasi word memori control sederhana. 3.2Permasalahan pada Microprogrammed Control Unit.

Gambar 6.21 menunjukkan persyaratan dasar MCU. Terdapat control memory address register (CMAR) dikenal juga dengan mikroprogram counter dan CMDR (control memory data register) yang dikenal juga dengan register mikroinstruksi. Masalah yang harus dipecahkan dalam suatu MCU :

(36)

35

Pag

e

35

2. Bagaimana control beralih mengambil mikroprogram settelah eksekusi mikroprogram selesai?

3. Bagaimana unit control memulai mikroprogram yang tepat setelah power on? 4. Diperlukan suatu mekanisme untuk pencabangan bersyarat .

[image:36.612.12.607.10.740.2]

5. Diperlukan teknik device untuk mengurangi panjang mikroinstruksi. 6. Diperlukan beberapa teknik untuk mengkombinasikan mikroinstruksi.

(37)

36

Pag

e

3

6

Gambar 6.22(a) organisasi khas MCU.

3.3 Pengurangan Panjang Word Mikroinstruksi.

Mikrooperasi- mikrooperasi tertentu (sinyal- sinyal kontrolnya) saling eksklusif satu sama lain. Misalnya, jika kita memikirkan mikrooperasi berikut yang berhubungan dengan program counter(PC), kita akan melihat bahwa dalam suatu waktu, hanya salah satu yang dieksekusi bergantung pada kondisi siklus instruksi.

7. PC:=PC+1 8. PC:=MDR

9. PC:=EA/IR(instruksi jump).

[image:37.612.4.603.15.757.2]
(38)

37

Pag

e

37

Gambar 6.22(b) sequence logic

3.4 Horizontal dan Vertika Microprogramming.

Gambar 6.23, 6.24, 6.25 menunjukkan tiga cara pengindikasian pola sinyal control. Bit individual pada masing- masing sinyal control pada format mikroinstruksi dikenal dengan mikrooperasi horizontal seperti yang ditunjukkan pada Gambar 6.23. Setiap bit mengaktifkan satu sinyal control. Beberapa sinyal control dapat dibangkitkan secara simultan oleh sebuah mikroinstruksi tunggal. Panjang mikroinstruksi meningkat (30-120) bit. Pada Gambar 6.24, setiap grup menerjemahkan sinyal- sinyal control (mikrooperasi) secara mutual exclusive. Hal ini mengurangi panjang mikroinstruksi. Tetapi sebuah sirkuit decoder diperlukan untuk setiap field untuk mendekode pola dan menetapkan sinyal control. Jumlah total sinyal control simultan (karena mikrooperasi) tidak bisa melebihi jumlah field.

[image:38.612.5.601.14.758.2]
(39)

38

Pag

e

38

[image:39.612.13.605.10.758.2]

menggunakan waktu yang lebih untuk pembangkitan sinyal- sinyal control karena diperlukan waktu pengkodean dan juga mikroinstruksi yang lebih. Tetapi, biaya keseluruhan lebih kecil karena ukuran mikroinstruksi kecil (12-30 bit). Mikroprogram horizontal mengeluarkan sinyal- sinyal control lebih cepat, tetapi ukuran memori kontrolnya sangat besar karena panjang word meningkat.

Gambar 6.23 Mikroinstruksi horizontal murni.

Gambar 6.24 (a) Mikroinstruksi horizontal dengan multigrup.

(40)

39

Pag

e

[image:40.612.10.606.13.772.2]

39

Gambar 6.25 Mikrooperasi vertical murni 3.5 Pencabangan Tidak Bersyarat.

Mikroinstruksi memberikan alamat mikroinstruksi berikutnyua. Salah satu dari bit- bit control membangkitkan sinyal control CMAR:=NA. Hal ini diilustrasikan pada gambar 6.26, yang menunjukkan tiga cara pengindikasian pola sinyal.

Gambar 6.26 Pola Pencabangan tak bersyarat. 3.6 Pencabangan Bersyarat.

(41)

40

Pag

e

40

1. Zero flag 2. Overflow flag 3. Carry flag

4. Interrupt enable flag 5. Sign flag

Jika pengujian kondisi berhasil, alamat pencabangan mengisi mikroinstruksi berikutnya untuk dieksekusi, sebaliknya alamat fisik berikutnya yang mengisi mikroinstruksi.

3.7 Hardware , Software dan Firmware.

Fungsi berikut adalah tugas yang dikerjakan oleh sirkuit atau mikroprogram dalma CPU : 1. Menganalisa dan menginterprestasi opcode

2. Mengeksekusi mikrooperasi pada berbagai opcode 3. Pengurutan melalui mikrooperasi

4. Mengindera status flag dan mengambil keputusan berdasarkan status tersebut.

Firmware merujuk pada mikroprogram. Hardware merupakan hal yang kaku karena untuk memodifikasinya sangat sulit. Software merujuk pada program ( Bahasa mesin/ Bahasa tingkat tinggi). Hal ini dapat dimodifikasi dengan mudah. Tetapi mikroprogram terletak antara hardware dan software. Tidak kaku seperti hardware dan karena itu dapat dimodifikasi. Karena itu, disebut firmware. Definisi asala firmware merujuk ke mikroprogram yang disimpan dalam memori control yaitu pada ROM. Definisi ini telah digunakan sejak lama dan kini setiap software yang disimpan dalam ROM diistilahkan ‘firmware’.

3.8 Keuntungan Microprogramming.

1. Desain MCU tidak kompleks dibandingkan dengan HCU. 2. Mikroprogram lebih fleksibel karena mudah memodifikasinya.

3. Set instruksi dapat dimodifikasi dengan mudah dengan mengubah mikroprogram tanpa memengaruhi datapath.

(42)

41

Pag

e

41

1. MCU lambat.

2. Untuk CPU kecil dengan sumber daya hardware yang sangat terbatas, MCU mahal dibandingkan dengan HCU.

Evaluasi !!!!

1) Jelaskan pengertian microprogrammed control unit!

(43)

42

Pag

e

42

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.

Unit control merupakan otak atau pusat syaraf hardware computer yang mengawasi pelaksanaan siklus instruksi dan membangkitkan sinyal – sinyal control yang relevan pada saat yang tepat supaya mikro- operasi yang tepat dapat dikerjakan pada CPU dan unit- unit eksternal lainnya seperi memori dan pengontrol IO/ perangkat.

Unit control dirancang untuk melakukan fungsi- fungsi berikut : - Reset

- Pengambilan instruksi - Eksekusi instruksi - Penanganan interupsi - Mengontrol bus

- Penanganan situasi abnormal.

Pengambilan instruksi merupakan pekerjaan yang dilakukan pada semua jenis instruksi dan tindakan yang diambil oleh unit control sama untuk semua instruksi. Pengambilan operand dan eksekusi instruksi berbeda pada berbagai opcode. Unit control menganalisis pola opcode dan mode pengalamatan dan tentunya melakukan tindakan/ aksi yang sesuia ( membangkitkan sinyal kontrol yang relevan).

(44)

43

Pag

e

43

masing- masing mikrooperasi. Unit kontrol asinkron dapat beroperasi lebih cepat daripada unit kontrol sinkron. Tetapi , unit kontrol sinkron dapat dirancang lebih mudah dan debugging kegagalan hardware dalam computer lebih mudah.

Unit kontrol computer pertama menggunakan jenis yang disebut hardwired control unit atau random logic. Unit kontrol ini membangkitkan sinyal- sinyal kontrol melalui sirkuit- sirkuit hardware. Unit kontrol jenis ini bekerja lebih cepat tetapi rancangannya menjadi kompleks untuk sbeuah prosesor besar.

Unit kontrol jenis yang kedua adalah microprogrammed control unit yang merupakan unit kontrol yang menggunakan konsep penyimpanan mikroprogram untuk pembangkitan sinyal- sinyal kontrol. Dia mempunyai sebuah memori ROM di dalam unit kontrol untuk penyimpanan pola- pola sinyal kontrol. Sinyal- sinyal kontrol dan urutan untuk setiap eksekusi instruksi dan aksi- aksi lainnya disimpan sebagai mikroinstruksi. Microprogrammed control unit lebih lambat karena harus dilakukan operasi pengambilan instruksi, tetapi rancangannya lebih mudah dan dapat dimodifikasi.

Mikroprogram horizontal menghasilkan eksekusi yang cepat tetapi menempati ruang yang lebih besar di dalam memori kontrol, sedangkan mikroprogram vertical mengurangi biayanya dengan mengurangi ruang memori kontrol tetapi lebih lambat.

Daftar Pustaka

- http://miftahari3f.blogspot.com/2012/10/pengertian-control-unit.html

Gambar

Gambar 6.1 fungsi-fungsi unit control
gambar 6.2. Setiap siklus instruksi  terdiri atas beberapa langkah seperti yang ditunjukkan pada
Gambar 6.2 Siklus instruksi
Tabel 6.3 langkah-langkah instruksi SKIPIFP, BUN,BZ dan BRAS
+7

Referensi

Dokumen terkait