Anda di halaman 1dari 37

OLEH :

Ferdinan Alberto
113511
Maghfiroh Aini
11351201397
Reza Arliansyah
113511
Ratna Sari
11351201

JURUSAN TEKNIK INFORMATIKA


FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS ISLAM NEGRI SULATAN SYARIF KASIM
RIAU

KATA PENGANTAR
Assalamualaikum 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 halhal 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.

SET INSTRUKSI : KARAKTERISTIK DAN FUNGSI

DAFTAR ISI
Halaman
HALAMAN JUDUL

KATA PENGANTAR

DAFTAR ISI

SET INSTRUKSI : KARAKTERISTIK DAN FUNGSI

A. Machine Instruction Characteristics

1. Elemen Instruksi

2.
3.
4.
5.

6
8
9
9

Instruksi Representasi
Jenis Instruksi
Jumlah Alamat
Rancangan Set Instruksi

B. Types of Operand

1.

10

1. Number

10

2. Karakter

12

3. Tipe Data

13

Tipe Dasar

13

Tipe bentukan

14

C. Pentium and PowerPC Data Types

15

Pentium Data Types

16

SET INSTRUKSI : KARAKTERISTIK DAN FUNGSI

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

2. Instruksi-instruksi berorientasi percabangan

31

3. Instruksi-instruksi Load/Store

31

F. Assembly Language

32

DAFTAR PUSTAKA

35

SET INSTRUKSI : KARAKTERISTIK DAN FUNGSI

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)

SET INSTRUKSI : KARAKTERISTIK DAN FUNGSI

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

SET INSTRUKSI : KARAKTERISTIK DAN FUNGSI

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

Y
7

SET INSTRUKSI : KARAKTERISTIK DAN FUNGSI

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.

Simple Instruction Format

3. Jenis Instruksi
Sebuah instuksi yang dapat diekspresikan dalam bahasa BASIC atau
FORTRAN. X = X+Y Pernyataan ini menginstruksiakna komputer untuk
8

SET INSTRUKSI : KARAKTERISTIK DAN FUNGSI

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

SET INSTRUKSI : KARAKTERISTIK DAN FUNGSI

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
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,

perhitungan harus

sebuah

peternakan data. Dalam

dilakukan pada

banyak

kasus, beberapa

referensi operan dalam instruksi

10

SET INSTRUKSI : KARAKTERISTIK DAN FUNGSI

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

sebagai counter, lebar


antara nomor yang

kebutuhan untuk

lapangan, dan
digunakan

dalam

nomor untuk

bertindak

sebagainya. Perbedaan

penting

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

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

11

SET INSTRUKSI : KARAKTERISTIK DAN FUNGSI

desimal pada

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,

untuk 246 adalah 0000001001000110. Kode ini

kode
jelas kurang kompak

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
data tekstual adalah

umum adalah

teks atau

makhluk paling convinient,

string karakter,
mereka

tidak

sedangkan
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
12

SET INSTRUKSI : KARAKTERISTIK DAN FUNGSI

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

karakter. Delapan bit mungkin

menggunakan 8

digunakan

bit per

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

sampai 9 yang
kanan 4

bit. Ini

diwakili
adalah

Bahwa

untuk 011XXXX pola

bit IRA, angka

oleh biner setara mereka, 0000 melalui 1001, di paling


kode

yang

sama

seperti desimal dikemas. Ini

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

yang

digunakan untuk

adalah Binary Coded Perluasan

mengkodekan karakter
Kode Desimal Interchange

