OperasiUnit Kontrol - Just another WordPress.com weblog · Sinyal kontrol yang berlainan dalam...

24
Operasi Unit Kontrol Organisasi Komputer II STMIK – AUB Surakarta

Transcript of OperasiUnit Kontrol - Just another WordPress.com weblog · Sinyal kontrol yang berlainan dalam...

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 dariregister-register CPU

�Ingat pipelining!

� Tiap langkah disebut operasi mikro (micro-operation)

� Tiap langkah berupa langkah sederhana (Atomic operation of CPU)

Constituent Elements of

Program Execution

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 terakhiryang 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 perti halnya apabila

pengalamatan tak langsung tidak pernah digunakan dansiap 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 memperolehalamat 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.

� ALU

�elemen komputer paling dasar

� Register

�menyimpan data (informasi status program, memori, register dan modul I/O)

� Internal Data Path

�memindahkan data antar register dan antara register dan ALU

� External Data Path

�menghubungkan register ke memori dan modul I/O danterkadang dengan bus sistem

� Control Unit

�menyebabkan operasi dalam CPU

Elemen Dasar Prosesor

FUNGSI CONTROL UNIT

� Sequencing (mengurutkan operasi)

� Membuat CPU menuju sejumlah operasi mikro dalamurutanoperasi tertentu yang benar, yang didasarkan pada program yang sedang dieksekusi

� Mengeksekusi

� Membuat kinerja setiap operasi mikro selesai denganmenggunakan 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 untukmenentukan operasi mikro mana yang akandilakukan selama siklus eksekusi

Control Signals – Input (2)

�Flags

�Flag diperlukan untuk menentukan status CPU danhasil sebelumnya yang diperoleh dari operasi-operasiALU.

�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 setiapregister dari dan ke bus

�Control signals mengontrol perpindahan data dari dan ke bus sistem (eksternal) dan operasiALU

�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 kombinasisinyal-sinyal kontrol) instruksi berlainan

�Input logika unik bagi setiap op-code

�Decoder mengambil input yang didekode danmenghasilkan 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 memungkinkanterjadinya perambatan sinyal di sepanjang lintasandata dan merambat ke rangkaian CPU.

�Sinyal kontrol yang berlainan dalam satuan waktuyang berbeda pada sebuah siklus instruksitunggalnya

�Dibutuhkan penghitung sebagai input bagi unit kontrol dengan input kontrol yang berbeda untuk tiapsatuan waktunya.

Problems With Hard Wired

Designs

�Complex sequencing & micro-operation logic

�Difficult to design and test

�Inflexible design

�Difficult to add new instructions