400 likes | 841 Views
Operasi Unit Kontrol. Organisasi Komputer II STMIK – AUB Surakarta. Micro-Operations. Fungsi sebuah komputer adalah mengeksekusi program. Siklus Fetch/execute selalu terjadi Tiap siklus memiliki sejumlah langkah yang terdiri dari register-register CPU Ingat pipelining!
E N D
Operasi Unit Kontrol Organisasi Komputer II STMIK – AUB Surakarta
Micro-Operations • Fungsi sebuah komputer adalah mengeksekusi program. • Siklus Fetch/execute selalu terjadi • Tiap siklus memiliki sejumlah langkah yang terdiri dari register-register CPU • Ingat pipelining! • Tiap langkah disebut operasi mikro (micro-operation) • Tiap langkah berupa langkah sederhana (Atomic operation of CPU)
Fetch - 4 Registers • Memory Address Register (MAR) • Connected to address bus • Specifies address for read or write op • Memory Buffer Register (MBR) • Connected to data bus • Berisi data yang akan disimpan atau nilai terakhir yang dibaca • Program Counter (PC) • Holds address of next instruction to be fetched • Instruction Register (IR) • Holds last instruction fetched
Fetch Sequence • Address of next instruction is in PC • Address (MAR) is placed on address bus • Control unit issues READ command • Result (data from memory) appears on data bus • Data from data bus copied into MBR • PC incremented by 1 (in parallel with data fetch from memory) • Data (instruction) moved from MBR to IR • MBR is now free for further data fetches
Fetch Sequence (symbolic) • t1: MAR <- (PC) • t2: MBR <- (memory) • PC <- (PC) +1 • t3: IR <- (MBR) • (tx = time unit/clock cycle) • or • t1: MAR <- (PC) • t2: MBR <- (memory) • t3: PC <- (PC) +1 • IR <- (MBR)
Aturan Pengelompokan Operasi Mikro per Clock Cycle • Rangkaian kejadian yang benar harus dipenuhi • MAR <- (PC) harus mendahului MBR<- (memory) • Konflik harus dihindari • Tidak diperbolehkan membaca dan menulis ke register yang sama pada saat yang bersamaan • MBR <- (memory) & IR <- (MBR) must not be in same cycle • Perlu diperhatikan juga operasi penambahan : PC <- (PC) +1 • Use ALU • May need additional micro-operations
Indirect Cycle • MAR <- (IRaddress) - address field of IR • MBR <- (memory) • IRaddress <- (MBRaddress) • Field alamat instruksi dipindahkan ke MAR • MBR contains an address (alamat yang dipindahkan digunakan untuk mengambil alamat operand) • Alamat field IR diupdate dari MBR (IR berisi alamat langsung) • IR berada dalam status yang sama seperti halnya apabila pengalamatan tak langsung tidak pernah digunakan dan siap untuk siklus eksekusi
Interrupt Cycle • t1: MBR <-(PC) • t2: MAR <- save-address • PC <- routine-address • t3: memory <- (MBR) • Isi PC dipindahkan ke MBR • MAR dimuati alamat dimana isi PC akan disimpandan PC dimuati dengan alamat awal rutin pengolahan interrupt. • This is a minimum • CPU membutuhkan operasi mikro tambahan untuk memperoleh alamat simpan dan alamat rutin • N.B. saving context is done by interrupt handler routine, not micro-ops • Menyimpan MBR, yang berisi nilai PC lama ke memori
Execute Cycle (ADD) • Different for each instruction • e.g. ADD R1,X - add the contents of location X to Register 1 , result in R1 • t1: MAR <- (IRaddress) • t2: MBR <- (memory) • t3: R1 <- R1 + (MBR) • Note no overlap of micro-operations
Execute Cycle (ISZ) • ISZ X - increment and skip if zero • t1: MAR <- (IRaddress) • t2: MBR <- (memory) • t3: MBR <- (MBR) + 1 • t4: memory <- (MBR) • if (MBR) == 0 then PC <- (PC) + 1 • Notes: • if is a single micro-operation • Micro-operations done during t4
Persyaratan Fungsional • Menentukan elemen dasar CPU • Mendiskripsikan operasi mikro yang harus dilakukan CPU • Menentukan fungsi-fungsi yang harus dilakukan Control Unit agar menyebabkan operasi-operasi mikro.
Elemen Dasar Prosesor • ALU • elemen komputer paling dasar • Register • menyimpan data (informasi status program, memori, register dan modul I/O) • System Interconnection • Internal Data Path • memindahkan data antar register dan antara register dan ALU • External Data Path • menghubungkan register ke memori dan modul I/O dan terkadang dengan bus sistem • Control Unit • menyebabkan operasi dalam CPU
FUNGSI CONTROL UNIT • Sequencing (mengurutkan operasi) • Membuat CPU menuju sejumlah operasi mikro dalamurutan operasi tertentu yang benar, yang didasarkan pada program yang sedang dieksekusi • Mengeksekusi • Membuat kinerja setiap operasi mikro selesai dengan menggunakan sinyal kontrol tertentu
Types of Micro-operation • Transfer data between registers • Transfer data from register to external • Transfer data from external to register • Perform arithmetic or logical ops
Control Signals – Input (1) • Clock Cara unit kontrol dalam “menjaga waktu”nya. • One micro-instruction (or set of parallel micro-instructions) per clock cycle • Disebut clock cycle time atau processor cycle time • Instruction register • Op-code instruksi saat itu digunakan untuk menentukan operasi mikro mana yang akan dilakukan selama siklus eksekusi
Control Signals – Input (2) • Flags • Flag diperlukan untuk menentukan status CPU dan hasil sebelumnya yang diperoleh dari operasi-operasi ALU. • From control bus • Interrupts • Acknowledgements
Control Signals - output • Within CPU (Sinyal Kontrol dalam CPU) • Cause data movement (dari satu register ke register lainya) • Activate specific ALU functions • Via control bus (Sinyal Kontrol bagi Bus Kendali) • To memory • To I/O modules
Example Control Signal Sequence - Fetch • MAR <- (PC) • Control unit activates signal to open gates between PC and MAR • MBR <- (memory) • Open gates between MAR and address bus • Memory read control signal • Open gates between data bus and MBR
Organisasi Internal CPU • Biasanya menggunakan susunan bus single internal • Gates mengontrol perpindahan data dari setiap register dari dan ke bus • Control signals mengontrol perpindahan data dari dan ke bus sistem (eksternal) dan operasi ALU • Temporary registers needed for proper operation of ALU
Organisasi Internal CPU • Penggunaan lintasan data memudahkan layout interkoneksi dan kontrol CPU • Pemakaian bus internal menghemat ruang (secara fisik)
Hardwired Implementation (1) • Mengontrol input-input unit • Flag dan sinyal-sinyal kontrol bus • Umumnya, tiap bit memiliki arti tertentu. • Instruction register • Unit control menggunakan op-code dan tiap op-code akan melakukan aksi yang berbeda (sejumlah kombinasi sinyal-sinyal kontrol) instruksi berlainan • Input logika unik bagi setiap op-code • Decoder mengambil input yang didekode dan menghasilkan sebuah output • Umumnya, dekoder memiliki n input biner and 2n outputs biner
Hardwired Implementation (2) • Clock • Mengeluarkan rangkaian pulsa yang berulang-ulang • Berguna untuk mengukur durasi operasi mikro • Harus cukup panjang untuk memungkinkan terjadinya perambatan sinyal di sepanjang lintasan data dan merambat ke rangkaian CPU. • Sinyal kontrol yang berlainan dalam satuan waktu yang berbeda pada sebuah siklus instruksi tunggalnya • Dibutuhkan penghitung sebagai input bagi unit kontrol dengan input kontrol yang berbeda untuk tiap satuan waktunya.
Problems With Hard Wired Designs • Complex sequencing & micro-operation logic • Difficult to design and test • Inflexible design • Difficult to add new instructions