ARSITEKTUR SET INTRUKSI




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 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.

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.
Hasil gambar untuk desain set instruksi


JENIS JENIS INTRUKSI



Ø  Data Processing / Pengolahan Data : instruksi-instruksi aritmetika dan logika. Instruksi aritmetika memiliki kemampuan untuk mengolahdata numeric, sedangkan instruksi logika beroperasi pada bit-bit word sebagai bit bukan sebagai bilangan. Operasi-operasi tersebut dilakukan terutama untuk data di register CPU.

Ø   Data Storage / Penyimpanan Data : instruksi-instruksi memori. Instruksi-instruksi memori diperlukan untuk memindah data yang terdapat di memori dan register.

Ø  Data Movement / Perpindahan Data : instruksi I/O. Instruksi-instruksi I/O diperlukan untuk memindahkan program dan data ke dalam memori dan mengembalikan hasil komputansi kepada pengguna.


Ø    Control / Kontrol : instruksi pemeriksaan dan percabangan. Instruksi-instruksi kontrol digunakan untuk memeriksa nilai data, status komputansi dan mencabangkan ke set instruksi lain.

Hasil gambar untuk jenis jenis instruksi


ARITHMETIC Tindakan CPU untuk melakukan operasi arithmetic :


Operasi set instruksi untuk arithmetic :
1. ADD : penjumlahan 5. ABSOLUTE
2. SUBTRACT : pengurangan NEGATIVE
3. MULTIPLY : perkalian 7. DECREMENT
4. DIVIDE : pembagian 8. INCREMENT
Nomor 5 sampai 8 merupakan instruksi operand tunggal.

LOGICAL Tindakan CPU sama dengan arithmetic

Operasi set instruksi untuk operasi logical :
1. AND, OR, NOT, EXOR
2. COMPARE : melakukan perbandingan logika.
3. TEST : menguji kondisi tertentu.
4. SHIFT : operand menggeser ke kiri atau kanan menyebabkan
konstanta pada ujung bit.
5. ROTATE : operand menggeser ke kiri atau ke kanan dengan
ujung yang terjalin.

Operasi set instruksi untuk transfer data :

MOVE : memindahkan word atau blok dari sumber ke tujuan
STORE : memindahkan word dari prosesor ke memori.
LOAD : memindahkan word dari memori ke prosesor.
EXCHANGE : menukar isi sumber ke tujuan.
CLEAR / RESET : memindahkan word 0 ke tujuan.
SET : memindahkan word 1 ke tujuan.
PUSH : memindahkan word dari sumber ke bagian paling atas stack.
POP : memindahkan word dari bagian paling atas sumber


INPUT / OUPUT Tindakan CPU untuk melakukan INPUT /OUTPUT :

1. INPUT : memindahkan data dari pernagkat I/O tertentu ke
tujuan
2. OUTPUT : memindahkan data dari sumber tertentu ke
perangkat I/O
3. START I/O : memindahkan instruksi ke prosesor I/O untuk
mengawali operasi I/O
4. TEST I/O : memindahkan informasi dari sistem I/O ke tujuan


TEKNIK PENGALAMATAN

Hasil gambar untuk teknik pengalamatan

 Pengalamatan adalah bagaimana cara menunjuk dan mengalamati suatu lokasi memori pada sebuah alamat di mana operand akan diambil. Mode pengalamatan diterapkan pada set instruksi,dimana pada umumnya instruksi terdiri dari opcode (kode operasi) dan alamat. Setiap mode pengalamatan memberikan fleksibilitas khusus yang sangat penting. Mode pengalamatan inimeliputi direct addressing, indirect addressing, dan immediate addressing.


Direct Addresing

