Cartas ASM • Descripción gráfica del desarrollo de instrucciones en microoperaciones • Grafo orientado y cerrado cuyos n
Views 210 Downloads 17 File size 160KB
Cartas ASM • Descripción gráfica del desarrollo de instrucciones en microoperaciones • Grafo orientado y cerrado cuyos nodos son bloques ASM • Un bloque ASM es similar a un estado en un circuito secuencial síncrono: todas las acciones asociadas a un bloque ASM tienen lugar en el mismo ciclo de reloj • Un bloque ASM puede estar formado por tres tipos de elementos (gráficos): • Una caja de estado • Cajas de decisión • Cajas de acción condicional
Cartas ASM: cajas de estado • Hay una y sólo una en cada bloque ASM • Especifica las acciones incondicionales del bloque ASM (aquellas que se activan siempre que se ejecuta el bloque) • Las acciones son transferencias entre registros ≡ activación de señales de control Camino de entrada código
S
Acciones
identificador
Transferencias entre registros, p.e: B ← A Señales de control activas, p.e: RA, WB
Camino de salida
1
Cartas ASM: cajas de decisión • Puede haber varias en un mismo bloque, o ninguna • Permiten especificar bifurcaciones dentro del bloque ASM • Están caracterizadas por una condición sobre • las entradas de control externas del sistema • las salidas de control de la unidad de datos Camino de entrada
0
1
Expr. lóg.
Condición 00...0
11...1
Variables
Caminos de salida
Cartas ASM: ejemplos de cajas de decisión
0
1
X1+X0
B
A
0 00
1-
X1 X0 -1
A
0
X0
1
X1
1
B A
B
Son equivalentes entre sí
2
Cartas ASM: cajas de acción condicional • Puede haber varias en un mismo bloque, o ninguna • Especifica las acciones condicionales del bloque ASM (aquellas que se activan siempre que se ejecuta el bloque y además se cumpla una condición) • Por tanto, van siempre asociadas a las cajas de decisión • Las acciones son transferencias entre registros ≡ activación de señales de control Camino de entrada Transferencias entre registros, p.e: B ← A
Acciones
Señales de control activas, p.e: RA, WB
Camino de salida
Cartas ASM: bloque ASM • El bloque ASM está caracterizado por la caja de estado • El camino de entrada al bloque siempre va a la caja de estado • Los demás elementos (cajas de decisión y acción condicional) son opcionales, pueden aparecer en cualquier número
Un bloque ASM se ejecuta en 1 ciclo de reloj
Camino de entrada código Acciones incondicionales
S 0
condición0
1
Acciones condic. 0
condición1
1
Acciones condic.
Camino de salida
Camino de salida
3
Cartas ASM: relación con las diagramas de estados Diagrama de estados
Carta ASM
Combinaciones de entrada
Condiciones en cajas de decisión
Salidas
Acciones
- tipo Moore [=f(estado)] - tipo Mealy [=f(estado, entradas)]
Estados
- en cajas de estado - en cajas de acción condicional
Bloque ASM
- actual - siguiente
- actual - bloque apuntado por el camino de salida habilitado 0/11
x/z1z2
z2
B 1 1/01
C
x
C
B 0 z1
Cartas ASM: estructura típica
0
Xs
Bloque ASM de espera a la activación de la señal de comienzo (Xs)
1 Camino de entrada código Acciones incondicionales
S 0
1
condición0
Acciones condic. 0
condición1
1
Acciones condic. Camino de entrada
Camino de salida
código
Camino de salida
Acciones incondicionales
S 0
condición0
1
Bloques ASM resultantes de traducir las instrucciones del sistema a microoperaciones
Acciones condic. 0
condición1
1
Acciones condic.
Camino de salida
FIN
Camino de salida
Bloque ASM de activación de la señal de fin de ejecución (FIN)
4
0
Cartas ASM: ejemplo calculadora
0
Xs 1
Instrucción
µops
B ← A+ B IR2-0 = 001
A← A-B IR2-0 = 010
AC ← 0, RT ← A
2
RT ← B, AC ← AC + RT
3
Instrucción
AC ← AC + RT A ← AC
B ← AC
A ← AC
B ← AC
A← -A+B IR2-0 = 100
B←-A+B IR2-0 = 101
A← -A-B IR2-0 = 110
B←-A-B IR2-0 = 111
AC ← 0, RT ← A
2
RT ← B, AC ← AC - RT
4
AC ← AC + RT A ← AC
RT←B
A ← AC
IR2
AC←AC+ RT
0
1 clk
AC←AC+ RT
1
AC←AC-RT
4
B ← AC
Carta ASM de procesado las acciones se expresan como transferencias entre registros
0
Cartas ASM: ejemplo calculadora (2)
AC←AC-RT
IR1
0
IR0
A←AC
F
1
B←AC
(FIN)
0
0
Carta ASM de procesado
Xs 1
1
AC←0,RT←A
2
RT←B
0
IR2
AC←AC+ RT
las acciones se expresan como transferencias entre registros
0
1 ZA C,WT,RA
2
WAC,WT,RB
0
AC←AC-RT
IR1
AC←AC+ RT
1
0
IR0
A←AC
1
B←AC
(FIN)
1
r
WAC
0
AC←AC-RT
4
IR2
s
3
0
Xs
1
1
3
F
1
3
AC ← AC - RT
B ← AC
2
1 clk
AC ← AC - RT
1 3
B← A-B IR2-0 = 011
AC←0,RT←A
0
1
4
µops
A←A+B IR2-0 = 000
1
IR1
1
s
Carta ASM de control las acciones se expresan como activación de señales de control
r
4
RAC
0
IR0
WA
F
1
WB
FIN
5
Cartas ASM: errores comunes Indeterminación del siguiente estado: A A 0 B
1
x
0
1
y
C B
C
D
Lazos sin cajas de estado: A
A
0
0
1
x
1
x
B
B
z0
Cartas ASM: errores comunes (2) Caminos imposibles A A
0
x
1 0 0
y
1
xy
1 z0
z0 1 0
x
x+y
0
1 B
B
6
Cartas ASM: consideraciones temporales Un bloque ASM se ejecuta en 1 ciclo de reloj
A
C0
1
A 0 z0
1
C0
C1
0
1
0 z0
C2
1
0 z1
C2
=
1
0
z2
z2
C1 B
1
0 z1
B
Cartas ASM: consideraciones temporales (2) X Sk
RA RA
M←A
A
WM
0
Control WN WM
X
1
WN M
N
N←A
clk
Sk+1 clk Sk-1
Sk
Sk+1
X RA, WM WN A
A0
A0
A0
M
M0
M0
A0
N
N0
N0
A0
7