Domanda di partenza
In che modo la calcolatrice che c’è in un PC “parla” col processore centrale e gli fa compiere le operazioni aritmetiche, ad esempio 2 + 2?
Spiegazione sintetica
L’app Calcolatrice non dice davvero al processore: “fai due più due” usando parole umane. Quando premi i tasti 2 + 2 =, il programma registra i dati, decide quale operazione deve essere eseguita e prepara una serie di istruzioni comprensibili dalla macchina.
-
Tu inserisci un’operazione.
Per esempio: 2 + 2. -
L’app interpreta la richiesta.
Capisce che servono due numeri e un’operazione di addizione. -
I numeri vengono caricati in memoria o nei registri.
In questa simulazione usiamo:LOAD R1, 2 LOAD R2, 2 -
L’operazione viene indicata con un opcode.
Un opcode è il codice binario dell’operazione da eseguire. In questa attività:ADD = 0001 -
La CPU riceve un’istruzione macchina.
Per esempio:ADD R1, R2, R3significa: somma il contenuto di R1 e R2 e metti il risultato in R3. -
L’istruzione viene eseguita elettronicamente.
La CPU non “capisce” come una persona: riconosce configurazioni di bit e attiva circuiti logici. -
Il risultato torna all’app.
Il risultato viene convertito in una forma leggibile e mostrato sullo schermo:2 + 2 = 4
Esempio completo: 2 + 2
Questa è una simulazione didattica: i codici sono inventati per l’attività, ma il principio è quello reale. Le CPU reali hanno molti più codici e istruzioni molto più complesse.
Numeri non interi in binario
Finora abbiamo usato solo numeri interi da 0 a 50. Ma anche i numeri con la virgola possono essere rappresentati in binario.
La parte intera funziona come abbiamo già visto: si usano le potenze di 2 positive. La parte dopo la virgola, invece, usa le potenze di 2 negative.
Esempio: 10,625
Separiamo il numero in due parti:
La parte intera è:
La parte decimale è:
Quindi:
E il numero completo diventa:
Attenzione
Non tutti i numeri decimali si possono rappresentare in modo finito in binario. Per esempio, il numero decimale 0,1 in binario non finisce: produce una sequenza periodica.
Per questo i computer spesso usano approssimazioni quando lavorano con numeri con la virgola. Nei processori reali questi numeri vengono gestiti con sistemi chiamati numeri in virgola mobile.
In questa attività restiamo però sui numeri interi, perché lo scopo principale è capire il rapporto tra operazione, opcode, registri e codice binario.
Idea di base
La pagina usa un linguaggio macchina semplificato. Non riproduce una CPU reale, ma mostra il principio: un’istruzione viene tradotta in blocchi di bit.
Simulatore: dal calcolo al programma binario
Scegli un’operazione e due numeri. Il simulatore mostra il programma completo.
Esercizi per gli allievi
Esercizio 1: riconosci il codice operativo
Esercizio 2: scrivi il programma binario completo
Esercizio 3: inventa tu l’operazione
Scrivi o scegli un’operazione con numeri decimali da 0 a 50. Poi costruisci sotto il programma binario completo.
Promemoria
Le prime due righe contengono i numeri. La terza riga contiene solo registri.