You are on page 1of 9
PAPER MIPS (Million Instructions Per Second) STT CIPASUNG Imanuel Haba Lado 10221022 Arsitektur dan organisasi komputer MIPS (Million Instructions Per Second) MIPS adalah sebuah arsitektur atau teknologi dari sebuah chip processor berbasis RISC. Di dunia ini, terdapat due teknologi besar dari intruksi set yang digunakan oleh processor yaitu CISC dan RISC. Untuk CISC digunakan di komputer dan PC, sedangkan RISC digunakan di perangkat mobile, tablet dan embedded. MIPS dikembangkan oleh John L Hennesy di Stanford University pada tahun 1981 KomponenUtama MIPS © Control Unit © Program Counter * Instruction Memory © Data Memory © Register * AW BLOK DIAGRAM MIPS CONTROL UNIT Control Unit berfungsi untuk mengendalikan semua aktifitas prosesor. Kode operasi diterjemahkan untuk mengetahui jenis instruksinya. Input dari opcode mempunyai panjang 6 bit. Keluaran kendali semua komponen dalam MIPS dengan panjang 9 bit. Instruction 31.25) .¢ 5) CONTROL unit [ALUOp —_ Alokasi Bit Pada CPU © RegDst: 1 bit Branch: 1 bit @ = =MemRead: 1 bit © MemToReg: 1 bit * ALUOP: 2 bit © MemWrite: 1 bit * ALUSro: 1 bit © RegWrite: 1 bit PROGRAM COUNTER 32 bit 32 bit PC+4 Program Counter berfungsi untuk menghitung alamat instruksi berikutnya yang akan dieksekusi. Memiliki Input=32 bit dan Keluaran 32bit pada memori instruksi. Lebar data 32 bit sehingga maksimal instruksinya yang dapat di akses adalah 2” buah instruksi Pencacahakan mengeluarkan nilai secara sekuensial dari 0x00000000 sampai 0x11111111. Jika ada instruksi pencabangan maka nilai pencacahakan ditambah 4 setiap kali selesai instruksi INSTRUCTION MEMORY Instruction Memory berfungsi untuk menyimpan instruksi yang akan di eksekusi Input alamat memori yang digunakan untuk menyimpan instruksi sebanyak 32 bit dari PC. Mempunyai keluaran instruksi sebanyak 32 bit dan memiliki lebar data pada setiap alamat 8 bit. Setiap instruksi menempati 4 buah alamat dalam memori instruksi. Instruksi yang telah dibaca masuk kedalam bus dan diterjemahkan oleh bagian pengendali- pengendaii DATA MEMORY Data Memory berfungsi untuk menyimpan hasil penghitungan ALU. Alamat memori yang akan digunakan untuk menyimpan data (akan ditulis) sebanyak 32 bit Data yang akan disimpan / ditulis sebanyak 32 bit. Keluaran adelah data yang dibaca sebanyak 32 bit. Memiliki lebar data setiap alamat adalah 8 bit Pada MIPS memori data dan memori instruksi disatukan, dimana deta disimpan di alamat tinggi dan instruksi di alamat rendah. Memori date dikendalikan oleh jalur kontrol MemRead untuk membaca dan MemWrite untuk menulis. REGISTER Register berfungsi untuk menyimpan data yang akan dihitung oleh ALU dan menyimpan data hasil perhitungannya Input dn 2H) * — Alamat register 1 yang akan dibaca (5 bit7 “nots ay terse ttt} laggy a © Alamat register 2 yang akan dibaca (5 bit) au 2 Faget es — Alamat register yang akan ditulis (5 bit) perme ane) * Data yang akan ditulis ke register (32 bit) tie Output: data yang dibacadari register 1 dan 2 Penulisan register dikendalikan oleh jalur kendalikan RegWrite. Pade pemrograman, nama register tidak diakses berdasarkan nomomya, tetapi berdasarkan namanya. Masing-masing register diberi nama umum agar mudah diingat oleh pemrogram. Nama-nama Register Nomor | Nama Fungsi [50 [Scere [Register nol bernilai 0 si [Sat___Jassembler temporary [s2-83 _|[v0-tv1 [Fungei untuk mengembalikan silai [64-87 _[fa0-$23 |Scbagai fungsi argument [s8-815 [80-87 [Temporary \S16-823 | 860-857 |Penyimpanan sementara [524-825 [88-49 _[Temporaries [826-827 |SKO-Gki [reserved for OS Kernel [p22 [Sap [zlobal pointer [829 [Ssp__| Stacke pointer [S30 [Sip [Frame pointer [S31 [Sra_return address (mengembalikan alamat) ALU (Aritmethic Logic Unit) ALU bertujuan untuk mengolah instruksi aritmetika dan logika untuk dua buah masukan. Mempunyai masukan : input 1 dan input 2 masing masing 32 bit dan keluaran adalah hasil pengolahan dan zero flag. Selain mengeluarkan hasil penghitungan, ALUjuga mengeluarkan zero flag Kode ‘Oparasi ‘000 [AND ‘001 OR, ‘010 [ADD 110 | SUBSTRACT TH_[ SET ON LESS THEN ALU memiliki 3 jalur kendali Pada R-Fromat,maka ALU menjalankan salah satu dari kelima fungsi di atas dan tergantung peda nilai dari Function Code. Instruksi LW dan SW maka ALU digunakan untuk menghitung alamat memori dengan melakukan penjumlahan Instruksibeq ALU melakukan proses pengurangan KomponenPendukung MIPS: © Adder: Penjumlah © Shifter: Penggeser MUX (Multiplexer): Multiplekser * Sign Extend: menambahjumiah bit © ALUcontrol: menentukanoperasi ALU ‘ ci ADDER Adder berfungsi untuk menjumlahkan dua buah input. Masukannya dua buah input n bit dan keluaran sebuah n bit output. Rangkaian yang ada dalam adder adalah full adder. Simbol adder sama dengan simbol ALU dan diberinama Add Ada 2 buah adder dalamMIPS Adder yang menjumlahkan input dan PC (32 bit) dengan bilangan 4 Adder yang menjumlahkan hasil penjumlahan PC+4 (32 bit) dengan bilangan yang berasal dari bagian shift left 2 (32 bit) SHIFTER Shifter berfungsi untuk menggeser bit bit input kekiri sebanyak 2 kali atau mengalikan input dengan 4. Masukan 1 input (32 bit) dan keluaran 1 output (32 bit) CONTOH: Masukan: 0000000000000000 0000000000000010 2 Keluaran:0000000000000000 0000000000001000 8 MULTIPLEXER Multiplexer berfungsi untuk memilih satu dari 2 input yang tersedia untuk diselurkan ke output. Mux mempunyai masukan 2 buah input masinig-masing 32 bit dan sebuah select (1bit) serta memiliki keluaran 1 buah dengan output 32 bit Multi plexer ini disebut mux 2 ke 1, terdapat 2 buah input dan 1 buah output. Select berfungsi menentukan input mana yang dipilih datanya untuk dikeluarkan dan jumlah select tergantung banyaknya input. Karena input-nya ada 2 maka jumlah select-nya cukup 1 buah saja yang dapat bemnilai 0 atau 1 ~ SIGN EXTEND Sign Extend berfungsi untuk mengubah date 16 bit menjadi 32 bit. Sign Extend mempunyai masukan 1 input sebanyak 16 bit dan keluaran 1 output sebanyak 32 bit Sign Extend menambah bilangan 0 sebanyak 16 bit di awal(sebelah kiri) sehingge jumlah bit menjadi 32 bit. Contoh: Masukan: 0000 0000 0010 1101 Keluaran:0000 0000 0000 0000 0000 0000 0010 1101 INSTRUKS! MIPS — Instruksi 32 bit terdiri dari opcode dan operand: © 6 bit diawal (msb) disebut dengan opcode © 26 bit berikut nya adalah operand Contoh: ($ = register, s = source; t= target; d = destination) ees giscer dan menyimpan dif salah teenage Tae Sd=$s+$t synix Add $4, $s, St Contoh: © Misal add $12, $82, $t1 e = Artinya: © bitke 31-2625-2120-16 15-11106 5.0 000000 10010 01001 01010 00000 100000 © |Opcode|«——Operand al 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 INSTRUKSI MIPS: LOAD ATAU STORE a 31-26 25-21 20-16 15-0 Opcode : Load = 35 = 100011 Store = 43 = 101011 rs: register source (5 bit) 1. Operasi Load: rs = Read register 1 = nomor register yang menyimpan alamat dasar (base address) dari data yang akan dibaca 2. Operasi Store: rs = Read register 1 = nomor register yang menyimpan alamat dasar (base address) dari memori dimana data akan disimpan. rt register target (5 bit) 1. Operasi Load: rt= Write register = nomor register yang akan digunakan untuk menampung data yang akan dibaca 2. Operasi Store: rt = Read register 2 = nomor register yang menampung data yang akan ditulis ke memori address (16 bit): offset (banyak nya pergeseran alamat dari alamat dasar) CONTOH OPCODE LOAD ATAU STORE Format :Iwrt, physical address Iw $t1, offset($t2) Alamat fisik = alamat dasar (base) + offset = isi $t2 + offset * Format : swrt, physical address sw St1, offset($t2) Alamat fisik = alamat dasar (base) + offeet si $12 + offset

You might also like