Está en la página 1de 39

Presaberes

Paso 1

Presentado por:

Deivy Faviany Vanegas Vásquez.

Código: 80829122.

Edgar Leonardo Galvis.

Luis Miguel Gómez

Curso:

309696_6.

Presentado a:

Ing. Néstor Javier Rodríguez.

Universidad Nacional Abierta y a Distancia “UNAD”.

Escuela de Ciencias Básicas, Tecnología e Ingeniería.

CEAD José Acevedo y Gómez.

Ingeniería Electrónica.

Microprocesadores y Microcontroladores.

05/09/2019.

i
Tabla de contenido.

Introducción. .................................................................................................................................. iii


Resumen......................................................................................................................................... iv
Objetivos. ........................................................................................................................................ v
1. Marco Metodológico. .................................................................................................................. 6
Conclusiones. ................................................................................................................................ 37
Recomendaciones. ........................................................................................................................ 38
Bibliografía. .................................................................................................................................. 39

ii
Introducción.

Con el desarrollo del paso 1 se realizará el reconocimiento del curso, los aspectos básicos de diseño

de algoritmos basado en compuertas lógicas y ALU, tomando como base los aspectos teóricos de

las compuertas lógicas se realizará un diseño de una ALU que realizará las operaciones A+B; A-

B; A and B; A or B; A; B; not A; not B.

Esta actividad es realizada con el fin de aplicar los conocimientos previos en cursos anteriores a

microcontroladores y microprocesadores (electrónica digital), aplicando conceptos de la lógica

booleana a través de compuertas lógicas para el diseño de una unidad lógico aritmética ALU.

iii
Resumen.

Se diseño una ALU (Unidad Aritmético Lógica) basada en compuertas lógicas y flip -flops

desarrollado por medio del programa ISE Xilinx, Vivado y Proteus donde se realizó el diagrama

esquemático de una ALU mostrando las compuertas (and, or, xor, not, multiplexores y sumadores-

restadores).

Se realizo una investigación previa sobre compuertas lógicas y diseño de una ALU, operaciones

lógicas binarias como suma y resta y lógica combinacional.

iv
Objetivos.

 Reconocer las partes y funcionamiento interno de un Microprocesador como registros de

propósito general y específico, compuertas lógicas, ALU, RAM, ROM y otros propios de

su arquitectura, mediante la programación y uso de lenguaje de bajo nivel Assembler.

 Reconocer los aspectos básicos de diseño de algoritmos basado en compuertas lógicas y

ALU.

v
1. Marco Metodológico.

Link libro digital Calaméo:


https://www.calameo.com/read/0060158741ca18bcd72b0

1.1. Actualizar perfil, ingrese al perfil personal, diligencie datos como ciudad de ubicación, centro

en donde se matriculó, programa, fotografía, una breve descripción, número de teléfono, e-mail,

Skype, etc. Datos que son muy importantes para fortalecer la interacción entre compañeros de

grupo colaborativo y curso.

6
Perfil: Deivy Vanegas Vásquez.

7
Perfil: Edgar Leonardo Galvis.

8
9
Perfil: Luis Miguel Gómez.

10
1.2. Realizar el diseño del algoritmo de una ALU (Unidad Aritmético Lógica) basada en

compuertas lógicas y flip-flops, pueden utilizar todas la que necesiten.

1.2.1. Aspectos teóricos de las compuertas lógicas:

Aporte: Deivy Faviany Vanegas Vásquez.

Compuertas lógicas.

Las compuertas digitales son dispositivos electrónicos digitales utilizados para el procesamiento

de señales, para identificarlas se utilizan los símbolos gráficos en esquemas electrónicos, la función

lógica en instrucciones, la tabla de verdad en la operación de variables y la expresión booleana que

describe la relación entre variable, operador y su resultado. En microprocesadores y

microcontroladores las compuertas lógicas son utilizadas en instrucciones para la operación y

manipulación sobre bits almacenados en registros.

Función Lógica:

 INVERSOR.

 AND.

 NAND.

 OR.

 NOR.

 OR Exclusiva.

 NOR Exclusiva.

11
Tabla 1. Funciones y compuertas lógicas. Recuperado de
https://repository.unad.edu.co/bitstream/10596/6933/1/M_309696_Microp%20%26%20Microc_Ing%20Elec
tronica.pdf

