Che cos'è un set di istruzioni?
Un set di istruzioni, o un'architettura di set di istruzioni, è l'insieme collettivo di comandi che un processore di computer può eseguire. Tutto ciò che fa un computer, dall'esecuzione di un'applicazione di elaborazione testi alla codifica di file video, è riducibile a una combinazione di questi comandi. I programmatori non creano direttamente i programmi attraverso queste istruzioni ma utilizzano un tipo speciale di software noto come compilatore che traduce il codice di programmazione in istruzioni della macchina. La maggior parte dei personal computer utilizza un set di istruzioni utilizzato per la prima volta negli anni '70, mentre smartphone, tablet e altri dispositivi utilizzano set di istruzioni più semplici ottimizzati per ambienti a basso consumo.
I computer possono sembrare in grado di svolgere attività illimitate, ma i microprocessori al loro interno sono in grado di eseguire solo un numero limitato di comandi predefiniti, noti come istruzioni. Di per sé, ogni istruzione è relativamente semplice, forse dice al processore di aggiungere due numeri o di spostare un dato da una posizione a un'altra. Se combinate, queste istruzioni di base diventano piuttosto potenti e vengono utilizzate come base per tutti i tipi di software. Le prestazioni e la compatibilità di una CPU sono direttamente correlate al numero e al tipo di istruzioni supportate dalla CPU, rendendo le istruzioni un elemento critico per il successo commerciale o il fallimento di qualsiasi nuovo design.
Una CPU può eseguire solo funzioni che fanno parte del suo set di istruzioni, ma pochissimi programmatori di computer incorporano questi comandi nel loro software. Invece, viene utilizzato un passaggio intermedio noto come compilazione. In questo processo, un programma noto come compilatore traduce il codice a misura d'uomo utilizzato dai programmatori in un "codice macchina" che il processore comprende. Poiché processori per computer diversi supportano set di istruzioni diversi, è necessario progettare un compilatore per il tipo di processore su cui è previsto l'esecuzione del programma. Con i moderni microprocessori in grado di eseguire fino a centinaia di milioni o addirittura miliardi di istruzioni in un solo secondo, i compilatori sono diventati l'unico mezzo pratico per creare software per computer.
I microprocessori utilizzati in quasi tutti i personal computer venduti dagli anni '80 utilizzano un set di istruzioni chiamato x86, originariamente progettato per un processore Intel® che ha debuttato a metà degli anni '70. Il desiderio di compatibilità con le versioni precedenti ha contribuito a mantenere x86 dominante nel mercato dei PC, sebbene occasionalmente vengano aggiunte nuove istruzioni tramite estensioni. Molti smartphone, tablet e altri tipi di elettronica di consumo utilizzano microprocessori basati sul set di istruzioni ARM, che è più semplice ed efficiente dal punto di vista energetico rispetto a x86. Server di fascia alta, supercomputer e altri dispositivi specializzati come console di gioco possono utilizzare diversi set di istruzioni.