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 kumpulan 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.
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.
Bagian dari instruksi
Satu instruksi mungkin memiliki beberapa bidang, yang
mengidentifikasi operasi logis untuk dilakukan, dan bisa juga menyertakan
alamat sumber dan tujuan dan nilai-nilai konstan. Ini adalah MIPS
"Tambahkan Segera" instruksi yang memungkinkan pemilihan register
sumber dan tujuan dan inklusi dari sebuah konstanta kecil. pada arsitektur
tradisional, instruksi mencakup pop code menentukan operasi yang akan
dilakukan, seperti "isi menambah memori untuk mendaftar", dan nol
atau lebih operan
penspesifikasi, yang dapat menentukan register, memori lokasi,
atau data harfiah. Para penspesifikasi operan
mungkin memilikimode
pengamatan menentukan makna
mereka atau mungkin dalam bidang tetap. Dalam (VLIW) arsitektur, yang mencakup
banyak microcode arsitektur, opkode simultan dan operan
yang ditentukan dalam sebuah instruksi.
Beberapa set instruksi eksotis tidak memiliki bidang opcode
(seperti Transportasi Dipicu Arsitektur (TTA) atau mesin
Forth maya), hanya operan (s). Lainnya tidak biasa " 0-operan"
set instruksi kekurangan dalam suatu operan bidang specifier, seperti beberapa mesin
tumpukan termasuk NOSC / balik / NOSC /.
ISA yang diimplementasikan dalam bentuk perangkat keras
§
MIPS
§
SPARC
§
Tricore (Infineon)
§
Transputer (STMicroelectronics)
ISA yang diimplementasikan dalam bentuk perangkat lunak lalu dibuat perangkat kerasnya
§
p-Code (UCSD p-System Version III on Western
Digital Pascal Micro-Engine)
§
FORTH
§
SECD machine
§
ALGOL Object Code
Sumber : http://id.wikipedia.org/wiki/Set_instruksi
Tidak ada komentar:
Posting Komentar