Vous êtes sur la page 1sur 10

2 curso de I. T.T.

de Telemtica
Problemas de Microprocesadores
UNIVERSIDAD DE VALLADOLID Tema 3 Secuenciacin y Control
Departamento de Electricidad y Electrnica

1. En la figura aparece el diagrama de estados de un circuito secuencial sncrono. 3. Encontrar el diagrama de flujo y la tabla de estados correspondiente al diagrama
Dibujar su correspondiente diagrama ASM. Utilizar el mnimo nmero de cajas de ASM del problema anterior.
decisin. Las entradas al circuito son X2 y X1 y las salidas Z1 y Z2.
4. Implementar el diagrama ASM del ejercicio 2 utilizando el mtodo de 1 f-f por
estado.

5. Implementar el diagrama del problema 2 utilizando un registro de secuencia y un


decodificador.

6. Deducir el diagrama ASM correspondiente al siguiente autmata: Consta de 2


estados: A y B y de dos entradas: X e Y. Si nos encontramos en el estado A y la
entrada X vale 0 entonces el siguiente estado es A. Si, por el contrario X=1,
entonces el siguiente estado es B. Si estamos en el estado B y la entrada Y vale 1, el
siguiente estado es B pero si Y=0, el siguiente estado es A. La salida Z=1 cuando el
circuito se encuentra en el estado B.
2. Encontrar el valor de la salida y los estados del circuito sncrono cuyo diagrama
ASM es: 7. Deducir el diagrama ASM de un circuito que detecta la diferencia entre los valores
que toma la entrada X en dos ciclos consecutivos de reloj. Si X toma valores
diferentes, entonces la salida Z vale 1 en el siguiente ciclo de reloj. En caso
contrario Z=0.

8. Implementar el diagrama ASM del problema 7 utilizando un registro de secuencia y


un decodificador.

9. Dibujar el diagrama ASM de un controlador de semforos que funciona como sigue:


una seal temporal T es la entrada al controlador. T define el intervalo de luz
amarilla as como los cambios de las luces roja y verde. Las salidas de las seales se
definen segn la siguiente tabla:
Z
Salida
Luz Encendida
GN Verde, semforo Norte/Sur
YN Amarilla, semforo Norte/Sur
ante la siguiente secuencia de entradas (suponer que el estado inicial es ST1): RN Roja, semforo Norte/Sur
GE Verde, semforo Este/Oeste
A: 0 1 1 0 1 1 YE Amarilla, semforo Este/Oeste
B: 1 1 1 1 0 0 RE Roja, semforo Este/Oeste
C: 0 1 0 1 0 1
Mientras T=0 la seal verde est encendida para uno de los semforos y en rojo para
el otro. Cuando T=1, la luz amarilla se enciende en el semforo que previamente
estaba en verde mientras que el semforo en rojo sigue en rojo. Cuando T vuelve a
0, el semforo en amarillo se pone en rojo y el rojo en verde. Este patrn de colores
contina indefinidamente. Suponer que el controlador es sncrono con un reloj con
una frecuencia mucho mayor que la de la seal T.

10. Simular en funcin del tiempo el proceso de multiplicar los dos nmeros sin signo
siguientes: 1001 (multiplicando) y 1010 (multiplicador) utilizando la ruta de datos
vista en la teora con n=4 y el control cableado tambin estudiado en teora. Indicar
los contenidos que van tomando los registros A, Q, P y C y los estados de control.

11. Determinar el tiempo que tarda la operacin multiplicacin en el sistema digital


descrito en la teora suponiendo que el registro Q tiene n bits y que el periodo de la
seal de reloj es T nanosegundos.

12. Demostrar que la multiplicacin de 2 nmeros de n bits es un nmero de no ms de


2n bits. Obsrvese que esta condicin implica que no se puede producir un
rebasamiento en el resultado final en el circuito multiplicador definido en la teora. A continuacin se describen los integrados:

