Vous êtes sur la page 1sur 18

“ORGANIZACIÓN Y ARQUITECTURA DE

COMPUTADORAS”

UNIVERSIDAD PRIVADA
ANTENOR ORREGO

Integrantes:
Reyes Arrunátegui, Nathaly

1
2011
INDICE

I.- ELABORACION DE INFORME SOBRE LA IMPLEMENTACIÓN


DEL EMULADOR DE MICROPROCESADOR – PARTE II

1.- UNIDADES DE LÓGICA Y ARITMÉTICA, ALU - 74LS181………………………….. 4


1.1.- Concepto……………….…………………………………………………………..4
1.2.- Funcionamiento de los pines...………………………………………………….5
1.3.- Características…………………………………………….……………………… 6

2.- GENERADOR DE PALABRAS – WORKBENCH……………………………………….. 8

3.- INSTRUCCIONES DEL EMULADOR……………………………………………………. 11


3.1.- MOV dato…………………………………………………..………………………11
3.2.- MOV Ac…………………………………………………………..……………….. 11
3.3.- ADD…………………………………………………………………………………12
3.4.- OUT…………………………………………………………………………………12
3.5.- Tabla de Instrucciones……………………………………………………………12

4.- PROTEUS ISIS……………………………………………………………………………… 13

5.- WORKBENCH………………………………………………………………………………. 14

6.- BIBLIOGRAFIA……………………………………………………………………………… 15
INTRODUCCION

La presente experiencia de laboratorio costa en el desarrollo la SEGUNDA parte


de un “Emulador de microprocesador”, esta parte de la experiencia de laboratorio
se implementara el “Emulador del Microprocesador” completo. Para ello se
implementara en “Workbench”, en el este programas se ha agregado un “Work
Generator” (Generador de Palabra) y un Analizador Lógico; y en “Proteus ISIS”.

El análisis e implementación que a continuación se mostrara es la continuación del


Primer informe del ALU, así que este informe solo se detallara las nuevas
modificaciones del ALU.
1) UNIDADES DE LÓGICA Y ARITMÉTICA, ALU - 74LS181

1.1) CONCEPTO
Las ALU (Arithmetic Logic Units), o unidades de lógica y aritmética, son
dispositivos muy versátiles que pueden programarse para llevar a cabo una
gran variedad de operaciones aritméticas y lógicas entre dos Palabras binarias.
1.2) LA FUNCIÓN DE CADA UNO DE LOS PINES DE ESTE C.I.
A3:A2:A1:A0 Entradas del primer operando.
B3:B2:B1:B0 Entradas del segundo operando.
Selectores de función: mediante estas se selecciona la función
S3:S2:S1:S0
que ha de realizar el circuito.

F3:F2:F1:F0 Salidas de la ALU, donde se tendrán los resultados.


M: Selector Sirve para determinar la operación a realizar, Si M=1 realiza
de modo operaciones lógicas y realiza operaciones aritméticas si M=0.
Cn Entrada de acarreo activa en nivel bajo.
Es una salida de colector abierto e indica cuando las cuatro salidas
A=B están a nivel ALTO. Si se selecciona la operación aritmética de la
resta, esta salida se activara cuando ambos operando son iguales.
Acarreo de generación. En operación aritmética de la suma, esta
G salida indica que la salida F es mayor o igual a 16, y en la resta F es
menor que cero.
Acarreo de propagación. En la operación aritmética de la suma, esta
salida indica que F es mayor o igual a 15 y en la resta que F es
P menor que cero. G y P se utilizan para acoplar varios cascada
empleando el método de propagación en paralelo. Circuitos
integrados del tipo 74LS181 en
Cn+4 Es el acarreo de salida.

1.3) CARACTERÍSTICAS DE LA OPERACIÓN DEL C.I 74LS181


Programando adecuadamente las líneas de selección, S3S2S1S0 y la de
modo M junto con la de acarreo previo, Cn, Ia ALU puede ejecutar 16 operaciones
lógicas y 32 operaciones aritméticas diferentes con los datos A=A3A2A1A0
B=B3B2B1B0. Estas operaciones, con sus respectivos códigos de selección, se
relacionan en la tabla de la figura Nº 6. Se asume que tanto las entradas como las
salidas son activas en alto.
Para programar el dispositivo como generador de funciones lógicas, la entrada se-
lectora de modo, M, debe estar a nivel alto. La operación lógica deseada se
programa mediante un código de 4 bits de la forma S3S2SISO aplicado a las
entradas selectoras de función. El estado de la entrada de acarreo Cn es
indiferente por lo cual puede fijarse en cualquier nivel.
Por ejemplo, para realizar la operación lógica A XOR B A= 1011 y B=000l, la línea
M debe estar en 1 lógico y en las líneas S3S2S1S0 debe aplicarse el código 0110.

