Está en la página 1de 39

UNIVERSIDAD NACIONAL DEL

CENTRO DEL PERU


Facultad de Ingeniería de Sistemas
UNIDAD ARITMETICA LOGICA

INTEGRANTES:
CASTRO CAMPOS KEVIN
LAZO ACOSTA RUTH
RAMIREZ FERNANDEZ EDUARDO
UNIDAD ARITMETICA LOGICA

La Unidad Aritmético –
Lógica (UAL) una de las
unidades que forman
parte de la Unidad
Central de Procesos (es
decir, del Procesador,
Microprocesador o CPU -
Central Processor Unit,
por sus siglas en inglés)
HISTORIA PROPUESTA POR VON NEUMANN
El matemático John Von Neumann propuso el concepto
de la ALU en 1945, cuando escribió un informe sobre las
fundaciones para un nuevo computador llamado EDVAC
(Electronic Discrete Variable Automatic Computer)
(Computador Automático Variable Discreto Electrónico).
Más adelante, en 1946, trabajó con sus colegas
diseñando un computador para el Princeton Institute of
Advanced Studies (IAS). El IAS computer se convirtió en el
prototipo para muchos computadores posteriores. En la
propuesta, von Neumann esbozó lo que él creyó sería
necesario en su máquina, incluyendo una ALU.
3
APLICACIÓN

En informática, la
Unidad Aritmética
Lógica(UAL) forma
parte del circuito
digital del procesador
indefectiblemente
APLICACIÓN
En informática, la Unidad Aritmética Lógica(UAL) forma parte
del circuito digital del procesador indefectiblemente, teniendo
además presencia en otros Circuitos Electrónicos que necesiten
realizar estas operaciones, teniendo por ejemplo la utilización
de un Reloj Digital, donde estos cálculos lógicos se basan en
dos funcionalidades básicas:
 Sumar de 1 en 1 al tiempo actual (para los segundos,
minutos y las horas).
 Comprobación de la activación o no activación de la
alarma.
 Cambio de hora y minutos de acuerdo con el sistema
hexadecimal.
Pero esta unidad es generalmente utilizada en circuitos de alta
complejidad, cubriendo no solo operaciones matemáticas
simples, sino una gran cantidad de cálculos por segundos.

5
INTERFACES DE LA UNIDAD ARITMETICA LÓGICA
Las interfaces que tiene esta unidad. Esta unidad puede ser vista del punto de vista de sus
interfaces de entrada-salida como:

Las señales de entrada son:


• Las líneas de control que determinan la operación a implementar.
• Las líneas de datos de entrada correspondiente a los argumentos de la operación(registros
de entrada).
Las señales de salida son:
• Las líneas de datos donde se retorna el resultado de la operación designada (registro de
salida).
• Los indicadores de estado (o flags), que indican la validez e información adicional de la
operación (desbordamiento, acarreo, signo, zero, etc).
BANCO DE REGISTROS
Son dispositivos de almacenaje consisten en una serie de registros. La longitud de estos
registros se define como la cantidad de información que pueden almacenar a cada uno de los
registros dentro de la computadora se le da un nombre tal como registro A, registro X, etc. y a
los flip-flops que lo forman se les da el mismo nombre, esto es, el registro A se forma de los
flip-flops 𝐴 0 , 𝐴1, 𝐴 2 ,… 𝐴 𝑁.Algunas computadoras tiene uno o varios registros llamados
acumuladores que es el principal registro para las operaciones lógicas y aritméticas. El registro
guarda los resultados de las operaciones lógicas y aritméticas, circuitos lógicos son anexados a
este registro para que las operaciones necesarias puedan realizarse con su contenido y los
otros registros que intervengan.

