TCP/IP dan Adress · Web viewDengan semakin murahnya harga hardware, harga software mengalami...

50
ARSITEKTUR KOMPUTER “Reduced Instruction Set Computer” Di Susun Oleh : RINI ANDINI 1129040148 PTIK 02

Transcript of TCP/IP dan Adress · Web viewDengan semakin murahnya harga hardware, harga software mengalami...

Page 1: TCP/IP dan Adress · Web viewDengan semakin murahnya harga hardware, harga software mengalami peningkatan. Pada waktu bersamaan, sedemikian jumlah pemrograman telah mengakibatkan

ARSITEKTUR KOMPUTER“Reduced Instruction Set

Computer”

Di Susun Oleh :

RINI ANDINI1129040148

PTIK 02

JURUSAN PENDIDIKAN TEKNIK ELEKTROPROGRAM STUDI PTIK

Page 2: TCP/IP dan Adress · Web viewDengan semakin murahnya harga hardware, harga software mengalami peningkatan. Pada waktu bersamaan, sedemikian jumlah pemrograman telah mengakibatkan

UNIVERSITAS NEGERI MAKASSAR2014

DAFTAR ISI

Halaman

HALAMAN JUDUL 1

DAFTAR ISI 2

REDUCED INSTRUCTION SET COMPUTER 3

A. Karakteristik Instruksi Eksekusi 8

B. Optimasi Register Berbasis Kompiler 10

C. Arsitektur Reduced Instruction Set 13

D. Pipelining Risc 21

E. MIPS R4000 25

F. SPARC 27

G. RISC Versus Kontroversi CISC

2Reduced Instruction Set Computer

Page 3: TCP/IP dan Adress · Web viewDengan semakin murahnya harga hardware, harga software mengalami peningkatan. Pada waktu bersamaan, sedemikian jumlah pemrograman telah mengakibatkan

BAB 13

REDUCED INSTRUCTION SET COMPUTER

A. Karakteristik Instruksi Eksekusi

Salah satu bentuk evolusi computer dirasakan adalah evolusi bahasa pemrograman.

Dengan semakin murahnya harga hardware, harga software mengalami peningkatan.

Pada waktu bersamaan, sedemikian jumlah pemrograman telah mengakibatkan harga

software semakin mahal. Sehingga, biaya terbesar dalam siklus hidup sistem adalah

software, bukan hardware. Sebagai tambahan terhadap biaya, dan ketidaknyamanan

tersebut, terdapat elemen ketidak andalan: adalah hal umum bagi program, baik sistem

maupun aplikasi, untuk terus memperlihatkan kekurangan – kekurangan baru setelah

dioperasikan beberapa tahun.

Sebagai respon dari para peneliti dan industry adalah dengan membuat bahasa

program tingkat tinggi yang lebih baik dan kompleks. Bahasa-bahasa tingkat tinggi

(High Level Languange HLL) ini memungkinkan pemrograman untuk menyatakan

algoritma dengan lebih singkat, lebih memperhatikan rincian, dan sering kali mendukung

secara alami penggunaan pemrograman terstruktur atau rancangan yang berorientasi

objek.

Solusi ini menimbulkan masalah lainnya, yang dikenal sebagai semantic gap yaitu

perbedaan antara operasi – operasi yang disediakan dalam bentuk HLL dan operasi –

operasi yang disediakan dalam bentuk arsitektur computer. Tanda – tanda adanya gap ini

di nyatakan dengan adanya ketidakefisienan eksekusi, ukuran program mein besar, dan

kompleksitas compiler. Para perancang meresponnya dengan arsitektur yang diharapkan

dapat menutup kesenjangan ini. Fitur – fitur pentingnya meliputi set – set intruksi yang

besar, lusinan mode pengalamatan, dan berbagai macam statement HLL yang

diimplementasikan di dalam hardware. Sebagai contoh implementasinya adalah intruksi

mesin CASE pada VAX. Set-set intruksi kompleks tersebut dimaksudkan untuk :

Memudahkan pekerjaan penulisan komplier

Meningkatkan efisien eksekusi, karena urutan operasi yang kompleks dapat

diimplementasikan di dalam kode mikro.

3Reduced Instruction Set Computer

Page 4: TCP/IP dan Adress · Web viewDengan semakin murahnya harga hardware, harga software mengalami peningkatan. Pada waktu bersamaan, sedemikian jumlah pemrograman telah mengakibatkan

Memberikan dukungan bagi HLL yang lebih kompleks dan lebih canggih.

Sementara itu, sejumlah penelitian telah dilakukan dalam beberapa tahun untuk

menentukan karakteristik dan pola eksekusi intruksi mesin yang dihasilkan dari program

HLL. Hasil penelitian ini telah memberikan inspirasi beberapa peneliti untuk mencari

pendekatan yang berbeda : yakni, membuat arsitektur yang mendukung HLL secara

lebih sederhana, bukanyya lebih rumit.

Untuk memahami RISC, kita mulai dengan tinjauan singkat tentang karakteristik

eksekusi intruksi. Aspek – aspek komputasi yang dimaksudkan adalah sebagai berikut :

Operasi – operasi yang dilakukan : hal ini menentukan fungsi – fungsi yang

akan dilakukan oleh prosessor dan interaksinya dengan memori.

Operand – operand yang digunakan : jenis – jenis operand dan frekuensi

penggunaanya akan menentukan organisasi memori untuk menyimpannya dan

mode pengalamatan untuk mengaksesnya.

Pengurutan Eksekusi : hal ini akan mentukan organisasi control dan pipeline.

Dibawah ini kita kan meninjau secara singkat hasil – hasil dari penelitian tentang

program bahasa tingkat tinggi. Semua hasil penelitian tersebut di dasarkan pada

pengukuran dinamis. Dengan kata lain, pengukuran – pengukuran dikumpulkan oleh

pengeksekusian program dan perhitungan sejumlah waktu pada di jalankannya fitur –

fitur terntu atau sifat – sifat tertentu dengan benar. Sebaliknya, pengukuran statis

melakukan perhitungna itu pada teks sumber program. Pengukuran – pengukuran static

ini tidak memberikan informasi tentang kinerja yang bermanfaat, karena pengukuran ini

tidak diberi bobot relative terhadap jumlah wakktu pengekesekusian seluruh statement.

Operasi

Banyak penelitian yang telah dilakukan untuk menganalisis perilaku program HLL

tabel 4.7, menunjukkan hasil penting sejumlah penelitian. Terdapat kecocokan hasil

campuran bahasa dan aplikasi tersebut. Penugasan statement sangat menonjol, yang

menyatakan bahwa perpindahan data sederhana merupakan suatu hal yang sangat

penting. Terdapat pula pernyataan bersyarat (IF,LOOP) dalam jumlah lebih besar.

Statement – statement ini diimplementasikan dalam bahasa mesin dengan beberapa

intruksi perbandingan dan percabangan. Hal ini menyatakan bahwa mekanisme control

urutan set intruksi merupakan hal yang penting.

4Reduced Instruction Set Computer

Page 5: TCP/IP dan Adress · Web viewDengan semakin murahnya harga hardware, harga software mengalami peningkatan. Pada waktu bersamaan, sedemikian jumlah pemrograman telah mengakibatkan

Hasil – hasil penelitian ini merupakan hal yang penting bagi perancangan set

intruksi mesin, yang mengindikasikan jenis statement mana yang paling sering terjadi

dan karena itu didukung dalam suatu mode yang “optimal”. Akan tetapi, hasil – hasil

tidak mengungkapkan statement mana yang paling sering digunakan dalam eksekusi

program tertentu. Dengan kata lain, diberikan sebuah program bahasa mesin yang

dikompilasi, statement bahasa sumber menyebabkan eksekusi kebanyakan intruksi

bahasa mesin ?

Untuk memahami fenomena ini, program-program Patterson (PATT82A), yang

dijelaskan pada lampiran 4A, telah dikompilasi pada VAX, PAP-11, dan Motorola

68000 untuk menentukan jumlah instruksi mesin dan acuan memori rata-rata per jenis

statemen. Kolom kedua dan ketiga pada tabel 13.2 menunjukkan ukuran pengganti

frekuensi yang relatif tentang kejadian berbagai macam instruksi-instruksi HLL pada

berbagai program, data telah diperoleh dengan pengamatan kejadian dalam menjalankan

program, daripada hanya sejumlah waktu dimana statemen terjadi pada kode sumber.

Karenanya ini adalah statistic frekuensi dinamis. Untuk memperoleh data dalam kolom

empat dan lima (Instruksi mesin berbobot), setiap nilai pada kolom kedua dan kolom

ketiga dikalikan dengan banyaknya perintah mesin yang diproduksi oleh compiler.

Hasilnya kemudian dinormalisasikan sehingga kolom empat dan lima menunjukkan

frekuensi kejadian relatif, banyaknya instruksi mesin berbobot per statemen HLL.

Dengan cara yang sama, kolom keenam dan ketujuh diperoleh dengan perkalian

frekuensi kejadian setiap jenis statemen oleh bilangan jumlah acuan memori relatif yang

disebabkan oleh setiap statemen. Data pada kolom empat sampai tujuh memberikan

ukuran pengganti dari waktu nyata yang melewatkan pengeksekusian berbagai jenis

statemen. Hasilnya menyatakan bahwa prosedur call/return adalah operasi yang paling

banyak memakan waktu dalam program HLL yang umum.

Tabel 13.2 Frekuensi Dinamis Relatif Berbobot Operasi – operasi HLL (PATT82C)

Kejadian dinamis Intruksi mesin

berbobot

Acuan memori

berbobot

Pacsal C Pascal C Pascal C

ASSIGN 45 % 38% 13% 13 % 14 % 15 %

