Unit Kendali (2) CONTROL UNIT. RegDst Branch. MemRead. MemToReg. Instruction (31-26) ALUOp MemWrite. ALUSrc. RegWrite

dokumen-dokumen yang mirip
Eksekusi instruksi Tipe R, LW-SW, Beq, dan Jump (Pertemuan ke-24)

Eksekusi instruksi Tipe R, LW-SW, Beq, Jump, dan Model Pengalamatan (Pertemuan ke-24)

Arsitektur Prosesor MIPS Multi Siklus (Pertemuan ke-27)

Arsitektur MIPS Satu Siklus (Pertemuan ke-23)

Instruksi-Instruksi MIPS

Team Stanford University

ORGANISASI DAN ARSITEKTUR KOMPUTER MIPS

Bab 2. Instructions: Bahasa dari Komputer

INSTRUKSI MIPS. agussalim

Kumpulan instruksi lengkap yang dimengerti

ORGANISASI KOMPUTER DASAR

CENTRAL PROCESSING UNIT CPU

Arsitektur dan Organisasi Komputer. Set instruksi dan Pengalamatan

PROGRAM STUDI S1 SISTEM KOMPUTER UNIVERSITAS DIPONEGORO. Oky Dwi Nurhayati, ST, MT

CENTRAL PROCESSING UNIT (CPU) Sebuah mesin tipe von neumann

CENTRAL PROCESSING UNIT (CPU)

Pertemuan ke 6 Set Instruksi. Computer Organization Dosen : Eko Budi Setiawan

3. ALU. Tugas utama adalah melakukan semua perhitungan aritmatika dan melakukan keputusan dari suatu operasi logika.

Set Instruksi: Set instruksi?

ARSITEKTUR KOMPUTER SET INSTRUKSI

SET INSTRUKSI. Organisasi dan Arsitektur Komputer

Tahun Akademik 2015/2016 Semester I DIG1B3 Konfigurasi Perangkat Keras Komputer

Arsitektur Set Instruksi. Abdul Syukur

DCH1B3 Konfigurasi Perangkat Keras Komputer

CONTROL UNIT. Putu Putra Astawa

MAKALAH MODE DAN FORMAT PENGALAMATAN SET INSTRUKSI. Nama : Annisa Christyanti Kelas : XI TJA 3 NIS :

SOAL UAS SISTEM KOMPUTER Kelas XI RPL & TKJ

Hanif Fakhrurroja, MT

PERANCANGAN CONTROL UNIT, PROGRAM COUNTER (PC), DAN MEMORI INSTRUKSI PADA PROSESSOR RISC 16-BIT DENGAN TEKNOLOGI 600nm MENGGUNAKAN ELECTRIC

Struktur Fungsi CPU. Mata Kuliah Arsitektur Komputer Program Studi Sistem Informasi 2013/2014 STMIK Dumai -- Materi 03 --

PENGANTAR ORGANISASI DAN ARSITEKTUR KOMPUTER CENTRAL PROCESSING UNIT

Simple As Possible (SAP) - 2. Abdul Syukur

JAWABAN ORGANISASI KOMPUTER 7 Agustus 2004

Operasi Unit Kontrol. Organisasi Komputer II. STMIK AUB Surakarta

Assembly MIPS (bag-2) (Pertemuan ke-26)

STRUKTUR CPU. Arsitektur Komputer

Oleh: 1. Singgih Gunawan Setyadi ( ) 2. Handung Kusjayanto ( ) 3. Wahyu Isnawan ( )

DCH1B3 Konfigurasi Perangkat Keras Komputer SAP-2

Hal-hal yang perlu dilakukan CPU adalah : 1. Fetch Instruction = mengambil instruksi 2. Interpret Instruction = Menterjemahkan instruksi 3.

Struktur dan Fungsi CPU. Ptputraastawa.wordpress.com

Organisasi Komputer & Organisiasi Prosesor

Operasi Unit Kontrol. Arsitektur Komputer II. STMIK AUB Surakarta

Organisasi Sistem Komputer

ORGANISASI SISTEM KOMPUTER & ORGANISASI CPU Oleh: Priyanto

BAB VI ARSITEKTUR KOMPUTER

Dua komponen yang menjalankan proses dalam komputer, yaitu : Central Processing Unit (CPU) Memory Kedua komponen tersebut terletak pada Motherboard.

