arsitektur mips satu siklus filesejarah mips. organisasi dan arsitektur komputer – csg2g3/2016 #2...

66
April 2016 Arsitektur MIPS Satu Siklus (Pertemuan ke-23) Prodi S1 Teknik Informatika Fakultas Informatika Universitas Telkom Diedit ulang oleh: Endro Ariyanto

Upload: buique

Post on 01-Apr-2019

299 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Arsitektur MIPS Satu Siklus fileSejarah MIPS. Organisasi dan Arsitektur Komputer – CSG2G3/2016 #2 Team Stanford University •MIPS = Million Instructions Per Second = Microprocessor

April 2016

Arsitektur MIPS Satu Siklus (Pertemuan ke-23)

Prodi S1 Teknik Informatika Fakultas Informatika

Universitas Telkom

Diedit ulang oleh:

Endro Ariyanto

Page 2: Arsitektur MIPS Satu Siklus fileSejarah MIPS. Organisasi dan Arsitektur Komputer – CSG2G3/2016 #2 Team Stanford University •MIPS = Million Instructions Per Second = Microprocessor

Organisasi dan Arsitektur Komputer – CSG2G3/2016 #1

Sejarah MIPS

Page 3: Arsitektur MIPS Satu Siklus fileSejarah MIPS. Organisasi dan Arsitektur Komputer – CSG2G3/2016 #2 Team Stanford University •MIPS = Million Instructions Per Second = Microprocessor

Organisasi dan Arsitektur Komputer – CSG2G3/2016 #2

Team Stanford University

• MIPS = Million Instructions Per Second

= Microprocessor without Interlocked

Pipeline Stages

• John L. Hennesy 1981

• Ide dasar: peningkatan kinerja prosesor dengan pipeline

• Pengeksekusian sebuah instruksi dibagi dalam beberapa step

• Instruksi dieksekusi secara independen

• Problem: interlock

Page 4: Arsitektur MIPS Satu Siklus fileSejarah MIPS. Organisasi dan Arsitektur Komputer – CSG2G3/2016 #2 Team Stanford University •MIPS = Million Instructions Per Second = Microprocessor

Organisasi dan Arsitektur Komputer – CSG2G3/2016 #3

MIPS Computer System

• 1984: Hannessy meninggalkan Stanford dan beralih ke MIPS Computer System

• 1985: MIPS Computer System me-release design pertamanya R2000

• 1988: – Me-release R3000

– Bentuk CPU berbasis 32 bit

– Design ini mengimplementasikan hampir semua interlock di hardware-nya dan men-suply full multiple dan dividing instruction

Page 5: Arsitektur MIPS Satu Siklus fileSejarah MIPS. Organisasi dan Arsitektur Komputer – CSG2G3/2016 #2 Team Stanford University •MIPS = Million Instructions Per Second = Microprocessor

Organisasi dan Arsitektur Komputer – CSG2G3/2016 #4

MIPS Technologies

• 1990-an awal: MIPS mulai melisensi produknya ke 3 vendor

• 1990-an MIPS menjadi sebuah power house dalam embedded processor

• 1991: MIPS me-release mikroprosesor 64 bit untuk yang pertama kali yaitu R4000

• 1992: SGI membeli MIPS Computer System, kemudian perusahaan ini berganti nama menjadi MIPS Technologies

• 1997: 48 juta perancangan CPU menggunakan microprocessor MIPS

• 1998: MIPS menjadi sangat sukses setelah SGI mengubah proses MIPS Technologies

Page 6: Arsitektur MIPS Satu Siklus fileSejarah MIPS. Organisasi dan Arsitektur Komputer – CSG2G3/2016 #2 Team Stanford University •MIPS = Million Instructions Per Second = Microprocessor

Organisasi dan Arsitektur Komputer – CSG2G3/2016 #5

Lisensi MIPS

• 1999: MIPS membentuk lisensinya dalam 2 kelas besar – 32-bit dengan MIPS 32

– 64-bit dengan MIPS 64

• NEC, Toshiba, dan SysBite memperoleh licency untuk MIPS64

• MIPS design Team merancang R4300

• Alchemy Semikonduktor memproduksi AU1000 SOC

• Lexra menggunakan MIPS untuk audio chip market

Page 7: Arsitektur MIPS Satu Siklus fileSejarah MIPS. Organisasi dan Arsitektur Komputer – CSG2G3/2016 #2 Team Stanford University •MIPS = Million Instructions Per Second = Microprocessor

Organisasi dan Arsitektur Komputer – CSG2G3/2016 #6

Keluarga CPU MIPS (1)

• Model CPU MIPS yang pertama adalah R2000 yang dipasarkan sekitar tahun 1985

• R2000 juga di-support oleh empat co-processor, salah satunya dibangun di main CPU dan menggunakan exception dan trap

• Salah satu dari ketiga co-processor tersebut dapat diisi dengan pilihan R2010 FPU yang memiliki 32 bit register yang dapat digunakan sebagai 64 bit register dengan double precission

Page 8: Arsitektur MIPS Satu Siklus fileSejarah MIPS. Organisasi dan Arsitektur Komputer – CSG2G3/2016 #2 Team Stanford University •MIPS = Million Instructions Per Second = Microprocessor

Organisasi dan Arsitektur Komputer – CSG2G3/2016 #7

Keluarga CPU MIPS (2)

