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.
Arsitektur set instruks
atau Instruction Set Architecture
(ISA) adalah suatu aspek dalam arsitektur komputer yang dapat dilihat oleh para
pemrogram. Secara umum, 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).
Tujuan
§ Memahami
representasi set instruksi dan jenis-jenis format instruksi.
§ Mengetahui
jenis-jenis type operand yang digunakan.
§ Macam-macam
mode pengalamatan
§ Format
instruksi
§ Format
instruksi pada pentium
§ Memahami
implementasi set instruksi pada pentium II
Sasaran
Pengetahuan
tentang set instruksi sangat dirasakan manfaatnya oleh programmer bahasa
tingkat rendah, seperti bahasa assembler. Bagi programmer bahasa tingkat rendah
sangat memerlukan informasi tentang penggunaan register dan spesifikasinya,
struktur memory, maupun format instruksi. Tulisan ini juga akan membahas
tentang karakteristik mesin instruksi, tipe-tipe operasi, mode pengalamatan dan
format instruksi.
Karakteristik
Instruksi Mesin
1.
Instruksi mesin (machine instruction)
yang dieksekusi membentuk suatu operasi dan berbagai macam fungsi CPU.
2.
Kumpulan fungsi yang dapat dieksekusi
CPU disebut set instruksi (instruction set) CPU.
3.
Mempelajari karakteristik instruksi
mesin, meliputi:
-
Elemen-elemen instruksi mesin
-
Representasi instruksinya
-
Jenis-jenis instruksi
-
Penggunaan alamat
-
Rancangan set instruksi
Elemen
Instruksi Mesin
Untuk
dapat dieksekusi CPU, suatu instruksi harus berisi elemen informasi yang
diperlukan CPU secara lengkap dan jelas. Berikut adalah elemen – elemennya:
1.
Operation Code (Opcode)
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.
3.
Result Operand Reference
Merupakan
hasil atau keluaran operasi.
4.
Next Instruction Reference
elemen
ini menginformasikan CPU posisi instruksi berikutnya yang harus diambil dan
dieksekusi
Operand dari Operasi
Melihat
dari operasi, operand suatu operasi dapat berada di salah satu dari ketiga
daerah berikut:
-
Memori utama atau memori virtual
-
Register CPU
-
Perangkat I/O
Representasi Instruksi
Instruksi
komputer direpresentasikan oleh sekumpulan bit. Instruksi dibagi menjadi
beberapa field. Field-field ini diisi oleh elemen-elemen instruksi yang membawa
informasi bagi operasi CPU. Layout instruksi dikenal dengan format instruksi.
Format Instruksi
[opcode] [alamat]
* Kode operasi (opcode)
direpresentasikan dengan singkatan-singkatan yang disebut mnemonic.
* Mnemonic mengindikasikan suatu operasi bagi
CPU.
* Contoh mnemonic:
-
ADD = penambahan
-
SUB = subtract (pengurangan)
-
LOAD = muatkan data ke memori
* Contoh representasi operand secara simbolik:
-
ADD X, Y
artinya:
tambahkan nilai yang berada pada lokasi Y dengan isi register X dan simpan
hasilnya
di register X.
* Programmer dapat menuliskan program bahasa
mesin dalam bentuk simbolik.
* Setiap opcode simbolik memiliki representasi
biner yang tetap dan programmer dapat
menetapkan lokasi
masing-masing operand.
Jenis – jenis Instruksi
1. Data
procecessing: Arithmetic dan Logic Instructions
2. Data storage: Memory instructions
3. Data Movement: I/O instructions
4. Control: Test and branch instructions
2. Data storage: Memory instructions
3. Data Movement: I/O instructions
4. Control: Test and branch instructions