ALU

  • Odvození fce OVF.
    Fce OVF je asi nejsložitější programovanou logickou funkcí.

Aritmetické přeplnění se indikuje tehdy, je-li výsledek součtu dvou záporných čísel číslo kladné, nebo je-li součet dvou kladných čísel záporný. V tom případě bude indikátor OVF=1. (Doplňkový kód)



   Definice:

     T1 = temp(N-1)

     T2 = temp(N-1)

     R  = result(N-1)


Logická fce OVF pro sčítání zapsaná tabulkou:
R\T1 T2 00 01 11 10
1 1 0 0 0
0 0 0 1 0

Minimalizovaná fce OVF pro sčítání - rovnice:


     OVF = (not(T1) and not(T2) and R) or (T1 and T2 and not(R)) 

Převedeno na jinou bázi (implementováno):

     OVF = not(T1 xor T2) and (T1 xor R)

Obdobně pro odečítání.
R\T1 T2 00 01 11 10
1 0 1 0 0
0 0 0 0 1

Rovnice:


     OVF = (not(T1) and T2 and R) or (T1 and not(T2) and not(R)) 

Převedeno na jinou bázi (implementováno):

     OVF = (T1 xor T2) and (T1 xor R)