LOOP 5% 3% 42% 32 % 33 % 26 %

CALL 15% 12% 31% 31 % 44 % 45 %

5Reduced Instruction Set Computer

Page 6: TCP/IP dan Adress · Web viewDengan semakin murahnya harga hardware, harga software mengalami peningkatan. Pada waktu bersamaan, sedemikian jumlah pemrograman telah mengakibatkan

IF 29% 43 % 11% 11 % 7 % 13 %

GOTO _ 3% _ _ _ _

OTHER 6% 1% 3% 3 % 2 % 1 %

Tabel 13.2 diatas mengindikasikan kepentingan relative dari berbagai macam jenis

statement didalam sebuah HLL, ketika HLL sedang dikompilasi untuk suatu arsitektur

set intruksi kontenporer tertentu. Beberapa arsitektur lainnya dapat menghasilkan hasil

yang berbeda. Namun, hasil penelitian ini menghasilkan sesuatu yang representative

untuk arsitektur – arsitektur complex instruction set computer (CISC) yang kontenporer.

Sehingga, penelitian – penelitian tersebut dapat memberikan pedoman bagi yang

memrlukan cara yang lebih efisien untuk mendukung HLL.

Operand

Meskipun topik ini sangat penting, namun hanya sedikit penelitian tentang jenis-

jenis operand. Terdapat beberapa aspek yang sangat penting.

Penelitian yang dilakukan Patterson telah memperhatikan juga [PATT82A]

frekuensi dinamis terjadi kelas – kelas variabel. Hasilnya konsisten antara program

pascal dan C, menunjukkan bahwa mayoritas acuan menuju ke variabel scalar sederhana.

Lebih lanjut, lebih dari 80 % scalar bersifat variabel local (terhadap prosedur). Selain itu,

acuan-acuan ke arrays/ struktur memerlukan acuan sebelumnya ke indeks atau

pointernya, yang biasanya juga merupakan scalar local. Dengan demikian, terdapat

acuan ke scalar dalam jumlah lebih besar, dan acuan – acuan ini sangat terlokalisasi.

Penelitian Patterson tekan menguji perilaku dinamis program – program HLL,

yang independen pada arsitektur tertentu. Perlunya memperhatikan arsitektur dalam

menguji perilaku program lebih mendalam. Sebuah penelitian [LUND77], menguji

intruksi DEC-10 secara dinamis dan menemukan bahwa setiap intruksi rata – rata

mengacu 0,5 operand di dalam memori dan 1,4 register. Hasil yang sama telah

dilaporkan dalam [HUCK83] untuk program – program C, Pascal, dan FORTRAN pada

S/370 PDP – 11, dan VAX. Tentu saja, hal ini menggambarkan ketergantungan sangat

tinggi baik pada arsitektur maupun compiler, tetapi hal tersebut menggambarkan

frekuensi pengaksesan operand.

Penelitian – penelitian tersebut menyatakan pentingnya arsitektur yang

berpengaruh pada pengaksesan operand, karena operasi ini sering dilakukan. Penelitian

6Reduced Instruction Set Computer

Page 7: TCP/IP dan Adress · Web viewDengan semakin murahnya harga hardware, harga software mengalami peningkatan. Pada waktu bersamaan, sedemikian jumlah pemrograman telah mengakibatkan

Patterson menyatakan bahwa calon utama untuk optimasi adalah mekanisme

penyimpanan dan pengaksesan variabel – variabel scalar local.

Tabel 13.3 persentase dinamis operand – operand

Pascal C Rata – rata

Konstanta integer 16 % 23 % 20 %

Variabel scalar 58 % 53 % 55 %

Larik / struktur 26 % 24 % 25 %

Tabel 13. 4 argumen – argument prosedur dan variabel – variabel scalar local

Presentase prosedur call

yang dieksekusi dengan

Kompiler, interpreter, dan

typesetter

Program nonnumeric

kecil

˃ 3 argumen 0 – 7 % 0 – 5 %

˃ 5 argumen 0 – 3 % 0 %

˃ 8 word argumen dan scalar lokal 1 – 20 % 0 – 6 %

˃12 word argumen dan skalal lokal 1 – 6 % 0 – 3 %

Prosedur Panggil (Call)

Kita telah mengetahui prosedur call dan return merupakan aspek penting dalam

program HLL. (bukti tabel 13.2) menyatakan bahwa prosedur call return merupakan

operasi yang paling banyak membutuhkan waktu dan program – program HLL yang

dikompilasi. Dengan demikian, maka akan sangat berguna apabila memperhatikan cara

implementasi operasi – operasi ini secara efisien. Dua aspek pentingnya adalah ;

banyaknya parameter dan variabel yang berkaitan dengan posedur, dan kedalam

persamaan(nesting).

Pada penelitian yang dilakukan Tanenbaum [TANE78] ditemukan bahwa 98%

prosedur yang dipanggil secara dinamis lebih sedikit dari enam argument, dan bahwa 92

% dari prosedur panggil tersebut menggunakan lebih sedikit dari enam variabel scalar

local. Hasil yang sama telah dilaporkan oleh kelompok Berkeley RISC [KATE83],

seperti ditunjukkan pada tabel 13.4. hasil penelitian tersebut menunjukkan bahwa

banyaknya word yang diperlukan per aktivasi prosedur tidak besar. Penelitian yang

dilaporkan lebih awal mengindikasikan bahwa sebuah proporsi acuan operand yang

7Reduced Instruction Set Computer

Page 8: TCP/IP dan Adress · Web viewDengan semakin murahnya harga hardware, harga software mengalami peningkatan. Pada waktu bersamaan, sedemikian jumlah pemrograman telah mengakibatkan

tinggi merupakan variabel scalar local. Penelitian menunjukkan bahwa kenyataan acuan

itu terbatas pada variabel yang relative lebih sedikit.

Kelompok Berkeley juga meneliti pola prosedur call dan return di dalam program –

program HLL. Mereka menemukan bahwa urutan prosedur call yang tidak di interupsi

dalam waktu lama yang diikuti oleh urutan prosedur return sangatlah jarang terjadi.

Melainkan, mereka menemukan bahwa program tetap terbatasi oleh jendela kecil

kedalaman prosedur invokasi (procedure-invocation). Hasil penelitian ini menguatkan

kesimpulan bahwa acuan – acuan operand sangat bersifat local.

Implikasi

Beberapa kelompok telah mengetahui hasil penelitian yang telah dilaporkan dan

telah disimpulkan bahwa usaha untuk memebuat arsitektur set intruksi yang mendekati

HLL bukanlah strategi perancangan yang palin efektif. Melainkan, HLL dapa didukung

dengan lebih baik dengan cara pengoptimalan kinerja fitur – fitur program HLL tertentu

yang paling banyak membutuhkan waktu.

Hasil umum dari pekerjaan sejumlah peneliti, tiga elemen yang menetukan karakter

arsitektur RISC. Pertama, penggunaan sejumlah besar register atau penggunaan suatu

compiler untuk mengoptimalkan penggunaan register. Hal ini dimaksukkan untuk

mengoptimalkan pengacuan operand. Penelitian yang baru dibahas di atas menunjukkan

bahwa terdapat beberapa acuan per intruksi HLL, dan terdapat pemindahan statement

dalam proporsi yang besar. Hal ini menggabungkan dengan lokalitas dan dominasi acuan

scalar, menyatakan bahwa kinerja dapat ditingkatkan dengan mengurangi acuan memori

dengan risiko diperlukannya risiko register yang lebih banyak. Karena lokalitas acuan

ini, maka penambahan register dirasakan lebih praktis untuk dilakukan.

Kedua, diperlukan perhatian yang saksama bagi perancangan pipeline intruksi.

Karena proporsi tinggi intruksi percabangan bersyarat dan prosedur call, pipeline

intruksi secara langsung akan menjadi tidak efisien. Hal ini menggambarkan terjadinya

proporsi yang tinggi intruksi yang di-prefect tetapi tidak pernah dieksekusi.

Terakhir, terdapat set intruksi yang disederhanakan (dikurangi). Masalah ini

tidaklah sejelas seperti masalah lainnya, tetapi akan menjadi lebih jelas dalam

pembahasan berikutnya.

B. PENGGUNAAN FILE REGISTER BESAR

8Reduced Instruction Set Computer

Page 9: TCP/IP dan Adress · Web viewDengan semakin murahnya harga hardware, harga software mengalami peningkatan. Pada waktu bersamaan, sedemikian jumlah pemrograman telah mengakibatkan

Kita telah mengetahui bahwa terdapat proporsi yang besar tentang statemen asigmen

dalam program HLL , dan banyak diantaranya berupa statemen asigment sederhana, di

samping itu terdapat pula akses operan per statemen asigmen HLL yang cukup signifikan.

Jika kita menggabungkan keduanya dengan pernyataan bahwa sebagian besar akses adalah

menuju scalar-skalar local maka sangat mungkin kita memerlukan penyimpanan register.

Alasa kita menggunakan penyimpanan register adalah dengan melihat kenyataan bahwa

penyimpan register merupakan perangkat penyimpanan yang paling cepat dan lebih cepat

disbanding dengan memori utama dan memori cache. Dimana memliki dua pendekatan yaitu

berdasarkan software dan hardware.

Pendekatan software mengandalkan compiler untuk memaksimalkan penggunaan

register .Kompiler akan mengalokasikan register-register bagi variable yang sering

digunakan dalam periode waktu tertentu ,pendekatan seperti ini memerlukan

penggunaan algoritma analisis yang lebih canggih

Pendekatan hardwere dilakukan hanya dengan memperbanyak jumlah register yang

sehingga akan lebih banyak variable yang dapat ditampung didalam register untuk

