You are on page 1of 6

1- Explicar cmo se desarrolla temporalmente un ciclo de reloj de un Circuito

Algortmico, e indicar cules son los tiempos que determinan su frecuencia mxima
de trabajo.
En los circuitos algortmicos asignamos un ciclo de reloj por
estado. Una vez que el circuito detecta el estado, el circuito evala las
condiciones, que le marque el diseo, para eso tarda un cierto tiempo
(tcond). Cuando ya se han evaluado las condiciones, se manda la seal a la
PLA, que, tras un pequeo retraso (tpla), genera las seales de control
estables para la Unidad de Proceso.
Con estas seales la unidad de proceso comienza las operaciones
que gastarn tambin una pequea parte del tiempo del ciclo de reloj (top), una vez acabadas, se mantienen
estables. Estos resultados han de guardarse en un biestable. Para que el biestable guarde correctamente los datos
necesita un tiempo de setup (tsu) y un tiempo de hold(th). El fabricante de los biestables nos da tambin una tabla
con el MTBF, mean time between fail, en la que nos dice el tiempo medio entre fallos a partir del tiempo extra que
dejemos el dato estable a la entrada del biestable, el tiempo extra Textra.
Por tanto el tiempo, periodo, mnimo que debe tener el ciclo ser:T Tcon + Tpla + Top + Tsu + Th + Textra,
y por tanto la frecuencia debe ser f
1
Tcon + TpIa + Top + Tsu + Th + Tcxtra

2- Explicar brevemente qu es un "Diagrama ASM", de qu elementos se compone, e
indicar por qu resultan tiles para disear circuitos algortmicos.
Un diagrama ASM es un medio de representacin grfico/textual de un algoritmo, tal que permite describir ciclo a
ciclo el funcionamiento con temporizacin sncrona y control centralizado.
Los tres componentes de los que constan son:
Cajas de estado. Este componente especifica las transferencias que se deben realizar en un nuevo ciclo de
operacin. Esta transferencia puede ser un simple almacenamiento o un procesado con almacenamiento.
Caja de seleccin. Este componente especifica una determinada condicin que determinar la siguiente accin a
realizar. Por lo general, esta condicin ser el resultado de una comparacin, aunque puede ser una seleccin entre
ms de dos valores.
Cajas de condicin. Este componente especifica la transferencia que se realizar en funcin de una determinada
condicin, por lo que siempre estarn despus de una caja de seleccin. La diferencia con las cajas de estado radica
en que las cajas de condicin sern evaluadas en el mismo ciclo de operacin, mientras que en las cajas de estado la
asignacin se realizar en el siguiente ciclo.
Bloques ASM. Todos los elementos anteriores se agruparn segn el ciclo de operacin donde sean realizados.
Estas agrupaciones son los denominados bloques ASM.
Todos estos componentes se agruparn en diferentes bloques ASM, los cuales especifican todas las acciones
realizadas en un mismo ciclo de operacin, por lo que irn de una caja de estado a otra. Estos bloques se identifican
con los estados de los autmatas finitos. Las propiedades que muestran dichos bloques son las siguientes:
En su interior tiene que haber una nica caja de estado, y puede que mltiples cajas de seleccin y/o
condicionales. Esta necesidad es debida a que cada caja de estado realizar su operacin en un nuevo ciclo, es
decir, en ciclos diferentes. Esta caja de estados puede estar vaca, como veremos posteriormente.
Hay un solo punto de entrada (la caja de estado) y mltiples puntos de salida.
Cada seal slo puede ser asignada una vez por bloque, con el fin de evitar conflictos.
Esto no quiere decir que no puedan aparecer ms de una vez, ya que podemos encontrar dos asignaciones tras una
caja de seleccin puesto que se realizar nicamente uno de los dos.
Una vez que conocemos los diferentes componentes de un diagrama ASM y las propiedades que cumplen, ya
estamos en disposicin de generar uno de ellos. No obstante, de forma previa, debemos tener en cuenta una serie de
pautas, entre las que podemos destacar:
Las transferencias realizadas en un mismo ciclo no pueden tener conflictos en el uso de recursos, es decir, una
misma unidad no puede estar realizando dos operaciones diferentes en el mismo ciclo de operacin.
El periodo de reloj viene determinado por el camino combinacional con mayor retraso.
Toda salida de un bloque ASM debe estar conectado a la entrada de otro.
3- Explicar cmo se aplica el paralelismo en los circuitos de tratamiento de datos e
indicar cundo es necesario emplear esta tcnica.
El paralelismo se utiliza para
aumentar la frecuencia mxima de un circuito.
Consiste en hacer trabajar varios circuitos
idnticos en paralelo. Llamando Tmin al
periodo de la seal CLK el tiempo disponible
para el clculo ser igual a N*Tmin,
despreciando el tiempo de respuesta de los
biestables, tiempos de transmisin y el resto
de atrasos, siendo K el nmero de circuitos en
paralelo. Se puede decir que este mtodo
permite multiplicar por N la frecuencia del
circuito a cambio de multiplicar por K el coste. En la primera etapa de estos circuitos se distribuyen los datos, as
disponemos de N ciclos para procesar en la etapa 2. Y en la etapa 3 vamos dando salida a los datos procesados.
Esta tcnica es necesaria cuando la frecuencia del circuito se quede corta con los requerimientos exigidos.
4- Explicar cmo y para qu se aplica la segmentacin a los circuitos de tratamiento
de datos.
Queremos procesar datos en los que la
frecuencia de nuestro circuito se queda corta, para
ello dividimos el circuitos. Lo que hacemos es
descomponer el circuito en una serie de circuitos
ms simples conectados en serie (cascada). Para
controlar el flujo de datos a lo largo del sistema se
insertan biestables, registros, entre los diferentes
circuitos. El problema de estos circuitos es que no
admiten feedback, realimentacin. De esta forma
conseguimos multiplicar la frecuencia del circuitos
tal que la frecuencia es menor o igual a N x
frecuencia base. Para poder aplicar esto el periodo de la frecuencia base debe ser mayor que el tiempo de clculo
del circuito ms lento. Con este mtodo el coste permanece prcticamente constante porque solo aadimos
registros, que son muy baratos.


