INSTRUKSI KOMPUTER
HALAMAN JUDUL
Disusun Oleh :
Fajar Fatqurrohman C.431.17.0013
Amrul Kharisma C.431.17.0018
Heru Haryanto C.431.17.0020
UNIVERSITAS SEMARANG
TEKNIK ELEKTRO
2018/2019
KATA PENGANTAR
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 Komputer 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 Set Instruksi dalam komputer.
Dengan harapan agar kita semua mengetahui pandangan terhadap komputer.
Alhamdulillah pada kesempatan ini akhirnya kami dapat menyelesaikan
makalah yang berjudul “Set Intruksi Komputer” 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
ii
DAFTAR ISI
HALAMAN JUDUL......................................................................................................................i
KATA PENGANTAR..................................................................................................................ii
DAFTAR ISI...............................................................................................................................iii
BAB I PENDAHULUAN............................................................................................................1
1.1. Latar Belakang...........................................................................................................1
1.2. Rumusan Masalah.....................................................................................................1
1.3. Tujuan Penulisan.......................................................................................................2
BAB II PEMBAHASAN..............................................................................................................3
2.1. Arsitektur Set Instruksi..................................................................................................3
2.2. Karakteristik Instruksi Mesin.........................................................................................4
2.3. Tipe tipe Operand..........................................................................................................5
2.4. Tipe Tipe Operasi..........................................................................................................6
2.5. Pengalamatan................................................................................................................7
2.6. Format Instruksi...........................................................................................................10
BAB III PENUTUP...................................................................................................................14
3.1. Kesimpulan...............................................................................................................14
DAFTAR PUSTAKA................................................................................................................15
iii
BAB I
PENDAHULUAN
1
4. Jelaskan bagaimana Pegalamatan dan format instruksi ?
2
BAB II
PEMBAHASAN
3
ditampilkan pada layar harus diadakan penyimpanan
walaupun sementara.
4
Operand sumber dan hasil dapat berada di salah satu dari ketiga
daerah berikut ini:
a. Memori Utama atau Memori Virtual: Dengan adanya acuan
instruksi berikutnya, maka alamat memori utama atau memori
virtual harus diketahui.
b. Register CPU: Dengan suatu pengecualian yang jarang terjadi,
CPU terdiri dari sebuah register atau lebih yang dapat diacu oleh
instruksi-instruksi mesin. Bila hanya terdapat sebuah register saja,
maka acuan ke instruksi tersebut dapat berbentuk implicit.
Sedangkan jika terdapat lebih dari satu register, maka setiap
register diberi nomor yang unik, dan instruksi harus terdiri dari
nomor register yang dimaksud.
5
Merupakan sebuah bilangan yang digunakan untuk
menggambarkan sebuah nilai yang sangat besar atau sangat kecil
Decimal (BCD)
Sistem pengkodean bilangan desimal yang metodenya mirip
dengan bilangan biner biasa; hanya saja dalam proses konversi,
setiap simbol dari bilangan desimal dikonversi satu per satu,
bukan secara keseluruhan seperti konversi bilangan desimal ke
biner biasa.
3. Characters :
ASCII
ASCII (American Standard Code for Information Interchange)
suatu standar internasional dalam kode huruf dan simbol seperti
Hex dan Unicode tetapi ASCII lebih bersifat universal, contohnya
124 adalah untuk karakter "|". Ia selalu digunakan oleh komputer
dan alat komunikasi lain untuk menunjukkan teks.
EBCDIC
EBCDIC (Extended Binary Coded Decimal Interchange Code) =>
kode 8 bit untuk huruf yang dipakai pada sistem operasi komputer
merk IBM, seperti z/OS, OS/390, VM, VSE, OS/400, serta i5/OS
4. Logical Data : Bila data berbentuk binary: 0 dan 1
Jenis-jenis operator adalah sebagai berikut :
1. Operator Aritmetika
Operator untuk melakukan fungsi aritmetika seperti : +
(penjumlahan), – (mengurangkan), * (mengalikan), / (membagi).
2. Operator relational
Operator untuk menyatakan relasi atau perbandingan antara
dua operand, seperti > (lebih besr), =(lebih besar atau sama), <=
(lebih kecil atau sama), == (sama), != (tidak sama).
3. Operator Logik
Operator untuk merelasikan operand secara logis seperti &&
(and), || (or), !(not).
6
2. Lokasi-lokasi tersebut dapat berupa memori, register atau
bagian paling atas daripada stack.
3. Menetapkan panjang data yang dipindahkan.
4. Menetapkan mode pengalamatan.
b. Aritmatika – input/output
Tindakan CPU untuk melakukan operasi arithmetic :
1. Transfer data sebelum atau sesudah.
2. Melakukan fungsi dalam ALU.
3. Menset kode-kode kondisi dan flag.
c. Logika – kontrol sistem dan transfer kontrol
Tindakan CPU sama dengan arithmetic
Operasi set instruksi untuk operasi logical :
1. AND, OR, NOT, EXOR
2. COMPARE : melakukan perbandingan logika.
3. TEST : menguji kondisi tertentu.
4. SHIFT : operand menggeser ke kiri atau kanan menyebabkan
konstanta pada ujung bit.
5. ROTATE : operand menggeser ke kiri atau ke kanan dengan
ujung yang terjalin.
2.5. Pengalamatan
Metode pengalamatan adalah bagaimana cara menunjuk dan
mengalamati suatu lokasi memori pada sebuah alamat di mana operand
akan diambil. Mode pengalamatan diterapkan pada set instruksi,
pengalamatan memberikan fleksibilitas khusus yang sangat penting. Mode
pengalamatan ini meliputi direct addressing, indirect addressing, dan
immediate addressing.
1. Direct Addresing
Dalam mode pengalamatan direct addressing, harga yang
akan dipakai diambil langsung dalam alamat memori lain.
Contohnya: MOV A,30h. Dalam instruksi ini akan dibaca data dari
RAM internal dengan alamat 30h dan kemudian disimpan dalam
akumulator. Mode pengalamatan ini cukup cepat, meskipun harga
yang didapat tidak langsung seperti immediate, namun cukup
cepat karena disimpan dalam RAM internal. Demikian pula akan
lebih mudah menggunakan mode ini daripada mode immediate
karena harga yang didapat bisa dari lokasi memori yang mungkin
variabel. Kelebihan dan kekurangan dari Direct Addresing antara
lain :
Kelebihan
Field alamat berisi efektif address sebuah operand
Kelemahan
7
Keterbatasan field alamat karena panjang field alamat
biasanya lebih kecil dibandingkan panjang word
2. Indirect Addresing
Mode pengalamatan indirect addressing sangat berguna
karena dapat memberikan fleksibilitas tinggi dalam mengalamati
suatu harga. Mode ini pula satu-satunya cara untuk mengakses
128 byte lebih dari RAM internal pada keluarga 8052. Contoh:
MOV A,@R0. Dalam instruksi tersebut, 89C51 akan mengambil
harga yang berada pada alamat memori yang ditunjukkan oleh isi
dari R0 dan kemudian mengisikannya ke akumulator. Mode
pengalamatan indirect addressing selalu merujuk pada RAM
internal dan tidak pernah merujuk pada SFR. Karena itu,
menggunakan mode ini untuk mengalamati alamat lebih dari 7Fh
hanya digunakan untuk keluarga 8052 yang memiliki 256 byte
spasi RAM internal. Kelebihan dan kekurangan dari Indirect
Addresing antara lain :
Kelebihan
Ruang bagi alamat menjadi besar sehingga semakin
banyak alamat yang dapat referensi
Kekurangan
Diperlukan referensi memori ganda dalam satu fetch
sehingga memperlambat preoses operasi
3. Immediate Addresing
Mode pengalamatan immediate addressing sangat umum
dipakai karena harga yang akan disimpan dalam memori langsung
mengikuti kode operasi dalam memori. Dengan kata lain, tidak
diperlukan pengambilan harga dari alamat lain untuk disimpan.
Contohnya: MOV A,#20h. Dalam instruksi tersebut, akumulator
akan diisi dengan harga yang langsung mengikutinya, dalam hal
ini 20h. Mode ini sangatlah cepat karena harga yang dipakai
langsung tersedia. Kelebihan dan kekurangan dari Immedieate
Addresing antara lain :
Kelebihan
Tidak adanya referensi memori selain dari instruksi
yang diperlukan untuk memperoleh operand
Menghemat siklus instruksi sehingga proses
keseluruhan akan cepat
Kekurangan
Ukuran bilangan dibatasi oleh ukuran field alamat
4. Register Addressing
Register adalah merupakan sebagian memori dari mikro
prosessor yang dapat diakses dengan kecepatan tinggi. Metode
pengalamatan register ini mirip dengan mode pengalamatan
langsung. Perbedaannya terletak pada field alamat yang mengacu
pada register, bukan pada memori utama. Field yang mereferensi
8
register memiliki panjang 3 atau 4 bit, sehingga dapat mereferensi
8 atau 16 register general purpose. Kelebihan dan kekurangan
Register Addressing :
Keuntungan pengalamatan register
Diperlukan field alamat berukuran kecil dalam instruksi
dan tidak diperlukan referensi memori.
Akses ke regster lebih cepat daripada akses ke
memori, sehingga proses eksekusi akan lebih cepat.
Kerugian
Ruang alamat menjadi terbatas
9
Register yang direferensi berisi sebuah alamat memori, dan
field alamat berisi perpindahan dari alamat itu. Referensi register
dapat eksplisit maupun implisit. Memanfaatkan konsep lokalitas
memori
Indexing
Indexing adalah field alamat mereferensi alamat memori
utama, dan register yang direferensikan berisi pemindahan positif
dari alamat tersebut merupakan kebalikan dari mode base register
field alamat dianggap sebagai alamat memori dalam indexing.
Manfaat penting dari indexing adalah untuk eksekusi program-
program iterative.
Stack
Stack adalah array lokasi yang linier = pushdown list = last-in-
first-out. Stack merupakan blok lokasi yang terbalik. Butir ditambakan
ke puncak stack sehingga setiap saat blok akan terisi secara parsial.
Yang berkaitan dengan stack adalah pointer yang nilainya
merupakan alamat bagian paling atas stack. Dua elemen teratas
stack dapat berada di dalam register CPU, yang dalam hal ini stack
pointer mereferensi ke elemen ketiga stack. Stack pointer tetap
berada dalam registerDengan demikian, referensi-referensi ke lokasi
stack di dalam memori pada dasarnya merupakan pengalamatan
register tidak langsung.
10
B. JENIS-JENIS INSTRUKSI
Ø Data processing: Arithmetic dan Logic Instructions
Ø Data storage: Memory instructions
Ø Data Movement: I/O instructions
Ø Control: Test and branch instructions
C. TRANSFER DATA
Menetapkan lokasi operand sumber dan operand tujuan.
Lokasi-lokasi tersebut dapat berupa memori, register atau bagian
paling atas daripada stack. Menetapkan panjang data yang
dipindahkan. Menetapkan mode pengalamatan.
Tindakan CPU untuk melakukan transfer data adalah :
a. Memindahkan data dari satu lokasi ke lokasi lain.
b. Apabila memori dilibatkan :
Menetapkan alamat memori.
Menjalankan transformasi alamat memori virtual ke
alamat memori aktual.
Mengawali pembacaan / penulisan memori
11
a) Operasi set instruksi untuk aritmatik :
1. ADD : Penjumlahan
2. SUBSTRACT : Pengurangan
3. MULTIPLY : Perkalian
4. DIVIDE : Pembagian
5. ABSOLUTE
6. NEGATIVE
7. DECREMENT
8. INCREMENT
Nomor 5 sampai 8 merupakan instruksi operasi tunggal
12
TRANSLATE : menterjemahkan nilai-nilai dalam suatu bagian
memori berdasrkan tabel korespodensi.
CONVERT : mengkonversi isi suatu word dari suatu bentuk ke
bentuk lainnya.
INPUT / OUPUT
Tindakan CPU untuk melakukan INPUT /OUTPUT :
1. Apabila memory mapped I/O maka menentukan alamat
memory mapped.
2. Mengawali perintah ke modul I/O
Operasi set instruksi Input / Ouput :
INPUT : memindahkan data dari pernagkat I/O tertentu ke
tujuan
OUTPUT : memindahkan data dari sumber tertentu ke
perangkat I/O
START I/O : memindahkan instruksi ke prosesor I/O untuk
mengawali operasi I/O
TEST I/O : memindahkan informasi dari sistem I/O ke tujuan
TRANSFER CONTROL
Tindakan CPU untuk transfer control : Mengupdate program
counter untuk subrutin , call / return. Operasi set instruksi untuk
transfer control :
JUMP (cabang) : pemindahan tidak bersyarat dan memuat PC
dengan alamat tertentu.
JUMP BERSYARAT : menguji persyaratan tertentu dan
memuat PC dengan alamat tertentu atau tidak melakukan apa
tergantung dari persyaratan.
JUMP SUBRUTIN : melompat ke alamat tertentu.
RETURN : mengganti isi PC dan register lainnya yang berasal
dari lokasi tertentu.
EXECUTE : mengambil operand dari lokasi tertentu dan
mengeksekusi sebagai instruksi
SKIP : menambah PC sehingga melompati instruksi
berikutnya.
SKIP BERSYARAT : melompat atau tidak melakukan apa-apa
berdasarkan pada persyaratan
HALT : menghentikan eksekusi program.
WAIT (HOLD) : melanjutkan eksekusi pada saat persyaratan
dipenuhi
NO OPERATION : tidak ada operasi yang dilakukan.
13
BAB III
PENUTUP
3.1. Kesimpulan
Dapat ditarik kesimpulan bahwa instruksi-instruksi mesin harus mampu
mengolah data sebagai implementasi keinginan-keinginan kita. Terdapat
kumpulan unit set instruksi yang dapat digolongkan dalam jenis-jenisnya, yaitu :
1. Pengolahan data (data processing)
Meliputi operasi-operasi aritmatika dan logika, operasi
aritmatika memiliki kemapuna komputasi untuk pengolahan data
numrik, sedangkan instruksi logika beroperasi terhadap bit-bit,
bukannya sebagi bilangan, sehingga insrtuksi ini memiliki
kemampuan untuk pengolahan data lain.
2. Perpindahan data ( data movement)
Berisi instruksi perpindahan data antar register maupun modul
I/O.untuk dapat diolah oleh CPU maka diperlukan operasi-operasi
yang bertugas memindahkan data operand yang diperlukan.
3. Penyimpanan data ( data storage)
Berisi instruksi-instruksi penyimpanan ke memori, instruksi
penyimpanan sangat penting dalam operasi komputasi, karena data
tersebut akan digunakan untuk operasi berikutnya, minimal untuk
ditampilkan pada layar harus diadakanpenyimpanan walaupun
sementara
4. Control aliran program ( program flow control)
Berisi instruksi pengontrolan operasi dan pencabangan,
instruksi ini berguna untuk pengontrolan status dan mengoperasikan
pencabangan ke set instruksi lain.
Set instruksi (instruction set) adalah sekumpulan lengkap instruksi yang
dapat di mengerti oleh sebuah CPU, set instruksi sering juga disebut sebagai
bahasa mesin (machine code), karna aslinya juga berbentuk biner kemudian
dimengerti sebagai bahasa assembly, untuk konsumsi manusia (programmer),
biasanya digunakan representasi yang lebih mudah dimengerti oleh manusia.
Di dalam sebuah instruksi terdapat beberapa elemen-elemen instruksi:
Operation code (Op code)
Source Operand reference
Result Operand reference
Next Instruction Reference
14
DAFTAR PUSTAKA
15