organisasi mips
TRANSCRIPT
![Page 1: Organisasi MIPS](https://reader034.vdocument.in/reader034/viewer/2022052204/557210f3497959fc0b8dfc16/html5/thumbnails/1.jpg)
Organisasi Dasar MIPS
![Page 2: Organisasi MIPS](https://reader034.vdocument.in/reader034/viewer/2022052204/557210f3497959fc0b8dfc16/html5/thumbnails/2.jpg)
Komponen Utama MIPS1. Control Unit: Bagian pengendali2 Program Counter (PC): Pencacah program2. Program Counter (PC): Pencacah program3. Instruction Memory: Memori instruksi4. Data Memory: Memori data5. Register: File registerg g6. ALU (Arithmetic and Logical Unit): Bagian
pemroses aritmetik dan logikapemroses aritmetik dan logika
2end-edited-20090423
![Page 3: Organisasi MIPS](https://reader034.vdocument.in/reader034/viewer/2022052204/557210f3497959fc0b8dfc16/html5/thumbnails/3.jpg)
Komponen Pendukung MIPS1. Adder: Penjumlah2 Shifter: Penggeser2. Shifter: Penggeser3. MUX (Multiplexer): Multiplekser4. Sign Extend: menambah jumlah bit5. ALU control: menentukan operasi ALUp
3end-edited-20090423
![Page 4: Organisasi MIPS](https://reader034.vdocument.in/reader034/viewer/2022052204/557210f3497959fc0b8dfc16/html5/thumbnails/4.jpg)
Bagian Pengendali (Control Unit) (1)
Tujuan: Mengendalikan semua aktifitas prosesor Tujuan: Mengendalikan semua aktifitas prosesor Masukan: Kode operasi (Opcode) = 6 bit K l k d li k 9 bit
4
Keluaran: kendali semua komponen = 9 bit
end-edited-20090423
![Page 5: Organisasi MIPS](https://reader034.vdocument.in/reader034/viewer/2022052204/557210f3497959fc0b8dfc16/html5/thumbnails/5.jpg)
Bagian Pengendali (Control Unit) (2)
Input pada bagian pengendali adalah kode operasi sebanyak 6 bitoperasi sebanyak 6 bit
Kode operasi ini diterjemahkan (di-decode) untuk mengetahui jenis instruksinyauntuk mengetahui jenis instruksinya
Setelah mengetahui jenis instruksi tersebut, b i d li l k 9 bit k d libagian pengendali mengeluarkan 9 bit kendali
Bit kendali yang dikeluarkan oleh Control Unit (CU) akan menentukan operasi pada datapath
5end-edited-20090423
![Page 6: Organisasi MIPS](https://reader034.vdocument.in/reader034/viewer/2022052204/557210f3497959fc0b8dfc16/html5/thumbnails/6.jpg)
Bagian Pengendali (Control Unit) (3)
Nama-nama kendali yang dihasilkan oleh CU:1 RegDst (1 bit)1. RegDst (1 bit)2. Branch (1 bit)3 MemRead (1 bit)3. MemRead (1 bit)4. MemToReg (1 bit)5 ALUOp (2 bit)5. ALUOp (2 bit)6. MemWrite (1 bit)7 ALUS (1 bit)7. ALUSrc (1 bit)8. RegWrite (1 bit)
6end-edited-20090423
![Page 7: Organisasi MIPS](https://reader034.vdocument.in/reader034/viewer/2022052204/557210f3497959fc0b8dfc16/html5/thumbnails/7.jpg)
Pencacah Program (PC) (1)
Tujuan: Untuk menghitung alamat instruksi berikutnya yang akan dieksekusiberikutnya yang akan dieksekusi
Masukan: nilai PC = 32 bit Kel a an alamat 32 bit pada memo i inst ksi
7
Keluaran: alamat 32 bit pada memori instruksi
![Page 8: Organisasi MIPS](https://reader034.vdocument.in/reader034/viewer/2022052204/557210f3497959fc0b8dfc16/html5/thumbnails/8.jpg)
Pencacah Program (PC) (2)
Pencacah program lebarnya 32 bit sehingga maksimal instruksi yang dapat diakses adalahmaksimal instruksi yang dapat diakses adalah 232 buah
Pencacah akan mengeluarkan nilai secaraPencacah akan mengeluarkan nilai secara sekuensial dari 0x00000000 sampai 0x111111110x11111111
Jika tidak ada instruksi pencabangan, maka nilai pencacah akan ditambah 4 setiap kalinilai pencacah akan ditambah 4 setiap kali selesai instruksi
8
![Page 9: Organisasi MIPS](https://reader034.vdocument.in/reader034/viewer/2022052204/557210f3497959fc0b8dfc16/html5/thumbnails/9.jpg)
Memori Instruksi (1)
Tujuan: Untuk menyimpan instruksi yang akandieksekusi
Masukan: alamat memori yang digunakan untuk i i k i b k 32 bi d i PC
9
menyimpan instruksi sebanyak 32 bit dari PC Keluaran: instruksi sebanyak 32 bit end-edited-20090423
![Page 10: Organisasi MIPS](https://reader034.vdocument.in/reader034/viewer/2022052204/557210f3497959fc0b8dfc16/html5/thumbnails/10.jpg)
Memori Instruksi (2)
Menyimpan instruksi yang akan dieksekusi Lebar data pada setiap alamat 8 bit Lebar data pada setiap alamat 8 bit Lebar instruksi adalah 32 bitSetiap instruksi menempati 4 buah alamat
dalam memori instruksi Instruksi yang telah dibaca masuk ke dalam
bus dan diterjemahkan oleh bagian j gpengendali
10
![Page 11: Organisasi MIPS](https://reader034.vdocument.in/reader034/viewer/2022052204/557210f3497959fc0b8dfc16/html5/thumbnails/11.jpg)
Memori Data (1)
Tujuan: menyimpan hasil penghitungan ALU Masukan:
Alamat memori yang akan digunakan untuk menyimpan data (akan ditulisi) sebanyak 32 bit
Data yang akan disimpan/ditulis sebanyak 32 bit
11
Data yang akan disimpan/ditulis sebanyak 32 bit
Keluaran: Data yang dibaca sebanyak 32 bitend-edited-20090423
![Page 12: Organisasi MIPS](https://reader034.vdocument.in/reader034/viewer/2022052204/557210f3497959fc0b8dfc16/html5/thumbnails/12.jpg)
Memori Data (2)
Lebar data setiap alamat adalah 8 bitPada MIPS memori data dan memori instruksiPada MIPS memori data dan memori instruksi
sebenarnya disatukanD t bi di i d l t l tData biasanya disimpan pada alamat-alamat
tinggi sedangkan instruksi pada alamat-l t d h/ lalamat rendah/awal
Memori data dikendalikan oleh jalur kontrol MemRead untuk membaca dan MemWriteuntuk menulis
12end-edited-20090423
![Page 13: Organisasi MIPS](https://reader034.vdocument.in/reader034/viewer/2022052204/557210f3497959fc0b8dfc16/html5/thumbnails/13.jpg)
Register (1)
Tujuan: menyimpan data yang akan dihitung oleh ALU dan menyimpan data hasil perhitungannya
Masukan: Alamat register 1 yang akan dibaca (5 bit) Alamat register 2 yang akan dibaca (5 bit) Alamat register yang akan ditulisi (5 bit)
13
Data yang akan ditulis ke resister (32 bit) Keluaran: data yang dibaca dari register 1 dan 2
end-edited-20090423
![Page 14: Organisasi MIPS](https://reader034.vdocument.in/reader034/viewer/2022052204/557210f3497959fc0b8dfc16/html5/thumbnails/14.jpg)
Register (2)
Register umum (general) jumlahnya 32 buahMasing-masing lebarnya 32 bitMasing-masing lebarnya 32 bitMenyimpan data hasil perhitungan ALU atau
d t b l d i idata yang berasal dari memoriData keluaran register menjadi masukan bagi
ALU untuk dihitungRegister-register diakses berdasarkan nomor g g
registernya
14end-edited-20090423
![Page 15: Organisasi MIPS](https://reader034.vdocument.in/reader034/viewer/2022052204/557210f3497959fc0b8dfc16/html5/thumbnails/15.jpg)
Register (3)
Penulisan register dikendalikan oleh jalur kendali RegWritekendali RegWrite
Pada pemrograman, nama register tidak diakses berdasarkan nomornya tetapidiakses berdasarkan nomornya, tetapi berdasarkan namanya
M i i i t dib iMasing-masing register diberi nama umum agar mudah diingat oleh pemrogram
15end-edited-20090423
![Page 16: Organisasi MIPS](https://reader034.vdocument.in/reader034/viewer/2022052204/557210f3497959fc0b8dfc16/html5/thumbnails/16.jpg)
Register dan Fungsinya (1)
16end-edited-20090423
![Page 17: Organisasi MIPS](https://reader034.vdocument.in/reader034/viewer/2022052204/557210f3497959fc0b8dfc16/html5/thumbnails/17.jpg)
Register dan Fungsinya (2)
Register yang dipersiapkan untuk dipanggil dengan syscall (prosedur dan fungsi) tidakdengan syscall (prosedur dan fungsi) tidak dapat diubah
Sebagai contoh:Sebagai contoh: $s harus disimpan di dalam stack oleh prosedur
jika ingin menggunakannyajika ingin menggunakannya $sp dan $fp selalu di-increment dengan
konstanta kemudian di-increment kembalikonstanta kemudian di increment kembali setelah prosedur selesai dilakukan
Sementara itu $ra berubah secara otomatis
17
Sementara itu $ra berubah secara otomatis dengan adanya call function
end-edited-20090423
![Page 18: Organisasi MIPS](https://reader034.vdocument.in/reader034/viewer/2022052204/557210f3497959fc0b8dfc16/html5/thumbnails/18.jpg)
ALU (Arithmatic and Logical Unit) (1)
Tujuan: Mengolah (penjumlahan, pengurangan logika) dua buah data masukanpengurangan, logika) dua buah data masukan
Masukan: input 1 (32 bit) dan input 2(32 bit)
18
Keluaran: hasil pengolahan dan zero flagend-edited-20090423
![Page 19: Organisasi MIPS](https://reader034.vdocument.in/reader034/viewer/2022052204/557210f3497959fc0b8dfc16/html5/thumbnails/19.jpg)
ALU (2)
MIPS adalah komputer 32 bit Jenis komputer ini ditentukan oleh lebar bus Jenis komputer ini ditentukan oleh lebar bus
data yang masuk ke dalam ALUS l i l k h il hit (ALUSelain mengeluarkan hasil penghitungan (ALU
Result) ALU juga mengeluarkan zero flagZero flag digunakan sebagai indikator apakah
nilai keluarannya nol atau bukan Jika nilai keluarannya adalah nol maka zero
flag bernilai 1 dan sebaliknya bernilai nol
19
g y
end-edited-20090423
![Page 20: Organisasi MIPS](https://reader034.vdocument.in/reader034/viewer/2022052204/557210f3497959fc0b8dfc16/html5/thumbnails/20.jpg)
ALU (3) ALU memiliki 3 jalur kendali (3 bit):
Pada kelas instruksi R-format, ALU menjalankan Pada kelas instruksi R format, ALU menjalankan salah satu dari kelima fungsi di atas, tergantung pada nilai 6-bit fungsinya
Pada instruksi LW (load word) dan SW (store word) Pada instruksi LW (load word) dan SW (store word)ALU digunakan untuk menghitung alamat memori dengan melakukan penjumlahan
20
Pada instruksi beq (branch on equal) ALU melakukan proses pengurangan
end-edited-20090423
![Page 21: Organisasi MIPS](https://reader034.vdocument.in/reader034/viewer/2022052204/557210f3497959fc0b8dfc16/html5/thumbnails/21.jpg)
Adder (1)
Tujuan: Menjumlahkan dua buah inputMasukan: dua buah input n bitKeluaran: sebuah n bit output
21
p
end-edited-20090423
![Page 22: Organisasi MIPS](https://reader034.vdocument.in/reader034/viewer/2022052204/557210f3497959fc0b8dfc16/html5/thumbnails/22.jpg)
Adder (2)
Rangkaian yang ada dalam Adder adalah full adderadder
Simbol adder sama dengan simbol ALU, tetapi diberi nama Adddiberi nama Add
Terdapat dua buah adder:dd l hk d ( b )Adder yang menjumlahkan input dari PC (32 bit)
dengan bilangan 4Add j l hk h il j l hAdder yang menjumlahkan hasil penjumlahan
PC+4 (32 bit) dengan bilangan yang berasal dari bagian shift left 2 (32 bit)
22
bagian shift left 2 (32 bit)
end-edited-20090423
![Page 23: Organisasi MIPS](https://reader034.vdocument.in/reader034/viewer/2022052204/557210f3497959fc0b8dfc16/html5/thumbnails/23.jpg)
Shifter (1)
Tujuan: menggeser bit-bit input ke kiri sebanyak 2 kali atau mengalikan input dengan 4kali atau mengalikan input dengan 4
Masukan: 1 input (32 bit) K l 1 t t (32 bit)
23
Keluaran: 1 output (32 bit)
end-edited-20090423
![Page 24: Organisasi MIPS](https://reader034.vdocument.in/reader034/viewer/2022052204/557210f3497959fc0b8dfc16/html5/thumbnails/24.jpg)
Shifter (2)
Shift left 2: Menggeser input ke kiri sebanyak 2 bit2 bit
Operasi ini sama dengan mengalikan bilangan input dengan 4input dengan 4
Contoh:kMasukan:
0000000000000000 0000000000000010 2Keluaran:
0000000000000000 0000000000001000 8
24end-edited-20090423
![Page 25: Organisasi MIPS](https://reader034.vdocument.in/reader034/viewer/2022052204/557210f3497959fc0b8dfc16/html5/thumbnails/25.jpg)
MUX (Multiplexer) (1)
Tujuan: Memilih satu dari 2 input yang tersedia k d l k kuntuk disalurkan ke output
Masukan: 2 buah input masing-masing 32 bit dan sebuah select (1 bit)
25
sebuah select (1 bit) Keluaran: 1 output (32 bit)
end-edited-20090423
![Page 26: Organisasi MIPS](https://reader034.vdocument.in/reader034/viewer/2022052204/557210f3497959fc0b8dfc16/html5/thumbnails/26.jpg)
MUX (Multiplexer) (2)
Multiplexer ini disebut mux 2 ke 1 Terdapat 2 buah input dan 1 buah outputTerdapat 2 buah input dan 1 buah outputSelect berfungsi menentukan input mana
di ilih d t t k dik l kyang dipilih datanya untuk dikeluarkan Jumlah select tergantung banyaknya inputKarena input-nya ada 2 maka jumlah select-
nya cukup 1 buah saja yang dapat bernilai 0 y p j y g patau 1
26end-edited-20090423
![Page 27: Organisasi MIPS](https://reader034.vdocument.in/reader034/viewer/2022052204/557210f3497959fc0b8dfc16/html5/thumbnails/27.jpg)
Sign Extend (1)
Tujuan: Mengubah data 16 bit menjadi data 32 bit32 bit
Masukan: 1 input sebanyak 16 bitKeluaran: 1 output sebanyak 32 bit
27
Keluaran: 1 output sebanyak 32 bit
end-edited-20090423
![Page 28: Organisasi MIPS](https://reader034.vdocument.in/reader034/viewer/2022052204/557210f3497959fc0b8dfc16/html5/thumbnails/28.jpg)
Sign Extend (2)
Menambah bilangan 0 sebanyak 16 bit di awal (sebelah kiri) sehingga jumlah bitawal (sebelah kiri) sehingga jumlah bit menjadi 32 bit
Keluaran dari Sign Extend menjadi input ALUKeluaran dari Sign Extend menjadi input ALU atau menjadi input Shift left 2 yang terhubung ke Adderterhubung ke Adder
Contoh :k 0000 0000 00 0 0Masukan: 0000 0000 0010 1101
Keluaran:
28
0000 0000 0000 0000 0000 0000 0010 1101
![Page 29: Organisasi MIPS](https://reader034.vdocument.in/reader034/viewer/2022052204/557210f3497959fc0b8dfc16/html5/thumbnails/29.jpg)
Datapath MIPS
ALUResultADD
MUX
0
1
32
32
32
32
32
32
ADDResultADD
Result ShiftLeft 2
4 RegDst
Branch
MemRead
MemToReg
PCSrc
32
32
CONTROLUNIT
Instruction (31-26)MemToReg
ALUOp
MemWrite
ALUSrcRegWrite
6
ToR
eg
LUSr
c
mW
rite
Read Address
Instruction(31-0)
INSTRUCTIONAddress Read
Data
ReadRegister 1 Read
Data 1
REGISTERS
W it
ReadRegister 2
WriteRegister Read
Data 2ALU
ZeroFlag
ResultMUX
0
1MU
0M
1
PCInstruction (25-21)
Instruction (20-16)
Instruction (15-11)
32
5
5
5
Mem
T
AL
Mem
32
32
32
MEMORY DATAMEMORY
Write Data
Write Data
SignExtend
ALUControl
1 UX
1UX
0
( )
Instruction (15-0) 16 32
32
3
RegDst
32
32
29
Instruction (5-0) 26
32
MemRead
ALUOp
![Page 30: Organisasi MIPS](https://reader034.vdocument.in/reader034/viewer/2022052204/557210f3497959fc0b8dfc16/html5/thumbnails/30.jpg)
Referensi Hennessy, John L. dan Patterson, David A. 2005,
“Computer Organization and Design: The p g gHardware/Software Interface”. 3nd edition. Morgan Kaufmann publisher Inc. San Fransisco. USA
30end-edited-20090423