13. Suponer que disponemos de una unidad de control microprogramado similar a la MULTIPLEXOR 157:
estudiada en teora para el multiplicador (figura 4.18, transparencia 4.19) (con un Se trata de un multiplexor de 2 entradas de 4 bits cada una y por tanto una entrada de
registro CAR + memoria control + 2 mux) excepto que el multiplexor MUX2 que seleccin A / B . Si A / B =0 en la salida Z aparece la entrada IB, mientras que si
selecciona una entrada de control condicional (viene de la ruta de datos) tiene 15 A / B =1 aparece IA. Dispone adems de una entrada de habilitacin activa en baja E .
entradas de los bits de estado en vez de slo 2; Adems la memoria de control consta Si E = 0 el multiplexor est habilitado y funciona como tal, mientras que si E = 1 todas
de 1024 palabras. Redisear en este caso el formato de microinstruccin y especificar las salidas se ponen a 0.
el nmero de bits en cada campo. Cuntos bits se necesitan en cada palabra de la
memoria de control? Cul ser la capacidad total de la memoria de control? CONTADOR 161:
Se trata de un contador binario natural creciente de 16 estados (cuenta de 0000 a 1111)
14. Tomando como unidad de proceso el circuito de la figura, disear un controlador con con posibilidad de carga en paralelo. El flanco activo de la seal de reloj es el de subida.
una entrada C tal que: Los terminales son los siguientes:
a) Si C=0 el contador incrementa 2 veces la palabra A3 A2 A1 A0 y el Q3Q2Q1Q0 - Salidas. Estado del contador
resultado aparece en la salida O3 O2 O1 O0. TC Salida. Vale 1 cuando Q3Q2Q1Q0=1111 y 0 en caso contrario
b) Si C=1 el contador rota hacia la izquierda la palabra A3 A2 A1 A0 y el P3P2P1P0 - Entradas de carga en paralelo
resultado aparece en la salida O3 O2 O1 O0.
PL - Habilitacin de carga en paralelo sncrona (activa en baja)
ET, EP Habilitaciones de cuenta (activas en alta)
El sistema permanecer en un estado de espera (IDLE) que permita la introduccin
de datos A3 A2 A1 A0, la lectura del resultado en O3 O2 O1 O0 y la seleccin de la MS - Reset Maestro Asncrono (activo en baja)
operacin C. Al accionar un pulsador X (su pulso tiene una duracin de 1 ciclo de
reloj), se pondr en marcha la secuencia de microoperaciones hasta volver otra vez La entrada de Reset Maestro MS es la ms prioritaria. Le sigue PL y por ltimo ET y
al estado de espera durante el que aparecer en la salida O3 O2 O1 O0 el nuevo EP. Esto significa que, si por ejemplo PL =0 y ET=EP=1, cuando llegue el siguiente
resultado. flanco activo del reloj, el contador se cargar con lo que haya en las entradas P3P2P1P0.

a) Dibujar el diagrama ASM del controlador (autmata de Moore) que ejecuta las
operaciones descritas. Como entradas al mismo tendremos un bit X de inicializacin
y el bit de operacin C. Como salidas los terminales de control de la figura: PL ,
COUNT y S.
2/10
Nota: Tener en cuenta que en este caso tenemos salidas activas en alta y en baja.
Especificar su valor en cada uno de los estados del diagrama ASM. 16. En la figura se representa el diagrama de bloques de un procesador industrial:
b) Dibujar la secuencia que seguira tanto el estado del controlador como los terminales
de control y la salida del sistema O3O2O1O0 ante la siguiente secuencia de entradas y P1 TRANSDUCTOR CONVERTIDOR A/D
A SISTEMA
hasta el final de la operacin en los casos: DIGITAL
DE
C=0 HORNO OE PROCESO
C=1 SNCRONO
P2 TRANSDUCTOR CONVERTIDOR A/D B
CLK

X Mediante sendos transductores, la presin en los puntos P1 y P2 del horno se


