TRANSFERENCIA ENTRE REGISTROS

Anuncio
GUIAS ÚNICAS DE LABORATORIO
TRANSFERENCIA ENTRE REGISTROS
AUTOR: ALBERTO CUERVO
SANTIAGO DE CALI
UNIVERSIDAD SANTIAGO DE CALI
DEPARTAMENTO DE LABORATORIOS
DDEEPPAARRTTAAM
MEENNTTOO DDEE LLAABBOORRAATTOORRIIOOSS
GGUUIIAASS DDEE LLAABBOORRAATTOORRIIOO DDEE TTRRAANNSSFFEERREENNCCIIAA EENNTTRREE RREEGGIISSTTRROOSS
TRANSFERENCIA ENTRE REGISTROS
OBJETIVO
El lenguaje de transferencia entre registros constituye un conjunto de expresiones y
afirmaciones con una notación simbólica para especificar las interconexiones necesarias
entre los distintos componentes de un sistema digital.
Presenta las herramientas necesarias para describir el sistema , así como la secuencia de
microoperaciones que se realizan en el mismo, entendiéndose por microoperación una
operación elemental que se puede efectuar en forma paralelo durante un período de
pulso de reloj.
Como resultado de una microoperación el dato previamente almacenado en un registro
puede alterarse o ser almacenado en otro registro, etc.
Esta práctica tiene como objetivo reforzar los conocimientos del estudiante en este
tema con el diseño de un sistema digital descrito por un conjunto de afirmaciones en
este lenguaje de transferencia.
Es de vital importancia que el estudiante trate de solucionar el problema planteado por
sí mismo para después confrontar su respuesta con la solución mostrada en el libro.
Todos los circuitos digitales empleados en la solución pueden ser encontrados en el
módulo DIGI-BOARD2 del laboratorio de la universidad.
PLANTEAMIENTO DEL PROBLEMA
Un sistema digital tiene tres registros: PROD, MDO y MDOR.
Tres flip-flops suministran las funciones de control del sistema: X, Y y Z
X es un flip-flop el cual se habilita por una señal externa para comenzar la operación del
sistema, esto es, si una señal externa = 1 cuando ocurra un pulso de reloj, el flip-flop es
colocado en el estado 1.
Y y Z se usan para dar secuencia a las microoperaciones.
Un cuarto flip-flop ALTO se coloca en 1 por el sistema digital una vez se completa la
operación.
La función del sistema digital se describe por medio de las siguientes afirmaciones de
transferencia entre registros.
X : PROD ← 0, X ← 0, ALTO ← 0, Y ← 1
Y : Y ← 0, si (MDOR=0) entonces (ALTO←
←1) por tanto (Z←
←1)
Z : PROD ← PROD + MDO, MDOR ← MDOR – 1, Z ← 0, Y ← 1
Pregunta: ¿Cuál es la función que ejecuta el sistema digital?
Diseñe el sistema digital (quedando bien explícitas todas las conexiones) y utilizando
solamente los siguientes elementos del módulo DIGI-BOARD2.
DDEEPPAARRTTAAM
MEENNTTOO DDEE LLAABBOORRAATTOORRIIOOSS
GGUUIIAASS DDEE LLAABBOORRAATTOORRIIOO DDEE TTRRAANNSSFFEERREENNCCIIAA EENNTTRREE RREEGGIISSTTRROOSS
•
•
•
•
•
•
•
•
•
Cuatro flip-flops JK (38) para los flip-flops X, Y, Z y ALTO
Dos compuertas OR/NOR (34)
Tres compuertas AND/NAND (32)
Un sumador de 4 bits (16)
El registro SRG4 (11) para el registro PROD.
El contador binario CTRDIV16 (30) para el registro MDOR.
Un teclado de 4 bits (31) para el registro MDO
El pulsador (29) para la señal externa
El generador de pulsos de reloj (27) con una frecuencia de 1 Hz para los pulsos de
reloj del sistema. Esta frecuencia es lo suficientemente lenta para poder ir
visualizando las distintas operaciones que va ejecutando el sistema digital
secuencialmente.
Los cuatro flip-flops X, Y, Z y ALTO deben ser llevados a LEDs y los registros MDOR y
PROD deben ser llevados al display de 7 segmentos para poder ir viendo las distintas
operaciones que va ejecutando el sistema digital
Monte su circuito y verifique el funcionamiento del mismo efectuando los siguientes
pasos en orden
•
•
•
•
•
Con las entradas asincrónicas de los flip-flops coloque en 0 a los flip-flops X, Y y Z
Coloque inicialmente el número 3 (0011) en el registro MDOR
Coloque el número 2 (0010) en el registro MDO (en el teclado)
Presione el pulsador hasta que se encienda el LED correspondiente al flip-flop X.
Suelte el pulsador tan pronto se encienda este LED.
El sistema digital comenzará a ejecutar su operación. Cuando se encienda el LED
correspondiente al flip-flop ALTO habrá terminado. Anote el número que queda en el
registro PROD viéndolo en el display de 7 segmentos.
¿Corresponde este número con el resultado esperado? ¿Cuál es entonces la función que
realiza este sistema digital?
Dibuje el diagrama de estados del sistema a partir de las proposiciones planteadas.
SOLUCIÓN
De acuerdo con las proposiciones de transferencia entre registro se observa lo siguiente
en la operación de los flip-flops X, Y, Z y ALTO.
1. La señal externa del pulsador debe provocar que en el flip-flop X ocurra una
transición de 0 a 1, por tanto esta señal debe ir a la J de este flip-flop.
2. Cuando ocurra un pulso de reloj con X=1, el flip flop X debe ir a 0 y Y a 1, por tanto
se une la salida X a la entrada K del flipflop X y a la J del flip-flop Y a través de una
compuerta OR ya que ya que el flip-flop Y debe colocarse en 1 también cuando Z=1.
3. Si Y=1, cuando ocurra un pulso de reloj se debe limpiar este flip-flop, por tanto se
une su salida con su entrada de excitación K.
DDEEPPAARRTTAAM
MEENNTTOO DDEE LLAABBOORRAATTOORRIIOOSS
GGUUIIAASS DDEE LLAABBOORRAATTOORRIIOO DDEE TTRRAANNSSFFEERREENNCCIIAA EENNTTRREE RREEGGIISSTTRROOSS
4. Si Y=1se debe provocar una transición de 0 a 1 en el flip-flop de ALTO de forma
condicional, esto es si la señal que indica que el contenido del registro MDOR=0. Por
tanto la entrada J del flip-flop de ALTO es alimentada por una compuerta AND cuyas
entradas son la salida del flip-flop Y y la salida de una compuerta NOR que indica
que el contenido de MDOR=0.
5. Si Y=1, se debe provocar una transición de 0 a 1 en el flip-flop Z pero condicionado a
que el contenido de MDOR≠ 0. Por tanto la entrada J del flip-flop Z es alimentada
por una compuerta AND cuyas entradas son Y y la salida de una compuerta OR que
indica que el contenido de MDOR ≠0
6. También se observa que el flip-flop de ALTO sólo debe ir a 0 cuando ocurra un pulso
de reloj estando X en 1, por tanto la entrada K del flip-flop de ALTO es alimentada
por la entrada X.
7. El flip-flop Z debe limpiarse cuando ocurra un pulso de reloj con Z=1. Por tanto la
salida Z alimenta a la entrada K de este flip-flop.
Del análisis anterior se puede dibujar el circuito del sistema digital, así como el
diagrama de estados del mismo, los cuales se muestran a continuación.
DDEEPPAARRTTAAM
MEENNTTOO DDEE LLAABBOORRAATTOORRIIOOSS
GGUUIIAASS DDEE LLAABBOORRAATTOORRIIOO DDEE TTRRAANNSSFFEERREENNCCIIAA EENNTTRREE RREEGGIISSTTRROOSS
Y
Señal externa
del pulsador
J
J
X
reloj
Y
X´
Z
J
reloj
reloj
K
J
K
reloj
K
Y´
ALTO
Z´
K
CTRDIV16
reloj
Z
MDOR
G2
para cargar
el #3
C3
1 si MDOR=0
1
1
0
0
Z
reloj
X´
PROD
0
1
SRG4
C4
R
0
1
0
0
0
1
2
3
0
1
2
S
U
M
A
D
O
R
0
1
2
3
3
CI
DDEEPPAARRTTAAM
MEENNTTOO DDEE LLAABBOORRAATTOORRIIOOSS
GGUUIIAASS DDEE LLAABBOORRAATTOORRIIOO DDEE TTRRAANNSSFFEERREENNCCIIAA EENNTTRREE RREEGGIISSTTRROOSS
Circuito del Sistema Digital
ALTO
MDOR=0
X
Y
MDOR = 0
Z
Señal
Diagrama de Estados
externa
De este diagrama de
estados se
observa que una vez comenzada la operación, el
circuito alterna
entre los estados Y y Z hasta que el contenido del Registro MDOR=0. Cuando esto último
ocurre, se limpia el flip-flop Y y se coloca en 1 el flip-flop de ALTO para indicar que se
terminó de realizar la operación. El flip-flop de ALTO se queda en el estado 1
indefinidamente hasta que se reinicie el sistema con una señal externa al estado X para
comenzar una nueva operación.
Como cuando Z=1 se decrementa al MDOR y se suma el contenido del PROD al MDO y el
resultado se deja almacenado en el PROD, entonces se suma el número en el PROD
tantas veces como el número almacenado en el MDOR. Esto es, el sistema efectúa la
multiplicación por sumas sucesivas del MDO por el MDOR y el resultado lo deja
almacenado en PROD. Observe que inicialmente en el estado X se limpia el registro
PROD.
A la entrada asincrónica R del PROD (SRG4) se lleva la señal X´ para borrar este registro
en este estado
La señal Z coloca al registro PROD en el modo 11para cargar a este registro con la salida
del sumador cuando Z=1.
Similarmente, los pulsos de reloj se inyectan a través de una compuerta AND (teniendo a
Z en la otra entrada) a la entrada de pulsos para conteo decreciente del contador para
decrementar al registro MDOR cuando Z=1.
BIBLIOGRAFÍA
1. M. Morris Mano, “Lógica Digital y Diseño de Computadores”, Editorial Dossat S.A.,
1982
2. F. Hill y G. Peterson, “Digital Systems: Hardware Organization and Design”, Nueva
York: John Wiley and Sons, 1973
3. System Technick, “DIGI-BOARD2, Descripción Técnica”
DDEEPPAARRTTAAM
MEENNTTOO DDEE LLAABBOORRAATTOORRIIOOSS
GGUUIIAASS DDEE LLAABBOORRAATTOORRIIOO DDEE TTRRAANNSSFFEERREENNCCIIAA EENNTTRREE RREEGGIISSTTRROOSS
DDEEPPAARRTTAAM
MEENNTTOO DDEE LLAABBOORRAATTOORRIIOOSS
GGUUIIAASS DDEE LLAABBOORRAATTOORRIIOO DDEE TTRRAANNSSFFEERREENNCCIIAA EENNTTRREE RREEGGIISSTTRROOSS
Descargar