Makalah set instruksi

52

Transcript of Makalah set instruksi

Page 1: Makalah set instruksi
Page 2: Makalah set instruksi

KATA PENGANTARAssalamualaikum wr.wb

Puja dan puji syukur kami panjatkan atas kehadirat Allah SWT yang telah

memberikan kami rahmat, hidayah dan inayahnya kepada kami, sehingga kami dapat

menyelesaikan makalah Arsitektur Set Instruksi ini. Sholawat dan salam semoga

selalu tercurah kepada junjungan kita Nabi besar Muhammad SAW beserta keluarga

dan para sahabatnya, yang telah membawa kita dari zaman jahiliyah menuju zaman

yang lebih baik.

Makalah ini kami buat untuk menyelesaikan tugas Arsitektur Komputer,

dalam makalah ini kami akan membahas tentang Arsitektur Set Instruksi dalam

komputer. Dengan harapan agar kita semua mengetahui pandangan terhadap

komputer.

Alhamdulillah pada kesempatan ini akhirnya kami dapat menyelesaikan

makalah yang berjudul “Arsitektur Set Intruksi” dimana makalah ini adalah salah satu

tuntutan dalam memenuhi salah satu tugas yang diberikan dengan mata kuliah

Arsitektur komputer. Adapun harapannya dengan terselesaikannya makalah ini

diharapkan juga dapat meningkatkan pengetahuan kita khususnya penulis tentang hal-

hal yang berkaitan dengan tugas yang diberikan karena dengan itu kita dapat belajar

lebih baik lagi.

Dalam penulisan makalah ini pastinya terdapat kekurangan serta kesalahan

yang tidak disengaja, oleh karena itu kami mengharapkan partisipasinya serta kritik

dan sarannya yang bersifat membangun, agar menjadi makalah yang lebih baik lagi.

Akhir kata.

Wassalamualaikum wr wb.

2SET INSTRUKSI : KARAKTERISTIK DAN FUNGSI

Page 3: Makalah set instruksi

DAFTAR ISI

Halaman

HALAMAN JUDUL 1

KATA PENGANTAR 2

DAFTAR ISI 3

SET INSTRUKSI : KARAKTERISTIK DAN FUNGSI 5

A. Machine Instruction Characteristics 5

1. Elemen Instruksi 5

2. Instruksi Representasi 6

3. Jenis Instruksi 8

4. Jumlah Alamat 9

5. Rancangan Set Instruksi 9

B. Types of Operand 10

1. Number 10

2. Karakter 12

3. Tipe Data 13

Tipe Dasar 13

Tipe bentukan 14

C. Pentium and PowerPC Data Types 15

1. Pentium Data Types 16

2. PowerPC Data Types 16

D. Types Of Operations 18

1. Data Transfer 18

2. Arithmetic 19

3. Logical 20

4. Conversion 22

5. Input / Output 24

6. Sistem Kontrol 24

E. Pentium and PowerPC Operation Types 29

1. Jenis-jenis OperasiPC 29

3SET INSTRUKSI : KARAKTERISTIK DAN FUNGSI

Page 4: Makalah set instruksi

2. Instruksi-instruksi berorientasi percabangan 31

3. Instruksi-instruksi Load/Store 31

F. Assembly Language 32

DAFTAR PUSTAKA 35

4SET INSTRUKSI : KARAKTERISTIK DAN FUNGSI

Page 5: Makalah set instruksi

BAB10

SET INSTRUKSI : KARAKTERISTIK DAN FUNGSI

A. Karakteristik Mesin Instruksi

Dari sudut pandang desainer, set instruksi mesin menyediakan kebutuhan

fungsional untuk CPU : Menerapkan CPU adalah tugas yang sebagian besar

melibatkan melaksanakan set instruksi mesin. Dari sisi pengguna, pengguna yang

memilih untuk program dalam bahasa mesin (sebenarnya, dalam bahasa assembly)

menjadi dasar struktur register dan memori, jenis data langsung didukung oleh

mesin, dan fungsi dari ALU.

1. Elemen Instruksi

Setiap instruksi harus memiliki unsur-unsur yang mengandung informasi

yang diperlukan oleh CPU untuk dieksekusi. Unsur-unsur ini adalah sebagai berikut :

Operasi kode: Menentukan operasi yang akan dilakukan (misalnya ADD,

I/O). Operasi ini ditentukan oleh kode biner, yang dikenal sebagai kode

operasi, atau opcode.

5SET INSTRUKSI : KARAKTERISTIK DAN FUNGSI

Page 6: Makalah set instruksi

Sumber operan referensi: Operasi mungkin melibatkan operand sumber satu

atau lebih yaitu operand yang input untuk operasi.

Hasil operan referensi: Operasi mungkin menghasilkan hasil.

Referensi instruksi berikutnya: ini memberitahu CPU dimana untuk mengambil

instruksi berikutnya setelah pelaksanaan instruksi ini selesai.

Instruksi berikutnya yang akan diambil terletak di memori utama atau, dalam kasus

system memori virtual, baik di memori utama atau memori sekunder (disk). Dalam

kebanyakan kasus, instruksi berikutnya akan diambil segera mengikuti instruksi saat

ini. Dalam kasus tersebut, tidak ada referensi eksplisit untuk instruksi

berikutnya. Sumber dan hasil operand dapat berada di salah satu dari tiga bidang :

Memori utama atau virtual: Seperti referensi instruksi berikutnya, alamat

memori utama atau virtual harus diberikan.

CPU register: Dengan pengecualian langka, CPU berisi satu atau lebih register

yang dapat direferensikan oleh instruksi mesin. Jika hanya satu mendaftar ada,

referensi untuk itu mungkin implisit. Jika lebih dari satu dan instruksi harus

berisi jumlah dari register yang diinginkan.