• R3000 merupakan pengembangan dari R2000 dengan penambahan 32 kB cache untuk instruksi dan data

• Penggunaan cache coherency dapat mendukung dalam penggunaan multi processor

• R3000 juga dibangun di dalam MMU yang merupakan fitur umum yang terdapat pada CPU pada era tersebut

• R3000A digunakan oleh Sony Play Station dengan frekuensi 4 MHz yang menghasilkan performansi 32 VUPs

Page 9: Arsitektur MIPS Satu Siklus fileSejarah MIPS. Organisasi dan Arsitektur Komputer – CSG2G3/2016 #2 Team Stanford University •MIPS = Million Instructions Per Second = Microprocessor

Organisasi dan Arsitektur Komputer – CSG2G3/2016 #8

Keluarga CPU MIPS (3)

• Seri R4000 dirilis pada pada tahun 1991

• R4000 menggunakan full 64 bit MIPS architecture dengan memindahkan FPU ke dalam main die

• Frekuensi clock sekitar 100 MHz • Frekuensi clock tersebut dicapai

dengan mengurangi cache-nya menjadi 8 kB

• Versi R4000 diikuti oleh R4400 yang dirilis pada tahun 1993 yang menggunakan 16 kB cache, 64 bit operation untuk bug free, dan sebuah controller external sebesar 1 MB cache

Page 10: Arsitektur MIPS Satu Siklus fileSejarah MIPS. Organisasi dan Arsitektur Komputer – CSG2G3/2016 #2 Team Stanford University •MIPS = Million Instructions Per Second = Microprocessor

Organisasi dan Arsitektur Komputer – CSG2G3/2016 #9

Pengembangan MIPS (1)

• Quantum Effect Devices (QED) adalah perusahaan pecahan dari MIPS Technologies

• QED merancang R4600 “Orion”, R4700”Orion”, R4650 dan R5000

• QED design menekan cache sehingga bisa diakses hanya oleh dua siklus dan mengefisienkan penggunaan silicon area

Page 11: Arsitektur MIPS Satu Siklus fileSejarah MIPS. Organisasi dan Arsitektur Komputer – CSG2G3/2016 #2 Team Stanford University •MIPS = Million Instructions Per Second = Microprocessor

Organisasi dan Arsitektur Komputer – CSG2G3/2016 #10

Pengembangan MIPS (2)

• R4600 dan R4700 digunakan dalam versi low-cost versi oleh SGI Indy Workstation sebagai MIPS pertama yang berbasis pada Cisco Routers seperti router seri 36 x 0 dan 7 x 00

• R4650 digunakan secara original dalam Web TV Setup Boxes (sekarang microsoft TV)

Page 12: Arsitektur MIPS Satu Siklus fileSejarah MIPS. Organisasi dan Arsitektur Komputer – CSG2G3/2016 #2 Team Stanford University •MIPS = Million Instructions Per Second = Microprocessor

Organisasi dan Arsitektur Komputer – CSG2G3/2016 #11

QED (Quantum Effect Devices)

• QED merancang RM7000 dan RM9000

• Keduanya merupakan embedded device untuk networking/jaringan komputer dan laser printer

• R8000 merupakan rancangan superscalar MIPS yang pertama kali

• R8000 dapat mengeksekusi dua operasi ALU dan dua memory operation tiap satu siklusnya

Page 13: Arsitektur MIPS Satu Siklus fileSejarah MIPS. Organisasi dan Arsitektur Komputer – CSG2G3/2016 #2 Team Stanford University •MIPS = Million Instructions Per Second = Microprocessor

Organisasi dan Arsitektur Komputer – CSG2G3/2016 #12

Prosesor R8000

• Prosesor ini memiliki enam chip yang berbeda yakni: – Sebuah integer unit dengan 16 kB instruction dan 16 kB L1

data caches

– Sebuah floating point unit