Cada bit de la palabra de salida F = F3F2F1F0 es el resultado de la operación


XOR de cada bit de la palabra A con el correspondiente bit de la palabra B. Es
decir, P3 =A3 XOR B3, F2 = A2 XOR B2 y así sucesivamente. Por tanto, F = 1010.

Para programar la ALU como generadora de funciones aritméticas, la línea M


debe llevarse a nivel bajo con el fin de habilitar los acarreos internos. La suma de
A y B, por ejemplo, se realiza cuando el código de las entradas de selección es
1001. La entrada de acarreo Cn es activa en bajo.
Si la suma produce un acarreo de salida igual a 1, esté también será activo en
bajo. La ALU utiliza un sistema interno de generación de acarreos conocido como
carry look ahead (acarreo en adelanto), que no requiere que la suma sea
calculada en su totalidad antes de establecer la naturaleza del acarreo resultante.
Figura 6: Tabla de las funciones del 74LS181
1) GENERADOR DE PALABRAS – WORKBENCH

El Generador de Palabras dispone de hasta 65636 direcciones donde albergar


palabras de cuatro dígitos hexadecimales (16 bits). El contenido de cada una de
estas direcciones puede ser dirigido a las 16 salidas incorporadas en el
instrumento. En la columna de la izquierda se puede observar la información
almacenada en él.

En primer lugar debemos seleccionar el conjunto de palabras que vamos a utilizar


en la simulación, para ello introduciremos el límite inferior y superior en los
campos Address/Initial y Address/Final, en hexadecimal. Existen tres modos de
operación:

• Si tenemos la opción Burst (ráfaga) activada llevaremos a la salida,


secuencialmente, todas las palabras desde la dirección inicial a la final.

• La opción Cycle es similar a la anterior, salvo que al llegar al final comienza


de nuevo, de forma cíclica.

• Con Step enviaremos una palabra la salida cada vez que pulsemos con el
ratón en este botón.
El campo Current indica la dirección de salida en cada momento.

Si pulsamos con el ratón en una fila cualquiera de la tabla de datos y activamos la


opción Breakpoint (punto de ruptura), conseguiremos que se detenga la ejecución
del Generador de Palabras (en los modos Burst y Cycle), cuando se pase por esa
posición. Para continuar habrá que hacer click de nuevo en cualquiera de los tres
modos de operación. Un Breakpoint se elimina seleccionando la palabra que tiene
asociado el punto de ruptura y pulsando Breakpoint. Se pueden establecer varios
puntos de ruptura.

Para introducir los datos que deseemos en el Generador de Palabras podemos


escribir directamente sobre la Tabla de Datos en hexadecimal, o bien seleccionar
mediante un click cualquier fila (su dirección quedará reflejada en el campo Edit) e
introducir el nuevo valor en ASCII o binario en los campos de edición respectivos.
Para establecer una tabla de Datos de una forma rápida, que satisfará la mayoría
de los casos, pulsaremos Pattern, que nos permite las
siguientes posibilidades:

Mediante los campos de frecuencia podremos especificar la velocidad con la que


se enviarán las palabras a las líneas de salida, si hemos seleccionado el Trigger
(disparo) interno. Si el disparo es externo solo se cambiará la salida cuando se
detecte por la línea correspondiente el flanco de subida o bajada de una señal de
sincronización.

Para fijar un terminal a uno o cero lógico permanentemente lo llevaremos a una


fuente de tensión o a masa respectivamente. En la barra de herramientas de
circuitos, Fuentes, encontraremos los símbolos de la batería y la masa. Para
cambiar el valor de tensión de la batería seguiremos la secuencia Click-Ratón
Dcha, Propiedades del Componente, Valor. Sustituiremos entonces los 12 voltios
que es la tensión por defecto por 5v. Aunque quizás la alternativa más sencilla
para fijar un entrada a uno lógico sea conectar este terminal a una fuente Vcc
(situada en la barra de herramientas de circuitos: Fuentes)
1) INSTRUCCIONES DEL EMULADOR

