Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Unidad aritmtico-lgica
Definicin
La ALU (unidad aritmtico-lgica) es el
Universidad de Sonora
Arquitectura de Computadoras
Circuitos combinatorios
Su salida depende exclusivamente de sus
entradas.
Universidad de Sonora
Arquitectura de Computadoras
Compuertas bsicas
Universidad de Sonora
Arquitectura de Computadoras
Compuertas bsicas
AND
OR
AB
A+B
NOT
Universidad de Sonora
0
Arquitectura de Computadoras
Otras compuertas
XOR (or exclusiv0).
EQV (equivalence).
NAND (not AND).
NOR (not OR).
Universidad de Sonora
Arquitectura de Computadoras
Multiplexor
El multiplexor (mux) tiene 2n entradas de
Universidad de Sonora
Arquitectura de Computadoras
Multiplexor
Mux 4 a 1
Mux 8 a 1
Universidad de Sonora
Arquitectura de Computadoras
Sumador completo
Sumador completo (full adder) de 1 bit:
Entradas: dos nmeros de 1 bit y un bit de
carry de entrada.
Salidas: la suma de 1 bit y un bit de carry de
salida.
Universidad de Sonora
Arquitectura de Computadoras
Sumador completo
Universidad de Sonora
Arquitectura de Computadoras
10
Sumador completo
Suma = a b CarryIn
CarryOut = (a CarryIn) + (b CarryIn) + (a
b)
= (a + b) CarryIn + (a b)
Universidad de Sonora
Arquitectura de Computadoras
11
Sumador completo
Diagrama a bloque.
Universidad de Sonora
Arquitectura de Computadoras
12
ALU de 1 bit
Dos operaciones: AND y OR.
Un bit para seleccionar la operacin.
Universidad de Sonora
Operacin
Salida
ab
a+b
Arquitectura de Computadoras
13
Agregando operaciones
El siguiente paso es agregar la suma.
Se agrega un sumador completo al diseo
anterior.
Universidad de Sonora
Arquitectura de Computadoras
14
ALU de 1 bit
3 operaciones: AND, OR y suma.
2 bits para seleccionar la operacin.
Operacin Resultado
00
ab
01
a+b
10
ab
CarryIn
X
(a + b) CarryIn +
(a b)
11
Universidad de Sonora
CarryOut
Arquitectura de Computadoras
X
15
Agregando operaciones
Agregar la resta a b.
a b a + b si b est en complemento a 2.
El complemento a dos de b se encuentra
Universidad de Sonora
Arquitectura de Computadoras
16
ALU de 1 bit
4 operaciones: AND, OR, suma y resta.
2 bits para seleccionar la operacin.
Un bit extra para diferenciar entre la suma y
la resta.
En la resta, CarryIn es 1.
Universidad de Sonora
Arquitectura de Computadoras
17
ALU de 1 bit
Universidad de Sonora
Arquitectura de Computadoras
18
ALU de 1 bit
Operacin Binvert CarryIn
Resultado
CarryOut
00
ab
01
a+b
10
10
10
ab
a + b
11
Universidad de Sonora
a b CarryIn (a + b) CarryIn +
(a b)
Arquitectura de Computadoras
19
Agregando operaciones
Agregar la operacin NOR:
(a + b)
Ley de DeMorgan:
(a + b) = a b
Universidad de Sonora
Arquitectura de Computadoras
20
ALU de 1 bit
5 operaciones: AND, OR, NOR, suma y resta.
2 bits para seleccionar la operacin.
Binvert diferencia entre la suma y la resta.
En la resta, CarryIn es 1.
Ainvert y Binvert diferencian entre AND y
NOR.
Universidad de Sonora
Arquitectura de Computadoras
21
ALU de 1 bit
Universidad de Sonora
Arquitectura de Computadoras
22
ALU de 1 bit
Operacin Ainvert
Binvert
CarryIn
Resultado
CarryOut
00
ab
00
a b
01
a+b
10
(a + b) CarryIn +
(a b)
10
ab
CarryIn
X
10
ab
a + b
11
Universidad de Sonora
Arquitectura de Computadoras
23
Agregando operaciones
Variando Ainvert y Binvert permite generar:
8 operaciones lgicas.
5 operaciones aritmticas.
Universidad de Sonora
Arquitectura de Computadoras
24
Agregando operaciones
Operacin
Ainvert
Binvert
CarryIn
Resultado
CarryOut
00
ab
00
a b
00
a b
00
a b
01
a+b
01
a + b
01
a + b
01
a + b
Universidad de Sonora
Arquitectura de Computadoras
25
Agregando operaciones
Operacin
Ainvert
Binvert
CarryIn
Funcin
aritmtica
10
a+b
10
a+b+1
10
a-b
10
b-a
10
-a - b
Universidad de Sonora
Arquitectura de Computadoras
26
ALU de 32 bits
Cmo se genera una ALU de 32 bits?
Con 32 ALUs de 1 bit.
CarryOut de la ALUi se conecta a CarryIn de la
ALUi+1.
En la resta CarryIn ALU0 se conecta a 1.
Universidad de Sonora
Arquitectura de Computadoras
27
ALU de 32 bits
Universidad de Sonora
Arquitectura de Computadoras
28
Universidad de Sonora
Arquitectura de Computadoras
29
Soportando slt
slt $x, $y, $z pone a ceros los bits 1 a 31 de
$x.
El bit 0 de $x tiene el resultado de la
comparacin de $y y $z.
$x
31
30
Universidad de Sonora
Arquitectura de Computadoras
0
1
$y < $z
0
30
Soportando slt
Se calcula t = $y - $z.
Si t es negativo $y < $z.
Si t es positivo o cero $y $z.
En MIPS los nmeros negativos tienen 1 en el
bit 31.
El bit 31 de t tiene el resultado de la
comparacin.
Universidad de Sonora
Arquitectura de Computadoras
31
Soportando slt
Para hacer una ALU de 32 bits se consideran
Universidad de Sonora
Arquitectura de Computadoras
32
Universidad de Sonora
Arquitectura de Computadoras
33
Universidad de Sonora
Arquitectura de Computadoras
34
ALU de 32 bits
Se conectan las 32 ALUs.
CarryOut de la ALUi se conecta a CarryIn de la
ALUi+1.
Las entradas Less de la ALU1 a la ALU31 se
ponen a 0.
La entrada Less de la ALU0 se conecta a la
salida Set de la ALU31.
En la resta CarryIn de la ALU0 se conecta a 1.
Universidad de Sonora
Arquitectura de Computadoras
35
ALU de 32 bits
Universidad de Sonora
Arquitectura de Computadoras
36
Universidad de Sonora
Arquitectura de Computadoras
37
Result0)
lgicas.
Universidad de Sonora
Arquitectura de Computadoras
38
Universidad de Sonora
Arquitectura de Computadoras
39
Diagrama y tabla de la
ALU
Lneas de
control
Funcin
C3 C2 C1 C0
0
AND
OR
suma
resta
NOR
C3 = Ainvert
Universidad de Sonora
C2 = Bnegate
Arquitectura de Computadoras
40
Overflow
El overflow ocurre cuando el resultado de una
Universidad de Sonora
Arquitectura de Computadoras
41
Overflow
Sumando 5 + 6 con 4 bits:
0101 (+5)
+ 0110 (+6)
------------1011 (-5) error!
Arquitectura de Computadoras
42
Detectando overflow
El overflow ocurre en la suma cuando:
Al sumar dos positivos el resultado es negativo.
Al sumar dos negativos el resultado es positivo.
El overflow ocurre en la resta cuando:
Al restar un negativo de un positivo el resultado
es negativo.
Al restar un positivo de un negativo el resultado
es positivo.
Universidad de Sonora
Arquitectura de Computadoras
43
Detectando overflow
Operacin
Resultado indicando
overflow
A+B
<0
A+B
<0
<0
AB
<0
<0
AB
<0
Universidad de Sonora
Arquitectura de Computadoras
44
Detectando overflow
Mtodo obvio: revisar los signos de los
Universidad de Sonora
Arquitectura de Computadoras
45
Overflow en MIPS
Las operaciones con enteros con signo deben
reconocer el overflow.
Con 4 bits, el rango es de -8 a +7.
5 + 6 genera overflow.
el overflow.
Con 4 bits, el rango es de 0 a 15.
5 + 6 = 11.
14 + 7 = 5 (se ignora el ltimo carry).
Universidad de Sonora
Arquitectura de Computadoras
46
Overflow en MIPS
En MIPS hay dos clases de instrucciones
aritmticas:
1. La suma (add), suma inmediata (addi) y
resta (sub), reconocen el overflow.
2. La suma sin signo (addu), suma inmediata
sin signo (addiu) y resta sin signo (subu),
ignoran el overflow.
Universidad de Sonora
Arquitectura de Computadoras
47