convierte en una magnitud elctrica analgica que es transformada en digital por
A3:A0 1000
medio de dos convertidores analgico-digitales. La salida de estos convertidores es
un nmero positivo codificado en binario natural de 8 bits. Una vez que la
Estado IDLE informacin procedente de los dos convertidores est disponible, se produce un
pulso de sincronismo en la lnea OE. Esta seal indica al sistema digital de proceso
c) Implementar el controlador utilizando un registro de desplazamiento (1 f-f por que comience a realizar las siguientes operaciones:
estado) y las puertas lgicas que sean necesarias a) Memorizar la informacin procedente de ambos convertidores en sendos
registros R1 y R2.
15. Disear un sistema secuencial de proceso que reciba en sus entradas A3 A2 A1 A0 b) Comparar con un nmero preprogramado N la informacin mayor de ambos
informacin de un dgito en BCD y una orden de operacin constituida por un convertidores. Si el resultado de esta comparacin indica que el nmero
cambio de 0 a 1 de la seal Oe (inicializador). Al producirse dicha orden, el comparado con N es mayor que l, se activar una alarma y se dar por
sistema ha de realizar simultneamente o en secuencia, segn convenga las terminado el proceso. La alarma permanecer activa hasta que se verifique que
operaciones elementales siguientes: N>mx(R1, R2).
1) Almacenamiento en paralelo de la informacin presente en las entradas A0 a c) Si se compar el contenido de R1 con N, se realizar la resta del contenido de
A3. R2 del de R1 (R1-R2) y, si se compar el contenido de R2 con N, se realizar la
2) Comparacin del nmero almacenado con otro nmero preprogramado en el resta del contenido de R1 del de R2 (R2-R1). El resultado de ambas operaciones
sistema e indicacin mediante una salida llamada Z1 del resultado de dicha se memorizar.
comparacin. Z1=1 si A> nmero preprogramado. Z1 permanecer a 1 d) La diferencia obtenida en el caso anterior se comparar con el valor mximo de
hasta que se realice una nueva operacin (indicada por un nuevo cambio en todas las diferencias obtenidas en sucesivos procesos y se reemplazar por ella
Oe de 0 a 1. en el caso de que sea mayor. A continuacin se dar por terminada la secuencia
3) Salida en serie del nmero almacenado A3 A2 A1 A0 a travs de otra salida, y el sistema quedar a la espera de recibir nuevas rdenes de proceso.
llamada Z2 si el nmero almacenado es menor o igual que el preprogramado
e inhibicin de dicha salida en caso contrario. Realizadas estas operaciones el Disear el sistema digital de proceso. La unidad operativa utilizar un nico restador
sistema quedar preparado para recibir una nueva orden de operacin por Oe. en complemento a dos de 8 bits y los registros que sean necesarios.
Disear la unidad operativa utilizando un registro de desplazamiento con entradas
en paralelo y salida en serie, un comparador 85 y un biestable R-S para Nota: Considerar, como es habitual en estos problemas que el tiempo que transcurre
implementar la salida Z1. Cul ser la estructura interna del registro de entre pulsos sucesivos en la seal OE es mucho mayor que el periodo de la
desplazamiento? seal de reloj con la que funciona el sistema.
Disear la unidad de control utilizando el mnimo nmero de flip-flops tipo D, un
decodificador y la lgica necesaria 17. En cierto dispositivo se reciben datos en modo serie, de longitud variable. Una seal
de control indica si se est enviando un dato (T=1) o no (T=0). Inmediatamente
despus del ltimo bit del dato y con la seal de control T puesta ya a 0, se recibe un
bit adicional para control de paridad (paridad IMPAR, bit p=1 si el nmero de unos
en el dato es par) y por ltimo inmediatamente despus del bit de paridad tanto la

3/10
lnea T como la de datos I se mantienen a 0 durante al menos un ciclo de reloj ms El funcionamiento es el siguiente: una vez que se ha completado la carga del dato en
(bit de parada) hasta que aparezca un nuevo dato (T=1). Ver figura el registro de desplazamiento, si el bit de paridad es correcto el dato completo se
transfiere al Latch, en el caso contrario, se enva un 1 por la salida de Error (Er)
durante un ciclo de reloj. A continuacin, en cualquier caso, se limpia el registro de
desplazamiento (todas las celdas a cero) y se espera la recepcin del siguiente dato.
a) Disear el controlador utilizando una memoria ROM y el mnimo nmero de
Flip-flops D. Indicar detalladamente cul debe ser el tamao de la memoria as
como sus contenidos.
b) Indicar cual sera el esquema de puertas de una celda del Latch y de una celda
del registro de desplazamiento implementada con Flip-flops R-S.

