Anda di halaman 1dari 15

MAKALAH

MIPS
(Microprocessor without Interlocked Pipeline Stages)

DISUSUN OLEH

NAMA : NOVIANA
NIM : 061830701258
KELAS : 3CE
MK : ARSITEKTUR KOMPUTER

JURUSAN TEKNIK KOMPUTER


POLITEKNIK NEGERI SRIWIJAYA
2019
KATA PENGANTAR

Puji syukur kepada Tuhan Yang Maha Esa atas berkat, karunia-Nya, rahmat dan
hidayah-Nya kami dapat menyelesaikan tugas makalah dengan judul “MIPS (Microprocessor
without Interlocked Pipeline Stages)
Makalah ini dibuat dalam rangka memenuhi tugas yang diberikan oleh dosen
untukmemahami perihal MIPS dengan harapan mendapatkan manfaat dan sekaligus
melakukan apa yang menjadi tugas mahasiswa.
Dalam proses pendalaman materi ini, tentulah masih menyimpan kekurangan
karenaketerbatasan waktu dan latar belakang keilmuan yang kami miliki namun segala
kekurangantersebut adalah hal yang wajar sebagai tahap awal untuk terus menuju
kesempurnaan dalam pembuatan makalah ini.
Demikianlah makalah MIPS ini kami buat , semoga dapat memberikan manfaat .

Hormat Saya

Noviana
BAB I
Pendahuluan

I. Latar Belakang
Komputer adalah suatu peralatan elektronik yang dapat menerima input,
mengolah input, memberikan informasi, menggunakan suatu program yang tersimpan
di memori computer, dapat menyimpan program dan hasil pengolahan, serta bkerja
otomatatis. Istilah komputer (computer) di ambil dari bahasa latin computer yang
berarti menghitung (to comaipute/to reckon). Kunci kesuksesan dalam belajar
pengantar teknologi informasi ini adalah pada kemampuan memahami tiga hasil
pokok pengantar teknologi informasi, yaitu kegunaan, jenis – jenisnya dan cara
kerjanya. Dengan penjelasan ini maka kami di tujukan untuk pembuatan makalah
pengantar teknologi informasi yang bertema prosessor/CPU.
Processor ini biasanya sering di sebut sebagai otak dan pusat pengendali
computer yang di dukung oleh komponen lainnya. Processor adalah sebuah IC yang
mengontrol keseluruhan jalannya sebuah sistem computer dan di gunakan sebagai
pusat /otak dari computer yang berfungsi untuk melakukan perhitungan dan
menjalankan tugas. Processor terletak pada socket yang telah di sediakan oleh
motherboard, dan dapat sesui dengan socket yang ada pada motherboard. Salah satu
yang sangat besar pengaruhnya terhadap kecepatan computer tergantung dari jenis
dan kapasitas processor.
Salah satu contoh prosesor yang dibangun dengan arsitektur RISC adalah
MIPS. Desain prosesor MIPS saat ini banyak digunakan pada beberapa embedded
system (seperti the Series2 TiVo, Windows CE devices, Cisco routers, residential
gateways, Foneras, Avaya) dan video games console (seperti Nintendo 64 and Sony
PlayStation, PlayStation 2, PlayStation Portable). ARSITEKTUR MIPS MIPS
mendefinisikan sebuah arsitektur manajemen memori yang sangat sederhana dimana
sistem operasi menangani TLB miss seluruhnya dalam software.
II. Rumusan Masalah
1. Apa pengertian MIPS?
2. Bagaimana arsitektur MIPS
3. Bagaimana instruksi pada MIPS?
4. Apa perbedaan MIPS dan Bahasa Assembly?

III. Tujuan Pembahasan


1. Untuk mengetahui sejarah MIPS
2. Mengetahui pengertian MIPS
3. Mengetahui Arsitektur MIPS
4. Mengetahui instruksi dalam MIPS
5. Mengetahui perbedaan MIPS dan Bahasa Assembly
BAB II
Pembahasan

A. Sejarah MIPS
Sejarah pada Mips berawal dari John L hennesey yang berasal dari stanford
yang kemudian beralih ke Mips technology system .
Mips yang artinya Million Instruction per second atau juga dikenal without
Interlocked Pipline Stages, Pipelines itu berarti paralel, Ngomong ngomong apa sih
Mips itu? mips itu mempelajari prosesor dengan intruksi intruksinya.

1985 : MIPS computer system mereleaase design pertamanya