Compuerta NOT:

En este caso esta compuerta solo tiene una entrada y una salida y esta actúa como un inversor. Para

esta situación en la entrada se colocará un 1 y en la salida otorgara un 0 y en el caso contrario esta

recibirá un 0 y mostrara un 1. Por lo cual todo lo que llegue a su entrada, será inverso en su salida.

Compuerta AND:

Esta compuerta es representada por una multiplicación en el Algebra de Boole. Indica que es

necesario que en todas sus entradas se tenga un estado binario 1 para que la salida otorgue un 1

12
binario. En caso contrario de que falte alguna de sus entradas con este estado o no tenga si quiera

una accionada, la salida no podrá cambiar de estado y permanecerá en 0.

Compuerta NAND:

También denominada como AND negada, esta compuerta trabaja al contrario de una AND ya que

al no tener entradas en 1 o solamente alguna de ellas, esta concede un 1 en su salida, pero si esta

tiene todas sus entradas en 1 la salida se presenta con un 0.

Compuerta OR:

En el Algebra de Boole esta es una suma. Esta compuerta permite que con cualquiera de sus

entradas que este en estado binario 1, su salida pasara a un estado 1 también. No es necesario que

todas sus entradas estén accionadas para conseguir un estado 1 a la salida, pero tampoco causa

algún inconveniente. Para lograr un estado 0 a la salida, todas sus entradas deben estar en el mismo

valor de 0.

Compuerta NOR (OR exclusiva):

La compuerta OR también tiene su versión inversa. Esta compuerta cuando tiene sus entradas en

estado 0 su salida estará en 1, pero si alguna de sus entradas pasa a un estado 1 sin importar en qué

posición, su salida será un estado 0.

Compuerta XNOR (NOR exclusiva):

Esta es todo lo contrario a la compuerta XOR, ya que cuando las entradas sean iguales se presentará

una salida en estado 1 y si son diferentes la salida será un estado 0.

13
Flip-Flops:

Los Flip-Flops son dispositivos biestables, es un multivibrador capaz de permanecer en uno de dos

estados estables posibles, durante un tiempo indefinido sin presencia de perturbaciones. Los Flip-

Flops funcionan como dispositivos para almacenamiento temporal de información (memoria), el

Flip-Flop puede memorizar el valor de sus entradas incluso después de haber sido eliminadas, al

agrupar varios Flip-Flops se pueden formar circuitos de temporización, conteo, secuenciamiento

y de memoria. Existen varios tipos de Flip-Flops que se encuentran en chips o circuitos integrados

(CI) independientes y que son frecuentemente utilizados como dispositivos periféricos o auxiliares

en implementaciones, proyectos y soluciones basadas en microprocesadores y microcontroladores.

Flip-Flop RS: Es el primer flip-flop construido con compuertas sin presencia de pulso de reloj

para habilitar la trasferencia de datos entre la entrada y salida, este biestable mostrado en la Figura

1, se caracteriza por tener dos entradas S (set o ajuste) y R (reset o reinicio) y dos salidas 𝑄 y su

complemento 𝑄̅. Al colocar S am “1” se ajusta la salida 𝑄 = 1 (set), al colocar R a “1” se reinicia

la salida 𝑄 = 0 (reset).

Qt representa el estado de salida “Q” antes de activar la entrada, Q(t+1) representa el estado de la

salida “Q” después de la activación de la entrada es el estado siguiente a Qt. El estado “X” o

indeterminado es un estado al cual no se debe llega o prohibido puesto que las salidas no son

complementadas.

Figura 1. Flip-Flop. Recuperado de


https://repository.unad.edu.co/bitstream/10596/6933/1/M_309696_Microp%20%26%20Microc_Ing
%20Electronica.pdf

14
Flip-Flop JK: Es una evolución del Flip-Flop R-S, similar en operación en las condiciones set,

reset y mantenimiento de estado, la diferencia radica en que el Flip-Flop JK no tiene condiciones

no validas, es decir, cuando ambas entradas “J” y “K” son “1”. En el Flip-Flop JK mostrado en la

Figura 2, se observan varias terminales donde “J” es el grabado o set, “K” es el borrado o reset,

