Operasi dari CPU ditentukan oleh instruksi – instruksi yang dijalankan, dan kumpulan dari insruksi atau perintah – perintah yang dapat dijalnkan oleh CPU tersebut disebut sebagai Set Instruksi. Set Instruksi memeiliki beberapa elemen, diantaranya adalah :
- Operation code atau dapat disingkat opcode
Merupakan suatu operasi yang akan dilaksanakan. - Source Operand Reference
Merupakan input dari suatu operasi yang akan dilaksanakan - Result Operand Reference
Merupakan hasil dari input suatu operasi - Next Instruction Reference
Merupakan sutu pemberitahuan CPU untuk mengambil instruksi atau perintah berikutnya setelah perintah yang dijalankan telah selesai.
Suatu instruksi terdiri dari beberapa field yang sesuai dengan elemen dalam instruksi tersebut. Layout dari suatu instruksi sering disebut sebagai Format Instruksi (Instruction Format). Desain set instruksi merupakan masalah yang sangat komplek yang melibatkan banyak aspek, diantaranya adalah:
1. Kelengkapan set instruksi
2. Ortogonalitas (sifat independensi
instruksi)
3. Kompatibilitas :
- Source code compatibility
- Object code Compatibility
Dalam set instruksi, ada beberapa jenis instruksi, anatara lain:
- Data processing: Arithmetic dan Logic Instructions
- Data storage: Memory instructions
- Data Movement: I/O instructions
- Control: Test and branch instructions
Ada beberapa fungsi Operasi pada Set Instruksi, diantaranya:
- Untuk transfer data
- Untuk Arritmatika
- Untuk Operasi Logika
- Untuk Conversi
- Untuk Input/Output
- Untuk Transfer Control
Adapun beberapa operasi pada set insruksi untuk transfer data, yakni :
1. MOVE : seseuai dengan kata move yang berarti pindah, jadi operasi ini digunakan untuk memindahkan suatu word dari suatu sumber ke suatu tujuan
2. STORE : memindahkan word dari prosesor ke memori.
3. EXCHANGE : menukar isi sumber ke tujuan.
4. LOAD : memindahkan word dari memori ke prosesor.
5. SET : memindahkan word 1 ke tujuan.
6. CLEAR / RESET : memindahkan word 0 ke tujuan.
7. POP : memindahkan word dari bagian paling atas sumber
8. PUSH : memindahkan word dari sumber ke bagian paling atas stack.
Adapun beberapa Operasi set instruksi untuk arithmetic :
1. ADD : penjumlahan
2. SUBTRACT : pengurangan
3. ABSOLUTE
4. MULTIPLY : perkalian
5. NEGATIVE
6. DIVIDE : pembagian
7. INCREMENT
8. DECREMENT
dimana Nomor 5 sampai 8 merupakan instruksi operand tunggal.
Adapun beberapa Operasi set instruksi untuk operasi logical :
1. COMPARE : melakukan perbandingan logika
2. AND, OR, NOT, EXOR
3. TEST : menguji kondisi tertentu.
4. ROTATE : operand menggeser ke kiri atau ke kanan dengan
i. ujung yang terjalin.
5. SHIFT : operand menggeser ke kiri atau kanan menyebabkan
ii. konstanta pada ujung bit.
Adapun beberapa Operasi set instruksi untuk conversi :
1. CONVERT : mengkonversi isi suatu word dari suatu bentuk ke bentuk lainnya.
2. TRANSLATE : menterjemahkan nilai-nilai dalam suatu bagian memori berdasrkan tabel korespodensi.
Adapun beberapa 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
Adapun beberapa Operasi set instruksi untuk transfer control :
1. JUMP (cabang) : pemindahan tidak bersyarat dan memuat PC
dengan alamat tertentu.
2. JUMP BERSYARAT : menguji persyaratan tertentu danmemuat
PC dengan alamat tertentu atau tidak
melakukan apa tergantung dari
persyaratan.
3. JUMP SUBRUTIN : melompat ke alamat tertentu.
4. RETURN : mengganti isi PC dan register lainnya yang berasal
dari lokasi tertentu.
5. EXECUTE : mengambil operand dari lokasi tertentu dan
mengeksekusi sebagai instruksi
6. SKIP : menambah PC sehingga melompati instruksi
berikutnya.
7. SKIP BERSYARAT : melompat atau tidak melakukan apa-apa
berdasarkan pada persyaratan
8. HALT : menghentikan eksekusi program.
9. WAIT (HOLD) : melanjutkan eksekusi pada saat persyaratan
dipenuhi.
10. NO OPERATION : tidak ada operasi yang dilakukan.