yaitu R2000
1988 : R3000 direlease berbentuk CPU yang berbasis 32 bit.
Mengimplementasikan hampir semua interlock di hardware
-nya dan mensuply full multiple dan dividing instruction.
1990 awal : melisensi produknya ke 3 vendor
1990 : MIPS menjadi power house dalam embedded processor.
1991 : MIPS me-release mikroprosesor 64 bit dengan nama
R4000
1992 : MIPS Computer system berganti menjadi MIPS
technologies setelah dibeli oleh SG
1998 : MIPS menjadi sangat sukses setelah SGI mengubah
proses MIPS technologies.
1999 : MIPS membentuk 2 kelas besar untuk lisensi yaitu MIPS
32 (prosesor 32 bit) dan MIPS 64 (prosesor 64 bit).
Bedanya terletak pada lebar jalur yang akan dilalui oleh bit-bit data.

B. Pengertian MIPS
MIPS (Microprocessor without Interlocked Pipeline Stages) merupakan salah
satu contoh prosesor yang dibangung dengan arsitektur RISC. Desain prosesor MIPS
saat ini banyak digunakan pada beberapa embedded system (seperti the Series2 TiVo,
Windows CE devices, Cisco routers, residential gateways, Foneras, Avaya) dan video
games console (seperti Nintendo 64 and Sony PlayStation, PlayStation 2, PlayStation
Portable).

 Komponen utama :

a) Control Unit
Merupakan bagian pengendali yang berfungsi mengendalikan bagian-bagian
MIPS yang lain (aktivitas prosesor). Instruksi tediri dari 2 bagian yaitu input
dan operan. Instruksi di MIPS panjangnya 32 bit. Namun yang masuk ke
dalam control unit hanya 6 bit, yaitu bit ke 26-31. Kemudian mengeluarkan
output 9 bit kendali komponen yang akan menjadi input bagian-bagian MIPS
yang lain.
Bit kendali yang dihasilkan :

 RegDst (Register destination)


Jadi inputan ke mux untuk selector data mana yang akan ditulis ke register

 Branch
Menangani pencabangan (di set 1 ketika terjadi pencabangan)

 MemRead (Memory Read)


Di set 1 untuk membaca data dari memory, 0 jika tidak

 MemToReg (Memory To Register)


Inputan buat mux untuk selector apakah data disimpan dalam memory dikirim
ke register

 ALU Op (ALU operation)

 MemWrite (Memory write)


Di set 1 untuk menyimpan data ke memory, 0 jika tidak

 ALU src (ALU source)


 RegWrite (Register Write)

Masing-masing 1 bit kecuali ALU Op 2 bit.

b) Program Counter (PC)


Menghitung alamat instruksi berikutnya yang akan di eksekusi. Yang
disimpan dalam PC adalah alamat memory. Alamat instruksi sama dengan
alamat memory. Sedangkan alamat sediri tidak sama dengan instruksi.
Masukkan dan keluaran dari PC sama yaitu sepanjang 32 bit (satu instruksi 32
bit). Daya tampung 1 alamat memory pada MIPS sepanjang 8 bit. Alamat
memory sendiri merentang dari 000..00 sampai 111..11 sepanjang 32 bit. Jika
tidak ada instruksi pencabangan maka nilai di dalam PC ditambah 4 setiap
selesai melakukkan instruksi. Karena panjang instruksi 32 bit sedangkan daya
tampung setiap alamat memory hanya 8 bit.

c) Memory Instruksi
Menyimpan Instruksi yang akan di eksekusi. Inputnya alamat yang tadi
disimpan dalam PC sebanyak 32 bit. Keluarannya instruksi sepanjang 32 bit
juga.

d) Memory data
Menyimpan data hasil pemrosesan ALU. Masukkannya berupa alamat yang
akan dipakai untuk menyimpan data (32 bit) dan data yang akan disimpan (32
bit). Keluarannya data 32 bit. Ada 2 macam memory data : memory read
untuk membaca data dan memory write untuk menyimpan data, yang
pemakaiannya diatur oleh control unit.

e) Register
Menyimpan data yang akan diproses oleh ALU dan menyimpan data hasil
perhitungan. Setiap register mempunyai nama, nomor, dan fungsinya masing-
masing. Banyaknya 32 buah dengan masing-masing panjangnya 32 bit.
Diakses berdasarkan nomornya. Namun pada pemrograman, akses
berdasarkan nama registernya.
f) ALU (arithmetic and Logical unit)
Mengolah dua buah data masukkan. Bisa penjumlahan pengurangan atau
pembandingan. Masukkan berupa input 1 sepanjang 32 bit dan input 2
sepanjang 32 bit. Keluaran berupa hasil pengolahan dan zero flag. Zero flag di
set 1 ketika hasil keluaran bernilai 0. Di set 0 jika sebaliknya.

 Komponen pendukung