– Tiga full custom secondary cache tag RAMs (dua untuk secondary access cache dan satu untuk Bus snooping (bus pengintai)

– dan sebuah cache controller ASIC

• Design ini memiliki dua pipelines penuh dengan tingkat ketelitian double untuk unit perkalian dan unit penambahan yang dapat mengalirkan data dari 4 MB secondary cache

Page 14: Arsitektur MIPS Satu Siklus fileSejarah MIPS. Organisasi dan Arsitektur Komputer – CSG2G3/2016 #2 Team Stanford University •MIPS = Million Instructions Per Second = Microprocessor

Organisasi dan Arsitektur Komputer – CSG2G3/2016 #13

Prosesor R10000

• Pada tahun 1995, R10000 dirilis

• Processor dengan single chip design

• R10000 memiliki 32 kB primary instruction dan data cache

• Design-design berikutnya banyak yang berbasis pada design R10000 core

• R12000 dikembangkan secara manufacturing untuk menyusutkan chip dan melakukan operasi dalam tingkat clock rate yang tinggi

• R14000 memiliki clock rate yang tinggi dengan tambahan support yaitu DDR RAM

• Perkembangan berikutnya R16000 dan R16000A dengan fitur clock rate yang lebih tinggi

Page 15: Arsitektur MIPS Satu Siklus fileSejarah MIPS. Organisasi dan Arsitektur Komputer – CSG2G3/2016 #2 Team Stanford University •MIPS = Million Instructions Per Second = Microprocessor

Organisasi dan Arsitektur Komputer – CSG2G3/2016 #14

Aplikasi MIPS

• Beberapa perusahaan yang menggunakan MIPS adalah SGI, MIPS Computer System Inc, Olivetti, Siemens-Nixdorf, Acer, Digital Equipment Corporation, NEC dan Desk Station

• Beberapa sistem operasi yang bisa dipasang pada MIPS diantaranya: – SGI’s IRIX – Microsoft’s Windows NT (Windows NT yang mensupport

MIPS adalah Windows NT 4.0) – Windows CE – LINUX – BSD – Unix System V – SINIX – RISC/OS

Page 16: Arsitektur MIPS Satu Siklus fileSejarah MIPS. Organisasi dan Arsitektur Komputer – CSG2G3/2016 #2 Team Stanford University •MIPS = Million Instructions Per Second = Microprocessor

Organisasi dan Arsitektur Komputer – CSG2G3/2016 #15

Perkembangan Lanjut MIPS

• Anggota lain dari MIPS family yang termasuk dalam R6000 adalah implementasi ECL dari MIPS architecture yang diproduksi oleh Bipolar Integrated Technology

• Pada R6000 diperkenalkan MIPS II instruction set

• RM7000 merupakan versi dari R5000 yang dibangun dengan 2 level cache dengan kapasitas 256 kB per cache-nya dan sebuah controller sebagai pilihan untuk menggunakan tiga level cache

Page 17: Arsitektur MIPS Satu Siklus fileSejarah MIPS. Organisasi dan Arsitektur Komputer – CSG2G3/2016 #2 Team Stanford University •MIPS = Million Instructions Per Second = Microprocessor

Organisasi dan Arsitektur Komputer – CSG2G3/2016 #16

Ringkasan Keluarga MIPS

Page 18: Arsitektur MIPS Satu Siklus fileSejarah MIPS. Organisasi dan Arsitektur Komputer – CSG2G3/2016 #2 Team Stanford University •MIPS = Million Instructions Per Second = Microprocessor

Organisasi dan Arsitektur Komputer – CSG2G3/2016 #17

Komponen Utama MIPS

Page 19: Arsitektur MIPS Satu Siklus fileSejarah MIPS. Organisasi dan Arsitektur Komputer – CSG2G3/2016 #2 Team Stanford University •MIPS = Million Instructions Per Second = Microprocessor

Organisasi dan Arsitektur Komputer – CSG2G3/2016 #18

Komponen Utama MIPS

1. Control Unit: Bagian pengendali

2. Program Counter (PC): Pencacah program

3. Instruction Memory: Memori instruksi

4. Data Memory: Memori data

5. Register: File register

6. ALU (Arithmetic and Logical Unit): Bagian pemroses aritmetik dan logika

Page 20: Arsitektur MIPS Satu Siklus fileSejarah MIPS. Organisasi dan Arsitektur Komputer – CSG2G3/2016 #2 Team Stanford University •MIPS = Million Instructions Per Second = Microprocessor

Organisasi dan Arsitektur Komputer – CSG2G3/2016 #19

Komponen Pendukung MIPS

1. Adder: Penjumlah

2. Shifter: Penggeser

3. MUX (Multiplexer): Multiplekser

4. Sign Extend: menambah jumlah bit

5. ALU control: menentukan operasi ALU

Page 21: Arsitektur MIPS Satu Siklus fileSejarah MIPS. Organisasi dan Arsitektur Komputer – CSG2G3/2016 #2 Team Stanford University •MIPS = Million Instructions Per Second = Microprocessor

Organisasi dan Arsitektur Komputer – CSG2G3/2016 #20

Datapath MIPS

Read Address

Instruction(31-0)

INSTRUCTION

MEMORY

AddressReadData

DATA

MEMORYWrite Data

ReadRegister 1 Read

Data 1

REGISTERS

Write Data

ReadRegister 2

WriteRegister Read

Data 2

CONTROL

UNIT

ALU

ZeroFlag

Result

ADD

ALUResultADD

Result

Sign

ExtendALU

Control

Shift

Left 2

M

U

X

0

1

M

U

X

0

1

M

U

X

1

0

PC

4

M

U

X

0

1

Instruction (31-26)

Instruction (25-21)

Instruction (20-16)

Instruction (15-11)

Instruction (15-0)

RegDst

Branch

MemRead

MemToReg

ALUOp

MemWrite

ALUSrc

RegWrite

Instruction (5-0)

16 32

32

32

32

5

5

5

32

2

6

6

PCSrc

32

32

3

Me

mT

oR

eg

AL

US

rc

RegDst

Me

mW

rite

MemRead

ALUOp

32

32

32

32

32

32

32

32

Page 22: Arsitektur MIPS Satu Siklus fileSejarah MIPS. Organisasi dan Arsitektur Komputer – CSG2G3/2016 #2 Team Stanford University •MIPS = Million Instructions Per Second = Microprocessor

Organisasi dan Arsitektur Komputer – CSG2G3/2016 #21

Bagian Pengendali (Control Unit) (1)

• Tujuan: Mengendalikan semua aktifitas prosesor

• Masukan: Kode operasi (Opcode) = 6 bit

• Keluaran: kendali semua komponen = 9 bit

Page 23: Arsitektur MIPS Satu Siklus fileSejarah MIPS. Organisasi dan Arsitektur Komputer – CSG2G3/2016 #2 Team Stanford University •MIPS = Million Instructions Per Second = Microprocessor

Organisasi dan Arsitektur Komputer – CSG2G3/2016 #22

Bagian Pengendali (Control Unit) (2)

• Input pada bagian pengendali adalah kode operasi sebanyak 6 bit

• Kode operasi ini diterjemahkan (di-decode) untuk mengetahui jenis instruksinya

• Setelah mengetahui jenis instruksi tersebut, bagian pengendali mengeluarkan 9 bit kendali

• Bit kendali yang dikeluarkan oleh Control Unit (CU) akan menentukan operasi pada datapath

Page 24: Arsitektur MIPS Satu Siklus fileSejarah MIPS. Organisasi dan Arsitektur Komputer – CSG2G3/2016 #2 Team Stanford University •MIPS = Million Instructions Per Second = Microprocessor

Organisasi dan Arsitektur Komputer – CSG2G3/2016 #23

Bagian Pengendali (Control Unit) (3)

• Nama-nama kendali yang dihasilkan oleh CU: 1. RegDst (1 bit)

2. Branch (1 bit)

3. MemRead (1 bit)

4. MemToReg (1 bit)

5. ALUOp (2 bit)

6. MemWrite (1 bit)

7. ALUSrc (1 bit)

8. RegWrite (1 bit)

Page 25: Arsitektur MIPS Satu Siklus fileSejarah MIPS. Organisasi dan Arsitektur Komputer – CSG2G3/2016 #2 Team Stanford University •MIPS = Million Instructions Per Second = Microprocessor

Organisasi dan Arsitektur Komputer – CSG2G3/2016 #24

Pencacah Program (PC) (1)

• Tujuan: Untuk menghitung alamat instruksi berikutnya yang akan dieksekusi

• Masukan: nilai PC = 32 bit

• Keluaran: alamat 32 bit pada memori instruksi

Page 26: Arsitektur MIPS Satu Siklus fileSejarah MIPS. Organisasi dan Arsitektur Komputer – CSG2G3/2016 #2 Team Stanford University •MIPS = Million Instructions Per Second = Microprocessor

Organisasi dan Arsitektur Komputer – CSG2G3/2016 #25

Pencacah Program (PC) (2)

• Pencacah program lebarnya 32 bit sehingga maksimal instruksi yang dapat diakses adalah 232 buah

• Pencacah akan mengeluarkan nilai secara sekuensial dari 0x00000000 sampai 0x11111111

• Jika tidak ada instruksi pencabangan, maka nilai pencacah akan ditambah 4 setiap kali selesai instruksi

Page 27: Arsitektur MIPS Satu Siklus fileSejarah MIPS. Organisasi dan Arsitektur Komputer – CSG2G3/2016 #2 Team Stanford University •MIPS = Million Instructions Per Second = Microprocessor

Organisasi dan Arsitektur Komputer – CSG2G3/2016 #26

Memori Instruksi (1)

• Tujuan: Untuk menyimpan instruksi yang akan dieksekusi

• Masukan: alamat memori yang digunakan untuk menyimpan instruksi sebanyak 32 bit dari PC

• Keluaran: instruksi sebanyak 32 bit

Page 28: Arsitektur MIPS Satu Siklus fileSejarah MIPS. Organisasi dan Arsitektur Komputer – CSG2G3/2016 #2 Team Stanford University •MIPS = Million Instructions Per Second = Microprocessor

Organisasi dan Arsitektur Komputer – CSG2G3/2016 #27

Memori Instruksi (2)

• Menyimpan instruksi yang akan dieksekusi

• Lebar data pada setiap alamat 8 bit

• Lebar instruksi adalah 32 bit

• Setiap instruksi menempati 4 buah alamat dalam memori instruksi

• Instruksi yang telah dibaca masuk ke dalam bus dan diterjemahkan oleh bagian pengendali

Page 29: Arsitektur MIPS Satu Siklus fileSejarah MIPS. Organisasi dan Arsitektur Komputer – CSG2G3/2016 #2 Team Stanford University •MIPS = Million Instructions Per Second = Microprocessor

Organisasi dan Arsitektur Komputer – CSG2G3/2016 #28

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

• Keluaran: Data yang dibaca sebanyak 32 bit

Page 30: Arsitektur MIPS Satu Siklus fileSejarah MIPS. Organisasi dan Arsitektur Komputer – CSG2G3/2016 #2 Team Stanford University •MIPS = Million Instructions Per Second = Microprocessor

Organisasi dan Arsitektur Komputer – CSG2G3/2016 #29

Memori Data (2)

• Lebar data setiap alamat adalah 8 bit

• Pada MIPS memori data dan memori instruksi sebenarnya disatukan

• Data biasanya disimpan pada alamat-alamat tinggi sedangkan instruksi pada alamat-alamat rendah/awal

• Memori data dikendalikan oleh jalur kontrol MemRead untuk membaca dan MemWrite untuk menulis

Page 31: Arsitektur MIPS Satu Siklus fileSejarah MIPS. Organisasi dan Arsitektur Komputer – CSG2G3/2016 #2 Team Stanford University •MIPS = Million Instructions Per Second = Microprocessor

Organisasi dan Arsitektur Komputer – CSG2G3/2016 #30

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) – Data yang akan ditulis ke resister (32 bit)