STRUKTUR FUNGSI CPU. Menjelaskan tentang komponen utama CPU. Membahas struktur dan fungsi internal prosesor, organisasi ALU, control unit dan register

PERTEMUAN. 1. Organisasi Processor. 2. Organisasi Register

ARSITEKTUR DAN ORGANISASI KOMPUTER

Organisasi Komputer. Candra Ahmadi, MT

PERTEMUAN MINGGU KE-5 ARSITEKTUR SET INSTRUKSI

ORGANISASI INTERNAL PROSESOR Oleh: Priyanto

BAB III ANALISA DAN PERANCANGAN APLIKASI

TUGAS MAKALAH STRUKTUR dan FUNGSI CPU GURU PEMBIMBING: IVAN ARIVANDI. Oleh: NOVY PUSPITA WARDANY

Transfer Register. Andang, Elektronika Komputer Digital 1

Simple As Possible (SAP) - 1. Abdul Syukur

SISTEM MIKROPROSESOR RIZAL SURYANA JURUSAN TEKNIK ELEKTRO - UNJANI

Set Instruksi & Mode Pengalamatan. Team Dosen Telkom University 2016

Arsitektur dan Organisasi

CPU PERKEMBANGAN ARSITEKTUR CPU. ( Central Processing Unit )

KONSEP DASAR SISTEM KOMPUTER

Pertemuan ke - 5 Struktur CPU

Bagian 2 STRUKTUR CPU

Kumpulan Instruksi dan Assembly MIPS (Pertemuan ke-25)

William Stallings Computer Organization and Architecture. Chapter 9 Set Instruksi: Karakteristik dan Fungsi

Aditya Wikan Mahastama

Hanif Fakhrurroja, MT

Materi 4: Assembly Language Programming

Pertemuan 2 Organisasi Komputer II. Struktur & Fungsi CPU (I)

Organisasi Komputer II STMIK AUB SURAKARTA

Oleh : Agus Priyanto, M.Kom

ARSITEKTUR SET INSTRUKSI. Ptputraastawa.wordpress.com

OPERATION SYSTEM. Jenis - Jenis Register Berdasarkan Mikroprosesor 8086/8088

Pengantar Teknologi Informasi. Evangs Mailoa (evangsmailoa.wordpress.com) Fakultas Teknologi Informasi UKSW

MODUL PRAKTIKUM SISTEM OPERASI PRAKTIKUM I MODEL PEMROGRAMAN 1

Dalam bahasan instruksi telah dipahami cara bekerjanya ALU, register, dan Memori dalam mengeksekusi sebuah instruksi.

CHAPTER 16 INSTRUCTION-LEVEL PARALLELISM AND SUPERSCALAR PROCESSORS

Arsitektur SAP-2 W BUS ACKNOWLEDGE HEXADECIMAL KEYBOARD ENCODER ACCUMULATOR INPUT PORT 1 ALU FLAGS READY INPUT PORT 2 SERIAL IN PROGRAM COUNTER TMP

Perangkat Keras Komputer dan Perangkat Input Output

Pendahuluan BAB I PENDAHULUAN

Unit Control (Hardwired and Micro-programmed)

BAB IV IMPLEMENTASI DAN PENGUJIAN IMPLEMENTASI DAN PENGUJIAN

IKI20210 Pengantar Organisasi Komputer Kuliah Minggu ke-3: Bahasa Rakitan AVR

Materi 5: Processor Structure & Function

Simple As Posible 2 (bag-1)

Pertemuan Ke-7 INSTRUCTION SET

7.1 Pendahuluan. 7.2 Central Processing Unit (CPU)

ORGANISASI DAN ARSITEKTUR KOMPUTER TUGAS KELOMPOK

Mikrokontroller Berbasiskan RISC 8 bits

Mikroprosesor. Nuryono Satya Widodo, S.T.,M.Eng. Mikroprosesor 1

Materi 3: Instruction Set

Arsitektur Dan Organisasi Komputer. Pengantar Arsitektur Organisasi Komputer

MAKALAH. Mata Kuliah. Arsitektur dan Organisasi Komputer

SET INSTRUKSI. ORGANISASI DAN ARSITEKTUR KOMPUTER

