PENGERTIAN
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 instruksiyang dipakai,
jenis register, mode pengalamatan, arsitektur memori,
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.
JENIS
- JENIS
·
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.
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.
TEKNIK PENGAWATAN
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
DESAIN & 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
SUMBER :
- http://abdi-villa.blogspot.com/2012/10/arsitektur-set-instruksi-dan-cpu.html
- http://siezwoyouye.blogspot.com/2012/10/arsitektur-set-instruksi.html
- https://penawikara.wordpress.com/2013/05/31/mode-pengalamatan/
- https://id.wikipedia.org/wiki/Set_instruksi
0 komentar:
Posting Komentar