Sie sind auf Seite 1von 26

Unidad Aritmtico Lgica (ALU)

Unidad Aritmtico-Lgica (Unidad de Procesamiento)


La ALU es la unidad encargada de realizar las operaciones elementales de tipo aritmtico (sumas, restas, multiplicaciones, etc.) y lgico (comparaciones, operaciones sobre el lgebra de Boole: NOT, AND, OR, etc).

Elementos Bsicos
Los elementos bsicos que componen la ALU son:

Circuito operacional (COP): Contiene los circuitos necesarios para la realizacin de las operaciones con los datos procedentes del Registro de Entrada. Registro de Entrada (RE): Contiene los datos u operandos que intervienen en una instruccin antes de que se realice la operacin por parte del COP. Registro de Estado (RS): Contiene un conjunto de biestables (indicadores) en los que se deja constancia de condiciones que se dieron en la ltima operacin realizada y que habrn de ser tenidas en cuenta en operaciones posteriores. Registro Acumulador (RA): Almacena los resultados de las operaciones realizadas por el COP.

Operaciones con Datos de Memoria y Registros


Una unidad aritmtica lgica puede realizar un conjunto de operaciones aritmticas bsicas y un conjunto de operaciones lgicas, a travs de lneas de seleccin. En ingls ALU significa Arithmetic Logic Unit (Unidad Aritmtica Lgica).

Las cuatro entradas de A se combinan con las de B generando una operacin de salida de cuatro bits en F. La entrada de seleccin de modo S2 distingue entre las operaciones aritmticas y lgicas. Las entradas de seleccin S0 y S1 determinan la operacin aritmtica o lgica. Con las entradas S0 y S1 se pueden elegir cuatro operaciones aritmticas (con S2 en un estado) y cuatro logicas (con S2 en otro estado). Los acarreos de entrada y salida tienen sentido nicamente en las operaciones aritmticas. El diseo de una ALU implica el diseo de la seccin aritmtica, la seccin lgica y la modificacin de la seccin aritmtica para realizar las operaciones aritmticas y lgicas.

Seccin Lgica
Los datos de entrada en una operacin lgica son manipulados en forma separada y los bits son tratados como variables binarias. En la tabla se listan cuatro operaciones lgicas OR, OR - Exclusiva, AND y NOT. En el circuito, las dos lneas de seleccin (S1, S0) permiten seleccionar una de las compuertas de entrada, correspondientes a la funcin Fi .

Seccin Aritmtica
El componente bsico de la seccin aritmtica es un sumador en paralelo . Las operaciones aritmticas configuradas en el circuito aritmtico se presentan en la tabla . En una ALU, la suma aritmtica se puede implementar con un nmero binario en A, otro nmero en la entrada B y el acarreo de entrada Cin en un valor lgico 0.

Seccin Aritmtica
El componente bsico de la seccin aritmtica es un sumador en paralelo . Las operaciones aritmticas configuradas en el circuito aritmtico se presentan en la tabla . En una ALU, la suma aritmtica se puede implementar con un nmero binario en A, otro nmero en la entrada B y el acarreo de entrada Cin en un valor lgico 0.

La implementacin de las funciones anteriores por medio de un circuito lgico sencillo se describe a continuacin. El circuito se disea bajo el precepto de intervenir cada entrada Bi para obtener las siguientes funciones:

Por medio de estas funciones se pueden lograr las funciones de la tabla, al agregar el nmero Ni a la entrada A a travs de un sumador en paralelo para cada etapa, teniendo en cuenta el valor de la entrada Cin. El circuito combinacional aritmtico se muestra en la figura 3.12.4. En la figura, la entrada A se denomina Mi en el sumador completo.

Diseo de una Unidad Aritmtica Lgica


En el diseo de una ALU se deben seguir los siguientes pasos:

Disear la seccin aritmtica independientemente de la seccin lgica. Determinar las operaciones lgicas del circuito aritmtico, asumiendo que los acarreos de salida de todas las etapas son 0. Modificar el circuito aritmtico para obtener las operaciones lgica requeridas.

El diseo simple de una ALU se hace utilizando el sumador completo para generar las operaciones lgicas de la unidad. Por lo tanto es necesario introducir una variable de control adicional (S2), con el fin de seleccionar entre las operaciones lgicas y aritmticas.

Recordando la salida de un sumador completo: F = (Ai Bi)Cin A partir de esta ecuacin, es posible obtener la funcin lgica requerida, utilizando la debida manipulacin lgica. La funcin requerida se expone en la tabla:

Partiendo de la tabla, las entradas Mi, Ni y Cini en un sumador completo, son equivalentes a las siguientes expresiones: Mi = Ai + S2S1'S0'Bi + S2S1S0'Bi'

Ni = S0Bi + S1Bi'
Cini = S2'Ci

Las doce operaciones generadas en el ALU se resumen en la tabla, la funcin en particular se selecciona a travs de S2, S1, S0 y Cin. Las operaciones aritmticas son las mismas del circuito aritmtico.

Diseo de una ALU mediante HDL


Herramientas Computacionales Utilizadas en las Metodologias de Diseo Descendentes (TopDown)

En el diseo Top - Down se captura una idea en un nivel de abstraccin alto y se implementa a partir de sta descripcin, en un proceso hacia abajo incrementando el nivel de detalle segn lo requerido.

En el primer nivel de la figura se aprecia un sistema inicial dividido en mdulos, los cuales se dividen sucesivamente hasta llegar a los componentes bsicos del circuito o elementos primarios.

