Questa voce o sezione sull'argomento informatica è ritenuta da controllare.
Motivo: La voce presenta varie imprecisioni, concetti di dubbia correttezza e, in alcuni punti, palesi stupidaggini. Da controllare a fondo la coerenza interna dell'esposizione.
Un'ISA (Instruction Set Architecture) è una specifica che definisce l'insieme di tutti i codici binari (opcode) che rappresentano i comandi eseguibili nativamente da un particolare design di CPU. L'insieme degli opcode di una specifica ISA è detto anche linguaggio macchina della ISA.
Un'ISA può anche essere emulata da un interprete software. Poiché l'emulatore deve tradurre da un'ISA ad un'altra, questa soluzione è in generale più lenta rispetto ad una ISA implementata in hardware. Oggi, i produttori di nuove ISA o microarchitetture spesso forniscono emulatori agli sviluppatori di software prima che l’hardware sia pronto. Questo permette loro di iniziare a lavorare e testare i loro programmi in anticipo.
I diversi ISA possono essere divisi in due macro-categorie: i RISC (Reduced Instruction Set Computer) e i CISC (Complex Instruction Set Computer). Le ISA RISC tendono ad avere operazioni semplici e veloci, con un'ampia disponibilità di registri per memorizzare i risultati intermedi. Invece, le ISA CISC mettono a disposizione del programmatore istruzioni più complesse, che talvolta replicano quelle dei linguaggi di alto livello (ad esempio, la copia di stringhe nei processori x86). In entrambi i casi, i migliori set di istruzioni tendono ad essere i cosiddetti set ortogonali, in cui i diversi metodi di indirizzamento e i vari registri possono essere utilizzati in modo intercambiabile in tutte le istruzioni. Esempi famosi di set di istruzioni ortogonali sono quelli del Motorola 68000 (CISC) e del MIPS (RISC). L'ISA dei processori Intel x86 era originariamente poco ortogonale, ma è stata progressivamente migliorata nel tempo.
La distinzione tra set di istruzioni RISC e CISC è oggi un po' sfumata, perché la maggior parte dei processori consumer sono oggi dei CRISP, un misto tra i due tipi di set.
Inoltre, alcuni processori traducono l'ISA originale in un set di istruzioni interno, per ragioni e con modalità diverse:
nel caso dell'IntelPentium 4 e dell'AMDAthlon, è per liberarsi dalle limitazioni causate da un'ISA retrocompatibile ormai arcaica, e la conversione è eseguita direttamente da un hardware dedicato che effettua la necessaria decodifica;
nel caso dei processori Transmeta, è per poter "tradurre" ISA di altri processori esistenti come se fossero proprie, e la traduzione è fatta da qualcosa di concettualmente molto simile alle routine firmware (denominate microcodice) memorizzate in un'area ROM ricavata sul silicio del microprocessore.