• Keluaran: data yang dibaca dari register 1 dan 2

Page 32: Arsitektur MIPS Satu Siklus fileSejarah MIPS. Organisasi dan Arsitektur Komputer – CSG2G3/2016 #2 Team Stanford University •MIPS = Million Instructions Per Second = Microprocessor

Organisasi dan Arsitektur Komputer – CSG2G3/2016 #31

Register (2)

• Register umum (general) jumlahnya 32 buah

• Masing-masing lebarnya 32 bit

• Menyimpan data hasil perhitungan ALU atau data yang berasal dari memori

• Data keluaran register menjadi masukan bagi ALU untuk dihitung

• Register-register diakses berdasarkan nomor registernya

Page 33: Arsitektur MIPS Satu Siklus fileSejarah MIPS. Organisasi dan Arsitektur Komputer – CSG2G3/2016 #2 Team Stanford University •MIPS = Million Instructions Per Second = Microprocessor

Organisasi dan Arsitektur Komputer – CSG2G3/2016 #32

Register (3)

• Penulisan register dikendalikan oleh jalur kendali RegWrite

• Pada pemrograman, nama register tidak diakses berdasarkan nomornya, tetapi berdasarkan namanya

• Masing-masing register diberi nama umum agar mudah diingat oleh pemrogram

