# Computer

> Una macchina con il programma in memoria

- Data: 1948
- Epoca: Età moderna
- Ambito: [Elettricità ed elettronica](https://lastcodex.org/it/domains/electricity/)
- Fase: V (Era elettrica)
- Difficoltà: 5/5
- URL: https://lastcodex.org/it/inventions/computer/

Un computer è una macchina da calcolo programmabile; quella di oggi conserva il programma nella propria memoria e calcola in binario, con interruttori che possono essere solo accesi o spenti. Il primo a eseguire un programma da una memoria elettronica fu il «Baby» di Manchester, il 21 giugno 1948, e telefoni e portatili seguono ancora il suo schema.

![Computer · Una macchina con il programma in memoria](https://lastcodex.org/_astro/plate.DkNCXs84_Z29O0VA.webp)

## Legenda

1. Telai di valvole termoioniche
2. Tubo di memoria a raggi catodici: un punto per bit
3. Pannello di interruttori per inserire i dati
4. Telescrivente e nastro perforato
5. Relè: un interruttore mosso da un elettromagnete
6. Valvola termoionica: la griglia comanda la corrente
7. Transistor: l'interruttore a semiconduttore

## Che cos'è

Un computer esegue un programma, cioè un elenco di istruzioni, su dei dati. Nello schema a programma memorizzato descritto qui, il programma sta nella stessa memoria dei numeri su cui lavora, quindi la macchina può caricarne uno nuovo, modificarlo o scriverne un altro senza essere ricostruita. Questa idea distingue il computer a programma memorizzato dalle macchine programmabili precedenti, che prendevano le istruzioni da nastri, schede, spine o interruttori.

I computer di oggi lavorano in binario, con le sole cifre 0 e 1, perché due stati sono facili da rendere affidabili: un interruttore è aperto o chiuso. L'ENIAC e alcune altre macchine dei primi anni contavano ancora in decimale. Per una società che ricostruisce i propri strumenti, fa calcoli, governa macchine come pompe e reti elettriche e trasmette messaggi.

## Come funziona

**I numeri binari.** Il binario è un sistema posizionale come le nostre cifre decimali, ma ogni posizione vale il doppio di quella alla sua destra: 1, 2, 4, 8, 16. Tredici è 8 + 4 + 1 e si scrive 1101. Otto cifre binarie, o bit, coprono tutti gli interi da 0 a 255.

![Due circuiti con pila e lampadina: due pulsanti in serie a sinistra, due in parallelo a destra](https://lastcodex.org/_astro/v1.D9g9t3yx_Z16HBqQ.webp)
_In serie la lampadina si accende solo se si premono entrambi i pulsanti; in parallelo ne basta uno._

**Le porte logiche.** Due interruttori in serie accendono una lampada solo se sono chiusi tutti e due: è una porta AND. In parallelo ne basta uno qualsiasi: una porta OR. Un relè il cui contatto si apre quando la bobina riceve corrente forma una porta NOT, che trasforma 1 in 0. Il relè è mosso da un elettromagnete, la valvola termoionica dalla tensione sulla griglia, il transistor dal segnale sulla base o sul gate. Con AND, OR e NOT si può esprimere qualunque regola che leghi bit d'ingresso a bit d'uscita.

**Sommare con le porte.** In binario 1 + 1 fa 10: somma 0, riporto 1. Il bit di somma vale 1 quando esattamente uno degli ingressi vale 1, una regola detta OR esclusivo (XOR); il riporto vale 1 solo se valgono 1 entrambi, cioè un AND. Insieme formano un semisommatore. Un sommatore completo riceve anche il riporto dalla colonna di destra, e otto in catena sommano due numeri da 8 bit, colonna per colonna, come uno scolaro sul quaderno.

**La memoria.** Due porte NOR (un OR seguito da un NOT), in cui ogni uscita alimenta un ingresso dell'altra, formano un latch: un impulso su uno degli ingressi liberi lo porta a 1, un impulso sull'altro lo riporta a 0, e conserva quel bit finché c'è corrente. Manchester teneva i bit come punti carichi su un tubo a raggi catodici, l'EDSAC come impulsi sonori in tubi di mercurio. Ogni parola, un gruppo di bit, ha un numero, il suo indirizzo.

**Il ciclo.** Un registro, il contatore di programma, contiene l'indirizzo della prossima istruzione. Il processore la preleva, la decodifica, la esegue e ricomincia. Un'istruzione può sommare un numero della memoria all'accumulatore, salvare un risultato o saltare altrove se un valore è negativo; questo salto condizionato permette al programma di ripetere e di scegliere. Tastiere e sensori fanno entrare i dati; schermi, stampanti e motori fanno uscire i risultati.

## Come costruirlo

Un processore moderno richiede una fabbrica di chip, ma la sua logica si impara su un tavolo.

![Una breadboard con due interruttori a slitta, ciascuno dei quali accende un LED attraverso un resistore, alimentata da un portabatterie](https://lastcodex.org/_astro/v2.BZmkaJ-4_2vYesA.webp)
_Provate prima ogni interruttore con il suo LED; un LED ha sempre bisogno di un resistore in serie._

**Procurarsi il materiale.** Una breadboard senza saldature, due o tre pile AA in un portabatterie (da 3 a 4,5 V) o un alimentatore USB da 5 V, due deviatori bipolari, due LED, due resistori da 330 a 470 ohm e del filo. Ogni LED va montato con il piedino lungo (anodo) verso il deviatore e quello corto (catodo) a 0 V. Scrivete prima la tabella di verità: per gli ingressi A B = 00, 01, 10, 11 la somma è 0, 1, 1, 0 e il riporto 0, 0, 0, 1.

**Cablare il riporto.** Portate l'alimentazione al comune del primo polo di A, il suo contatto «acceso» al comune del primo polo di B e quel contatto «acceso» a un LED attraverso un resistore; l'altro piedino del LED torna a 0 V. Si accende solo per 11: è l'AND.

**Cablare la somma.** Sui secondi poli collegate il contatto «acceso» di A al contatto «spento» di B, e lo «spento» di A all'«acceso» di B. Alimentate il comune di A e portate il comune di B al secondo LED attraverso un resistore, con il catodo a 0 V. Si accende quando i deviatori sono in posizioni diverse: è lo XOR. Verificate i quattro casi sulla tabella.

**Concatenare un sommatore più grande.** Un sommatore completo è fatto di due semisommatori e di una porta OR che ne unisce i riporti. Da qui in poi conviene usare circuiti logici integrati: un sommatore a 4 bit richiede due 74HC86 (XOR), due 74HC08 (AND) e un 74HC32 (OR). Alimentateli come indica il datasheet (piedino 14 al positivo, piedino 7 a 0 V, un condensatore da 100 nF tra i due). Ogni riporto in uscita entra nella colonna successiva e il primo riporto in ingresso va a 0 V; ogni ingresso dei deviatori riceve un resistore da 10 kiloohm verso 0 V e ogni LED d'uscita uno da 1 kiloohm.

**Far girare un computer su carta.** Disegnate otto caselle di memoria numerate, un accumulatore e un contatore di programma a 0. Scrivete CARICA 5 nella casella 0, SOMMA 6 nella 1, SALVA 7 nella 2, STOP nella 3, poi 3 nella casella 5 e 4 nella 6. Fate voi il processore: leggete la casella indicata dal contatore, eseguitela, aggiungete uno al contatore. Alla fine la casella 7 contiene 7. Codificate poi ogni istruzione con due cifre, prima l'operazione e poi l'indirizzo, con CARICA 1, SOMMA 2, SALVA 3 e STOP 0: il programma diventa 15, 26, 37, 00, numeri tra i dati.

> **Sicurezza.** Solo pile o un alimentatore USB da 5 V, mai la corrente di rete. Ogni LED ha bisogno del suo resistore. Una pila o un power bank in cortocircuito può scaldare i fili fino a ustionare. Staccate l'alimentazione prima di modificare i collegamenti. L'uscita di un chip non può alimentare la bobina di un relè: comandatela con un transistor adatto alla sua corrente e mettete un diodo in parallelo alla bobina, con l'estremità segnata da una fascia (il catodo) verso il positivo, per assorbire il picco di tensione allo spegnimento.

## Storia ed evoluzione

![Schizzo semplificato del pezzo dimostrativo in ottone della macchina differenziale di Babbage: colonne di ruote tra pilastri](https://lastcodex.org/_astro/v3.ckntJ-IM_162ghr.webp)
_Schizzo semplificato della parte della sua prima macchina differenziale, un settimo, che Babbage fece montare nel 1832; funziona ancora._

La macchina analitica di Charles Babbage, ideata nel 1834, aveva un magazzino, un mulino per il calcolo e un programma su schede perforate; non fu mai costruita. Ada Lovelace pubblicò nel 1843 una sequenza di operazioni per essa. Le tabulatrici elettriche a schede di Herman Hollerith elaborarono il censimento statunitense del 1890.

Nel 1936 Alan Turing descrisse una macchina universale che legge le istruzioni dallo stesso nastro dei dati. Konrad Zuse presentò a Berlino il suo Z3 a relè il 12 maggio 1941. Da febbraio 1944 il Colossus elettronico di Tommy Flowers aiutò a forzare la cifratura tedesca Lorenz a Bletchley Park; rimase segreto fino agli anni Settanta. L'ENIAC di J. Presper Eckert e John Mauchly, a Filadelfia, presentato nel 1946, era di uso generale ma si programmava spostando cavi. Ognuno può dirsi il primo, a seconda che si chieda l'elettronica, l'uso generale o il programma memorizzato.

Il rapporto di John von Neumann sull'EDVAC, del 1945, nato dal lavoro con Eckert, Mauchly e altri, descriveva una macchina che tiene programma e dati in un'unica memoria. La prima a funzionare fu il «Baby» di Manchester, di Frederic Williams, Tom Kilburn e Geoff Tootill, il 21 giugno 1948. L'EDSAC di Maurice Wilkes, a Cambridge, seguì il 6 maggio 1949 e presto servì i suoi utenti.

Manchester fece funzionare un computer a transistor nel novembre 1953. I circuiti integrati, realizzati per la prima volta nel 1958, entrarono nei computer negli anni Sessanta e nel 1971 il 4004 di Intel mise un intero processore su un solo chip.

## Dati chiave

- Zuse Z3, a relè, programma su pellicola perforata: Presentato a Berlino il 12 maggio 1941
- Colossus, elettronico, impostato con spine e interruttori: In servizio a Bletchley Park da febbraio 1944; circa 1600 valvole, da 2400 a 2500 nei modelli successivi
- ENIAC: Presentato nel febbraio 1946; circa 18.000 valvole termoioniche, 30 tonnellate corte statunitensi (circa 27 t), 150 kW
- Primo programma memorizzato eseguito: 21 giugno 1948, Manchester: 17 istruzioni, memoria di 32 parole da 32 bit
- Intel 4004, primo microprocessore commerciale: 1971, circa 2300 transistor su un solo chip

## Richiede

- [Transistor](https://lastcodex.org/it/inventions/transistor/): Un interruttore senza parti mobili (1947)
- [Numerazione posizionale](https://lastcodex.org/it/inventions/positional-numerals/): Cifre che valgono per la loro posizione (c. 2050 a.C.)

## Fonti

- [Timeline of Computer History: Computers](https://www.computerhistory.org/timeline/computers/), Computer History Museum
- [The Modern History of Computing (B. Jack Copeland)](https://plato.stanford.edu/entries/computing-history/), Stanford Encyclopedia of Philosophy
- [Mark 1 Story: The Baby](https://www.curation.cs.manchester.ac.uk/computer50/www.computer50.org/mark1/new.baby.html), University of Manchester, Department of Computer Science
- [Milestones: Manchester University "Baby" Computer and its Derivatives, 1948–1951](https://ethw.org/Milestones:Manchester_University_%22Baby%22_Computer_and_its_Derivatives,_1948-1951), IEEE Engineering and Technology History Wiki
- [Colossus](https://www.tnmoc.org/colossus), The National Museum of Computing
- [ENIAC](https://www.engineering.upenn.edu/about/history-heritage/eniac/), Penn Engineering, University of Pennsylvania
- [A brief informal history of the Computer Laboratory](https://www.cl.cam.ac.uk/events/EDSAC99/history.html), University of Cambridge Computer Laboratory
- [The Engines](https://www.computerhistory.org/babbage/engines/), Computer History Museum
- [Ada Lovelace](https://www.computerhistory.org/babbage/adalovelace/), Computer History Museum
- [Tabulation and Processing](https://www.census.gov/about/history/bureau-history/census-innovations/technology/tabulation-and-processing.html), U.S. Census Bureau
- [Milestones: First Semiconductor Integrated Circuit (IC), 1958](https://ethw.org/Milestones:First_Semiconductor_Integrated_Circuit_(IC),_1958), IEEE Engineering and Technology History Wiki
- [1971: Microprocessor integrates CPU function onto a single chip](https://www.computerhistory.org/siliconengine/microprocessor-integrates-cpu-function-onto-a-single-chip/), Computer History Museum
- [74HC86; 74HCT86 Quad 2-input EXCLUSIVE-OR gate (data sheet)](https://assets.nexperia.com/documents/data-sheet/74HC_HCT86.pdf), Nexperia
- [74HC08; 74HCT08 Quad 2-input AND gate (data sheet)](https://assets.nexperia.com/documents/data-sheet/74HC_HCT08.pdf), Nexperia
- [74HC32; 74HCT32 Quad 2-input OR gate (data sheet)](https://assets.nexperia.com/documents/data-sheet/74HC_HCT32.pdf), Nexperia
- [SN74HC86 Quadruple 2-Input Exclusive-OR Gates (data sheet)](https://www.ti.com/lit/ds/symlink/sn74hc86.pdf), Texas Instruments
- [Full Adder](https://hyperphysics.gsu.edu/hbase/Electronic/fulladd.html), HyperPhysics, Georgia State University
- [Binary Adder and Binary Addition](https://www.electronics-tutorials.ws/combination/comb_7.html), Electronics Tutorials

Fatti verificati il 2026-10-14.

---

The Last Codex · https://lastcodex.org/it/inventions/computer/ · © The Last Codex. Testi, tavole e figure: CC BY-NC-ND 4.0.