“CLK” la entrada de pulso de reloj con transferencia de datos de la entrada a la salida por flanco

de subida “↑”, las salidas se denotan por 𝑄 y su complemento 𝑄̅. Los circuitos integrados con Flip-

Flop pueden tener entradas adicionales para establecer estados en la salida. La entrada “SET” al

colocarse en “1” (Voltaje positivo), resulta en 𝑄 = 1 y 𝑄̅ = 0, la entrada “RESET” al colocarse en

“1” (Voltaje positivo), resulta en 𝑄 = 0 y 𝑄̅ = 1. Con el Flip-Flop JK se puede construir los

FlipFlops “D” y “T”.

Figura 2. Flip-Flop. Recuperado de


https://repository.unad.edu.co/bitstream/10596/6933/1/M_309696_Microp%20%26%20Microc_Ing%20Electro
nica.pdf

Flip-Flop D: También es llamado Flip-Flop de datos, mostrado en la Figura 3. La entrada de datos

es “D”, gobernada por el pulso de reloj “CLK”, la flecha “↑” indica un flanco positivo del pulso

15
de reloj para la transferencia de datos de la entrada a la salida, las salidas se denotan por 𝑄 y su

complemento 𝑄̅.

Figura 3. Flip-Flop. Recuperado de


https://repository.unad.edu.co/bitstream/10596/6933/1/M_309696_Microp%20%26%20Microc_Ing%20Electronica.pdf

Flip-Flop T: El Flip-Flop T mostrado en la Figura 4, es un biestable que cambian de estado

(toggle) cuando se recibe un pulso de reloj (CLK) mientras la entrada esta puesta a “1” o nivel

alto. En la Figura 23 la entrada se designa como “T”, el pulso de reloj “CLK” requiere de un flanco

de subida “↑” (transición del pulso de nivel bajo a alto) para la transferencia de datos de la entrada

a la salida, las salidas se denotan por 𝑄 y su complemento 𝑄̅.

Figura 4. Flip-Flop. Recuperado de


https://repository.unad.edu.co/bitstream/10596/6933/1/M_309696_Microp%20%26%20Microc_Ing%20Electronic
a.pdf

16
1.2.2. Diseño de la ALU.

Unidad Aritmética Lógica – ALU Los datos en el ALU se presentan en registros, posteriormente

en ellos se almacenan los resultados de las operaciones, estos registros son posiciones de memoria

temporales, internas en el microprocesador y conectados a la ALU, los procesos aritméticos y

lógicos pueden activar indicadores o también llamadas banderas (flags), que son indicadores del

estado del microprocesador, normalmente estos indicadores son almacenados en un registro

especial dentro del microprocesador (registro de estado), por ejemplo cuando el resultado de una

operación es “cero” su indicador o bandera (flag) de cero cambian su estado.

La unidad de control proporciona las señales que gobiernan el funcionamiento de la ALU y la

transferencia de datos dentro y fuera de ella. La Unidad Aritmética Lógica – ALU, es la encargada

de realizar las operaciones elementales de tipo aritmético (generalmente sumas o restas) y de tipo

lógico (generalmente comparaciones). Para realizar su función, consta de un banco de registros

(BR), este banco está constituido por 8, 16 ó 32 registros de tipo general que sirven para situar

datos antes de cada operación, para almacenar datos intermedios en las operaciones y para

operaciones internas del procesador.

Figura 5 ALU. Recuperado de https://es.wikipedia.org/wiki/Unidad_aritm%C3%A9tica_l%C3%B3gica

17
Como se había establecido antes los datos que maneja la ALU tienen formato de complemento a

dos, haciendo más sencillo el trabajo y las operaciones con números negativos. En general los bits

restantes en una operación que involucre números con signo siguen lo establecido en la Tabla 2.

Tabla 2. Representación con signo en la ALU. Recuperado de


https://repository.unad.edu.co/bitstream/10596/6933/1/M_309696_Microp%20%26%20Microc_Ing%20Electronica.pdf

La representación del número cero tienen un bit de signo cero (0), una magnitud cero. El costo de

manipular números negativos es la restricción de valores representables, por ejemplo, para

registros de 8 bits, el valor máximo representable sin signo es de 00000000 a 11111111, o

