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.
 
Tidak ada komentar:
Posting Komentar