I / O device: Instruksi harus menentukan (dia modul I / O dan perangkat untuk

operasi. Jika memori-mapping I / O digunakan, ini hanyalah alamat memori

utama atau virtual.

2. Instruksi Representasi

Dalam komputer, setiap instruksi diwakili oleh urutan bit. Instruksi ini dibagi

menjadi bidang, sesuai dengan unsur-unsur pokok dari instruksi. Sebuah contoh

sederhana dari format instruksi ditunjukkan pada Gambar 10.2. Sebagai contoh lain,

format instruksi IAS ditunjukkan pada Gambar 2.2. Dengan set instruksi yang paling,

lebih dari satu format yang digunakan. Selama eksekusi instruksi, instruksi dibaca ke

register instruksi (IR) dalam CPU. CPU harus dapat mengekstrak data dari berbagai

bidang instruksi untuk melakukan operasi yang diperlukan.

Sulit bagi programmer dan pembaca buku teks berurusan dengan representasi

biner dari instruksi mesin. Dengan demikian, telah menjadi praktek umum untuk

menggunakan representasi simbolis dari instruksi mesin. Contoh ini digunakan untuk

6SET INSTRUKSI : KARAKTERISTIK DAN FUNGSI

Page 7: Makalah set instruksi

set instruksi IAS, pada Tabel 2.1.

Opcodes diwakili oleh singkatan, yang disebut mnemonik, yang menunjukkan

operasi. Contoh umum termasuk

ADD add

SUB Subtract

MPY Multiply

DIV Divide

LOAD Load data from memory

STOR Store data to memory

Operand juga diwakili secara simbolis. Sebagai contoh, instruksi

ADD R Y

Mungkin berarti menambahkan nilai yang terkandung di Y data lokasi ke isi register

R. Dalam contoh ini, Y mengacu ke alamat sebuah lokasi di memori, dan R mengacu

pada sebuah register tertentu. Perhatikan bahwa operasi dilakukan pada isi lokasi,

bukan di alamat itu.

Dengan demikian, adalah mungkin untuk menulis sebuah program bahasa mesin

dalam bentuk simbolis. Setiap opcode simbolis memiliki representasi biner tetap, dan

programmer menentukan lokasi setiap operan simbolis. Sebagai contoh, programmer

bisa mulai dengan daftar definisi:

X = 513

Y = 514

Dan sebagainya. Sebuah program sederhana akan menerima masukan simbolis,

mengkonversi opkode dan referensi operan ke bentuk binary, dan membangun

instruksi mesin biner.

Mesin-bahasa programer jarang ke titik noneksistensi. Kebanyakan program

sekarang ditulis dalam bahasa tingkat tinggi atau, bila tidak, bahasa assembly, yang

dibahas pada akhir bab ini. Howefer, bahasa mesin simbolik tetap menjadi alat yang

berguna untuk mendeskripsikan instruksi mesin, dan kami akan menggunakannya

untuk tujuan itu.

7SET INSTRUKSI : KARAKTERISTIK DAN FUNGSI

Page 8: Makalah set instruksi

Simple Instruction Format

3. Jenis Instruksi

Sebuah instuksi yang dapat diekspresikan dalam bahasa BASIC atau

FORTRAN. X = X+Y Pernyataan ini menginstruksiakna komputer untuk

menambahkan nilai yang tersimpan di Y ke nilai yang tersimpan di X dan

menyimpan hasilnya di X. Variabel X dan Y berkorespondensi dengan lokasi 513 dan

514. Jika kita mengasumsikan set instruksi mesin yang sederhana, maka operasi ini

dapat dilakukan dengan tiga buah instruksi :

1. Muatkan sebuah register dengan isi lokasi memori 513

2. Tambahkan isi lokasi memori ke register

3. Simpan isi register di lokasi memori 513

Suatu komputer harus memiliki set instruksi yang memungkinkan pengguna

untuk memformulasikan pengolahan data atau dengan memperhatikan kemampuan

pemrograman bahasa tingkat tinggi. Agar dapat dieksekusi, setiap program yang

ditulis dalam bahasa program tingkat tinggi harus diterjemahkan ke dalam bahasa

mesin. Jadi, set instruksi mesin harus dapat mengekspresikan setiap instruksi bahas

atingkat tinggi.

Adapun Jenis-jenis instrusi sebagai berikut:

Pengolahan Data: Instrusi-instruksi aritmatika dan logika

Penyimpanan Data: Instriksi-instruksi memori

Perpindahan Data : Instruksi I/O

8SET INSTRUKSI : KARAKTERISTIK DAN FUNGSI

Page 9: Makalah set instruksi

Kontrol: Instruksi pemeriksaan dan percabangan

4. Jumlah Alamat

Salah satu cara tradisional dalam menjelaskan arsitektur prosesor adalah dengan

memakai jumlah alamat yang terdapat pada masing-masing instruksi. Instruksi

aritmatika dan logika memerlukan operand yang berjumlah banyak. Secara virtual,

seluruh operasi eritmatika dan logika merupakan uner/unary (satu operand) atau biner

(dua operand). Dengan demikian, memerlukan maksimum dua alamat untuk acuan

operand. Hasil sebuah operasi akan memerlukan alamat ketiga.

Dengan demikian, instruksi perlu memiliki empat buah acuan alamat: dua buah

operand, sebuah hasil operasi, dan sebuah alamat instruksi berikutnya. Sebagian besar

CPU merupakan variasi satu, dua, atau tiga alamat dengan alamat instruksi berikutnya

merupakan implisit (diperoleh dari pencacah program). Format tiga alamat tidak

umum digunakan, karena instruksi-instruksi tersebut memerlukan bentuk instruksi

yang lebih relatif lebih panjang untuk menampung acuan-acuan tiga alamat.

Sedangkan bentuk dua alamat mengurangi kebuatuahan ruang akan tetapi

menimbulkan kesulitan. Instruksi yang lebih sederhana adalah instruksi satu alamat.

Agar alamat ini dapat berfungsi, alamat perlu diimplisitkan.

5. Rancangan Set Instruksi

Salah satu hal yang paling menarik tentang rancangan komputer adalah

rancangan set instruksi. Karena rancangan ini mempengaruhi banak aspek sistem

komputer, maka rancangan set instruksi sangat kompleks. Set instruksi menentukan

banyak fungsi yang akan dilakukan oleh CPU dan karena itu memiliki efek yang

sangat menentukan implementasi CPU. Set instruksi merupakan alat bagi pemrogram

untuk mengontrol CPU. Dengan demikian, kebutuhan-kebutuhan pemrogram harus

menjadi bahan pertimbangan dalam merancang set instruksi.

Masalah rancangan fundamental yang paling signifikan meliputi:

Repertoi Operasi: Berapa banyak dan opersai-operasi apa yang harus

disediakan, dan sekompleks apakah operasi itu seharusnya.

Jenis data: berbagai jenis data pada saat operasi dijalankan

9SET INSTRUKSI : KARAKTERISTIK DAN FUNGSI

Page 10: Makalah set instruksi

Bentuk instruksi : Panjang instruksi (dalam bit), jumlah alamat, ukuran

bidang, dan sebagainya.

Register: Jumlah register CPU yang dapat diacu oleh instruksi, dan fungsinya.

Pengalamatan: Mode untuk menspesifikasikan alamat suatu operand.

Masalah-masalah ini saling berkaitan dan harus diperhatikan dalam merancang

set instruksi.

B. Type Operand

Instruksi mesin beroperasi pada data. Kategori umum yang paling penting

dari data adalah:

Alamat

Angka

Karakter

Data logis.

Akan kita lihat, dalam membahas mode pengalamatan dalam bab 11, bahwa

alamat sebenarnya, sebuah peternakan data. Dalam banyak kasus, beberapa

perhitungan harus dilakukan pada referensi operan dalam instruksi

untuk menentukan utama pada alamat memori virtual. Di alamat ini, konteks. dalam

konteks ini, alamat dapat dianggap sebagaiunsigned integer.

Tipe umum data yaitu :

Angka

Karakter

Data logis

Secara singkat dibahas dalam bagian ini. beberapa devine mesin, khusus tipe

data ataupun struktur data.  Misalnya, mungkin ada mesin operator yang

beroperasi langsung di daftar pada sengatan karakter.

1. Number

Semua bahasa mesin termasuk jenis data numerik. Bahkan dalam pengolahan

data non numerik. Ada kebutuhan untuk nomor untuk bertindak

10SET INSTRUKSI : KARAKTERISTIK DAN FUNGSI

Page 11: Makalah set instruksi

sebagai counter, lebar lapangan, dan sebagainya. Perbedaan penting

antara nomor yang digunakan dalam matematika biasa dan nomor yang

tersimpan di komputer adalah bahwa surat itu terbatas. Ini benar dalam dua

pengertian. Pertama, ada batas dengan besarnya nomor representable pada mesin dan

kedua, dalam kasus floating-point, batas untuk presisi mereka. Dengan demikian,

programmer dapat memahami konsekuensi dari pembulatan,

overflow dan underflow.

Tiga jenis data numerik yang umum di komputer:

integer atau titik tetap

floating point

Decimal

Kami memeriksa pertama yang secara rinci dalam bab 9 itu masih mengatakan

beberapa kata tentang angka desimal.

Meskipun semua operasi komputer internal atau biner, pengguna dari

kesepakatan sistem dengan angka desimal. Dengan demikian, ada kebutuhan untuk

konversi dari desimal ke biner pada input dan dari biner ke desimal pada

output. Untuk aplikasi di mana ada banyak I / O dan relatif sedikit.

Perhitungan relatif sederhana adalah lebih baik untuk menyimpan

dan beroperasi pada angka dalam bentuk desimal. Representasi paling umum untuk

tujuan ini adalah kemasan desimal.

Dengan desimal dikemas, setiap digit desimal diwakili oleh kode 4-bit, dengan

cara yang jelas. Dengan demikian,

0 = 0000

1 = 0001

8 = 1000

9 = 1001

Mencatat bahwa ini adalah kode lebih efisien karena hanya 10 dari 16 mungkin

4 bit nilai digunakan. untuk membentuk angka, 4 bit kode dirangkai, biasanya dalam

kelipatan 8 bit. dengan demikian, kode

untuk 246 adalah 0000001001000110. Kode ini jelas kurang kompak

11SET INSTRUKSI : KARAKTERISTIK DAN FUNGSI

Page 12: Makalah set instruksi

dari biner langsung diwakili oleh termasuk tanda 4 bit digit baik ditribun kiri atau

kanan untuk tanda minus.

Mesin yang menyediakan instruksi untuk melakukan operasi

arithmatic langsung padaangka desimal paket. Algoritma yang cukup mirip dengan

yang diuraikan dalam bagian 9.3 tapi harus

memperhitungkan operasi membawa desimal.

2. Karakter

Data bentuk umum adalah teks atau string karakter, sedangkan

data tekstual adalah makhluk paling convinient, mereka tidak dapat dalam

bentuk karakter,dengan mudah disimpan atau dikirimkan oleh pengolahan data

dan sistem komunikasi. Sistem ini dirancang untuk data biner. Dengan

demikian, sejumlah kode telah dibuat oleh karakter yang diwakili oleh urutan bit.

Mungkin contoh umum awal ini adalah kode Morse, Hari ini, kode karakter

yang paling umum digunakan dalam American Standard Kode untuk Informasi

Interchange. IRA juga banyak digunakan di luar Amerika Serikat. Setiap

karakter dalam kode ini diwakili oleh pola 7 bit yang unik, dengan demikian, 128

karakter differnt dapat direpresentasikan. Ini adalah jumlah yang lebih besar daripada

yang diperlukan untuk mewakili karakter yang dapat dicetak, dan beberapa pola

mewakili karakter kontrol. Beberapa karakter kontrol pada halaman.

Lain yang bersangkutan dengan prosedur komunikasi. IRA-encoded karakter

yang hampir selalu disimpan dan dikirim menggunakan 8 bit per

karakter. Delapan bit mungkin digunakan sebagai bit paritas

untuk mendeteksi kesalahan dalam kasus yang terakhir. Bit diatur sedemikian rupa

sehingga jumlah total biner dalam setiap oktet selalu ganjil (paritas ganjil) atau

selalu genap (even parity). Bahwa untuk 011XXXX pola bit IRA, angka 0

sampai 9 yang diwakili oleh biner setara mereka, 0000 melalui 1001, di paling

kanan 4 bit. Ini adalah kode yang sama seperti desimal dikemas. Ini

memfasilitasi konversi antara IRA 7 bit dan 4 bit representasi desimal dikemas.

Kode lain yang digunakan untuk mengkodekan karakter

adalah Binary Coded Perluasan Kode Desimal Interchange

12SET INSTRUKSI : KARAKTERISTIK DAN FUNGSI

Page 13: Makalah set instruksi

(EBCDIC). EBCDIC digunakan pada IBM S/390 mesin. Itu

adalah kode bit 8. Seperti IRA, EBCDIC kompatibel dengan desimal dikemas dalam

kasus EBCDIC kode 11110000 11111001 melalui mewakil1 angka 0 sampai 9.

3. Tipe Data

Setiap data memiliki tipe data, angka bulat ( integer ), angka biasa ( real ), atau

berupa karakter ( char ), dan sebagainya.

Ada 2 kategori dari tipe data yaitu:

1. Tipe dasar

a. Bilangan bulat ( integer )

Bilangan atau angka yang tidak memiliki titik desimal atau pecahan, seperti

10, +225, -10,+25.

Tipe dituliskan sebagai integer atau int

Jangkauan nilai bergantung pada implementasi perangkat keras komputer,

misalnya dari -11 s/d +12; untuk algoritma tidak kita batasi.

Operasi aritmetik: tamabah+, kurang-, kali*, bagi/, sisa hasil bagi%

Operasi pembanding:lebih kecil=, sama=, tidak sama>< .

b. Bilangan biasa ( real )

Bilangan atau angka yang bisa memiliki titik desimal atau pecahan, dan ditulis

sebagai : 235.45, +13.99, -87.76 atau dalam notasi ilmiah seperti : 1.245E+03,

7.45E-02, dsb.

Tipe dituliskan sebagai : real

Jangkauan nilai : bergantung pada implementasi perangkat keras komputer,

misalnya dari -2.9E-39 s/d +1.7E+38, untuk algoritma tidak dibatasi.

Operasi aritmatik dan pembandingan juga berlaku bagi bilangan biasa.

c. Bilangan tetap ( const )

Bilangan tetap ( const ) adalah tipe bilangan, tidak bernilai bulat maupun

tidak, yang nilainya tidak berubah selama algoritma dilaksanakana.

Tipe dituliskan sebagai const .

13SET INSTRUKSI : KARAKTERISTIK DAN FUNGSI

Page 14: Makalah set instruksi

Jangkauan nilai meliputi semua bilangan yang mungkin.

d. Karakter ( character )

Karakter adalah data tunggal yang mewakili semua huruf, simbol baca, dan

juga simbol angka yang tidak dapat dioprasikan secara matematis, misalnya:

’A’, ’B’, .....,’Z’, ’?’,’!’, dst.

Tipe dituliskan sebagai char

Jangkauan nilai meliputi semua karakter dalam kode ASCII, atau yang tertera

pada setiap tombol keyboard.

Operasi pembanding dapat dilakukan dan dievaluasi menurut urutan kode

ASCII, sehingga huruf ’A’ (Hex 41) sebenarnya lebih kecil dari huruf ’a’

(Hex 61).

e. Logik ( logikal )

Tipe data logik adalah tipe data yang dipergunakan untuk memberi nilai pada

hasil pembandingan, atau kombinasi pembandingan.

Tipe dituliskan sebagai boolean

Jangkauan nilai ada dua : true dan false

2. Tipe bentukan

a. Array ( larik )

Array adalah tipe data bentukan, yang merupakan wadah untuk menampung

beberapa nilai data yang sejenis. Kumpulan bilangan bulat

adalah array integer, kumpulan bilangan tidak bulat adalaharray real.

Cara menefinisikan ada 2 macam, yaitu:

Nilai_ujian : array [ 1..10] of integer, atau

Int nilai_ujian[10];

Kedua definisi diatas menunjukkan bahwa nilai_ujian adalah kumpulan dari 10

nilai bertipe bilanganbulat.

b. String

14SET INSTRUKSI : KARAKTERISTIK DAN FUNGSI

Page 15: Makalah set instruksi

String adalah tipe data bentukan yang merupakan deretan karakter yang

membentuk satu kata atau satu kalimat, yang biasanya diapit oleh dua tanda

kutip.

Sebagai contoh: nama, alamat, dan judul adalah tipe string.

- Cara mendefinisikannya adalah:

* string nama, alamat; atau

* nama,alamat : string;

c. Record ( rekaman )

Record adalah tipe data bentukan yang merupakan wadah untuk menampung

elemen data yang tipenya tidak perlu sama dengan tujuan mewakili satu

jenis objek.

Sebagai contoh, mahasiswa sebagai satu jenis objek memiliki beberapa

elemen data seperti : nomer_stb, nama, umur, dll.

- Cara mendefinisikan record mahasiswa tersebut adalah sebagai berikut:

Type dataMhs : record

< nomer_stb : integer,

Nama_mhs : string,

Umur : integer,

>

2.  Variabel

Variabel adalah nama yang mewakili suatu elemen data seperti : jenkel untuk

jenis kelamin, t4lahir untuk tempat lahir, dan sebagainya. Ada aturan tertentu yang

wajib diikuti dalam pemberian nama variable, antara lain:

Harus dimulai dengan abjad, tidak boleh dengan angka atau symbol.

Tidak boleh ada spasi diantaranya.

Jangan menggunakan simbol yang bisa membingungkan seperti titik dua, titik

koma, koma, dan sebagainya.

Sebaiknya memiliki arti yang sesuai denagn elemen data.

Sebaiknya tidak terlalu panjang.

C. Pentium and Power PC Data Types

15SET INSTRUKSI : KARAKTERISTIK DAN FUNGSI

Page 16: Makalah set instruksi

1. Pentium Data Types

Pentium dapat menangani jenis data 8 (byte), 16 (kata), 32 (doubleword), dan

64 (quadword) bit panjangnya. Untuk memungkinkan fleksibilitas maksimum dalam

struktur data dan penggunaan memori yang efisien, kata-kata tidak perlu selaras pada

alamat merata habis dibagi 4 dan quadwords tidak perlu selaras pada alamat merata

dibagi 8. Namun, ketika data yang diakses di 32 bus bit, transfer data berlangsung

dalam satuan doublewords, dimulai pada alamat yang habis dibagi 4. Prosesor ini

mengubah permintaan misaglined.

Table Pentium data types

Data type Description

General Byte,word (16 bytes),doubleword (32 bits) and quadword

(64 bits) location with arbitrary binary contents

Integer A signed binary value contained in a byte,word or

doubleword, using twos complement representation

Ordinal An unsigned integer contained in a byte, word or

doubleword

Unpacked binary

coded decintal (BCD)

A representation of a BCD digit in the range 0 through 0

with one digit in each byte

Packed BCD Packed byte representation of two BCD digits value in

the range 0 to 99

Near pointer A 32 bit effective addresses that represents the offset

within a segment. Used for all pointers in a

nonsegmented memory and for references within a

segment in a segmented memory

Bit field A conliguous sequence of bits in which the position of

each bit is considered as an independent unit. A bit string

can begin at any bit position of any byte and can contain

up to 232 – 1 bits

Byte string A contiguous sequence of bytes, words or doublewords,

16SET INSTRUKSI : KARAKTERISTIK DAN FUNGSI

Page 17: Makalah set instruksi

containing form zero to 232 – 1 bits

Floating point See figure 10.4

Nilai dalam urutan permintaan untuk transfer bus. Seperti semua dari intel 80 ×

86 mesin, Pentium menggunakan gaya sedikit-endian: yang, byte paling signifikan

disimpan dalam alamat terendah (lihat lampiran 10B untuk pembahasan endiannes).

Byte, kata, doubleword dan quadword disebut sebagai tipe data umum. Selain

itu, Pentium mendukung jajaran tipe data khusus yang diakui dan dioperasikan oleh

instruksi tertentu. Tabel 10.2 merangkum jenis.

Gambar 10.4 mengilustrasikan jenis Pentium data numerik. Bilangan bulat

ditandatangani adalah intwos melengkapi representasi dan mungkin 16,32 atau 64 bit

panjang. Jenis floating point sebenarnya mengacu pada satu set jenis yang digunakan

oleh unit floating-point dan dioperasikan oleh instruksi floating-point. Ketiga

representasi floating-point sesuai dengan IEEE 754 standar.

2. Daya Jenis Data Tipe

PowerPC dapat menangani jenis data 8 (byte), 16 (sindiran), 32 (kata) dan 64

(doubleword) bit panjangnya. Beberapa instruksi mengharuskan operan memori akan

berjajar dalam batas 32-bit. Secara umum, bagaimanapun, keselarasan tidak

diperlukan. Salah satu fitur menarik dari PowerPC adalah dapat menggunakan salah

satu gaya little-endian atau big-endian, yaitu byte paling signifikan disimpan dalam

alamat terendah atau tertinggi (lihat lampiran 10B untuk diskusi endiannes).Byte,

sindiran, kata dan doubleword bersifat umum tipe data. Prosesor menafsirkan isi dari

sebuah item yang diberikan data tergantung pada instruksi. Prosesor fixed-point

mengakui jenis data berikut.

byte unsigned: dapat digunakan untuk operasi aritmatika logis atau integer. Hal

ini diambil dari memori ke sebuah register umum dengan nol memperluas di

sebelah kiri dengan ukuran mendaftar penuh.

Unsigned sindiran: sebagai untuk byte unsigned, tetapi untuk 16-bit jumlah

17SET INSTRUKSI : KARAKTERISTIK DAN FUNGSI

Page 18: Makalah set instruksi

Ditandatangani sindiran: digunakan untuk operasi aritmatika; dimuat ke memori

dengan tanda memperluas di kiri ke ukuran register penuh (yaitu, bit tanda

direplikasi di semua posisi kosong)

Unsigned kata: digunakan untuk operasi logis dan sebagai pointer alamat.

Sign kata: digunakan untuk operasi aritmatika

Unsigned doubleword: digunakan sebagai pointer alamat

Byte string: 0-128 byte panjang

Selain itu, PowerPC mendukung jenis data tunggal dan double-presisi floating-

point yang didefinisikan dalam IEEE 754.

D. Types of Operation

Jumlahopcodeberbedasangat bervariasidari mesin ke mesin. Namun, jenis umum yang

samaoperasiditemukanpada mesinsemua. Sebuahkategorisasiberguna dankhasadalah sebagai

berikut.

1. Data transfer

2. Arithmetic

3. Logical

4. Conversion

5. Input output

1. Data transfer

Jenis yang palingmendasar dariinstruksimesinadalahinstruksitransfer

datatersebut.instruksitransfer dataharus menentukanbeberapa hal.Pertama,lokasidari sumber

danoperantujuanharus ditentukan.Setiap lokasidapat memori, register,ataubagian

atasstack.kedua, panjang data yang akan ditransferharus ditunjukkan. ketiga,karena dengan

semuainstruksidenganoperan,moduspengalamatanuntuk operanmasing-masing

harusditentukan.Poin terakhirinidibahas dalam bab11.

Pilihan instruksi transfer data untuk memasukkan dalam set instruksi

mencontohkan jenis off perdagangan desainer harus membuat. misalnya, lokasi

umum (memori atau pendaftaran) dari operand dapat ditunjukkan baik dalam

spesifikasi opcode atau operan. Tabel 10.5 menunjukkan contoh dari S/390 data yang

paling umum IBM instruksi transfer. dicatat bahwa ada varian untuk menunjukkan

18SET INSTRUKSI : KARAKTERISTIK DAN FUNGSI

Page 19: Makalah set instruksi

jumlah data yang akan ditransfer (8, 16, 32, atau 64 bit). juga, ada instruksi yang

berbeda untuk mendaftar untuk mendaftar, mendaftar ke memori, dan memori untuk

mendaftar transfer. Sebaliknya, pendekatan VAX agak lebih mudah bagi

programmer, yang memiliki lebih sedikit mnemonik untuk menangani. Namun, juga

agak kurang kompak dibandingkan dengan pendekatan IBM S/390, karena lokasi

(pendaftaran dibandingkan memori) dari operan masing-masing harus ditentukan

secara terpisah dalam instruksi. kita akan kembali ke perbedaan ini ketika kita

membahas format instruksi, dalam bab berikutnya.

Dalam hal tindakan CPU, operasi transfer data mungkin adalah jenis yang

paling sederhana. jika kedua sumber dan tujuan adalah register, maka CPU hanya

menyebabkan data yang akan ditransfer dari satu mendaftar ke yang lain: ini

merupakan operasi internal ke CPU. jika salah satu atau kedua Operand berada dalam

memori, maka CPU harus melakukan beberapa atau semua tindakan berikut:

1. menghitung alamat memori, berdasarkan modus alamat.

2. jika alamatmengacu padamemori virtual,menerjemahkan darivirtual kealamatmemori

yang sebenarnya.

3. menentukan apakahitem yangdibahas adalahdalam cache

4. jika tidak,mengeluarkanperintah kemodul memori

2. Arithmetic

Kebanyakan mesin menyediakan operasi aritmatika dasar menambah, mengurangi,

mengalikan, dan membagi. ini yang selalu disediakan untuk ditandatangani integer (fixed-

point) angka. operasi lain yang mungkin mencakup berbagai tunggal operan instruksi:

misalnya,

1. absolut: mengambil nilai absolut dari operan

2. meniadakan: meniadakan operan

3. selisih: tambahkan 1 ke operand

4. pengurangan: kurangi 1 dari operand

19SET INSTRUKSI : KARAKTERISTIK DAN FUNGSI

Page 20: Makalah set instruksi

Gambar Shift and Rotate Operations

eksekusi instruksi aritmatika mungkin melibatkan operasi data transfer ke posisi operan

untuk input ke ALU, dan untuk memberikan output dari ALU. Angka 3,5 menggambarkan

gerakan yang terlibat dalam transfer data dan operasi aritmatika. di samping itu, tentu saja,

bagian ALU dari CPU melakukan operasi yang diinginkan.

3. Logical

Mesin paling juga menyediakan berbagai usaha untuk memanipulasi bis individu dari

sebuah kata atau unit dialamatkan lain, sering disebut sebagai "sedikit memutar-mutar".

mereka didasarkan pada operasi Boolean.

Beberapa operasi dasar yang logis dapat dilakukan pada data boolean atau biner

ditunjukkan pada tabel 10.6. operasi NOT membalikkan sedikit. AND, OR, dan XOR

adalah fungsi logis yang paling umum dengan dua operan. EQUAL adalah tes biner

berguna.

Operasi ini logis dapat diterapkan bitwise untuk unit n bit data logis. demikian,

jika dua register berisi data.

(R1) = 10100101

(R2) = 00001111

Then

20SET INSTRUKSI : KARAKTERISTIK DAN FUNGSI

Page 21: Makalah set instruksi

(R1) AND (R2) = 00000101

Dimana notasi (X) maens isi lokasi X. dengan demikian, DAN operasi dapat digunakan

sebagai masker yang memilih bit tertentu dalam sebuah kata dan nol keluar bit remaning.

sebagai contoh lain, jika dua register berisi.

(R1) = 10100101

(R2) = 11111111

Then

(R1) XOR (R2) = 01011010

Dengan satu kata diatur untuk semua 1s. operasi XOR membalikkan semua bit dalam kata

lain. Selain menyediakan berbagai pergeseran dan fungsi rotasi. operasi paling dasar

diilustrasikan pada Gambar 10.5. dengan pergeseran logis, bit-bit dari sebuah kata yang

bergeser kiri atau kanan. pada salah satu ujungnya, sedikit bergeser keluar hilang. di ujung, 0

yang digeser masuk pergeseran logis berguna terutama untuk mengisolasi bidang dalam

sebuah kata. 0s yang bergeser menjadi sebuah kata menggantikan informasi yang tidak

diinginkan yang digeser dari ujung lainnya.

Basic logical operations

P Q NOT P P AND Q P OR Q P XOR Q P=Q

0 0 1 0 0 0 1

0 1 1 0 1 1 0

1 0 0 0 1 1 0

1 1 0 1 1 0 1

Sebagai contoh, misalkan kita ingin mengirimkan data karakter ke karakter I/O

1 perangkat pada satu waktu. jika setiap kata memori adalah 16 bit panjang dan berisi

dua karakter, kita harus membongkar karakter sebelum mereka dapat dikirim. untuk

mengirim dua karakter dalam satu kata.

1. memuat kata ke register

2. AND dengan nilai 1111111100000000. ini masker keluar karakter di sebelah

kanan.

21SET INSTRUKSI : KARAKTERISTIK DAN FUNGSI

Page 22: Makalah set instruksi

3. bergeser ke kanan delapan kali. pergeseran karakter yang tersisa ke bagian

kanan dari register.

4. melakukan I / O. modul I / O membaca urutan lebih rendah dari 8 bit data bus.

Hasil langkah sebelumnya dalam mengirimkan karakter tangan kiri. untuk

mengirim karakter tangan kanan.

1. memuat kata lagi ke register.

2. AND dengan 0000000011111111.

3. melakukan I / O.

Operasi pergeseran aritmatika memperlakukan data sebagai integer

ditandatangani dan tidak bergeser sedikit tanda. pada pergeseran aritmatika yang

benar, sedikit tanda direplikasi ke posisi bit ke kanan. pada pergeseran aritmatika kiri,

pergeseran logis kiri dilakukan pada semua bit tapi sedikit tanda, yang dipertahankan.

operasi ini dapat mempercepat operasi aritmatika tertentu. dengan nomor dalam

notasi komplemen dua, pergeseran aritmatika tepat terkait dengan pembagian dengan

2, dengan pemotongan untuk nomor lama. baik pergeseran aritmatika kiri dan shift

kiri yang logis sesuai dengan perkalian dengan 2 bila ada tidak meluap. jika overflow

terjadi, aritmatika dan logika operasi shift kiri menghasilkan hasil yang berbeda,

tetapi pergeseran kiri aritmatika mempertahankan tanda nomor. karena potensi untuk

overflow, processrors banyak yang tidak termasuk instruksi ini, termasuk daya PC

dan Itanium. lain, seperti IBM S/390, lakukan menawarkan instruksi. anehnya,

architercture pentium mencakup pergeseran aritmatika kiri tetapi mendefinisikannya

menjadi identik dengan pergeseran kiri logis. Memutar, atau siklik pergeseran,

operasi melestarikan semua bit yang dioperasi. salah satu kemungkinan penggunaan

rotate adalah untuk membawa setiap bit berurutan ke dalam bit paling kiri, di mana ia

dapat diidentifikasi dengan menguji tanda data (diperlakukan sebagai angka).

seperti dengan operasi aritmatika, operasi logis melibatkan aktivitas ALU dan bisa

melibatkan operasi data transfer. tabel 10,7 memberi contoh semua shift dan memutar

operasi dibahas pada pembahasan ini.

4. Conversion

22SET INSTRUKSI : KARAKTERISTIK DAN FUNGSI

Page 23: Makalah set instruksi

Instruksi konversi adalah mereka yang mengubah format atau beroperasi pada

format data. contoh adalah mengkonversi dari desimal ke biner. contoh dari instruksi

editing yang lebih kompleks adalah instruksi menerjemahkan S/390. instruksi ini

dapat digunakan untuk mengkonversi dari satu 8 bit kode ke yang lain, dan

dibutuhkan tiga operand:

TR R1, R2, L

R2 operan berisi alamat awal tabel 8 bit kode. byte L mulai dari alamat yang

ditentukan dalam R1 dijabarkan, setiap byte yang diganti

Table 10.7 examples of shift and rotate operations

Input Operation Result

10100110 Logical right shift (3 bit) 00010100

10100110 Logical left shift (3 bit) 00110000

10100110 Arithmetic right shift (3 bit) 11110100

10100110 Arithmetic left ahift (3 bit) 10110000

10100110 Right rotate (3 bit) 11010100

10100110 Left rotate (3 bit) 00110101

olehisi darientri tabeldiindeks olehbyteitu.misalnya, untukmenerjemahkan

dariEBCDICkeIRA, pertama kita membuat tabelbyte256di lokasipenyimpanan, katakanlah,

1000-10FF heksadesimal.tabel berisikarakterdari kodeIRA diurutanrepresentasibinerdari

kodeEBCDIC: yaitu,kodeIRAditempatkan dimejadilokasi relatifsama dengan nilaibinerdari

kodeEBCDICdarikarakter yang sama. dengan demikian,lokasi10F0melalui10F9akan

berisinilai30 sampai dengan39,karenaF0adalah kodeEBCDICuntukdigit0, dan 30 adalah

kodeuntukIRA0digit, dan seterusnya sampai 9digit.sekarangmisalkan

kitamemilikiEBCDICuntuk digit1984mulai darilokasi2100 dankita inginmenerjemahkan

keIRA.menganggaphal berikut:

- Lokasi2100 - 2103cantainF1F9F8F4

- R1berisi2100

- R2berisi1000

23SET INSTRUKSI : KARAKTERISTIK DAN FUNGSI

Page 24: Makalah set instruksi

kemudian, jikakita menjalankan

TRR1,R2,4

lokasi2100 - 2103akan berisi3139 3834

5. Input / output (I/O)

Input/output petunjuk dibahas secara rinci dalam bab 7. seperti yang kita lihat,

ada berbagai appoaches diambil, termasuk diprogram terisolasi I/O. memori

dipetakan diprogram I/O, DMA, dan penggunaan prosesor I/O. implentations banyak

hanya memberikan fiew instruksi I/O, dengan tindakan spesifik yang ditentukan oleh

parameter, kode, atau kata-kata perintah.

6. Sistem Kontrol

Sistem instruksi kontrol adalah mereka yang dapat dieksekusi hanyaketika

prosesordalam keadaan istimewa tertentu

atau sedangmengeksekusi program dalam arcaistimewa khususdari memori. biasanya 

petunjuk ini dicadangkan untuk penggunaansistem operasi

Beberapa contoh operasi sistem kontrol adalah sebagai

berikut, istructions sistem

kontrol mungkin membacaatau mengubah kontrol mendaftar kita kontrol diskus

registerdi capters 12 contoh lain adalah instruksi untuk membaca

atau memodifikasi kuncipenyimpanan perlindungan seperti digunakan

dalam S/390 memori sistem contoh lain

adalah akses untukmemproses blok kontrol dalam sistem multiprogramming

Transfer kontroluntuk semua jenis operasi dibahas sejauh instruksi

berikutnya yang akan dilakukanadalah salah satu

yang segera mengikuti instruksi memori saat ini namun fraksi yang signifikan dari

instruksi dalam program apapun miliki sebagai fungsi

mereka mengubahurutan instruksi untuk mengeksekusi instruksi-instruksi yang opera

24SET INSTRUKSI : KARAKTERISTIK DAN FUNGSI

Page 25: Makalah set instruksi

si dilakukan oleh CPU adalah untuk memperbarui program counter untuk berisi

alamat dari beberapainstruksi dalam memori.

Ada beberapa alasan mengapa transfer-of-control operasi yang diperlukan. Di

antara yang paling penting adalah sebagai berikut:

1. Dalam penggunaan partical komputer, adalah penting untuk

dapat mengeksekusi setiap instruksi lebih dari sekali dan mungkin jutaan

instruksi untuk menerapkan apllication ini akan unthank kable jika setiap

instruksi harus ditulis sepparately jika atable atau daftar item adalah

untuk akan memproses semua data 

2. Hampir semua program melibatkan beberapa pengambilan

keputusan kami ingin komputer untuk melakukan satu hal jika satu

syarat memegang dan hal lain jika kondisi lain berlaku. untuk

contoh urutan instruksi komputer akar kuadrat dari angka. Pada

awalurutan tanda nomor diuji jika nomor tersebut

adalah negatif perhitungan tidak dilakukan, tapi kondisi

kesalahan dilaporkan

3. Untuk menulis dengan benar sebuah program komputer yang besar atau

bahkanukuran sedang adalah tugas yang sangat sulit. membantu jika

ada machanism untuk melanggar tugas menjadi potongan kecil yang

dapat bekerja pada satu per satucabang instruksi

Sebuah instruksi cabang, juga disebut instruksi jump memiliki sebagai

salah satuoperand-nya alamat dari instruksi berikutnya yang

akan dieksekusi paling seringinstruksi adalah

cabang kondisi instruksi cabang yang dibuat hanya jika kondisi

tertentuterpenuhi. jika tidak, instruksi berikutnya dalam

urutan dijalankan (increment program counter seperti

biasa)melewatkan instruksilain bentuk umum dari transfer-of-

control instruksi. instruksi loncat mencakup alamattersirat. biasanya, lonca

t menyiratkan bahwa satu instruksi dilewati: dengan demikian,

alamat tersirat sama dengan alamat instruksi berikutnya ditambah satu

instruksi-mengukur tinggi.

25SET INSTRUKSI : KARAKTERISTIK DAN FUNGSI

Page 26: Makalah set instruksi

Memproduksi Hubungan Instruksi

Mungkin inovasi yang paling penting dalam

pengembangan bahasa pemrogramanadalah prosedur, prosedur adalah mandiri progra

mkomputer yang incorporatred ke dalam sebuah program besar. Pada

setiap titikdalam program prosedur dapatdipanggil, atau

menelepon. prosesor diperintahkan untuk pergi dan melaksanakanseluruh

prosedur dan kembali ke titik dari mana panggilan berlangsung.

Nested Prosedur

Sebuah prosedur bersarang disebut dari dalam prosedur lain seperti yang

ditunjukkan di bawah ini. Program Utama panggilan prosedur A, yang menyerukan

prosedur B: Ketika jal B instruksi dijalankan, alamat pengirim dalam register $ ra

untuk prosedur A akan ditimpa dengan alamat pengirim untuk prosedur Prosedur B.

B akan kembali dengan benar untuk A, tapi ketika prosedur Sebuah mengeksekusi

instruksi jr, maka akan kembali lagi ke alamat pengirim untuk B, yang merupakan

instruksi berikutnya setelah jal B dalam prosedur A. Hal ini menempatkan prosedur A

dalam infinite loop.

Untuk melaksanakan linkage untuk prosedur bersarang, alamat pengirim untuk

setiap prosedur harus disimpan di tempat lain selain mendaftar $ ra. Perhatikan bahwa

prosedur call / kembali urutan adalah proses LIFO: prosedur terakhir disebut adalah

yang pertama untuk kembali. Tumpukan A adalah struktur data alami untuk

menyimpan alamat kembali untuk panggilan prosedur bersarang.

Tumpukan sistem terletak di bagian atas ruang memori pengguna dan tumbuh

ke bawah menuju alamat memori yang lebih kecil. Registrasi $ 29, juga disebut $ sp,

adalah pointer stack untuk stack sistem. Ini berisi alamat dari lokasi kosong pertama

di bagian atas stack. Tumpukan sistem ini dimaksudkan untuk penyimpanan alamat

dan terstruktur untuk kata berukuran data.

Tumpukan sistem umumnya digunakan untuk menyimpan alamat

kembali. Mereka dapat didorong pada stack ketika prosedur ini disebut dan muncul

dari mengeksekusi instruksi kembali.

26SET INSTRUKSI : KARAKTERISTIK DAN FUNGSI

Page 27: Makalah set instruksi

Sebuah alamat pengirim dalam register $ ra dapat didorong ke stack sistem

dengan kode MAL berikut:

        sw $ ra, ($ sp)

        menambahkan $ sp, -4

Kode berikut muncul alamat pengirim dari atas tumpukan dan

mengembalikannya dalam daftar $ ra:

        menambahkan $ sp, 4

        lw $ ra, ($ sp)

Setiap prosedur yang memanggil prosedur lain harus menyimpan alamat

pengirim pada stack sistem. Kode kerangka untuk menyimpan alamat pengirim untuk

prosedur adalah :

J: sw $ ra, ($ sp) # menyimpan alamat pengirim

        menambahkan $ sp, -4 # pada stack sistem

        #

        # Tubuh prosedur A

        #

        menambahkan $ sp, 4 # mengembalikan alamat pengirim

        lw $ ra, ($ sp) # dari tumpukan sistem

        jr $ ra # kembali ke memanggil program

Di dalam prosedur, jumlah mendorong harus sama dengan jumlah pops untuk

memastikan bahwa stack pointer dikembalikan ke posisi semula setelah setiap urutan

panggilan / prosedur pengembalian. Tertandingi mendorong atau muncul dari

tumpukan sistem merusak hubungan prosedur dan menghasilkan hasil yang tak

terduga, seperti instruksi ilegal atau pelanggaran akses memori.

Cabang Petunjuk

Instruksi cabang digunakan untuk mengimplementasikan JIKA pernyataan dan loop

dalam bahasa assembly.Instruksi cabang tanpasyarat mengeksekusi dengan

menetapkan nilai dari label ke PC.Eksekusiprogram berlanjut dengan instruksi yang

terletak di label.

27SET INSTRUKSI : KARAKTERISTIK DAN FUNGSI

Page 28: Makalah set instruksi

Unconditional Cabang

Sebuah instruksi cabang bersyarat menguji suatu kondisi. Jika kondisi benar, PC-

resetke label. Jika kondisi salah, instruksi cabang mengeksekusi no-op.

nol Tes

Tes relasional

Catatan:

x dan y mungkin tipe integer atau karakter dan mungkin variabel atau konstanta.

Semua instruksi cabang dapat dibangun menggunakan cabang pada nol.

Instruksi cabang berlebihan disertakan untuk kenyamanan.

contoh:

b berikutnya

setara dengan

beqz 0, berikutnya

beq x, y, sama

dapat ditulis sebagai:

sub t, x, y

beqz t, sama

BLT x, y, label

adalah sama dengan:

bgt y, x, label

\

28SET INSTRUKSI : KARAKTERISTIK DAN FUNGSI

Page 29: Makalah set instruksi

E. Pentium

1. Jenis – jenis OperasiPC

PowerPC banyak memiliki jenis operasi , berikut disajikan berbagai jenis

operasi pada PowerPC : 

Instruksi           Uraian

                                                            Berorientasi Pencabangan

b                    Pencabangan tidak bersyarat

bl                   Bercabang kealamat sasaran dan menaruh alamat efektif instruksi yang

berada setelah pencabangan kedalam link register

bc                   Pencabangan bersyarat pada Count Register dan/atau pada bit dalkam

Condition Register.

sc                    System Call untuk membangkitkan layanan sistem operasi

trap                 Memebandingkan dua buah operand dan membangkitkan system trap

handler bila persyaratan tertentu dipenuhi.

 

                                                                        Load/Store

lwzu               Memuatkan word dan nol kesebelah kiri; mengupdate register sumber.

ld                   Memuatkan dobleword.

lmw               Memuatkan word ganda; memuatkan word berurutan ke regiater yang

berdekatan dari register sasaran melalui General Purpose Register 31.

lswx              Memuatkan suatu untaian byte kedalam register yang dimulai dengan

register sasaran; empat byte per-register; diambil semua dari register 31

hingga register 0.

 

                                                                        Arimatika Integer

add                Menjumlahkan isi dari dua buah integer dan menyimpannya dalam

register ketiga

subf               Mengurangkan isi dua buah register dan menyimpannya dalam register

ketiga.

mullw            Mengalikan isi dua buah register orde rendah 32-bit dan menyimpan

hasil perkaliannya dalam register 64-bit ketiga.

29SET INSTRUKSI : KARAKTERISTIK DAN FUNGSI

Page 30: Makalah set instruksi

divd               Membagi isi dua buah register 64-bit dan menyimpan kuosiennya

dalam register ketiga.

                                                                        Logika dan Pergeseran

cmp                Membandingkan dua buah operand dan menyetel empat buah bit

kondisi dalam field register kondisi tertentu.

crand             Condition Register AND : dua bit Condition Register di-AND-kan dan

hasilnya disimpan dalam salah satu dari kedua posisi tersebut.

and                Meng-AND-kan isi dua buah register dan menyimpannya dalam register

ketiga

cntlzd            Mencacah jumlah bit 0 berturutan yang berawal pada bit nol dalam

register sumber dan menempatkan hasil perhitungan dalam regiater

tujuan.

rldic               Merotasikan ke kiri register doubleword, meng-AND-kannya dengan

mask, dan menyimpannya dalam register tujuan.

sld                  Menggeser kekiri dalam register sumber dan menyimpannya dalam

register tujuan

                                                                        Titik Mengambang

lfs                  Memuatkan bilangan floating point 32-bit dari memori, mengubahnya

kedalam format 64 bit, dan menyimpannya dalam register floating

point.

fadd               Menjumlahkan dua buah register floating point dan menyimpannya

dalam register ketiga.

fmadd            Mengalikan isi dua buah register, menambahkan isi regiater ketiga, dan

menyimpan hasilnya dalam regiater keempat.

fcmpu            Membandingkan dua buah operand floating point dan menyetel bit-bit

kondisi.

 

                                                                        Manajemen Cache

30SET INSTRUKSI : KARAKTERISTIK DAN FUNGSI

Page 31: Makalah set instruksi

dcbf               Membersihkan (flush) blok data cache; melakukan lookup dalam cache

yang terdapat pada alamat sasaran tertentu dan melakukan operasi

pembersihan.

icbi                Menginvalidasikan instruksi blok cache

2. Instruksi- Instruksi berorientasi Percabangan

PowerPC memiliki orientasi pencabangan tidak bersyarat dan pencabangan

bersyarat. Instruksi-instruksi pencabangan bersyarat menguji suatu bit tunggal dari

register kondisi apakah benar, salah, atau tidak peduli dan isi dari counter register

apakah nol, bukan nol, atau tidak peduli. Dengan demikian terdapat sembilan macam

kondisi instruksi pencabangan bersyarat yang terpisah. Apabila counter register diuji

apakah nol atau bukan nol, maka sesudah pengujian register berkurang 1. Hal ini

tentunya memudahkan penyiapan loop iterasi. Instruksi dapat juga mengindikasikan

bahwa alamat dari pencabangan itu ditempatkan dalam link register, hal ini

memungkinkan pengolahan call/return.

3. Instruksi-instruksi Load/Store

Dalam arsitektur PowerPC hanya instruksi load/store yang dapat mengakses

lokasi memori, instruksi logika dan aritmetika hanya dilakukan terhadap register.

Terdapat dua fitur yang membedakan instruksi-instruksi load/store :

Ukuran data, dimana data dapat dipindahkan dalam satu byte, halfword,

word, atau doubleword. Instruksi-instruksi juga dapat digunakan untuk

memuat atau menyimpan suatu untai byte ke dalam sejumlah register atau dari

sejumlah register

Perluasan tanda, dimana pada pembuatan word dan halfword, bit-bit sebelah

kiri register 64-bit tujuan yag tidak dipakai dapat diisi dengan bilangan-

bilangan nol atau dengan bit tanda dari kuantitas yang dimuatkan.

31SET INSTRUKSI : KARAKTERISTIK DAN FUNGSI

Page 32: Makalah set instruksi

F. Bahasa Assembly

CPU dapat memahami dan mengeksekusi instruksi-instruksi mesin. Instruksi-

instruksi itu hanya berupa bilangan-bilangan biner yang tersimpan dalam computer.

Bila pemograman ingin langsung membuat program dalam bahasa mesin, masalah

programnya perlu dibuat dalam bentuk data biner. Perhatikan pernyataan bahasa

BASIC yang sederhana di bawah ini :

N = I + J + K

Misalnya kita ingin memprogram pernyataan ini dalam bahasa mesin dan

mnginisialisasi I, J, dan K masing-masing sebagai 2, 3, dan 4. Program ini

ditunjukkan pada gambar di bawah ini :

Alamat Isi Alamat Instruksi

101 0010 0010 0000 0001 101 LDA 201

102 0001 0010 0000 0010 102 ADD 202

103 0001 0010 0000 0011 103 ADD 203

104 0011 0010 0000 0100 104 STA 204

(a) Program Biner (b) Program Simbolik

Alamat Isi Label Operasi Operand

101 2201 FORMUL LDA I

102 1202 ADD J

103 1203 ADD K

104 3204 STA N

201 0002 I DATA 2

202 0003 J DATA 3

203 0004 K DATA 4

204 0000 N DATA 0

(c) Program Heksadesimal (d) Program Asembly

32SET INSTRUKSI : KARAKTERISTIK DAN FUNGSI

Page 33: Makalah set instruksi

Program tersebut berawal di lokasi 201. Program itu terdiri dari empat buah

instruksi :

1. Masukkan isi lokasi 201 ke dalam AC.

2. Tambahkan isi lokasi 202 ke AC.

3. Tambahkan isi lokasi 203 ke AC.

4. Simpan isi AC di lokasi 204.

Hal ini jelas merupakan proses yang membosankan dan merupakan proses yang

mudah mengalami kesalahan.

Sedikit peningkatan adalah dengan menulis program dalam heksadesimal

daripada dalam notasi biner. Kita akan menuliskan programnya sebagai baris-baris.

Setiap baris terdiri dari alamat lokasi memori dan kode heksadesimal nilai biner akan

disimpan di lokasi tersebut. Kemudian kita memerlukan sebuah program yang akan

menerima input ini, menerjemahkan setiap baris ke dalam bilangan biner, dan

menyimpannya di lokasi tertentu.

Untuk peningkatan yang lebih, kita dapat menggunakan nama simbolik atau

mnemonic pada setiap-setiap instruksi. Ini menghasilkan dalam program simbolik

yang ditunjukkan dalam gambar (c) di atas. Setiap baris input masih

mempresentasikan satu lokasi memori. Setiap baris terdiri dari tiga bidang, yang

dipisahkan dengan spasi. Bidang pertama terdiri dari lokasi memori. Untuk instruksi,

bidang kedua terdiri dari tiga buah symbol bagi opcode. Jika merupakan instruksi

yang mereferensi memori, maka bidang ketiga terdiri dari alamat-alamat. Untuk

menyimpan data yang berubah-ubah dalam sebuah lokasi, kita menemukan

pseudoinstruction (pseudoinstruksi) denga symbol DAT. Hal ini seolah-olah sebuah

indikasi bahwa bidang ketiga pada baris dari bilanganheksadesimal disimpan dalam

lokasi tertentu dalam bidang pertama.

Untuk jenis input ini kita memerlukan program yang sedikit lebih kompleks.

Program menerima setiap baris input, menghasilkan bilangan biner berdasarkan

bidang kedua dan ketiga (jika ada), dan menyimpannya di lokasi yang ditentukan oleh

bidang pertama.

Penggunaan dari suatu program simbolik membuat hidup lebih mudah tetapi

masih janggal. Khususnya, kita harus memberi alamat mutlak untuk setiap word. Hal

33SET INSTRUKSI : KARAKTERISTIK DAN FUNGSI

Page 34: Makalah set instruksi

ini berarti bahwa program dan data dimuatkan hanya ke suatu lokasi dalam memori,

dan kita harus mengetahui tempat itu terlebih dahulu. Lebih buruk, misalnya, suatu

hari kita ingin mengubah program itu dengan menambah atau menghapus sebuah

baris. Hal ini akan mengubah semua almat-alamat word dan tertentu.

Sistem yang jauh lebih baik, dan lebih umum digunakan adalah dengan

menggunakan alamt-alamat simbolik. Hal ini dijelaskan pada gambar (d) di atas.

Setiaop baris mesin terdiri dari tiga bidang. Bidang pertama masih untuk alamat,

tetapi menggunakan simbolik dan bukan berupa alamat numeric absolut. Beberapa

baris tidak mempunyai alamat, yang berarti bahwa alamat baris itu, maju satu dari

alamat baris sebelumnya. Bagi instruksi referensi memori, bidang ketiga juga terdiri

dari alamat simbolik.

Dengan perbaikan terakhir ini, kita memiliki sebuah bahasa asembly. Prof yang

ditulis dalam bahasa asembly diterjemahkan kedalam bahasa mesin oleh sebuah

bahasa assembler. Program ini tidak hanya harus melakukan penerjemahan simbolik

namun juga menugaskan beberapa bentuk alamat memori menjadi alamat-alamat

simbolik.

Pengembangan bahasa asembly merupakan hal yang sangat penting dalam

evolusi teknologi computer. Ini adalah langkah awal menuju bahasa tingkat tinggi

yang digunakan saat ini. Meskipun sedikit pemrogram yang menggunakan bahasa

asembli, namu sebenarnya semua mesin menyediakannya. Mesin-mesin itu

digunakan untuk program-program system compiler dan rutin-rutin I/O.

34SET INSTRUKSI : KARAKTERISTIK DAN FUNGSI

Page 35: Makalah set instruksi

DAFTAR PUSTAKA

http://lecturer.eepis-its.edu/~setia/Modul/ArKom/Pertemuan%2004.pdf

http://lecturer.ukdw.ac.id/~mahas/dossier/arkom_08.pdf

https://www.google.com/url?

sa=t&rct=j&q=&esrc=s&source=web&cd=1&ved=0CBsQFjAA&url=https%3A%2F

%2Fiyant201043500251.files.wordpress.com%2F2012%2F05%2Fjurnal-arsitektur-

dan-organisasi-

komputer3.docx&ei=1lKVPaKMMePuATLw4CACw&usg=AFQjCNGIGHqMeML

O_vTkQ57jsR6_g_xKiQ&cad=rja

http://sulaiman001.blogspot.com/2011/12/makalah-arsitektur-set-instruksi.html

http://www.google.com/url?

sa=t&rct=j&q=&esrc=s&source=web&cd=10&ved=0CFYQFjAJ&url=http%3A%2F

%2Fmargono.staff.uns.ac.id%2Ffiles%2F2009%2F06%2Fset-

instruksi.ppt&ei=FmmKVJCHCNaOuATDsYCACg&usg=AFQjCNEVQYQQ1aw9

A6Al9-1NbO18gVPDqA&cad=rja

http://www.google.com/url?

sa=t&rct=j&q=&esrc=s&source=web&cd=4&ved=0CDAQFjAD&url=http%3A%2F

%2Fwww.mdp.ac.id%2Fmateri%2F2010-2011-2%2FSP354%2F052110%2FSP354-

052110-556-

7.pptx&ei=FmmKVJCHCNaOuATDsYCACg&usg=AFQjCNHbSR2wuJX0JULQC

Ap2nX7phz07Gg&cad=rja

http://eprints.binadarma.ac.id/883/1/ARSITEK%20KOMPUTER%205.pdf

35SET INSTRUKSI : KARAKTERISTIK DAN FUNGSI

Page 36: Makalah set instruksi

36SET INSTRUKSI : KARAKTERISTIK DAN FUNGSI