5- Explicar qu estructuras se aplican al tratamiento de secuencias de bits y
justificar por qu se disean de esa manera.
Para tratar secuencias de bits se utiliza la siguiente estructura.
Los datos de entrada se van guardando uno a en un biestable que en
siguiente ciclo de reloj pasan y se guardan uno a uno en un registro
de desplazamiento con capacidad para N bits. Una vez el registro se
llena por completo, se traspasan todos los datos a un biestable de N
bits a la vez. Este biestable est controlado por un multiplexor que
controla mediante la seal z1 si guarda los datos del registro de
desplazamiento o mantiene los datos. Una vez en el registro, los datos
se pasan al circuito combinacional que procesa los datos, de esta
manera en circuito combinacional tiene N ciclos de reloj para
procesar todos los datos, en lo que se vuelve a llenar el registro de
desplazamiento. Posteriormente se pasan a un segundo registro de
desplazamiento que est controlado con un multiplexor y la misma
seal z1 Este multiplexor est conectado al registro de
desplazamiento y a un desplazador para realimentar el registro de
desplazamiento, moviendo los datos cuando es necesario . Una vez
procesado se pasa de nuevo a un registro de N bits y de ah a un
nuevo registro de desplazamiento que va sacando los datos de uno en
uno.
6- Unidad de proceso secuenciada de 3 buses
Esta unidad de proceso
realiza las operaciones en 1 ciclo
de reloj. Para ello consta de
registros, buffers triestado, una
ALU, y multiplexores, adems
de seales de control.
La ALU, unidad
aritmtico lgica, realiza las
operaciones oportunas, sumas, restas, operaciones lgicas. Para eso necesita la seal de control Z3. Pero para que
pueda operar necesita los datos que estn en los biestables. Para llevar los datos desde los registros hasta la ALU
tenemos dos buses, cada uno conectado a una entrada de la ALU. La entrada a cada bus de los registros se controla
mediante las seales Z1i, para el biestable i y el bus 1, y con las seales Z2j, para el registro j y el bus 2. De esta
manera el bus est ocupado slo por el dato que deseamos llevar a la ALU.
Una vez realizada la operacin marcada por Z3, el resultado sale hacia el bus 3, desde este bus se lleva el
dato al registro seleccionado. Para poder grabar en los registros estn las seales Z4i, que controlan si el biestable
se realimenta con el dato que tiene guardado o lo toma del bus 3.
Por el bus 3 introducimos los datos del exterior. Para controlar esta entrada y no interferir con los datos que
salen de la ALU tenemos la seal IN(Rx), que hace que el dato pueda entrar al bus. El bus 1 tambin se utiliza para
mandar datos al exterior, para eso tenemos la seal OUT(Rx), que deja pasar el dato por el buffer triestado. Para
mandar seales, como el resultado es 0, operacin completada,, a la Unidad de Control usamos el biestable
RUC. Esta seal se llama flag del microprocesador.
Un problema de estas unidades de proceso de 3 buses es el uso buffer triestado, que entra muy rpido pero
sale ms lentamente, lo que provoca cortocircuitos y por consiguiente fatiga trmica. Para evitar esto podemos
dejar un ciclo de reloj entre dato y dato.