18. Disear un sistema digital con 3 registros de 16 bits que llamaremos AR, BR y CR y
una lnea de entrada IN de 16 bits que realice secuencialmente las siguientes
operaciones sobre nmeros escritos en representacin de complemento a dos.
La recepcin de los datos se realiza mediante el circuito de la figura siguiente. Est
Ignorar las situaciones de rebasamiento.
formado por:
Operaciones:
Un registro de desplazamiento con entrada de datos serie y salida en paralelo. a) Transferir 2 nmeros de 16 bits del bus de entrada IN a AR y BR en ciclos
Posee un terminal para la seal de reloj (R) y otro sncrono para la puesta a cero de reloj sucesivos tras poner una seal G a 1.
(Z). La longitud de dicho registro es mayor que la mxima longitud de palabra b) Si el nmero en AR es positivo pero distinto de cero, multiplicar dicho
de los datos que se transmiten en serie. nmero por 2 y transferir el resultado al registro CR.
Un registro constituido por biestables (Latches) para recoger los datos una vez c) Si el nmero en AR es negativo, multiplicar el contenido de BR por 2 y
que se ha completado su recepcin. El terminal de control asncrono (L) nos transferir el contenido a CR.
permite escribir una palabra en el Latch. d) Si el nmero en AR es cero, borrar el contenido de CR.
Un circuito secuencial sncrono (Moore) que controla el proceso.
Todos los terminales son activos en alta. 19. Se desea disear una mquina que realice la multiplicacin de dos nmeros escritos
en binario natural de n bits (X e Y). La ruta de datos estar compuesta por 3
contadores CX, CY (n bits) y CP (2n bits). La operacin se realizar como sigue:
Partiendo de un estado de espera (IDLE) se proceder a la carga de los operandos X e
Y en los registros CX y CY respectivamente. El tercer registro CP se utilizar para
almacenar el resultado P e inicialmente se encuentra a 0. El producto se realiza
simplemente incrementando CP con cada ciclo de reloj un total de P veces, al final de
las cuales se obtiene el resultado. Para controlar el proceso, CX se decrementa en
cada ciclo de reloj. Cuando CX llega a 0, se vuelve a cargar con el nmero X y
comienza de nuevo, la cuenta atrs. Adems, cada vez de CX llega a 0, CY tambin
se decrementa. Obviamente, cuando CY llega al 0, CX se habr decrementado un
total de XxY veces. Si CP se incrementa cada vez que CX se decrementa, entonces,
cuando CY alcanza el 0, en CP se encuentra el resultado P = XxY. Este mtodo de
multiplicacin es, obviamente muy lento, pero, a cambio, necesita una ruta de datos
muy sencilla.

En la figura aparece un esquema completo del circuito. En la ruta de datos DP


(DataPath Unit) se encuentran, adems de los contadores CX, CY y CP un registro
RX de n bits para almacenar el nmero X, ya que ste se requiere en varias etapas del
clculo. La unidad de control CU (Control Unit) genera los siete terminales de control
necesarios para incrementar o decrementar los contadores (Increment or decrement
4/10
counters: DecCX, DecCY, IncCP) cargarlos (Load register and counters: LRX, LCX, LCY) y 20. Deducir el diagrama ASM de un circuito sncrono con un reloj CLK que sirve para
poner a 0 CP (Reset CP: CP <-0) al comienzo de la operacin y una salida externa controlar el funcionamiento de una lavadora. El circuito consta de 3 seales de
END que indica el final de la operacin. Consta adems de una entrada externa entrada externas que son START, FULL y EMPTY que verifican que tienen una
BEGIN que indica el comienzo de la operacin y de otras dos entradas CX=0 y CY=0 duracin en 1 de al menos un ciclo de reloj y que son mutuamente excluyentes (no
provenientes de la ruta de datos que se activarn cuando los correspondientes pueden valer 1 a la vez), y 4 salidas externas HOT; COLD; DRAIN y TURN.
contadores han llegado a 0. Suponer que todos estos terminales son activos en alta.
La ruta de datos del sistema que controla el funcionamiento de la lavadora consiste
en un contador decreciente con 3 entradas de control RESET, DEC y LOAD. El
contador se decrementa cada minuto cuando DEC=1 pero adems se puede poner en
reset sncronamente en cualquier flanco activo del reloj CLK en respuesta a su
entrada RESET. El contador tiene una nica salida ZERO que vale 1 siempre que el
contador est en el estado 0 y vale 0 en caso contrario.
El circuito funciona como sigue: la lavadora pasa por 4 ciclos distintos: WASH
(lavado), SPIN (centrifugado), RINSE (aclarado) y SPIN de nuevo. A continuacin
detallaremos cada uno de los ciclos:

WASH Suponemos que al encender la lavadora, el autmata se encuentra en un


