Karakteristik dan fungsi set instruksi
Operasi dari CPU ditentukan
oleh instruksi-instruksi yang dilaksanakan atau dijalankannya. Instruksi ini
sering disebut sebagai instruksi mesin (mechine instruction) atau
instruksi komputer (computer instruction).
Kumpulan dari
instruksi-instruksi yang berbeda yang dapat dijalankan oleh CPU disebut set
instruksi (instruction set).
Elemen-elemen dari
set instruksi mesin
1. Operation Code (opcode) :
menentukan operasi yang akan dilaksanakan
2. Source Operand Reference :
merupakan input bagi operasi yang akan dilaksanakan
3. Result Operand Reference :
merupakan hasil dari operasi yang dilaksanakan
4. Nex Instruction reference :
memberitahu CPU untuk mengambil (fetch) instruksi
Berikutnya setelah
instruksi yang dijalankan selesai
Jenis-jenis
Instruksi:
1. Data Processing : Arithmetic
dan logic Instructions
2. Data storage : Memory
Instructions
3. Data movement : I/O
Instructions
4. Control : Test
and Branch Instruction
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
INPUT/OUTPUT
1. Tindakan CPU untuk melakukan Input/Output:
a. Apabila
memori mapped I/O maka menentukan alamat memory mapped
b. Mengawali
perintah ke modul I/O
2. Operasi set instruksi Input/Output:
a. INPUT :
memindahkan data dari perangkat I/O tertentu ke tujuan
b. OUTPUT :
memindahkan data dari sumber tertentu ke perangkat I/O
c. START I/O :
memindahkan instruksi ke prosesor I/O untuk mengawali operasi I/O
d. TEST I/O :
memindahkan informasi dari sistem I/O ke tujuan
LOGICAL
1. Tindakan
CPU sama dengan arithmetic
2. Operasi
set instruksi untuk operasi logical:
a. AND, OR, NOT, EXOR
b. COMPARE :
melakukan perbandingan logika
c. TEST :
menguji kondisi tertentu
d. SHIFT :
operand menggeser ke kiri atau kanan menyebabkan kostanta pada ujung bit
e. ROTATE :
operand menggeser ke kiri atau kanan dengan ujung yang terjalin
ARITHMETIC
1. Tindakan CPU untuk melakukan operasi
arithmetic
a. Transfer
data sebelum atau sesudah
b. Melakukan
fungsi dalam ALU
c. Menset
kode-kode kondisi dan flag
2. Operasi set instruksi untuk arithmetic
a. ADD :
penjumlahan
b. SUBTRACT :
pengurangan
c. MULTIPLY :
perkalian
d. DEVIDE :
pembagian
e. ABSOLUTE
f. NEGATIVE
g. DECREMENT
h. INCREMENT
Huruf e sampai h merupakan instruksi operand
tunggal
Unit Set Instruksi
a. Pengolahan data (data processing)
Meliputi operasi-operasi aritmatika dan
logika, operasi aritmatika memiliki kemampuan komputansi untuk pengolahan data
numerik, sedangkan instruksi logika beroperasi terhadap bit-bit, bukannya
sebagai bilangan, sehingga instruksi ini memiliki kemampuan untuk pengolahan
data lain.
b. Perpindahan data (data movement)
Berisi instruksi perpindahan data antar
register maupun modul I/O untuk dapat diolah oleh CPU maka diperlukan operasi-operasi
yang bertugas memindahkan data operand yang diperlukan.
c. Penyimpanan data (data storage)
Berisi instruksi-instruksi penyimpanan ke
memori, instruksi penyimpanan sangat penting dalam operasi komputasi. Karena
data tersebut akan digunakan untuk operasi berikutnya, minimal untuk
ditampilkan pada layar harus diadakan penyimpanan walaupun sementara.
d. Control aliran program (program flow
control)
Berisi instruksi pengontrolan operasi dan
percabangan, instruksi berguna untuk pengontrolan status dan mengoperasikan
percabangan ke set instruksi lain.
Teknik Pengalamatan
Mode
pengalamatan merujuk pada bagaimana pemrogram mengalamati suatu lokasi memori.
Setiap mode pengalamatan memberikan memberikan fleksibilitas khusus yang sangat
penting. Mode pengalamatan ini meliputi immediate addressing, direct
addressing, dan indirect addressing.
1. Immediate Addressing
Mode pengalamatan immediate addressing sangat
umum dipakai karena harga yang akan disimpan dalam memori langsung mengikuti
kode operasi dalam memori. Dengan kata lain, tidak diperlukan pengambilan harga
dari alamat lain untuk disimpan. Contohnya: MOV A, #20h dalam instruksi
tersebut, akumulator akan diisi dengan harga yang langsung mengikutinya, dalam
hal ini 20h. Mode ini sangatlah cepat karena harga yang dipakai langsung
tersedia.
2. Direct Addressing
Dalam mode pengalamatan direct addressing,
harga yang akan dipakai diambil langsung dalam alamat memori lain. Contohnya:
MOV A, 30h dalam instruksi ini akan dibaca data dari RAM internal dengan alamat
30h dan kemudian disimpan dalam akumulator. Mode pengalamatan ini cukup cepat,
meskipun harga yang didapat tidak langsung seperti immediate, namun cukup cepat
karena disimpan dalam RAM internal. Demikian pula akan lebih mudah menggunakan
mode ini daripada mode immediate karena harga yang didapat bisa dari lokasi
memori yang mungkin variabel.
3. Indirect Addressing
Mode pengalamatan indirect addressing sangat
berguna karena dapat memberikan fleksibilitas tinggi dalam mengalamati suatu
harga. Mode ini pula satu-satunya cara untuk mengakses 128 byte lebih dari RAM
internal pada keluarga 8052. Contoh: MOV A, @R0 dalam instruksi tersebut, 89C51
akan mengambil harga yang berada pada alamat memori yang ditunjukkan oleh isi
dari R0 dan kemudian mengisikannyake akumulator.
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 Compability
· Object
Code Compability
Selain ketiga aspek
tersebut juga melibatkan hal-hal sebagai berikut:
1. Operation Repertoire
Berapa banyak dan operasi apa saja yang
disediakan, dan berapa sulit operasinya
2. Data Types
Tipe/jenis data yang dapat olah instruction
format: panjangnya, banyaknya alamat, dsb.
3. Register
Banyaknya register yang dapat digunakan
4. Addressing
Mode pengalamatan untuk operand
Jenis-jenis Operand
a. Addresses
b. Numbers :
· Integer
or fixed point
· Floating
point
· Decimal
(BCD)
c. Characters :
· ASCII
· EBCDIC
d. Logical data : bila data
berbentuk binary 0 dan 1
Sumber :
Tidak ada komentar:
Posting Komentar