CHI HA PAURA DELL’INTELLIGENZA ARTIFICIALE?
Immagina di tornare nel 1945: John von Neumann mette su carta un’idea che cambierà per sempre la nostra vita. L’intuizione è tanto semplice quanto geniale: mettere nello stesso posto sia i dati sia il programma che li elabora. In altre parole, non più macchine rigide che sanno fare solo una cosa, ma un’architettura flessibile, capace di eseguire qualsiasi compito basti scriverne le istruzioni. È la nascita del concetto di stored program e della cosiddetta macchina di Von Neumann, la madre di tutti i computer moderni.
Come funziona, in pratica? Pensa a un piccolo teatro. Sulla scena troviamo gli attori principali: la CPU, che è un po’ il regista, divisa in due parti. Da un lato la Control Unit, che dà ordini e scandisce i tempi come un direttore d’orchestra. Dall’altro la ALU, che invece fa il lavoro sporco: addizioni, confronti logici, calcoli di ogni tipo. Attorno a loro c’è la memoria, dove dormono dati e istruzioni, pronti a essere chiamati in scena. Ai margini ci sono le comparse fondamentali: tastiere, microfoni, sensori che portano input, e monitor, stampanti o altoparlanti che restituiscono l’output.
Il cuore di tutto, però, batte in tre mosse ripetute senza sosta: Fetch, Decode, Execute. La CPU prende un’istruzione dalla memoria, la interpreta e poi la esegue. Finito? Si ricomincia. È un ritmo instancabile, un metronomo che oggi viaggia a miliardi di cicli al secondo.
Certo, non è tutto rose e fiori. Il fatto che dati e istruzioni passino dallo stesso “tubo” crea il famoso collo di bottiglia di Von Neumann: quando tutto deve attraversare un unico canale, i rallentamenti sono inevitabili. Negli anni si sono trovati mille trucchi per aggirarlo: cache ultraveloci, esecuzione fuori ordine, previsioni di salto. Oppure si è scelta la strada dell’architettura Harvard, che separa fisicamente memoria e bus di dati e istruzioni, così da farli correre in parallelo.
E qui entra in scena il modello più universale e intuitivo di tutti: quello Input–Elaborazione–Output (I–E–O). Funziona come una lente con cui osservare qualsiasi sistema, dal computer alla lavatrice. Qualcosa entra come input, subisce trasformazioni e regole durante l’elaborazione e infine diventa output. Ti suona familiare? Se ordini un caffè alla macchinetta, l’input sei tu che inserisci capsula e acqua, l’elaborazione è il riscaldamento e l’estrazione, l’output è il caffè fumante in tazza. E così vale per app, registratori di cassa, bancomat, semafori intelligenti: tutti si lasciano raccontare con questa piccola ma potentissima griglia logica.
Dietro questo schema così pulito, però, c’è il lavoro invisibile della macchina di Von Neumann, che legge, decodifica, esegue e conserva. È lei a garantire che il PIN venga controllato, che il percorso del navigatore sia ricalcolato se sbagli strada, che la tua foto finisca davvero online.
La bellezza è che puoi divertirti a scomporre qualsiasi azione quotidiana in I–E–O. Prova: cosa succede quando pubblichi un post? O quando metti in moto l’auto? Se ti accorgi di un “errore” (capsula non inserita, PIN errato, rete assente), ecco che hai scoperto anche le eccezioni, i momenti in cui il flusso si interrompe e bisogna gestire l’imprevisto.
In fondo, capire Von Neumann e l’I–E–O non serve solo a programmatori e ingegneri. È un modo per leggere il mondo con occhi nuovi: dietro ogni tecnologia che usiamo ogni giorno c’è lo stesso copione, la stessa danza ritmica tra input, elaborazione e output. E quando qualcuno ti dice che “la CPU esegue miliardi di istruzioni al secondo”, puoi sorridere pensando che, in realtà, sta solo recitando a velocità folle una sceneggiatura scritta nel 1945.
L’architettura di Von Neumann (1945) è il “modello base” dei computer moderni. L’idea rivoluzionaria è programma e dati nella stessa memoria (stored-program concept). Gli ingredienti:
Schema mentale (ultra semplificato):
Input ──► [ CPU = CU + ALU ] ──► Output
│ ▲
▼ │
Memoria ◄───┘
Registri chiave:
Condividere lo stesso canale memoria per dati e istruzioni può rallentare. Rimedî:
Von Neumann vs Harvard (in 10 secondi):
È un modo di pensare qualsiasi sistema informatico (e non solo!):
Vista a blocchi (con memoria di lavoro):
┌───────────┐
Input ─►│ ELABORA │─► Output
└────┬──────┘
│
Memoria
Pensare in I–E–O aiuta a progettare, spiegare, debuggare: dal compito di scuola a una app, fino a una lavatrice smart.
| Sistema | Input | Elaborazione | Output |
|---|---|---|---|
| Calcolatrice | 2 + 2 |
Addizione | 4 |
| App meteo | Posizione GPS | Chiamata API + parsing | Temperatura/Previsioni |
| Registratore cassa | Codice prodotto | Prezzo + IVA + totale | Scontrino |
| Bancomat | Carta + PIN + importo | Autenticazione + verifica fondi | Contanti + ricevuta |
| Navigatore | Posizione, destinazione | Calcolo percorso, ETA | Mappa e istruzioni vocali |
| Lavatrice | Programma, peso | Controllo cicli, tempi, sensori | Biancheria lavata |
| Semaforo smart | Sensori traffico | Logiche priorità, timer | Luci semaforiche |
A = 2 + 3)+, 3.A.Esempio – Caffè con la macchinetta
Da proporre:
Estensione: chiedi “quali controlli di errore?” (capsula non inserita, PIN errato, rete assente…): nascono le eccezioni!
Materiali: fogli (dati/istruzioni), scatole (memoria/registri), post-it/frecce (bus), cronometro (clock).
Scegli uno scenario (prenotazioni del cinema / food delivery / lavatrice smart).
Plus: scrivi pseudocodice o un flowchart (diamanti = decisioni; rettangoli = azioni).
SE, SOMMA, ARROTONDA).Dai un flusso con un bug (es. calcola totale senza IVA). Gli studenti devono:
1. Qual è l’unità principale di elaborazione nella macchina di Von Neumann?
A) Hard disk
B) RAM
C) CPU
D) GPU
2. Nel modello I–E–O, cosa rappresenta “elaborazione”?
A) Il risultato finale
B) La memorizzazione dei dati
C) L’operazione eseguita sul dato
D) L’immissione dell’input
3. Quale dei seguenti non è un output?
A) Display di uno smartphone
B) Stampante
C) Tastiera
D) Altoparlante
4. In un’app di navigazione GPS, quale tra questi è l’input?
A) La mappa
B) La posizione dell’utente
C) Il percorso suggerito
D) Il tempo di arrivo stimato
5. Cosa si intende per stored-program concept?
A) Istruzioni hardwired nella CPU
B) Programma e dati condividono la stessa memoria
C) Il programma è solo su disco
D) Le istruzioni sono eseguite solo dalla GPU
6. Cos’è il ciclo Fetch–Decode–Execute?
A) Un algoritmo di ordinamento
B) La sequenza con cui la CPU legge, interpreta ed esegue istruzioni
C) Un protocollo di rete
D) Un metodo di compressione
7. Qual è il principale limite (bottleneck) dei sistemi Von Neumann?
A) Non supportano la RAM
B) Conflitto sul canale memoria condiviso per istruzioni e dati
C) Non possono stampare
D) Non usano bus
8. Quale tecnica riduce il collo di bottiglia?
A) Spegnere la cache
B) Usare solo RAM lenta
C) Cache e prefetch delle istruzioni
D) Disattivare gli interrupt
9. Differenza chiave tra Harvard e Von Neumann?
A) La Harvard non ha CPU
B) La Von Neumann non usa RAM
C) Harvard separa fisicamente dati e istruzioni
D) Von Neumann ha due ALU
10. In un registratore di cassa, quale componente calcola “prezzo + IVA”?
A) RAM
B) ALU (sotto il controllo della CU)
C) Disco
D) Monitor
11. In un sistema I–E–O, dove collochi la “validazione del PIN”?
A) Output
B) Elaborazione
C) Input
D) Memoria secondaria
12. Quale tra questi è un interrupt?
A) Un file di configurazione
B) Un segnale che sospende il flusso normale per gestire un evento esterno
C) Una riga di codice di stampa
D) Un formato grafico
Commenti
Posta un commento