PROSESOR: CONTROL DAN DATAPATH. Oky Dwi Nurhayati, ST, MT

Organisasi & Arsitektur Komputer

Materi 6: Control Unit Operations

Soal Komunikasi Data Kelas XI TKJ

Organisasi Komputer II. Micro-programmed Control. (Kontrol Termikroprogram)

Pengantar Teknologi Informasi A. Pertemuan 7. Prossesor & Memori

Transkripsi:

Unit Kendali

MIPS Datapath #1

Unit Kendali (1) Tujuan: mengendalikan semua aktifitas prosesor, atau lebih tepatnya untuk mengendalikan semua komponen seperti ALU, PC, Register, dll Masukan: Operation Code (Opcode) = 6 bit Keluaran (9 bit): 1. RegDst 2. Branch 3. MemRead 4. MemtoReg 5. ALUOp (2 bit) 6. MemWrite 7. ALUSrc 8. RegWrite #2

Unit Kendali (2) RegDst Branch Instruction (31-26) CONTROL UNIT MemRead MemToReg ALUOp MemWrite ALUSrc RegWrite Masukan/input instruksi bit 31-26 adalah kode operasi Unit kendali akan menterjemahkan kode operasi dan mengeluarkan 9 bit kendali yang mengendalikan jalannya prosesor #3

Input Unit Kendali (1) Instruksi 32 bit terdiri dari opcode dan operand: 6 bit di awal (dari MSB atau dari kiri) disebut opcode 26 bit berikutnya adalah operand Contoh: ($ = register; s = source; t = target; d = destination) #4

Input Unit Kendali (2) Operation Code (Opcode 6 bits) = jenis instruksi yang akan dieksekusi Misal instruksi add $t2, $s2, $t1 Artinya: jumlahkan data dalam register $s2 dan $t1 dan simpan hasilnya ke dalam register $t2 Instruksi dalam biner: 6 bit 5 bit 5 bit 5 bit 5 bit 6 bit bit ke: 31-26 25-21 20-16 15-11 10-6 5-0 000000 10010 01001 01010 00000 100000 Opcode <-----------------Operand ------------> 000000 adalah kode operasi untuk aritmatika (R) 10010 adalah nomor $s2 = 18 01001 adalah nomor $t1 = 9 01010 adalah nomor $t2 = 10 00000 tidak digunakan dalam operasi aritmatika 100000 adalah kode fungsi operasi add #5

Output CU: RegDst Tujuan: untuk mengendalikan multiplekser yang menentukan nomor register yang akan ditulisi (Write Register) Mux Input: bit instruksi 5 bit [20-16] atau [15-11] Mux Output: 5 bit tergantung nilai RegDst If RegDst = 0 then output = Instruction[20-16] If RegDst = 1 then output = Instruction[15-11] #6

Output CU: Branch (1) Shift Left 2 ADD ALU Result 0 M U X 1 Branch ALU Zero Flag Result Tujuan: Bersama dengan zero flag dari ALU digunakan untuk mengendalikan mux yang memilih sumber nilai PC selanjutnya If Zero flag=1 and Branch=1 then branch occur If not (zero flag=1 and branch=1) then branch not occur #7

Output CU: Branch (2) Jika branch tidak terjadi: (control branch = 0) Output Mux berasal dari keluaran adder yang menjumlahkan PC dengan 4 (desimal) PC = PC + 4 Jika branch terjadi: (control branch = 1) Output Mux berasal dari keluaran adder yang menjumlahkan (PC+4) dengan hasil dari Shift left 2 PC = (PC+4) + hasil dari Shift left 2 #8

Output CU: MemRead (1) Tujuan: Untuk mengaktifkan memori data agar data dari memori data dapat dibaca If MemRead=1 then Read Data Data Memory[address] #9

Output CU: MemRead (2) Memori bisa dibaca dan bisa ditulisi secara bergantian Pada saat memori dibaca, maka memori tidak dapat ditulisi, demikian pula sebaliknya MemRead mengendalikan pembacaan memori Jika MemRead bernilai 1 maka isi memori dapat dibaca melalui pin Read Data #10

Output CU: MemToReg (1) Tujuan: Untuk mengendalikan mux yang menentukan asal data yang akan ditulis ke dalam register apakah dari memori data atau dari hasil ALU If MemtoReg=0 then Register Data Memory If MemtoReg=1 then Register ALUResult #11

