Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porjoel vergara Modificado hace 5 años
1
LA UNIDAD ARITMETICO LOGICA ALU
2
Introducción Los dos aspectos fundamentales de la aritmética del computador son: La forma de representar las números, (el formato binario), Algoritmos utilizados para realizar las operaciones aritméticas básicas, (suma, resta, multiplicación y división).
3
La mayoría de los procesadores implementan la normalización o estándar IEEE 754 para la representación de números y aritmética en coma flotante. Esta norma define el formato de 32 bits, así como el de 64 bits.
4
La aritmética de un computador es realizada normalmente con dos tipos de números muy diferentes: Enteros. Coma flotante.
5
LA UNIDAD ARITMETICO LOGICA (ALU) La ALU, es la parte del computador que realiza realmente las operaciones aritméticas y lógicas con los datos. El resto de los elementos del computador, (unidad de control, registros, memoria, E/S), están principalmente para suministrar datos. La ALU puede considerarse como el “núcleo central del computador”.
6
Una ALU, y en realidad todos los componentes electrónicos del computador, se basan en el uso de dispositivos lógicos digitales, que pueden almacenar dígitos binarios y realizar operaciones lógicas Booleanas.
7
Muchos tipos de circuitos electrónicos necesitan realizar algún tipo de operación aritmética, así que incluso el circuito dentro de un reloj digital tendrá una ALU minúscula que se mantiene sumando 1 al tiempo actual
8
Por mucho, los más complejos circuitos electrónicos son los que están construidos dentro de los chips de microprocesadores modernos como el Intel Core Duo. Por lo tanto, estos procesadores tienen dentro de ellos un ALU muy complejo y poderoso. De hecho, un microprocesador moderno pueden tener múltiples núcleos, cada núcleo con múltiples unidades de ejecución, cada una de ellas con múltiples ALU.
9
La mayoría de las acciones de la computadora son realizadas por la ALU.
10
Operaciones Llevadas a cabo por la ALU La mayoría de las ALU pueden realizar las siguientes operaciones: 1.) Operaciones aritméticas de números enteros (adición, sustracción, y a veces multiplicación y división, aunque esto es más costoso) 2.) Operaciones lógicas de bits (AND, NOT, OR, XOR, XNOR) 3.) Operaciones de desplazamiento de bits (Desplazan o rotan una palabra en un número específico de bits hacia la izquierda o la derecha).
11
Una ALU simple de 2 bits que hace operaciones de AND, OR, XOR y adición
12
ALU vs. FPU Una unidad de punto flotante, Floating Point Unit (FPU), también realiza operaciones aritméticas entre dos valores, pero lo hace para números en representación de punto flotante, que es mucho más complicada que la representación de complemento a dos usada en una típica ALU. Para hacer estos cálculos, una FPU tiene incorporados varios circuitos complejos.
13
Generalmente los ingenieros llaman ALU al circuito que realiza operaciones aritméticas en formatos de número entero (como complemento a dos), mientras que los circuitos que calculan en formatos más complejos como punto flotante, números complejos, etc., reciben generalmente un nombre más ilustre.
14
Interconexión de la ALU Los datos se presentan a la ALU como “registros”, y en registros se almacenan los resultados de las operaciones producidas por la misma. La ALU puede activar indicadores (flags) como resultado de una operación, por ejemplo: Indicador de desbordamiento se pondrá a 1 si el resultado de una operación, excede la longitud del registro en donde se debe almacenar.
15
ALU Registros Indicadores Registros
16
La unidad de control proporciona las señales que gobiernan el funcionamiento de la ALU y la transferencia de datos dentro y fuera de esta.
17
ALU Unidad de control Registros Indicadores Registros
18
REPRESENTACION DE ENTEROS En el sistema de numeración binaria, cualquier numero puede representarse tan solo con dígitos 1 y 0. Sin embargo, para ser almacenados y procesados por un computador, no se tiene la posibilidad de disponer del signo y de la coma.
19
Representación en signo- magnitud Existen varias convenciones para representar números positivos y negativos, esto implica tratar el bit mas significativo de la palabra, como un bit de signo: Ejemplo: 18 0010010 00010010 1 Positivo Signo magnitud = negativo
20
La representación “signo-magnitud” posee varias limitaciones. Una de ellas es que la suma y la resta requiere tener en cuenta tanto los signos de los números, como sus magnitudes, para llevar a cabo la operación en cuestión. Debido a las limitaciones, raramente se usa la representación en “signo-magnitud” para implementar en la ALU, las operaciones con enteros. Por lo cual, el esquema mas común es la representación en complemento a dos.
21
Representación en complemento a dos Este método también utiliza, para su representación, el bit mas significativo como bit de signo. Para obtener el complemento a dos de un numero binario, simplemente se complementa, es decir, se pone el opuesto del numero original: Numero decimalNumero binarioComplemento a dos 180001001011101101
22
Ejemplo: Convertir el numero +18, en complemento a dos. Si el 18 es negativo:
23
SUMA Y RESTA CASO 1 Si el resultado de la operación es un numero positivo, se obtiene un numero positivo en “notación binaria”. CASO 2 Si el resultado de la operación es un numero negativo, conseguimos un numero negativo en “complemento a dos”.
24
Caso 1
25
Caso 2
26
En cualquier suma, el resultado puede que sea mayor que el permitido por la longitud de palabra que se esta utilizando. Esta condición se denomina “desbordamiento” (overflow). Cuando ocurre un desbordamiento, la ALU debe indicarlo para que no se intente utilizar el resultado obtenido.
27
Para sumar, los números se presentan al sumador desde dos registros (Registro A y Registro B). El resultado es almacenado normalmente en un tercer registro o en uno de los ya existentes. La indicación de desbordamiento se almacena en una OF (Overflow Flag) de 1 bit, (bit =0 si no hubo desbordamiento- bit = 1 si ocurrió desbordamiento). Para la resta, el sustraendo se pasa a través de un “complementador”, antes de llegar al sumador.
28
A continuación se mostrara une ejemplo del camino a seguir en caso de suma. Registro BRegistro A Complementador SUMADOR SW OF
29
A continuación se mostrara une ejemplo del camino a seguir en caso de suma. Registro BRegistro A Complementador SUMADOR SW OF Conmutador: Selecciona si es suma o resta
30
A continuación se mostrara une ejemplo del camino a seguir en caso de suma. Registro BRegistro A Complementador SUMADOR SW OF Conmutador: Selecciona si es suma o resta Bit de desbordamiento
31
Multiplicación Esta operación es un poco mas compleja que la suma o la resta. Se han utilizado, tanto soluciones en Hardware, como diverso algoritmos para llevarla a cabo. A continuación se apreciara una implementación en Hardware para la multiplicación.
32
Multiplicando Registro M SUMADOR Lógica de control de desplazamiento y suma Registro A Multiplicador Registro Q C
33
Tomemos como ejemplo la multiplicación de 11 por 13: 11 1011 13 1101 Entonces: A=0000 Q=1101 M=1011 C= 0, Hasta que no halla un acarreo.
34
Multiplicando Registro M SUMADOR Lógica de control de desplazamiento y suma Registro A Multiplicador Registro Q C 00001101 1011 0
35
La lógica de control lee uno por uno los bits del “multiplicador”. Si Q o es 1: A=A+M 0000+1011 Se desplazan todos los valores, tanto de A como de Q, hacia la derecha
36
Multiplicando Registro M SUMADOR Lógica de control de desplazamiento y suma Registro A Multiplicador Registro Q C 00001101 1011 0
37
Multiplicando Registro M SUMADOR Lógica de control de desplazamiento y suma Registro A Multiplicador Registro Q C 0000+10111101 1011 0
38
Multiplicando Registro M SUMADOR Lógica de control de desplazamiento y suma Registro A Multiplicador Registro Q C 10111101 1011 0
39
Multiplicando Registro M SUMADOR Lógica de control de desplazamiento y suma Registro A Multiplicador Registro Q C 01011110 1011 0
40
Si Q o =0: No se realiza suma, solo se presenta el desplazamiento a la derecha, de A y Q
41
Multiplicando Registro M SUMADOR Lógica de control de desplazamiento y suma Registro A Multiplicador Registro Q C 01011110 1011 0
42
Multiplicando Registro M SUMADOR Lógica de control de desplazamiento y suma Registro A Multiplicador Registro Q C 00101111 1011 0
43
Multiplicando Registro M SUMADOR Lógica de control de desplazamiento y suma Registro A Multiplicador Registro Q C 00101111 1011 0
44
Multiplicando Registro M SUMADOR Lógica de control de desplazamiento y suma Registro A Multiplicador Registro Q C 0010+10111111 1011 0
45
Multiplicando Registro M SUMADOR Lógica de control de desplazamiento y suma Registro A Multiplicador Registro Q C 11011111 1011 0
46
Multiplicando Registro M SUMADOR Lógica de control de desplazamiento y suma Registro A Multiplicador Registro Q C 11101111 1011 0
47
Multiplicando Registro M SUMADOR Lógica de control de desplazamiento y suma Registro A Multiplicador Registro Q C 11101111 1011 0
48
Multiplicando Registro M SUMADOR Lógica de control de desplazamiento y suma Registro A Multiplicador Registro Q C 1110+10111111 1011 0
49
Multiplicando Registro M SUMADOR Lógica de control de desplazamiento y suma Registro A Multiplicador Registro Q C 1|10001111 1011
50
Multiplicando Registro M SUMADOR Lógica de control de desplazamiento y suma Registro A Multiplicador Registro Q C 10001111 1011 Bit de acarreo 1
51
El resultado de la multiplicación es unir, ubicar uno a continuación del otro, los valores de A y de Q. A=1000 Q=1111 Respuesta= 10001111
52
A continuación se mostrara el diagrama de flujo que representa la operación de multiplicació n. INICIO C, A 0 M Multiplicando Q Multiplicador Cuenta n ¿Q o =1? Desplazar C, A, Q Cuenta cuenta-1 C, A A+M ¿Cuenta =0? FIN si no
53
Multiplicación en complemento a dos Se hace necesaria la multiplicación en complemento a dos, cuando se vallan a multiplicar números con signo negativo. Una de las técnicas mas comunes utilizadas para este fin es el “Algoritmo de Booth”.
54
Algoritmo de Booth Este algoritmo tiene la ventaja adicional de acelerar el proceso de multiplicación, respecto de una aproximación mas directa. Q1Q1 QoQo Q -1
55
INICIO A 0 Q1 0 M Multiplicando Q Multiplicador Cuenta n Q o, Q- 1 Desplazamiento Aritmético a derecha: A, Q, Q-1 Cuenta Cuenta 1 A A+M ¿Cuenta =0? FIN =01=10 A A-M si no =11 =00
56
División La división es algo mas compleja que la multiplicación pero esta basada en los mismos principios generales. La operación conlleva repetidos desplazamientos y sumas o restas.
57
INICIO A o M Divisor Q Dividendo Cuenta n ¿A<0? Cuenta = Cuenta-1 Q0 0 A A+M ¿Cuenta =0? FIN sino Q0 1 si no Desplaza a izquierda A, Q A A-M Cociente Q Resto A
58
REPRESENTACION EN COMA FLOTANTE Un valor real se puede extender a la izquierda o a la derecha de forma arbitraria. En la informática se dispone de una cantidad limitada de dígitos para representar un valor, un número real puede rebasar este rango con facilidad. La coma flotante proporciona un cambio de ponderación que en este entorno técnico permite almacenar valores con partes significativas de peso alejado del “0”, esto es alejadas de la coma a su derecha o a su izquierda.
59
Tipos de datos en coma flotante Los números en coma flotante, también conocidos como números reales en otros lenguajes, se utilizan cuando se calculan funciones que requieren precisión fraccionaria. Los cálculos complejos, como la raíz cuadrada, o trigonométricas, como el seno y el coseno, tienen como resultado un valor cuya precisión requiere un tipo en coma flotante.
60
Hay dos clases de tipos en coma flotante, float y double: Float, (flotante): 32 bits Double (doble): 64 bits
Presentaciones similares
© 2025 SlidePlayer.es Inc.
All rights reserved.