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:
1. Operation Code (Opcode)
1. Operation Code (Opcode)
Merupakan kode operasi yang menspesifikasikan operasi yang akan dilakukan. Kode operasi berbentuk kode biner.
2. Source Operand Reference
2. Source Operand Reference
Merupakan sumber dari operand (input instruksi).
3. Result Operand Reference
3. Result Operand Reference
Merupakan hasil atau keluaran operasi.
4. Next Instruction Reference
4. Next Instruction Reference
elemen ini menginformasikan CPU posisi instruksi berikutnya yang harus diambil dan dieksekusi
Tipe-Tipe Instruksi
1. 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.
2. Perpindahan data (data movement)
2. 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.
3. Penyimpanan data (data storage)
3. 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.
4. Kontrol aliran program (program flow control)
4. 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
1. Addresses
Merupakan tipe inputan instruksi berupa alamat dari instruksi.
2. Numbers :
2. 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.
3. Characters :
3. 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
4. Logical Data :
4. Logical Data :
Merupakan tipe inputan instruksi bila data berbentuk binary: 0 dan 1
Tipe-Tipe Operasi
1. 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
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.
3. Logical
3. 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.
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.
5. 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
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
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.
Sign up here with your email
ConversionConversion EmoticonEmoticon