You are on page 1of 30

UNIT KONTROL

Oleh Cipta Wahyudi

Operasi Mikro
Fungsi Komputer -> Eksekusi Program Siklus Fetch/execute Masing2 Siklus memiliki beberapa Step
Lihat kembali pipelining

disebut Operasi mikro Setiap langkah -> langkah sederhana/kecil Operasi fungsional/atomik dari CPU

Elemen-elemen eksekusi Program

Fetch/Pengambilan - 4 Registers
Memory Address Register (MAR)
dihubungkan pada bus alamat untuk menspesifikasi alamat di dalam memori untuk operasi baca atau simpan

Memory Buffer Register (MBR)


dihubungkan pada bus data berisi nilai yang akan disimpan atau dibaca dari memori

Program Counter (PC)


untuk menampung alamat instruksi berikutnya yang akan diambil

Instruction Register (IR)


untuk menampung instruksi terakhir yang diambil

Siklus Pengambilan/Fetch
1. 2. 3. 4. 5. 6. 7. 8. Alamat instruksi berikutnya dimuatkan ke PC. Pindahkan alamat ke MAR pada bus alamat. Kontrol unit menspesifikasi perintah READ. Hasil (data dari memori) diletakkan ke bus data. Data di bus data dikirim ke MBR. PC menambah 1 nilainya. Data (instruksi) dipindahkan dari MBR ke IR. MBR sekarang bebas untuk fetch berikutnya.

Siklus Fetch (symbolik)


t1: MAR <- (PC) t2: MBR <- (memory) PC <- (PC) +1 t3: IR <- (MBR) (tx = time unit/clock cycle) atau t1: MAR <- (PC) t2: MBR <- (memory) t3: PC <- (PC) +1 IR <- (MBR)

Aturan pengelompokan Siklus


Rangkaian kejadian yang benar harus dipenuhi
MAR <- (PC) harus mendahului MBR <- (memory)

Terjadinya konflik harus dihindari


Tidak diperbolehkan membaca & menulis ke register yang sama dalam waktu yang sama MBR <- (memory) & IR <- (MBR) tidak boleh terjadi dalam satu satua waktu yang sama

Juga: PC <- (PC) +1 penambahan


menggunakan ALU Melibatkan tambahan operasi mikro

Siklus Tak Langsung


MAR <- (IRaddress) - Field alamat instruksi MBR <- (memory) IRaddress <- (MBRaddress) MBR berisi alamat Status IR sekarang sama spt Alamat langsung

Siklus interrupt
t1: MBR <- (PC) t2: MAR <- Alamat-simpan PC <- Alamat-rutin t3: memory <- (MBR) Contoh paling sederhana
Kemungkinan ada penambahan micro-ops utk pengambilan alamat Langkah akhir adalah menyimpan MBR, nilai PC yg lama ke memory

Siklus Eksekusi (ADD)


Berbeda utk masing2 instruksi ADD R1,X menambahkan isi lokasi X ke Register 1 , menaruh hasil di Register R1 t1: MAR <- (IRaddress) t2: MBR <- (memory) t3: R1 <- R1 + (MBR) Catatan tidak ada overlap dlm operasi mikro

Siklus Eksekusi(ISZ)
ISZ X - increment and skip if zero
t1: t2: t3: t4: MAR <- (IRaddress) MBR <- (memory) MBR <- (MBR) + 1 memory <- (MBR) if (MBR) == 0 then PC <- (PC) + 1

Siklus Eksekusi (BSA)


BSA X - Branch and save address
t1: t2: t3: MAR <- (IRaddress) MBR <- (PC) PC <- (IRaddress) memory <- (MBR) PC <- (PC) + 1

Siklus Instruksi
Siklus Instruksi operasi mikro elementer Instruction Cycle Code :
00 01 10 11 : : : : Fetch Indirect Execute Interupt

Gambaran sederhana urutan dari keempat siklus tsb :

Kontrol CPU
Definisi persyaratan fungsional ini merupakan dasar untuk perencanaan dan implementasi unit kontrol. Proses tiga langkah di bawah ini akan mampu memberikan karakterisasi unit kontrol :
1. Menentukan elemen dasar CPU. 2. Menjelaskan operasi mikro yang akan dilakukan CPU. 3. Menentukan fungsi fungsi yang harus dilakukan unit kontrol.

Kontrol CPU
1. Elemen Dasar Fungsional CPU
ALU Register Jalur Data Internal Jalur Data Eksternal Unit Kontrol

2. Eksekusi program -> Siklus Instruksi -> Operasi-operasi


Operasi-operasi mikro -> eksekusi setiap instruksi dalam set instruksi

Fungsi Unit Kontrol Eksplisit


