Set instruksi

himpunan/set instruksi mesin yang dapat dijalankan oleh beberapa prosesor komputer
  • 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.

Bagian dari instruksi

sunting
 
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 opcode 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 memiliki mode pengamatan menentukan makna mereka atau mungkin dalam bidang tetap. Dalam [kata sangat panjang instruksi [

(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

sunting

ISA yang diimplementasikan dalam bentuk perangkat lunak lalu dibuat perangkat kerasnya

sunting
  • p-Code (UCSD p-System Version III on Western Digital Pascal Micro-Engine)
  • Java virtual machine (ARM Jazelle, PicoJava)
  • FORTH

ISA yang tidak pernah diimplementasikan dalam bentuk perangkat keras

sunting
  • SECD machine
  • ALGOL Object Code