Pengertian Set Instruksi
Set instruksi adalah kumpulan dari
instruksi yang dapat dijalankan oleh CPU. Pada bahasa mesin, setiap
instruksi berbentuk pola bit biner. Disebut juga machine code (bahasa
mesin), aslinya juga berbentuk biner atau
bahasa assembly. Agar dapat dimengerti manusia, dibuatlah representasi simbolik yang biasanya berupa singkatan (disebut mnemonic). Misal
ADD, SUB, LOAD, dll.
Sedangkan alamat operand direpresentasikan seperti :
ADD A,B
Beberapa contoh simbolik instruksi dalam bahasa manusia :
- ADD : Add (Jumlahkan)
- SUB : Substract (Kurangkan)
- MUL : Multiply (kalikan)
- DIV : Devide (bagi)
- LOAD : Load (mengambil data dari register / memori)
- STOR : Store (simpan data ke register / memori)
- MOVE : Move (pindakhan data dari satu tempat ke tempat lain)
- SHR : shift kanan data
- SHL : shift kiri data,
- Dll
Elemen-Elemen Instruksi
Sebuah instruksi harus terdiri dari:
- Operation Code (Opcode)
Merupakan kode operasi yang menspesifikasikan operasi yang akan dilakukan. Kode operasi berbentuk kode biner.
- Source Operand Reference
Merupakan sumber dari operand (input instruksi).
- Result Operand Reference
Merupakan hasil atau keluaran operasi.
- Next Instruction Reference
elemen ini menginformasikan CPU posisi instruksi berikutnya yang harus diambil dan dieksekusi
Tipe-Tipe Instruksi
- Pengolahan data (data processing)
Merupakan tipe
instruksi yang 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)
Merupakan tipe
instruksi yang 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)
Merupakan tipe
instruksi yang 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 diadakan penyimpanan walaupun sementara.
- Kontrol aliran program (program flow control)
Merupakan tipe
instruksi yang Berisi instruksi pengontrolan operasi dan percabangan.
Instruksi ini berfungsi untuk pengontrolan status dan mengoperasikan
percabangan ke set instruksi lain.
Tipe-Tipe Operand
- Addresses
Merupakan tipe inputan instruksi berupa alamat dari instruksi.
- Numbers :
Merupakan tipe inputan instruksi berupa
– Integer or fixed
point => sebuah integer yang skala dengan faktor tertentu. Penting
untuk dicatat bahwa faktor skala ditentukan oleh jenis, itu adalah sama
untuk semua nilai dari jenis fixed-titik tertentu.
– Floating point => 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.
- Characters :
Merupakan tipe inputan instruksi berupa
– 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 (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
- Logical Data :
Merupakan tipe inputan instruksi bila data berbentuk binary: 0 dan 1
Tipe-Tipe Operasi
- Transfer Data
- Tindakan CPU untuk melakukan transfer data adalah :
- Menetapkan mode pengalamatan.
- Menetapkan panjang data yang dipindahkan.
- Lokasi-lokasi tersebut dapat berupa memori, register atau bagian paling atas daripada stack.
- Menetapkan lokasi operand sumber dan operand tujuan.
- Memindahkan data dari satu lokasi ke lokasi lain.
- 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 :
- MOVE : memindahkan word atau blok dari sumber ke tujuan
- STORE : memindahkan word dari prosesor ke memori.
- LOAD : memindahkan word dari memori ke prosesor.
- EXCHANGE : menukar isi sumber ke tujuan.
- CLEAR / RESET : memindahkan word 0 ke tujuan.
- SET : memindahkan word 1 ke tujuan.
- PUSH : memindahkan word dari sumber ke bagian paling atas stack.
- POP : memindahkan word dari bagian paling atas sumber
- Arithmetic
Tindakan CPU untuk melakukan operasi arithmetic :
- Transfer data sebelum atau sesudah.
- Melakukan fungsi dalam ALU.
- Menset kode-kode kondisi dan flag.
Operasi set instruksi untuk arithmetic :
- ADD : penjumlahan
- SUBTRACT : pengurangan
- MULTIPLY : perkalian
- DIVIDE : pembagian
- ABSOLUTE
- NEGATIVE
- DECREMENT
- INCREMENT
Absolute, Negative, Decreament, dan Increament merupakan instruksi operand tunggal.
- Logical
Tindakan CPU sama dengan arithmetic.
Operasi set instruksi untuk operasi logical :
- AND, OR, NOT, EXOR
- COMPARE : melakukan perbandingan logika.
- TEST : menguji kondisi tertentu.
- SHIFT : operand menggeser ke kiri atau kanan menyebabkan konstanta pada ujung bit.
- ROTATE : operand menggeser ke kiri atau ke kanan dengan ujung yang terjalin.
- 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 :
- TRANSLATE : menterjemahkan nilai-nilai dalam suatu bagian memori berdasarkan tabel korespodensi.
- CONVERT : mengkonversi isi suatu word dari suatu bentuk ke bentuk lainnya.
- Input / Output
Tindakan CPU untuk melakukan INPUT /OUTPUT :
- Apabila memory mapped I/O maka menentukan alamat memory mapped
- 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 yaitu 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 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
- 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.
Tidak ada komentar:
Posting Komentar