Documentos de Académico
Documentos de Profesional
Documentos de Cultura
problemas impares
Arquitectura de
Computadores
I. T. Informtica de Gestin
Curso 2009-2010
Tema 3:
Hoja: 2 / 26
La Unidad Aritmtico-Lgica
Departamento de automtica
rea de Arquitectura y Tecnologa de Computadores
Arquitectura de Computadores
I. T. Informtica de Gestin
Tema 3:
Hoja: 3 / 26
La Unidad Aritmtico-Lgica
Base terica
Al disear un computador, uno de los puntos a tener en cuenta es el
diseo del camino de datos, y en definitiva, las operaciones y nmero de
operandos con los que trabajar la ALU.
Suma entera
La suma es la operacin aritmtica ms importante de todas las que realiza
la ALU. Est presente en la actualizacin de contador de programa, y en
todos los direccionamientos relativos, por lo que interesa que sea muy
rpida. Para ello existen varias tcnicas de aceleracin de la misma.
Anticipador de acarreo puro
Se identifican las funciones de generacin de acarreo y de propagacin de
acarreo lo que permite poder generar en paralelo el acarreo necesario para
la siguiente suma:
Funcin generacin (gi = aibi)
Funcin propagacin (pi = ai
bi)
Departamento de automtica
rea de Arquitectura y Tecnologa de Computadores
Arquitectura de Computadores
I. T. Informtica de Gestin
Tema 3:
Hoja: 4 / 26
La Unidad Aritmtico-Lgica
Salto de acarreo
Dado que el clculo de las Pi de bloque es ms sencillo que el de las Gi, se
emplean a la hora de anticipar el acarreo tal y como muestra la figura 1.
Departamento de automtica
rea de Arquitectura y Tecnologa de Computadores
Arquitectura de Computadores
I. T. Informtica de Gestin
Tema 3:
Hoja: 5 / 26
La Unidad Aritmtico-Lgica
Multiplicacin entera
La multiplicacin entera es una operacin bastante costosa y, por ello, al
principio, no todos los micros la tenan implementada debindose
multiplicar por programa.
Existen varios algoritmos de multiplicacin: sumas y restas, Booth, grupos
solapados. Dependiendo del algoritmo se pueden multiplicar nmeros con
signo o sin signo.
Algoritmo de sumas restas
Es un algoritmo que inicialmente se pens para nmeros en binario puro,
aunque se puede modificar fcilmente para multiplicar operandos
representados en complemento a 2 y a 1.
Consiste en ir explorando el bit menos significativo del registro de
desplazamiento (que toma como valor inicial el multiplicador) y en el caso
de ser 1 sumar el multiplicando y desplazar o simplemente desplazar.
Recoge realmente el mecanismo de multiplicacin a mano.
Multiplicando
0000
0000
n 0
1 n Multiplexo
1
bit
n
+n
bits
n
Desplazamiento
n
P1
P0
reloj
Departamento de automtica
rea de Arquitectura y Tecnologa de Computadores
Arquitectura de Computadores
I. T. Informtica de Gestin
Tema 3:
Hoja: 6 / 26
La Unidad Aritmtico-Lgica
Divisin entera
Al igual que la multiplicacin se trata de una operacin compleja. Aunque
existen muchos algoritmos, veremos nicamente un par de algoritmos que
permiten operar con nmeros sin signo.
Divisin con restauracin
1. Dividendo parcial inicial: tomar tantos bits del dividendo como tenga
el divisor. Garantizar que tanto el dividendo como el divisor son
positivos (si empiezan por 1 aadirle un cero a la izquierda)
2. Sumar al dividendo el complemento a 2 del divisor
Si el resultado es positivo:
Departamento de automtica
rea de Arquitectura y Tecnologa de Computadores
Arquitectura de Computadores
I. T. Informtica de Gestin
Tema 3:
Hoja: 7 / 26
La Unidad Aritmtico-Lgica
Aadir 1 al cociente
Si el resultado es negativo:
Aadir un 0 al cociente
Aadir 1 al cociente
Si el resultado es negativo:
Aadir un 0 al cociente
Departamento de automtica
rea de Arquitectura y Tecnologa de Computadores
Arquitectura de Computadores
I. T. Informtica de Gestin
Tema 3:
Hoja: 8 / 26
La Unidad Aritmtico-Lgica
Departamento de automtica
rea de Arquitectura y Tecnologa de Computadores
Arquitectura de Computadores
I. T. Informtica de Gestin
Tema 3:
Hoja: 9 / 26
La Unidad Aritmtico-Lgica
Doble precisin
Departamento de automtica
rea de Arquitectura y Tecnologa de Computadores
Arquitectura de Computadores
I. T. Informtica de Gestin
Tema 3:
Hoja: 10 / 26
La Unidad Aritmtico-Lgica
Departamento de automtica
rea de Arquitectura y Tecnologa de Computadores
Arquitectura de Computadores
I. T. Informtica de Gestin
Tema 3:
Hoja: 11 / 26
La Unidad Aritmtico-Lgica
Departamento de automtica
rea de Arquitectura y Tecnologa de Computadores
Arquitectura de Computadores
I. T. Informtica de Gestin
Tema 3:
Hoja: 12 / 26
La Unidad Aritmtico-Lgica
Departamento de automtica
rea de Arquitectura y Tecnologa de Computadores
Arquitectura de Computadores
I. T. Informtica de Gestin
Tema 3:
Hoja: 13 / 26
La Unidad Aritmtico-Lgica
Departamento de automtica
rea de Arquitectura y Tecnologa de Computadores
Arquitectura de Computadores
I. T. Informtica de Gestin
Tema 3:
Hoja: 14 / 26
La Unidad Aritmtico-Lgica
Departamento de automtica
rea de Arquitectura y Tecnologa de Computadores
Arquitectura de Computadores
I. T. Informtica de Gestin
Tema 3:
Hoja: 15 / 26
La Unidad Aritmtico-Lgica
Exponente
Mantisa
B
0100 0011
1000 0101
0111 0000
Se pide:
a) Realizar la suma de A y B tal y como lo hara el sumador.
b) Calcular el valor en decimal del resultado.
c) Calcular el valor real de la suma, tambin en decimal si se hubiese
realizado a mano.
d) Si existe diferencia entre los apartados b) y c) explicar a qu es
debido.
e) Cambiara el resultado si en lugar de redondeo al ms prximo
emplesemos la tcnica de forzar el bit menos significativo a uno?
Departamento de automtica
rea de Arquitectura y Tecnologa de Computadores
Arquitectura de Computadores
I. T. Informtica de Gestin
Tema 3:
Hoja: 16 / 26
La Unidad Aritmtico-Lgica
Departamento de automtica
rea de Arquitectura y Tecnologa de Computadores
Arquitectura de Computadores
I. T. Informtica de Gestin
Tema 3:
Hoja: 17 / 26
La Unidad Aritmtico-Lgica
Solucin ejercicio 1
Si alineamos los valores ser fcil el clculo ya que gi = aixbi y pi = ai
ai =
bi =
gi =
pi =
bi
Solucin ejercicio 3
Si alineamos los valores ser fcil el clculo ya que gi = aixbi y pi = ai
ai =
bi =
gi =
pi =
bi
P0 = p3xp2xp1xp0 = 1 x 0 x 0 x 0 = 0
P1 = p7xp6xp5xp4 = 1 x 1 x 0 x 1 = 0
P2 = p11xp10xp9xp8 = 1 x 1 x 1 x 1 = 1
P3 = p15xp14xp13xp12 = 1 x 1 x 1 x 1 = 1
G0 = g3 + (p3xg2) + (p3xp2xg1) + (p3xp2xp1xg0) = 0
G1 = g7 + (p7xg6) + (p7xp6xg5) + (p7xp6xp5xg4) =1
G2 = g11 + (p11xg10) + (p11xp10xg9) + (p11xp10xp9xg8) = 0
G3 = g15 + (p15xg14) + (p15xp14xg13) + (p15xp14xp13xg12) = 0
Con lo que C4 ser:
C4
G3
(P3XG2)
(P3XP2XG1)
(P3XP2XP1XG0)
+(P3xP2xP1xPp0xc0) = 1
Departamento de automtica
rea de Arquitectura y Tecnologa de Computadores
Arquitectura de Computadores
I. T. Informtica de Gestin
Tema 3:
Hoja: 18 / 26
La Unidad Aritmtico-Lgica
Solucin ejercicio 5
Apartado a)
1. Primero separamos mantisas y exponentes:
Exponente
Mantisa
A
1000 0011
0110 0011
B
1000 0110
1001 1100
Exponente
Mantisa
Resultado
1000 0110
1010 1000
Departamento de automtica
rea de Arquitectura y Tecnologa de Computadores
Arquitectura de Computadores
I. T. Informtica de Gestin
Tema 3:
Hoja: 19 / 26
La Unidad Aritmtico-Lgica
Apartado b)
Calculamos el valor de A
A
Exponente
1000 0011
Mantisa
0110 0011
Valor
(2-2 + 2-3+ 2-7 + 2-8) 23 = 3,09375
Calculamos el valor de B
B
Exponente
1000 0110
Mantisa
1001 1100
Valor
-(2-2+2-3+2-6)26 = -25
Calculamos el valor del resultado anterior
Resultado
Exponente
1000 0110
Mantisa
1010 1000
Valor
-(2-2 + 2-4 + 2-5)26 = -22
Realizando la suma de ambos valores
A + B = -25 + 3,09375 = -21,90625
Como apreciamos, el resultado tiene un error con respecto al obtenido
debido a que al deplazar a la derecha la mantisa se pierden bits con
informacin significativa.
Solucin ejercicio 7
Apartado a)
1. Primero separamos mantisas y exponentes:
Exponente
Mantisa
A
1101
10110
B
1101
01011
Departamento de automtica
rea de Arquitectura y Tecnologa de Computadores
Arquitectura de Computadores
I. T. Informtica de Gestin
Tema 3:
Hoja: 20 / 26
La Unidad Aritmtico-Lgica
Exponente
Mantisa
Resultado
1011
01000 0 0 0
Exponente
Mantisa
Resultado
1011
01000
Departamento de automtica
rea de Arquitectura y Tecnologa de Computadores
Arquitectura de Computadores
I. T. Informtica de Gestin
Tema 3:
Hoja: 21 / 26
La Unidad Aritmtico-Lgica
Solucin ejercicio 9
Estado inicial:
A: 110011,
P0 = B =010001
P1: 000000
Registro de desplazamiento: 000000 000000
Registro de
desplazamiento
000000 000000
110011 010001
011001 101000
011001 101000
001100 110100
001100 110100
000110 011010
000110 011010
000011 001101
110110 001101
011011 000110
011011 000110
001101 100011
P
P1
000000
000000
011001
011001
001100
001100
000110
000110
000011
000011
011011
011011
001101
P0
010001
010001
101000
101000
110100
110100
011010
011010
001101
001101
000110
000110
100011
Operacin
Fase inicial
Suma
Desplazamiento
Suma
Desplazamiento
Suma
Desplazamiento
Suma
Desplazamiento
Suma
Desplazamiento
Suma
Desplazamiento
Solucin ejercicio 11
Si A y B estn representados en C2, la forma ms eficiente de realizar la
multiplicacin es utilizando un algoritmo de multiplicacin con signo: el
algoritmo de Booth:
A
-A Complemento a 2 (A)
B
Representacin
111110
000010
111111
Recodificamos el multiplicador:
Cadena de unos, primer uno afectado del peso 0, entonces restar A
Ya o hay ceros, hemos terminado de recodificar el multiplicador por lo que
el resultado sera:
Departamento de automtica
rea de Arquitectura y Tecnologa de Computadores
Arquitectura de Computadores
I. T. Informtica de Gestin
Tema 3:
Hoja: 22 / 26
La Unidad Aritmtico-Lgica
A x B = -A x 20 = 0 0 0 0 1 0
Solucin ejercicio 13
Ambos algoritmos operan con operandos sin signo. En primer lugar, hay
que considerar que el dividendo y el divisor deben comenzar con un bit 0.
Adems se emplea el complemento a dos del divisor para reducir a sumar
el complemento en vez de restar.
Apartado a)
Utilizando el algoritmo de divisin con restauracin:
+
+
1
+
0
1
1
0
1
0
1
1
0
1
0
1
1
1
0
1
1
0
0
0
0
0
0
0
1
1
0
0
1
1
0
0
1
0
1
1
1
0
1
1
1
0
0
1
0
1
1
0
1
1
0
1
0
0
1
1
1
0
restauramos
0
0
0
0
restauramos el resto
Apartado b)
Utilizando el algoritmo de divisin sin restauracin:
+
+
1
+
0
1
1
0
0
1
1
0
1
0
1
0
0
1
1
0
0
0
0
1
0
1
1
0
0
1
1
1
1
0
1
1
1
0
1
1
0
0
1
0
1
0
1
1
0
1
0
0
0
0
Departamento de automtica
rea de Arquitectura y Tecnologa de Computadores
0
0
1
1
1
0
restauramos el resto
Arquitectura de Computadores
I. T. Informtica de Gestin
Tema 3:
Hoja: 23 / 26
La Unidad Aritmtico-Lgica
Solucin ejercicio 15
Apartado a)
1. Primero separamos mantisas y exponentes:
A
Exponente
1000 1010
1000 0101
Mantisa
0100 0011
0111 0000
Departamento de automtica
rea de Arquitectura y Tecnologa de Computadores
Arquitectura de Computadores
I. T. Informtica de Gestin
Tema 3:
Hoja: 24 / 26
La Unidad Aritmtico-Lgica
1000 1010
Mantisa
0100 0110
Apartado b)
Calculamos el valor del resultado anterior
Resultado
Exponente
1000 1010
Mantisa
0100 0110
Valor
Apartado c)
Calculamos el valor de A
A
Exponente
1000 1010
Mantisa
0100 0011
Valor
Calculamos el valor de B
B
Exponente
1000 0101
Mantisa
0111 0000
Valor
(2-2+2-3+2-4)25 = 14,0
Departamento de automtica
rea de Arquitectura y Tecnologa de Computadores
Arquitectura de Computadores
I. T. Informtica de Gestin
Tema 3:
Hoja: 25 / 26
La Unidad Aritmtico-Lgica
Apartado d)
Es debido a los desplazamientos para alinear las mantisas y a la prdida
de precisin que sufren los nmeros fraccionarios al pasarlos a coma
flotante.
Apartado e)
Al forzar el bit menos significativo a uno, el resultado sera el siguiente:
Resultado
Exponente
1000 1010
Mantisa
0100 0111
Valor
Solucin ejercicio 17
Apartado a)
1. Primero separamos mantisas y exponentes:
A
Exponente
1000 0111
1000 0010
Mantisa
1000 0000
0100 0000
Departamento de automtica
rea de Arquitectura y Tecnologa de Computadores
Arquitectura de Computadores
I. T. Informtica de Gestin
Tema 3:
Hoja: 26 / 26
La Unidad Aritmtico-Lgica
1000 0111
Mantisa
1000 0011
Departamento de automtica
rea de Arquitectura y Tecnologa de Computadores
Arquitectura de Computadores
I. T. Informtica de Gestin