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.
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.
operasi dapat berasal dari lebih satu sumber. Operand adalah input instruksi.
3.
Result Operand Reference
Merupakan hasil atau keluaran operasi.
Merupakan hasil atau keluaran operasi.
4.
Next Instruction Reference
elemen ini menginformasikan CPU posisi instruksi berikutnya yang harus diambil dan dieksekus.
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
• 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.
• 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.
• 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.
• 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
• 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.
• 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.
contoh : membaca atau mengubah register kontrol.
Tidak ada komentar:
Posting Komentar