Page 34: Arsitektur MIPS Satu Siklus fileSejarah MIPS. Organisasi dan Arsitektur Komputer – CSG2G3/2016 #2 Team Stanford University •MIPS = Million Instructions Per Second = Microprocessor

Organisasi dan Arsitektur Komputer – CSG2G3/2016 #33

Register dan Fungsinya (1)

Page 35: Arsitektur MIPS Satu Siklus fileSejarah MIPS. Organisasi dan Arsitektur Komputer – CSG2G3/2016 #2 Team Stanford University •MIPS = Million Instructions Per Second = Microprocessor

Organisasi dan Arsitektur Komputer – CSG2G3/2016 #34

Register dan Fungsinya (2)

• Register yang dipersiapkan untuk dipanggil dengan syscall (prosedur dan fungsi) tidak dapat diubah

• Sebagai contoh: – $s harus disimpan di dalam stack oleh prosedur jika

ingin menggunakannya

– $sp dan $fp selalu di-increment dengan konstanta kemudian di-increment kembali setelah prosedur selesai dilakukan

• Sementara itu $ra berubah secara otomatis dengan adanya call function

Page 36: Arsitektur MIPS Satu Siklus fileSejarah MIPS. Organisasi dan Arsitektur Komputer – CSG2G3/2016 #2 Team Stanford University •MIPS = Million Instructions Per Second = Microprocessor

Organisasi dan Arsitektur Komputer – CSG2G3/2016 #35

ALU (Arithmatic and Logical Unit) (1)

• Tujuan: Mengolah (penjumlahan, pengurangan, logika) dua buah data masukan

• Masukan: input 1 (32 bit) dan input 2(32 bit)

• Keluaran: hasil pengolahan dan zero flag

Page 37: Arsitektur MIPS Satu Siklus fileSejarah MIPS. Organisasi dan Arsitektur Komputer – CSG2G3/2016 #2 Team Stanford University •MIPS = Million Instructions Per Second = Microprocessor

Organisasi dan Arsitektur Komputer – CSG2G3/2016 #36

ALU (2)

• MIPS adalah komputer 32 bit

• Jenis komputer ini ditentukan oleh lebar bus data yang masuk ke dalam ALU

• Selain mengeluarkan hasil penghitungan (ALU Result) ALU juga mengeluarkan zero flag

• Zero flag digunakan sebagai indikator apakah nilai keluarannya nol atau bukan

• Jika nilai keluarannya adalah nol maka zero flag bernilai 1 dan sebaliknya bernilai nol

Page 38: Arsitektur MIPS Satu Siklus fileSejarah MIPS. Organisasi dan Arsitektur Komputer – CSG2G3/2016 #2 Team Stanford University •MIPS = Million Instructions Per Second = Microprocessor

Organisasi dan Arsitektur Komputer – CSG2G3/2016 #37

ALU (3)

• ALU memiliki 3 jalur kendali (3 bit):

• 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) ALU digunakan untuk menghitung alamat memori dengan melakukan penjumlahan

• Pada instruksi beq (branch on equal) ALU melakukan proses pengurangan

Page 39: Arsitektur MIPS Satu Siklus fileSejarah MIPS. Organisasi dan Arsitektur Komputer – CSG2G3/2016 #2 Team Stanford University •MIPS = Million Instructions Per Second = Microprocessor

Organisasi dan Arsitektur Komputer – CSG2G3/2016 #38

Adder (1)

• Tujuan: Menjumlahkan dua buah input

• Masukan: dua buah input n bit

• Keluaran: sebuah n bit output

Page 40: Arsitektur MIPS Satu Siklus fileSejarah MIPS. Organisasi dan Arsitektur Komputer – CSG2G3/2016 #2 Team Stanford University •MIPS = Million Instructions Per Second = Microprocessor

Organisasi dan Arsitektur Komputer – CSG2G3/2016 #39

Adder (2)

• Rangkaian yang ada dalam Adder adalah full adder

• Simbol adder sama dengan simbol ALU, tetapi diberi nama Add

• Terdapat dua buah adder: – Adder yang menjumlahkan input dari 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)

Page 41: Arsitektur MIPS Satu Siklus fileSejarah MIPS. Organisasi dan Arsitektur Komputer – CSG2G3/2016 #2 Team Stanford University •MIPS = Million Instructions Per Second = Microprocessor

