GUIAS ÚNICAS DE LABORATORIO TRANSFERENCIA ENTRE REGISTROS AUTOR: ALBERTO CUERVO SANTIAGO DE CALI UNIVERSIDAD SANTIAGO DE CALI DEPARTAMENTO DE LABORATORIOS
TRANSFERENCIA ENTRE REGISTROS OBETIVO 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. 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 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 = cuando ocurra un pulso de, el flip-flop es colocado en el estado. Y y se usan para dar secuencia a las microoperaciones. Un cuarto flip-flop ALTO se coloca en 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, X, ALTO, Y Y : Y, si (MDOR=) entonces (ALTO ) por tanto ( ) : PROD PROD + MDO, MDOR MDOR,, Y 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.
Cuatro flip-flops (38) para los flip-flops X, Y, y ALTO Dos compuertas OR/NOR (34) Tres compuertas AND/NAND (32) Un sumador de 4 bits (6) El registro SRG4 () para el registro PROD. El contador binario CTRDIV6 (3) para el registro MDOR. Un teclado de 4 bits (3) para el registro MDO El pulsador (29) para la señal externa El generador de pulsos de (27) con una frecuencia de Hz para los pulsos de 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, 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 a los flip-flops X, Y y Coloque inicialmente el número 3 () en el registro MDOR Coloque el número 2 () 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, y ALTO.. La señal externa del pulsador debe provocar que en el flip-flop X ocurra una transición de a, por tanto esta señal debe ir a la de este flip-flop. 2. Cuando ocurra un pulso de con X=, el flip flop X debe ir a y Y a, por tanto se une la salida X a la entrada del flipflop X y a la del flip-flop Y a través de una compuerta OR ya que ya que el flip-flop Y debe colocarse en también cuando =. 3. Si Y=, cuando ocurra un pulso de se debe limpiar este flip-flop, por tanto se une su salida con su entrada de excitación.
4. Si Y=se debe provocar una transición de a en el flip-flop de ALTO de forma condicional, esto es si la señal que indica que el contenido del registro MDOR=. Por tanto la entrada 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=. 5. Si Y=, se debe provocar una transición de a en el flip-flop pero condicionado a que el contenido de MDOR. Por tanto la entrada del flip-flop es alimentada por una compuerta AND cuyas entradas son Y y la salida de una compuerta OR que indica que el contenido de MDOR 6. También se observa que el flip-flop de ALTO sólo debe ir a cuando ocurra un pulso de estando X en, por tanto la entrada del flip-flop de ALTO es alimentada por la entrada X. 7. El flip-flop debe limpiarse cuando ocurra un pulso de con =. Por tanto la salida alimenta a la entrada 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.
Señal externa del pulsador X Y Y ALTO X Y para cargar el #3 CTRDIV6 MDOR G2 C3 si MDOR= X PROD SRG4 C4 R 2 3 2 3 CI S U M A D O R 2 3
Circuito del Sistema Digital MDOR= ALTO MDOR = X Y Diagrama de Estados Señal externa De este diagrama de estados se observa que una vez comenzada la operación, el circuito alterna entre los estados Y y hasta que el contenido del Registro MDOR=. Cuando esto último ocurre, se limpia el flip-flop Y y se coloca en 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 indefinidamente hasta que se reinicie el sistema con una señal externa al estado X para comenzar una nueva operación. Como cuando = 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 coloca al registro PROD en el modo para cargar a este registro con la salida del sumador cuando =. Similarmente, los pulsos de se inyectan a través de una compuerta AND (teniendo a en la otra entrada) a la entrada de pulsos para conteo decreciente del contador para decrementar al registro MDOR cuando =. BIBLIOGRAFÍA. M. Morris Mano, Lógica Digital y Diseño de Computadores, Editorial Dossat S.A., 982 2. F. Hill y G. Peterson, Digital Systems: Hardware Organization and Design, Nueva York: ohn Wiley and Sons, 973 3. System Technick, DIGI-BOARD2, Descripción Técnica