• Tidak ada hasil yang ditemukan

Team Stanford University

N/A
N/A
Protected

Academic year: 2021

Membagikan "Team Stanford University"

Copied!
46
0
0

Teks penuh

(1)
(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

(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

(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

(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

(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-processo

r tersebut

dapat diisi dengan pilihan R2010 FPU yang

memiliki 32 bit register yang dapat digunakan sebagai 64 bit register dengan

double

(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

(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

(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

(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)

(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

(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

(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

(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

(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 ins

truction

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

(16)
(17)
(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

(19)

Komponen

Pendukung

MIPS

1.

Adder

: Penjumlah 2.

Shifter

: Penggeser

3.

MUX (Multiplexer):

Multiplekser

4.

Sign Extend

: menambah jumlah bit

(20)

Datapath MIPS

Read Address Instruction (31-0) INSTRUCTION MEMORY

Address ReadData

DATA MEMORY Write Data Read Register 1 Read Data 1 REGISTERS Write Data Read Register 2 Write Register Read Data 2 CONTROL UNIT ALU Zero Flag Result ADD ALU Result ADD Result Sign Extend ALU 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 3 M e m T o R e g A L U S rc RegDst M e m W ri te MemRead 32 32 32 32 32 32 32 32

(21)

Bagian Pengendali

(Control Unit)

(1)

 Tujuan: Mengendalikan semua aktifitas prosesor  Masukan: Kode operasi (Opcode) = 6 bit

(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

(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)

(24)

Pencacah Program (PC)

(1)

 Tujuan: Untuk menghitung alamat instruksi

berikutnya yang akan dieksekusi

 Masukan: nilai PC = 32 bit

(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

(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

(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

(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

(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

(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)

(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

(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

(33)
(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

(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

(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

(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

(38)

Adder

(1)

 Tujuan: Menjumlahkan dua buah

input

 Masukan: dua buah

input

n bit

(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

(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)

(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

(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)

(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

(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

(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:

(46)

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

Referensi

Dokumen terkait

 Secepatnya membentuk komisi kebenaran yang sesuai dengan standar internasional untuk memastikan korban, keluarga mereka, dan komunitas yang terkena dampak diberikan

Menurut Gauthama (1998) bahwa berat jenis merupakan faktor penentu dari kerapatan tumpukan, daya ambang bersama dengan ukuran partikel bertanggung jawab terhadap

Bila speaker low impedance misal berdaya 25 watt dan ampifier yang dipakai 240 watt, maka bila tidak hati-hati dalam setting level output amplifier maka daya yang masuk ke speaker

Kategori Radial yang ditunjukkan oleh kategori Bahasa Indonesia dan Kategori Komputer menunjukkan bahwa sifat keanggotaan dari setiap kategori bersifat mutlak

 Melalui amalan kitar semula, negara dapat Melalui amalan kitar semula, negara dapat mengurangkan penggunaan bahan mentah.. mengurangkan penggunaan

Syarat obyek akad ada tiga yakni : 1) Obyek itu dapat diserahkan 2) Tertentu atau dapat ditentukan 3) Obyek itu dapat ditransaksikan.. Obyek itu dapat diserahkan, yaitu

Untuk meningkatkan peran serta masyarakat dalam pengendalian DBD melalui kegiatan PSN-PJB, maka kegiatan yang dilaksanakan oleh Puskesmas :..

dari perbedaan gender yang berkaitan dengan materi garis dan sudut merupakan suatu aktifitas mendeskripsikan hasil pekerjaan siswa dalam. menyelesaikan soal