Organisasi dan Arsitektur Komputer – CSG2G3/2016 #40

Shifter (1)

• Tujuan: menggeser bit-bit input ke kiri sebanyak 2 kali atau mengalikan input dengan 4

• Masukan: 1 input (32 bit)

• Keluaran: 1 output (32 bit)

Page 42: Arsitektur MIPS Satu Siklus fileSejarah MIPS. Organisasi dan Arsitektur Komputer – CSG2G3/2016 #2 Team Stanford University •MIPS = Million Instructions Per Second = Microprocessor

Organisasi dan Arsitektur Komputer – CSG2G3/2016 #41

Shifter (2)

• Shift left 2: Menggeser input ke kiri sebanyak 2 bit

• Operasi ini sama dengan mengalikan bilangan input dengan 4

• Contoh: – Masukan:

0000000000000000 0000000000000010 2

– Keluaran:

0000000000000000 0000000000001000 8

Page 43: Arsitektur MIPS Satu Siklus fileSejarah MIPS. Organisasi dan Arsitektur Komputer – CSG2G3/2016 #2 Team Stanford University •MIPS = Million Instructions Per Second = Microprocessor

Organisasi dan Arsitektur Komputer – CSG2G3/2016 #42

MUX (Multiplexer) (1)

• Tujuan: Memilih satu dari 2 input yang tersedia untuk disalurkan ke output

• Masukan: 2 buah input masing-masing 32 bit dan sebuah select (1 bit)

• Keluaran: 1 output (32 bit)

Page 44: Arsitektur MIPS Satu Siklus fileSejarah MIPS. Organisasi dan Arsitektur Komputer – CSG2G3/2016 #2 Team Stanford University •MIPS = Million Instructions Per Second = Microprocessor

Organisasi dan Arsitektur Komputer – CSG2G3/2016 #43

MUX (Multiplexer) (2)

• Multiplexer ini disebut mux 2 ke 1

• Terdapat 2 buah input dan 1 buah output

• Select berfungsi menentukan input mana yang dipilih datanya untuk dikeluarkan

• Jumlah select tergantung banyaknya input

• Karena input-nya ada 2 maka jumlah select-nya cukup 1 buah saja yang dapat bernilai 0 atau 1

Page 45: Arsitektur MIPS Satu Siklus fileSejarah MIPS. Organisasi dan Arsitektur Komputer – CSG2G3/2016 #2 Team Stanford University •MIPS = Million Instructions Per Second = Microprocessor

Organisasi dan Arsitektur Komputer – CSG2G3/2016 #44

Sign Extend (1)

• Tujuan: Mengubah data 16 bit menjadi data 32 bit

• Masukan: 1 input sebanyak 16 bit

• Keluaran: 1 output sebanyak 32 bit

Page 46: Arsitektur MIPS Satu Siklus fileSejarah MIPS. Organisasi dan Arsitektur Komputer – CSG2G3/2016 #2 Team Stanford University •MIPS = Million Instructions Per Second = Microprocessor

Organisasi dan Arsitektur Komputer – CSG2G3/2016 #45

Sign Extend (2)

• Menambah bilangan 0 sebanyak 16 bit di awal (sebelah kiri) sehingga jumlah bit menjadi 32 bit

• Keluaran dari Sign Extend menjadi input ALU atau menjadi input Shift left 2 yang terhubung ke Adder

• Contoh : – Masukan: 0000 0000 0010 1101

– Keluaran:

0000 0000 0000 0000 0000 0000 0010 1101

Page 47: Arsitektur MIPS Satu Siklus fileSejarah MIPS. Organisasi dan Arsitektur Komputer – CSG2G3/2016 #2 Team Stanford University •MIPS = Million Instructions Per Second = Microprocessor

Organisasi dan Arsitektur Komputer – CSG2G3/2016 #46

Unit Kendali

Page 48: Arsitektur MIPS Satu Siklus fileSejarah MIPS. Organisasi dan Arsitektur Komputer – CSG2G3/2016 #2 Team Stanford University •MIPS = Million Instructions Per Second = Microprocessor

Organisasi dan Arsitektur Komputer – CSG2G3/2016 #47

MIPS Datapath

Page 49: Arsitektur MIPS Satu Siklus fileSejarah MIPS. Organisasi dan Arsitektur Komputer – CSG2G3/2016 #2 Team Stanford University •MIPS = Million Instructions Per Second = Microprocessor

Organisasi dan Arsitektur Komputer – CSG2G3/2016 #48

Unit Kendali (1)

• Tujuan: mengendalikan semua aktifitas prosesor, atau lebih tepatnya untuk mengendalikan semua komponen seperti ALU, PC, Register, dll

• Masukan: Operation Code (Opcode) = 6 bit • Keluaran (9 bit):

1. RegDst 2. Branch 3. MemRead 4. MemtoReg 5. ALUOp (2 bit) 6. MemWrite 7. ALUSrc 8. RegWrite

Page 50: Arsitektur MIPS Satu Siklus fileSejarah MIPS. Organisasi dan Arsitektur Komputer – CSG2G3/2016 #2 Team Stanford University •MIPS = Million Instructions Per Second = Microprocessor

Organisasi dan Arsitektur Komputer – CSG2G3/2016 #49

Unit Kendali (2)

