Porte logiche
Il primo microprocessore di Intel, il 4004 del 1971, conteneva 2300 transistor. Erano collegati a formare porte logiche, e un processore è fatto solo di porte.
I due circuiti di Shannon su una scrivania
Puoi costruire i due circuiti di Shannon con una pila, una lampadina e due interruttori. Metti gli interruttori in fila e la lampadina si accende solo se il primo e il secondo sono entrambi chiusi. Mettili uno accanto all'altro e la lampadina si accende se almeno uno è chiuso. Questi circuiti prendono già decisioni. Una porta logica è un piccolo circuito dello stesso tipo, costruito con transistor invece che con interruttori a mano. Riceve uno o due bit in ingresso e produce un bit in uscita secondo una regola fissa.
Sei porte e le tabelle che le definiscono
AND dà 1 solo quando entrambi gli ingressi sono 1, come gli interruttori in fila. OR dà 1 quando almeno un ingresso è 1, come gli interruttori uno accanto all'altro. NOT ha un solo ingresso e lo inverte, quindi 0 diventa 1 e 1 diventa 0. XOR, abbreviazione di «exclusive or» (o esclusivo), dà 1 quando i due ingressi sono diversi. NAND e NOR sono AND e OR con un NOT alla fine, quindi le loro uscite sono l'esatto opposto. Una tabella di verità elenca ogni combinazione di ingressi e l'uscita per ciascuna. Due ingressi danno quattro righe, tre ne danno otto, e n ingressi ne danno 2 alla n.
Trascina per ruotare. Scorri o avvicina le dita per lo zoom.
| A | B | AND | OR | XOR | NAND | NOR |
|---|---|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 0 | 1 | 1 |
| 0 | 1 | 0 | 1 | 1 | 1 | 0 |
| 1 | 0 | 0 | 1 | 1 | 1 | 0 |
| 1 | 1 | 1 | 1 | 0 | 0 | 0 |
Un allarme, un test di uguaglianza e un controllo della password
Le porte si combinano in regole di qualsiasi dimensione. Prendi un antifurto. Deve suonare quando il sistema è inserito AND (la porta è aperta OR una finestra è aperta). È una porta OR che alimenta una porta AND. Per controllare se due bit sono uguali, metti un NOT dopo uno XOR, perché XOR dà 1 esattamente quando i bit sono diversi. Mettine otto uno accanto all'altro, unisci le uscite con AND, e il circuito ti dice se due byte interi coincidono. Ogni confronto che fa un programma, da «la password è giusta?» a «il timer è arrivato a zero?», finisce come un circuito di questo tipo.
Perché ai produttori di chip basta la sola NAND
La NAND ha una proprietà comoda: ogni altra porta si può costruire usando solo porte NAND. Collega insieme i due ingressi di una NAND e diventa una NOT, perché la NAND di 1 e 1 dà 0 e la NAND di 0 e 0 dà 1. Metti quella NOT dopo un'altra NAND e hai di nuovo una AND. Con qualche altra si ottengono OR e XOR. Ai produttori di chip piace perché possono disporre un numero enorme di copie di una sola forma ben collaudata. In un chip reale una porta è una manciata di transistor. Il 4004 ne aveva 2300, e Intel ne indica 1.16 miliardi per il suo processore Core di seconda generazione del 2010. Sono circa 500 000 volte tanti in 39 anni.
- «OR significa l'uno o l'altro, ma non entrambi.» La «o» di tutti i giorni spesso funziona così: «tè o caffè?» di solito vuol dire scegline uno. In logica quella regola è XOR. OR dà 1 anche quando entrambi gli ingressi sono 1.
- «Una tabella di verità con 3 ingressi ha 6 righe.» 3 × 2 è il conteggio sbagliato. Ogni ingresso in più raddoppia le righe, perché ogni riga precedente compare una volta con il nuovo ingresso a 0 e una volta a 1. 2³ = 8. Con quattro ingressi ne servono già 16.
- «NAND e NOR sono nuovi tipi di interruttore.» NAND è AND con un NOT alla fine, e NOR è OR con un NOT alla fine. Dentro non succede niente di nuovo. Ciò che rende speciale la NAND è che da sola basta a costruire ogni altra porta.
- Che cosa dà AND con ingressi 1 e 0?
- Che cosa dà OR con ingressi 1 e 0?
- Che cosa dà XOR con ingressi 1 e 1?
- Che cosa dà NAND con ingressi 1 e 1?
- Che cosa dà NOR con ingressi 0 e 0?
- Quante righe ha la tabella di verità di una porta a 3 ingressi?
- Due interruttori in serie con una lampadina si comportano come quale porta?
- AND
- OR
- XOR
- NOT
- Colleghi insieme i due ingressi di una porta NAND. Che porta ottieni?
- NOT
- AND
- OR
- XOR
- Quanti transistor aveva il 4004 di Intel del 1971?
- Che cosa mostrò l'articolo di Shannon del 1938?
- I circuiti di commutazione seguono l'algebra del vero e del falso di Boole
- I transistor sono più veloci dei relè
- I numeri binari furono inventati nel 1938
- I computer hanno bisogno delle cifre decimali
- Una porta trasforma i bit di ingresso in un bit di uscita secondo una regola fissa.
- AND: entrambi 1. OR: almeno un 1. NOT: inverti. XOR: ingressi diversi.
- NAND e NOR sono AND e OR con l'uscita invertita; con la sola NAND si costruisce ogni porta.
- Una tabella di verità con n ingressi ha 2ⁿ righe.
Fonti di questo corso (9)
- (checked 2026-10-17; reordered 2026-10-19: standards first, then official documentation, then the teaching model and calculations, history sources last)
- Standards: NIST, "Prefixes for binary multiples" (physics.nist.gov/cuu/Units/binary.html: IEC approved kibi, mebi, gibi in December 1998; 1 B = 8 bit; 1 MiB = 1 048 576 B; 1 MB = 1 000 000 B; 1 GiB = 1 073 741 824 B; historical note: memory makers usually mean 2²⁰ bytes by megabyte, storage makers 1 000 000, and the "1.44 MB" diskette uses a megabyte of 1 024 000 bytes)
- IETF RFC 20 "ASCII format for Network Interchange" (1969, 7-bit codes, A = 65, a = 97, 0 = 48)
- IETF RFC 3629 "UTF-8, a transformation format of ISO 10646" (2003: 1 to 4 octets per character, ASCII unchanged, code points up to U+10FFFF, U+0800 to U+FFFF take three octets, "the first octet of a multi-octet sequence indicates the number of octets", example U+D55C U+AD6D U+C5B4 = ED 95 9C EA B5 AD EC 96 B4)
- Official documentation: MDN Web Docs, "<color>" (hexadecimal colour notation #RRGGBB)
- Intel, "Intel Chips" timeline poster (2012: Intel 4004 of 1971 with 2,300 transistors; 2nd generation Core 2010 with 1.16 billion)
- Claude E. Shannon, "A Symbolic Analysis of Relay and Switching Circuits", Transactions of the AIEE vol. 57 (1938)
- abstract of his MIT master's thesis. Computer History Museum, The Silicon Engine, "1947: Invention of the Point-Contact Transistor" (Bardeen and Brattain, December 1947, germanium)
- John von Neumann, "First Draft of a Report on the EDVAC" (30 June 1945, Moore School, reprinted in IEEE Annals of the History of Computing 15:4, 1993).
Consultato il: 2026-10-17