Ruta de datos de MaNoTaS
Lac
RT LRT
LDA dir
Sdir2-1 00 L
Lri LPc
00
LDirL
00
LDirH
02
LAc
ZZ
Fase
B y P I. S. Deco Fase
Ejecución clk
Bus Dir PC PC+1
Bus Dat CO dirL dirH M(H&L)
PC+1
Problema 2
1. Disponemos del procesador MaNoTaS, y queremos que se pueda ejecutar la instrucción ldaXP, definida como:
Primero: A ß M(D&E);
Segundo: Eß E+1;
se pide:
a) Fases de la instrucción, mediante lenguaje de transferencia entre registros. (0,75ptos)
b) Cronograma, con el menor número posible de periodos, de la instrucción (1,5 ptos)
c) Si la frecuencia del reloj es de 2,5GHz. Calcular en ps (picosegundos),
cuanto tiempo tarda en ejecutarse la instrucción. (0,25ptos)
Ruta de datos de MaNoTaS
LRT
Lac
Problema 2 (1/7)
Sdir[2-1] 0 xx xx xx 2
Selreg[1-0]
ALU[3-0]
L Lri
xx 3
Sreg LdirL
2
LdirH
xx
Lac
xx Reloj
LRT
xx xx xx xx xx Inc RT
Salu
3
Lreg Lpc
LdaXP
1. A ß M(D&E);
2. Eß E+1;
LRT
Lac
Problema 2 (2/7)
Sdir[2-1] 0 xx xx xx 2
Selreg[1-0]
ALU[3-0]
L Lri
xx 3
Sreg LdirL
2
LdirH
xx
Lac
xx Reloj
LRT
xx xx xx xx xx Inc RT
Salu
3
Lreg Lpc
LRT
Lac
LdaXP
1. A ß M(D&E);
2. Eß E+1;
Problema 2 (3/7)
Sdir[2-1] 0 xx xx xx 2
Selreg[1-0]
ALU[3-0]
L Lri
xx 3
Sreg LdirL
2
LdirH
xx
Lac
xx Reloj
LRT
xx xx xx xx xx Inc RT
Salu
3
Lreg Lpc
LRT
Lac
LdaXP
1. A ß M(D&E);
2. Eß E+1;
Problema 2 (4/7)
Sdir[2-1] 0 xx xx xx 2
Selreg[1-0]
ALU[3-0]
L Lri
xx 3
Sreg LdirL
2
LdirH
xx
Lac
xx Reloj
LRT
xx xx xx xx xx Inc RT
Salu
3
Lreg Lpc
LRT
Lac
LdaXP
1. A ß M(D&E);
2. Eß E+1;
Problema 2 (5/7)
Sdir[2-1] 0 xx xx xx 2
Selreg[1-0]
ALU[3-0]
L Lri
xx 3
Sreg LdirL
2
LdirH
xx
Lac
xx Reloj
LRT
xx xx xx xx xx Inc RT
Salu
3
Lreg Lpc
LRT
Lac
LdaXP
1. A ß M(D&E);
2. Eß E+1;
Problema 2 (6/7)
Sdir[2-1] 0 xx xx xx 2
Selreg[1-0]
ALU[3-0]
L Lri
xx 3
Sreg LdirL
2
LdirH
xx
Lac
xx Reloj
LRT
xx xx xx xx xx Inc RT
Salu
3
Lreg Lpc
LRT
Lac
LdaXP
1. A ß M(D&E);
2. Eß E+1;
Problema 2 (7/7)
Sdir[2-1] 0 xx xx xx 2
Selreg[1-0]
ALU[3-0]
L Lri
xx 3
Sreg LdirL
2
LdirH
xx
Lac
xx Reloj
LRT
xx xx xx xx xx Inc RT
Salu
3
Lreg Lpc
La frecuencia de trabajo es de 2,5GHz, es decir, el periodo
f ns
T 0 , 4
10
· 5 , 2
1 1
9 =
=
=
ps ns
ns
T 6 · 0 , 4 2 , 4 2400
6 = = =
Como la instrucción ocupa 6T, tenemos que su duración será
LdaXP
1. A ß M(D&E);
2. Eß E+1;
Problema 3
Call dir;
M(SP) ß PCL; SP ßSP+1 M(SP) ß PCH; SP ßSP+1 PC ß dir
Realizar el cronograma de la instrucción Call dir de MaNoTaS definida como:
Responder a la siguiente pregunta: ¿Cómo se soluciona el problema de
cargar en el PC la dirección (dir) incrementada en una unidad?
Problema 3
Sdir1-2 00 xx
L LRi
IPc LDirL LDirH LPC
E ISP HPC
D E C O D I F I C A
00 00 01 01 10
Implica tener +1 en el PC
¿Cómo se soluciona?
Problema 3
Sdir1-2 00 xx
L LRi
IPc LDirL LDirH LPC
E ISP HPC
D E C O D I F I C A
00 00 01 01 10
Implica tener +1 en el PC
¿Cómo se soluciona?
Problema 3
Sdir1-2 00 xx
L LRi
IPc LDirL LDirH LPC
E ISP HPC
D E C O D I F I C A
00 00 01 01 10
Implica tener +1 en el PC
¿Cómo se soluciona?
Problema 3
Sdir1-2 00 xx
L LRi
IPc LDirL LDirH LPC
E ISP HPC
D E C O D I F I C A
00 00 01 01 10
Implica tener +1 en el PC
¿Cómo se soluciona?
Problema 3
Sdir1-2 00 xx
L LRi
IPc LDirL LDirH LPC
E ISP HPC
D E C O D I F I C A
00 00 01 01 10
Implica tener +1 en el PC
¿Cómo se soluciona?
Problema 3
Sdir1-2 00 xx
L LRi
IPc LDirL LDirH LPC
E ISP HPC
D E C O D I F I C A
00 00 01 01 10
Implica tener +1 en el PC
¿Cómo se soluciona?
Problema 3
Sdir1-2 00 xx
L LRi
IPc LDirL LDirH LPC
E ISP HPC
D E C O D I F I C A
00 00 01 01 10
I mplica tener +1
en el PC ¿Cómo
se soluciona?
Problema 4
Ruta de datos del SuperAbacus.
Esta ruta de datos posee un banco de registros de uso general, que pueden ser utilizados como registros aritméticos, o dependiendo de las condiciones de direccionamiento como registros base o de índice. Todos los cálculos se realizan en un operador, que a la vez actúa como unidad aritmético - lógica y como unidad de cálculo de direcciones. Como SuperAbacus no tiene PC, se le asigna al registro R0 el que tiene que hacer estas funciones, cuyo incremento se realizará a través del operador.
El tiempo de lectura y escritura en memoria es de un periodo de reloj.
NOTAS:
En las instrucciones STORE, LOAD,ADD, SUS, Rn representa cualquiera de los registros R2 a R15 En la instrucción MOVE, Rn y Rm , representan cualquiera de los registros R2 a R15
Que el Código de Operación de la instrucción debe incluir el registro que se referencia El tiempo de acceso a la memoria es de 50ns.
Considerar todas la señales de carga de un registro por flanco de subida, y las de salida a un bus o los ciclos de L/E de nivel.
Las señales de control más significativas son:
NOP: Permite la transferencia de la información entre una de las entradas de la unidad y la salida (NOP1 y NOP2).
INCR: Transferencia desde una de las dos entradas, con incremento en 1, de la información (INC1 y INC2).
SUM: Suma de los datos presentes en las entradas (SUM12), o de un dato de una de las entradas con el contenido del acumulador (SUM1 y SUM2).
SUS: Resta de los datos de las entrada 2 y 1.
CMP: Complemento de los datos de una de las dos entradas (CMP1 y CMP2).
Calcular:
Cronograma de todas las instrucciones.
Grafo de estados mínimo Tabla del estado siguiente.
Tabla de las funciones de salida.
Contenido de la memoria para la instrucción STORE R1. Si su código de operación es 00h
SR0
SR15
LR0
LR15
LAC
2
AC
1
SR
SAC LRD
MEMORIA L
E
CO DIR
Sdir
LRI
RDAT SD
SDAT LDAT
EA1 EA2
SRT
Super Ábacus
STORE R,dir ; M(dir) ← R LOAD R,dir ; R ← M(dir) MOVE R
n,R
m; R
m← R
nADD R
,dir ;R ←R+M(dir) SUS R
,dir ;R ←R-M(dir)
R
D
Problema 4
STORE Rn, dir ; M(DIR) ← Rn B. Y P. INSTRU. SIGUIENTE
RD ← R0 ; SR0, SR, LRD RDAT ← M(RD) ; L
RI ← RDAT ; SDAT, LRI
PC ← PC + 1 ; SR0, EA2, INC2, LAC ;LR0
EJECUCIÓN
RD ← DIR ; SDIR, LRD
RDAT ← Rn ; SRn, SRT, LDAT
M(RD) ← RDAT ; E
SR0 SR LRD
L SDAT
LRI EA2 INC2
LAC LR0
B y P.I. DEC
SDIR SR
nSRT LDAT
E
EJECC
Cronogramas de LDAX’s
Lac
RT LRT