Anda di halaman 1dari 29

ORGANISASI & ARSITEKTUR KOMPUTER 2 UNIT CONTROL

IBP WIDJA, MT

Pendahuluan

Eksekusi instruksi melibatkan rangkaian sub-langkah yg disebut siklus. Setiap siklus terdiri atas rangkaian operasi fundamental yg disebut operasi mikro. Unit Kontrol memiliki 2 tugas:

Membuat processor melakukan operasi mikro pada urutan yg sesuai yg ditentukan oleh program Menghasilkan sinyal kontrol yg menyebabkan setiap operasi mikro bisa dieksekusi

Sinyal kontrol yg dihasilkan oleh unit kontrol akan mempengaruhi logic gate shg data dapat berpindah. Teknik untuk menerapkan unit kontrol dapat dilakukan sebagai implementasi Hardwire atau implementasi Termikroprogram

Operasi Mikro

Setiap satu instruksi dapat dianggap sbg susunan sejumlah satuan siklus yg lebih kecil, misal (Fetchexecute di pipeline). Setiap satuan siklus kecil tersebut terdiri dari langkah2 operasi mikro Kata mikro mengacu pada fakta bahwa tiap langkah adalah sederhana dan akan menyelesaikan operasi terkecil Operasi mikro merupakan operasi prosessor yang fungsional dan atomic.

Elemen2 Eksekusi Program

op. Siklus Fetch


Contoh Siklus Fetch: Saat awal PC berisi 1100100 Memindahkan alamat ke MAR Bus Alamat mengandung alamat yg disimpan di MAR Unit kontrol mengeluarkan perintah READ pada kontrol bus. Hasilnya muncul di bus data dan disalin ke MBR Untuk menyiapkan instruksi berikutnya PC dinaikkan 1 Lankah terakhir adalah memindahkan isi MBR ke IR Dengan demikian siklus Fetch sederhana sebenarnya terdiri atas 3 langkah dan 4 operasi mikro Secara simbolik dapat ditulis sbb: t1: MAR <-- (PC) t2: MBR <-- Memory PC <-- (PC) + I t3: IR <-- (MBR) t1,t2 dan t3 mrpk unit waktu yg berdurasi sama & berurutan

Urutan Event op.Siklus Fetch

op.Siklus Fetch tak langsung

Operasi mikro sederhana untuk siklus fetch tidak langsung:

t1: MAR <-- (IR (alamat)) t2: MBR <-- Memory t3: IR (alamat) <--( MBR (alamat))

Bidang alamat instruksi dipindahkan ke MAR Bidang alamat tersebut digunakan untuk mengambil alamat operand Alamat IR diperbaharui oleh MBR sedemikian shg berisi alamat langsung bukannya alamat tak langsung

op.Siklus Interupsi

Diakhir siklus eksekusi akan terjadi pengujian apakah ada interupsi, bila ada interupsi maka terjadilah siklus interupsi

Isi PC ditransfer ke MBR


MAR kemudian dimuati oleh alamat isi PC yg akan disimpan. PC akan dimuati awal rutin pengolahan interupsi. Menyimpan MBR yg berisi isi PC yg lama ke dalam memori

Conoth Operasi mikro siklus interupsi serdernaha: t1: MBR <-- (PC) t2: MAR <-- Alamat_simpan PC <--- Alamat_rutin t3: Memory <-- (MBR)

op.Siklus Eksekusi

Siklus Eksekusi merupakan siklus yg tidak mudah untuk diprediksi dng demikian diambil contoh: ADD R1, X operasi mikro yg terjadi: t1: MAR<--IR(alamat) t2: MBR<--Memory t3: R1<--R1+MBR operasi diatas mrpk op. yg sangat sederhana, masih dibutuhkan beberapa op.lagi untuk menyimpan result ke memory

Contoh lain eksekusi branch and save address pd instruksi:


BSA X Alamat instruksi yg berada setelah instruksi BSA disimpan di lokasi X. Dan eksekusi dilanjutkan pada lokasi X+1 op. nya: t1: MAR<--(IR (Alamat)) MBR<--(PC) t2: PC<--(IR (Alamat)) memory<--(MBR) t3: PC<--(PC) + I

