1 Profesor Leopoldo Silva Bijit 19-11-2008 Capítulo 13. Diseño de un procesador multiciclo. 13.1 Reutilización de los recursos y tiempos de ejecución de acuerdo a la instrucción. En el modelo del procesador monociclo el período del reloj se ajusta con la ruta crítica combinacional, que es la establecida por la instrucción más lenta en completar sus transferencias. En el ejemplo que se desarrolla, la instrucción load word fija el período del reloj. Sin embargo debe tenerse en cuenta que el funcionamiento de la memoria se ha simplificado, ya que es posible que ésta no pueda efectuar sus funciones en un ciclo tan corto, como se verá más adelante; si lo que se desea leer no está en la memoria caché, debe buscarse en la caché secundaria, lo cual puede tomar dos a tres veces el tiempo que se emplea al operar con la caché primaria. Y si se produce un fallo de la secundaria, debe accesarse a la memoria principal, lo que tiene un costo de 20 a 50 ciclos. También si existen instrucciones que demoren demasiado tiempo (las de punto flotante, por ejemplo), la frecuencia del reloj debe ajustarse al tiempo de ejecución de la que más tarda en realizarse. Por otra parte los recursos pueden emplearse sólo una vez por cada ciclo de reloj, lo que lleva a duplicar algunas unidades funcionales (por ejemplo: sumadores, memoria). Estas razones conducen a pensar en permitir que las instrucciones puedan ser realizadas con varios ciclos de reloj; dependiendo de la complejidad de éstas, algunas podrán ser realizadas en pocos ciclos, otras necesitarán más ciclos. Es decir, aquéllas que terminan sus transferencias en menos tiempo, ocuparán menos ciclos de reloj (y se realizan en menos tiempo). Lo anterior permite que las instrucciones tengan tiempos de ejecución diferentes, ya que emplean diferente número de ciclos de reloj; y también permite realizar diseños de menor costo, al posibilitar el compartir los recursos y reutilizarlos durante la ejecución de una instrucción. Un recurso puede ser empleado más de una vez en la realización de una instrucción, siempre que se use en diferentes ciclos del reloj. En el modelo multiciclo que se describe, cada paso o etapa de ejecución debe emplear un ciclo de reloj.
54
Embed
Diseño de un procesador multiciclo. - elo.utfsm.cllsb/elo311/clases/c13.pdf · BEQ no ocupa las etapas de Memoria de Datos ni escritura en arreglo de Registros. Notar que en el primer
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
1
Profesor Leopoldo Silva Bijit 19-11-2008
Capítulo 13.
Diseño de un procesador multiciclo.
13.1 Reutilización de los recursos y tiempos de ejecución de acuerdo a la
instrucción.
En el modelo del procesador monociclo el período del reloj se ajusta con la ruta crítica
combinacional, que es la establecida por la instrucción más lenta en completar sus
transferencias. En el ejemplo que se desarrolla, la instrucción load word fija el período del
reloj.
Sin embargo debe tenerse en cuenta que el funcionamiento de la memoria se ha simplificado, ya
que es posible que ésta no pueda efectuar sus funciones en un ciclo tan corto, como se verá más
adelante; si lo que se desea leer no está en la memoria caché, debe buscarse en la caché
secundaria, lo cual puede tomar dos a tres veces el tiempo que se emplea al operar con la caché
primaria. Y si se produce un fallo de la secundaria, debe accesarse a la memoria principal, lo
que tiene un costo de 20 a 50 ciclos. También si existen instrucciones que demoren demasiado
tiempo (las de punto flotante, por ejemplo), la frecuencia del reloj debe ajustarse al tiempo de
ejecución de la que más tarda en realizarse.
Por otra parte los recursos pueden emplearse sólo una vez por cada ciclo de reloj, lo que lleva a
duplicar algunas unidades funcionales (por ejemplo: sumadores, memoria).
Estas razones conducen a pensar en permitir que las instrucciones puedan ser realizadas con
varios ciclos de reloj; dependiendo de la complejidad de éstas, algunas podrán ser realizadas en
pocos ciclos, otras necesitarán más ciclos. Es decir, aquéllas que terminan sus transferencias en
menos tiempo, ocuparán menos ciclos de reloj (y se realizan en menos tiempo).
Lo anterior permite que las instrucciones tengan tiempos de ejecución diferentes, ya que
emplean diferente número de ciclos de reloj; y también permite realizar diseños de menor costo,
al posibilitar el compartir los recursos y reutilizarlos durante la ejecución de una instrucción.
Un recurso puede ser empleado más de una vez en la realización de una instrucción, siempre
que se use en diferentes ciclos del reloj.
En el modelo multiciclo que se describe, cada paso o etapa de ejecución debe emplear un ciclo
de reloj.
2 Estructuras de Computadores Digitales
Profesor Leopoldo Silva Bijit 19-11-2008
13.2. Uso de registros para separar etapas.
Los datos que serán empleados por las siguientes instrucciones deben ser almacenados en
registros o en la memoria. Los datos que se emplearán en los siguientes ciclos del reloj, al
ejecutar una determinada instrucción deben ser almacenados en registros adicionales.
La ubicación de estos registros adicionales, dependerá de si el retardo de propagación de la
unidad permite ajustarse al período del reloj, y por otra parte de que el dato sea ocupado en los
próximos ciclos de ejecución de la misma instrucción.
También la necesidad de registros adicionales dependerá de si se desea compartir el recurso. Por
ejemplo si se desea tener sólo una memoria, tanto para datos como para instrucciones, se
requieren dos registros adicionales que capturen los datos leídos desde la memoria; uno para
guardar la instrucción, otro para registrar la lectura de la memoria en la instrucción load word.
Un esquema conceptual de la máquina monociclo, muestra una unidad combinacional con gran
retardo de propagación, ubicada entre dos unidades de almacenamiento (memoria o registros):
Figura 13.1. Esquema máquina monociclo.
Si se pudiera dividir la unidad combinacional, en dos partes que supondremos con iguales
tiempos de propagación, se tendrá el esquema siguiente:
Figura 13.2. División unidad combinacional.
Se realiza el mismo trabajo, que en el esquema anterior, pero en dos ciclos más rápidos en lugar
de uno más lento.
T1 = tr + tp + ts + tskew > = Tclk1
Reg A
Reg B
Tclk1
T2 = T1/2
Etapa A
Reg A
Reg B
Tclk2=Tclk1/2
T2 = T1/2
Etapa B
Reg
Adic
ional
B
Diseño procesador multiciclo 3
Profesor Leopoldo Silva Bijit 19-11-2008
Se agrega el tiempo de setup (ts) y de clock hasta la salida (tf), con respecto al caso anterior.
Pero en un mismo ciclo de reloj, pueden ocuparse simultáneamente ambas etapas, esto es lo que
permite compartir un recurso; ya que se lo puede usar en diferentes ciclos de ejecución de una
misma instrucción.
La ubicación de los registros que definen etapas o ciclos deben ser relativamente equilibrados,
ya que esto tiende a minimizar la duración del ciclo del reloj.
Ya vimos que en la especificación de las transferencias físicas del modelo monociclo, podían
agruparse las transferencias según la unidad en que se realizaban. Si lo que se desea es que cada
unidad opere en un ciclo de reloj, el análisis de las transferencias realizadas en cada unidad
permite identificar los registros adicionales necesarios.
Debe notarse que en el caso monociclo todas las transferencias, que están separadas en líneas, se
están ejecutando con la información fluyendo a través de las etapas (y no hay registros
intermedios) mediante la red de cables o buses(pero los cables no almacenan la información,
salvo mientras dure la propagación a través de éstos).
Se emplean los registros adicionales IR(registro de Instrucción), A y B (salidas de la Unidad de
Registros), S (salida de Unidad de Operaciones) y M (Registro con el dato leído de la memoria.
Memory Data Register). Estos registros se escriben en cada ciclo de reloj y no requieren control
adicional, excepto IR que requiere mantener la información para la unidad de registros, la de
ejecución y control. Sin embargo se han dibujado en el diagrama las señales de habilitación de
escritura de registros adicionales, y también se incorporan las señales que los controlan en las
secuencias correspondientes.
13.3. Etapas en la ejecución de instrucciones.
Entonces se tienen cinco etapas para la ejecución de instrucciones(no todas las intrucciones
emplean todas las etapas):
1. Búsqueda de la Instrucción. Lectura de Memoria de Instrucciones y cálculo de dirección de
próxima instrucción.
2. Decodificación de la Instrucción y lectura de registros.
3. Ejecución de operaciones con formato R y cálculo de la dirección efectiva de Memoria.
4. Lectura de Memoria de Datos o Escritura en Memoria de Datos.
5. Escritura en Registros.
Pueden rescribirse las transferencias empleadas en el diseño del procesador monociclo, pero
ahora cada línea representa un ciclo diferente de reloj. Por esta razón los grupos de micro
operaciones que se realizan juntas en un ciclo de reloj, se separan por comas y el grupo está
terminado en un punto y coma. El término de instrucción se marca con un punto.
El período del reloj debe ajustarse a la duración de la etapa más lenta, de este modo en un ciclo
de reloj pueden realizarse todas las acciones y transferencias de cada etapa.
La activación de las señales que controlan las transferencias deben efectuarse asociadas a
diferentes ciclos del reloj. Para lograr esto es preciso modelar la unidad de control como una
máquina secuencial de estados finitos.
4 Estructuras de Computadores Digitales
Profesor Leopoldo Silva Bijit 19-11-2008
En cada canto activo del reloj se pasa a un estado diferente (se captura el estado en los
registros), y en cada estado pueden activarse las señales de control que se requieran (salidas de
redes combinacionales alimentadas por los estados de los flip-flops de la unidad de control).
Es decir las salidas de esta máquina secuencial deben estar asociadas al estado (modelo de
Moore).
La ejecución de cada instrucción puede visualizarse como un recorrido en el diagrama de
estados; algunas instrucciones se ejecutarán pasando por pocos estados, otras tendrán recorridos
más largos.
El número de estados por los que pasa una instrucción son los ciclos de reloj que demora en
realizarse, y esto se mide en CPI (ciclos por instrucción).
Podría ajustarse el período del reloj de acuerdo al tiempo de la etapa más rápida. Esto implica
que el tiempo de las etapas será ahora un múltiplo de la etapa más rápida, lo cual aumenta el
número de estados de la unidad de control, y complica su diseño.
El siguiente diagrama muestra los registros que deben agregarse para ejecutar instrucciones con
un número diferente de ciclos de reloj. Se muestran las señales de control en cada etapa. Se ha
agregado el habilitamiento de escritura del registro de instrucción IR y de los registros
adicionales A, B, S y M.
Figura 13.3. Registros procesador multiciclo.
Unidad de Control
S
Unidad
Registros
rs
rt
busW
RegWr AluCtr
AluSrc
RegDst
rd
ExtOp
Inm16
Addr
Memoria
Datos
M
Din
MemRd
MemWr
0
1
MemtoReg
Unidad
de
Operaciones
nPC_sel
Unidad
de
Instrucción
COp+ Funct
Equal
Reloj
WEPC
IR
A
B
WEIR WEA
WEB WES WEM
2
Diseño procesador multiciclo 5
Profesor Leopoldo Silva Bijit 19-11-2008
Notar que la última etapa, la que escribe en los registros, hace fluir los datos hacia atrás. Por
esta razón se denomina a esta etapa post escritura (write-back).
13.4. Transferencias físicas.
A continuación se muestran las transferencias físicas para ejecutar las transferencias lógicas
que definen cada una de las instrucciones del repertorio.
Los grupos de micro operaciones que se realizan juntas en un ciclo de reloj, se separan por
comas y el grupo está terminado en un punto y coma. El término de instrucción se marca con un
punto.
ADD: R[rd] R[rs] + R[rt]; PC PC + 4
IR = MemInst[PC], PC = PC+4; Unidad Instrucción.
A=R[rs], B=R[rt]; Unidad Registros. Lectura.
S = add(A, B); Unidad Operaciones.
R[rd] = S. Unidad Registros. Escritura.
SUB: R[rd] R[rs] – R[rt]; PC PC + 4
IR = MemInst[PC], PC = PC+4; Unidad Instrucción.
A=R[rs], B=R[rt]; Unidad Registros. Lectura.
S = sub(A, B); Unidad Operaciones.
R[rd] = S. Unidad Registros. Escritura.
SLT: if( R[rs] < R[rt]) R[rd] = 1; else R[rd] =0; PC PC + 4
IR = MemInst[PC], PC = PC+4; Unidad Instrucción.
A=R[rs], B=R[rt]; Unidad Registros. Lectura.
S = slt(A, B); Unidad Operaciones.
R[rd] = S. Unidad Registros. Escritura.
ORI: R[rt] R[rs] + zero_ext(Inm16); PC PC + 4
IR = MemInst[PC], PC=PC+4; Unidad Instrucción.
A = R[rs]; Unidad Registros. Lectura.
S = or(A , zero_ext(Inm16) ); Unidad Operaciones.
R[rt] = S. Unidad Registros. Escritura.
Las tres instrucciones anteriores no emplean la etapa de memoria. El ORI no requiere escribir en
el registro B.
6 Estructuras de Computadores Digitales
Profesor Leopoldo Silva Bijit 19-11-2008
LOAD: R[rt] MEM[ R[rs] + sign_ext(Inm16)]; PC PC + 4
IR = MemInst[PC], PC=PC+4; Unidad Instrucción.
A = R[rs]; Unidad Registros. Lectura.
S = add( A , sign_ext(Inm16)); Unidad Operaciones.
M = MemDat[S]; Unidad Memoria Datos.
R[rt] = M. Unidad Registros. Escritura.
STORE: MEM[ R[rs] + sign_ext(Inm16)] R[rt]; PC PC + 4
IR=MemInst[PC], PC=PC+4; Unidad Instrucción.
A=R[rs], B=R[rt]; Unidad Registros. Lectura.
S = add( A, sign_ext(Inm16)); Unidad Operaciones.
MemDat[S] = B. Unidad Memoria Datos.
La instrucción STORE no utiliza el arreglo de registros para escritura. Están permanentemente
cableadas las conexiones del registro B en la entrada de datos Din de la memoria; y de la salida
S de la ALU, en el bus Add de direcciones de la memoria de datos.
BEQ: if ( R[rs] == R[rt] ) PC (PC +4) + sign_ext(Inm16)*4 else PC PC + 4
IR = MemInst[PC], PC=PC+4; Unidad Instrucción.
A = R[rs], B = R[rt]; Unidad Registros. Lectura.
if (Equal) Unidad Operaciones.
PC = PC + sign_ext(Inm16)*4. Unidad Instrucción.
BEQ no ocupa las etapas de Memoria de Datos ni escritura en arreglo de Registros. Notar que
en el primer ciclo se escribe en PC, la dirección de la próxima instrucción. En el tercer ciclo,
puede emplearse dicho valor para calcular la dirección de bifurcación relativa a PC, lo cual
permite compartir el sumador de la unidad de instrucción. Esto implica un cambio de la unidad
de instrucción, que se muestra más adelante.
J UMP: PC (PC +4)&0xF0000000+ add_26 *4
IR = MemInst[PC], PC=PC+4; Unidad Instrucción.
PC = (PC)&0xF0000000 + add_26 *4. Unidad Instrucción.
Se muestra la unidad de Instrucción modificada, se agrega un mux y se comparte el sumador,
empleándolo dos veces en la realización de las instrucciones beq y jump(pero en ciclos
diferentes de reloj):
La necesidad del registro IR, se debe a que durante el primer ciclo se calcula la dirección de la
próxima instrucción y se lo escribe en el registro PC. Al cambiar éste, cambia el bus de
direcciones de la memoria de instrucciones, esto requiere almacenar la instrucción para tener los
campos disponibles en el resto de la ejecución.
Diseño procesador multiciclo 7
Profesor Leopoldo Silva Bijit 19-11-2008
Figura 13.4. Unidad de Instrucción. Procesador multiciclo.
En caso de no escribir en PC hasta el término de la ejecución de la instrucción, se debe
mantener la estructura de la unidad de instrucciones (que requiere dos sumadores) del
procesador monociclo, y mantener las señales de control de la memoria de instrucciones en los
siguientes ciclos que requieran leer campos de la instrucción. De esta forma podría no
emplearse el registro IR.
Si se comparte la memoria para datos e instrucciones, el registro IR es indispensable, ya que las
instrucciones load word y store word, cambian el bus de direcciones de la memoria.
Si no se cambian los contenidos de rd, rs, y rt, no se requieren los registros A y B. Además esto
implica sostener los controles RegDst y RegWr en los ciclos en que se requiera mantener
estables los contenidos del busA y busB.
Sin embargo si A y B están presentes, se simplifica el diseño de la unidad de control; sólo es
necesario activar los habilitamientos de escritura de A y B en el segundo ciclo. No es necesario
activarlos en los ciclos que siguen, pues ya están registrados los contenidos de los buses A y B
en dichos registros.
Similar razonamiento puede emplearse para detectar la necesidad del registro S. Si la unidad de
operaciones no se utiliza con diferentes operandos en diferentes ciclos de la ejecución de una
misma instrucción (es decir si no se la comparte) no se requiere el registro S; pero esto implica
sostener las señales de control a esta unidad en ciclos subsecuentes que requieran una salida
estable de AluOut.
PC
SigExt*4
4
nPC_sel[0..1]
Addr
Memoria
Instruc-
ciones
Rd
"1"
Inm16
WEPC
Funct
COp
Rs
Rt
Rd
Inm16
PC[31..28]
0..1
add_26
0
1
IR
WEIR
0
1
8 Estructuras de Computadores Digitales
Profesor Leopoldo Silva Bijit 19-11-2008
13.5. Señales de control.
Se describen a continuación, las señales de control que activan las transferencias físicas.
El primer ciclo es común a todas las instrucciones. En él se lee la instrucción que se ejecutará y
se la almacena en IR, en PC se guarda la dirección de la próxima instrucción. A este ciclo se lo
denomina de búsqueda de instrucción (fetch). Después de este ciclo, los campos de la
instrucción quedan disponibles en las salidas de IR.
DISEÑO DE UN PROCESADOR MULTICICLO. ............................................................................. 1
13.1 REUTILIZACIÓN DE LOS RECURSOS Y TIEMPOS DE EJECUCIÓN DE ACUERDO A LA INSTRUCCIÓN. ...... 1 13.2. USO DE REGISTROS PARA SEPARAR ETAPAS................................................................................... 2 13.3. ETAPAS EN LA EJECUCIÓN DE INSTRUCCIONES. ............................................................................. 3 13.4. TRANSFERENCIAS FÍSICAS. ........................................................................................................... 5 13.5. SEÑALES DE CONTROL.................................................................................................................. 8 13.6. COMPORTAMIENTO DEL PROCESADOR MULTICICLO. ................................................................... 10 13.7. ALCANCES DE COMPARTIR RECURSOS. ........................................................................................ 11
13.8. DISEÑO DE LA UNIDAD DE CONTROL DEL PROCESADOR MULTICICLO. .......................................... 18 13.8.1. Diagrama de estados ......................................................................................................... 19 13.8.2. Control de Memorias Asincrónicas. ................................................................................... 20
13.9 EXCEPCIONES. (INTERRUPCIONES Y TRAPS) ................................................................................ 21 13.9.1. Tipos de Excepciones: ........................................................................................................ 22 13.9.2. Formas de accesar al manipulador de excepciones: ........................................................... 22 13.9.3. Formas de salvar el Estado. ............................................................................................... 22 13.9.4 Modos: User y Kernel. ....................................................................................................... 23 13.9.5. Registro de Estado. (STATUS) ........................................................................................... 23 13.9.6. Registro CAUSE. ............................................................................................................... 24 13.9.7. Instrucciones para el Coprocesador 0. ............................................................................... 24 13.9.8. Tratamiento de excepciones en la máquina de estados. ...................................................... 24 13.9.9. Código del manipulador de Excepciones de SPIM. ............................................................ 25
13.10 DISEÑO DE LA UNIDAD DE CONTROL DE UN PROCESADOR MULTICICLO. .................................... 28 13.10.1. Diseño clásico. ................................................................................................................. 28 13.10.2. Microprogramación. ........................................................................................................ 29
Ventajas de la microprogramación: .................................................................................................................... 32 Desventajas de la microprogramación: .............................................................................................................. 32 Microprogramación horizontal: .......................................................................................................................... 33 Microprogramación vertical: .............................................................................................................................. 33
13.10.3. Diseño del microprograma: ............................................................................................. 33 13.10.4. Microprogramación orientada a las señales de control. ................................................... 38 13.10.5. Lógica alambrada. ........................................................................................................... 46
13.11 RESUMEN DEL DISEÑO DEL CONTROL MULTICICLO. .................................................................. 49 13.12. PREPARACIÓN PARA SEGMENTACIÓN (PIPELINE). ...................................................................... 50 ÍNDICE GENERAL. ............................................................................................................................... 53 ÍNDICE DE FIGURAS. ............................................................................................................................ 54
54 Estructuras de Computadores Digitales
Profesor Leopoldo Silva Bijit 19-11-2008
Índice de figuras.
FIGURA 13.1. ESQUEMA MÁQUINA MONOCICLO. ........................................................................................ 2 FIGURA 13.2. DIVISIÓN UNIDAD COMBINACIONAL. ..................................................................................... 2 FIGURA 13.3. REGISTROS PROCESADOR MULTICICLO. ................................................................................. 4 FIGURA 13.4. UNIDAD DE INSTRUCCIÓN. PROCESADOR MULTICICLO. ......................................................... 7 FIGURA 13.5. UNIDAD DE INSTRUCCIÓN. SIN MEMORIA DE INSTRUCCIONES. ............................................ 12 FIGURA 13.6. PROCESADOR MULTICICLO. SE COMPARTE LA MEMORIA. .................................................... 13 FIGURA 13.7. UNIDAD DE INSTRUCCIÓN, PARA COMPARTIR LA UNIDAD ARTITMÉTICA. ............................ 14 FIGURA 13.8. UNIDAD DE OPERACIONES, PARA COMPARTIR LA ALU. ...................................................... 15 FIGURA 13.9. DIAGRAMA DE ESTADOS. .................................................................................................... 19 FIGURA 13.10. CONTROL ASINCRÓNICO DE MEMORIA DE INSTRUCCIÓN. ................................................... 20 FIGURA 13.11. DIAGRAMA DE ESTADOS. CICLOS DE ESPERA..................................................................... 20 FIGURA 13.12. SERVICIO EXCEPCIONES.................................................................................................... 21 FIGURA 13.13. DIAGRAMA DE ESTADOS, CON EXCEPCIONES. .................................................................... 25 FIGURA 13.14. MODELO DE MOORE. MÁQUINA DE ESTADOS. ................................................................... 28 FIGURA 13.15. MODELO DE MOORE. MATRIZ DE TRANSICIONES. ............................................................. 29 FIGURA 13.16. MICROPROGRAMA............................................................................................................ 30 FIGURA 13.17. MICROCONTROL. ............................................................................................................. 30 FIGURA 13.18. UNIDAD DE CONTROL MICROPROGRAMADA. ..................................................................... 30 FIGURA 13.19. UNIDAD DE CONTROL, MEDIANTE SECUENCIADOR............................................................. 32 FIGURA 13.20. DIAGRAMA DE ESTADOS. MICROPROGRAMA. .................................................................... 35 FIGURA 13.21. GENERACIÓN DE BUS OP. ................................................................................................. 36 FIGURA 13.22. TABLA DE DESPACHO 0. ................................................................................................... 36 FIGURA 13.23. TABLA DE DESPACHO 1. ................................................................................................... 36 FIGURA 13.24. CONTENIDOS DEL MICROPROGRAMA................................................................................. 37 FIGURA 13.25. UNIDAD DE INSTRUCCIÓN. ESCRITURA EN PC. .................................................................. 38 FIGURA 13.26. CAMINO DE DATOS MULTICICLO. TEXTO DE REFERENCIA. ................................................. 39 FIGURA 13.27. UNIDAD DE OPERACIONES. DIRECCIÓN DE SALTO. ESCRITURA EN PC. ............................... 40 FIGURA 13.28. MICROPROGRAMA............................................................................................................ 42 FIGURA 13.29. TABLA DE DESPACHO 1. ................................................................................................... 42 FIGURA 13.30. SEÑALES NO CODIFICADAS. .............................................................................................. 43 FIGURA 13.31. SEÑALES CODIFICADAS. ................................................................................................... 44 FIGURA 13.32. MICROPROGRAMA CON SEÑALES. ..................................................................................... 45 FIGURA 13.33. ESQUEMA LÓGICA ALAMBRADA. ...................................................................................... 46 FIGURA 13.34. SEÑALES DE CONTROL DEL CONTADOR. ............................................................................ 46 FIGURA 13.35. DIAGRAMA DE ESTADOS DE SECUENCIADOR. .................................................................... 47 FIGURA 13.36. TABLA DE TRANSICIONES. ................................................................................................ 48 FIGURA 13.37. TABLA DE DESPACHO. ...................................................................................................... 48 FIGURA 13.38. ESQUEMA SECUENCIADOR. ............................................................................................... 49 FIGURA 13.39. RELACIONES ENTRE MÉTODOS DE DISEÑO. ........................................................................ 50 FIGURA 13.40. ESTADOS ADICIONALES. ................................................................................................... 51 FIGURA 13.41. CONTROL PIPELINE. .......................................................................................................... 52