Sunday, October 22, 2017

Arsitektur Set Instruksi

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 registermode pengalamatanarsitektur memori, penanganan interupsieksepsi, 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 registermode pengalamatanarsitektur memori, penanganan interupsieksepsi, 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 x86IA-64IBM PowerPCMotorola 68000Sun SPARCDEC 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