L'unità aritmetico-logica (ALU)

A. Costantini | (la videolezione) Un'unità logica aritmetica (ALU) è un circuito digitale all'interno dell'unità di elaborazione centrale (CPU) di un computer che esegue operazioni aritmetiche e logiche. L'ALU è un elemento fondamentale della CPU ed è responsabile dell'esecuzione dei calcoli e delle operazioni sui dati. Ecco gli aspetti chiave di un'ALU:

  1. Operazioni aritmetiche:

    • Addizione e sottrazione: L'ALU può eseguire operazioni aritmetiche di base come addizioni e sottrazioni. La sottrazione viene solitamente implementata utilizzando la notazione del complemento a due.
    • Moltiplicazione e divisione: Mentre l'addizione e la sottrazione sono operazioni più basilari, la moltiplicazione e la divisione sono spesso implementate attraverso una serie di addizioni o sottrazioni ripetute.
  2. Operazioni logiche:

    • E, O, NON: L'ALU può eseguire operazioni logiche come AND, OR e NOT. Queste operazioni sono fondamentali per l'algebra booleana e sono utilizzate nel processo decisionale e nel flusso di controllo all'interno dei programmi.
  3. Operazioni di confronto:

    • L'ALU può confrontare due valori e determinare relazioni come uguaglianza, maggiore o minore di. I risultati di questi confronti vengono spesso utilizzati nelle istruzioni condizionali nella programmazione.
  4. Operazioni di turno:

    • L'ALU può includere operazioni di spostamento, che comportano lo spostamento dei bit di un numero binario a sinistra o a destra. Lo spostamento è utile in varie operazioni, come la moltiplicazione e la divisione.
  5. Operazioni bit per bit:

    • L'ALU può eseguire operazioni bit per bit sui numeri binari. Sono incluse operazioni come AND, OR, XOR (OR per bit) e NOT.
  6. Registri:

    • L'ALU opera sui dati memorizzati nei registri. I registri sono posizioni di archiviazione piccole e veloci all'interno della CPU. L'ALU in genere prende l'input da questi registri, esegue l'operazione specificata e memorizza il risultato in un registro.
  7. Interazione con l'unità di controllo:

    • L'ALU funziona in combinazione con l'unità di controllo della CPU, che gestisce il funzionamento complessivo del processore. L'unità di controllo determina quali operazioni l'ALU deve eseguire in base alle istruzioni di un programma.
  8. Percorso dati:

    • Il percorso dati collega l'ALU con altri componenti, consentendo il flusso di dati da e verso la memoria, i registri e altre parti della CPU.

Le ALU sono progettate con capacità variabili e le loro dimensioni e complessità dipendono dall'architettura della CPU. Nei computer moderni, le ALU sono integrate nei microprocessori e i progressi nella tecnologia dei semiconduttori continuano a migliorarne la velocità e l'efficienza. 

L' ALU 74181

Il chip 74181 è un'unità aritmetica a 4 bit (Arithmetic Logic Unit; ALU) implementata come circuito integrato TTL serie 7400. È stato il primo ALU completo su un chip ed è stato utilizzato come core aritmetico/logico per le CPU in minicomputer di importanza storica e altri dispositivi.

httpselectra-groupcomuploads3cb7f212244c9d4161666652e763d86cjpg

Si tratta di 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. 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 qualsiasi dimensione di parole di grandi dimensioni. Ad esempio, una combinazione di 16 74S181 e 5 74S182 look forward carry generator può eseguire la stessa operazione su operandi a 64 bit in 28 nanosecondi (36 MHz). Getta un'ombra sulle prestazioni degli odierni microprocessori multi-gigahertz a 64 bit, il che è molto impressionante se confrontato con la velocità di clock inferiori ai megahertz dei primi microprocessori a 4 e 8 bit. 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 qualsiasi dimensione di parole di grandi dimensioni. Ad esempio, una combinazione di 16 74S181 e 5 74S182 look forward carry generator può eseguire la stessa operazione su operandi a 64 bit in 28 nanosecondi (36 MHz). Getta un'ombra sulle prestazioni degli odierni microprocessori multi-gigahertz a 64 bit, il che è molto impressionante se confrontato con la velocità di clock inferiori ai megahertz dei primi microprocessori a 4 e 8 bit. 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 qualsiasi dimensione di parole di grandi dimensioni. Ad esempio, una combinazione di 16 74S181 e 5 74S182 look forward carry generator può eseguire la stessa operazione su operandi a 64 bit in 28 nanosecondi (36 MHz). Getta un'ombra sulle prestazioni degli odierni microprocessori multi-gigahertz a 64 bit, il che è molto impressionante se confrontato con la velocità di clock inferiori ai megahertz dei primi microprocessori a 4 e 8 bit. 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 qualsiasi dimensione di parole di grandi dimensioni. Ad esempio, una combinazione di 16 74S181 e 5 74S182 look forward carry generator può eseguire la stessa operazione su operandi a 64 bit in 28 nanosecondi (36 MHz). Getta un'ombra sulle prestazioni degli odierni microprocessori multi-gigahertz a 64 bit, il che è molto impressionante se confrontato con la velocità di clock inferiori ai megahertz dei primi microprocessori a 4 e 8 bit. 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 qualsiasi dimensione di parole di grandi dimensioni. Ad esempio, una combinazione di 16 74S181 e 5 74S182 look forward carry generator può eseguire la stessa operazione su operandi a 64 bit in 28 nanosecondi (36 MHz). Getta un'ombra sulle prestazioni degli odierni microprocessori multi-gigahertz a 64 bit, il che è molto impressionante se confrontato con la velocità di clock inferiori ai megahertz dei primi microprocessori a 4 e 8 bit. una combinazione di 16 74S181 e 5 74S182 look forward carry generator può eseguire la stessa operazione su operandi a 64 bit in 28 nanosecondi (36 MHz). Getta un'ombra sulle prestazioni degli odierni microprocessori multi-gigahertz a 64 bit, il che è molto impressionante se confrontato con la velocità di clock inferiori ai megahertz dei primi microprocessori a 4 e 8 bit. una combinazione di 16 74S181 e 5 74S182 look forward carry generator può eseguire la stessa operazione su operandi a 64 bit in 28 nanosecondi (36 MHz). Getta un'ombra sulle prestazioni degli odierni microprocessori multi-gigahertz a 64 bit, il che è molto impressionante se confrontato con la velocità di clock inferiori ai megahertz dei primi microprocessori a 4 e 8 bit.