Alu procesador

Solo disponible en BuenasTareas
  • Páginas : 6 (1456 palabras )
  • Descarga(s) : 0
  • Publicado : 12 de enero de 2012
Leer documento completo
Vista previa del texto
Estructura y Tecnología de Computadores (ITIG)

Óscar David Robles Sánchez Ángel Serrano Sánchez de León Luis Rincón Córcoles

Tema 13. Construcción de una unidad aritmética y lógica (números enteros)

Programa
1. 2. 3. 4. 5. Introducción. Construcción de una ALU básica. Multiplicación básica y su circuitería. División básica y su circuitería. Bibliografía.

Conceptos básicos: Unidadaritmético-lógica, operaciones lógicas, sumador,

restador, indicador de resultado, algoritmos de multiplicación de enteros sin signo, algoritmos de división de enteros sin signo (división por restauración).

2

1

Tema 13. Construcción de una unidad aritmética y lógica (números enteros)

1. Introducción
Una unidad aritmética y lógica (UAL) es un circuito combinacional que realiza lasoperaciones aritméticas y lógicas básicas en el computador.
• Operaciones aritméticas básicas: suma, resta, multiplicación, división. • Operaciones lógicas básicas: NOT, AND, OR, NAND, NOR. • En inglés: ALU (arithmetic and logic unit). • En algunos sitios: unidad aritmético-lógica.
operando1 operando2

operación

ALU
resultado

indicador de resultado

3

Tema 13. Construcción de unaunidad aritmética y lógica (números enteros)

2. Construcción de una ALU básica
2.1. Operaciones lógicas
La implementación de circuitos para operaciones lógicas es muy sencilla: basta simplemente con una batería de puertas lógicas y un multiplexor accionado por las correspondientes señales de selección. Ejemplo: unidad lógica de 1 bit con las funciones AND y OR: Operación: señal de selección de 1bit.
Operation Operación

a

0 Result 1

b

MUX
4

2

Tema 13. Construcción de una unidad aritmética y lógica (números enteros)

2.2. Sumador completo
Sumador completo (tema 6):
• 3 entradas (a, b y AcarreoE).
a 0 0 0 0
a Suma b

Entradas b 0 0 1 1 0 0 1 1 AcarreoE 0 1 0 1 0 1 0 1 0 0 0 1 0 1 1 1

Salidas AcarreoS Suma 0 1 1 0 1 0 0 1

Operación 0+0+0=00 0+0+1=010+1+0=01 0+1+1=10 1+0+0=01 1+0+1=10 1+1+1=10 1+1+1=11

• 2 salidas (Suma y AcarreoS).
AcarreoE

1 1 1 1

AcarreoS

=

+

+

= = ⊕ ⊕

+

+

+

=
5

Tema 13. Construcción de una unidad aritmética y lógica (números enteros) Añadimos el sumador completo a nuestra ALU, haciendo más grande el multiplexor:
Operación AcarreoE

a

0

1

Resultado

2 b

AcarreoS 6

3 Tema 13. Construcción de una unidad aritmética y lógica (números enteros)

2.3. Restador
• Resta en complemento a 2: suma del negado más 1.

a - b = a + (-b) = a + ( b + 1) = a + b + 1

Resta: AcarreoE = InvertirB = 1
7

Tema 13. Construcción de una unidad aritmética y lógica (números enteros)

2.4. Operación slt (activar si menor que)
slt $rd, $rs, $rt
$rd = 0000000116 si $rs < $rt$rd = 0000000016 si $rs $rt
InvertirB Operación AcarreoE 0 1 Resultado b 0 1 Menor 3 Comparación Detección del Desbordamiento Desbordamiento 8 2

a

Bits 0 - 30

Bit 31

4

Tema 13. Construcción de una unidad aritmética y lógica (números enteros)
InvertirB AcarreoE Operación

a0 b0

AcarreoE ALU0 Menor AcarreoS

Resultado0

a1 b1 0

AcarreoE ALU1 Menor AcarreoS

Resta:AcarreoE = InvertirB = 1
Resultado1

Suma: AcarreoE = InvertirB = 0 Ambas se pueden combinar en una única señal NegarB.

a2 b2 0

AcarreoE ALU2 Menor AcarreoS

Resultado2

AcarreoE a31 b31 0 Resultado31 Comparación Desbordamiento

AcarreoE ALU31 Menor

9

Tema 13. Construcción de una unidad aritmética y lógica (números enteros)

2.5. Indicador de resultado: Detector de cerosInvertirB Operación a0 b0 AcarreoE ALU0 Menor AcarreoS Resultado0

a1 b1 0

AcarreoE ALU1 Menor AcarreoS

Resultado1 Cero

a2 b2 0

AcarreoE ALU2 Menor AcarreoS

Resultado2

a31 b31 0

AcarreoE ALU31 Menor

Resultado31 Comparación Desbordamiento

10

5

Tema 13. Construcción de una unidad aritmética y lógica (números enteros)

2.6. Resumen de la ALU hasta ahora
Operación ALU...
tracking img