
(la videolezione) L'Unità Aritmetica e Logica, cuore pulsante di ogni microprocessore, è il componente digitale specializzato che esegue tutte le operazioni matematiche e decisionali fondamentali per il funzionamento di un calcolatore; concepita concettualmente da John von Neumann nell'architettura che ancora oggi porta il suo nome, la sua implementazione fisica si basa su circuiti combinatori che operano su dati binari. La sua struttura fondamentale è composta da due elementi principali: il circuito aritmetico, che si occupa di operazioni come addizioni, sottrazioni, incrementi e decrementi, spesso implementato attraverso un sommatore (Full Adder) ottimizzato, e il circuito logico, dedicato alle operazioni booleane come AND, OR, XOR e NOT, che manipolano i singoli bit degli operandi. Per gestire la complessità e la varietà delle operazioni, l'ALU integra un multiplexer, con relativi ingressi di selezione, che in base al codice di controllo ricevuto dall'unità di governo della CPU (la Control Unit), instrada verso l'uscita il risultato dell'operazione specifica richiesta dal programma in esecuzione. L'ingresso non si limita ai soli operandi (solitamente due, A e B), ma include anche flag di stato in ingresso, come il riporto precedente (Carry-In), fondamentali per operazioni in cascata. Allo stesso modo, in uscita, oltre al risultato principale, l'ALU genera una serie di flag di stato che segnalano condizioni particolari del calcolo appena effettuato: lo Zero Flag indica un risultato nullo, il Negative Flag segnala un risultato negativo (in rappresentazioni in complemento a due), il Carry Flag evidenzia un riporto in uscita per operazioni aritmetiche, e l'Overflow Flag avverte di un'overflow aritmetico, consentendo alla CPU di prendere decisioni tramite istruzioni di salto condizionato. La sua evoluzione, dalla semplice ALU a 1 bit fino alle moderne unità a 64 bit o più, parallele e superscalari, è stata dettata dall'incessante ricerca della potenza di calcolo, arrivando a integrare unità specializzate come la FPU (Floating-Point Unit) per la matematica in virgola mobile e la GPU (Graphics Processing Unit) per calcoli massivamente paralleli, rendendo l'ALU non più un blocco monolitico ma un ecosistema di unità di calcolo eterogenee e ottimizzate, che rimane il motore computazionale ineguagliabile alla base dell'era digitale.

L' ALU 74181 Il chip 74181 è un circuito integrato TTL integrato su media scala (MSI) serie 7400 che corrisponde a 75 porte logiche ed è più comunemente confezionato come DIP a 24 pin. L'ALU a 4 bit può eseguire tutte le operazioni convenzionali di addizione/sottrazione/sottrazione e AND/NAND, OR/NOR, XOR e shift con o senza riporto. Sono disponibili molte varianti di queste funzioni di base, che consentono un totale di 16 operazioni e 16 operazioni logiche su due parole a 4 bit. Non esiste una funzione di moltiplicazione/divisione, ma può essere eseguita in più passaggi utilizzando le funzioni di spostamento e addizione/sottrazione. I turni non sono funzioni esplicite, ma possono essere derivati da più funzioni disponibili. Ad esempio, selezionando la funzione "A più A" con riporto (M 0) si ottiene uno spostamento aritmetico a sinistra dell' ingresso A. Come detto sopra, il 74181 esegue queste operazioni su due operandi a 4 bit e produce un risultato a 4 bit con riporto in 22 nanosecondi (45 MHz). Il 74S181 esegue la stessa operazione in 11 nanosecondi (90 MHz) e il 74F181 esegue l'operazione in 7 nanosecondi (143 MHz) (tipico). Più "sezioni" possono essere combinate in modo da realizzare unità di calcolo che operano su parole binare molto più grandi di 4 bit. Ad esempio, una combinazione di 16 74S181 e 5 74S182 può eseguire la stessa operazione su operandi a 64 bit in 28 nanosecondi (36 MHz).