op.Siklus Instruksi

Jadi setiap fase siklus instruksi akan diuraikan menjadi rangkaian op.elementer. Seluruh rangkaian op.dapat digambarkan secara utuh dgn mengandaikan register 2-bit yg berisi ICC (Instruction Code Cycle):

00: Fetch 01: Indirect Fetch 10: Eksekusi 11: Interupsi

Siklus tidak langsung selalu diikuti siklus eksekusi. Siklus Interupsi selalu diikuti siklus fetch Diagram dibawah menggambarkan rangkaian op.lengkap yg hanya tergantung rangkain instruksi dan pola interupsi

op.Siklus Instruksi

Jadi setiap fase siklus instruksi akan diuraikan menjadi rangkaian op.elementer. Seluruh rangkaian op.dapat digambarkan secara utuh dgn mengandaikan register 2-bit yg berisi ICC (Instruction Code Cycle):

00: Fetch 01: Indirect Fetch 10: Eksekusi 11: Interupsi

Siklus tidak langsung selalu diikuti siklus eksekusi. Siklus Interupsi selalu diikuti siklus fetch Diagram dibawah menggambarkan rangkaian op.lengkap yg hanya tergantung rangkain instruksi dan pola interupsi

11 (interupsi)

ICC ?

00 (fetch)

Interupsi Setup

Opcode?

Baca Alamat Mengambil Instruksi ICC=10 tidak


Pengalamatan tak langsung ?

ICC=00

Eksekusi Instruksi
ya Interupsi ? tidak

ya

ICC=11

ICC=00

ICC=10

ICC=01

Kontrol Prosessor

Definisi fungsional dari tentang apa yang dilakukan oleh unit kontrol adalah:

Pengurutan: unit kontrol menyebabkan prosessor menuju sejumlah operasi mikro dalam urutan yg benar berdasarkan pada program yang sedang dieksekusi Eksekusi: Unit kontrol menyebabkan setiap operasi mikro dilakukan

Cara unit kontrol beroperasi yaitu dengan menggunakan sinyal-sinyal kontrol

Sinyal Kontrol

Spesifikasi eksternal: Dalam melaksanakan fungsinya, Unit Kontrol harus memiliki input yg memungkinkan untuk mengetahui status sistem dan memiliki output yg dapat mengatur prilaku sistem Spesifikasi internal: Unit kontrol harus memiliki logika yg diperlukan untuk membentuk fungsi pengurutan dan fungsi eksekusinya
Elemen2 sinyal kontrol: Sinyal yg mengaktivasi fungsi-fungsi ALU Sinyal yg mengaktivasi alur-alur data Sinyal pd bus sistem eksternal atau interface lainnya

Model Unit Kontrol


Register Instruksi

Sinyal Kontrol dalam CPU Flag Unit Kontrol Clock Sinyal Kontrol dari bus sistem

Sinyal Kontrol pd bus sistem


Bus Kontrol

Input Unit Kontrol


Unit kontrol mempunyai beberapa input, diantaranya: Clock: berfungsi untuk sinkronisasi operasi antar komponen Flag: flag-flag ini diperlukan unit kontrol untuk mengetahui status CPU. Flag diset ALU sebagai hasil dari suatu operasi, misalnya: overflow flag, diset 1 bila hasil komputasi melampaui panjang register tempat flag disimpan. Instruction register: menggunakan opcode untuk menentukan operasi mikro yang akan dilakukan selama siklus eksekusi Sinyal kontrol dari bus control: memberi jalur ke unit kontrol untuk sinyal-sinyal tertentu, seperti sinyal interrupt dan sinyal acknowledgment

Output Sinyal Kontrol


1. Sinyal kontrol di dalam CPU (control signals within CPU): output unit kontrol terdiri dari dua macam sinyal, yaitu: Sinyal-sinyal yang dapat mengaktifkan fungsi ALU yang spesifik sinyal-sinyal yang menyebabkan perpindahan data antar register 2. Sinyal kontrol ke bus control juga terdiri atas 2 sinyal, yaitu. sinyal kontrol ke memori sinyal kontrol ke modul-modul I/O

