You are on page 1of 19

Arsitektur Prosesor

MPS

Oleh :
 FIQY HERAWAN AHFANDY BASRI
 MUSTIKA

 ARSITEKTUR PROSESOR MIPS Sebuah arsitektur komputer tidak mendefinisikan implementasi perangkat keras yang mendasari.harga. .daya. tapi mereka menggunakan perangkat keras yang berbeda dan karena itu menawarkan trade-off dam kinerja. Semuanya dapat menjalankan program yang sama. Seringali. banyak implementasi perangkat keras yang berbeda dari arsitektur tunggal yang ada. Sebagai contoh intel dan AMD menjual brbagai mikroprosesor dengan arsitektur yang ama dengan IA-32.

4 ADD Memori instruksi PC alamat instruksi ADD DATA REGISTER Register # Memori data ALU Alamat Register # Register # Data Gambar 1 organisasi Unit-unit fungsional MIPS yang disederhanakan Walaupun gambar ini menunjuakn sebagian besar aliran data ke prosesor. hal itu menhilangkan duaaspek penting dari pelaksanaan instruksi: • Pertama. . di beberapa tempat di gambar 1 menunjukan data yang berbeda. • Penghilangan kedua pada gambar 1 adalah bahwa beberapa unti harus dikendalikan yang tergantung pada jenis instruksi.

BRANCH M U X 4 ADD ADD Operasi alu Memori instruksi PC alamat instruksi DATA M U X REGISTER MemWrite ALU Register # Register # Register # RegWrite M U X Alamat ZERO Memori data Data CONTROL Gambar 2 organisasi Unit-unit fungsional MIPS yang diperluas MemRead .

yang memiliki intruksi sebagai masukan yang digunakan untuk menentukan bagian mana men-set (mengatur) jalur-jalur kontrol untuk unit-unit fungsional dan multiplexer. serta jalur kontrol untuk unit fungsional utama. yang menentukan apakah PC+4 atau alamat tujuan branch/cabang ditulis ke PC. diatur berdasarkan pada outout zero dari ALU. Sebuah unit kontrol. The mltiplexr ketiga. Keteraturan dan kesederhanaan dari set instruksi MIPS berarti bahwa proses decoding sederhan dapat digunakan untuk menentukan bagaimana men-set jallur-jalur kontrol.Gambar 2 menunjuakn datapath gambar 1 dengan tambahan kebutuhan tiga multiplexer. . yang digunakan untuk melakukan perbandingan sebuah instruksi beq.

 Datapath MIPS Alamat Instruksi Instruksi MEMORI INSTRUKSI (a) Memori instruksi ADD PC (b) Program counter SUM (c) Penjumlahan Gambar 3 State Element berupa memori Instruksi. Terakhir. adalah register yang menyimpan alat dari instruksi saat ini. . Dan menunjukkan program counter (PC). program counter Gambar ini menunjukkan elemen pertama yang kita butuhkan: unit memori untuk menyimpan instruksi program dan pasokan instruksi yang diberikan alamat. kita akan membutuhkan penambah untuk kenaikan PC ke alamat instruksi berikutnya.

kita harus mulai dengan mengambil/membaca instruksi dari memori. Memori instruksi hanya perlu menyediakan akses baca karena datapath tidak menulis instruksi.State element adalah memori instruksi dan program counter. . untuk mengeksekusi suatu instruksi. kita juga harus menaikkan isi program counter sehingga menunjuk pada instruksi berikutnya. dan tidak dapat melakukan fungsi-fungsi ALU lainnya. Untuk mempersiapkan eksekusi instruksi berikutnya. Program counter adalah register 32 bit yang ditulis pada akhir setiap siklus clock dan dengan demikian tidak diperlukan sinyal kontrol tulis. 4 byte berikutnya. Penjumlah (adder) dalah sebuah ALU kawat yang fungsinya hanya selalu menambahkan dua masukan 32-bit dan menempatkan hasil jumlahnya pada keluarannya secara permanen.

