Jumat, 21 November 2014

Arsitekstur Set Instruksi

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.