L’Unità Aritmetico Logica, componente della CPU, effettua calcoli e operazioni logiche. Riceve in input due bus (a 64 bit nelle architetture moderne) accompagnati da un bus parallelo detto opcode (Operation Code) per configurarla (scegliere l’operazione da effettuare tra i due bus) e ritorna in output il risultato dell’operazione tra i due bus, cioè un bus altrettanto lungo.

All’interno delle ALU è SEMPRE presente un full adder (FA).

esempio di ALU semplice a 3 bit

bitprodotti dell’ALU (stato)
Nrisultato negativo
Zrisultato è 0
Woverflow
Ccarry in uscita
          A (input) B  
(opcode)  |         |
	  ____v_________v____   (stato/status)
C1  ->|                 |-> N
C0  ->|       ALU       |-> Z
Rin ->|                 |-> W
      |_________________|-> C
               |
			   v
               R (risultato)

input:

  • :
    • vale 0 pone a 0 l’operando
    • vale 1 passa
  • :
    • vale 0 passa
    • vale 1 passa
  • è il riporto in entrata al sommatore

output:

  • :
    • vale 0 se il risultato è 0
    • vale 1 se il risultato è 1
  • : bit di overflow

funzionamento:

risultato
000
001
010
011
100
101
110
111

altro esempio di ALU