dan slt. Kelompok instruksi ini meliputi add. Untuk menulis sebuah word data. satu untuk menetapkan nomor register yang akan ditulis dan satu untuk mensuplai data yang akan ditulis ke dalam register. yang membaca $t2 dan $t3 dan yang menulis $t1. dan menulis hasilnya ke register.$t1.ADD SUM PC Alamat pembacaan MEMORI INSTRUKSI Gambar 4 Bagian datapath yang digunakan untuk pengambilan isntruksi dan menambah isi PC. melakukan operasi ALU pada isi register.$t3. Contoh khas instruksi tersebut adalah add. Format instruksi ini membaca dua register. sehingga kita perlu membaca dua word data dari register file dan menulis sebuah word data ke dalam register file untuk setiap instruksi. Instruksi format-R memiliki tiga operand register.AND.sub.$t2. Register file selalu mengeluarkan isi dari nomor register manapun pada masukan Read Register. kita membutuhkan dua masukan. . Intstruksi ini disebut instruksi type-R atau instruksi Aritmetika-Logika (karena melakukan Aritmatika atau operasi logika).OR.

ALU operation Read Register 1 Register numbers Read Register 2 Read Data 1 zero Data Write Register Data ALU Hasil ALU Read Data 2 Write data RegWrite (a) Register (b) ALU Gambar 5 implementasi operasi ALU format-R: register file dan ALU . serta sinyal 1-bit jika hasilnya 0. Gambar 5 (b) menunjukan ALU. yang mengambil dua masukan 32-bit dan menghasilkan hasil 32-bit. Masukanmasukan nomor register lebarnya 5-bit untuk menetapkan salah satu dari 32 register (32 = ) sedangkan bus masukan data dan dua bus keluaran data lebarnya masing-masing 32-bit.  Pada gambar 5 (a) ditunjukkan bahwa dibutuhkan total empat masukkan (tiga untuk nomor-nomor register dan satu untuk data) dan dua keluaran (keduanya utuk data).

Memwrite Alamat Read Data MEMORI DATA 16 SignExtend ed 32 Write Data Memread (a) Unit memori data (b) unit perluasan bit tanda (sign extension) Gambar 6 Unit yang digunakan untuk Load dan store .