Output CU: MemToReg (2) Jalur kendali yang mengendalikan multiplexer 2 ke 1 Mux tersebut memilih salah satu input yang berasal dari ALU atau dari memori Jika MemToReg bernilai 1 maka data yang menuju Register berasal dari ALU Jika MemToReg bernilai 0 maka data yang menuju Register berasal dari Memori #12

Output CU: ALUOp (1) Tujuan: untuk memilih jenis operasi ALU yang akan dilakukan yang ditentukan oleh nilai 6 bit instruksi [5-0], sebagai fungsi dalam tipe R #13

Output CU: ALUOp (2) AluOp adalah jalur kendali yang mengendalikan ALU control ALU control menentukan jenis instruksi yang dikerjakan oleh ALU Input dari ALU control berasal dari 6 bit fungsi (Function field) dari bit 0 5 Pada instruksi tipe-r jenis operasinya ditentukan oleh keenam bit ini Apa maksud dari set on less than? #14

Output CU: MemWrite (1) Tujuan: Untuk mengaktifkan memori data agar dapat ditulisi dengan data yang berasal dari register (Read Data 2) If MemWrite=1 then DataMemory[ALUResult] Read Data 2 #15

Output CU: MemWrite (2) MemWrite mengendalikan penulisan memori Alamat memori yang akan ditulisi ditentukan oleh hasil dari operasi ALU Data yang dimasukkan ke dalam memori berasal dari register (Read Data 2) #16

Output CU: ALUSrc Tujuan: Untuk mengendalikan mux yang menentukan asal data yang akan diolah oleh ALU apakah berasal dari register (Read Data 2) atau dari SignExtend(Instruction[15-0]) If ALUSrc=0 then ALUInput Register If ALUSrc=1 then ALUInput SignExtend(Instruction[15-0]) #17

Output CU: RegWrite Tujuan: Untuk mengaktifkan register agar register dapat ditulisi Data yang ditulisi bisa berasal dari memori atau dari hasil operasi ALU If RegWrite=1 then Register[writeRegister] Write Data #18

Instruksi-Instruksi MIPS

Instruksi Instruksi disimpan dalam memori pada alamat awal Data disimpan di memori pada alamat akhir Bagaimana mengeksekusi instruksi? Pada umumnya terdapat tiga tahap: Fetch: Pengambilan Decode: Penerjemahan Execute: Eksekusi Pada beberapa prosesor tahapannya bisa lebih dari 3 tahap #20

Fetch (1) Tujuan: untuk mengambil instruksi dari memori instruksi ke register Instruksi memiliki lebar 32 bit Setiap 8 bit menggunakan 1 alamat memori, sehingga satu instruksi menempati 4 alamat Karena satu instruksi disimpan dalam 4 alamat maka PC akan ditambah nilainya dengan 4 setiap kali selesai mengambil instruksi #21

Fetch (2) 32 4 32 ADD Result 32 RegDst Branch Shift Left 2 32 32 ALU Result ADD 32 32 0 M U X 1 PCSrc MemRead Instruction (31-26) 6 CONTROL UNIT MemToReg ALUOp MemWrite ALUSrc PC Read Address Instruction (31-0) INSTRUCTION MEMORY 32 Instruction (25-21) Instruction (20-16) Instruction (15-11) RegDst 0 M U X 1 5 5 5 32 Read Register 1 Read Register 2 Write Register Write Data RegWrite REGISTERS Read Data 1 Read Data 2 ALUSrc 0 M U X 1 32 32 Zero Flag ALU Result 32 3 32 Address MemWrite DATA MEMORY Write Data Read Data MemToReg 1 M U X 0 Instruction (15-0) Instruction (5-0) Sign Extend 16 32 6 ALUOp ALU Control 2 MemRead 32 #22

Fetch (3) Misal instruksi add $t2, $s2, $t1 Bahasa mesin: 00000010 01001001 01010000 00100000 Disimpan dalam memori: Address 0 00000010 Address 1 01001001 Address 2 01010000 Address 3 00100000 Fetch: Instruction Register 00000010010010010101000000100000 PC PC+4 # untuk mengambil instruksi berikutnya #23

