1. Makalah ini membahas karakteristik set instruksi pada sistem komputer, termasuk elemen-elemen instruksi, tipe-tipe instruksi seperti pengolahan data, perpindahan data, penyimpanan data, dan kontrol aliran program.
2. 2
Kata Pengantar
Puji syukur penulis panjatkan kehadirat Tuhan Yang Maha Esa, yang telah berkenan memberi
petunjuk dan kekuatan kepada penulis sehingga makalah, “Karakteristik Set Instruksi” ini
dapat diselesaikan.
Makalah ini disusun dan dibuat berdasarkan materi – materi yang ada. Materi – materi
bertujuan agar dapat menambah pengetahuan dan wawasan siswa dalam belajar teknologi
informasi dan komunikasi. Serta siswa juga dapat memahami nilai – nilai dasar yang
direfleksikan dalam berpikir dan bertindak.
Mudah-mudahan dengan mempelajari makalah ini, para siswa akan mampu menghadapi
masalah-masalah atau kesulitan-kesulitan yang timbul dalam belajar Teknologi Infomasi dan
Komunikasi. Dan dengan harapan semoga siswa mampu berinovasi dan berkreasi dengan
potensi yang dimiliki.
Ali Majid Wardana
3. 3
Daftar Isi
Kata Pengantar............................................................................................................................. 2
KARAKTERISTIK SET INSTRUKSI ....................................................................................... 4
ELEMEN-ELEMEN INSTRUKSI.......................................................................................... 4
TIPE-TIPE INSTRUKSI ........................................................................................................4
TIPE-TIPE OPERAND ..........................................................................................................5
TIPE-TIPE OPERASI ............................................................................................................ 6
Jenis Instruksi............................................................................................................................ 9
Struktur Percabangan.............................................................................................................. 10
4. 4
KARAKTERISTIK SET INSTRUKSI
Operasi dari CPU ditentukan oleh instruksi-instruksi yang dilaksanakan atau
dijalankannya. Instruksi ini sering disebut sebagai instruksi mesin (mechine instructions) atau
instruksi komputer (computer instructions).
ELEMEN-ELEMEN INSTRUKSI
1. Operation Code (Opcode)
menspesifikasikan operasi yang akan dilakukan. Kode operasi berbentuk kode biner.
2. Source Operand Reference
merupakan input bagi operasi yang akan dilaksanakan
3. Result Operand Reference
merupakan hasil dari operasi yang dilaksanakan.
4. Next Instruction Reference
memberitahu CPU untuk mengambil (fetch) instruksi
TIPE-TIPE INSTRUKSI
*.Pengolahan data (data processing)
Meliputi operasi-operasi aritmatika dan logika. Operasi aritmatika memiliki
kemampuan komputasi
untuk pengolahan data numerik. Sedangkan instruksi logika beroperasi terhadap bit-
bit word sebagai
bit, bukannya sebagai bilangan, sehingga instruksi ini memiliki kemampuan untuk
pengolahan data lain.
*.Perpindahan data (data movement)
berisi instruksi perpindahan data antar register maupun modul I/O.
untuk dapat diolah oleh CPU maka diperlukan instruksi-instruksi yang bertugas
memindahkan
data operand yang diperlukan.
*.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,
5. 5
minimal untuk ditampilkan pada layar harus diadakan penyimpanan walaupun
sementara.
3
*.Kontrol aliran program (program flow control)
berisi instruksi pengontrolan operasi dan percabangan. Instruksi ini berfungsi untuk
pengontrolan status dan mengoperasikan percabangan ke set instruksi lain.
TIPE-TIPE OPERAND
Pengertian : Operand adalah sebuah objek yang ada pada operasi matematika yang
dapat digunakan untuk melakukan operasi.
* Addresses
Jenis-jenis addressing modes (Teknik Pengalamatan) yang paling umum:
* Immediate
* Direct
* Indirect
* Register
* Register Indirect
* Displacement
* Stack
* Numbers :
Integer atau fixed point
Integer adalah Bilangan atau angka yang tidak memiliki titik desimal atau pecahan.
Floating point
Floating point adalah sebuah format bilangan yang dapat digunakan untuk
merepresentasikan sebuah nilai yang sangat besar atau sangat kecil.
Decimal (BCD)
Decimal adalah bilangan yang menggunakan 10 angka mulai 0 sampai 9 berturut2
* Characters :
ASCII (American Standard Code for Information Interchange)
EBCDIC (Extended Binary Coded Decimal Interchange Code)
* Logical Data :
data berbentuk binary 0 dan 1
6. 6
logical data terdiri :
1. bits
2. flag
TIPE-TIPE OPERASI
1. 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 :
1. Memindahkan data dari satu lokasi ke lokasi lain.
2. Apabila memori dilibatkan :
Menetapkan alamat memori.
Menjalankan transformasi alamat memori virtual ke alamat memori aktual.
Mengawali pembacaan / penulisan memori
Operasi set instruksi untuk transfer data :
1. MOVE : memindahkan word atau blok dari sumber ke tujuan
2. STORE : memindahkan word dari prosesor ke memori.
3. LOAD : memindahkan word dari memori ke prosesor.
4. EXCHANGE : menukar isi sumber ke tujuan.
5. CLEAR / RESET : memindahkan word 0 ke tujuan.
6. SET : memindahkan word 1 ke tujuan.
7. PUSH : memindahkan word dari sumber ke bagian paling atas stack.
8. POP : memindahkan word dari bagian paling atas sumber
2. ARITHMETIC
Tindakan CPU untuk melakukan operasi arithmetic :
1. Transfer data sebelum atau sesudah.
7. 7
2. Melakukan fungsi dalam ALU.
3. Menset kode-kode kondisi dan flag.
Operasi set instruksi untuk arithmetic :
1. ADD : penjumlahan 5. ABSOLUTE
2. SUBTRACT : pengurangan 6. NEGATIVE
3. MULTIPLY : perkalian 7. DECREMENT
4. DIVIDE : pembagian 8. INCREMENT
Nomor 5 sampai 8 merupakan instruksi operand tunggal.
3. LOGICAL
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.
4. CONVERSI
Tindakan CPU sama dengan arithmetic dan logical.
Instruksi yang mengubah format instruksi yang beroperasi terhadap format data.
Misalnya pengubahan bilangan desimal menjadi bilangan biner.
Operasi set instruksi untuk conversi :
1. TRANSLATE : menterjemahkan nilai-nilai dalam suatu bagian memori berdasarkan
tabel korespodensi.
2.CONVERT : mengkonversi isi suatu word dari suatu bentuk ke bentuk lainnya.
8. 8
5. INPUT / OUTPUT
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 :
1. INPUT : memindahkan data dari pernagkat I/O tertentu ke tujuan
2. OUTPUT : memindahkan data dari sumber tertentu ke perangkat I/O
3. START I/O : memindahkan instruksi ke prosesor I/O untuk mengawali operasi I/O
4. TEST I/O : memindahkan informasi dari sistem I/O ke tujuan
6. 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.
6
EXECUTE : mengambil operand dari lokasi tertentu dan mengeksekusi sebagai instruk
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
9. 9
7. CONTROL SYSTEM
Hanya dapat dieksekusi ketika prosesor berada dalam keadaan khusus tertentu atau sedang
mengeksekusi suatu program yang berada dalam area khusus, biasanya digunakan dalam
sistem operasi.Contoh : membaca atau mengubah register kontrol.
Jenis Instruksi
1. Implisit (Operand yang ditentukan oleh opcode)
Operand yang ditentukan oleh opcode dan tidak memiliki spesifikasi yang lain.
Contoh :
Instruksi CLEAR CARRY
2. Eksplisit (Operand yang ditentukan oleh instruksi dalam field selain field opcode)
Operand yang ditentukan oleh instruksi dalam field selain field opcode.
Contoh :
Instruksi ADD
Instruksi Arimetik, Logika, dan Shift
Aritmetik : Menyusun flag status prosesor guna menunjukkan hasil operasi.
Logika : Menyusun kode kondisi hanya untuk result 0 dan 1 (false atau true).
Shift : Untuk memperluas jangkauan presisi bilangan bulat (integer).
Instruksi Akses Memory
LOAD dan STORE : Untuk memuat dan menyimpan isi register ke dalam memory.
LOAD ADDRESS : Untuk mendapatkan alamat data yang efektif atau alamat instruksi itu
sendiri.
Sinkrnonisasi Proses :Untuk mensinkronisasikan eksekusi antara proses active dan proses
inactive.
Instruksi Kontrol
Branch Test : Menentukan apakah sebuah proses membutuhkan percabangan.
10. 10
Branch Kondisional : Menjalankan awalbranch hanya pada saat kondisi test tertentu
telah memadai.
Branch Tak-kondisional : Semua operasi akan selalu dijalankan dengan menggunakan
pencabangan.
Hubungan Subroutine : Digunakan untuk menghubungkan antar prosedur dalam sebuah
proses.
Instruksi Khusus
Input/Output : Digunakan untuk mengontrol peralatan I/O yang digunakan dala suatu
proses.
Previleged : Digunakan untuk menjaga sistem dari manipulasi software pemakai.
Struktur Percabangan
(IF) Instruksi yang digunakan untuk memeriksa suatu kondisi dan melaksanakan instruksi lain jika
kondisi tersebut terpenuhi atau bernilai true.
(MULTIPLE IF ELSE)Struktur percabangan yang merupakan perluasan dari struktur yang
memiliki dua kondisi yaitu dengan menyisipkan satu atau lebih kondisi ke dalamnya.
(NESTED IF)Pada suatu instruksi if, statement yang dikerjakan apabila kondisi bernilai true
dapat berupa instruksi if yang lain
(Perintah SWITCH) Digunakan untuk menyeleksi kondisi yang diberikan dan
membandingkan hasilnya dengan konstanta pada case