periode waktu yang lebih lama.

JENDELA-JENDELA REGISTER

Jendela register dibagi 3 buah daerah yang berukuran tetap :

Register-register parameter

Menampung parameter-parameter yang dilewatkan dari prosedur

Register-register local

Menampung register variable-variabel local setelah di asigen oleh compiler

Register-register temporer

Digunakan untuk pertukaran parameter

Pada setiap waktu hanya sebuah jendela register yang terlihat dan dapat dialamti seolah-

olahjendela itu hanya satu-satunya himpunan register misalnya (alamat 0 sampai N-1).

Jendela dibagi dalam tiga daerah berukuran tetap, register parameter hanya menampung

parameter yang dileawatkan dari prosedur yang disebut procedure terbaru dan hasilnya akan

dikirimkan kembali. Register local digunakan untuk variabele local stelah ditugaskan oleh

compiler.Register-register temporerdigunakan untuk pertukaran parameter dan menghasilkan

dengan tingkat yang lebih rendah berikutnya.Tumpang tindih ini memungkinkan parameter-

parameter dapat dilewatkan tanpa perpindahan actual data .

9Reduced Instruction Set Computer

Page 10: TCP/IP dan Adress · Web viewDengan semakin murahnya harga hardware, harga software mengalami peningkatan. Pada waktu bersamaan, sedemikian jumlah pemrograman telah mengakibatkan

Untuk bentuk call retrn yang mungkin terjadi, jumlah jendela register tidak boleh

terbatas melainkan jendela-jendela register dapat digunakan untuk menampung beberapa

pengaktifan prosedur baru .Pengaktifan yang lebih dulu harus disimpan didalam memori dan

kemudian digunakan kembali ketika terjadi pengurangan kedalaman persarangan .

VARIABEL-VARIABEL GLOBAL

Teknik jendela yang telah dijelaskan diatas memberikan organisasi yang efissiean untuk

penyimpanan variabel scalar local didalam register. Akan tetapi teknik ini tidak memenuhi

kebutuhan penyimpanan variabel global ,yang diakses oleh lebih dari satu prosedur terdapat

dua pilihan untuk memenuhi hal tersebut

Variabel-variabel yang dideklarasikan sebagai global pada HLL dapat disediakan

lokasi-lokasi memori oleh computer dan seluruh instruksi mesin yang mengacu

variable-variabel ini akan menggunakan operand-operand acuan memori .Cara ini

lansung baik dari sudut pandang hardwer maupun software (compiler) .Namun yang

sering mengakses variable g;obal. Teknik ini tidak efisien

Alternatifnya adalah melibatkan set register global didalam processor .Register-

register ini harus memiliki jumlah yang tetap dan tersedia untuk semua prosedur .

FILE REGISTER BERUKURAN BESAR VERSUS CACHE

FILE REGISTER BESAR

Semua scalar local

Variable individu

Variable global yang di asgn compiler

Simpan kembali yang didasarkan

Pada kedalaman persaranagn prosedur

Pengalamatan register

CACHE

Scalar local yang baru digunakan

Blok-blok memori

Variabele-variabel global yang baru digunakan

10Reduced Instruction Set Computer

Page 11: TCP/IP dan Adress · Web viewDengan semakin murahnya harga hardware, harga software mengalami peningkatan. Pada waktu bersamaan, sedemikian jumlah pemrograman telah mengakibatkan

Simpan kembali yang didasarkan pada algoritma penggantian cahce

Pengalamatan memori

C. Optimasi Register Berbasis Kompiler

Sekarang kita asumsikan bahwa pada mesin RISC target hanya tersedia register dalam

jumlah yang sedikit. Di sini, penggunaan register yang telah dioptimalkan tersebut

merupakan tanggung jawab compiler. Tentu saja sebuah program yang ditulis dalam bahasa

tingkat tinggi tidak memiliki acuan eksplisit ke register. Kuantitas-kuantitas program diacu

secara simbolik. Fungsi compiler adalah untuk menjaga operand bagi komputasi sebanyak

mungkin di dalam memori utama. Hal ini ditunjukkan untuk meminimalkan operasi load dan

store.

Secara umum, pendekatan yang diambil adalah sebagaii berikut. Setiap kuantitas

program yang akan ditempatkan dalam register ditugaskan ke register virtual atau simbolik.

Compiler kemudian memetakan jumlah tidak terbatas dari register simbolik ke jumlah

tertentu dari register nyata. Register simbolik yang tidak menggunakan tumpang-tindi bisa

berbagi dengan register rill. Jika, pada bagian yang tertentu dari program ada banyak

kuantitas yang berhubungan dengan register riil, maka sebagian dari kuantitas itu ditugaskan

ke lokasi memori. Instruksi Load-dab-Store digunakan untuk posisi kuantitas dalam register

untuk sementara untuk operasi komputasi.

Inti dari tugas komputasi adalah untuk menentukan kuantitas yang mana yang akan

ditugaskan ke register di setiap posisi dalam program. Teknik yang paling banyak digunakan

di compiler RISC adalah penawaran grafik, yang merupakan suatu teknik diaambil dari

disiplin ilmu topologi.

Masalah penawaran grafik adalah sebagai berikut. Jika ada suatu grafik terdiri dari

simpul dan node, berikan warna ke beberapa simpul sehingga simpul-simpul yang

berseblahan mempunyai warna yang berbeda, dan dilakukan sedemikian ini untuk

memperkecil banyaknya warna yang berbeda. Hal tersebut digunakan dalam koompiler

dengan cara berikut. Pertama, program dianalisis untuk membangun suatu grafik interfrensi

register. Simpul dari grafik adalah register simbolik. Jika ada dua register simbolik “berada”

sepanjang fragmen program tertentu yang sama, maka untuk menggambarkan hubungan

interferensi kedua register digabungkan dengan suatu garis. Kemudian mewarnai grfik

dengan n warna, dimana n adalah banyaknya register. Simpul yang memiliki warna yang

sama dapat ditugaskan ke register yang sama. Jika proses ini tidak sepenuhnya berhasil,

11Reduced Instruction Set Computer

Page 12: TCP/IP dan Adress · Web viewDengan semakin murahnya harga hardware, harga software mengalami peningkatan. Pada waktu bersamaan, sedemikian jumlah pemrograman telah mengakibatkan

kemudian simpulnya tidak bisa diwarnai harus ditempatkan di dalam memori, kemudian

operasi load dan store harus dilakukan untuk membuat ruang untuk kuantitas yang

terpengaruhi ketika mereka diperlukan.

Gambar 13.4 adalah contoh sederahan dari proses itu. Asumsikan suatu program dengan

enam register simbolik untuk di-kompile ke dalam tiga register nyata. Gambar 13.4a

menunjukkan waktu urutan dari penggunaan aktif dari setiap register simbolik, dan bagian b

menunjukkan grafik interferensi register. Suatu pewarnaan dengan tiga warna dapat

ditunjukkan. Suatu register simbolok, F, ditinggalkan tanpa warna dan harus diperlakukan

dengan menggunakan load dan Store.

Secara umum, ada suatu kerugianantara penggunaan register dalam jumlah besar dan

optimisasi register berbasis compiler. Sebagai contoh (BRAD91A) melaporkan tentang suatu

studi memodelkan suatu arsitektur RISC dengan fitur yang serupa dengan Motorola 88000

dan MIP R2000. Peneliti menggunakan jumlah register yang bervariasi dari 16 sampai 128,

dan mereka memperhatikan kedua-duanya penggunaan dari semua register penggunaan

umum dan register yang memisah antara penggunaan bilangan integer dan titik-mengambang.

Penelitian tersebut menunjukkan bahwa walaupun menggunakan optimasi sederhana,

terdapat manfaat sedikit jika menggunakan lebih dari 64 register. Dengan teknik optimisasi

register canggih, ada peningkatan kinerja marginal dengan lebih dari 32 register. Akhirnya,

mereka catat bahwa dengan sejumlah kecil register (misalnya 16), suatu mesin dengan suatu

organisasi register yang sama mengeksekusikan lebih cepat dibandingkan suatu organisasi

yang menggunakan register terpisah. Kesimpulan yang serupa dapat diambil dari (HUGU91),

yang melaporkan tentang suatu penelitian yang menekan pada penggunaan register berjumlah

sedikit, daripada membandingkannya dengan penggunaan set register besar dari usaha

optimisasinya.

Gambar 13.4

Pendekatan Pewarnaan Grafik A B

A B C D E F

D E

R1 R2 R3 C D E F

12Reduced Instruction Set Computer

Page 13: TCP/IP dan Adress · Web viewDengan semakin murahnya harga hardware, harga software mengalami peningkatan. Pada waktu bersamaan, sedemikian jumlah pemrograman telah mengakibatkan

(a) Urutan waktu dari penggunaan aktif untuk register (b) Grafik interferensi untuk register

D. Arsitektur Reduced Instruction Set

Dalam bagian ini, kita memperhatikan beberapa karakteristik umum dan motivasi dari suatu

arsitektur reduced instruction set. Contoh yang spesifik akan dilihat kemudian dalam bab ini.

Mengapa CISC Kita sudah mencatat adanya kecenderungan ke set instruksi yang lebih kaya, yang

meliputi jumlah instruksi yang lebih banyak dan instruksi yang lebih rumit. Dua

pertimbangan yang prinsip sudah memotivasi kecenderungan ini; suatu keinginan untuk

menyederhanakan compiler dari suatu keinginan untuk meningkatkan kinerja. Dibalik kedua

pertimbangan ini ada suatu keinginan untuk beralih bahasa tingkat tinggi (HLL) pada

beberapa pemrogram; arsitek yang berusaha untuk mendesain suatu mesin yang mendukung

HLL lebih baik.