El conjunto de instrucciones que se pueden ejecutar en un microprocesador


está definido en gran parte por las operaciones aritméticas y lógicas que la
ALU, en este caso, por las operaciones que realiza la ALU 74LS181 (32
operaciones entre aritméticas y lógicas).

La función de la ALU 74LS181 se programa con los bits colocados en el


DIP-SWITCH SW2 que son colocados en el registro latch U3 (74LS374).

Ahora se procederá a mostrar el funcionamiento del ALU.

3.1) MOV dato

Trasfiere (mueve) datos de la memoria a los registros internos. El


formato es “MOV dato”, para la prueba nuestro Código operacional será
“01H dato”.

La palabra dato tiene 8 bits: d7, d6, d5, d4, d3, d2, d1, d0.

El “dato” se debe colocar en el DIP-SW1 y el número 01H en el DP-SW2.

Operaciones: Transfiere al registro X=[d3 d2 d1 d0] y al registro Y=[d7 d6


d5 d4].

Acciones a realizar: Estando el botón S1 cerrado, se debe colocar el código


de operación e los DIP-SW; luego se debe generar el pulso de enganche
para el registro U2 (74LS374) con el pulsador S3.

3.2) MOV Ac

Transfiere el resultado de la operación realizada por la ALU al


registro acumulador X (X3 X2 X1 X0). El formato es “MOV Ac” para la
prueba nuestro código operacional será “00 00H”, este se debe colocar en
los DIP-SW 1 y 2.

Ac es el registro acumulador X3 X2 X1 X0

Operaciones: Transfiere al registro X el resultado por la ALU (F3 F2 F1 F0)


y al registro Y=1111.
Acciones a realizar: El botón S1 debe ser abierto, luego se debe colocar el
código de operación en los DIP-SW y finalmente se debe generar el pulso
de enganche para el registro U2 (74LS374) con el pulsador S3.

3.3) ADD

Realiza una suma entre 2 número de 4 bits, el formato es


“ADD”, nuestro código operacional será “49 01H”, este dato se debe colocar
en los DIP-SW 1 y 2.

Esta operación sumará el registro X al registro Y (X+Y).

Acciones a realizar: Estando el botón S1 cerrado, se debe colocar el código


de operación en los DIP-SW y finalmente se debe generar el pulso de
enganche para el registro U3 (74LS374) con el pulsador S2.

3.4) OUT

Muestra el resultado de la operación de la ALU en el dispositivo de la


salida en este caso 2 display y el Analizador Lógico (Workbench), el código
operacional será “dato_anterior 02H”, donde “dato_anterior” es el dato
anterior (8 bits) que estaba en el DIP-SW2, del cual solo se debe colocar el
bit B5 a 1 lógico.

Operación: Muestra en el puerto número_puerto el resultado generado por


la ALU (puerto=F3 F2 F1 F0).

Acciones a realizar: Estando el botón S1 cerrado, se debe colocar el código


de operación en los DIP-SW, luego generar el pulso de enganche con el
botón S2.

3.5) TABLA DE INSTRUCCIONES

Instrucción (Lenguaje Ensamblador) Instrucción (Lenguaje Máquina)


MOV dato 01H dato
MOV Ac 00 00H
ADD 49 01H
OUT (dato_anterior B5=1) 02H
2) PROTEUS ISIS
3) WORKBENCH
4) BIBLIOGRAFIA

✔ http://irlenys.tripod.com/digitalesi/arit/suma.htm

✔ http://fuynfactory.is-a-geek.com/wiki/index.php/74245

✔ http://www.isaatc.ull.es/portal/docencia/itinformatica/itisistemas/leyfa/informacio
n-sobre-practicas/hojas-de-datos/74LS245.pdf

✔ http://practicenunberone.blogspot.com/2006/09/ensamblado-de-una-micro-alu-
operacin.html

✔ http://books.google.com.pe/books?
id=bmLuH0CsIh0C&printsec=frontcover&dq=tocci&hl=es&ei=8NojTKmcCMP48
Aai5_2kBQ&sa=X&oi=book_result&ct=result&resnum=1&ved=0CCoQ6AEwAA#
v=onepage&q&f=false

Vous aimerez peut-être aussi