estado IDLE. Al colocar START a 1 durante 1 ciclo de reloj, HOT se
pone a 1 y ah permanece hasta que FULL=1 lo que indica que la
lavadora est llena de agua. A continuacin, activando LOAD, el
contador se carga con un valor que proviene del panel de control que
indica cuantos minutos queremos que dure el ciclo de lavado. DEC y
TURN se ponen a 1 y la lavadora lava. Cuando la salida del contador
ZERO = 1 el lavado ha terminado y las seales TURN y DEC pasan a
valer 0.
SPIN A continuacin, DRAIN=1 y comienza el desage. La seal EMPTY=1
Disear la unidad de control CU de este sistema como autmata de Mealy, de modo indica que ya no queda agua en la lavadora y entonces se carga el
que la ejecucin de la multiplicacin sea lo ms rpida posible (menor nmero de contador con un 7. DEC y TURN se ponen a 1 y la lavadora empieza a
ciclos de reloj). A partir de un estado inicial IDLE en el que no se activa ningn centrifugar. Cuando Zero se pone a 1, DRAIN, DEC y TURN vuelven a
terminal de control y que permite visualizar el resultado de una operacin anterior, la 0.
puesta a 1 de la seal BEGIN durante un ciclo de reloj indica que por la lnea Data In RINSE Despus, COLD=1 y en este valor permanece hasta que FULL=1 que
est apareciendo el primer operando, que guardaremos en RX. En el siguiente ciclo de indica de nuevo que la lavadora se ha llenado de agua, esta vez fra para
reloj aparecer el segundo operando que almacenaremos directamente en CY. El aclarar. Utilizando LOAD se carga el contador con un 10. DEC y TURN
sistema evolucionar de estado en estado hasta el fin de la operacin, en el que en CP se ponen a 1 y la lavadora aclara. Cuando ZERO=1 el aclarado est
se encontrar almacenado el resultado y la seal END se pondr a 1. completo y TURN y DEC vuelven a 0.
SPIN Por ltimo, DRAIN=1 y se desagua el agua del aclarado. Despus al tomar
Seguir los pasos: EMPTY el valor 1 se carga el contador con 8. DEC y TURN se ponen a 1
a) Diagrama ASM del controlador. Tener especial cuidado en las cajas de decisin. y comienza el centrifugado. Cuando ZERO=1, DRAIN, DEC y TURN
Asegurarse de que las entradas a la unidad de control desde la ruta de datos vuelven a 0 y el circuito vuelve al estado IDLE.
(CX=0 o/y CY=0) toman el valor correcto en el momento de tomar la decisin.
Utilizar las cajas de salida condicional siempre que se requieran. a) Dibujar el diagrama ASM del circuito controlador de la lavadora.
b) Diagrama de flujo del controlador. b) Modificar el diseo del apartado a) suponiendo que hay 2 entradas
c) Implementacin utilizando el mnimo nmero de flip-flops tipo D, un adicionales llamadas PAUSE y STOP. PAUSE provoca que el circuito,
decodificador de tamao adecuado y las puertas lgicas que sean necesarias. incluido el contador se pare y que todas las salidas se pongan a 0. Cuando

5/10
se pulsa START de nuevo, la lavadora reinicia la operacin en el punto
que lo dej. Por otro lado, cuando se pulsa STOP todas las salidas se Controlador RAM 512x8
colocan a 0 excepto DRAIN que se pone a 1.Cuando EMPTY pasa a 1 la nCE
CE
lavadora vuelve a IDLE.
nWE
WE 8
21. En la figura aparece una memoria LIFO de 512 palabras de 8 bits cada una. Sobre
D(7:0) DATA
esta memoria se pueden realizar operaciones de escritura (PUSH) y de lectura CLK
(POP). Las seales PUSH o POP permanecen activas durante un ciclo de reloj Contador
indicando el comienzo de sus respectivas operaciones: INC 9
SP A(8:0)
DEC
Para realizar una operacin de escritura, la seal PUSH se activa durante un PUSH
ciclo de reloj y el dato presente en el Bus de datos DATA durante ese ciclo se DATV
almacena en la LIFO. Suponer que el dato a escribir permanece estable en POP
DATA como mnimo durante el ciclo de reloj en el que se activa PUSH y los 4 BSY
siguientes.
Para realizar la operacin de lectura, POP se activa durante un ciclo de reloj,
iniciando el proceso que concluir, tras la sucesin de los ciclos de reloj que se A estos elementos hay que aadir un controlador, que ser el encargado de generar las
requieran, apareciendo en DATA el ltimo dato almacenado en la LIFO. seales de control en los ciclos de reloj precisos para respetar los tiempos de acceso a
La memoria LIFO consta adems de dos salidas: DATV y BSY, ambas activas memoria. Para ello, la secuencia de activacin de estas seales debe realizarse conforme a
en alta. La seal DATV (DATA VALID) se activa durante el proceso de lectura los cronogramas de lectura y escritura de la figura.
(POP) para indicar que el dato en DATA es vlido, mientras que BSY (BUSY)
indica que la memoria LIFO est ocupada completando su operacin de lectura o
escritura.
LIFO 512 x 8