Bukan tujuan dari bab ini untuk mengatakan bahwa para perancang CISC sudah

menggunakan cara yang salah. Tentu saja, karena teknologi bertujuan untuk meningkatkan

dan karena arsitektur berada di sepanjang suatu spectrum, bukannya di dalam dua kategori

yang jelas, maka terdapat penilaian yang kecil sekali. Dengan demikian, komentar yang ada

hanyalah dimaksudkan untuk menunjukkan kekurangan potensial dari pendekatan CISC dan

untuk beberapa pemahaman dari motivasi dari pendukung RISC itu.

Alasan yang pertama, penyederhanaan compiler tampak cukup jelas dan nyata. Tugas

dari compiler adalah untuk menghasilkan suatu urutan dari instruksi mesin untuk setiap

statemen HLL. Jika ada instruksi mesin yang menyerupai HLL statemen, tugas ini

disederhanakan. Pemikiran ini telah diperdebatkan oleh para peneliti RISC ([HENN82],

[RADI83], [PATT82PB]). Mereka berpendapat bahwa instruksi mesin yang kompleks sering

susah untuk digunakan sebab kompiler harus temukan suatu kasus yang persis sama. Tugas

dari pengoptimalan kode yang dihasilkan untuk memperkecil ukuran kode, mengurangi

jumlah eksekusi instruksi dan meningkatkan pipelining adalah jauh lebih sulit dengan

menggunakan set instruksi yang kompleks. Sebagai bukti dari itu, penelitian yang dibahas

lebih awal di bab ini menunjukkan bahwa kebanyakan dari instruksi program yang

dikompiler adalah kode yang secara relative sederhana.

Alasan utama lainnya adalah suatu harapan dari CISC yang akan menghasilkan program

yang lebih cepat dan lebih kecil. Ada keuntungan untuk memperkecil program. Pertama,

13Reduced Instruction Set Computer

Page 14: TCP/IP dan Adress · Web viewDengan semakin murahnya harga hardware, harga software mengalami peningkatan. Pada waktu bersamaan, sedemikian jumlah pemrograman telah mengakibatkan

sebab program memerlukan memori lebih sedikit, maka akan menghemat sumber daya.

Karena memori masa ini sangat murah, maka keuntungan potensi ini tidak terlalu penting

lagi. Yang lebih penting, program yang kecil akan meningkatkan kinerja dan kinerja ini akan

terjadi dalam dua arah. Pertama, lebih sedikit instruksi berarti lebih sedikit byte-byte instruksi

yang diperlukan. Kedua, pada pemberian nomor halaman , program yang lebih kecil

menduduki lebih sedikit byte-byte instruksi untuk diperlukan. Kedua, pada pemberian nomor

halaman, program yang lebih kecil menduduki lebih sedikit halaman, mengurangi kesalahan

halaman.

Masalah yang terdapat dari pertimbangan diatas adalah jauh dari kepastian program

CISC akan lebih kecil disbanding dengan program RISC. Pada umumnya, CISC

programyang dinyatakan dalam bahasa mesin berupa simbolik, mungkin lebih pendek (yaitu

lebih sedikit instruksi), hanyalah jumlah bit dalam memori yang dipakai tidak kecil. Tabel

13.6 mengilustrasikan hasil tiga penelitian membandingkan ukuran dari program bahasa C

yang dikompile pada berbagai mesin, termasuk RISC I, yang mempunyai suatu arsitektur

reduced instruction set. Perlu dicatat bahwa ada penggunaan CISC di sini hanya menghemat

sedikit atau tidak menghemat sama sekali apabila menggunakan RISC. Hal lain yang menarik

untuk dicatat bahwa VAX, yang mempunyai lebih banyak set instruksi yang kompleks

dibandingkan PDP-11, hanya bisa menghemat sedikit. Hasil ini telah ditetapkan oleh para

peneliti IBM [RADI83], yang menyatakan bahwa 801 (adalah suatu RISC) yang

memproduksi kode berukuran 0.9 kali ukuran kode pada suatu IBM S/370. Penelitian

menggunakan sejumlah program PL/I.

Ada beberapa pertimbangan dari hasil-hasil yang mengejutkan. Kita catat bahwa

kompiler pada CISC cenderung untuk menggunakan instruksi yang lebih sederhana. Oleh

karena itu kesingkatan dari instruksi kompleks jarang digunakan. Juga, terdapat banyak

instruksi pada CISC, maka diperlukan opcode lebih panjang yang akan menghasilkan

instruksi yang lebih panjang juga. Akhirnya, RISC cenderung untuk menekankan acuan

register dibanding acuan memori dan acuan register membutuhkan lebih sedikit jumlah bit.

Sebuah contoh dari acuan register akan ibahas berikut ini.

Dengan demikian, harapan bahwa CISC akan menghasilkan program yang lebih kecil,

dengan beberapa keuntungan tidak dapat direalisir. Factor motivasi kedua untuk

menggunakan set instruksi kompleks adalah bahwa eksekusi instruksi akan bersifat lebih

cepat. Jelas bahwa suatu operasi HLL yang kompleks akan dieksekusi dengan cepat sebagai

instruksi mesin yang tunggal bukannya sebagai rangkaian dari instruksi yang lebih primitive.

14Reduced Instruction Set Computer

Page 15: TCP/IP dan Adress · Web viewDengan semakin murahnya harga hardware, harga software mengalami peningkatan. Pada waktu bersamaan, sedemikian jumlah pemrograman telah mengakibatkan

Bagaimanapun, oleh karena bias ke arah penggunaan instruksi yang lebih sederhana, maka

hal ini sulit terjadi juga. Seluruh unit control harus dibuat lebih rumit dan penyimpanan

control program mikro harus dibuat lebih besar, untuk mengakomodasi suatu set instruksi

yang lebih kaya. Salah satu factor tersebut akan meningkatkan waktu eksekusi suatu instruksi

sederhana.

Sesungguhnya, beberapa peneliti berpendapat bahwa percepatan terhadap eksekusi

fungsi-fungsi kompleks tidak tergantung paa kekuatan instruksi mesin yang kompleks seperti

halnya pada penyimpanan control yang kecepatan tinggi [RADI83]. Pada hakikatnya,

penyimpanan control bertindak sebagai cache instruksi. Dengan demikian, arsitektur

hardware berada dalam posisi untuk berusaha menentukan subroutines atau fungsi yang mana

yang paling sering digunakan dan menugaskannya ke penyimpanan control dengan

menerapkannya dalam kode mikro. Hasilnya kurang dari harapan. Jadi pada system S/390,

instruksi seperti translate dan extended-precision-floating-point-divide berada dalam

pemyimpanan kecepatan tinggi, sedang urutan yang dilibatkan ddidalam menentukan

prosedur call atau memulainya suatu intrupsi berada dalam memori utama yang lebih lambat.

Dengan demikian dapat disimpulkan bahwa tidak jelas bahwa suatu kecenderungan

untuk peningkatan penggunaan set instruksi kompleks dapat terjadi. Ini telah mengakibatkan

sejumlah kelompok untuk mengambil cara lain.

Karakteristik dari Arsitektur Set Reduced Instruction

Walaupun telah diambil berbagai pendekatan yang berbeda untuk arsitektur set reduced

instruction, terdapat beberapa karakteristik yang umum bagi semua arsitektur-arsitektur.

Satu instruksi persiklus Operasi register-ke-register Mode pengalamatan sederhana Bentuk instruksi sederhana

Disini, kita menyediakan suatu diskusi ringkas tentang karakteristik-karakteristik ini.

Karakteristik yang pertama adalah ada satu instruksi mesin per siklus mesin. Suatu siklus

15Reduced Instruction Set Computer

Page 16: TCP/IP dan Adress · Web viewDengan semakin murahnya harga hardware, harga software mengalami peningkatan. Pada waktu bersamaan, sedemikian jumlah pemrograman telah mengakibatkan

mesin dinyatakan oleh waktu yang dibutuhkan untuk mengambil dua operand dari register,

melaksanakan suatu ALU operasi dan menyimpan hasiilnya pada register. Dengan demikian,

instruksi mesin RISC harus tidak boleh rumit dari dan melaksanakan kira-kira secepat

instruksi mikro pada mesin CISC. Dengan menggunakan instruksi sederhana atau instruksi

satu siklus, tidak diperlukan kode mikro yang lebih; instruksi mesin dapat di hardwire.

Instruksi-instruksi seperti itu akan dieksekusikan lebih cepat dari instruksi mesin yang lain

pada mesin yang lain, sebab tidaklah perlu untuk mengakses suatu penyimpanan control

mikroprogram selama eksekusi instruksi berjalan .

Karakteristik kedua adalah bahwa kebanyakan operasi harus dalam bentuk register ke

register, dengan hanya operasi akses memori LOAD dan STORE yang sederhana. Rancangan

ini menyederhanakan set instruksi dan sekalian menyederhanakan unit control. Sebagai

contoh, sebuah set instruksi RISc bisa mengandung hanya satu atau dua instruksi ADD

(misalnya, penambahan bilangan bulat, penambahan dengan pembawa); VAX mempunyai 25

instruksi ADD berbeda. Keuntungan yang lain adalah bahwa arsitektur seperti itu

meningkatkan optimisasi penggunaan register, sehingga operand-operand yang sering diakses

akan tetap berada dalam penyimpanan berkecepatan tinggi.

Penekanan pada operasi register-ke-register ini merupakan ciri khas dari rancangan

RISC. Mesin CISC yang modern menyediakan instruksi seperti tetapi juga meliputi operasi

memori-ke-memori dan operasi campuran register/memory. Perbandingan kedua pendekatan

ini telah dilakukan di tahun 1970-an, sebelum terwujudnya RISC. Gambar 13.5a

