Arsitektur Set Instruksi
ARSITEKTUR SET INSTRUKSI
Set instruksi didefinisikan sebagai suatu aspek dalam arsitektur computer yang dapat dilihat oleh para pemrogram.
Dua bagian utama arsitektur komputer:
– Jenis-jenis Instruksi
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:
Penjelasan :
ADD 7 ; tambahkan 7 pada akumulator
ADD A ; tambahkan isi pada lokasi alamat A ke akumulator
ADD (A) ; tambahkan isi memori yang ditunjuk oleh isi alamat A ke akumulator
Field eksplisit bernilai A dan field imlisit mengarah pada register
Dua bagian utama arsitektur komputer:
- Instruction set architecture (ISA) / arsitektur set instruksi
- Hardware system architecture (HSA) / arsitektur system hardware
– 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-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:
- Kelengkapan set instruksi
- Ortogonalitas (sifat independensi instruksi)
- Kompatibilitas :
- source code compatibility
- Object code Compatibility
- Operation Repertoire
- Data Types
- Instruction Format
- Register
- Addressing
Mode pengalamatan untuk operand
- Immediate Addressing
- Direct Addressing
- Indirect Addressing
- Register addressing
- Register indirect addressing
- Displacement addressing
- Stack addressing
- Immediate Addressing (Pengalamatan Segera)
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
- Tidak adanya referensi memori selain dari instruksi yang diperlukan untuk memperoleh operand
- Menghemat siklus instruksi sehingga proses keseluruhanakan akan cepat
- Ukuran bilangan dibatasi oleh ukuran field
ADD 7 ; tambahkan 7 pada akumulator
- Direct Addressing (Pengalamatan Langsung)
- Teknik ini banyak digunakan pada komputer lama dan komputer kecil
- Hanya memerlukan sebuah referensi memori dan tidak memerlukan kalkulus khusus
- Field alamat berisi efektif address sebuah operand
- Keterbatasan field alamat karena panjang field alamat biasanya lebih kecil dibandingkan panjang word
ADD A ; tambahkan isi pada lokasi alamat A ke akumulator
- Indirect Addressing (Pengalamatan tak langsung)
- Merupakan mode pengalamatan tak langsung
- Field alamat mengacu pada alamat word di alamat memori, yang pada gilirannya akan berisi alamat operand yang panjang
- Ruang bagi alamat menjadi besar sehingga semakin banyak alamat yang dapat referensi
- Diperlukan referensi memori ganda dalam satu fetch sehingga memperlambat proses operasi
ADD (A) ; tambahkan isi memori yang ditunjuk oleh isi alamat A ke akumulator
- Register addressing (Pengalamatan Register)
- 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
- 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
- Ruang alamat menjadi terbatas
- Register indirect addressing (Pengalamatan tak-langsung register)
- 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
- Displacement addressing
- 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
-
Field eksplisit bernilai A dan field imlisit mengarah pada register
- Stack addressing
- 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
Comments
Post a Comment