ANimasi

Selasa, 11 November 2014

Set Intruksi

Set Instruksi didefinisikan sebagai suatu aspek dalam arsitektur komputer yang dapat dilihat oleh para pemrogram. Secara, ISA ini mencakup jenis data yang didukung, jenis instruksi yang dipakai, jenis register, mode pengalamatan, arsitektur memori, penanganan interupsi, eksepsi, dan operasi I/O eksternalnya (jika ada).
ISA merupakan sebuah spesifikasi dari kumpulan semua kode-kode biner (opcode) yang diimplementasikan dalam bentuk aslinya (native form) dalam sebuah desain prosesor tertentu. Kumpulan opcode tersebut, umumnya disebut sebagai bahasa mesin (machine language) untuk ISA yang bersangkutan. ISA yang populer digunakan adalah set instruksi untuk chip Intel x86, IA-64, IBM PowerPC, Motorola 68000, Sun SPARC, DEC Alpha, dan lain-lain
A. Elemen Instruksi Mesin
Untuk dapat dieksekusi CPU, suatu instruksi harus berisi elemen informasi yang diperlukan CPU secara lengkap dan jelas.
Elemen – elemennya:
1.       Operation Code (Opcode)
menspesifikasikan operasi yang akan dilakukan. Kode operasi berbentuk kode biner.
2.      Source Operand Reference
operasi dapat berasal dari lebih satu sumber. Operand adalah input instruksi.
3.      Result Operand Reference
Merupakan hasil atau keluaran operasi.
4.      Next Instruction Reference
elemen ini menginformasikan CPU posisi instruksi berikutnya yang harus diambil dan dieksekus.
B. OPERASI-OPERASI SET INSTRUKSI
A.    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 bgian paling atas sumber
B.     Operasi set instruksi untuk arithmetic :
• ADD             : penjumlahan
• SUBTRACT : pengurangan
• MULTIPLY : perkalian
• DIVIDE       : pembagian
• ABSOLUTE
• NEGATIVE
• DECREMENT
• INCREMENT
Urutan 5 sampai 8 merupakan instruksi operand tunggal.
C.     Operasi set instruksi untuk operasi logical :
• AND, OR, NOT, EXOR
• COMPARE  : melakukan perbandingan logika.
• 3TEST          : 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.
D.    Operasi set instruksi untuk conversi :
• TRANSLATE : menterjemahkan nilai-nilai dalam suatu bagian memori berdasrkan tabel korespodensi.
• CONVERT     : mengkonversi isi suatu word dari suatu bentuk ke bentuk lainnya.
E.     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
F.      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 instruksi.
• 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.
G.    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.