• Masukan/input instruksi bit 31-26 adalah kode operasi

• Unit kendali akan menterjemahkan kode operasi dan mengeluarkan 9 bit kendali yang mengendalikan jalannya prosesor

CONTROL

UNIT

Instruction (31-26)

RegDst

Branch

MemRead

MemToReg

ALUOp

MemWrite

ALUSrc

RegWrite

Page 51: Arsitektur MIPS Satu Siklus fileSejarah MIPS. Organisasi dan Arsitektur Komputer – CSG2G3/2016 #2 Team Stanford University •MIPS = Million Instructions Per Second = Microprocessor

Organisasi dan Arsitektur Komputer – CSG2G3/2016 #50

Input Unit Kendali (1)

• Instruksi 32 bit terdiri dari opcode dan operand: – 6 bit di awal (dari MSB atau dari kiri) disebut opcode

– 26 bit berikutnya adalah operand

• Contoh: ($ = register; s = source; t = target; d = destination)

Page 52: Arsitektur MIPS Satu Siklus fileSejarah MIPS. Organisasi dan Arsitektur Komputer – CSG2G3/2016 #2 Team Stanford University •MIPS = Million Instructions Per Second = Microprocessor

Organisasi dan Arsitektur Komputer – CSG2G3/2016 #51

Input Unit Kendali (2)

• Operation Code (Opcode 6 bits) = jenis instruksi yang akan dieksekusi

• Misal instruksi add $t2, $s2, $t1 – Artinya: jumlahkan data dalam register $s2 dan $t1 dan simpan

hasilnya ke dalam register $t2 – Instruksi dalam biner:

6 bit 5 bit 5 bit 5 bit 5 bit 6 bit

bit ke: 31-26 25-21 20-16 15-11 10-6 5-0

000000 10010 01001 01010 00000 100000 |Opcode|<-----------------Operand ------------>|

• 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

Page 53: Arsitektur MIPS Satu Siklus fileSejarah MIPS. Organisasi dan Arsitektur Komputer – CSG2G3/2016 #2 Team Stanford University •MIPS = Million Instructions Per Second = Microprocessor

Organisasi dan Arsitektur Komputer – CSG2G3/2016 #52

Output CU: RegDst

• Tujuan: untuk mengendalikan multiplekser yang menentukan nomor register yang akan ditulisi (Write Register)

• Mux Input: bit instruksi 5 bit [20-16] atau [15-11]

• Mux Output: 5 bit tergantung nilai RegDst – If RegDst = 0 then output = Instruction[20-16]

– If RegDst = 1 then output = Instruction[15-11]

Page 54: Arsitektur MIPS Satu Siklus fileSejarah MIPS. Organisasi dan Arsitektur Komputer – CSG2G3/2016 #2 Team Stanford University •MIPS = Million Instructions Per Second = Microprocessor

Organisasi dan Arsitektur Komputer – CSG2G3/2016 #53

Output CU: Branch (1)

• Tujuan: Bersama dengan zero flag dari ALU digunakan untuk mengendalikan mux yang memilih sumber nilai PC selanjutnya

• If Zero flag=1 and Branch=1 then branch occur • If not (zero flag=1 and branch=1) then branch not occur

ADD

ALUResult

Shift

Left 2

M

U

X

0

1

ALU

ZeroFlag

Result

Branch

Page 55: Arsitektur MIPS Satu Siklus fileSejarah MIPS. Organisasi dan Arsitektur Komputer – CSG2G3/2016 #2 Team Stanford University •MIPS = Million Instructions Per Second = Microprocessor

Organisasi dan Arsitektur Komputer – CSG2G3/2016 #54

Output CU: Branch (2)

• Jika branch tidak terjadi: (control branch = 0) – Output Mux berasal dari keluaran adder

yang menjumlahkan PC dengan 4 (desimal)

– PC = PC + 4

• Jika branch terjadi: (control branch = 1) – Output Mux berasal dari keluaran adder

yang menjumlahkan (PC+4) dengan hasil dari Shift left 2

– PC = (PC+4) + hasil dari Shift left 2

Page 56: Arsitektur MIPS Satu Siklus fileSejarah MIPS. Organisasi dan Arsitektur Komputer – CSG2G3/2016 #2 Team Stanford University •MIPS = Million Instructions Per Second = Microprocessor

Organisasi dan Arsitektur Komputer – CSG2G3/2016 #55

Output CU: MemRead (1)

• Tujuan: Untuk mengaktifkan memori data agar data dari memori data dapat dibaca

• If MemRead=1 then Read Data Data Memory[address]

Page 57: Arsitektur MIPS Satu Siklus fileSejarah MIPS. Organisasi dan Arsitektur Komputer – CSG2G3/2016 #2 Team Stanford University •MIPS = Million Instructions Per Second = Microprocessor

Organisasi dan Arsitektur Komputer – CSG2G3/2016 #56

Output CU: MemRead (2)

• Memori bisa dibaca dan bisa ditulisi secara bergantian

• Pada saat memori dibaca, maka memori tidak dapat ditulisi, demikian pula sebaliknya

• MemRead mengendalikan pembacaan memori

• Jika MemRead bernilai 1 maka isi memori dapat dibaca melalui pin Read Data

Page 58: Arsitektur MIPS Satu Siklus fileSejarah MIPS. Organisasi dan Arsitektur Komputer – CSG2G3/2016 #2 Team Stanford University •MIPS = Million Instructions Per Second = Microprocessor

