Académique Documents
Professionnel Documents
Culture Documents
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.
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.
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
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.
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.
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
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