Decode (1) RegDst Branch MemRead Instruction (31-26) CONTROL UNIT MemToReg ALUOp MemWrite ALUSrc RegWrite Tujuan: untuk menterjemahkan kode operasi (instruction[31-26]) dan menghasilkan 9 bit kontrol (microinstruction) Opcode: 6 bits awal instruksi yang terdapat dalam register instruksi Unit kendali mendefinisikan tipe instruksi dan membuat 9 bit kendali #24

Decode (2) Dalam unit kendali terdapat ROM yang berguna untuk menterjemahkan instruksi Kode operasi sebagai input akan diproses sehingga dikeluarkan satu kombinasi jalur kendali 9 bit Nilai yang keluar dari unit kendali disebut mikroinstruksi Mikroinstruksi mengendalikan operasi pada datapath #25

Execute Tujuan: mengeksekusi instruksi Instruksi dibagi menjadi tiga kelas: R-type Load/Store-type Branch-type Tipe R adalah tipe aritmetik Tipe Load/Store melakukan pengaksesan memori baik menyimpan maupun membaca Tipe Branch digunakan untuk instruksi lompatan dan pencabangan Setting jalur kendali tergantung field opcode pada instruksi: #26

Instruksi Tipe-R (1) 0: opcode (6 bit = 000000) rs: register source (5 bit) = Read register 1 = nomor register yang digunakan untuk menaruh operand pertama rt: register target (5 bit) = Read register 2 = nomor register yang digunakan untuk menaruh operand kedua rd: register destination (5 bit) = Write register = nomor register yang digunakan untuk menaruh hasil dari ALU shamt: tidak digunakan (5 bit = 00000) funct: jenis fungsi yang akan dilakukan oleh ALU (6 bit) = and, or, add, substract, dan set on less than #27

Instruksi Tipe-R (2) Pada instruksi tipe R kode operasinya sama yaitu 000000 Pembeda satu instruksi dengan instruksi yang lain adalah pada 6 bit bagian bawah (LSB) sebagai fungsi operasi aritmetik Untuk melakukan operasi ALU sesuai dengan instruksi digunakan control ALU dengan input 6 bit terbawah dari instruksi #28

Instruksi Tipe-R (3) #29

Instruksi Tipe-R (4) Terdapat beberapa komponen yang terlibat pada pengeksekusian tipe aritmatik: Register ALU MUX ALU control Keempat komponen tersebut beroperasi saling bebas #30

Instruksi Tipe-R (5) Contoh operasi R-Type: add $t1,$t2,$t3 1. Ambil instruksi dari memori instruksi pada alamat yang terdapat di dalampc 2. Update isi PC dengan menambah 4 3. Baca isi dua register yaitu $t2 (Read register 1) dan $t3 (Read register 2) dari register file 4. Unit kendali menentukan setting baris kendali 5. ALU mengoperasikan data yang dibaca dari register file menggunakan kode fungsi (yaitu bit 5 0 atau field funct dari instruksi) untuk menghasilkan fungsi ALU 6. Hasil dari ALU dituliskan ke dalam register file menggunakan bit 15-11 dari instruksi untuk memilih register tujuan $t1 (Write register) #31

Instruksi Tipe-R (6) Nilai tiga bit jalur kendali ALU Input kendali ALU berasal dari 6 bit terbawah instruksi Kendali ALU dikendalikan oleh ALUOp #32

Instruksi Tipe-R (7) Kendali operasi pada ALU ditentukan oleh ALUOp dan field fungsi Bagaimana bit kendali ALU diset tergantung dari bit kendali ALUOp dan fungsi yang berbeda untuk instruksi tipe-r #33

Instruksi Tipe-R (8) Tabel kebenaran untuk tiga bit kendali ALU Pada saat ALUOp bernilai 00 (LW dan SW) atau X1 (branch), maka field fungsi tidak digunakan Pada saat ALUOp bernilai 1X (R-type), maka field fungsi digunakan untuk menentukan operasi yang akan dilakukan oleh ALU #34

Referensi Hennessy, John L. dan Patterson, David A. 2005. Computer Organization and Design: The Hardware/Software Interface. 3 rd edition. Morgan Kaufmann publisher Inc. San Fransisco. USA http://chortle.ccsu.edu/assemblytutorial/ Chapter- 01/ #35