equivalente a 255 en decimal, el numero con signo, en formato positivo no puede ser mayor a

01111111 binario o 127 decimal, por cuanto el siguiente número binario valido seria 10000000 y

al tener encendido el bit más significativo es evidente que representa un numero negativo que

correspondería al -128. Entonces para representar con “n” bits el rango de números positivos y

negativos se establece como números positivos desde cero hasta 2n-1 -1, para los negativos se

representan desde -1 hasta -2n-1.

18
Aporte: Deivy Faviany Vanegas Vásquez.

Se desarrolla una ALU en lenguaje VHDL en el programa ISE y Vivado Xilinx.

----------------------------------------------------------------------------------
-- Universidad Nacional Abierta y a Distancia
-- Presentado por: Deivy Faviany Vanegas
-- Presentado a: Ing. Nestor Rodriguez
-- Fecha: 23:53:01 09/01/2019
-- Curso: 309696-6
-- Module Name: ALU - Behavioral
-- Project Name: Microprocesadores/Microcontroladores

library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.std_logic_unsigned.all;
entity ALU is
Port ( A : in STD_LOGIC_VECTOR (7 downto 0);
B : in STD_LOGIC_VECTOR (7 downto 0);OPERACION : in STD_LOGIC_VECTOR (2
downto 0);
RESULTADO : out STD_LOGIC_VECTOR (7 downto 0));
end ALU;
architecture Behavioral of ALU is
begin
with OPERACION select
RESULTADO <= A + B when "000",
A - B when "001",
A and B when "010",
A or B when "011",
A when "100",

19
B when "101",
not A when "110",
not B when others;
end Behavioral;

20
21
22
23
Simulación:

24
25
ALU Diseñada en Proteus.

Ver esquema adjunto

26
Simulación operación AND

Simulación operación OR

27
Simulación operación NOT A

28
Simulación operación NOT B

Simulación operación A+B

29
Simulación operación A-B

30
Aporte: Edgar Leonardo Galvis.

ALU

Unidad aritmética lógica es un circuito de una unidad central de proceso (CPU) que calcula

operaciones aritméticas básicas como son la (suma, resta, multiplicación, división y sus

operaciones lógicas And, Not, Nor, Or, Nand).

TABLA DE VERDAD COMPUERTAS LÓGICAS

COMPUERTA AND

31
SIMULACIÓN

COMPUERTA NOR

SIMULACIÓN

32
COMPUERTA NAND

33
SIMULACIÓN

COMPUERTA OR

34
SIMULACIÓN

COMPUERTA NOT

35
SIMULACIÓN

36
Conclusiones.

Con el desarrollo del diseño de la ALU se reforzaron los aspectos básicos de diseño de algoritmos

basado en compuertas lógicas y ALU, se tomó como base los aspectos teóricos de las compuertas

lógicas y se realizó un diseño de una ALU que realiza las operaciones A+B; A-B; A and B; A or

B; A; B; not A; not B.

Se diseño una ALU obteniendo un diagrama esquemático en diferentes software y simuladores

PROTEUS; VIVADO, ISE bajo el lenguaje VHDL.

37
Recomendaciones.

Para el desarrollo del diseño de la ALU es importante que el estudiante refuerce temas de la

electrónica digital, como compuertas lógicas, operaciones lógicas, multiplexores, etc.

Es importante reforzar el lenguaje de programación VHDL utilizado para describir circuitos

digitales y para la automatización de diseño electrónico.

38
Bibliografía.

Guisa, J. (2009). Electrónica Digital. Instituto Politécnico Nacional. (Pp. 26 -32). Recuperado de:
http://bibliotecavirtual.unad.edu.co:2460/lib/unadsp/reader.action?ppg=6&docID=3192086&tm=
1531433929303
Stallings, William. “Organización y Arquitectura de Computadores”. (5ª edición). Editorial
Prentice-Hall. Madrid, 2000.
Téllez, Acuña Freddy Reynaldo. (2007). Módulo de Microprocesadores y Microcontroladores.
UNAD.
Cibergrafía.

http://atc2.aut.uah.es/~avicente/asignaturas/ac/pdf/ac_t3.pdf

http://www.sinaptec.alomar.com.ar/2018/04/computadora-de-4-bits-capitulo-5-unidad.html

39

También podría gustarte