Selasa, 31 Desember 2013

SET INSTRUKSI

Operasi dari CPU ditentukan oleh instruksi-instruksi yang dilaksanakan atau dijalankannya. Instruksi ini sering disebut sebagai instruksi mesin (mechine instructions) atau instruksi komputer (computer instructions).

Kumpulan dari instruksi-instruksi yang berbeda yang dapat dijalankan oleh CPU disebut set Instruksi (Instruction Set). 


ELEMEN-ELEMEN DARI INSTRUKSI MESIN (SET INSTRUKSI) 

* 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. Source dan result operands dapat berupa salah satu diantara tiga jenis berikut ini: 

  • Main or Virtual Memory 
  • CPU Register 
  • I/O Device 

DESAIN SET INSTRUKSI 
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 

Selain ketiga aspek tersebut juga melibatkan hal-hal sebagai berikut: 
  1. Operation Repertoire: Berapa banyak dan operasi apa saja yang disediakan, dan berapa sulit operasinya 
  2. Data Types: tipe/jenis data yang dapat olah Instruction Format: panjangnya, banyaknya alamat, dsb. 
  3. Register: Banyaknya register yang dapat digunakan 4.Addressing: Mode pengalamatan untuk operand 

FORMAT INSTRUKSI 

* Suatu instruksi terdiri dari beberapa field yang sesuai dengan elemen dalam instruksi tersebut. Layout dari suatu instruksi sering disebut sebagai Format Instruksi (Instruction Format). 

OPCODE OPERAND REFERENCE OPERAND REFERENCE JENIS-JENIS OPERAND 

* Addresses (akan dibahas pada addressing modes) 
* Numbers : - Integer or fixed point - Floating point - Decimal (BCD) 
* Characters : - ASCII - EBCDIC 
* Logical Data : Bila data berbentuk binary: 0 dan 1 

JENIS INSTRUKSI 

* Data processing: Arithmetic dan Logic Instructions 
* Data storage: Memory instructions 
* Data Movement: I/O instructions 
* Control: Test and branch instructions 

TRANSFER DATA 

* Menetapkan lokasi operand sumber dan operand tujuan. 
* Lokasi-lokasi tersebut dapat berupa memori, register atau bagian paling atas daripada stack. 
* Menetapkan panjang data yang dipindahkan. 
* Menetapkan mode pengalamatan. 
* Tindakan CPU untuk melakukan transfer data adalah : 
    a. Memindahkan data dari satu lokasi ke lokasi lain. 
    b. Apabila memori dilibatkan : 
          1. Menetapkan alamat memori. 
          2. Menjalankan transformasi alamat memori virtual ke alamat memori aktual. 
          3. Mengawali pembacaan / penulisan memori 

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 bagian paling atas sumber 

ARITHMETIC

Tindakan CPU untuk melakukan operasi arithmetic : 
  1. Transfer data sebelum atau sesudah. 
  2. Melakukan fungsi dalam ALU. 
  3. Menset kode-kode kondisi dan flag. 

Operasi set instruksi untuk arithmetic : 
1. ADD : penjumlahan 5. ABSOLUTE 
2. SUBTRACT : pengurangan 6. NEGATIVE 
3. MULTIPLY : perkalian 7. DECREMENT 
4. DIVIDE : pembagian 8. INCREMENT 
Nomor 5 sampai 8 merupakan instruksi operand tunggal. LOGICAL 

* Tindakan CPU sama dengan arithmetic 
* Operasi set instruksi untuk operasi logical : 
1. AND, OR, NOT, EXOR 
2. COMPARE : melakukan perbandingan logika. 
3. TEST : menguji kondisi tertentu. 
4. SHIFT : operand menggeser ke kiri atau kanan menyebabkan konstanta pada ujung bit. 
5. ROTATE : operand menggeser ke kiri atau ke kanan dengan ujung yang terjalin. 

CONVERSI

 Tindakan CPU sama dengan arithmetic dan logical. 
* Instruksi yang mengubah format instruksi yang beroperasi terhadap format data. 
* Misalnya pengubahan bilangan desimal menjadi bilangan biner. 
* Operasi set instruksi untuk conversi : 
1. TRANSLATE : menterjemahkan nilai-nilai dalam suatu bagian memori berdasrkan tabel korespodensi. 
2. CONVERT : mengkonversi isi suatu word dari suatu bentuk ke bentuk lainnya. 

INPUT / OUPUT 

* Tindakan CPU untuk melakukan INPUT /OUTPUT : 
1. Apabila memory mapped I/O maka menentukan alamat memory mapped. 
2. Mengawali perintah ke modul I/O 

* 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 TRANSFER CONTROL 

* Tindakan CPU untuk transfer control : Mengupdate program counter untuk subrutin , call / return. 

* Operasi set instruksi untuk transfer control : 
1. JUMP (cabang) : pemindahan tidak bersyarat dan memuat PC dengan alamat tertentu. 
2. JUMP BERSYARAT : menguji persyaratan tertentu dan memuat 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. 

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. 

SUMBER REFERENSI:
http://blog.ub.ac.id/indra/2012/03/03/prinsip-kerja-komputer/

Tidak ada komentar:

Posting Komentar