MIPS
(Microprocessor without Interlocked Pipeline Stages)
DISUSUN OLEH
NAMA : NOVIANA
NIM : 061830701258
KELAS : 3CE
MK : ARSITEKTUR KOMPUTER
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?
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.
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 :
Branch
Menangani pencabangan (di set 1 ketika terjadi pencabangan)
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.
2. Logical Operation
Instruksi tipe ini meliputi operasi‐operasi Boolean.
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.
(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)