1. INSTITUTO TECNOLÓGICO “OSCAR E. REYES”ORGANIZACIÓN DE COMPUTADORESTERCER SEMESTRE Operación de la unidad de aritmética y lógica 4.1 Arquitectura del Alu 4.2 Registros Alu 4.3 Representación Interna Alu 4.4 Suma y Registro Alu 4.5 Multiplicación y División Alu 4.6 Operaciones Lógicas Alu
2. Arquitectura del Alu(Unidad Lógica Aritmética ) La Unidad Aritmético Lógica (UAL), o ArithmeticLogicUnit (ALU), es un dispositivo (circuito digital), diseñado y construido para llevar a cabo las operaciones elementales como las operaciones aritméticas (suma, resta), operaciones lógicas (SI O NO), y operaciones de comparación o relacionales entre dos números. 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, y se mantiene comprobando si debe activar el pitido del temporizador, etc… Por mucho, los más complejos circuitos electrónicos son los que están construidos dentro de los chips de microprocesadores modernos como el Pentium. Por lo tanto, estos procesadores tienen dentro de ellos un ALU muy complejo y poderoso. De hecho, un microprocesador moderno (y los mainframes) pueden tener múltiples núcleos, cada núcleo con múltiples unidades de ejecución, cada una de ellas con múltiples ALU.
3. RegistrosAlu Su misión es realizar las operaciones con los datos que recibe, siguiendo las indicaciones dadas por la unidad de control. El nombre de unidad aritmética y lógica se debe a que puede realizar operaciones tanto aritméticas como lógicas con los datos transferidos por la unidad de control. La unidad de control maneja las instrucciones y la aritmética, y la lógica procesa los datos. Para que la unidad de control sepa si la información que recibe es una instrucción o dato, es obligatorio que la primera palabra que reciba sea una instrucción, indicando la naturaleza del resto de la información a tratar. Para que la unidad aritmética y lógica sea capaz de realizar una operación aritmética, se le deben proporcionar, de alguna manera, los siguientes datos: 1. El código que indique la operación a efectuar. 2. La dirección de la celda donde está almacenado el primer sumando. 3. La dirección del segundo sumando implicado en la operación. 4. La dirección de la celda de memoria donde se almacenará el resultado.
4. Los Registros son un medio de ayuda a las operaciones realizadas por la unidad de control y la unidad aritmética y lógica. Permiten almacenar información, temporalmente, para facilitar la manipulación de los datos por parte de la CPU. Realizando una similitud con el resto del sistema informático, los registros son a la CPU como la memoria principal es a la computadora. Los registros se dividen en tres grupos principales: • Registros de Propósito General. • Registros de Segmento de Memoria. • Registros de Instrucciones. Seguidamente se presenta una relación completa de los tres grupos de registros que contiene un microprocesador típico como puede ser el Intel 80386
5. Suma y Registro ALU En este tema se da a conocer la operación de SUMA usando los registros llamado SUMADOR (ADDER) en la ALU. Este SUMADOR es un circuito digital que realiza la adición de números, este circuito sumador lo encontramos en la ALU, donde también se realizan otro tipos de operaciones, los sumadores mas comunes se especializan en números binarios. La suma y la resta son operaciones de dos palabras de 1 bit de las que se obtiene una suma y un carry. Existen distintas formas de implementar la suma y la resta. En este apartado veremos distintos circuitos combinacionales basados en distintas funciones lógicas.
6. Operaciones de aritmética y lógica Half-Adder es capaz de sumar dos bits a la vez. Tiene dos entradas (es decir, A y B), y dos salidas (es decir, la suma S y acarreo C), S es dos bits “XOR” de A y B, mientras que C es la ‘Y’ de A y B. Es obligatorio que la salida de un Half-Adder es la suma de dos números de un bit, con C siendo el bit significativo de estas dos salidas.
7. Sumador completo (FULL-ADDER). Un sumador completo que es capaz de añadir tres bits (es decir, dos bits y el acarreo de un poco de cálculo anterior). Dispone de tres entradas llamadas generalmente como A, B y C para transportar, De esta manera, full-adders se pueden encadenar en cascada y pueden ser usados para sumar número muy grandes. Entradas: (A, B, Carry In) -> Salida: (Suma, CarryOut) La etapa final la puerta “O” de salida puede ser sustituido por una puerta “XOR” sin alterar la lógica resultante. Esto se debe a que la única diferencia entre las puertas “O” y “XOR” es cuando ambas entradas sean 1. (uno) Un Full-Adder puede ser desarrollado a partir de dos half-adders mediante la conexión de A y B a la entrada de un half-adder. La salida de un full-adder son bits suma aritmética de tres números de un bit.
8. SUMASi sumamos números decimales es común la expresión “cinco mas siete es igual a doce, entonces son dos y llevo uno”. Este “llevo uno” se conoce como el acarreo. De la misma manera se realiza una suma binaria de varios bits. Únicamente necesitamos recordar las sencillas reglas de la suma binaria de un bit. 1+1 = 0 y llevo 1 1+0 = 1 0+1 = 1 0+0 = 0 1+1+1 = 1 y llevo 1 Con estas reglas tenemos por ejemplo. Acarreo -> 1 11 10010111 + 01010110 = 11101101
9. RESTA La resta se lleva de manera similar en números decimales y binarios. Si en la suma existe el acarreo, en la resta existe el “préstamo”, igual que en decimales. 1. = 0 1. = 1 0. = 0 .0–1 = 1 prestando un uno al bit siguiente. Con estas reglas tenemos por ejemplo. 11001001- 00110101 = 10010100
10. Multiplicacion y Division ALU Multiplicador En diseño digital, un multiplicador / multiplicación ALU es un circuito de hardware dedicado a la multiplicación de dos valores binarios. Una serie de técnicas digitales de la aritmética puede ser empleada para la implementación de un multiplicador digital. La mayoría de ellas implican la computación parcial de un conjunto de productos y, a continuación, sumando el conjunto.
11. El multiplicador implementa este algoritmo en paralelo con el circuito que se muestra a continuación: De conformidad con el método básico, una celda de el arreglo multiplica los bits en esa posición (que se reduce a una operación de Y) y agrega el resultado a un bit producto parcial que lo recibe como su entrada. Esta arquitectura trabaja para operandos sin signo.
12. Multiplicación con signo El signo de un producto puede ser calculado inmediatamente de los signos de los operandos. Para complementar los números negativos operandos pueden complementarse, multiplicado sus magnitudes, y el producto vuelve a complementarse, si lo considera conveniente. Un complemento multiplicando puede ser manejado por los 2 del complemento sumador parcial para los productos y el signo por los shifts. Un complemento dos para enteros se puede representar como sigue:
13. OPERACIONES LOGICAS Operaciones Lógicas de Comparación. • La puerta lógica Y, conocida por su nombre en inglés AND, realiza la función booleana de producto lógico. La ecuación característica que describe el comportamiento de la puerta AND es: F = (A)* (B) Su tabla de verdad es la siguiente: Entrada A Entrada B Salida 0 0 0 0 1 0 1 0 0 1 1 1 Su definición se puede dar, como una compuerta que entrega un 1 lógico sólo si todas las entradas están a nivel alto 1.
14. La puerta lógica O Más conocida por su nombre en inglés OR, realiza la operación de suma lógica. La ecuación característica que describe el comportamiento de la puerta OR es: F= A+B Su tabla de verdad es la siguiente: 0 0 0 0 1 1 1 0 1 1 1 1 Entrada A Entrada B Salida A + B 0 0 0 0 1 1 1 0 1 1 1 1 Podemos definir la puerta O como aquella que proporciona a su salida un 1 lógico si al menos una de sus entradas está a 1. Entrada A Entrada B Salida
15. La puerta lógica O-exclusiva Más conocida por su nombre en inglés XOR, realiza la función booleana A’B+AB’. Su símbolo es el más (+) inscrito en un círculo. La ecuación característica que describe el comportamiento de la puerta XOR es: F=A B F AB A+B Su tabla de verdad es la siguiente: 0 0 0 0 1 1 1 0 1 1 1 0 Se puede definir esta puerta como aquella que da por resultado uno, cuando los valores en las entradas son distintos. ej: 1 y 0, 0 y 1 (en una compuerta de dos entradas) Entrada A Entrada B Salida
16. Si la puerta tuviese tres o más entradas, la XOR tomaría la función de suma de paridad, cuenta el número de unos a la entrada y si son un número impar, pone un 1 a la salida, para que el número de unos pase a ser par. Esto es así porque la operación XOR es asociativa, para tres entradas escribiríamos: a (b c) o bien (a b) c. Su tabla de verdad sería: Entrada A Entrada B Entrada C Salida 0 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 1 0 0 1 1 0 1 0 1 1 0 0 1 1 1 1
17. Lógica negada Puerta NO (NOT) La puerta lógica NO (NOT en inglés) realiza la función booleana de inversión o negación de una variable lógica. Una variable lógica Aa la cual se le aplica la negación se pronuncia como "no A" o "A negada". La ecuación característica que describe el comportamiento de la puerta NOT es: F = A Su tabla de verdad es la siguiente: Entrada A Salida A 0 1 1 0 Se puede definir como una puerta que proporciona el estado inverso del que esté en su entrada.
18. La puerta lógica NO-Y, más conocida por su nombre en inglés NAND, realiza la operación de producto lógico negado. En la figura de la derecha pueden observarse sus símbolos en electrónica. La ecuación característica que describe el comportamiento de la puerta NAND es: F= A B = A + B Su tabla de verdad es la siguiente: Entrada A Entrada B Salida AB 0 0 1 0 1 1 1 0 1 1 1 0 Podemos definir la puerta NO-Y como aquella que proporciona a su salida un 0 lógico únicamente cuando todas sus entradas están a 1. Puerta NO-Y (NAND)
19. Puerta NO-O (NOR) La puerta lógica NO-O, más conocida por su nombre en inglés NOR, realiza la operación de suma lógica negada.. La ecuación característica que describe el comportamiento de la puerta NOR es: F= A + B = A * B Su tabla de verdad es la siguiente: Entrada A Entrada B Salida A + B 0 0 1 0 1 0 1 0 0 1 1 0 Podemos definir la puerta NO-O como aquella que proporciona a su salida un 1 lógico sólo cuando todas sus entradas están 0.
20. Puerta equivalencia (XNOR) La puerta lógica equivalencia, realiza la función booleana AB+~A~B. Su símbolo es un punto (·) inscrito en un círculo. La ecuación característica que describe el comportamiento de la puerta XNOR es: F = A B Su tabla de verdad es la siguiente Entrada A Entrada B Salida A B 0 0 1 0 1 0 1 0 0 1 1 1 Se puede definir esta puerta como aquella que proporciona un 1 lógico, sólo si las dos entradas son iguales, esto es, 0 y 0 ó 1 y 1 (2 encendidos o 2 apagados).