menunjukkan pendekatan yang diambil. Arsitektur hipotesis sudah dievaluasi dalam hal

ukuran program dan banyaknya bit lalu lintas memori. Hasil seperti ini yang mendorong

seorang peneliti untuk menyatakan bahwa arsitektur masa depan tidak berisi register sama

sekali [MYER78].

Suatu hal yang hilang dari penelitian-penelitian diatas adalah cara untuk mengetahui

akses yang sering terjadi kesejumlah kecil scalar yang local dan dengan menggunakan papan

besar untuk register atau suatu kompiler optimisasi, kebanyakan operand bisa bertahan

didalam register untuk periode waktu yang cukup lama. Gambar 13.5b merupakan gambaran

yang perbandingan yang cukup adil.

Karakteristik ketiga adalah penggunaan mode pengalamatan sederhana. Hampir semua

instruksi RISC menggunakan pengalamatan register sederhana. Beberapa mode tambahan,

seperti penggantian dan penggantian-PC relative, mungkin termasuk juga. Yang lain, mode

16Reduced Instruction Set Computer

Page 17: TCP/IP dan Adress · Web viewDengan semakin murahnya harga hardware, harga software mengalami peningkatan. Pada waktu bersamaan, sedemikian jumlah pemrograman telah mengakibatkan

yang lebih rumit dapat dimasukkan didalam software dari yang sederhana. Lagi, rancangan

ini meyederhanakan set instruksi dan unit control.

Karakteristik umum terakhir adalah penggunaan bentuk instruksi sederhana. Secara

umum, hanya satu atau sedikit sekali bentuk digunakan. Panjang instruksi tetap dan diratakan

dengan batasan word. Lokasi bidang, terutama opcode ditetapkan. Rancangan ini mempunyai

sejumlah keuntungan. Dengan bidang tetap, decode opcode dan akses register operand bisa

terjadi secara simultan. Bentuk sederhana menyederhanakan unit control. Instruksi

pengambilan dioptimalkan sebab panjang word telah diambil. Perataan paa batas word juga

berarti instruksi tunggal tidak akan melebihi batas halaman.

Gambar 13.5 dua perbandingan dari pendekatan Register-ke-register dan memori- ke-

memori

Mempertimbangkan bersama, karakteristik-karakteristik ini dapat diakses untuk

menentukan keuntungan-keuntungan potensial dari pendekatan RISC. Keuntungan-

keuntungan ini dapat dikategorikan dalam dua kategori utama : yang berhubungan dengan

kinerja an yang berhubungan dengan implementasi VLSI.

Berkaitan dengan kinerja, suatu jumlah tertentu “circumstantial evidence” dapat

direpresentasikan. Pertama, pengoptimalan kompiler yang lebih efektif dapat dikembangkan.

Dengan instruksi more-primitive, ada kemungkinan besar untuk perpindahan suatu fungsi

keluar dari pengulangan, kode penyusunan ulang untuk efisiensi, memaksimalkan

17Reduced Instruction Set Computer

Page 18: TCP/IP dan Adress · Web viewDengan semakin murahnya harga hardware, harga software mengalami peningkatan. Pada waktu bersamaan, sedemikian jumlah pemrograman telah mengakibatkan

pemanfaatan register,dsb. Bahkan mungkin untuk menghitung bagian-bagian dari instruksi

kompleks pada waktu kompilasi. Sebagai contoh, S/390 memindahkan karakter (MVC)

instruksi memindahkan suatu string terdiri dari karakter dari suatu lokasi ke yang lainnya.

Setiap kali dieksekusi, perpindahan akan tergantung pada panjang string. Dalam banyak

kasus, ini semua dikenal sebagai waktu kompilasi. Dengan demikian, kompiler dapat

menghasilkan suatu rangkaian optimal dari instruksi primitive untuk fungsi ini.

Hal kedua, yang telah dicatat adalah bahwa kebanyakan instruksi yang dihasilkan oleh

kompiler biasanya sederhana secara relative. Merupakan hal yang masuk akal jika suatu unit

control dibangun terutama untuk instruksi-instruksi itu dan menggunakan sedikit atau bahkan

tanpa kode mikro bisa mengeksekusinya lebih cepat dari suatu CISC sebanding.

Hal ketiga berhubungan dengan penggunaan pipelining instruksi, para peneliti RISC

merasakan bahwa teknik pipelining instruksi dapat diimplementasikan jauh lebih efektif

dengan suatu set instruksi reduced.

Hal terakhir yaitu bahwa prosessor RISC harus lebih responsive ke interupsi. Arsitektur

dengan instruksi kompleks membatasi intrupsi ke batasan-batasan instruksi atau harus dapat

menetukan posisi spesifik yang dapat diinterupsi dan menerapkan mekanisme untuk memulai

lagi suatu instruksi.

Kasus kinerja yang dapat ditingkatkan untuk suatu arsitektur set instruksi reduced

belum terbukti, tetapi masih bisa membuat suatu argumentasi untuk CISC. Sejumlah

penelitian telah dilakukan tetapi tidak menggunakan mesin dari teknologi yang sebanding.

Lebih lanjut, kebanyakan penelitian belum mencoba untuk memisahkan efek set instruksi

reduced dan efek file register besar. ”circumstantial evidence”, bagaimanapun adalah sebagai

usulan.

Masalah kedua dari pemanfaatan potensial, berhubungan dengan implementasi VLSI.

Ketika VLSI digunakan, rancangan dan implementasi dari prosessor akan berubah. Prosessor

tradisional, seperti IBM S/390 dan VAX, terdiri dari satu atau lebih papan rangkaian yang

dicetak (printed circuit board) yang berdasarkan SSI standard dan paket MSI. Dengan

kehadiran LSI dan VLSI, maka sangat mungkin untuk mengemas suatu prosessor secara

keseluruhan dalam suatu chip tunggal. Karena suatu prosessor chip tunggal, terdapat dua

motivasi untuk mengikuti strategi RISC. Pertama, berkaitan dengan kinerja. Waktu tertunda

dalam suatu chip akan jauh lebih pendek dari waktu tuna interchip. Dengan demikian, dapat

dipertimbangkan untuk tetap menggunakan chip tunggal untuk aktivitas-aktivitas yang sering

terjadi. Chip BERKELEY RISC telah diarancang dengan pertimbangan diatas. Sedangkan

18Reduced Instruction Set Computer

Page 19: TCP/IP dan Adress · Web viewDengan semakin murahnya harga hardware, harga software mengalami peningkatan. Pada waktu bersamaan, sedemikian jumlah pemrograman telah mengakibatkan

suatu proses mikro chip tunggal sekitar separuh areanya digunakan oleh penyimpanan control

kode mikro, RISC I memberikan hanya sekitar 6% areanya kepada unit control [SHER84].

Masalah yang kedua yang berkaitan dengan waktu rancangan dan implementasi. Sebuah

VLSI prosessor sulit untuk berkembang. Sebagai penggantinya SSI/MSI yang tersedia,

perancang harus merancang rancangan sirkuit, penampilan dan pemodelan tingkat perangkat.

Dengan suatu arsitektur set instruksi reduced, proses ini jauh lebih mudah sebagaimana yang

ditunjukkan pada table 13.7 [FITZ81]. Jika sebagai tambahan, kinerja dari chip RISC adalah

setara dengan mikro prosessor CISC, maka keuntungan-keuntungan dari pendekatan RISC

menjadi cukup jelas.

Karakteristik CISC versus RISC

Setelah semangat besar untuk mesin RISC, telah terjadi kejadian-kejadian berikut :

1. Rancangan RISC dapat memperboleh manfaat melalui beberapa fitur CISC2. Rancangan CISC dapat memperboleh manfaat melalui beberapa fitur RISC.

Hasil adalah suatu rancangan RISC baru yaitu power PC, tidak lagi “murni” rancangan

RISC dan CISC yang baru, digunakan dalam PENTIUM II dan model pentiun berikutnya,

memiliki beberapa karakteristik RISC.

Suatu perbandingan yang menarik dalam [MASH95] menyajikan beberapa pengertian

yang mendalam tentang masalah ini. Table 13.8 mengurikan sejumlah prosessor dan

baningkannya dengan sejumlah karakteristik. Untuk tujuan perbandingan ini, berikut

dipertimbangkan beberapa ciri khas dari suatu RISC klasik :

1. Ukuran instruksi tunggal

2. Ukuran itu biasanya 4 byte

3. Sejumlah kecil mode pengalamatan data, biasanya kurang dari lima. Parameter ini

sukar untuk dijelaskan. Dalam table, mode register dan literal tidak terhitung dan

bentuk berbeda dari ukuran offset yang berbeda terhitung secara terpisah.

4. Tidak ada alamat tidak langsung yang memaksa untuk membuat satu akses memori

untuk mendapatkan alamat operand yang lain didalam memori

5. Tidak ada operasi yang mengombinasikanoperasi load/store dengan operasi aritmatika

6. Tidak lebih dari satu operand beralamat memori per instruksi

7. Tidak menukung perataan sembarang tentang data untuk operasi load/store

8. Jummlah maksimum penggunaan Unit Manajemen Memori (MMU) untuk suatu data

adalah suatu instruksi

19Reduced Instruction Set Computer

Page 20: TCP/IP dan Adress · Web viewDengan semakin murahnya harga hardware, harga software mengalami peningkatan. Pada waktu bersamaan, sedemikian jumlah pemrograman telah mengakibatkan

9. Jumlah bit untuk spesifier register titik mengambang sama dengan empat atau lebih.

Ini berarti bahwa sedikitnya 16 register titik mengambang dapat diacukan secara

eksplisit pada waktu yang sama.