(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

13

SET INSTRUKSI : KARAKTERISTIK DAN FUNGSI

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 .

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.
14

SET INSTRUKSI : KARAKTERISTIK DAN FUNGSI

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.


15

SET INSTRUKSI : KARAKTERISTIK DAN FUNGSI

b. String

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,
>

16

SET INSTRUKSI : KARAKTERISTIK DAN FUNGSI

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


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
General

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

Integer

(64 bits) location with arbitrary binary contents


A signed binary value contained in a byte,word or
doubleword, using twos complement representation
17

SET INSTRUKSI : KARAKTERISTIK DAN FUNGSI

Ordinal
Unpacked

An unsigned integer contained in a byte, word or


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

coded decintal (BCD)


Packed BCD

with one digit in each byte


Packed byte representation of two BCD digits value in

Near pointer

the range 0 to 99
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

Bit field

segment in a segmented memory


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

Byte string

up to 232 1 bits
A contiguous sequence of bytes, words or doublewords,

Floating point

containing form zero to 232 1 bits


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

18

SET INSTRUKSI : KARAKTERISTIK DAN FUNGSI

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
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 floatingpoint 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.
2.
3.
4.
5.

Data transfer
Arithmetic
Logical
Conversion
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

19

SET INSTRUKSI : KARAKTERISTIK DAN FUNGSI

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

20

SET INSTRUKSI : KARAKTERISTIK DAN FUNGSI

4. pengurangan: kurangi 1 dari operand

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

21

SET INSTRUKSI : KARAKTERISTIK DAN FUNGSI

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

Q
0
1
0
1

NOT P
1
1
0
0

P AND Q
0
0
0
1

P OR Q
0
1
1
1

P XOR Q
0
1
1
0

P=Q
1
0
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.
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.
22

SET INSTRUKSI : KARAKTERISTIK DAN FUNGSI

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

SET INSTRUKSI : KARAKTERISTIK DAN FUNGSI

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
10100110
10100110
10100110
10100110
10100110
10100110
olehisi

darientri

Operation
Logical right shift (3 bit)
Logical left shift (3 bit)
Arithmetic right shift (3 bit)
Arithmetic left ahift (3 bit)
Right rotate (3 bit)
Left rotate (3 bit)
tabeldiindeks

olehbyteitu.misalnya,

Result
00010100
00110000
11110100
10110000
11010100
00110101
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

kemudian, jikakita menjalankan


TRR1,R2,4
lokasi2100 - 2103akan berisi3139 3834
5. Input / output (I/O)

24

SET INSTRUKSI : KARAKTERISTIK DAN FUNGSI

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

prosesordalam

dieksekusi hanyaketika

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
berikutnya yang

kontroluntuk
akan

semua jenis operasi dibahas sejauh instruksi


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


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

25

SET INSTRUKSI : KARAKTERISTIK DAN FUNGSI

instruksi harus ditulis sepparately jika atable

atau daftar

untuk akan memproses semua data


2. Hampir semua
program melibatkan

item adalah

beberapa pengambilan

keputusan kami ingin komputer untuk melakukan satu hal jika satu
syarat memegang

dan hal lain

jika kondisi

contoh urutan instruksi komputer akar


awalurutan tanda

kuadrat dari

nomor diuji jika

adalah negatif perhitungan tidak

lain berlaku. untuk


angka. Pada

nomor

tersebut

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
dapat bekerja

melanggar tugas menjadi


pada satu

Sebuah instruksi cabang, juga


salah

potongan

per

satucabang instruksi

disebut instruksi

satuoperand-nya alamat

kecil yang

jump memiliki sebagai

dari instruksi

akan dieksekusi paling

berikutnya

yang

seringinstruksi adalah

cabang kondisi instruksi cabang yang dibuat hanya


tertentuterpenuhi. jika

jika kondisi

tidak, instruksi berikutnya

urutan dijalankan (increment program

dalam
counter seperti

biasa)melewatkan instruksilain bentuk

umum

dari transfer-of-

control instruksi. instruksi loncat mencakup alamattersirat. biasanya, lonca


t menyiratkan

bahwa satu

alamat tersirat sama

instruksi dilewati: dengan

dengan alamat instruksi

demikian,

berikutnya ditambah satu

instruksi-mengukur tinggi.
Memproduksi Hubungan Instruksi
Mungkin inovasi

yang

paling penting dalam

pengembangan bahasa pemrogramanadalah prosedur, prosedur adalah mandiri progra


mkomputer yang incorporatred ke

dalam

setiap titikdalam
menelepon. prosesor diperintahkan

sebuah

program besar. Pada

program prosedur dapatdipanggil, atau


untuk

pergi dan

prosedur dan kembali ke titik dari mana panggilan berlangsung.


26

SET INSTRUKSI : KARAKTERISTIK DAN FUNGSI

melaksanakanseluruh

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
Tumpukan

sistem

untuk

kata

umumnya

digunakan

berukuran
untuk

menyimpan

data.
alamat

kembali. Mereka dapat didorong pada stack ketika prosedur ini disebut dan muncul
dari mengeksekusi instruksi kembali.
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)
27

SET INSTRUKSI : KARAKTERISTIK DAN FUNGSI

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.

Unconditional Cabang
Sebuah instruksi cabang bersyarat menguji suatu kondisi. Jika kondisi benar, PCresetke 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.

28

SET INSTRUKSI : KARAKTERISTIK DAN FUNGSI

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

E. Pentium
1. Jenis jenis OperasiPC
PowerPC banyak memiliki jenis operasi , berikut disajikan berbagai jenis
operasi pada PowerPC :
Instruksi

Uraian
Berorientasi Pencabangan

Pencabangan tidak bersyarat

29

SET INSTRUKSI : KARAKTERISTIK DAN FUNGSI

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.

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.

30

SET INSTRUKSI : KARAKTERISTIK DAN FUNGSI

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

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

31

SET INSTRUKSI : KARAKTERISTIK DAN FUNGSI

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 bilanganbilangan nol atau dengan bit tanda dari kuantitas yang dimuatkan.

32

SET INSTRUKSI : KARAKTERISTIK DAN FUNGSI

F. Bahasa Assembly
CPU dapat memahami dan mengeksekusi instruksi-instruksi mesin. Instruksiinstruksi 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

(a) Program Biner

204

(b) Program Simbolik

Alamat

Isi

Label

Operasi

Operand

101

2201

FORMUL

LDA

102

1202

ADD

103

1203

ADD

104

3204

STA

201

0002

DATA

202

0003

DATA

203

0004

DATA

204

0000

DATA

(c) Program Heksadesimal

(d) Program Asembly

33

SET INSTRUKSI : KARAKTERISTIK DAN FUNGSI

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
34

SET INSTRUKSI : KARAKTERISTIK DAN FUNGSI

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.

35

SET INSTRUKSI : KARAKTERISTIK DAN FUNGSI

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-arsitekturdan-organisasikomputer3.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%2Fsetinstruksi.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%2FSP354052110-5567.pptx&ei=FmmKVJCHCNaOuATDsYCACg&usg=AFQjCNHbSR2wuJX0JULQC
Ap2nX7phz07Gg&cad=rja
http://eprints.binadarma.ac.id/883/1/ARSITEK%20KOMPUTER%205.pdf

36

SET INSTRUKSI : KARAKTERISTIK DAN FUNGSI

37

SET INSTRUKSI : KARAKTERISTIK DAN FUNGSI

Anda mungkin juga menyukai