1. Shifter
Penggeser bit, 2 kali ke kiri (shift left 2) atau mengalikan dengan 4.

2. Adder
Penjumlah 2 buah inputan n bit dan menghasilkan sebuah keluaran bit. Di
MIPS ada 2 buah adder.

3. Multiplexer
Selector dari 2 buah input yang tersedia untuk di alirkan ke output.

4. Sign extend
Mengubah data 16 bit menjadi 32 bit dengan menambah 0 sebanyak 16 bit di
awal.
C. Arsitektur MIPS
MIPS mendefinisikan sebuah arsitektur manajemen memori yang sangat
sederhana dimana sistem operasi menangani TLB miss seluruhnya dalam
software. Sistem operasi menjalankan page table, mengisi TLB dan dapat
menerapkan penggantian TLB secara virtual. Gambar 5. menunjukkan arsitektur
MIPS R 10000.
Hardware mendukung hirarki bottom up page table melalui register konteks
TLB yang menyimpan alamat virtual yang dipartisi ke dalam segmen
software-loaded. Segmen software ini meliputi bit-bit yang paling awal dan
menyimpan dasar alamat virtual dari user page table. Segmen hardware-loaded
meliputi bit-bit paling akhir dan menyimpan nomor virtual page dari faulting
address. Segmen ini diisi ketika referensi userlevel mengalami miss TLB. Maka
segmen akan mengindeks single PTE yang ada di dalam user page table. Pada
saat TLB mengalami miss, register konteks berisi alamat virtual dari PTE yang
memetakan faulting address.
MIPS menggunakan identitas address-space untuk menyediakan proteksi
address-space. Untuk mengakses sebuah page, identitas address-space dari
proses yang aktif harus sesuai dengan identitas pada masukan page TLB.
Pembersihan cache dan TLB secara periodik tidak dapat dihindari, selama
terdapat 64 identitas konteks yang unik pada R2000/R3000 dan 256 pada
R10000. Banyak sistem memiliki lebih banyak proses daripada sistem yang
membutuhkan pemakaian bersama identitas address-space dan pemetaan ulang
secara periodik ini.

D. Instruksi-instruksi pada MIPS


Secara umum, instruksi pada MIPS dibagi menjadi 4 tipe, yaitu instruksi tipe
Arithmetic Operation, Logical Operation, Data Transfer, dan Control, yang akan
dijelaskan sebagai berikut :
1. Arithmetic Operation
i. Add $d = $s + $t add $d, $s, $t= Menjumlahkan isi dari dua buah
register dan menyimpan hasilnya ke register lain.
ii. Add Immediate $t = $s + imm addi $t, $s, imm Menjumlahkan isi
sebuah Register dengan sebuah signed number [imm] dan
menyimpan hasilnya ke register lain.
iii. Add ImmUnsigned $t = $s + imm addiu $t, $s,= imm
Menjumlahkan isi sebuah register dengan sebuah unsigned number
[imm] dan menyimpan hasilnya ke register lain.
iv. Substract $d = $s ‐ $t sub $d, $s, $t Mengurangkan isi dari dua buah
register dan menyimpan hasilnya ke register lain.
v. Substract Unsigned $d = $s ‐ $t subu $d, $s, $t Mengurangkan isi
dari dua buah register (tanpa memperhatikan tanda) dan menyimpan
hasilnya ke register lain.
vi. Divide $LO = $s / $t; $HI = $s % $t div $s, $t Pembagian 2 buah
register, menyimpan hasil bulatnya di $LO dan sisanya di $HI.
vii. Divide Unsigned $LO = $s / $t; $HI = $s % $t divu $s, $t
Pembagian 2 buah register, menyimpan hasil bulatnya di $LO dan
sisanya di $HI.
viii. Move from High $d = $HI mfhi $d Mengisi sebuah register dengan
bilangan sisa pembagian atau operasi modulo ($HI).
ix. Move from Low $d = $LO mflo $d Mengisi sebuah register dengan
bilangan bulat hasil operasi div ($LO).
x. Move $s = $t move $s, $t Meng‐copy isi sebuah register ke register
lain.
xi. Multiply $LO = $s * $t mult $s, $t Mengalikan 2 buah register dan
menyimpan hasilnya ke $LO.
xii. Multiply Unsigned $LO = $s * $t multu $s, $t Mengalikan 2 buah
register dan menyimpan hasilnya ke $LO.

2. Logical Operation
Instruksi tipe ini meliputi operasi‐operasi Boolean.

