Le istruzioni macchina sono programmi o comandi di codice macchina. In altre parole, comandi scritti nel codice macchina di un computer che può riconoscere e successivamente eseguire.
Il codice macchina o il linguaggio macchina si riferisce a un linguaggio di programmazione per computer costituito da una stringa di uno e zero, ovvero codice binario. I computer possono rispondere direttamente al codice macchina, cioè senza alcuna direzione o conversione.
BusinessDictionary.com ha la seguente definizione di istruzioni macchina:
Comandi operativi (programma) scritti nel codice nativo (codice macchina) di una macchina (come un computer o un robot) che può riconoscere ed eseguire.
Le istruzioni macchina costituiscono il programma in linguaggio macchina
Un'istruzione macchina è composta da diversi byte di memoria. Dice alla CPU del computer di eseguire un'operazione della macchina. CPU sta per Central Processing Unit.
La CPU esamina le istruzioni della macchina nella memoria principale del sistema, una dopo l'altra. Per ogni istruzione macchina, esegue un'operazione macchina.
Il programma in linguaggio macchina è la raccolta di tutte le istruzioni macchina nella memoria principale.
L'unità di controllo del computer elabora le istruzioni della macchina in modo graduale.
Istruzioni della macchina quattro passaggi principali
Ci sono quattro fasi principali nel ciclo di istruzioni della macchina:
Fetch: il processore preleva l'istruzione dall'indirizzo di memoria. Memorizza l'indirizzo nel PC (Program Counter) e IR (Instruction Register). Il PC punta all'istruzione successiva al termine dell'operazione di recupero.
Decodifica: il processore interpreta e decodifica l'istruzione. L'istruzione all'interno dell'IR viene decodificata.
Esegui: l'unità di controllo della CPU decodifica i dati come una sequenza di segnali di controllo alle unità funzionali pertinenti della CPU. Queste unità eseguono le azioni indicate dall'istruzione.
Store: l'operazione genera un risultato, che il processore memorizza nella memoria principale. A volte, può inviarlo a un dispositivo di output.
Secondo chortle.ccsu.edu:
Ogni piccola operazione elettronica che un core del processore può eseguire è chiamata operazione della macchina. Un processore (una macchina) li esegue uno alla volta, ma miliardi in un secondo.
Conversione di istruzioni umane in istruzioni di macchine
I programmatori umani non scrivono programmi come lunghe stringhe di uno e zero o sequenze di cifre binarie. Usano Python, BASIX, Ruby, Java, C++ o un altro linguaggio di programmazione. Chiamiamo questi linguaggi di programmazione di alto livello.
Le lingue di alto livello sono più simili alla lingua scritta di tutti i giorni usata dagli umani, piuttosto che a sequenze di numeri binari. Ma i computer non li capiscono.
Prima che un processore di un computer possa eseguire le istruzioni in linguaggi di alto livello, devono essere tradotte in un codice binario.
Nel mondo della programmazione informatica esistono due linguaggi:
Linguaggio leggibile dall'uomo. In questo caso, gli esseri umani possono leggerli e capirli, ma le macchine no.
Linguaggio leggibile dalla macchina. Questi appaiono come lunghe stringhe di uno e zero e dicono al processore del computer cosa fare. Gli esseri umani non possono leggere la lingua, solo le macchine (computer) possono farlo.
Compilatori e interpreti
La maggior parte dei software di programmazione ha un software di traduzione che converte linguaggi di alto livello in istruzioni macchina. Chiamiamo questi traduttori compilatori e interpreti. I compilatori o gli interpreti traducono la lingua.
Un compilatore traduce un programma leggibile dall'uomo in un modulo leggibile dalla macchina prima che il programma possa essere eseguito.
Un interprete traduce un programma leggibile dall'uomo, istruzione dopo istruzione, in una forma esecutiva, leggibile dalla macchina. Quindi, esegue ogni istruzione che ha tradotto prima di passare a quella successiva. Ogni volta che il programma viene eseguito, viene tradotto.