7
8
REGISTRO DE ESTADO
Los registros de estado o flags Registros de memoria en los cual se deja constancia de
las condiciones de la última operación realizada, para poder ser tomado en cuenta
en próximas operaciones. Depende del procesador puede tener otras flags, en este
caso mencionaremos los más comunes:
• Zero flag(Z): El resultado es cero.
• Negative flag(N): El resultado es negativo.
• Overflow flag(V): El resultado supera el número de bits que puede manejar la ALU.
• Parity flag(P): Paridad del número de 1 en los datos.
• Interrupt flag(I): Se ha producido una interrupción.
• Carry flag(C): Acarreo de la operación realizada.
REGISTRO DE USO GENERAL
Son utilizados por las aplicaciones para guardar resultados parciales o datos temporales, es decir, un lugar
donde ir guardando datos que se están utilizando en ese instante en las operaciones.
AX (Acumulador):
El acumulador se emplea para instrucciones como multiplicación, división y algunas de las instrucciones de
ajuste. En algunos procesadores puede almacenar también la dirección de desplazamiento de una posición en
el sistema de memoria.
BX (índice base):
Algunas veces guarda la dirección de desplazamiento de una posición en el sistema de memoria, en todas las
versiones del microprocesador. También permite direccionar datos de la memoria.
CX (Conteo):
Almacena la cuenta de varias instrucciones. Además, puede guardar la dirección de desplazamiento de datos
en la memoria.
EDX (Datos):
Guarda una parte del resultado de una multiplicación, o parte del dividendo antes de una división.
REGISTROS DE SEGMENTOS DE MEMORIA:
Estos registros adicionales generan direcciones de memoria cuando se combinan con otros registros en el microprocesador. A
continuación, se en lista estos registros de segmentos:
CS (código):
Es una sección de la memoria que almacena el código (procedimientos y programas) utilizado por el microprocesador. Así
mismo define la dirección inicial de la sección de memoria que guarda el código.
DS (Datos):
Es una sección de memoria que contiene la mayor parte de los datos utilizados por un programa. Se accede a los datos en el
segmento de datos mediante una dirección de desplazamiento o el contenido de otros registros que guardan la dirección de
desplazamiento.
SS (pila):
Define el área de memoria utilizada para la pila. El punto de entrada de la pila se determina mediante los registros segmento de
pila y apuntador de pila.
ES (extra):
Es un segmento de datos adicional utilizado por algunas de las instrucciones de cadena para guardar datos de destino.
REGISTROS DE PUNTERO DE
INSTRUCCIONES
El apuntador de instrucciones, que apunta a la siguiente instrucción en un
programa, se utiliza por el microprocesador para encontrar la siguiente
instrucción secuencial en un programa ubicado dentro del segmento de
código. El apuntador de instrucciones puede modificarse mediante un
salto (jump) o una instrucción de llamada (call).
DECODIFICADOR
Se encarga de extraer el código de operación de la instrucción en curso (que está
en RI), la analiza y emite señales necesarias al resto de elementos para su ejecución
a través del secuenciador.

SECUENCIADOR
También llamado controlador. En este dispositivo se generan órdenes muy
elementales (microórdenes) que, sincronizadas por los pulsos del reloj, hacen que se
vaya ejecutando poco a poco la instrucción que está cargada en el RI (registro de
instrucción).
UNIDAD ARITMETICA Y LÓGICA
Existen UAL de las distintas familias que se venden como unidades separadas especializadas en su
función. En las microcomputadoras, la UAL forma parte del mismo circuito y no se puede usar por
separado. Un circuito de UAL es muy versátil y permite realizar en un sólo paquete muchas de las
operaciones aritméticas y lógicas.
En la siguiente figura presentamos un circuito funcional de la compañía Motorola llamado el
MC10181 que acepta dos palabras de 4 bits y un acarreo junto con 4 líneas que especifican la
función a realizarse dentro de la UAL. Consta también de dos terminales más que permiten
conectar al circuito con otros circuitos para construir palabras más grandes o para mejorar su
velocidad. Las funciones listadas en la tabla de la UAL son engañosas pues los fabricantes
decidieron poner A menos B menos 1 en lugar de A.
TIPOS DE OPERACIONES UNIDAD ARITMETICA Y LÓGICA
En la siguiente tabla tenemos los tipos diferentes de operaciones que puede realizar,
utilizando los canales de control M y S3, S2, S1 y S0..

 Cuando M toma el valor 1, cada valor que toma


Fi depende solamente de los valores de Ai y Bi, no
se tiene en cuenta la entrada CENT y no se
producen acarreos entre las etapas.
 Las entradas de control S3 a S0 seleccionan la
operación a aplicar según la tabla anterior.
 Cuando M toma el valor 0, pasamos a las
operaciones aritméticas, produciéndose acarreos
entre las etapas, que se tienen en cuenta en CENT
y se suman a la etapa más significativa.
 Cuando estamos trabajando con palabras de