kita harus menghitung branch target addres dengan menambahkan sign-extended offset field dari instruksi kedalam PC. Dua register yang dibandingkan untuk kesamaan.$t2. Kita juga harus menentukan apakah instruksi berikutnya dalah instruksi yang mengikuti secara sekuensial atau instruksi pada alamat target cabang. maka PC ditambah isinya menggantikan isi PC saat ini. offset. dan sebuah 16-bit offset yang digunakan untuk menghitung branch target addres (alamat target cabang) relatif terhadap alamat instruksi cabang/branch. bentuk instruksinya adalah beq $t1.store instruksi beq memiliki tiga operand. Untuk melaksanakan instruksi ini. . Datapath cabang harus melakukan dua operasi: menghitung alamat target cabang dan membandinhkan isi register (cabang juga mempengaruhi porsi pengambilan instruksi dari datapath. Jika operand tidak sama. Ketika kondisi benar (operandnya sama) maka alamat target cabang menjadi PC baru.

Untuk menghitung alamat target cabang. datapath cabang termasuk unit perluasan bit tanda.PC-4 dari datapath instruksi instruksi Read Register 1 SUM Shift Left 2 Register Read Data 1 Read Register 2 ADD 4 Operasi ALU ADD zero Write Register Read Data 2 Target Cabang/branch Ke Branch control logic Write data RegWrite 16 Sign 32 extend Gambar 7 datapath untuk cabang memakai ALU dan alamat target cabang memakai penju Gambar diatas menunjukan struktur segmen datapath yag menangani percabangan. . dari Gambar 6 dan penjumlahan.

register HI dan LO menyimpan hasil 64-bit.Register Register PC (program counter) mempunyai fungsi yang sama dengan register penunjuk instruksi (instruksi pointer – IP) pada prosesor pentium. hasil bagi 32-bit disimpan dalam register LO dan sisa pembagian disimpan dalam register HI. di mana register HI menyimpan 32bit separuh orde-atas dan register LO menyimpan 2-bit separuh orde-bawah. • pada operasi bilangan interger. . Dua register fungsi khusus disebut HI dan LO yang digunakan untuk menyimpan hasil dari instruksi perkalian dan pembagian integer (bilangan bulat): • pada operasi perkalian integer.

General purpose register-GPR 31 $vo-$v1 $ao-$a3 Register perkalian dan pembagian 31 HI 0 $to-$t7 LO 31 Program counter 0 PC $so-$s7 $t8-$t9 $ko-$k1 Gambar 8 register-register prosesor MIPS R2000 $zero $at $vo $v1 $a0 $a1 $a2 $a3 $to $t1 $t2 $t3 $t4 $t5 $t6 $t7 $s0 $s1 $s2 $s3 $s4 $s5 $s6 $s7 $s8 $s9 $k0 $k1 $gp $sp $fp $ra 0 $0 $1 $2 $3 $4 $5 $6 $7 $8 $9 $10 $11 $12 $13 $14 $15 $16 $17 $18 $19 $20 $21 $22 $23 $24 $25 $26 $27 $28 $29 $30 $31 .

 Konvensi penggunaan general-purpose register Meskipun tidak ada persyaratan dari perangkat keras prosesor.$v1 2.$t7 8 – 15 $s0 .$s7 16 – 23 Saved variables $t8 . 25 Temprary variables $k0 .3 Results of a procedure $a0 . Tabel 1 menunjukan bagaimana penggunaan yang disarankan pada masing-masing register. MIPS telah membentuk sebuah konvensi tentang bagaimana 30 register ini harus digunakan. Tabel 1 register-register MIPS Nama Register Nomor Register Penggunaan $0 0 Constant 0 $at 1 Reserver for assmbler $vo .$t9 24 . 27 Reserved for OS kernel $gp 28 Pointer to global area $sp 29 Stack pointer $fp 30 Frame pointer $ra 31 Procedure return address Temporary variables .$a3 4–7 Procedure arguments $t0 . kita dapat munggunakan GPR secara konvensional.$k1 26 . Karena saran ini tidak ditegakkan oleh perangkat keras.

Mode register addresing. di mana operand adalah konstanta yang berada di dalam instruksi itu sendiri. 2. Mode pengamalatan MIPS: 1. Mode PC-relative addresing. MODE PENGAMALATAN Posesor pentium menyediakan beberapa mode pengamalatan yang merupakan karakteristik prosesor berbasis CISC. di mana operand adalah sebuah register. di mana operand berada pada lokasi yang mempunyai alamat berupa hasil penjumlahan isi register dan konstanta dalam instruksi. 4. 5. Pada gambar 9 menunjukan bagaimana operand diidentifikasi untuk setiap mode pengamalatan. Karena MIPS menggunakan arsitektur load/store. Mode pengamalatan pseudodirect addresing. di mana alamat lompatnya adalah 26 bit dari gabungan instruksi dengan bit atas PC. . Semua instruksi tipe-R hanya menggunakan tipe addresing. 3. Mode immidiate addresing. di mana alamat branch/cabang adalah hasil penjumlah PC dan konstanta dalam instruksi. maka hanya instruksi load dan store saja yang mengakses memori. Mode based addresing atau displacement.

Register addresing o p rs rt rd .. Pseudodirect addresing op address PC Memory + Word Word . Base addresing o p rs rt address register Memory + Byte Hallword 4. fund Registers register 3. Immedial addresing op rs rt immediate 2. PC-relative addresing o p rs rt Memory address PC + Word 5..1.

MIPS menggunakan tata letak memori konvensional. data dan stack. Alamat memori 7FFFFFFFH Segmen stack Area dinamis 10000000H 4000000H Area statis SEGMEN DATA Segmen teks cadangan 0 Gambar 10 tataletak memori MIPS . Penggunaan memori MIPS menggunakan memori dengan teknikbyte-addressable. Artinya. setiap byte dalam memori mempunyai sebuah alamat unik (khusus). Ruang alamat program terdiri dari tiga bagian yaitu code.

Terima kasih .