P. 1
3 Unidad Aritmética y Lógica 3

3 Unidad Aritmética y Lógica 3

|Views: 6.063|Likes:

More info:

Published by: Jesus Alejandro Fernandez Delgado on Aug 25, 2010
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as DOCX, PDF, TXT or read online from Scribd
See more
See less

11/15/2015

pdf

text

original

3 Unidad Aritmética y Lógica 3.

1 Estructura y Funcionamiento de una ALU

7.2.- Unidad Aritmético-Lógica (Unidad de Procesamiento).
La ALU es la unidad encargada de realizar las operaciones elementales de tipo aritmético (sumas, restas, multiplicaciones, etc.) y lógico (comparaciones, operaciones sobre el álgebra de Boole: NOT, AND, OR, etc).

Los elementos básicos que componen la ALU son: Circuito operacional (COP): Contiene los circuitos necesarios para la realización de las operaciones con los datos procedentes del Registro de Entrada. Registro de Entrada (RE): Contiene los datos u operandos que intervienen en una instrucción antes de que se realice la operación 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 operación realizada y que habrán de ser tenidas en cuenta en operaciones posteriores. Registro Acumulador (RA): Almacena los resultados de las operaciones realizadas por el COP.

12. En la tabla 3. .2 Operaciones con datos de memoria y Registros Unidad Aritmética y LÓgica (ALU) Una unidad aritmética lógica puede realizar un conjunto de operaciones aritméticas básicas y un conjunto de operaciones lógicas.12. muestra el diagrama de bloques de una ALU. AND y NOT.12. OR .1.1.12. correspondientes a la función Fi . la sección lógica y la modificación de la sección aritmética para realizar las operaciones aritméticas y lógicas. Figura 3.1. La figura 3.3. El diseño de una ALU implica el diseño de la sección aritmética. S1 S0 Salida Función Fi 0 0 F=Ai+Bi OR 0 1 F=Ai‡Bi XOR 1 0 F=Ai·Bi AND 1 1 F=A'i NOT Tabla 3. La entrada de selección de modo S2 distingue entre las operaciones aritméticas y lógicas. Las entradas de selección S0 y S1 determinan la operación aritmética o lógica. Tabla de Función Lógica. Con las entradas S0 y S1 se pueden elegir cuatro operaciones aritméticas (con S2 en un estado) y cuatro logicas (con S2 en otro estado). S0) permiten seleccionar una de las compuertas de entrada. Los acarreos de entrada y salida tienen sentido únicamente en las operaciones aritméticas. En inglés ALU significa Arithmetic Logic Unit (Unidad Aritmética Lógica).Exclusiva. a través de líneas de selección. las dos líneas de selección (S1. En el circuito.1. se listan cuatro operaciones lógicas OR. Diagrama de bloques de una ALU Las cuatro entradas de A se combinan con las de B generando una operación de salida de cuatro bits en F. Sección Lógica Los datos de entrada en una operación lógica son manipulados en forma separada y los bits son tratados como variables binarias.