Butir 1 sampai 3 menindikasikan kompleksitas dari decode instruksi, butir 4 sampai 8

menunjukkan kemudahan atau kesukaran pipelining, terutama dengan adanya memori maya.

Materi 9 dan 10 berhubungan dengan kemampuan untuk mengambil keuntungan dari

kompiler.

Dalam tabel, delapan prosessor yang pertama jelas arsitektur RISC. Lima berikutnya

adalah jelas CISC dan dua sisanya adalah prosessor yang seringkali di anggap RISC dan

sebetulnya dia mempunyai banyak karakteristik CISC.

Table 13.8 karakteristik-karakteristik dari beberapa prosessor

E. Pipelining Risc

Pipelining dengan Menggunakan Instruksi Reguler

20Reduced Instruction Set Computer

Page 21: TCP/IP dan Adress · Web viewDengan semakin murahnya harga hardware, harga software mengalami peningkatan. Pada waktu bersamaan, sedemikian jumlah pemrograman telah mengakibatkan

Seperti yang telah kita bahas dalam subbab 12.4, pipelining instruksi adalah sering

digunakan untuk meningkatkan kinerja. Mari kita mempertimbangkan ulang arsitektur RISC.

Kebanyakan instruksi merupakan register ke register, dan suatu siklus instruksi mempunyai

dua langkah berikut:

I: Mengambil Instruksi

E: Eksekusi. Melakukan suatu operasi ALU dengan masukan dan keluaran register.

untuk operasi load dan store, tiga langkah-langkah diperlukan:

I: Mengambil Instruksi

E: Eksekusi. Menghitung alamat memori

D: Memori. Operasi Register ke memori atau operasi memori ke register.

Gambar 13.6a menggambarkanpewaktuan set instruksitanpamenggunakan pipelining.

Jelasbahwa, iniadalahsuatu proses boros. Bahkan pipelining yang sangat sederhana dapat

meningkatkan kinerja. Gambar 13.6b menunjukkan suatu rancangan pipelining dua tahap,

dimana I dan E langkah-langkah dari dua instruksi yang berbeda yang dieksekusi bersama.

Rancangan dapat menghasilkan eksekusi lebih cepat dua kali lebih dari pada eksekusi

rancangan serial. Dua masalah menghambat mencapai kecepatan maksimum. Pertama, kita

berasumsi bahwa suatu memori port tunggal digunakan dan hanya dapat satu akses memori

langkah. Ini memerlukan waktu tunggu tambahan untuk beberapa instruksi. Kedua, suatu

instruksi pencabangan menginstruksi aliran eksekusi. Untuk mengakomodasi dengan

rangkaian yang minimum, suatu instruksi NOOP dapat disisipkan arus instruksi oleh

compiler atau assembler.

Pipelining dapat ditingkatkan lebih lanjut dengan mengizinkan dua akses memori

perlangkah. Cara ini menghasilkan suatu deretan ditunjukkan dalam gambar 13.6c. Sekarang,

lebih dari 3 instruksi dapat dilaksanakan, dan peningkatan adalah tiga kali. Demikian juga,

instruksi pencabangan menghalangi tercapainya kecepatan maksimum. Juga, perlu dicatat

bahwa ketergantungan data mempunyai suatu efek tertentu juga. Jika suatu instruksi

memerlukan suatu operand yang sudah diubah oleh instruksi sebelumnya, maka suatu

penundaan akan terjadi. Sekali lagi, hal ini dapat diatasi menggunakan NOOP.

Pipelining yang dibahas sejauh ini akan bekerja dengan baik jika ketiga langkah-

langkahnya memiliki waktu yang kira-kira sama. Sebab langkah E pada umumnya

melibatkan suatu operasi ALU, maka langkah ini akan lebih lama. Dalam hal ini, kita dapat

membaginya dalam dua sublangkah:

21Reduced Instruction Set Computer

Page 22: TCP/IP dan Adress · Web viewDengan semakin murahnya harga hardware, harga software mengalami peningkatan. Pada waktu bersamaan, sedemikian jumlah pemrograman telah mengakibatkan

E1: Membaca file Register.

E2: Operasi ALU dantulis register.

Karena adanya kesederhanaan dan keteraturan set instruksi RISC. Rancangan tiga atau

empat langkah-langkah mudah dilakukan. Gambar 13.6d menunjukkan hasil dengan suatu

pipeline empat tahap. Sampai keempat instruksi dapat berjalan dengan waktu yang sama, dan

peningkatan kecepatan potensi yang maksimum adalah suatu kelipatan 4. Perlu diingat lagi

penggunaan NOOPS untuk mengatasi ketundaan data dan pencabangan.

Optimasi Pipelining

Karena sifat yang regular dan sederhana instruksi RISC, rancangan pipelining dapat

secara efisien dilaksanakan. Ada beberapa variasi dalam waktu eksekusi instruksi, dan

pipeline dapat digunakan dalam hal ini. Bagaimanapun, kita sudah melihat ketergantungan

data dan pencabangan dapat mengurangi kecepatan eksekusi secara keseluruhan.

Untuk mengganti kerugian atas ketergantungan ini, teknik reorganisasi kode telah

dikembangkan. Pertama, mari kita mempertimbangkan pencabangan instruksi. Cabang

tertunda, suatu cara untuk meningkatkan efisiensi pipeline, menggunakakan pencabangan

yang tidak tidak berlaku sampai setelah eksekusi instruksi berikutnya. lokasi instruksi

langsung mengikuti cabang dikenal sebagai slot penunda. Prosedur yg aneh ini dilustratsikan

dalam tabel 13.9 di kolom yang di beri label “cabang normal” kita lihat suatu program

instruksi bahasa mesin simbolik yang normal. Setelah 102 dieksekusi, instruksi berikutnya

yang akan di eksekusi adalah 105. untuk menggunakan pipeline, maka suatu NOOP harus di

22Reduced Instruction Set Computer

Page 23: TCP/IP dan Adress · Web viewDengan semakin murahnya harga hardware, harga software mengalami peningkatan. Pada waktu bersamaan, sedemikian jumlah pemrograman telah mengakibatkan

sisipkan setelah cabang ini bagaimana pun, peningkatan kinerja dapat tercapai jika instruksi

pada 101 dan 102 ditukarkan.

Gambar 13.7 menunjukkan hasil itu. Gambar 13.7 a menunjukkan pendekatan

pipelining tradisional, dari jenis yang di bahas di bab 12. Instruksi LOMPAT di ambil pada

waktu 3. Pada waktu 4, instruksi LOMPAT dieksekusi pada waktu yang sama instruksi 103

( instruksi TAMBAH) diambil. Karena LOMPAT terjadi, akan membaharui penghitung

program, pipeline harus dibersihkan dari instruksi 103; pada waktu 5, instruksi 105, yaitu

tujuan dari LOMPAT, dimuatkan. Gambar 13.7b menunjukkan penanganan pipeline yang

sama oleh organisasi RISC biasa. Pewaktuan sama. Bagaimana pun, karena adanya

penyisipan instruksi NOOP, kita tidak memerlukan rangkaian khusus untuk

memperbersihkan pipeline; secara sederhana NOOP dieksekusi tanpa efek. Gamabar 13.7c

menunjukkan penggunaan dari cabang tertunda. Instruksi LOMPAT diambil pada waktu 2,

sebelum instruksi TAMBAH, yang mana telah diambil pada waktu 3. Perlu dicatat bahwa,

bagaimanapun, bahwa instruksi TAMBAH diambil sebelum eksekusi instruksi LOMPAT dia

tetap mempunyai kesempatan untuk mengubah perhitungan program. Oleh karena itu, selama

waktu 4, instruksi TAMBAH dieksekusi pada waktu yang sama dengan instruksi 105

diambil. Dengan demikian, semantikatis asli dari program tetap bertahan tetapi ada tambahan

satu siklus detak diperlukan untuk eksekusi.

Pertukaran antara instruksi ini cocok dan sukses untuk cabang tanpa syarat, call dan

return. Untuk cabang bersyarat, prosedur ini tidak bisa di implementasikan begitu saja. Jika

kondisi yang di uji untuk cabang dapat di ubah instruksi sebelumnya, kemudian komplier

harus menahan dahulu agar tidak melakukan tetapi tidak menyisipkan suatu NOOP. Selain

itu, komplier dapat mencari dan menyisipkan suatu instruksi yang berguna setelah cabang.

Pengalaman dari kedua sistem BERKELEY RISC dan sistem IBM 801 bahwa mayoritas dari

instruksi percabangan bersyarat dapat di optimalkan dengan cara ini ({PATT 82A},

{RAD183}).

Suatu taktik yang serupa,yang disebut load tertunda, dapat digunakan instruksi load

( MUAT). Pada instruksi load, register akan menjadi target dari load dikunci prosesor.

Kemudian prosesor melanjutkan eksekusi instruksi sampai menemukan suatu instruksi

membutuhkan register itu, disini prosesor ini akan ideal sampai pemuatan selesai. Jika

komplier dapat menyusun kembali ins truksi sedemikian sehingga pekerjaan yang

bermanfaatan dapat dilakukan pada saat pemuatan berada dalam pipeline, maka efesiensi

dapat di tingkatkan.

23Reduced Instruction Set Computer

Page 24: TCP/IP dan Adress · Web viewDengan semakin murahnya harga hardware, harga software mengalami peningkatan. Pada waktu bersamaan, sedemikian jumlah pemrograman telah mengakibatkan

Sebagai catatan terakhir kita perlu menujukkan bahwa rancangan pipeline tidak perlu

dialihkan dari bentuk isolasi dari teknik optimalisasi lain yang diterapkan oleh sistem.

Sebagai contoh {BRAD918} menujukkan bahwa penjadwalan instruksi untuk pipeline dan