7- Unidad de proceso secuenciada de 1 bus
En este caso la unidad de proceso solo consta de un bus para mover todos los datos por la unidad de
proceso, las entradas y las salidas. Tenemos 2 opciones a la hora de realizar esta unidad de proceso: con biestables
o con una memoria RAM.
La arquitectura con biestables es la
siguiente. Tenemos N biestables y uno llamado
acumulador. Como la ALU opera con 2 datos y
solo tenemos un bus, tenemos que guardar uno
de los datos en el acumulador para que pueda
operar con los 2. Lo primero de todo es elegir el
biestable i que pasa al bus a travs del buffer
triestado correspondiente, este buffer le deja
pasar si la seal Z1i lo permite. Una vez pasa al
bus llega a la ALU, que con la correspondiente seal de Z3 deja pasar el dato hasta llegar al acumulador ACC. Una
vez se ha guardado el dato en el acumulador se procede a mandar otro dato por el bus, controlado por su
correspondiente seal de control Z1j. As llega a la ALU y con la correspondiente seal de control Z3 realiza la
operacin que vuelve al bus con el permiso del buffer de la ALU y la seal Zalu. Una vez hecho esto, se nos
pueden dar 2 casos: guardar el dato o mandarlo al exterior. Para guardarlo viaja por el bus y llega al biestable k que
le corresponda. Para guardarlo el multiplexor debe permitirlo, porque tambin los biestables pueden realimentarse
con el valor que guardan, con la seal de control Z4k. Para salir debe habilitarse la seal ZOUT que hace que el
buffer triestado deje salir los datos. De la misma manera tenemos un buffer que controla la entrada con la seal
ZIN. De esta forma la unidad de proceso tarda 3 ciclos de reloj en realizar las operaciones, uno para que el
acumulador tome el valor del registro Rk, otro para realizar la operacin y otro para que el registro correspondiente
tome el valor del resultado. Para mandar seales, como el resultado es 0, operacin completada,, a la Unidad de
Control usamos el biestable RUC. Esta seal se llama flag del microprocesador.
La arquitectura con una
memoria RAM. En la memoria
tenemos los datos que estaran en
los registros y esta memoria se
controla con la seal Z1, que
selecciona el valor de la
memoria que queremos dejar
salir al bus, de esta manera no
hay conflictos en el bus y por
tanto no hay cortocircuitos, ni
fatiga trmica. Para que el dato
entre al bus tenemos la seal Zread que controla el buffer triestado conectado al bus. Una vez que ha llegado al bus
llega a la ALU, que con la correspondiente seal de Z3 deja pasar el dato hasta llegar al acumulador ACC. Una vez
se ha guardado el dato en el acumulador se procede a mandar otro dato por el bus, controlado por su
correspondiente seal de control Z1j. As llega a la ALU y con la correspondiente seal de control Z3 realiza la
operacin que vuelve al bus con el permiso del buffer de la ALU y la seal Zalu. Una vez hecho esto, se nos
pueden dar 2 casos: guardar el dato o mandarlo al exterior. Para guardarlo viaja por el bus y llega a la memoria, con
la seal z1 controlamos donde se guarda y con la seal Zwrite se le dice a la memoria que debe escribirse. Para
salir debe habilitarse la seal ZOUT que hace que el buffer triestado deje salir los datos. De la misma manera
tenemos un buffer que controla la entrada con la seal ZIN. Tambin podemos mandar seales a la Unidad de
control como el resultado es 0, operacin completada,, a la Unidad de Control usamos el biestable RUC. Esta
seal se llama flag del microprocesador. Esta es la estructura del Intel 8051.

