Arsitektur Set Instruksi
Set instruksi didefinisikan sebagai suatu aspek dalam arsitektur komputer
yang dapat dilihat oleh para pemrogram.
Dua bagian utama arsitektur komputer:
a. Instruction set architecture (ISA) / arsitektur set instruksi ISA
meliputi spesifikasi yang menentukan bagaimana programmer bahasa mesin akan
berinteraksi oleh komputer. ISA menentukan sifat komputasional komputer.
b. Hardware system architecture (HSA) / arsitektur system hardware
HSA berkaitan dengan subsistem hardware utama computer (CPU,
system memori dan IO). HSA mencakup desain logis dan organisasi arus data
dari subsistem
Jenis-Jens Instruksi
a.
Data
processing/pengolahan data : instruksi aritmetika dan logika
b.
Data
storage/penyimpanan data: instruksi-instruksi memori
c.
Data
movement/perpindahan data: instruksi I/O
d.
Control/control :
instruksi pemeriksaan dan percabangan
Karakteristik Dan Fungsi Set Instruksi
a.
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).
b.
Kumpulan dari
instruksi-instruksi yang berbeda yang dapat dijalankan oleh CPU disebut set
Instruksi (Instruction Set.
Elemen-Elemen Dari Instruksi Mesin (Set Instruksi)
a.
Operation Code
(opcode) : menentukan operasi yang akan dilaksanakan.
b.
Source Operand
Reference : merupakan input bagi operasi yang akan dilaksanakan.
c.
Result Operand
Reference : merupakan hasil dari operasi yang dilaksanakan.
d.
Next instruction
Reference : memberitahu CPU untuk mengambil (fetch) instruksi berikutnya
setelah instruksi yang dijalankan selesai.
e.
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 :
a.
Operation Repertoire:
Berapa banyak dan operasi apa saja yang disediakan,dan berapa sulit operasinya.
b.
Data Types:
tipe/jenis data yang dapat olah Instruction Format: panjangnya, banyaknya
alamat, dsb.
c.
Register: Banyaknya
register yang dapat digunakan.
d.
Addressing: Mode
pengalamatan untuk operand.
Jenis-Jenis Operand
a.
Addresses (akan
dibahas pada addressing modes).
b.
Numbers : Integer or
fixed point, Floating point,Decimal (BCD).
c.
Characters : ASCII,
EBCDIC.
d.
Logical Data : Bila
data berbentuk binary : 0 dan 1.
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 :
Menetapkan alamat memori.
Menjalankan transformasi alamat memori virtual ke alamat memori aktual.
Mengawali pembacaan / penulisan memori.
Operasi Set Instruksi Untuk Transfer Data
a.
MOVE : memindahkan
word atau blok dari sumber ke tujuan.
b.
STORE : memindahkan
word dari prosesor ke memori.
c.
LOAD : memindahkan
word dari memori ke prosesor.
d.
EXCHANGE : menukar
isi sumber ke tujuan.
e.
CLEAR / RESET :
memindahkan word 0 ke tujuan.
f.
SET : memindahkan
word 1 ke tujuan.
g.
PUSH : memindahkan
word dari sumber ke bagian paling atas stack.
h.
POP : memindahkan
word dari bagian paling atas sumber.