Arsitektur Set Intruksi
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 Intruksi
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.
- 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-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 :
a. Operation Repertoire
Berapa banyak dan opera siapa saja yang disediakan, dan berapa sulit operasinya
b. Data Types
Tipe/jenis data yang dapat olah
c. Instruction Format
Panjangnya, banyaknya alamat,dsb.
d. Register
Banyaknya register yang dapat digunakan
e. Addressing
Mode pengalamatan untuk operand
Mode pengalamatan untuk operand
Teknik Pengalamatan
- Immediate Addressing
- Direct Addressing
- Indirect Addressing
- Register addressing
- Register indirect addressing
- Displacement addressing
- Stack addressing
Adalah bentuk pengalamatan yang paling sederhana.
Penjelasan :
- Operand benar-benar ada dalam instruksi atau bagian dari intsruksi
- Operand sama dengan field alamat
- Umumnya bilangan akan disimpan dalam bentuk complement dua
- Bit paling kiri sebagai bit tanda
- Ketika operand dimuatkan ke dalam register data, bit tanda digeser ke kiri hingga maksimum word data
Keuntungan :
- 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
B. Direct Addressing (Pengalamatan Langsung)
Penjelasan :
- Teknik ini banyak digunakan pada komputer lama dan komputer kecil
- Hanya memerlukan sebuah referensi memori dan tidak memerlukan kalkulus khusus
Kelebihan :
- 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
C. Indirect Addressing (Pengalamatan tak langsung)
Penjelasan :
- Merupakan mode pengalamatan tak langsung
- Field alamat mengacu pada alamat word di alamat memori, yang pada gilirannya akan berisi alamat operand yang panjang
Kelebihan :
- 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
D. Register addressing (Pengalamatan Register)
Penjelasan :
- Metode pengalamatan register mirip dengan mode pengalamatan langsung
- Perbedaanya terletak pada field alamat yang mengacu pada register, bukan pada memori utama
- Field yang mereferensi register memiliki panjang 3 atau 4 bit, sehingga dapat mereferensi 8 atau 16 register general purpose
Keuntungan :
- 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
Kerugian :
- Ruang alamat menjadi terbatas
Contoh :
E. Register indirect addressing (Pengalamatan tak-langsung register)
Penjelasan :
- Metode pengalamatan register tidak langsung mirip dengan mode pengalamatan tidak langsung
- Perbedaannya adalah field alamat mengacu pada alamat register
- Letak operand berada pada memori yang dituju oleh isi register
- Keuntungan dan keterbatasan pengalamatan register tidak langsung pada dasarnya sama dengan pengalamatan tidak langsung
- Keterbatasan field alamat diatasi dengan pengaksesan memori yang tidak langsung sehingga alamat yang dapat direferensi makin banyak
- 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
Contoh :
F. Displacement addressing
Penjelasan :
- Menggabungkan kemampuan pengalamatan langsung dan pengalamatan register tidak langsung
- Mode ini mensyaratkan instruksi memiliki dua buah field alamat, sedikitnya sebuah field yang eksplisit
- Operand berada pada alamat A ditambahkan isi register
- 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
- 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
- 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-pprogram iteratif
Contoh :
Field eksplisit bernilai A dan field imlisit mengarah pada register
G. Stack addressing
Penjelasan :
- Stack adalah array lokasi yang linier = pushdown list = last-in-firs-out
- Stack merupakan blok lokasi yang terbaik
- Btir ditambahkan ke puncak stack sehingga setiap blok akan terisi secara parsial
- Yang berkaitan dengan stack adalah pointer yang nilainya merupakan alamat bagian paling atas stack
- Dua elemen teratas stack dapat berada di dalam register CPU, yang dalam hal ini stack pointer mereferensi ke elemen ketiga stack
- Stack pointer tetap berada dalam register
- Dengan demikian, referensi-referensi ke lokasi stack di dalam memori pada dasarnya merupakan pengalamatan register tidak langsung
Sumber :
Terima kasih atas infonya sangat bermanfaat :) kunjungi juga web saya :
ReplyDeletehttp://salmantkj48.blogspot.co.id/2016/11/pengenalan-displacement-addressing-dan.html