CLK CLK
8
D(7:0) DATA

PUSH PUSH
DATV DATV
POP POP
BSY BSY

Se desea disear la memoria LIFO utilizando como unidad operativa una RAM de
capacidad 512x8 con terminales de datos bidireccionales y un contador binario reversible Ciclo de escritura
de 9 bits para acceder a una direccin concreta de ella (puntero de pila SP), como aparece
en la figura.

6/10
el valor actual de la entrada TIEMPO, por ejemplo N, se almacena. La salida FIN
pasar de 0 a 1 cuando hayan transcurrido (aproximadamente) N ciclos de reloj.

La ruta de datos del sistema aparece en la figura. Consta de un restador de n bits, un


circuito ZERO DETECT con salida Z=1 si la palabra en su entrada es nula (00.0), un
registro de n bits REG cuyo contenido puede ser modificado mediante una seal de
escritura W y un multiplexor de 2 vas de n bits cada una que permite escribir en el
registro REG el valor de la entrada TIEMPO o el calculado por el restador a partir del
valor del bit de seleccin SEL.

n 111.1 (-1)
n

Restador TIEMPO
n bits
Ciclo de lectura n n
n n
Contestar a las siguientes preguntas:
a) A partir de los cronogramas anteriores, indicar la organizacin de la pila, es
decir, si se llena hacia posiciones crecientes o decrecientes y a qu direccin 0 1
apunta el SP. SEL Multiplexor
b) Dibujar el diagrama ASM del controlador. Suponer que partimos de un estado Zero Detect
n
IDLE en el que sobre la memoria LIFO no se realiza ninguna operacin. A partir
de l, la activacin de POP o PUSH (la activacin simultanea de ambos se
considera imposible) da comienzo a la operacin de lectura o escritura Z Registro REG
W n bits
respectivamente, tras la cual se volver a IDLE.
c) Dibujar el diagrama de flujo resultante, indicando claramente el valor que toman n
cada una de las salidas del autmata. Nota: tener en cuenta que hay terminales de
control activos en alta y en baja.
d) Implementar el controlador utilizando flip-flops tipo D, un decodificador del Se desea disear una unidad de control para esta ruta de datos. Debe tratarse de un
tamao adecuado y las puertas lgicas necesarias. autmata de Moore con dos entradas INICIO y Z y una nica salida FIN que controle la
e) Por ltimo, aadir al sistema los elementos necesarios para que sea capaz de operacin del temporizador.
realizar operaciones de escritura (PUSH) en las que el dato a almacenar slo
aparece por la lnea DATA en sincronismo con la seal PUSH y con una a) Realizar el diseo de la unidad de control utilizando el mtodo de 1 flip-flop por
duracin de un ciclo de reloj. Dibujar adems el nuevo cronograma de escritura estado.
representando la variacin de todas las seales implicadas en el proceso de b) Completar el siguiente cronograma suponiendo que la entrada TIEMPO tiene un
escritura. valor de 100 (4). Cuntos ciclos de reloj transcurren entre el flanco de bajada de
la seal FIN al comienzo de la operacin y el de subida de la seal FIN para este
22. Un temporizador programable es un circuito digital con una entrada binaria sncrona ejemplo? Y en general para cualquier valor de TIEMPO? Indica, en el caso de
INICIO, otra de n bits llamada TIEMPO que representa un nmero escrito en binario ser diferente al valor N introducido en TIEMPO, cmo podra ajustarse a N.
natural distinto de 0 (00.0) y una nica salida binaria FIN. Partiendo de un estado
de espera llamado IDLE en el que la seal INICIO se encuentra a 0 y FIN a 1,
cuando por INICIO aparece un 1 durante un ciclo de reloj, la seal FIN se pone a 0 y

