Documentos de Académico
Documentos de Profesional
Documentos de Cultura
CED Tema 6 2021 2022 2024-01-26 01 - 22 - 11
CED Tema 6 2021 2022 2024-01-26 01 - 22 - 11
Universidad de Sevilla
Introducción
Aritmética binaria
Circuitos sumadores básicos
Sumador de n bits
Sumador/Restador
Unidad aritmético-lógica (ALU)
Introducción
Aritmética binaria
Circuitos sumadores básicos
Sumador de n bits
Sumador/Restador
Unidad aritmético-lógica (ALU)
1 0 0 1 1 0
+ 1 1 0 1
0 1 1 0 0 Acarreo
1 0 0 1 1 0 Sumando 1
+ 1 1 0 1 Sumando 2
1 1 0 0 1 1 Suma
1 0 0 1 1 0
- 1 1 0 1
1 0 0 1 1 0 Minuendo
- 1 1 0 1 Sustraendo
1 1 0 0 1 Acarreo
0 1 1 0 0 1 Resta
1 0 0 1 1 0
X 1 1 0 1
1 0 0 1 1 0 Multiplicando
X 1 1 0 1 Multiplicador
1 0 0 1 1 0
0 0 0 0 0 0
1 0 0 1 1 0
1 0 0 1 1 0
1 1 1 1 0 1 1 1 0 Multiplicación
1 0 0 1 1 0 1 1 0 1
Dividendo 1 0 0 1 1 0 1 1 0 1 Divisor
- 1 1 0 1 1 0 Cociente
0 1 1 0 0
- 0 0 0 0
1 1 0 0 Resto
Signo Magnitud
+ 90(10 0 1 0 1 1 0 1 0
- 90(10 1 1 0 1 1 0 1 0
Aritmética en S-M
Para obtener la suma de dos números en S-M:
Si ambos tienen el mismo signo
La magnitud del resultado coincide con la suma de las magnitudes.
El bit de signo del resultado es el mismo que el de cualquiera de los
sumandos.
Si los números tienen distinto signo
La magnitud del resultado se obtiene restando la magnitud menor de
la mayor.
El signo del resultado se corresponde con el signo que tenga la
magnitud mayor.
En el diseño lógico del circuito se necesitan sumadores,
restadores, comparadores, etc.
Introducción
Aritmética binaria
Circuitos sumadores básicos
Sumador de n bits
Sumador/Restador
Unidad aritmético-lógica (ALU)
Introducción
Aritmética binaria
Circuitos sumadores básicos
Sumador de n bits
Sumador/Restador
Unidad aritmético-lógica (ALU)
ai bi Ci+1 Si
ai Si
0 0 0 0 HA
bi Ci+1
1 0 0 1
0 1 0 1
1 1 1 0
ai &
Ci+1 = ai · bi bi Ci+1
Si = ai bi
ai =1
Si
bi
ai bi Ci Ci+1 Si
ai Si
0 0 0 0 0
0 0 1 0 1 bi FA
0 1 0 0 1 Ci+1
Ci
0 1 1 1 0
1 0 0 0 1
1 0 1 1 0
1 1 0 1 0
1 1 1 1 1
ai =1
=1
bi Si
Ci+1 = ai · bi + ai · Ci + bi · Ci Ci
ai &
Si = ai bi Ci bi
ai & &
Ci Ci+1
bi &
Ci
module fa(
input x, // primer operando
input y, // segundo operando
input cin, // acarreo de entrada
output z, // salida de suma x
output cout // acarreo de salida z
); y FA
cout
cin
assign z = x ^ y ^ cin;
assign cout = x & y | x & cin | y & cin;
endmodule // fa
Introducción
Aritmética binaria
Circuitos sumadores básicos
Sumador de n bits
Sumador/Restador
Unidad aritmético-lógica (ALU)
S n-1 . . .S2 S1 S0
A B
C out C in
S
S n-1S n-2 S 0
00 1 1 (0) Ci 10 1 1 (0)
1 0 0 1 A 1 0 0 1 A
+ + A + B =1 0 1 0 0
0 0 1 1 B 10 1 1 B
OK! 1 1 0 0 A+B 01 0 0
Introducción
Aritmética binaria
Circuitos sumadores básicos
Sumador de n bits
Sumador/Restador
Unidad aritmético-lógica (ALU)
0 (s) 1 (r)
s /r
– B es -B(CA1
B ← (- B)
– B+1 es -B(CA2
S=A+B
A, B
A Complementador C
de n bits
0 (s) Y
1 (r)
s/r
Sumador
Cout de n bits Cin s/r
B<─ (-B)
S=A+B S
Bn-1 Bn-2 B0 C
=1 =1 ... =1
Yn-1 Yn-2 Y0
1001 = -7 11 00 = -4 0011 = +3
0101 = +5 0100 = +4 0100 = +4
111 0 = -2 1 0000 = 0 0111 = +7
0101 = +5 1001 = -7
11 00 = -4
0100 = +4 1010 = -6
1111 = -1
1001 = -7 1 0011 = +3
1 1011 = -5
desbordamiento
Cn Cn-1
0 1
0 a n-2 ... a0
0 b n-2 ... b0
1 S n-2 ... S0
V = Cout + Cn-1
=1
Introducción
Aritmética binaria
Circuitos sumadores básicos
Sumador de n bits
Sumador/Restador
Unidad aritmético-lógica (ALU)
señales de
selección Sk-1 ...S 0 k m salidas
ALU de estado
Cin
n
F = fn-1 ...f0
S2 S 1 S 0 Función ALU
Cin = 0 Cin = 1
0 0 0 F=A F=A+1
0 0 1 F=A+B F=A+B+1
0 1 0 F=A+B F=A+B+1
0 1 1 F=A–1 F=A
1 0 0 F = A AND B
1 0 1 F = A OR B
1 1 0 F = NOT A
1 1 1 F = A XOR B
A B Cin
Cout
S1
S0
FLU FAU
S2
an-1 bn-1 a1 b1 a0 b0
cn-1 ci+1 ci c1
Cout Cin
AU n-1 AU 1 AU 0
Cin = 0 Cin = 1
operando operando operando operando
S2 S1 S0 F F
izquierdo derecho izquierdo derecho
0 0 0 A A 0 A+1 A 0
0 0 1 A+B A B A+B+1 A B
A–B–1= A–B=
0 1 0 A B A B
A+B A+B+1
0 1 1 A–1 A 11…1 A A 11...1
bi
S1 S1 S0 Yi
Circuito yi
S0 00 0
ai yi 01 bi
10 bi
ci+1 Full Adder ci 11 1
f i = ai + y i
bi
S1 0 1
S0
00 0 0
01 0 1
11 1 1
10 1 0
Yi
0 0
1 3
1 0
ai >1
bi 0
1 fLUi
2
ai 1 310
ai
bi
S1S0