alokasi dinamis untuk register harus di pertimbangkan bersama – sama untuk efisiensi yang

besar.

F. MIPS R4000

Salah satu keping RICS yang di jual secara komersial dikembangkan pertama kalinya

oleh MIP technology inc. Sistem tersebut diilhami oleh sistem eksperimental yang juga

24Reduced Instruction Set Computer

Page 25: TCP/IP dan Adress · Web viewDengan semakin murahnya harga hardware, harga software mengalami peningkatan. Pada waktu bersamaan, sedemikian jumlah pemrograman telah mengakibatkan

menggunakan nama MIPS, dan dikembangkan di stanford[HENN84] pada bagian ini kit akan

mempelajari MIP R4000. MIP R4000 pada dasarnya memiliki arsitekturdan set insrtruksi

yang sama dengan rancangan MIP R2000 dan R3000. Perbedaan yang paling jalas adalah

bahwa R4000 menggunakan 64bit dari pada 32 bit untuk semua data internal dan eksternal

dan untuk alamat, register, dan ALU

Dengan menggunakan 64 bit, kita akan mendapatkan lebih banyak keuntungan dari

pada kita menggunakan arsitektur 32 bit. 64 bit memungkinkan tersedianya suatu rung

alamat yang lebih besar atau yang cukup besar untuk sistem operasi agar bisa memetakan

terabyte file-file secara langsung ke dalam memory untuk akses yang mudah. Dengan 1

gigabyte dan disk drive yang lebih besar, ruang alamat 4 gigabyte dari mesin 32 bit menjadi

terbatas. Begitu juga, kapasitas 64-bits memungkinkan R4000 untuk bisa memproses data

seperti IEEE presisi ganda angka-angka titik mengambang dan string karakter pada sutu

tindakan.

Processor keping R4000 di partisi dua bagian, yaitu satu berisi CPU dan yang lain

berisi suatu co-produser untuk manajemen memory. Processor mempunyai arsitektur yang

sangat sederhana. Tujuannya adalah untuk merancang sistem yang logika pelaksana

instruksinya dapat dibuat sesederhana mungkin, dan menyediakan ruang untuk logika agar

dapat meningkatkan kinerja

Processor mendukung 32 regiater 64-bit. Ia juga menyediakan lebih dari 128 kbyte

pada cache yang berkecepatan tinggi, separuhnya untuk instruksi dan data. Cache yang relatif

besar yang memungkinkan sistem untuk dapat menyimpan sebagian besar satuan kode

program dan data lokal ke processor, yang tidak memuatkan memori utama bus dan tidak

membutuhkan file registrasi yang besar

Set instruksi

Tabel 13.10 menampilkan set instruksi dasar untuk semua seri processor MIPS R. Tabel

13.11 menunjukkan instruksi tambahan yang di terapkan pada R4000. Semua instruksi

processor di kodekan pada format word 32-bit tunggal. Semua data operasi merupakan

register ke register, yang merupakan satu-satunya acuan memori yang dimiliki operasi

pemuatan dan penyimpanan yang murni

R4000 tidak menggunkan kode kondisi. Jika suatu instruksi menghasilkan suatu

kondisi flag yang berkaitan dengan itu di simpan pada register untuk tujuan umum hal ini

menghindarkan adanya kebutuhan logika khusus untuk berhubungan dengan kode kondisi

25Reduced Instruction Set Computer

Page 26: TCP/IP dan Adress · Web viewDengan semakin murahnya harga hardware, harga software mengalami peningkatan. Pada waktu bersamaan, sedemikian jumlah pemrograman telah mengakibatkan

ketika mereka mempengaruhi mekanisme pipelinening dan pengurutan ulang instruksi yang

di lakukan oleh kompiler sebaliknya mekanisme telah di terapkan untuk bisa berhubungan

dengan ketergantungan nilai register yang di gunakan

Lebih lanjut, kondisi-kondisi yang di petakan ke file-file register di kenakan

optimisasi kompiler yang sama dalam alokasi dan penggunaanya kembali sebagai nilai-nilai

lainnya yang tersimpan didalam register.

Sama halnya sebagian besar mesin berbasis RICR lainnya, MIPS menggunakan

panjang instruksi 32 bit tunggal. Panjangnya instruksi tunggal ini menyederhanakan

pengambilan instruksi dengan unit manajemen virtual memori. Ketiga format instruksi

memiliki format opcode dan acuan register yang sama, yang akan memudahkan decode

instruksi pengaruh dari dekode instruksi yang lebih kompleks dapat di atasi pada saat waktu

kompilasi.

Hanya mode pengalamatan memori yang paling sederhana dan paling sering di pakai

akan diimplementasikan pada hardware. Semua acuan memori terdiri dari offest16-bit dari

suatu register 32-bit. Contohnya, instruksi ‘muatkan word’ adalah berbentukIw r2, 128 (r3) muatkan word pada alamat offest 128 dari register 3 ke register 2

Masing-masing register tujuan umum 32-bit dapat di gunakan sebagai register basis. Satu

register yaitu r0, selaluu beris 0

Kompiler menggunakan instruksi mesin yang berjumlah banyak untuk mensintensa

mode-mode pengelamatan yang umum dalam mesin-mesin konvensional, beberapa instruksi

di tunjukkan pada tabel 13.12 [CHOW87]. Tabel tersebut menjelaskan penggunaan instruksi

LUI. Instruksi ini memuatkan separuh bagian atas suatu register dengan sebuah nilai segera

16-bit yang akan mengatur separuh bagian bahwa register menjadi nol.

Pipeline Instruksi

Dengan arsitektur yang telah di sederhanakan, MIPS akan dapat memperoleh pipelining yang

sangat efisien. Akan sangat bermanfaat apabila meninjau evolusi pipeline MIPS seperti

halnya penjelasan evolusi pipelining RISC secara umum.

Sistem RISC percobaan yang paling awal dan generasi pertama processor RISC

komersial memiliki kecepatan eksekusi yang mendekati satu instruksi per siklus waktu

sistem. Untuk meningkatkan kinerja ini, dua kelas processor di gunakan supaya

memungkinkan terjadinya eksekusi sejumlah instruksi per siklus waktu. Kedua kelas

26Reduced Instruction Set Computer

Page 27: TCP/IP dan Adress · Web viewDengan semakin murahnya harga hardware, harga software mengalami peningkatan. Pada waktu bersamaan, sedemikian jumlah pemrograman telah mengakibatkan

processor tersebut adalah arsitektur super skalar dan super pipelined. Pada dasarnya arsitektur

superskalar menirukan setiap tahapan pipe line sehingga satu atau dua instruksi yang berada

pada tahap pipe line yang sama dapat di proses secara bersamaan. Arsitektur superpipelined

merupakan suatu arsitektur yang memakai tahapan pipeline lebih banyak dan lebih halus.

Dengan tahapan yang lebih banyak, maka instruksi dalam pipeline pada saat yang bersamaan

akan lebih banyak yang akan meningkatkan paralelisme.

Kedua pendekatan di atas mempunyai kelemahan. Pada pipelining superskalar, saling

ketergantungan antara instruksi dalam dua buah pipeline yang berbeda akan menghambat

sistem. Begitu juga overhead logika yang akan diperlukan untuk mengkoordinasikan saling

ketergantungan ini. Pada super pipelining, terdapat over head yang berkaitan dengan

pemindahan instruksi dari suatu tahap ke tahap berikutnya.

Bab 14 akan di fokuskan untuk membahas arsitektur superskalar MIPS R4000

merupakan satu contoh terbaik dari arsitektur super pipeline berbasis RISC.

Gambar 13.9a menunjukkan pipeline instruksi R3000. Pada R3000, pipeline

ditingkatkan sekali setiap siklus waktunya. Kompiler MIPS mampu mengurutkan kembali

instruksi-instruksi untuk mengisi slot-slot tunda dengan kode 70-90 persen waktu. Semua

instruksi membuat urutan lima tahapan pipeline yang sama;

Pengambilan instruksi Pengambilan operand sumber dari file regiter Operasi ALU atau pembuatan alamat operand data Acuan memori data Penulisan kembali ke file register

G. SPARC

SPARC (Arsitektur prosesor yang dapat diukur) mengacu pada arsitektur yang

digambarkan oleh perusahaan Sun Microsistems. Perusahaan ini mengembangkan

implementasi SPARCnya sendiri tetapi juga melisensi arsitektur ke penjual lain untuk

memproduksi mesin SPARC yang cocok. Arsitektur SPARC diilhami oleh mesin

BERKELEY RISC I, dan set instruksinya serta organisasi register tang didasarkan pada

model BERKELEY RISC.

Set Register SPARC

Sama halnya dengan Berkeley RISC, SPARC juga menggunakan jendela register.

Masing-masing jendela terdiri dari 24 register, dan total junlah jendela merupakan

ketergantungan implementasi dan berkisar antara 2 sampai 32 jendela. Tampilan jendela

27Reduced Instruction Set Computer

Page 28: TCP/IP dan Adress · Web viewDengan semakin murahnya harga hardware, harga software mengalami peningkatan. Pada waktu bersamaan, sedemikian jumlah pemrograman telah mengakibatkan

register SPARC dengan tiga prosedur menggambarkan sebuah implementasi yang memiliki 8

jendela, dengan menggunakan register fisik sebanyak 136 register fisik; seperti yang telah

didiskusikan pada subbab 13.2 yang tampaknya merupakan jumlah layak untuk jendela.

Register fisik dari 0 sampai 7 merupakan register global yang digunakan bersama-sama.

Oleh semua prosedur, setiap proses melihat register logik dari 0 hingga 31. Register