Pengurutan (sequencing) unit kontrol bertugas mengontrol sejumlah operasi mikro dalam urutan yang benar. Eksekusi (execution) unit kontrol menyebabkan setiap opeasi mikro dilakukan.

Sinyal Kontrol
Memiliki input untuk menentukan status sistem Memiliki output untuk mengontrol tingkah laku sistem Secara internal memiliki logikalogika pengontrolan untuk membentuk fungsi pengurutan dan fungsi eksekusi Dipandang sebagai suatu sistem dengan input dan output

Input Unit Kontrol


Pewaktu (clock) : berfungsi untuk sinkronisasi operasi antar komponen komponen komputer, termasuk juga unit kontrol. Register Instruksi (instruction register) : opcode instruksi saat itu digunakan untuk menentukan operasi mikro yang akan dilakukan selama siklus eksekusi. Flag : flag flag ini diperlukan unit kontrol untuk mengetahui status CPU. Control signal to Control Bus : memberi jalur ke unit kontrol untuk sinyal sinyal seperti sinyal interrupt dan acknowledgment.

Output Unit Kontrol


Sinyal kontrol di dalam CPU (control signals within CPU) : Output ini terdiri dua macam sinyal, yaitu
sinyal sinyal yang menyebabkan perpindahan data antar register sinyal sinyal yang dapat mengaktifkan fungsi ALU yang spesifik.

Sinyal kontrol bagi bus kontrol (control signals to control bus) : sinyal ini juga terdiri atas 2 sinyal, yaitu
sinyal kontrol bagi memori dan sinyal kontrol bagi modul modul I/O.

Contoh Pengurutan Sinyal Kontrol Fetch (Pengambilan)


MAR <- (PC)
Unit Kontrol mengaktifkan sinyal untuk membuka gate antara PC dan MAR

MBR <- (memory)


membuka gate antara MAR dan bus alamat Memory membaca sinyal kontrol membuka gates antara bus data dan MBR

Organisasi Internal CPU


biasanya bus internal tunggal Gate mengontrol perpindahan data masuk dan keluar dari bus Sinyal kontrol mengatur perpindahan data dari dan menuju bus sistem eksternal Diperlukan register sementara untuk operasi dari ALU

Implementasi Unit Kontrol


1. Implementasi hardwired. 2. Implementasi microprogrammed

Implementasi Hardwired (1)


Intinya unit kontrol merupakan rangkaian kombinatorial. Sinyal sinyal logika inputnya akan didekodekan menjadi sekumpulan sinyal sinyal logika output, yang merupakan sinyal sinyal kontrol ke sistem komputer. Input unit kontrol meliputi sinyal sinyal register instruksi, pewaktu, flag, dan sinyal bus kontrol. Sinyal sinyal input tersebut sebagai masukan bagi unit kontrol dalam mengetahui status komputer Selanjutnya didekodekan menghasilkan sinyal keluaran untuk mengendalikan sistem kerja komputer.

Implementasi Hardwired (2)


Setiap instruksi memiliki opcode yang berbeda beda. Opcode yang berbeda dalam instruksi akan menghasilkan sinyal kontrol yang berbeda pula. Decoder dengan n buah input biner akan menghasilkan 2n output biner. 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

Masalah dalam Merancang Implementasi Hardwired


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

Implementasi Microprogramed
Unit kontrol memerlukan sebuah memori untuk menyimpan program kontrolnya Implementasi yang paling reliabel saat ini Fungsi fungsi pengontrolan dilakukan berdasarkan program kontrol yang tersimpan pada unit kontrol Fungsi fungsi pengontrolan tidak berdasarkan dekode dari input unit kontrol lagi. Teknik ini dapat menjawab kesulitan kesulitan yang ditemui dalam implementasi hardwired.

Kesimpulan (1)
Sebuah sub instruksi yaitu (pengambilan, siklus tak langsung, dan interupt) pada saat dijalankan harus dibagi lagi menjadi instruksi yang lebih kecil. Kebanyakan komputer dewasa ini telah dirancang dengan menggunakan kendali yang dimikroprogram sebagai pengganti system kendali perangkat keras. Tabel pemikroprogramman dan rangkaian rangkaian yang bersangkutan dari komputer saat ini jauh lebih kompleks, Akan tetapi gagasan utamanya tetap sama

Kesimpulan (2)
Mikroinstruksi disimpan didalam sebuah ROM kendali dan diakses dengan memberikan alamat mikroinstruksi yang dinginkan. Fungsi dasar dari Unit Control adalah Pengurutan dan pengeksekusian. Teknik implementasi unit kontrol dapat digolongkan menjadi dua yaitu: Implementasi hardwired dan Implementasi microprogrammed

You might also like