más de cuatro bits, podemos poner varias ALU
74LS181 en cascada.
OPERACIONES
ARITMETICAS
CIRCUITO SUMADOR EN PARALELO
En la suma en serie la suma es similar a la acción que realiza un humano al calcular, esto es, se va
sumando dígito a dígito una columna a la vez hasta llegar al dígito más significativo. Este método
es económico en el uso de la electrónica, pero es relativamente lento puesto que cada par de bits
sumados requiere de un ciclo de reloj. La suma en serie en la que todos los bits de los sumandos se
suman simultáneamente es mucho más rápida que la suma en paralelo, pero menos economía en
el uso de compuertas puesto que se requiere un sumador por cada par de bits a sumar.
CIRCUITO RESTADOR
Llamaremos a A el minuendo y a B el substraendo y a D=A-B, la diferencia siendo C el acarreo
resultante en algunos casos. Cuando A=0 y B=1 necesitaremos pedir prestado de la siguiente
columna para permitir que la resta pueda ser realizada. Cuando se regresa la unidad que fue
prestada, es necesario realizar primero una resta del substraendo del minuendo y luego una resta
más de 1 al resultado (el orden en que se realicen estas dos operaciones no tiene importancia).
MULTIPLICACIÓN
El multiplicando es multiplicado por cada dígito del multiplicador y estos productos parciales son
sumados luego para obtener el resultado total considerando sus posiciones relativas. Cada
producto parcial es 0 ó igual al multiplicando corrido a la izquierda dependiendo si el multiplicador
es 0 ó 1. Notamos también que el resultado tiene más dígitos que el multiplicando o el multiplicador
y si estos tienen N bits, el resultado puede llegar a tener hasta 2N bits. Si los registros usados para
contener el resultado no tienen la capacidad adecuada pueden llegar a saturarse y perderse el
resultado.

Circuito de multiplicación básica


para dos palabras de 3 bits:
MULTIPLICACIÓN
Consiste en un registro de corrimiento de 5 bits para el multiplicando, uno de 3 bits para el
multiplicador y un acumulador (registro totalizador) para el resultado formado con flip-flops del tipo
D. Inicialmente el multiplicando se carga en los tres flip-flops de la derecha del registro de
corrimiento, el dígito menos significativo en el FF0 y el más significativo en el FF2. El acumulador se
encuentra limpio.
El multiplicador serial presentado es relativamente lento pues requiere que las sumas se realicen
una detrás de la otra, por lo que se prefiere usar multiplicadores paralelos que realizan las sumas a
la vez y disminuyen el tiempo total de la operación.
DIVISIÓN
La división se puede realizar por medio de restas consecutivas. Puesto que es un
proceso de prueba y error tarda mucho tiempo en realizarse y últimamente se ha
preferido hacer un circuito auxiliar o paralelo a la propia computadora que realice
toda la serie de operaciones trascendentes que ocupan la mayor parte del tiempo de
la máquina central (coprocesador o procesador numérico).
TIPOS DE OPERACIONES
ALU
OPERADORES GENERALES
Realizan distintas clases de operaciones. Por ejemplo: Los computadores convencionales
OPERADORES
poseen un solo operador, llevando a cabo todas las operaciones posibles.

ESPECIALIZADOS:
Solo realizan una determinada operación: por ejemplo, sumas y restas en coma
flotante. Por ejemplo:
 Los computadores muy sofisticados, cuya Unidad Aritmética consta de varios
operadores especializados, han de soportar un elevado coste.
OPERADORES
COMBINACIONALES:
La salida depende directamente de las entradas.
 Proporcionan una salida en función de la entrada
 No contienen elemento de memoria
OPERADORES SECUENCIALES:
Las salidas dependen de las modificaciones de las entradas, en cada una de las etapas del algoritmo y los estados
 Solicita varias etapas para obtener el resultado.
 Contiene elementos de memoria
El operador secuencial (,) se utiliza para concatenar varias expresiones. El lado izquierdo de la coma siempre se evalúa
primero.
Ejemplo:
m=(n=30,n++,n*2)

