ORGANISASI & ARSITEKTUR KOMPUTER 2 UNIT CONTROL IBP WIDJA, MT 1
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 2
Operasi Mikro Setiap satu instruksi dapat dianggap sbg susunan sejumlah satuan siklus yg lebih kecil, misal (Fetch–execute 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. 3
Elemen2 Eksekusi Program 4
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 5
Urutan Event op.Siklus Fetch 6
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 7
op.Siklus Interupsi Diakhir siklus eksekusi akan terjadi pengujian apakah ada interupsi, bila ada interupsi maka terjadilah siklus interupsi Conoth Operasi mikro siklus interupsi serdernaha: t1: MBR <-- (PC) t2: MAR <-- Alamat_simpan PC <--- Alamat_rutin t3: Memory <-- (MBR) 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 8
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 9
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 10
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
11 (interupsi) ICC ? 00 (fetch) Interupsi Setup Opcode? Baca Alamat Mengambil Instruksi ICC=00 Eksekusi Instruksi ICC=10 ya Interupsi? tidak tidak Pengalamatan tak langsung ? ya ICC=11 ICC=00 ICC=10 ICC=01 12
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 13
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 14
Model Unit Kontrol Register Instruksi Sinyal Kontrol dalam CPU Unit Flag Sinyal Kontrol dari bus sistem Clock Sinyal Kontrol pd bus sistem Bus Kontrol 15
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 16
Output Sinyal Kontrol 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 Sinyal kontrol ke ”bus control” juga terdiri atas 2 sinyal, yaitu. sinyal kontrol ke memori sinyal kontrol ke modul-modul I/O 17
Implementasi Unit Kontrol Implementasi Hardwired Implementasi Microprogrammed 18
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. 19
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 20
21
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" T2 T0 T0 T1 T2 T2 LDA T3 T4 T5 T3 T5 STA T3 T5 T4 T3 T4 MBA T3 T3 ADD T4 T3 T4 SUB T4 T3 T4 JMP T3 T3 JN T3*NF T3*NF 22
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. 23
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 24
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 25
Kelebihan dan Kekurangan pada unit Kontrol Termikroprogram 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 . Kekurangan Unit Termikroprogram akan lebih lambat daripada unit hardwired Teknik ini banyak pada CISC dan unit kontrol hardwired lebih digunakan pada RISC 26
Eksekusi Instruksi Mikro Pada dasarnya eksekusi ini adalah untuk menghasilkan sinyal-sinyal kontrol Sebagian sinyal- sinyal tersebut menuju ke dalam CPU dan sebagian lagi ke bus kontrol eksternal atau antarmuka eksternal lainnya 27
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. 28
end of slide 29