Anda di halaman 1dari 17

12

BAB I
PEMBAHASAN
A. Pengertian Set Instruksi
Set Instruksi (Instruction Set, atau Instruction Set Architecture (ISA))
didefinisikan sebagai suatu aspek dalam arsitektur komputer yang dapat dilihat
oleh para pemrogram. Secara umum, ISA ini mencakup jenis data yang didukung,
jenis instruksi yang dipakai, jenis register, mode pengalamatan, arsitektur memori,
penanganan interupsi, eksepsi, dan operasi I/O eksternalnya (jika ada).
ISA merupakan sebuah spesifikasi dari kumpulan semua kodekode biner
(opcode) yang diimplementasikan dalam bentuk aslinya (native form) dalam
sebuah desain prosesor tertentu. !umpulan opcode tersebut, umumnya disebut
sebagai bahasa mesin (machine language) untuk ISA yang bersangkutan. ISA
yang populer digunakan adalah set instruksi untuk chip Intel "#$, IA$%, I&'
(o)er(*, 'otorola $#+++, Sun S(A,*, -.* Alpha, dan lainlain.
ISA kadangkadang digunakan untuk membedakan kumpulan karakteristik
yang disebut di atas dengan mikroarsitektur prosesor, yang merupakan kumpulan
teknik desain prosesor untuk mengimplementasikan set instruksi (mencakup
microcode, pipeline, sistem cache, manajemen daya, dan lainnya). !omputer
komputer dengan mikroarsitektur berbeda dapat saling berbagi set instruksi yang
sama. Sebagai contoh, prosesor Intel (entium dan prosesor A'- Athlon
mengimplementasikan /ersi yang hampir identik dari set instruksi Intel "#$, tetapi
jika ditinjau dari desain internalnya, perbedaannya sangat radikal. !onsep ini
dapat diperluas untuk ISAISA yang unik seperti 0I'I yang terdapat dalam I&'
System/1# dan I&' IAS/%++. 0I'I merupakan sebuah ISA yang
diimplementasikan sebagai perangkat lunak le/el rendah yang berfungsi sebagai
mesin /irtual. 0I'I didesain untuk meningkatkan masa hidup sebuah platform
dan aplikasi yang ditulis untuknya, sehingga mengi2inkan platform tersebut agar
dapat dipindahkan ke perangkat keras yang sama sekali berbeda tanpa harus
memodifikasi perangkat lunak (kecuali yang berkaitan dengan 0I'I). 3al ini
membuat I&' dapat memindahkan platform AS/%++ dari arsitektur mikroprosesor
*IS* ke arsitektur mikroprosesor (O4., tanpa harus menulis ulang bagian
bagian dari dalam sistem operasi atau perangkat lunak yang diasosiasikan
dengannya.
12
B. Representasi Data
5ntuk memberi tanda bilangan biner + (nol) untuk bilangan positif atau
plus dan 6 untuk bilangan negatif atau minus. (ada bilangan biner nbit, jika
susunannya dilengkapi dengan bit tanda maka diperlukan register dengan panjang
n76 bit. -alam hal ini, n bit digunakan untuk menyimpan bilangan biner itu
sendiri dan satu bit untuk tandanya. (ada representasi bilangan biner yang
dilengkapi dengan tanda bilangan, bit tanda ditempatkan pada posisi paling kiri.
8ilai sebuah data dari sebuah tipe data integer adalah nilai bilangan bulat
tersebut dalam matematika. ,epresentasi data ini merupakan cara bagaimana
nilainya disimpan di dalam memori komputer. 0ipe data integral terbagi menjadi
dua buah kategori, baik itu bertanda (signed) ataupun tidak bertanda (unsigned).
&ilangan bulat bertanda mampu merepresentasikan nilai bilangan bulat negatif,
sementara bilangan bulat tak bertanda hanya mampu merepresentasikan bilangan
bulat positif.
,epresentasi integer positif di dalam komputer sebenarnya adalah untaian
bit, dengan menggunakan sistem bilangan biner. 5rutan dari bitbit tersebut pun
ber/ariasi, bisa berupa 9ittle .ndian ataupun &ig .ndian. Selain ukuran, lebar
atau ketelitian (presisi) bilangan bulat juga ber/ariasi, tergantung jumlah bit yang
direpresentasikanya. &ilangan bulat yang memiliki n bit dapat mengodekan :
n
.
;ika tipe bilangan bulat tersebut adalah bilangan bulat tak bertanda, maka
jangkauannya adalah dari + hingga :
n
6.
C. Sistem Bilangan
&ahasa alamiah mengenal bilangan basis 6+ (disebut desimal),sedangkan
bahasa mesin mengenal sistem bilangan yakni tiga basis, yaitu.
&asis bilangan : yakni binarydigit, digunakan pada komunikasi data.
&asis bilangan # yakni octaldigit, digunakan pada pengalamatan memori
&asis bilangan 6$ yakni he"adecimal, digunakan pada pengalamatan di
memory dan pengkodean )arna.
12
1. Sistem Bilangan Desimal (Basis 1!
-esimal (&asis 6+) adalah Sistem &ilangan yang paling umum digunakan
dalam kehidupan seharihari. Sistem bilangan desimal menggunakan basis 6+ dan
menggunakan 6+ macam simbol bilangan yaitu < +,6,:,1,%,=,$,>,# dan ?. Sistem
&ilangan desimal dapat berupa integer decimal (decimal integer) dan pecahan
decimal.
5ntuk melihat nilai bilangan desimal dapat digunakan perhitungan seperti
berikut, misalkan contoh bilangan desimal adalah #=?#. Ini dapat diartikan <
-alam gambar diatas disebutkan Abs"lut #alue dan P"siti"n #alue.
Setiap simbol dalam sistem bilangan desimal memiliki Absolut @alue dan (osition
@alue. Abs"lut $alue adalah 8ilai 'utlak dari masingmasing digit bilangan.
Sedangkan P"siti"n #alue adalah 8ilai (enimbang atau bobot dari masing
masing digit bilangan tergantung dari letak posisinya yaitu bernilai basis di
pangkatkan dengan urutan posisinya. 5ntuk lebih jelasnya perhatikan table
diba)ah ini.
-engan begitu maka bilangan desimal #=?# bisa diartikan sebagai berikut <

12
Sistem bilangan desimal juga bisa berupa pecahan desimal (decimal
fraction), misalnya < 6#1,>= yang dapat diartikan <
%. Sistem Bilangan biner (basis %!
Sistem bilangan biner atau sistem bilangan basis &ua adalah sebuah
system penulisan angka dengan menggunakan dua simbol yaitu + dan 6. Sistem
bilangan biner modern ditemukan oleh Aottfried 4ilhelm 9eibni2 pada abad ke
6>. Sistem bilangan ini merupakan dasar dari semua sistem bilangan berbasis
digital. -ari sistem biner, kita dapat mengkon/ersinya ke sistem bilangan oktal
atau he"adesimal. Sistem ini juga dapat kita sebut dengan istilah bit, atau Binary
Digit. (engelompokan biner dalam komputer selalu berjumlah #, dengan istilah 6
&yte. -alam istilah komputer, 6 &yte B # bit. !odekode rancang bangun
komputer, seperti AS*II, American Standard Code for Information Interchange
menggunakan sistem pengkodean 6 &yte. *ontoh kon/ersi bilangan &iner ke
desimal.
(osition @alue dalam sistem &ilangan &iner merupakan perpangkatan dari
nilai : (basis), seperti pada tabel berikut ini <
&erarti, &ilangan &iner 6++6 perhitungannya adalah sebagai berikut <
12

'. Sistem Bilangan (ktal (basis )!
(ktal atau sistem bilangan basis # adalah sebuah sistem bilangan berbasis
delapan. Simbol yang digunakan pada sistem ini adalah +,6,:,1,%,=,$,>. !on/ersi
Sistem &ilangan Oktal berasal dari sistem bilangan biner yang dikelompokkan
tiap tiga bit biner dari ujung paling kanan (9S& atau 9east Significant &it).contoh
kon/ersi bilangan Oktal ke decimal.
(osition @alue dalam Sistem &ilangan Oktal merupakan perpangkatan
dari nilai # (basis), seperti pada tabel berikut ini<
&erarti, &ilangan Oktal 6+:: perhitungannya adalah sebagai berikut <
*. Sistem Bilangan He+a&esimal (Basis 1,!
He+a&esimal (Basis 1,!- 3e"a berarti $ dan -esimal berarti 6+ adalah
Sistem &ilangan yang terdiri dari 6$ simbol yaitu +, 6, :, 1, %, =, $, >, #, ?, A(6+),
&(66), *(6:), -(61), .(6%), C(6=). (ada Sistem &ilangan 3e"adesimal
12
memadukan : unsur yaitu angka dan huruf. 3uruf A me)akili angka 1, B
me)akili angka 11 dan seterusnya sampai 3uruf . me)akili angka 1/.
*ontoh 3e"adesimal C1-%, Ini dapat di artikan (-i kon/ersikan ke sistem
bilangan desimal) menjadi sebagai berikut
(osition @alue dalam Sistem &ilangan 3e"adesimal merupakan perpangkatan dari
nilai 6$ (basis), seperti pada tabel berikut ini <
&erarti, &ilangan 3e"adesimal C1-A perhitungannya adalah sebagai berikut<
D. 0arakteristik &an .ungsi Set Instruksi
Operasi dari *(5 ditentukan oleh instruksi instruksi yang di laksanakan
atau dijalankannya Instruksi ini sering di sebut sebagai instruksi mesin (mechine
instructions) atau instruksi computer (computer instructions).
!umpulan dari instruksiinstruksi yang berbeda yang dapat di jalankan
oleh *(5 di sebut set Instruksi (Instruction Set).
E. Elemen 1 elemen &ari Instruksi Mesin (set instruksi!
Operation *ode (opcode)
Sebuah opcode (kode operasi) adalah bagian dari instruksi bahasa
mesin yang menentukan operasi yang akan dilakukan. spesifikasi mereka
12
dan format yang diletakkan dalam set instruksi arsitektur prosesor yang
bersangkutan (yang mungkin merupakan *(5 umum atau unit pengolahan
lebih khusus). 0erlepas dari opcode sendiri, instruksi biasanya juga
memiliki satu atau lebih penspesifikasi untuk operan (data yaitu) di mana
operasi harus bertindak, meskipun beberapa operasi mungkin memiliki
operan implisit, atau tidak sama sekali. Ada instruksi set dengan bidang
hampir sama untuk penspesifikasi opcode dan operan,serta yang lain (yang
"#$ architecture misalnya) dengan struktur, panjang lebih rumit ber/ariasi.
Source Operand ,eference B operasi dapat berasal dari lebih satu sumber.
Operand adalah input instruksi.
,esult Operand ,eference B 'erupakan hasil atau keluaran operasi.
8e"t instruction ,eference B elemen ini menginformasikan *(5 posisi
instruksi berikutnya yang harus diambil dan dieksekusi.
(peran& &ari (perasi <
'elihat dari operasi,operand suatu operasi dapat berada di salah satu dari
ketiga daerah berikut <
memori utama atau memori /irtual.
register *(5.
perangkat I/O.
.. Representasi Instruksi
Instruksi komputer direpresentasikan oleh sekumpulan bit. Instruksi dibagi
menjadi beberapa field. Cield field ini diisi oleh elemen elemen instruksi yang
memba)a informasi bagi operasi *(5. 9ayout instruksi berformat instruksi.
."rmat Instruksi <
[opcode] [alamatD
!ode operasi (opcode) direpresentasikan dengan singkatan singkatan
yang disebut mnemonic.
'nemonic mengindikasikan suatu operasi bagi *(5.
*ontoh mnemonic<
A-- B penambahan.
12
S5& B subtract (pengurangan).
9OA- B muatkan data ke memori.
*ontoh representasi operand secara simbolik<
ADD 2- 3
artinya< tambahkan nilai yang berada pada lokasi E dengan isi register F
dan simpan hasilnya di register F.
(rogrammer dapat menuliskan program bahasa mesin dalam bentuk
simbolik.
Setiap opcode simbolik memiliki representasi biner yang tetap dan
programmer dapat menetapkan lokasi masingmasing operand.
0"relasi <
a. 0erlihat hubungan antara ekspresi bahasa tingkat tinggi dengan bahasa
mesin.
b. -alam bahasa tangkat tinggi, operasi dinyatakan dalam bentuk aljabar
singkat menggunakan /ariable.
c. -alam bahasa mesin hal tersebut diekspresikan dalam operasi perpindahan
antar register.
d. -apat ditarik kesimpulan bah)a instruksiinstruksi mesin harus mampu
mengolah data sebagai implementasi keinginankeinginan kita.
e. 0erdapat kumpulan unik set instruksi, yang dapat digolongkan dalam
jenisjenisnya, yaitu<
(engolahan data (data processing)
'eliputi operasioperasi aritmatika dan logika. Operasi aritmatika
memiliki kemampuan komputasi untuk pengolahan data numerik.
Sedangkan instruksi logika beroperasi terhadap bitbit )ord sebagai bit,
bukannya sebagai bilangan, sehingga instruksi ini memiliki kemampuan
untuk pengolahan data lain.
(erpindahan data (data mo/ement)
&erisi instruksi perpindahan data antar register maupun modul I/O. untuk
dapat diolah oleh *(5 maka diperlukan instruksiinstruksi yang bertugas
memindahkan data operand yang diperlukan.
12
(enyimpanan data (data storage)
&erisi instruksiinstruksi penyimpanan ke memori. Instruksi penyimpanan
sangat penting dalam operasi komputasi, karena data tersebut akan
digunakan untuk operasi berikutnya,minimal untuk ditampilkan pada layar
harus diadakan penyimpanan )alaupun sementara.
!ontrol aliran program (program flo) control)
&erisi instruksi pengontrolan operasi dan percabangan. Instruksi ini
berfungsi untuk pengontrolan status dan mengoperasikan percabangan ke
set instruksi lain.
4. Desain Set Instruksi
-esain set instruksi merupakan masalah yang sangat komplek yang
melibatkan banyak aspek,di antaranya adalah<
a. !elengkapan set instruksi
b. Ortogonalitas (sifat independensi instruksi)
!ompatibilitas <
Source code *ompatibility
Object code *ompatibility
Selain ketiga aspek tersebut juga melibatkan halhal sebagai berikut<
6. Operation ,epertoire< &erapa banyak dan operasi apa saja yang
disediakan, dan berapa sulit operasinya.
:. -ata 0ypes< tipe/jenis data yang dapat olah.
1. Instruction Cormat< panjangnya, banyaknya alamat, dsb.
%. ,egister< &anyaknya register yang dapat digunakan.
=. Addressing< 'ode pengalamatan untuk operand.
H. ."rmat Instruksi
Suatu instruksi terdiri dari beberapa field yang sesuai dengan elemen
dalam instruksi tersebut. 9ayout dari suatu instruksi sering disebut sebagai format
Instruksi (Instruction Cormat).
O(*O-.
12
O(.,A8- ,.C.,.8*.
O(.,A8- ,.C.,.8*.
a. 5enis 1 6enis (peran&
Addresses (akan dibahas pada addressing mode)
8umbers < Integer or fi"ed point
Cloating point
-ecimal (&*-)
*haracters < AS*II
.&*-I*
9ogical -ata < &ila data berbentuk binary yaitu + dan 6
b. 5enis Instruksi
-ata processing< Arithmetic dan 9ogic Instruction.
-ata storage< 'emory instructions
-ata 'o/ement< I/O instructions
*ontrol< 0est and branch instructions
7. 8rans9er Data
'enetapkan lokasi operand sumber dan operand tujuan.
9okasilokasi tersebut dapat berupa memori, register atau bagian paling
atas daripada stack.
'enetapkan panjang data yang dipindahkan.
'enetapkan mode pengalamatan.
0indakan *(5 untuk melakukan transfer data adalah <
'emindahkan data dari satu lokasi ke lokasi lain.
Apabila memori dilibatkan <
12
'enetapkan alamat memori.
'enjalankan transformasi alamat memori /irtual ke alamat
memori aktual.
'enga)ali pembacaan / penulisan memori .
&. (perasi Set Instruksi untuk trans9er &ata
'O@. < memindahkan )ord atau blok dari sumber ke tujuan.
S0O,. < memindahkan )ord dari prosesor ke memori.
9OA- < memindahkan )ord dari memori ke prosesor.
.F*3A8A. < menukar isi sumber ke tujuan.
*9.A, / ,.S.0 < memindahkan )ord + ke tujuan.
S.0 < memindahkan )ord 6 ke tujuan.
(5S3 < memindahkan )ord dari sumber ke bagian paling atas stack.
(O( < memindahkan )ord dari bagian paling atas sumber .
e. Arithmeti7
0indakan *(5 untuk melakukan operasi arithmetic <
0ransfer data sebelum atau sesudah.
'elakukan fungsi dalam A95.
'enset kodekode kondisi dan flag.
Operasi set instruksi untuk arithmetic <
A-- < penjumlahan.
S5&0,A*0 < pengurangan.
'590I(9E < perkalian.
-I@I-. < pembagian.
A&SO950..
12
8.AA0I@..
-.*,.'.80.
I8*,.'.80.
8omor = sampai # merupakan instruksi operand tunggal.
9. :"gi7al
0indakan *(5 sama dengan arithmetic.
Operasi set instruksi untuk operasi logical <
6. A8-, O,, 8O0, .FO,.
:. *O'(A,. < melakukan perbandingan logika.
1. 0.S0 < menguji kondisi tertentu.
%. S3IC0 < operand menggeser ke kiri atau kanan menyebabkan
konstanta pada ujung bit.
=. ,O0A0. < operand menggeser ke kiri atau ke kanan dengan ujung
yang terjalin.
g. C"n$ersi
0indakan *(5 sama dengan arithmetic dan logical. Instruksi yang
mengubah format instruksi yang beroperasi terhadap format data.
'isalnya pengubahan bilangan desimal menjadi bilangan biner.
Operasi set instruksi untuk con/ersi <
6. 0,A8S9A0. < menterjemahkan nilainilai dalam suatu bagian memori
berdasrkan tabel korespodensi.
:. *O8@.,0 < mengkon/ersi isi suatu )ord dari suatu bentuk ke bentuk
lainnya.
I. 5umlah Alamat
;umlah register atau alamat yang digunakan dalam operasi *(5
tergantung format masingmasing *(5. Ada format operasi yang menggunakan 1,
:, 6 dan + register. 0etapi pada umumnya yang digunakan adalah : register dalam
12
satu operasi. -esain *(5 saat ini telah menggunakan 1 alamat dalam satu operasi,
terutama dalam 'I(S. (million instruction per second).
Alamat instruksi yang lebih sedikit akan membuat instruksi lebih
sederhana dan pendek, tetapi lebih sulit diimplementasikan fungsifungsi yang
kita inginkan. !arena instruksi *(5 sederhana maka rancangan *(5 juga lebih
sederhana. ;umlah bit dan referensi per instruksi lebih sedikit sehingga fetch dan
eksekusi lebih cepat. 0etapi jumlah instruksi perprogram biasanya jauh lebih
banyak. (ada jumlah alamat perinstruksi banyak, jumlah bit dan referensi
instruksi lebih banyak sehingga )aktu eksekusi lebih lama. Sehingga diperlukan
register *(5 yang banyak, namun operasi antar register lebih cepat serta lebih
mudah mengimplementasikan fungsifungsi yang kita inginkan. Sehingga jumlah
instruksi perprogram jauh lebih sedikit
5ntuk lebih jelas perhatikan contohcontoh instruksi dengan jumlah
register berbeda untuk menyelesaikan persoalan yang sama.
*ontoh penggunaan instruksi dengan alamat 6, : dan 1 untuk
menyelesaikan operasi hitungan<
3 ; (A 1 B! < (C = D > E!
*ontoh instruksi : dan 1 alamat
Instruksi 1 alamat
Spesifikasi <
G Simbolik< a B b 7 c
G Cormat alamat< hasil, operand6, operand:
G -igunakan dalam arsitektur 'I(S
Instruksi !omentar
S5& E, A, & E BA H .I
'CIE 0, -, . 0B - JK .
A-- 0, 0, * 0B0 7 *
-I@ E, E, 0 EB E 7 0
Instruksi : alamat
Spesifikasi <
G Simbolik< a B a 7 b
G Satu alamat diisi operand terlebih dahulu kemudian digunakan untuk
menyimpan hasilnya.
G 0idak memerlukan instruksi yang panjang.
12
G ;umlah instruksi per program akan lebih banyak dari 1 alamat.
G -iperlukan penyimpanan sementara untuk menyimpan hasil.
Instruksi !Ommentar
'O@. E, A E B A
S5& E, & E B E &
'O@. 0, - 0 B -
'(E 0, . 0 B 0 .
A-- 0, * 0 B 0 7 *
-I@ E, 0 E B E 7 0.
Instruksi 6 alamat
Spesifikasi <
G 'emerlukan alamat implisit untuk operasi
G 'enggunakan register accumulator (A*) dan digunakan pada mesin
lama.
Instruksi !omentar
9OA- - A* B-
'(E . A* B A* .
A-- * A*B A* 7 *
S0O( E E B A*
9OA- A A* B A
S5& & A* B A* &
-8 E A* BA* 7 E
S0O( E EB A*
Instruksi + (!eterangan isi stack)
Spesifikasi <
G Seluruh alamat yang digunakan adalah implisit
G -igunakan pada organisasi memori, terutama operasi stack
Instruksi komentar
(5S3 & &
(5S3 A &.A
S5& A& (A&)
(5S3 . (AL&)..
(5S3 - (A&)...-
'59 -G. (A&).(-G.)
(5S3 * MA&).(-G.).*
A-- *7(-G.) (A&).(*7-G.)
-I@ NA&)/(*7(-G.)O (A&)/(*7(-P.OO
12
BAB II
PEN?8?P
0esimpulan
-apat disimpulan bah)a instruksi instruksi mesin mampu mengolah
data sebagai implementasi keinginankeinginan kita.
0erdapat kumpulan unit set instruksi yang dapat digolongkan dalam jenis
jenisnya, yaitu <
1. (engolahan data (data processing)
12
'eliputi operasioperasi aritmatika dan logika, operasi aritmatika
memiliki kemapuna komputasi untuk pengolahan data numrik, sedangkan
instruksi logika beroperasi terhadap bitbit, bukannya sebagi bilangan, sehingga
insrtuksi ini memiliki kemampuan untuk pengolahan data lain.
2. (erpindahan data ( data mo/ement)
&erisi instruksi perpindahan data antar register maupun modul I/O.untuk
dapat diolah oleh *(5 maka diperlukan operasioperasi yang bertugas
memindahkan data operand yang diperlukan.
3. (enyimpanan data ( data storage)
&erisi instruksiinstruksi penyimpanan ke memori, instruksi penyimpanan
sangat penting dalam operasi komputasi, karena data tersebut akan digunakan
untuk operasi berikutnya, minimal untuk ditampilkan pada layar harus diadakan
penyimpanan )alaupun sementara.
4. *ontrol aliran program ( program flo) control)
&erisi instruksi pengontrolan operasi dan pencabangan, instruksi ini
berguna untuk pengontrolan status dan mengoperasikan pencabangan ke set
instruksi lain.
DA.8AR P?S8A0A
Ir,Sinar n m p, Simamora,:++#,Sistem Angka dan ,epresentasi -ata,MonlineD,
(http<//))).slideshare.net/snmpsimamora/numbersystemsincomputer
systems, -iakses tanggal ? Oktober :+61)
9aksamana .mbun,:+6+, Sistem &ilangan !omputer,MonlineD,(http<//laksamana
embun.blogspot.com/:+6+/+6/sistembilangan.html, -iakses tanggal ?
Oktober :+61)
12
Aalang Okta/iano ,:+6:,Arsitektur Set Instruksi(tugas ke:),MonlineD
(http<//ghalankokta/iano.blogspot.com/:+6:/66/arsitektursetinstruksitugas
ke:.html, -iakses tanggal ? Oktober :+61)
;o/anangga, :+6:,Set Instruksi dan 0eknik (engalamatan,MonlineD,
(http<//jo/anangga.blogspot.com/:+6:/66/setinstruksidanteknik
pengalamatan.html, -iakses tanggal ? Oktober :+61)