i. And $1 = $2 & $3 and $1,$2,$3 Operasi AND dari 2 buah register.


ii. or $1 = $2 | $3 or $1,$2,$3 Operasi OR dari 2 buah register.
iii. xor $1 = $2 XOR $3 xor $1,$2,$3 Operasi XOR dari 2 buah register.
iv. nor $1 = ~($2 | $3) nor $1,$2,$3 Operasi NOR dari 2 buah register.
v. And immediate $1 = $2 & 10 andi $1,$2,10 Operasi AND antara
sebuah register dengan angka.
vi. or immediate $1 = $2 | 10 ori $1,$2,10 Operasi OR antara sebuah
register dengan angka.
vii. xor immediate $1 = ~$2 &~10 xori $1, $2,10 Operasi XOR antara
sebuah register dengan angka st.
viii. shift left logical $1 = $2 << 10 sll $1,$2,10 Geser ke kiri sebanyak
nilai konstan yang diberikan.
ix. shift right logical $1 = $2 >> 10 srl $1,$2,10 Geser ke kanan sebanyak
nilai konstan yang diberikan.
x. shift right arithmetic $1 = $2 >> 10 sra $1,$2,10 Geser ke kanan
sebanyak nilai konstan yang diberikan (sign extended).
xi. shift left logical $1 = $2 << $3 sllv $1,$2,$3 Geser ke kiri sebanyak
nilai pada register.
xii. shift right logical $1 = $2 >> $3 srlv $1,$2,$3 Geser ke kanan
sebanyak nilai pada register.
xiii. shift right arithmetic $1 = $2 >> $3 srav $1,$2,$3 Geser ke kanan
sebanyak nilaipada register (sign extended).

3. Data Transfer
Instruksi tipe ini merupakan instruksi yang melibatkan pengambilan
atau penyimpanan dari atau ke memori register.

i. Store Byte MEM[$s + offset] = (0xff & $t) sb $t, offset($s) Least
significant byte dari $t disimpan ke alamat yang ditentukan
(offset($s)).
ii. Store Word MEM[$s + offset] = $t sw $t, offset($s) Isi dari $t
disimpan ke alamat yang ditentukan.
iii. Load Immediate $s = imm li $s, imm Mengisi register $s dengan
sebuah signed number [imm].
iv. Load Byte $t = MEM[$s + offset] lb $t, offset($s) Me‐load sebuah byte
ke sebuah register dari alamat yang ditentukan (offset($s)).
v. Load Upper Immediate $t = (imm << 16) lui $t, imm Sebuah angka
[imm] digeser sebanyak 16 bit ke kiri dan disimpan ke dalam register.
vi. Load Word $t = MEM[$s + offset] lw $t, offset($s) Me‐load suatu nilai
ke sebuah register dari alamat yang ditentukan (offset($s)).

4. Control
i. BEQ if $s = $t; advance_pc (offset << 2)) beq $s, $t, offset Jika $s dan
$t sama, maka menuju ke alamat yang dituju.
ii. BNE if $s != $t; advance_pc (offset << 2)) bne $s, $t, offset Jika $s
dan $t tidak sama, maka menuju ke alamat yang dituju.
iii. BGEZ if $s >= 0; advance_pc (offset << 2)) bgez $s, offset Menuju ke
alamat yang dituju jika $s lebih besar atau sama dengan dari 0.
iv. BGEZAL if $s >= 0; $31 = PC + 8 (or nPC + 4); advance_pc (offset
<< 2)); bgezal $s, offset Menuju ke alamat yang dituju jika $s lebih
besar atau sama dengan dari 0 dan menyimpan alamat tersebut ke $31.
v. BGTZ if $s > 0; advance_pc (offset << 2)) bgtz $s, offset Menuju ke
alamat yang dituju jika $s lebih besar dari 0.
vi. BLEZ if $s <= 0; advance_pc (offset << 2)) blez $s, offset Menuju ke
alamat yang dituju jika $s lebih kecil atau sama dengan dari 0.
vii. BLTZ if $s < 0; advance_pc (offset << 2)) bltz $s, offset Menuju ke
alamat yang dituju jika $s lebih kecil dari 0.
viii. BLTZAL if $s < 0; $31 = PC + 8 (or nPC + 4); advance_pc (offset <<
2)); bltzal $s, offset Menuju ke alamat yang dituju jika $s lebih kecil
atau sama dengan dari 0 dan menyimpan alamat tersebut ke $31.
ix. J PC = nPC j target Melompat ke alamat target.
x. JAL $31 = PC + 8 (or nPC + 4) jal target Melompat ke alamat target
dan menyimpan alamat tersebut ke $31.
xi. JR PC = nPC; nPC = $s jr $s Melompat ke alamat yang merupakan isi
dari register $s.
xii. SLT if $s < $t; $d = 1; else $d = 0; slt $d, $s, $t Jika $s kurang dari $t,
$d diset menjadi 1, dan 0 jika selainnya.
xiii. SLTI if $s < imm; $t = 1; else $t = 0; slti $t, $s, imm Jika $s kurang
dari [imm], $t diset menjadi 1, dan 0 jika selainnya.
xiv. SLTIU if $s < imm; $t = 1; else $t = 0; sltiu $t, $s, imm Jika $s kurang
dari unsigned [imm], $t diset menjadi 1, dan 0 jika selainnya.
xv. SLTU if $s < $t; $d = 1; else $d = 0; sltu $d, $s, $t Jika $s kurang dari
$t, $d diset menjadi 1, dan 0 jika selainnya.

