Saturday, 2 November 2013

SET INSTRUKSI

SET INSTRUKSI

          Salah satu bagian utama dari Arsitektur Komputer ialah Instruction-Set Architecture (ISA) / Arsitektur Set InstruksiISA tersebut meliputi spesifikasi yang menentukan bagaimana programmer bahasa mesin akan berinteraksi dengan komputer. ISA menentukan sifat komputasional sebuah komputer.
          Apakah set instruksi itu?
Set instruksi dapat berbentuk :
1. Kumpulan dari instruksi-instruksi yang berbeda yang dapat dijalankan oleh CPU.
2. Kode mesin.
3. Biner.
4. Biasanya direpresentasikan oleh kode Assembly.

          Set instruksi memiliki beberapa elemen, yang dapat dijabarkan sebagai berikut :
- Operation Code (opcode) : menentukan operasi yang akan dilaksanakan.
- Source Operand Reference : merupakan input bagi operasi yang akan dilaksanakan.
- Result Operand Reference : merupakan hasil dari operasi yang dilaksanakan.
- Next instruction Reference  : memberitahu CPU untuk mengambil (fetch) instruksi berikutnya setelah instruksi yang dijalankan selesai.
Set instruksi juga memiliki cakupan jenis instruksi sebagai berikut :
-         Data processing: Aritmetik (ADD, SUB, dsb);
-         Logic (AND, OR, NOT, SHR, dsb); konversi data;
-         Data storage (memory): Transfer data (STOR, LOAD, MOVE, dsb);
-         Data movement: Input dan Output ke modul I/O;
-         Program flow control: JUMP, HALT, dsb.

Jenis Operasi Umum
          Terdapat beberapa operasi set instruksi yang digunakan secara umum, yakni mencakup :
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
Operasi set instruksi untuk arithmetic :
  • ADD : penjumlahan
  • SUBTRACT : pengurangan
  • MULTIPLY : perkalian
  • DIVIDE : pembagian
  • ABSOLUTE
  • NEGATIVE
  • DECREMENT
  • INCREMENT
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.
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.
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

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.
Set instruksi (instruction set) merupakan sekumpulan lengkap instruksi yang dapat dimengerti oleh sebuah CPU, disebut juga machine code (bahasa mesin), aslinya juga berbentuk biner atau bahasa assembly. Untuk konsumsi manusia (programmer), biasanya digunakan representasi yang lebih mudah dimengerti manusia.

 
Elemen-elemen Instruksi

  • Operation code (Op code) : Kerjakan ini
  • Source Operand reference : Terhadap isi alamat ini
  • Result Operand reference : Letakkan hasilnya di alamat ini
  • Next Instruction Reference :Kalau sudah selesai, selanjutnya kerjakan alamat ini
Dalam sebuah instruksi, tidak harus semua elemen ini dicantumkan, tergantung kebutuhan dan jenis instruksinya.

Semua instruksi dijalankan dalam CPU. Rata-rata operasi hanya membutuhkan register sebagai tempat membaca atau menyimpan operand. Adakalanya juga register tidak berisi operand tapi menunjuk ke tempat penyimpanan lainnya (memory, cache, modul I/O)

 

Representasi Instruksi

Pada bahasa mesin, setiap instruksi berbentuk pola bit biner yang unik. Agar dapat dimengerti manusia, dibuatlah representasi simbolik instruksi, biasanya berupa singkatan (disebut mnemonic). Misal ADD, SUB, LOAD. Sedangkan alamat operand direpresentasikan sebagai berikut:

ADD A,B

Ada beberapa jenis representasi instruksi, tergantung dari jumlah alamat operand yang bisa diolah oleh satu instruksi.

Contoh Simbolik Instruksi

ADD : Add (Penjumlahan)
SUB : Subtract (Pengurangan)
MPY/MUL : Multiply (Perkalian)
DIV : Divide (Pembagian)
LOAD : Load data dari register/memory
STOR : Simpan data ke register/memory
MOVE : pindahkan data dari satu tempat ke tempat lain
SHR: shift kanan data
SHL: shift kiri data
Cakupan Jenis Instruksi

Data processing : Aritmetik (ADD, SUB, dsb); Logic (AND, OR, NOT, SHR, dsb); Konversi data
Data storage (memory) : Transfer data (STOR, LOAD, MOVE, dsb)
Data movement : Input dan Output ke modul I/O
Program flow control : JUMP, HALT, dsb.


SUMBER :

http://www.ittelkom.ac.id/stafmhd/MateriKuliah/Arsitektur%20Dan%20Organisasi%20Komputer/Referensi/set-instruksi.pdf

No comments:

Post a Comment