Organisasi dan Arsitektur Komputer – CSG2G3/2016 #57

Output CU: MemToReg (1)

• Tujuan: Untuk mengendalikan mux yang menentukan asal data yang akan ditulis ke dalam register apakah dari memori data atau dari hasil ALU

• If MemtoReg=0 then RegisterData Memory

• If MemtoReg=1 then RegisterALUResult

Page 59: Arsitektur MIPS Satu Siklus fileSejarah MIPS. Organisasi dan Arsitektur Komputer – CSG2G3/2016 #2 Team Stanford University •MIPS = Million Instructions Per Second = Microprocessor

Organisasi dan Arsitektur Komputer – CSG2G3/2016 #58

Output CU: MemToReg (2)

• Jalur kendali yang mengendalikan multiplexer 2 ke 1

• Mux tersebut memilih salah satu input yang berasal dari ALU atau dari memori

• Jika MemToReg bernilai 1 maka data yang menuju Register berasal dari ALU

• Jika MemToReg bernilai 0 maka data yang menuju Register berasal dari Memori

Page 60: Arsitektur MIPS Satu Siklus fileSejarah MIPS. Organisasi dan Arsitektur Komputer – CSG2G3/2016 #2 Team Stanford University •MIPS = Million Instructions Per Second = Microprocessor

Organisasi dan Arsitektur Komputer – CSG2G3/2016 #59

Output CU: ALUOp (1)

• Tujuan: untuk memilih jenis operasi ALU yang akan dilakukan yang ditentukan oleh nilai 6 bit instruksi [5-0], sebagai fungsi dalam tipe R

Page 61: Arsitektur MIPS Satu Siklus fileSejarah MIPS. Organisasi dan Arsitektur Komputer – CSG2G3/2016 #2 Team Stanford University •MIPS = Million Instructions Per Second = Microprocessor

Organisasi dan Arsitektur Komputer – CSG2G3/2016 #60

Output CU: ALUOp (2)

• AluOp adalah jalur kendali yang mengendalikan ALU control • ALU control menentukan jenis instruksi yang dikerjakan oleh

ALU • Input dari ALU control berasal dari 6 bit fungsi (Function field)

dari bit 0 – 5 • Pada instruksi tipe-R jenis operasinya ditentukan oleh

keenam bit ini

• Apa maksud dari “set on less than” ?

Page 62: Arsitektur MIPS Satu Siklus fileSejarah MIPS. Organisasi dan Arsitektur Komputer – CSG2G3/2016 #2 Team Stanford University •MIPS = Million Instructions Per Second = Microprocessor

Organisasi dan Arsitektur Komputer – CSG2G3/2016 #61

Output CU: MemWrite (1)

• Tujuan: Untuk mengaktifkan memori data agar dapat ditulisi dengan data yang berasal dari register (Read Data 2)

• If MemWrite=1 then DataMemory[ALUResult]Read Data 2

Page 63: Arsitektur MIPS Satu Siklus fileSejarah MIPS. Organisasi dan Arsitektur Komputer – CSG2G3/2016 #2 Team Stanford University •MIPS = Million Instructions Per Second = Microprocessor

Organisasi dan Arsitektur Komputer – CSG2G3/2016 #62

Output CU: MemWrite (2)

• MemWrite mengendalikan penulisan memori

• Alamat memori yang akan ditulisi ditentukan oleh hasil dari operasi ALU

• Data yang dimasukkan ke dalam memori berasal dari register (Read Data 2)

Page 64: Arsitektur MIPS Satu Siklus fileSejarah MIPS. Organisasi dan Arsitektur Komputer – CSG2G3/2016 #2 Team Stanford University •MIPS = Million Instructions Per Second = Microprocessor

Organisasi dan Arsitektur Komputer – CSG2G3/2016 #63

Output CU: ALUSrc

• Tujuan: Untuk mengendalikan mux yang menentukan asal data yang akan diolah oleh ALU apakah berasal dari register (Read Data 2) atau dari SignExtend(Instruction[15-0])

• If ALUSrc=0 then ALUInputRegister

• If ALUSrc=1 then ALUInputSignExtend(Instruction[15-0])

Page 65: Arsitektur MIPS Satu Siklus fileSejarah MIPS. Organisasi dan Arsitektur Komputer – CSG2G3/2016 #2 Team Stanford University •MIPS = Million Instructions Per Second = Microprocessor

Organisasi dan Arsitektur Komputer – CSG2G3/2016 #64

Output CU: RegWrite

• Tujuan: Untuk mengaktifkan register agar register dapat ditulisi

• Data yang ditulisi bisa berasal dari memori atau dari hasil operasi ALU

• If RegWrite=1 then Register[writeRegister]Write Data

Page 66: Arsitektur MIPS Satu Siklus fileSejarah MIPS. Organisasi dan Arsitektur Komputer – CSG2G3/2016 #2 Team Stanford University •MIPS = Million Instructions Per Second = Microprocessor

Organisasi dan Arsitektur Komputer – CSG2G3/2016 #65

Referensi

• http://en.wikipedia.org/wiki/MIPS_architecture

• Hennessy, John L. dan Patterson, David A. 2005, “Computer Organization and Design: The Hardware/Software Interface”. 3nd edition. Morgan Kaufmann publisher Inc. San Fransisco. USA