7/10
D0 D1 D2 D3 D4 D5 D6 D7
C
T
INICIO W
REGISTRO DE
CLK DESPLAZAMIENTO
FIN
R
W

SEL
Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7
Z
COUNT
REG Y0
CLK CONTADOR Y1 Z
ESTContr IDLE Y2
LOAD

23. Un desplazador de tambor de 4 bits es un circuito combinacional con 4 entradas de 3


datos D: D3D2D1D0, 2 entradas de control C: C1C0 y 4 salidas Z: Z3Z2Z1Z0. La
palabra saliente es igual a la palabra entrante, rotada hacia la derecha un nmero de C2C1C0 -1
bits especificado por las entradas de control. Por ejemplo si la palabra entrante es
ABCD (cada letra representa un bit) y las entradas de control son 11 (3), la palabra
a) Indicar la estructura interna del registro de desplazamiento implementado con Flip-
Flops tipo JK con entradas asncronas directas de set y reset activas en alta y las
de salida es BCDA. Disee un desplazador de tambor utilizando circuitos MSI
puertas lgicas que sean necesarias.
combinacionales: decodificadores, codificadores, multiplexores, demultiplexores,
sumadores, comparadores...... b) Implementacin del controlador del sistema como autmata de Moore utilizando el
mtodo de un flip-flop por estado. El sistema debe permanecer en un estado de espera
Disponemos de un registro de desplazamiento cclico hacia la derecha donde se que permita la seleccin del dato de entrada en D: D7D6.D0, el control C: C2C1C0
almacena un nmero de 8 bits y de un contador binario de 8 estados. Implementar (nmero escrito en binario natural positivo y distinto de 0 que nos indica cuntas
un circuito que realice la misma funcin que un desplazador de tambor. El sistema posiciones deseamos rotar) y la lectura del resultado de la operacin anterior Z:
constar de una unidad operativa compuesta por el registro de desplazamiento y el Z7Z6.Z0. El sistema empezar a funcionar al accionar un pulsador de inicio X=1
contador de la figura. cargando el nmero en el registro y los bits de control C decrementados en 1 unidad
(C-1) en el contador. A continuacin rotar hacia la derecha el nmero D tantas veces
Los terminales de control son: como indiquen las entradas de control para acabar de nuevo en el estado de espera.
Registro de desplazamiento: W - Escritura asncrona en el registro. Si W=1 se c) Cuntos ciclos de reloj como mximo tardar el sistema en generar la palabra rotada?
escribe la palabra D7D6.D0 en el registro. Se te ocurre alguna modificacin en la unidad operativa para hacer ms pequeo este
R - Rotacin. Si R=1 rota la palabra almacenada nmero. Descrbela brevemente.
en el registro hacia la derecha. Si R=0 conserva
la palabra almacenada en el registro. 24. En la figura aparece un sistema de transferencia de informacin entre registros
basado en bus nico. Se desea que en dicho sistema se realicen operaciones de
Contador: LOAD carga sncrona del contador. transferencia mltiple de informacin de la siguiente manera: dispondremos de una
COUNT Decremento de la palabra Y2Y1Y0 almacenada en el seal de operacin llamada up/ndown y una seal de inicializacin Go. Partiendo de
contador. Cuando LOAD y COUNT estn ambos inactivos el contador un estado de espera IDLE en el que no se realizan operaciones de transferencia y en
conserva su estado el que el sistema permanece mientras Go=0, la activacin de Go=1 durante un ciclo
de reloj originar que la informacin contenida en los registros R0, R1 y R2 se
8/10
desplace hacia arriba (up/ndown=1) o hacia abajo (up/ndown=0) dependiendo del El segundo sumando de cada expresin es el error de truncamiento que resulta de la
valor que presente up/ndown durante ese mismo ciclo de reloj. El sistema realizar la prdida de precisin al convertir el nmero de punto fijo en punto flotante.
transferencia durante los ciclos de reloj que sean necesarios tras los cuales el sistema
volver al estado de espera IDLE. La informacin contenida en R0 si up/ndown=1 o Se desea disear un circuito digital para la conversin de nmeros de 11 bits escritos en
en R2 si up/ndown=0 se perder, mientras que la informacin contenida en R2 si binario natural (punto fijo) a su correspondiente en punto flotante de 7 bits (4 de mantisa
up/ndown=1 o en R0 si up/ndown=0 se mantendr. y 3 de exponente). La unidad operativa de dicho circuito aparece representada en la figura
y se describe a continuacin.
Se pide disear el controlador del sistema utilizando el mtodo de un flip-flop por
estado indicando claramente cules son las entradas y salidas del controlador as como DATA_IN 0
el diagrama ASM que describe su funcionamiento. es posible disear un controlador
Z MUX DATA_OUT
que produzca la rotacin de la informacin en vez de su desplazamiento INIT CONT/SHIFTER
COUNT Q2 Q1 Q0
SHIFT 1
Q2

