
(la videolezione) Il linguaggio macchina è l’unico idioma che la CPU comprende direttamente, ed è composto da una sequenza di numeri binari — zero e uno — che rappresentano istruzioni eseguibili dal processore. Ogni operazione, dal calcolo più complesso alla semplice accensione di un LED, parte proprio da qui.
Il linguaggio non è pensato per gli esseri umani, ma per la velocità e la semplicità di interpretazione da parte dell’hardware. Ogni istruzione corrisponde a un codice operativo (opcode) che indica alla CPU cosa fare, seguito da eventuali operandi, cioè i dati o gli indirizzi su cui lavorare.
E ora entriamo nella danza ritmica che ogni CPU esegue incessantemente: il ciclo di fetch-decode-execute, ovvero le tre fasi principali con cui un processore “digerisce” le istruzioni.
Fetch — Acquisizione dell’istruzione
In questa fase, la CPU legge l’istruzione successiva dalla memoria. Il Program Counter (PC) indica l’indirizzo da cui prelevare l’istruzione e la invia al Registro Istruzione. È come se la CPU dicesse: “Fammi vedere quale comando devo eseguire adesso.”
Decode — Decodifica
Una volta caricata l’istruzione, l’unità di controllo la interpreta. La suddivide in opcode e operandi e determina quali circuiti interni devono essere attivati. È come tradurre un messaggio cifrato in comandi specifici: “Ah, vuoi che io sommi due numeri? Perfetto, preparo l’ALU.”
Execute — Esecuzione
L’operazione viene finalmente eseguita. L’unità aritmetico-logica (ALU) o altre componenti entrano in azione, calcolando, trasferendo dati o modificando lo stato del sistema. Al termine, la CPU aggiorna eventualmente flag, registri o la memoria, e passa alla prossima istruzione.
Questo ciclo si ripete milioni di volte al secondo — o anche miliardi, nei processori moderni. Ed è sorprendente pensare che ogni software che usiamo, dai videogiochi agli strumenti di ingegneria, venga alla fine tradotto e “masticato” in questo linguaggio primordiale ma potentissimo.