Dalam mode pengalamatan direct addressing, harga yang akan dipakai diambil langsung dalam alamat memori lain. Contohnya: MOV A,30h. Dalam instruksi ini akan dibaca data dari RAMinternal dengan alamat 30h dan kemudian disimpan dalam akumulator. Mode pengalamatan inicukup cepat, meskipun harga yang didapat tidak langsung seperti immediate, namun cukup cepatkarena disimpan dalam RAM internal. Demikian pula akan lebih mudah menggunakan mode inidaripada mode immediate karena harga yang didapat bisa dari lokasi memori yang mungkinvariabel.

Kelebihan dan kekurangan dari Direct Addresing antara lain :

Kelebihan

• Field alamat berisi alamat efektif sebuah operand.

 Kelemahan

• Keterbatasan field alamat karena panjang field alamat biasanya lebih kecil dibandingkan panjang word.

Indirect Addresing


Mode pengalamatan indirect addressing sangat berguna karena dapat memberikan fleksibilitastinggi dalam mengalamati suatu harga.Mode ini pula satu-satunya cara untuk mengakses 128 byte lebih dari RAM internal pada keluarga 8052. Contoh: MOV A,@R0. Dalam instruksi tersebut, 89C51 akan mengambil harga yang berada pada alamat memori yang ditunjukkan olehisi dari R0 dan kemudian mengisikannya ke akumulator. Mode pengalamatan indirect addressing selalu merujuk pada RAM internal dan tidak pernah merujuk pada SFR. Karena itu,menggunakan mode ini untuk mengalamati alamat lebih dari 7Fh hanya digunakan untukkeluarga 8052 yang memiliki 256 byte spasi RAM 

internal.Kelebihan dan kekurangan dari Indirect Addresing antara lain :
Kelebihan

• Ruang bagi alamat menjadi besar sehingga semakin banyak alamat yang dapat referensi.

 Kekurangan

• Diperlukan referensi memori ganda dalam satu fetch sehingga memperlambat preoses operasi

Immediate Addresing

 Mode pengalamatan immediate addressing sangat umum dipakai karena harga yang akandi simpan dalam memori langsung mengikuti kode operasi dalam memori. Dengan kata lain,tidak diperlukan pengambilan harga dari alamat lain untuk disimpan. Contohnya: MOV A,#20h.Dalam instruksi tersebut, akumulator akan diisi dengan harga yang langsung mengikutinya,dalam hal ini 20h. Mode ini sangatlah cepat karena harga yang dipakai langsung tersedia.

Kelebihan dan kekurangan dari Immedieate Addresing antara lain :

Keuntungan

Tidak adanya referensi memori selain dari instruksi yang diperlukan untuk memperoleh
operand.
Menghemat sik
lus instruksi sehingga proses keseluruhan akan cepat.

Kekurangan

 Ukuran bilangan dibatasi oleh ukuran field alamat

DESAIN SET INTRUKSI
Hasil gambar untuk desain set instruksi


 Salah satu yang paling menarik dan paling dianalisis, aspek desain komputer adalah desain set instruksi. Desain set instruksi sangat kompleks, karena memengaruhi begitu banyak aspek sistem komputer. Set instruksi mendefinisikan banyak fungsi yang dilakukan oleh CPU dan dengan demikian memiliki efek signifikan pada implementasi CPU. Set instruksi adalah cara programmer mengendalikan CPU. Dengan demikian, persyaratan programmer harus dipertimbangkan dalam merancang set instruksi. Masalah desain yang paling penting termasuk yang berikut:

Repertoar operasi: Berapa banyak dan operasi mana yang harus disediakan, dan seberapa rumit operasi seharusnya
Tipe data: Berbagai tipe data yang digunakan untuk operasi
Format instruksi: Panjang instruksi (dalam bit), jumlah alamat, ukuran berbagai bidang, dan sebagainya.
Register: Jumlah register CPU yang dapat dirujuk dengan instruksi, dan penggunaannya.
Mengalamatkan: Mode atau mode dimana alamat dari operan ditentukan

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 dan 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 4.Addressing: Mode pengalamatan untuk operand.



Komentar