Estos elementos se enmarcan en un cuadrado con la lneas ms gruesa. Los mtodos de diseo se basan en programas computacionales conocidos como herramientas de automatizacin del diseo electrnico (EDA Tools), las cuales sobresalen por ofrecer una reduccin significativa en el tiempo del diseo.

Las herramientas siguen el siguiente diagrama de flujo:

Este proceso se resume en los siguientes pasos:

- Planteamiento de las especificaciones.


- Entrada del diseo:En esta etapa se realiza una descripcin del circuito, para la cual existen varias alernativas, a) Captura Esquemtica: Dibujo del circuito mediante interfaz grfica, puede ser un diagrama de bloques. b) Mediante lenguajes de descripcin HDL como VHDL, Verilog, Abel y CUPL. c) Diagramas de transicin de estados.

d) Formas de onda Tablas de verdad.


- Simulacin HDL (Opcional): Simula el comportamiento del circuito que se acaba de describir antes de la sntesis. - Sntesis lgica: Consiste en tomar la descripcin HDL y a partir de ella, generar y simplificar las ecuaciones lgicas correspondientes al circuito descrito.

- Simulacin funcional: Simula las ecuaciones lgicas, sin tener en cuenta los retardos.

- Implementacin del diseo: Los pasos a seguir dependen del tipo de PLD que se est utilizando en el diseo. Trazado del mapa, Colocacin y enrutamiento, Creacin del archivo para la programacin del dispositivo. Revisa si el circuito se adapta al chip; No. salidas, No. de trminos productos por salida.
- Simulacin temporal: Despus de la implementacin ya se conoce como queda programado el circuito y se puede realizar una simulacin teniendo en cuenta los retardos. - Programacin: La implementacin genera un archivo JEDEC que indica el estado de las conexiones. Este archivo se usa para programar (o quemar el chip).

Ventajas del Diseo Top - Down


La metodologia de diseo descendente disminuye el tiempo de diseo. Por medio de los programas CAD para diseo de impresos se ha logrado disminuir el tiempo a 1/10 parte de lo que se gastaba antes, cuando esto se hacia antes manualmente. En la realizacin de las simulaciones no es necesario slo un prototipo, ya que este generalmente funciona; antes se deba repetir el proceso 2 o 3 veces hasta que el prototipo funcionara. Las ltimas herramientas de diseo electrnico permiten implementar de forma automtica la metodologa de diseo Top Down.

Lenguajes de Descripcin de Hardware (HDL - Hardware Description Language)


Los lenguejes HDL permiten realizar el primer paso de la metodologa del diseo descendente. Se describen en un lenguaje de alto nivel el comportamiento requerido del circuito a disear. Esta descripcin se puede hacer mediante tablas de verdad, lista de transiciones de estados, ecuaciones lgicas. Con base a la descripcin, el programa realiza los siguientes pasos: - Sintetiza y simplifica las ecuaciones lgicas.

- Simula las ecuaciones.


- Sintetiza el circuito lgico. - Simula el circuito lgico. - Sintetiza el archivo para programar un PLD.

Entre otras ventajas, se pueden mencionar las siguientes: - EL programa HDL es el mismo as cambie la tecnologa, Ejemplo: FPGA, transistores 2.5m ., 1.2 m . - Facilita la comunicacin entre los diseadores. - Facilita el uso de las partes de un diseo en otros (Reutilizacin).

- Es posible verificar el funcionamiento del sistema dentro del proceso de diseo sin necesidad de implementar el circuito.
- Las simulaciones del diseo, antes de que este sea implementado, permiten probar la arquitectura del sistema para tomar decisiones en cuanto a cambios en el diseo. - Las herramientas de sntesis tienen la capacidad de convertir una descripcin hecha en un HDL, VHDL por ejemplo, a compuertas lgicas y adems, optimizar dicha descripcin de acuerdo a la tecnologa utilizada.

- Las descripciones en un HDL proporcionan documentacin de la funcionalidad de un diseo independientemente de la tecnologa utilizada. - Una descripcin realizada en un HDL es ms fcil de leer y comprender que los nestlist o circuitos esquemticos. - Un circuito hecho mediante una descripcin en un HDL puede ser utilizado en cualquier tipo de dispositivo programable capaz de soportar la densidad del diseo. Es decir, no es necesario adecuar el circuito a cada dispositivo porque las herramientas de sntesis se encargan de ello.

Lenguajes HDL ms populares

En la actualidad existen diversas herramientas de diseo para integrar sistemas de gran complejidad. Los lenguajes de descripcin de hardware constituyen una opcin de diseo de soluciones de sistemas electrnicos. * ABEL El lenguaje ABEL es el ms utilizado en los PLDs. El lenguaje ABEL facilita la programacin de PLDs combinatorios y secuenciales. Un circuito en ABEL se puede describir en forma de ecuacin lgicas, tabla de verdad o en transicin de estados.

El programa ABEL cumple los siguientes pasos: - Verifica si existen errores en la sintaxis del programa fuente. - Simplifica o sintetiza las ecuaciones segn sea el caso. - Simula las ecuaciones. - Puede escoger el dispositivo que mejor se adapte, o verificar si el dispositivo especificado s se adapta a la aplicacin. - Genera el archivo JEDEC para la programacin del PLD.

Lenguajes HDL ms populares


* VHDL El VHDL es un lenguaje de descripcin y modelado diseado para descibir en forma entendible la funcionalidad y la organizacin del hardware de los sistemas digitales y otros componentes. VHDL maneja una sintaxis amplia y flexible. El lenguaje VHDL permite el diseo Top -Down o en otras palabras; modelar los bloques de alto nivel, simularlos y adecuar la funcionalidad en alto nivel antes de llegar a los niveles bajos de abstraccin en la implementacin del diseo.