Set instruksi (instruction set) adalah sekumpulan lengkap
instruksi yang dapat di mengerti oleh sebuah CPU, set instruksi sering juga
disebut sebagai bahasa mesin (machine code), karna aslinya juga berbentuk biner
kemudian dimengerti sebagai bahasa assembly, untuk konsumsi manusia
(programmer), biasanya digunakan representasi yang lebih mudah dimengerti oleh
manusia.
Sebuah instruksi terdiri dari sebuah opcode, biasanya
bersama dengan beberapa informasi tambahan seperti darimana asal
operand-operand dan kemana hasil-hasil akan ditempatkan. Subyek umum untuk
menspesifikasikan di mana operand-operand berada (yaitu, alamat-alamatnya)
disebut pengalamatan.
Pada beberapa mesin, semua instruksi memiliki panjang yang
sama, pada mesin-mesin yang lain mungkin terdapat banyak panjang berbeda.
Instruksi-instruksi mungkin lebih pendek dari, memiliki panjang yang sama
seperti, atau lebih panjang dari panjang word. Membuat semua instruksi memiliki
panjang yang sama lebih muda dilakukan dan membuat pengkodean lebih mudah
tetapi sering memboroskan ruang, karena semua instruksi dengan demikian harus
sama panjang seperti instruksi yang paling panjang.
Di dalam sebuah instruksi terdapat beberapa elemen-elemen
instruksi yaitu:
- Operation code (op code)
- Source operand reference
- Result operand reference
- Xext instruction preference
Karakteristik dan Fungsi 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 instruction).
- Kumpulan dari instruksi-instruksi yang berbeda yang dapat dijalankan oleh CPU disebut set instruksi (instruction set)
Perbandingan set instruksi
Beberapa computer CISC (Complex Instruction Set Computer)
menggunakan cara implist dalam menentukan mode addressing pada setiap set
instruksinya. Penentuan mode addressing dengan cara implicit memiliki arti
bahwa pada set instruksi tidak di ada bagian yang menyatakan tipe dari mode
addressing yang digunakan, deklarasi dari mode addressing itu berada menyatu
dengan opcode. Lain hal nya dengan cara imsplisit, cara eksplisit sengaja
menyediakan tempat pada set instruksi untuk mendeklarasikan tipe mode
addressing. Pada cara eksplisit deklarasi opcode dan mode addressing berada
terpisah.
Data pada tempat deklarasi mode addressing diperoleh dari
logaritma basis dua jumlah mode addressing. Jika deklarasi mode addressing
dilakukan secara implicit akan menghemat tempat dalam set instruksi paling
tidak satu bit untuk IBM 3090 dan 6 bit untuk MC68040. Perubahan satu bit pada
set instruksi akan memberikan jangkauan alamat memori lebih luas mengingat
range memori dinyatakan oleh bilangan berpangkat dua.
Elemen-elemen dari intruksi 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
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.
Transfer Data
A. Menetapkan lokasi operand sumber dan operand tujuan.
B. Lokasi-lokasi tersebut dapat berupa memori, register atau bagian paling atas daripada stack.
B. Lokasi-lokasi tersebut dapat berupa memori, register atau bagian paling atas daripada stack.
C. Menetapkan panjang data yang dipindahkan.
D. Menetapkan mode pengalamatan.
E. 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 :
D. Menetapkan mode pengalamatan.
E. 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
Desain set instruksi
Desain set instruksi merupakan masalah yang sangat komplek
yang melibatkan banyak aspek, diantaranya adalah :
- Kelengkapan set instruksi
- Ortogonalitas (sifat independensi)
- Kompabilitas (source code compatibility dan object code compatibility).
- Operation repertoire: berapa banyak dan operasi apa saja yang disediakan, banyaknya alamat, dsb.
- Data types: tipe/jenis data yang dapat olah instruction format: panjangnya, banyak alamat, dsb.
- Register: banyaknya register yang dapat digunakan.
- 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).
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
* Numbers : – Integer or fixed point – Floating point – Decimal (BCD)
* Characters : – ASCII – EBCDIC
* Logical Data : Bila data berbentuk binary: 0 dan 1
SUMBER :
http://id.wikipedia.org/wiki/Set_instruksi
http://www.slideshare.net/Henniheny/set-instruksi-27850098
Tidak ada komentar:
Posting Komentar