logikal dari 24 sampai 31, dikenal sebagai masukan, digunakan bersama dengan prosedur

pemanggilan (induk); dan register logika dari 8 sampai 15, dikenal sebagai keluaran,

digunakan bersama dengan prosedur manapun (anak). Kedua porsi ini saling mempengaruhi

atau tumpang tindih dengan jendela lainnya. Disamping itu, seperti pada pembahasan dalam

subbab 12.1, ketersediaan 8 register untuk parameter harus mencukupi (misalnya, lihat tabel

13.4).

Gambar 16.2 adalah gambaran lain dari tumapng tindih register. Prosedur

pemanggilan menempatkan parameter manapun untuk dilewati pada register keluarnya;

prosedur yang dipanggil memperlukan register fisik yang sama ini sebagai register dalamnya.

Prosesor memelihara penunjuk arus jendela (CWP), yang ditempatkan pada register status

prosesor (PSR), yang mengarah pada jendela dari prosedur eksekusi yang terbaru, mask

jendela tidak valid (WIM), juga ada pada PSR, menandai adanya jendela yang tidak valid.

Dengan arsitektur register SPARC, biasanya kita tidak perlu untuk menyimpan dan memuat

kembali register untuk panggilan prosedur. Komplier dipermudah karena komplier dapat

diperhatikan dengan mengalokasi register lokal untuk sebuah prosedur yang efisien dan tidak

memerlukan alokasi register pada prosedur-prosedurnya.

Gambar 16.2 Delapan Jendela Register yang Membentuk Tumpukan Melingkar pada SPARC

28Reduced Instruction Set Computer

Page 29: TCP/IP dan Adress · Web viewDengan semakin murahnya harga hardware, harga software mengalami peningkatan. Pada waktu bersamaan, sedemikian jumlah pemrograman telah mengakibatkan

Set Instruksi

Tabel set instruksi untuk SPARC menunjukkan instruksi-instruksi untuk arsitektur

SPARC. Sebagian besar dari acuan instruksi hanya meregisterkan operand. Instruksi register-

ke-register mempunyai tiga operand dan dapat dilihat pada format tersebut.

Rd Rs1 op S2

Rd dan Rs1 merupakan acuan register; S2 dapat mengacu ke sebuah register atau ke

operand yang dekat. Register nol (R0) merupakan hardwired dengan nilai 0. Format ini sangat

sesuai untuk program tertentu, yang mempunyai proporsi tinggi dari skalar dan konstan lokal.

Operasi ALU yang tersedia dapat dikelompokkan sebagai berikut :

Penambahan integer (dengan atau tanpa pembawa)

Pengurangan integer (dengan atau tanpa pembawa)

Bitwise Boolean AND, OR, XOR dan negasi mereka

Menggeser logikal kiri, kanan atau aritmatika kanan

Semua intruksi ini, kecuali pergeseran, dapat secara bebas menetapkan empat kode

kondisi (NOL, NEGATIF, OVERFLOW, MEMBAWA). Bilangan bulat bertanda diwakili

pada bentuk komplement dua sebesar 32-bit.

29Reduced Instruction Set Computer

Page 30: TCP/IP dan Adress · Web viewDengan semakin murahnya harga hardware, harga software mengalami peningkatan. Pada waktu bersamaan, sedemikian jumlah pemrograman telah mengakibatkan

Hanya instruksi pemuatan dan penyimpanan yang sederhana yang mereferensi

memori. Ada beberapa instruksi penyimpanan dan pemuatan yang terpisah untuk word (32

bit), word ganda, word setengah, dan byte. Untuk dua kasus terakhir, ada beberapa instruksi

yang digunakan untuk memuatkan jumlah tersebut sebagai bilangan-bilangan bertanda atau

yang tidak bertanda. Bilangan-bilangan bertanda merupakan tanda yang diperluas untuk

mengisi register tujuan 32-bit. Bilangan-bilangan yang tidak bertanda diisio dengan bilangan

nol.

Satu-satunya mode pengalamatan yang tersedia, selain dari register, merupakan mode

pemindahan. Yang berarti bahwa alamat operand pemindahan yang efektif dari sebuah alamat

berisi sebuah register :

EA = (Rs1) + S2 atau EA = (Rs1) + (Rs2)

Yang tergantung pada apakah operand yang kedua merupakan yang segera atau merupakan

acuan register. Untuk menampilkan pemuatan atau penyimpanan, sebuah langkah ekstra

ditambahkan ke siklus instruksi. Selama tahap yang kedua, alamat memori dihitung dengan

menggunakan ALU; pemuatan atau penyimpanan terjadi pada tahap ketiga. Mode

pengalamatan tunggal ini serbaguna dan dapat digunakan untuk mensintesa mode

pengalamatan lainnya, seperti yang telah ditunjukkan pada table penyatuan mode

pengalamatan lain dengan mode pengalamatan SPARC.

Penting untuk membandingkan kemampuan pengalamatan SPARC dengan MIPS.

MIPS menggunakan 16-bit offset, yang dibandingkan dengan 13-bit offset SPARC. Dilain

pihak, MIPS tidak mengizinkan suatu alamat dibangun dari muatan dua register.

Format Instruksi

Sama halnya dengan MIPS R4000, SPARC juga menggunakan set format instruksi

sederhana 32-bit. Semua instruksi dimulai dengan opcode 2-bit. Untuk sebagian besar

instruksi, format instruksi ini diperluas dengan opcode bit tambahan yang ditempatkan pada

tempat lain di format. Untuk instruksi panggilan, suatu operand 30-bit yang dekat diperluas

dengan dua nol bit ke sebelah kanan untuk membentuk alamat PC relatif 32-bit pada bentuk

komplemen dua. Instruksi diurutkan pada batas 32-bit sehingga format instruksi membentuk

pengalamatan yang mencukupi.

Instruksi percabangan meliputi bidang kondisi 4 bit yang sesuai dengan empat standar

kondisi kode bit, sehingga kombinasi dari kondis-kondisi apa pun dapat diuji. Alamat PC

relative 22-bit diperluas dengan dua bit nol di sebelah kanan untuk membentuk dua alamat

30Reduced Instruction Set Computer

Page 31: TCP/IP dan Adress · Web viewDengan semakin murahnya harga hardware, harga software mengalami peningkatan. Pada waktu bersamaan, sedemikian jumlah pemrograman telah mengakibatkan

komplemen 24-bit yang relatif. Sebuiah ciri yang tidak lazim dari instruksi percabangan

adalah bit yang batal. Pada waktu bit yang batal adalah bukan set, instruksi setelah

percabangan selalu dieksekusi, tidak peduli apakah percabangan diambil atau tidak. Ini

merupakan operasi percabangan tertentu yang ditemukan pada kebanyakan mesin RISC.

Bagaimanapun, ketika bit yang batal adalah set, instruksi yang mengikuti percabangan

dieksekusi hanya jika percabangan dilaksanakan. Prosesor menekan efek dari instruksi

walaupun ia telah berada pada pipeline. Bit yang batal ini bermanfaat karena mempermudah

komplier untuk mengisi penundaan slot yang mengikuti percabangan bersyarat. Instruksi

yang menjadi target dari percabangan dapat selalu diletakkan pada slot penundaan, karena

apabila percabangan tidak dilaksanakan, maka instruksi bisa dibatalkan. Alasan mengapa

teknik ini diharapkan adalah karena percabangan bersyarat pada umunya diambil lebih dari

separuh waktunya.

31Reduced Instruction Set Computer

Page 32: TCP/IP dan Adress · Web viewDengan semakin murahnya harga hardware, harga software mengalami peningkatan. Pada waktu bersamaan, sedemikian jumlah pemrograman telah mengakibatkan

Tabel Set Instruksi Untuk SPARC

OP Penjelasan

Instruksi Memuatkan/Menyimpan

LDSB Byte memuatkan bertanda

LDSH Memuatkan setengah word bertanda

LDUB Memuatkan yang byte tidak bertanda

LDUH Memuatkan setengah word yang tidak bertanda

LD Muatkan word

LDD Muatkan word ganda

STB Simpan byte

STH Simpan setengah word

STD Simpan word

STDD Simpan word ganda

Geser Instruksi

SLL Geser logikal ke kiri

SRL Geser logikal ke kanan

SRA Geser aritmatika ke kanan

Instruksi Boolean

AND AND

ANDCC AND, set icc

ANDN NAND

ANDNCC NAND, set icc

OR OR

ORCC OR, set icc

ORN NOR

ORNCC NOR, set icc

XOR XOR

XORCC XOR, set icc

XNOR NOR yang eksklusif

XNORCC NOR yang eksklusif, set icc

32Reduced Instruction Set Computer

Page 33: TCP/IP dan Adress · Web viewDengan semakin murahnya harga hardware, harga software mengalami peningkatan. Pada waktu bersamaan, sedemikian jumlah pemrograman telah mengakibatkan

Instruksi Aritmatika

SUB Kurang

SUBX Mengurangi dengan pembawa

SUBXCC Mengurangi dengan pembawa, set icc

MULSCC Langkah mengalikan, set icc

Instruksi Lompatan/Percabangan

BCC Percabangan pada kondisi

FBCC Percabangan pada kondisi titik-mengambang

CBCC Percabangan pada kondisi coprosesor

CALL Panggil prosedur

JMPL Lompat dan hubungkan

TCC Trap pada kondisi

SAVE Jendela register lanjut

RESTORE Pindahkan jendela kebelakang

RETT Kembali dari trap

Bermacam- macam Instruksi

SETHI Set tinggi sebesar 22 bit

UNIMP Instruksi yang tidak diterapkan

RD Membaca register khusus

WR Menulis register khusus

IFLUSH Flush instruksi cache

33Reduced Instruction Set Computer