Asigna 30 a la variable n, después incrementa n, para posteriormente multiplicar el resultado del incremento por 2, valor
que es asignado a m. El valor de m será 62.
OPERADORES EN PARALELO:
La operación se realiza, simultáneamente, sobre todos los dígitos del operando.
 Realiza la función de informaciones al mismo tiempo sobre todos los dígitos de los operandos.
OPERADORES EN
SERIE:
La operación se realiza digito a digito.
 Laboran digito a digito y requiere más etapas como dígitos transforme.
OPERADORES EN MOS Y
BIPOLAR:
Los circuitos mos en comparación de los bipolares es uno de los mayores
retardos en la propagación de señales.
OPERACIONES DEL ALU
(DEZPLAZAMIENTO)
LOGICO
 Independientemente del sistema de representación de los operandos se introducen ceros por la derecha o
por la izquierda según se trate de un desplazamiento a la izquierda o a la derecha, respectivamente.
 El bit o los bits que salen suelen copiarse en el indicador de acarreo (el último que ha salido es el que queda).
Las operaciones lógicas realizan la operación sobre cada uno de los bits del operando o de los operados.
CIRCULARES
 Los bits que salen por un extremo entran por el otro.
 El bit o los bits que salen suelen copiarse en el indicador de acarreo (el último que ha salido
es el que queda)

Desplazamientos circulares a través del flag de acarreo


 Los bits que salen por un extremo entran por el otro.
 El bit o los bits que salen suelen copiarse en el indicador de acarreo.
OPERACIONES DEL ALU
(ARITMÉTICA)
ARITMETICA
 Extensión de signo: Es cuando se pasa de un operador de n bits a otro de m bits con m>n.
Consiste en ver como rellenar los bits que sobran conservando el signo.
SUMA
La suma es la operación más importante de todas, ya que:
 Se emplea para el cálculo de la dirección siguiente instrucción
 Se utiliza para el cálculo de las direcciones a los operandos
 Otras operaciones la emplean: multiplicación, división.
OPERACIONES DEL ALU
(LOGICA)
Una de las funciones de la ALU es la de realizar las
operaciones lógicas con los datos contenidos en unas
instrucciones del programa.
Operación negación(NOT)
La operación NOT, consiste en negar el estado de la variable, es decir, invertir el resultado
lógico que contenía la variable antes de aplicarle la negación lógica, dicha función sirve
para una sola función.

Suma lógica (AND)


La operación AND consiste en una multiplicación lógica, supongamos que los valores
1=TRUE y 0=FALSE, entonces podemos armar lo que se denomina, tabla de verdad para
una función lógica AND. Dicha tabla se expresa de la siguiente manera.
La operación XOR
La operación XOR consiste en un negador en el cual la variable principal de dicha función se niega cuando la
variable secundaria está en TRUE, caso contrario, el valor de la variable principal de la función es el mismo. En
resumen, esta operación lógica consiste en un negador de 2 variables, en las cuales, una variable es la que se
desea negar y la otra variable es la de control para la negación.
Supongamos que los valores 1=TRUE y 0=FALSE, entonces podemos armar lo que se denomina, tabla de verdad
para una función
La operación NOR
La operación NOR consiste en un OR en la cual, a su resultado, se le es aplicable la
operación NOT. Supongamos que los valores 1=TRUE y 0=FALSE, entonces podemos armar
lo que se denomina, tabla de verdad para una función
La
operación
NAND
La operación NAND consiste en un AND en la cual, a su resultado, se le es aplicable la
operación NOT. Supongamos que los valores 1=TRUE y 0=FALSE, entonces podemos armar
lo que se denomina, tabla de verdad para una función
OPERACIONES DEL ALU
(MICRO-OPERACIONES DE
CORRIMIENTO)
Es una operación básica realizada sobre la información
almacenada en uno o más registros (flip-flops).
Corrimiento Lógico:
Especifican operaciones binarias para arreglos de bits almacenados en registros. Estas
operaciones consideran cada bit de registro en forma separada y los tratan como
variables binarias.
Se adoptan símbolos especiales para las microoperaciones lógicas OR, AND y
complementar, para diferenciar de los símbolos booleanas.
CORRIMIENTO ARITMÉTICAS
En esta están incluido: Suma, resta incremento, decremento y corrimiento
CORRIMIENTO DE DESPLAZAMIENTO
Se usan para la transferencia serial de datos. El contenido de un registro puede
correrse bien sea ala derecha o a la izquierda.