E.MIPS dan bahasa assembly


Berdasarkan perancangan perangkat instruksinya, ada 2 jenis arsitektur prosesor yang
menonjol saat ini, yaitu arsitektur RISC (Reduce Instruction Set Computer) dan CISC
(Complex Instruction Set Computer). Prosesor RISC memiliki instruksi‐instruksi
yang lebih sederhana dan lebih cepat untuk dieksekusi dibandingkan prosesor CISC.
Prosesor RISC memiliki ciri‐ciri khusus, yaitu:
• Prosesor RISC mengeksekusi instruksi pada setiap satu siklus detak (Robinson,
1987 : 144 ; Johnson, 1987 : 153)
• Instruksi pada prosesor RISC memiliki format tetap, sehingga rangkaian
pengontrol instruksi menjadi lebih sederhana
• Instruksi yang berhubungan dengan memori hanya instruksi isi (load) dan
instruksi simpan (store), instruksi lain dilakukan dalam register internal
prosesor
• Prosesor RISC memerlukan waktu kompilasi yang lebih lama daripada
prosesor CISC.
MIPS (Microprocessor without Interlocked Pipeline Stages) merupakan salah satu
contoh prosesor yang dibangung dengan arsitektur RISC. Desain prosesor MIPS saat
ini banyak digunakan pada beberapa embedded system (seperti the Series2 TiVo,
Windows CE devices, Cisco routers, residential gateways, Foneras, Avaya) dan video
games console (seperti Nintendo 64 and Sony PlayStation, PlayStation 2, PlayStation
Portable)
Bahasa Assembly merupakan bahasa pemrograman tingkat rendah (Low Level
Programming Language) yang kita gunakan untuk memberikan instruksi‐instruksi
kepada prosesor MIPS. Untuk mensimulasikan pemrograman pada MIPS dengan
bahasa Assembly, kita dapat menggunakan beberapa tools, salah satunya ialah
PCSpim. Dengan PCSpim, kita dapat meng‐compile, menjalankan, dan melihat hasil
dari kode‐kode program kita. Namun, karena Assembly adalah bahasa tingkat rendah
yang instruksinya terkait erat dengan bahasa mesin, maka penggunaan resource‐nya
pun sangat terbatas.
Tidak seperti halnya pada bahasa pemrograman tingkat tinggi, jumlah operan pada
instruksi‐instruksi di bahasa Assembly MIPS sangatlah terbatas sesuai jumlah register
yang mana digunakan sebagai tempat penyimpanan data.
BAB III
Penutup
I. Kesimpulan
MIPS (Microprocessor without Interlocked Pipeline Stages) merupakan salah
satu contoh prosesor yang dibangung dengan arsitektur RISC yang memiliki
komponen utama yaitu Control Unit , Program Counter (PC), Memory Instruksi ,
Memory data , Register dan ALU (arithmetic and Logical unit).
Instruksi pada MIPS dibagi menjadi 4 tipe, yaitu instruksi tipe Arithmetic
Operation, Logical Operation, Data Transfer, dan Control. Dan mempunya komponen
pendukung yaitu Shifter ,Adder , Multiplexer dan Sign extend .
Daftar Pustaka

(https://www.academia.edu/8950324/TUGAS_MAKALAH_JENIS_JENIS_KOMPU
TER_PROCESSOR_INTEL , diakses pada 05-11-2019)
(http://hayatunwardani78.blogspot.com/2015/10/sejarah-mips-sejarahpada-mips-
berawal.html , diakses pada 04-11-2019)
(https://id.wikipedia.org/wiki/Arsitektur_MIPS,diakses pada 23-01-2017)

Anda mungkin juga menyukai