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:
Selain ketiga aspek tersebut juga melibatkan hal-hal sebagai berikut:
- Kelengkapan set instruksi
- Ortogonalitas (sifat independensi instruksi)
- Kompatibilitas : - Source code compatibility - Object code Compatibility
Selain ketiga aspek tersebut juga melibatkan hal-hal sebagai berikut:
- Operation Repertoire: Berapa banyak dan operasi apa saja yang disediakan, dan berapa sulit operasinya
- Data Types: tipe/jenis data yang dapat olah Instruction Format: panjangnya, banyaknya alamat, dsb.
- 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
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
* 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 :
- Transfer data sebelum atau sesudah.
- Melakukan fungsi dalam ALU.
- 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.
http://blog.ub.ac.id/indra/2012/03/03/prinsip-kerja-komputer/
Tidak ada komentar:
Posting Komentar