Implementasi Unit Kontrol


Implementasi Hardwired Implementasi Microprogrammed

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

Implementasi Hardwired...

Masalah dalam Merancang Implementasi Hardwired:


Memiliki kompleksitas dalam pengurutan dan operasi mikronya Sulit didesain dan dilakukan pengetesan Tidak fleksibel Sulit untuk menambahkan instruksi baru

A Matrix of Times at which Each Control Signal Must Be Active in Order to Execute the Hard-wired Basic Computer's Instructions
Control Signal: IP LP EP LM R W LD ED LI EI LA EA A S EU LB

Instruction:
----------------------------------------------------------------------------"Fetch" LDA STA MBA ADD SUB JMP JN T3 T3*NF T4 T4 T3 T3*NF T2 T0 T0 T1 T3 T4 T3 T5 T4 T5 T2 T2 T3 T5 T3 T3 T3 T4 T3 T4

T3 T4

Implementasi Microprogrammed
Implementasi yang paling reliabel saat ini adalah implementasi microprogrammed. Unit kontrol memerlukan sebuah memori untuk menyimpan program kontrolnya. Fungsifungsi pengontrolan dilakukan berdasarkan program kontrol yang tersimpan pada unit kontrol. Selain itu, fungsifungsi pengontrolan tidak berdasarkan dekode dari input unit kontrol lagi. Teknik ini dapat menjawab kesulitankesulitan yang ditemui dalam implementasi hardwired.

Unit Kontrol Termikroprogram

Set instruksi mikro disimpan didalam memori kontrol

Register alamat kontrol berisi alamat instruksi mikro berikut yg akan dibaca
Ketika instruksi mikro dibaca dari memori kontrol, instruksi tersebut dipindahkan ke register buffer kontrol

Sequence logic memuatkan register alamat kontrol dan mengelarkan instruksi read

Unit Kontrol Termikroprogram ...

Untuk mengeksekusi instruksi SL mengeluarkan read ke CM Word yg terbaca dng alamat dari CAR akan ditransfer dari CM ke CBR Isi dari CBR menghasilkan sinyal kontrol & informasi alamat berikutnya untuk menuntun SL SL akan memuat sebuah alamat baru ke CAR berdasarkan informasi dari CBR dan ALU flag Semua kejadian diatas terjadi selama 1 pulsa clock

Kelebihan dan Kekurangan pada unit Kontrol Termikroprogram

Kelebihan:

Dapat menyederhanakan perancangan unit kontrol Lebih murah dan lebih sedikit kesalahan yg bisa terjadi pada saat implementasi Penerapan Sequence Logic dan Dekoder merupakan bagian logika yg mudah daripada unit kontrol hardwire yg merupakan circuit logic yg sangat kompleks . Unit Termikroprogram akan lebih lambat daripada unit hardwired

Kekurangan

Teknik ini banyak pada CISC dan unit kontrol hardwired lebih digunakan pada RISC

Eksekusi Instruksi Mikro

Pada dasarnya eksekusi ini adalah untuk menghasilkan sinyal-sinyal kontrol Sebagian sinyalsinyal tersebut menuju ke dalam CPU dan sebagian lagi ke bus kontrol eksternal atau antarmuka eksternal lainnya

Aplikasi Pemrograman Mikro

Semenjak pemrograman mikro populer di th 1960 maka terdapat banyak variasi implementasi. Aplikasi tsb meliputi:

Realisasi Komputer Emulasi : mengemulasi mesin lain Dukungan sistem operasi: peningkatan kinerja dng implementasi bentuk2 primitif untuk menggantikan bagian penting software SO Realisasi spesial equipment: Card modem, dsg Dukungan bahasa tingkat tinggi: Jenis yg dapat langsung diterapkan pada firmware Cobol, Foltran Dianostic mikro: firmware untuk mendukung pengawasan, pendeteksian, isolasi dan perbaikan kesalahan sistem Penyesuaian pemakai: memori kontrol pd RAM bukan ROM shg user dapat melakukan program mikro sesuai dengan keperluan user tsb.

end of slide

Anda mungkin juga menyukai