Set instruksi didefinisikan sebagai
suatu aspek dalam arsitektur computer yang dapat dilihat oleh para pemrogram. Dua
bagian utama arsitektur komputer:
1. Instruction
set architecture (ISA) / arsitektur set instruksi
ISA meliputi spesifikasi yang menentukan bagaimana
programmer bahasa mesin akan berinteraksi oleh computer. ISA menentukan sifat
komputasional computer.
2. Hardware
system architecture (HSA) / arsitektur system hardware
HAS berkaitan dengan subsistem hardware utama computer
(CPU, system memori dan IO). HSA mencakup desain logis dan organisasi arus data
dari subsistem.
Jenis-jenis
Instruksi
·
Data processing/pengoahan data : instruksi aritmetika
dan logika.
·
Data storage/penyimpanan data : instruksi-instruksi
memori.
·
Data movement/perpindahan data : instruksi I/O.
·
Control/control : instruksi pemeriksaan dan
percabangan.
Instruksi aritmetika memiliki
kemampuan untuk mengolah data numeric. Sedangkan instruksi logika beroperasi
pada bit-bit word sebagai bit, bukan sebagai bilangan. Operasi-operasi tersebut
dilakukan teutama untuk data di register CPU.
Instruksi-instruksi memori diperlukan untuk memindah data yang terdapat di memori dan register.
Instruksi-instruksi memori diperlukan untuk memindah data yang terdapat di memori dan register.
Instruksi-instruksi I/O diperlukan
untuk memindahkan program dan data kedalam memori dan mengembalikan hasil
komputasi kepada pengguna.
Desain
set Instruksi
Desain set instruksi merupakan
masalah yang sangatkomplek 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 :
·
Operation Repertoire
Berapa banyak dan
opera siapa saja yang disediakan, dan berapa sulit operasinya
·
Data Types
Tipe/jenis data yang
dapat olah
·
Instruction Format
Panjangnya, banyaknya
alamat,dsb.
·
Register
Banyaknya register
yang dapat digunakan
·
Addressing
Mode pengalamatan untuk operand
Mode pengalamatan untuk operand
Teknik
Pengalamatan
1. Immediate
Addressing
2. Direct
Addressing
3. Indirect
Addressing
4. Register
addressing
5. Register
indirect addressing
6. Displacement
addressing
7. Stack
addressing
Immediate
Addressing (Pengalamatan Segera)
Adalah
bentuk pengalamatan yang paling sederhana.
Penjelasan
:
1.
Operand benar-benar ada dalam instruksi atau bagian
dari intsruksi
2.
Operand sama dengan field alamat
3.
Umumnya bilangan akan disimpan dalam bentuk complement
dua
4.
Bit paling kiri sebagai bit tanda
5.
Ketika operand dimuatkan ke dalam register data, bit
tanda digeser ke kiri hingga maksimum word data
Kelebihan :
-
Tidak adanya referensi memori selain dari instruksi
yang diperlukan untuk memperoleh operand
-
Menghemat siklus instruksi sehingga proses
keseluruhanakan akan cepat
Kekurangan :
-
Ukuran bilangan dibatasi oleh ukuran field
Contoh
:
ADD
7 ; tambahkan 7 pada akumulator
Direct Addressing
(Pengalamatan Langsung)
Penjelasan
:
1. Teknik
ini banyak digunakan pada komputer lama dan komputer kecil
2. Hanya
memerlukan sebuah referensi memori dan tidak memerlukan kalkulus khusus
Keuntungan :
- Field
alamat berisi efektif address sebuah operand
Kekurangan :
- Keterbatasan
field alamat karena panjang field alamat biasanya lebih kecil dibandingkan
panjang word
Contoh
:
ADD
A ; tambahkan isi pada lokasi alamat A ke akumulator
Indirect
Addressing (Pengalamatan tak langsung)
Penjelasan
:
1. Merupakan
mode pengalamatan tak langsung
2. Field
alamat mengacu pada alamat word di alamat memori, yang pada gilirannya akan
berisi alamat operand yang panjang
Kelebihanan :
- Ruang
bagi alamat menjadi besar sehingga semakin banyak alamat yang dapat referensi
Kekurangan :
- Diperlukan
referensi memori ganda dalam satu fetch sehingga memperlambat proses operasi
Contoh
:
ADD
(A) ; tambahkan isi memori yang ditunjuk oleh isi alamat A ke akumulator
Register
addressing (Pengalamatan Register)
Penjelasan
:
1. Metode
pengalamatan register mirip dengan mode pengalamatan langsung
2. Perbedaanya
terletak pada field alamat yang mengacu pada register, bukan pada memori utama
3. Field
yang mereferensi register memiliki panjang 3 atau 4 bit, sehingga dapat
mereferensi 8 atau 16 register general purpose
Kelebihanan
:
-
Diperlukan field alamat berukuran kecil dalam
instruksi dan tidak diperlukan referensi memori
-
Akses ke register lebih cepat daripada akses ke
memori, sehingga proses eksekusi akan lebih cepat
Kekurangan
:
- Ruang
alamat menjadi terbatas
Register
indirect addressing (Pengalamatan tak-langsung register)
Penjelasan
:
1. Metode
pengalamatan register tidak langsung mirip dengan mode pengalamatan tidak
langsung
2. Perbedaannya
adalah field alamat mengacu pada alamat register
3. Letak
operand berada pada memori yang dituju oleh isi register
4. Keuntungan
dan keterbatasan pengalamatan register tidak langsung pada dasarnya sama dengan
pengalamatan tidak langsung
5. Keterbatasan
field alamat diatasi dengan pengaksesan memori yang tidak langsung sehingga
alamat yang dapat direferensi makin banyak
6. Dalam
satu siklus pengambilan dan penyimpanan, mode pengalamatan register tidak
langsung hanya menggunakan satu referensi memori utama sehingga lebih cepat
daripada mode pengalamatan tidak langsung
Displacement
addressing
Penjelasan
:
1. Menggabungkan
kemampuan pengalamatan langsung dan pengalamatan register tidak langsung
2.
Mode ini mensyaratkan instruksi memiliki dua buah
field alamat, sedikitnya sebuah field yang eksplisit
3.
Operand berada pada alamat A ditambahkan isi register
4.
Tiga model displacement :-Relative addressing :
register yang direferensi secara implisit adalah Program Counter (PC)-Alamat
efektif didapatkan dari alamat instruksi saat itu ditambahkan ke field
alamat-Memanfaatkan konsep lokalitas memori untuk menyediakan operand-operand
berikutnya.
5.
Base register addressing : register yang direferensi
berisi sebuah alamat memori dan field alamat berisi perpindahan dari alamat itu
:-Referensi register dapat eksplisit maupun implisit-Memanfaatkan konsep
lokalitas memori
6.
Indexing : field alamat mereferensi alamat
memori utama, dan register yang direferensikan berisi pemindahan positif dari
alamat tersebut
· Merupakan
kebalikan dari mode base register
· Field
alamat dianggap sebagai alamat memori dalam indexing
· Manfaat
penting dari indexing adalah untuk eksekusi program-program interaktif
Contoh
:
Field
eksplisit bernilai A dan field imlisit mengarah pada register
Stack
addressing
Penjelasan
:
1. Stack
adalah array lokasi yang linier = pushdown list = last-in-firs-out
2. Stack
merupakan blok lokasi yang terbaik
3. Btir
ditambahkan ke puncak stack sehingga setiap blok akan terisi secara parsial
4. Yang
berkaitan dengan stack adalah pointer yang nilainya merupakan alamat bagian
paling atas stack
5. Dua
elemen teratas stack dapat berada di dalam register CPU, yang dalam hal ini
stack pointer mereferensi ke elemen ketiga stack
6. Stack
pointer tetap berada dalam register
7. Dengan
demikian, referensi-referensi ke lokasi stack di dalam memori pada dasarnya
merupakan pengalamatan register tidak langsung
Sumber :