Tabla de la Función F en un Circuito Aritmético La implementación de las funciones anteriores por medio de un circuito lógico sencillo se describe a continuación.2.12. En una ALU.2.12.El circuito lógico de la figura 3.1).2. Las operaciones aritméticas configuradas en el circuito aritmético se presentan en la tabla 3. otro número en la entrada B y el acarreo de entrada Cin en un valor lógico 0. Figura 3.12.10. Selección de Función Salida N Función Descripción S1 S0 Cin N F 0 0 0 0 A Transferir A 0 0 1 0 A+1 Incrementar A 0 1 0 B A+B Suma ó agregar B a A 0 1 1 B A+B+1 Suma con accarreo ó agregar B a A más 1 1 0 0 B¶ A+B¶ Agregar el complemento de 1 de B a A 1 0 1 B¶ A+B¶+1 Agregar el complemento de 2 de B a A 1 1 0 Todos unos A-1 Decrementar A 1 1 1 Todos unos A Trasferir A Tabla 3. Diagrama lógico de un circuito lógico de una ALU Sección Aritmética El componente básico de la sección aritmética es un sumador en paralelo (ver lección 3.12. la suma aritmética se puede implementar con un número binario en A. El resto de las funciones se enuncian en la columna descripción. El circuito se diseña bajo el precepto de intervenir cada entrada Bi para obtener las siguientes funciones: S1 S0 Ni 0 0 0 .2 es una etapa de un circuito lógico de n bits.

12.4. la entrada A se denomina Mi en el sumador completo.12. muestra el circuito. Figura 3.0 1 Bi 1 0 Bi' 1 1 1 Tabla 3.12.2. Circuito para la tabla 3. Por medio de estas funciones se pueden lograr las funciones de la tabla 3. Tabla del circuito para la entrada Bi La figura 3.3. Figura 3.2 al agregar el número Ni (tabla 3. Circuito aritmético Diseño de una Unidad Aritmética Lógica En el diseño de una ALU se deben seguir los siguientes pasos: .3) a la entrada A a través de un sumador en paralelo para cada etapa.12. teniendo en cuenta el valor de la entrada Cin.12.3.3.12. El circuito combinacional aritmético se muestra en la figura 3.12.12.4. En la figura.

Determinar las operaciones lógicas del circuito aritmético. El diseño simple de una ALU se hace utilizando el sumador completo para generar las operaciones lógicas de la unidad. La función requerida se expone en la tabla 3.4. es posible obtener la función lógica requerida.4. asumiendo que los acarreos de salida de todas las etapas son 0. muestra el diagrama de la unidad aritmética lógica de dos etapas. Tabla de obtención de las funciones lógicas con un sumador completo Partiendo de la tabla 3. Modificar el circuito aritmético para obtener las operaciones lógica requeridas. utilizando la debida manipulación lógica. son equivalentes a las siguientes expresiones: Mi = Ai + S2·S1'·S0'·Bi + S2·S1·S0'·Bi' Ni = S0·Bi + S1·Bi' Cini = S2'·Ci La figura 3. Por lo tanto es necesario introducir una variable de control adicional (S2).4. con el fin de seleccionar entre las operaciones lógicas y aritméticas. las entradas Mi. Recordando la salida de un sumador completo: F = (Ai ‡Bi)‡Cin A partir de esta ecuación. Ni y Cini en un sumador completo. 2. 3. En este diseño.5. un valor S2 = 1 hace que el circuito efectúe operaciones lógicas.12. S2 S1 S0 Ai Bi Cin Operación Sumador Completo Función requerida Fi OR XOR AND NOT Manipulación Aplicar una función OR Ai + Bi Ninguna Aplicar una función OR Ai + Bi' Ninguna Salida Ai+Bi Ai‡&M Ai·Bi A'i 1 0 0 Ai 0 0 Ai 1 0 1 Ai Bi 0 Ai ‡&M 1 1 0 Ai Bi' 0 Ai·Bi 1 1 1 Ai 1 0 A'i Tabla 3.12. Diseñar la sección aritmética independientemente de la sección lógica..12.12. .1.

Figura 3. Tabla de verdad de una ALU . S0 y Cin. Selección Salida F hDescripción hS2 hS1 hS0 Cin F 0 0 0 0 A Trasferir A 0 0 0 1 A+1 Incrementar A 0 0 1 0 A+B Suma 0 0 1 1 A+B+1 Suma con accarreo 0 1 0 0 A-B-1 Resta con préstamo 0 1 0 1 A-B Sustracción 0 1 1 0 A-1 Decrementar A 0 1 1 1 A Transferir A 1 0 0 X A+B OR 1 0 1 X A ‡& OR-Exclusiva 1 1 0 X A·B AND 1 1 1 X A¶ Complementar A Tabla 3.12.5.5.. la función en particular se selecciona a través de S2. Diagrama lógico de una ALU Las doce operaciones generadas en el ALU se resumen en la tabla 3.12.5.12. Las operaciones aritméticas son las mismas del circuito aritmético. S1.

1.2. las cuales sobresalen por ofrecer una reducción significativa en el tiempo del diseño. La figura 4. en un proceso hacia abajo incrementando el nivel de detalle según lo requerido.4.3 Diseño de una ALU mediante HDL Herramientas Computacionales Utilizadas en las Metodologias de DiseÑo Descendentes (Top-Down) En el diseño Top .Down. Los métodos de diseño se basan en programas computacionales conocidos como herramientas de automatización del diseño electrónico (EDA Tools). muestra la forma de diseño Top. Estos elementos se enmarcan en un cuadrado con la líneas más gruesa. .2. Metodologia De Diseño Top .3.Down se captura una idea en un nivel de abstracción alto y se implementa a partir de ésta descripción. Figura 4.Down Las herramientas siguen el diagrama de flujo de la figura 4.1.3. los cuales se dividen sucesivamente hasta llegar a los componentes básicos del circuito o elementos primarios. En el primer nivel de la figura se aprecia un sistema inicial dividido en módulos.

de términos productos por salida. Verilog. d. Implementación del diseño: Los pasos a seguir dependen del tipo de PLD que se esté utilizando en el diseño. b. No. c. puede ser un diagrama de bloques. para la cual existen varias alernativas. Mediante lenguajes de descripción HDL como VHDL. Revisa si el circuito se adapta al chip. a. Colocación y enrutamiento. Simulación temporal: Después de la implementación ya se conoce como queda programado el circuito y se puede realizar una simulación teniendo en cuenta los retardos.2. Formas de onda ±Tablas de verdad. 7. 5. salidas. 2. Creación del archivo para la programación del dispositivo. No. Entrada del diseño:En esta etapa se realiza una descripción del circuito. Diagrama de Flujo con herramientas EDA Este proceso se resume en los siguientes pasos: 1. Abel y CUPL. Síntesis lógica: Consiste en tomar la descripción HDL y a partir de ella. 4. sin tener en cuenta los retardos. 3. Trazado del mapa. Simulación funcional: Simula las ecuaciones lógicas. Diagramas de transición de estados. Planteamiento de las especificaciones.Figura 4. Captura Esquemática: Dibujo del circuito mediante interfaz gráfica. generar y simplificar las ecuaciones lógicas correspondientes al circuito descrito. .2. Simulación HDL (Opcional): Simula el comportamiento del circuito que se acaba de describir antes de la síntesis. 6.

el programa realiza los siguientes pasos: 1. ya que este generalmente funciona.Hardware Description Language) Los lenguejes HDL permiten realizar el primer paso de la metodología del diseño descendente. a compuertas lógicas y además. Simula el circuito lógico. Este archivo se usa para programar (o quemar el chip). Lenguajes de Descripción de Hardware (HDL . 4. Las herramientas de síntesis tienen la capacidad de convertir una descripción hecha en un HDL. se pueden mencionar las siguientes: 1.Down. permiten probar la arquitectura del sistema para tomar decisiones en cuanto a cambios en el diseño. . 5. 5. Ventajas del Diseño Top . transistores 2. cuando esto se hacia antes manualmente. 4. antes se debía repetir el proceso 2 o 3 veces hasta que el prototipo funcionara. 7. optimizar dicha descripción de acuerdo a la tecnología utilizada. Programación: La implementación genera un archivo JEDEC que indica el estado de las conexiones.. Sintetiza el archivo para programar un PLD. 3. EL programa HDL es el mismo así cambie la tecnología. Es posible verificar el funcionamiento del sistema dentro del proceso de diseño sin necesidad de implementar el circuito. Ejemplo: FPGA. Por medio de los programas CAD para diseño de impresos se ha logrado disminuir el tiempo a 1/10 parte de lo que se gastaba antes. Entre otras ventajas. antes de que este sea implementado. Con base a la descripción. 6. Simula las ecuaciones. 3. Las simulaciones del diseño. 2. Facilita el uso de las partes de un diseño en otros (Reutilización). Las últimas herramientas de diseño electrónico permiten implementar de forma automática la metodología de diseño Top . Esta descripción se puede hacer mediante tablas de verdad. Las descripciones en un HDL proporcionan documentación de la funcionalidad de un diseño independientemente de la tecnología utilizada. lista de transiciones de estados.8. Facilita la comunicación entre los diseñadores. ecuaciones lógicas. VHDL por ejemplo.5m . 1. 2. Se describen en un lenguaje de alto nivel el comportamiento requerido del circuito a diseñar. Sintetiza el circuito lógico.Down La metodologia de diseño descendente disminuye el tiempo de diseño. Sintetiza y simplifica las ecuaciones lógicas. En la realización de las simulaciones no es necesario sólo un prototipo.2 m .

2. El lenguaje VHDL permite el diseño Top -Down o en otras palabras. no es necesario adecuar el circuito a cada dispositivo porque las herramientas de síntesis se encargan de ello. ABEL El lenguaje ABEL es el más utilizado en los PLDs. Simplifica o sintetiza las ecuaciones según sea el caso.8. Genera el archivo JEDEC para la programación del PLD. VHDL maneja una sintaxis amplia y flexible. modelar los bloques de alto nivel. El lenguaje ABEL facilita la programación de PLDs combinatorios y secuenciales. CUPL El lenguaje CUPL se describirá en la leccion 5 de este capítulo. Es decir. tabla de verdad o en transición de estados. Los lenguajes de descripción de hardware constituyen una opción de diseño de soluciones de sistemas electrónicos. simularlos y adecuar la funcionalidad en alto nivel antes de llegar a los niveles bajos de abstracción en la implementación del diseño. 3. Verifica si existen errores en la sintaxis del programa fuente. 5. Un circuito en ABEL se puede describir en forma de ecuación lógicas. Puede escoger el dispositivo que mejor se adapte. 4. Un circuito hecho mediante una descripción en un HDL puede ser utilizado en cualquier tipo de dispositivo programable capaz de soportar la densidad del diseño. Simula las ecuaciones. 9. o verificar si el dispositivo especificado sí se adapta a la aplicación. Lenguajes HDL más populares En la actualidad existen diversas herramientas de diseño para integrar sistemas de gran complejidad. El programa ABEL cumple los siguientes pasos: 1. VHDL El VHDL es un lenguaje de descripción y modelado diseñado para descibir en forma entendible la funcionalidad y la organización del hardware de los sistemas digitales y otros componentes. . Una descripción realizada en un HDL es más fácil de leer y comprender que los nestlist o circuitos esquemáticos.

You're Reading a Free Preview

Descarga
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->