- 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).
- ISA merupakan sebuah spesifikasi dari Pullman semua kode-kode biner (opcode) yang diimplementasikan dalam bentuk aslinya (native form) dalam sebuah desain prosesor tertentu. 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.
- ISA kadang-kadang digunakan untuk membedakan kumpulan karakteristik yang disebut di atas dengan mikroarsitektur prosesor, yang merupakan kumpulan teknik desain prosesor untuk mengimplementasikan set instruksi (mencakup microcode, pipeline, sistem cache, manajemen daya, dan lainnya). Komputer-komputer dengan mikroarsitektur berbeda dapat saling berbagi set instruksi yang sama. Sebagai contoh, prosesor Intel Pentium dan prosesor AMD Athlon mengimplementasikan versi yang hampir identik dari set instruksi Intel x86, tetapi jika ditinjau dari desain internalnya, perbedaannya sangat radikal. Konsep ini dapat diperluas untuk ISA-ISA yang unik seperti TIMI yang terdapat dalam IBM System/38 dan IBM IAS/400. TIMI merupakan sebuah ISA yang diimplementasikan sebagai perangkat lunak level rendah yang berfungsi sebagai mesin virtual. TIMI didesain untuk meningkatkan masa hidup sebuah platform dan aplikasi yang ditulis untuknya, sehingga mengizinkan platform tersebut agar dapat dipindahkan ke perangkat keras yang sama sekali berbeda tanpa harus memodifikasi perangkat lunak (kecuali yang berkaitan dengan TIMI). Hal ini membuat IBM dapat memindahkan platform AS/400 dari arsitektur mikroprosesor CISC ke arsitektur mikroprosesor POWER tanpa harus menulis ulang bagian-bagian dari dalam sistem operasi atau perangkat lunak yang diasosiasikan dengannya.
- Ketika mendesain mikroarsitektur, para desainer menggunakan Register Transfer Language (RTL) untuk mendefinisikan operasi dari setiap instruksi yang terdapat dalam ISA.
- Sebuah ISA juga dapat diemulasikan dalam bentuk perangkat lunak oleh sebuah interpreter. Karena terjadi translasi tambahan yang dibutuhkan untuk melakukan emulasi, hal ini memang menjadikannya lebih lambat jika dibandingkan dengan menjalankan program secara langsung di atas perangkat keras yang mengimplementasikan ISA tersebut. Akhir-akhir ini, banyak vendor ISA atau mikroarsitektur yang baru membuat perangkat lunak emulator yang dapat digunakan oleh para pengembang perangkat lunak sebelum implementasi dalam bentuk perangkat keras dirilis oleh vendor.
Daftar ISA
di bawah ini tidak dapat dikatakan komprehensif, mengingat banyaknya arsitektur
lama yang tidak digunakan lagi saat ini atau adanya ISA yang baru dibuat oleh
para desainer.
o
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.
- 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
I/O diperlukan untuk memindahkan program dan data kedalam memori dan
mengembalikan hasil komputasi kepada pengguna.
o
Desain
Set Instruksi
Desain set instruksi merupakan masalah yang sangatkomplek yang melibatkan banyak aspek, diantaranya adalah :
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
o
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
:
·
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
- 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
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
- 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
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
- 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
Keuntungan :
1.
Diperlukan
field alamat berukuran kecil dalam instruksi dan tidak diperlukan referensi
memori
2.
Akses
ke register lebih cepat daripada akses ke memori, sehingga proses eksekusi akan
lebih cepat
Kerugian :
·
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-pprogram iteratif
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 :
- https://fajarhidayat513.wordpress.com/2016/11/06/arsitektur-set-instruksi/
- https://id.wikipedia.org/wiki/Set_instruksi
No comments:
Post a Comment