Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Luigi
Palopoli
ALU
• ALU:
la
algebraic
logic
unit
è
una
componente
che
è
in
grado
di
effe9uare
varie
operazioi
logiche
e
aritme<che
(secondo
la
selezione
che
viene
fa9a).
• Esempio
ALU
a
un
bit
che
effe9ua
(a
comando)
AND
o
OR
Sommatore a un bit
• Fino
a
ora
c’e’
la
parte
logica
ma
non
quella
aritme<ca
• Come
fare
una
sommatore
a
un
bit
(full
adder)?
• Teniamo
presente
che
oltre
agli
operandi
abbiamo
in
input
il
riporto
(carry
in),
e
produciamo
in
output
un
altro
riporto
(carry
out)
Sommatore a un bit
• Il
sommatore
a
un
bit
è
una
rete
logica
combinatoria
per
la
quale
possiamo
scrivere
la
tabella
di
verità
Sommatore a un bit
• Per
il
carry
out
l’espressione
come
SP
è:
CarryOut = (a · b · CarryIn) + (a · b · CarryIn) + (a · b · CarryIn) + (a · b · CarryIn
= (a · b · CarryIn) + (a · b · CarryIn) + a · b
= (b · CarryIn) + (a · CarryIn) + a · b
a + b + 1 = a + (b + 1) = a + ( b) = a b
Circuito complessivo
• Circuito
risultante
• Per
so9rare
basta
selezionare
la
somma,
se9are
Binvert
e
CarryIn
a
1
NOR
• Abbiamo
visto
che
nell’assembly
del
MIPS
c’e’
anche
l’operazione
di
nor….
• La
possiamo
facilmente
implementare
con
le
leggi
di
De
Morgan
(a + b) = a · b
Questo
vuol
dire
che
abbiamo
bisogno
anche
della
possibilità
di
u<lizzare
come
operando
a
inver<to
ALU a 1 bit
• Selezionando
And,
Ainvert,
Binvert
o9eniamo
nor
Confronti e overflow
• L’operazione
slt
si
può
effe9ure
con
la
seguente
considerazione
a<b$a b<0
• Quindi
slt
deve
effe9uare
la
so9razione
ma
res<tuire
come
risultato
il
bit
di
segno
(il
più
significa<vo)
del
risultato
della
so9razione
al
bit
meno
significa<vo
e
lasciare
0
nelle
altre
posizioni
• Anche
il
bit
di
overflow
si
genera
considerando
il
carry
sul
modulo
più
signifiica<vo
o
i
segni
di
operandi
e
risultato
Schema complessivo