Arsitektur Set Instruksi
Set
Instruksi (bahasa Inggris: Instruction Set, atau Instruction Set
Architecture (ISA)) didefinisikan sebagai suatu aspek dalam arsitektur komputer yang dapat dilihat
oleh para pemrogram. Secara umum, ISA ini mencakup jenis data yang didukung,
jenis instruksi yang
dipakai, jenis register, mode pengalamatan, arsitektur memori,
penanganan interupsi, eksepsi, dan operasi I/O
eksternalnya (jika ada).
Set
Instruksi didefinisikan sebagai suatu aspek dalam arsitektur komputer yang dapat dilihat
oleh para pemrogram. Secara umum, ISA ini mencakup jenis data yang didukung,
jenis instruksi yang
dipakai, jenis register, mode pengalamatan, arsitektur memori,
penanganan interupsi, eksepsi, dan operasi I/O
eksternalnya (jika ada).
ISA
merupakan sebuah spesifikasi dari Pullman semua kode-kode biner (opcode) yang
diimplementasikan dalam bentuk aslinya (native form) dalam sebuah desain prosesortertentu.
Kumpulan opcode tersebut, umumnya disebut sebagai bahasa mesin (machine
language) untuk ISA yang bersangkutan. ISA yang populer digunakan adalah set
instruksi untuk chip Intel x86, IA-64, IBM PowerPC, Motorola 68000, Sun SPARC, DEC Alpha,
dan lain-lain.
Teknik Pengalamatan
Digunakan
untuk menentukan suatu alamat tempat untuk dimana operand akan di
fetch. Dapat meningkatkan kecepatan pelaksanaan instruksi dengan menurunkan
jumlah referensi pada memori utama dan meningkatkan jumlah referensi pada
register kecepatan tinggi. Mode pengalamatan ini menjabarkan suatu aturan untuk
menginterpresetasikan atau memodifikasi field alamat dari instruksi sebelum
operand di referensikan Pada semua mode pengalamatan lainnya, operand yang
sesungguhnya tidak disimpan pada field alamat tetapi beberapa nilai di jabarkan
dan di gunakan untuk menentukan operasi operand.
Teknik
pengalamatan yang umum dipergunakan adalah :
a) Immediate
Addressing (OPERAND = A)
Digunakan
untuk menentukan dan menggunakan konstanta atau nilai-nilai variabel
awal. Tidak terdapat referensi memori selain dari instruksi yang
diperlukan untuk memperoleh operand. Cara seperti ini dapat menghemat siklus
memori atau cache dalam siklus instruksi. Kerugian dari immediate addressing
adalah ukuran bilangan dibatasi oleh ukuran field alamat. Bentuk pengalamatan
ini yang paling sederhana. Operand benar – benar ada dalam instruksi atau
bagian dari instruksi=Operand sama dengan field alamat. Umumnya
bilangan akan disimpan dalam bentuk komplemen dua. Bit paling kiri
sebagai bit tanda. Ketika operand dimuatkan ke dalam register data, bit tanda
akan digeser ke kiri hingga maksimum word data.
Contoh
: ADD 5 ; tambahkan 5 pada akumulator
Keuntungan:
· Mode
ini adalah tidak adanya referensi memori selain dari instruksi yang diperlukan
untuk memperoleh operand.
· Menghemat
siklus instruksi sehingga proses keseluruhan akan cepat.
Kerugiannya:
· Ukuran
bilangan dibatasi oleh ukuran field alamat
b) Direct
Addressing (EA = A)
Merupakan
mode pengalamatan yang sederhana yang hanya memerlukan sebuah referensi memori
dan tidak memerlukan kalkulasi khusus. Memiliki keterbatasan ruang alamat.
Kelebihan :
· Field
alamat berisi efektif address sebuah operand.
· Teknik
ini banyak digunakan pada komputer lama dan komputer kecil.
· Hanya
memerlukan sebuah referensi memori dan tidak memerlukan kalkulasi khusus.
Kelemahan :
· 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 (EA = (A))
Field alamat
mengacu pada alamat word di dalam memori, sehingga membuat alamat operand
menjadi lebih panjang. Untuk setiap panjang word sebesar N, dapat digunakan
sebuah ruang alamat 2N. Sedangkan kerugiannya adalah bahwa eksekusi instruksi
memerlukan dua referensi memori untuk mengambil operand, sebuah referensi memori
untuk mengambil alamat dan referensi lainnya untuk mendapatkan nilainya. Mode
pengalamatan tak langsung dimana field alamat mengacu pada alamat word di dalam
memori, yang pada gilirannya akan berisi alamat operand yang panjang
Contoh : ADD
(A) ; tsmbahkan isi yang ditunjuk oleh isi alamat A ke akumulator
Keuntungan:
· Ruang
bagi alamat menjadi besar sehingga semakin banyak alamat yang dapat referensi.
Kerugian :
· Diperlukan
referensi memori ganda dalam satu fetch sehingga memperlambat proses operasi.
d) Register
Addressing (EA = R)
Memerlukan
field alamat berukuran kecil dalam instruksi dan tidak memerlukan referensi
memori. Metode pengalamatan register mirip dengan mode pengalamatan langsung.
Perbedaannya 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
e) Indirect
Register Addressing (EA = (R))
Keterbatasan
ruang alamat dapat diatasi dengan membiarkan field alamat mereferensi lokasi
panjang word di dalam register yang berisi sebuah alamat. Hanya saja untuk
eksekusi instruksi, menggunakan satu referensi memori yang lebih sedikit
dibandingkan dengan Indirect Addressing. 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 ditunjuk 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.
f) Displacement
Addressing (EA =A + (R))
Mode
pengalamatan yang fleksibel yang mampu mengkombinasikan Direct Addressing dan
Indirect Register Addressing. Diplacement Addressing yang kompleks
mensyaratkan instruksi untuk memiliki dua buah field alamat, dan sedikitnya
sebuah field yang eksplisit. Nilai A yang eksplisit digunakan secara direct
sedangkan (R) merupakan referensi implisit yang berdasarkan opcode, mengacu ke
register yang isinya ditambahkan ke A sehingga memperoleh Effective Address.
Menggabungkan kemampuan pengalamatan langsung dan pengalamatan register tidak
langsung. Mode ini mensyaratkan instruksi memiliki dua buah field alamat,
sedikitnya sebuah field yang eksplisit. Field eksplisit bernilai A dan field
implisit mengarah pada register. Operand berada pada alamat A ditambah
isi register.
Tiga model
displacement :
a. Relative
addressing, register yang direferensi secara implisit adalah program counter
(PC).
b. Base
register addressing, register yang direferensikan berisi sebuah alamat memori,
dan field alamat berisi perpindahan dari alamat itu.
c. Indexing
adalah field alamat mereferensi alamat memori utama, dan register yang
direferensikan berisi pemindahan positif dari alamat tersebut.
g) Stack
Addressing (EA = puncak stack)
Stack adalah
array lokasi yang linear, yang merupakan blok lokasi yang terbalik, sehingga
sering disebut juga Last In First Out Queue. Tidak ada referensi memori di
dalam Stack Addressing di mana aplikasi memori yang dimilikinya terbatas. Stack
addressing merupakan bentuk implied addressing. Instruksi-instruksi mesin tidak
perlu memiliki referensi memori namun secara implisit beroperasi pada bagian
paling atas stack. Stack adalah array lokasi yang linier=pushdown
list=last-in-firstout-queue. Stack merupakan blok lokasi yang terbalik.
Design Set Instruksi
Desain set
instruksi merupakan masalah yang sangat komplek yang melibatkan banyak aspek,
diantaranya adalah:
- Kelengkapan
set instruksi
- Ortogonalitas
(sifat independensi instruksi)
- Kompatibilitas
: – Source code compatibility – Object code Compatibility
Selain
ketiga aspek tersebut juga melibatkan hal-hal sebagai berikut:
- Operation
Repertoire: Berapa banyak dan operasi apa 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
Sumber:
- https://id.wikipedia.org/wiki/Set_instruksi
- http://siskommbawawa.blogspot.co.id/
- https://taufikrmd.blogspot.co.id/2014/11/makalah-set-intruksi-teknik-pengalamatan.html
No comments:
Post a Comment