ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Sistemas Alu


Enviado por   •  15 de Noviembre de 2013  •  1.692 Palabras (7 Páginas)  •  337 Visitas

Página 1 de 7

UNIDAD ARITMETICO LOGICA (ALU)

Jesús Hernando Ordoñez Correa COD: 1090239

Joan Andrés Ordoñez López COD: 1090281

Asdrúbal Maximino Quinayas Ortiz COD: 1090286

OBJETVOS

Comprender el funcionamiento de una unidad aritmético lógica y sus aplicaciones.

Aplicar el lenguaje VHDL para la lógica de una ALU, mostrando las operaciones básicas de suma, resta, multiplicación y en adición a esto, muestre el complemento del número ingresado.

Crear competencias de análisis, diseño e investigación entre los estudiantes.

INTRODUCCION

La ALU (por sus siglas en inglés Arithmetic Logic Unit) es una de las unidades que forman parte de la Unidad Central de Procesos (es decir, del Procesador, Microprocesador o CPU) mediante la cual es posible realizar una gran cantidad de operaciones aritméticas básicas (Suma, Resta, División y Multiplicación) además de realizar algunas operaciones lógicas (Yes, Or, Not, And – Es decir, si; y, o, no) entre dos números o dos conjuntos de números.

En informática, la Unidad Aritmética Lógica 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.

MARCO TEORICO

Complemento

Este es un sistema que nos permite representar números binarios de forma negativa, en donde el MSB (Bit más Significativo) es el bit del signo.

Si este bit es 0 entonces el numero binario es positivo (+), si el bit del signo es 1, entonces el numero es negativo (-) los siete bits restantes del registro representan la magnitud del numero 1010110, para complementar mejor la explicación tendremos que dedicarle mucha atención a la explicación de conversiones donde interviene este tipo de numeración, que es bastante utilizado en los microprocesadores, ya que estos manejan tanto números positivos como números negativos.

Para comprender mejor la conversión de sistema de numeración de este sistema de numeración, hay que tener en cuenta las siguientes definiciones:

Forma complemento a 1

El complemento a 1 de un número binario se obtiene cambiando cada 0 por 1 y viceversa. En otras palabras, se cambia cada bit del número por su complemento.

Figura 1: Complemento a uno

Forma complemento a 2

El complemento a 2 de un número binario se obtiene tomando el complemento a 1, y sumándole 1 al bit menos significativo. A continuación se ilustra este proceso para el número 1001=9.

Figura 2: Complemento a 2

Cuando se agrega el bit de signo 1 al MSB, el número complemento a 2 con signo se convierte en 10111 y es el número equivalente al - 9.

DESARROLLO DE LA PRÁCTICA

El desarrollo de la práctica fue realizado en horas de clase de laboratorio utilizando el software Xilins 10.0. El algoritmo está diseñado en lenguaje VHDL, se ha utilizado la programación por flujo de datos (Booleana).

El problema inicial consiste en realizar una unidad aritmética lógica implementando la tarjeta Nexys2; las operaciones aritméticas implementadas son: suma, resta, multiplicación y complemento entre dos números de 2 bits; las respectivas salidas se deben mostrar al seleccionar la función deseada. Como se mencionó anteriormente, la estructura escogida fue por flujo de datos empleando programación por Booleana, ya que al obtener la función principal, esta se puede escribir tal cual empleando las compuertas vistas en clase para mostrar su respectivo resultado. Se tubo en cuenta que al hacer la operación de la resta, algunos resultados se muestran negativos, para ello se adiciona una salida que me indique el sigo del número a la salida cuando esté activada la función de la resta.

A continuación se muestra el código empleado en la programación en el software Xilins2.

Figura 3: Código del algoritmo empleado.

Nota: Para una mejor visualización del código, revisar sección de anexos.

Fundamento:

Como se puede observar en el código, cada operación aritmética tiene su ecuación característica en cada una de las salidas. Para lograr esto se sacaron los mapas de Karnaugh para cada salida correspondiente en cada operación aritmética y sumando consecuentemente las diferentes salidas de cada operación aritmética con una compuerta or.

Como se requiere que las salidas solo muestren el resultado para la operación seleccionada, dentro del código en lo que corresponde a las salidas de cada operación se multiplica con una compuerta and garantizando activar la operación seleccionada, ya que la compuerta and marca un 1 cuando sus entradas son 1, y si por ejemplo se selecciona la suma, se manda un uno y por consiguiente se muestran los resultados de la suma según las combinaciones que se hagan en la entrada. Es decir, cada operación lógica tiene sus respectivas salidas, y se multiplica por la compuerta and para garantizar su selección; las salidas de cada operación se suman para mostrar cualquier operación seleccionada. A continuación, en la tabla 1 se muestran las variables utilizadas dentro de la programación con su respectivo significado.

VARIABLE PIN EN LA TARJETA FUNCION

ENTRADAS (SWITCH) A0 R17 Bit de entrada del primer numero.

A1 N17 Bit de entrada del primer numero.

B0 L3 Bit de entrada del segundo numero.

B1 L14 Bit de entrada del segundo numero.

SELECCIONADOR

...

Descargar como (para miembros actualizados)  txt (12.4 Kb)  
Leer 6 páginas más »
Disponible sólo en Clubensayos.com