8- Unidad de proceso secuenciada de 2 buses
Para esta unidad de proceso tenemos 2 soluciones la primera es slo con buffers triestado y la segunda con
multiplexores.
Para la unidad de proceso secuenciada de 2
buses con buffers triestado la arquitectura es la
siguiente. Los datos estaran en los registros. Para
salir al bus 1 se debe habilitar la seal Z1i, que
hace que el buffer triestado deje pasar el dato al
bus. De esta manera llega al registro ACC y se
queda en l. En el siguiente ciclo de reloj, de
nuevo un buffer deja pasar el dato y llega a la
ALU y lo procesa segn le ordene la seal Z3.
Una vez procesado el dato entra en el bus 2. Como todos los biestables estn conectados al bus 2, los multiplexores
antes de los registros regulan a que registro entra el dato, puesto que una opcin del biestable es realimentarse con
el dato que tiene guardado y la otra es dejar pasar el dato que est en el bus y por lo tanto guardar el dato. El bus 1
se conecta con el exterior mediante el buffer gobernado por la seal ZOUT, que deja salir el dato de la Unidad de
Proceso o no. El bus 2 se conecta con el exterior mediante el buffer gobernado por la seal ZIN, que dejan entrar el
dato a la Unidad de Proceso o no.
Para la Unidad de proceso con 2 buses con
multiplexores la arquitectura y funcionamiento es el
siguiente. El dato se encuentra en el biestable i. Para
controlar a que bus lo mandamos tenemos las
seales Z1i, que hace que entre al bus 1 y la seal
Z2i, que hace que entre al bus 2. De esta forma
podemos mandar 2 datos por diferentes buses a la
ALU, pudiendo ser el mismo. Una vez en la ALU se
procesa y en el siguiente ciclo de reloj quedan
guardados en el registro ACC. Una vez el dato est en este registro, se puede mandar a cualquiera de los 2 buses
mediantes los buffers triestado gobernados por Zalu1, que lo manda por el bus 1 y Zalu2, que manda el dato por el
bus 2. Una vez est en un bus, con el multiplexor gobernado por la seal Z4i, el dato se toma de un buffer u otro.
Una vez seleccionado el buffer de donde se toma el dato, pasa a otro multiplexor gobernado por la seal Zreadi que
deja entrar el dato en el biestable o mantiene su valor realimentndose. Esta opcin permite el multiproceso.
De esta manera la Unidad de proceso necesita 2 ciclos de reloj para operar.
1- ACC=Ri OP Rj, 2- RK=ACC , (3- ACC=ACC OP Rl)

8.5- Arquitecturas VLIW
Son arquitecturas especiales
para Very Long Instruction Word, las
palabras de instruccion dicen a qu
registros debe acceder, qu hacer y
ms cosas. Lo normal es en una
instruccin es Ri=Rj OP Rk, pero en
las VLIW las instrucciones suelen ser
R1=R2xR3, R4=R6+R10,
R5=mem(R5++), hasta 128 bits por
instruccin, de esta forma se permiten
muchas operaciones simultneas.

9- Explicar la estructura y forma de funcionar del secuenciador bsico (sin
subrutinas) en la Unidad de Control
Una unidad de control especfica en una PLA tiene como cometidos:
-Generar seales de control Zi
-Decidir el estado siguiente
-Emitir salidas de control.
-Identificar el estado actual
-Actuar segn las entradas de control.
-Actuar segn el estado, los resultados, las condiciones.
En un secuenciador bsico eliminamos varios de los cometidos y nos quedamos con:
Generar las seales de control y decidir el estado siguiente
Actuar segn las condiciones, saltos condicionales a direcciones
En este caso no hay que decidir el siguiente estado por que van todos seguidos a no ser que haya alguna
condicin de salto. Tampoco acta segn las seales de control porque solo las ve cuando toca, no en un ciclo de
reloj.
El primer paso es compartir los bits dedicados a estado siguiente y operaciones. No vamos a tener un registro
de estado si no de direccin, porque ya no existen estados, sustituimos estado por direccin, de esta forma la
direccin identifica de forma nica el estado. Cambiamos tambin el registro de estado por un contador de
programa. El programa es una secuencia de instrucciones y las instrucciones son un conjunto de operaciones
indivisible que puede realizar el circuito. El programa est escrito a nivel bajo de 0 y 1.Cambiamos tambin el
decodificador de situacin ( estoy en el estado, con la condicin, seal de control) por un decodificador de
direcciones. Y por ltimo cambiamos la PLA por una memoria. De esta forma con una memoria y un contador con
precarga hacemos un secuenciador bsico.
El hecho de compartir los bits de estado y operacin implica que las instrucciones sern de 3 tipos:
Instrucciones, hacer operaciones EXE (PC=PC+1)
Saltos, saltar direcciones en el secuenciador, GOTO, di donde saltas (PC=direccin)
Saltos condicionales: JP <condicin, direccin> si cumple PC=dir1, si no PC=dir2.

You might also like