SEL
Por la entrada DATA_IN se va transmitiendo en serie en sincronismo con el flanco activo
de los flip-flops del diseo, comenzando por el bit ms significativo, el nmero en binario
natural. El registro CONT/SHIFTER es un registro de 3 bits que puede funcionar como
contador en binario natural y orden descendente (activando el terminal COUNT=1 se
decrementa en cada ciclo de reloj) o desplazador (SHIFT=1 desplaza el contenido 1 bit
hacia la izquierda). Una tercera entrada INIT sirve para colocar el contador en el estado
111. Adems de la salida serie, consta de una salida Z (Z=1 cuando el contador alcanza el
estado 000). Este registro se utiliza para hallar el exponente de la representacin en punto
flotante. Por la salida DATA_OUT tras los ciclos de reloj necesarios ir apareciendo el
nmero en punto flotante empezando por el bit ms significativo de la mantisa m3 y
acabando por el menos significativo del exponente e0. Una salida adicional
TRANSMITTING=1 nos indicar que estn apareciendo los bits pertenecientes a la
25. Un entero B binario sin signo en el rango de 0 puede representarse con representacin en punto flotante y una salida DONE se pondr a 1 en sincronismo con el
11 bits en formato de punto fijo, . Podemos ltimo bit (e0) indicando el fin de la transmisin.
representar nmeros en el mismo rango usando solamente 7 bits en una notacin de
punto flotante , donde M es una mantisa de 4 bits (m3m2m1m0) y E es un Se pide disear el controlador de esta unidad operativa. El circuito funcionar de la
exponente de 3 bits (e2e1e0). A cambio de perder precisin (varios nmeros enteros siguiente manera: partiendo de un estado de espera (IDLE) en el cul se inicializar el
tienen la misma representacin). El entero ms pequeo en este formato es 020 y el registro contador/desplazador a 111, la seal START=1 indicar que en el siguiente ciclo
ms grande (24-1)27 = 1920. de reloj aparecer el bit de peso 10 (b10) del nmero en binario natural B tras el cul, en
Dado un entero B de punto fijo de 11 bits, podemos convertirlo a la notacin de los sucesivos ciclos aparecern hasta el b0. Durante estos ciclos el
punto flotante de 7 bits considerando los 4 bits ms significativos y truncando los contador se ir decrementando hasta que aparezca el primer 1 por B (bit m3) o hasta que
menos significativos. Por ejemplo: alcance su ltimo valor 000. En ambos casos el contador contendr el exponente de la
representacin en punto flotante (ver ejemplos: en los cuatro primeros se ha llegado al
11010110100 = 110127 + 0110100. 1101111 (13 en mantisa y 7 en exponente) primer 1 antes de que el contador llegue a 000. En el ltimo, el contador llega a 000 y el
00100101111 = 100125 + 01111. 1001101 (9 en mantisa y 5 en exponente) primer bit de la mantisa m3 es 0). A partir de ese momento, por DATA_OUT irn
00000111110 = 111122 + 10 1111010 (15 en mantisa y 2 en exponente) apareciendo los bits de la representacin en pto flotante comenzando por m3, y
00000001011 = 101120 + 0 1011000 (11 en mantisa y 0 en exponente) TRANSMITING se pondr a 1.
00000000010 = 001020 + 0 0010000 (2 en mantisa y 0 en exponente)
9/10
a) Indicar una posible implementacin del registro CONT/SHIFTER suponiendo
que los terminales de control COUNT, SHIFT e INIT son mutuamente
excluyentes.
b) Disear el controlador utilizando un flip-flop por estado (registro de
desplazamiento) y las puertas lgicas necesarias.

10/10

Vous aimerez peut-être aussi