Escolar Documentos
Profissional Documentos
Cultura Documentos
Centro Tecnológico
Departamento de Informática e Estatística
Ciências da Computação & Engenharia Eletrônica
Sistemas Digitais
INE 5406
Professores:
Prof. José Luís Güntzel, Rafael Cancian e Ismael Seidel
{j.guntzel, rafael.cancian, ismael.seidel}@ufsc.br
O Processador MIPS Monociclo
Elementos de Memória com Capacidade de Escrita
26 28 D1 32
Somador1 Desl. Somador2 1M 32
à esq. U
2 bits
0M 32 X
U M5
32 PC+4[31-28] 32 05
X M4
+ S1 32 + S2 1
4
Desl.
4 Leitura assíncrona,
RegDst à esq. FontePC
DVI 2 bits D2
Escrita síncrona DvC
LerMem
MemParaReg
Controle ULAOp
EscMem
[31-26] ULAFonte
EscReg
ck Dado a ser
16 32 escrito
Exten-
são de Ctrl-
apenas leitura sinal ES ULA
cULA
(leitura assíncrona) [5-0] 6
INE/CTC/UFSC Sistemas Digitais - semestre 2023/1 Slide 9Tp1.2 Profs. Güntzel, Cancian & Seidel
O Processador MIPS Monociclo
Estimativa do Período do Relógio
Uma instrução por ciclo de relógio...
PC
T (=período do relógio)
n
MIPS monociclo
ck (componentes
combinacionais)
T >= D
INE/CTC/UFSC Sistemas Digitais - semestre 2023/1 Slide 9Tp1.3 Profs. Güntzel, Cancian & Seidel
O Processador MIPS Monociclo
Período do Relógio x Escritas em Elementos de Memória
Instruções tipo R e lw Instrução sw Instruções beq e j
PC PC PC
n n n
k k k
INE/CTC/UFSC Sistemas Digitais - semestre 2023/1 Slide 9Tp1.5 Profs. Güntzel, Cancian & Seidel
O Processador MIPS Monociclo
Tempo de Estabilização (TE) no Nível RT
O Caso do PC
ck= t0
* Toma-se a borda de relógio t0 como referência de tempo; logo, TE(sPC) = tco após t0.
T (=período do relógio)
t0
INE/CTC/UFSC Sistemas Digitais - semestre 2023/1 Slide 9Tp1.6 Profs. Güntzel, Cancian & Seidel
O Processador MIPS Monociclo
Tempo de Estabilização (TE) no Nível RT
Leitura da Memória de Instrução:
Leituras das Memórias são assíncronas
(e portanto, ocorrem de maneira similar
à operação de um bloco combinacional)
[31-26]
Instr
32
Endereço
Nas leituras de Mem_Instr:
PC 32 26
sPC Instrução TE(Instr) = TE(sPC) + tdLMEM
lida
ck Mem_Instr
INE/CTC/UFSC Sistemas Digitais - semestre 2023/1 Slide 9Tp1.7 Profs. Güntzel, Cancian & Seidel
O Processador MIPS Monociclo
Tempo de Estabilização (TE) no Nível RT
Elementos Combinacionais: o caso do Bloco de Controle
RegDst
DVI
DvC
LerMem
MemParaReg TE(qq sinal de controle) = TE(Instr) + tdcontrole
Controle ULAOp
EscMem
[31-26] ULAFonte
EscReg
Instr
32
PC Endereço
32 26
sPC Instrução
lida
INE/CTC/UFSC Sistemas Digitais - semestre 2023/1 Slide 9Tp1.8 Profs. Güntzel, Cancian & Seidel
O Processador MIPS Monociclo
Tempo de Estabilização (TE) no Nível RT
Demais Elementos Combinacionais (exceto muxes)
A B
4 4 TE(cULA) = max { TE(Instr) , TE(ULAOp) } + tdctrl-ULA
Cout cULA
+
6
4 3
S Instr. Ctrl-
ULA
(funct)
TE(S) = max { TE(A) , TE(B) } + tdsoma
2
TE(Cout) = max {TE(A) , TE(B)} + tdsoma
ULAOp
32
A
Zero
ULA 32 TE(Resultado) = max{ TE(A), TE(M2), TE(cULA) } + tdULA
M2
32 Resultado TE(Zero) = max{ TE(A), TE(M2), TE(cULA) } + tdULA
cULA
INE/CTC/UFSC Sistemas Digitais - semestre 2023/1 Slide 9Tp1.9 Profs. Güntzel, Cancian & Seidel
O Processador MIPS Monociclo
Tempo de Estabilização (TE) no Nível RT
Muxes (Caso Particular)
Obs: como a análise de timing será feita para cada tipo de instrução, pode-se determinar o
valor lógico de todos os sinais de controle, inclusive aqueles que controlam os muxes…
INE/CTC/UFSC Sistemas Digitais - semestre 2023/1 Slide 9Tp1.10 Profs. Güntzel, Cancian & Seidel
O Processador MIPS Monociclo
Tempo de Estabilização (TE) no Nível RT
Extensão de sinal e do Deslocador
32
Desl.
à esq.
RegDst 2 bits D2
DVI
DvC
LerMem
MemParaReg
Controle ULAOp
EscMem
[31-26] ULAFonte
EscReg
Instr
32
PC Endereço
32 26
sPC Instrução TE(ES) = TE(Instr) + tdfios = TE(Instr) + 0
lida
[15-0]
ck Mem_Instr
16 32
Exten-
são de
sinal ES
INE/CTC/UFSC Sistemas Digitais - semestre 2023/1 Slide 9Tp1.11 Profs. Güntzel, Cancian & Seidel
O Processador MIPS Monociclo
Tempo de Estabilização (TE) no Nível RT
Extensão de sinal e do Deslocador
32
Desl.
à esq.
RegDst 2 bits D2
DVI
DvC
LerMem
MemParaReg TE(D2) = TE(ES) + tdfios = TE(ES) + 0
Controle ULAOp
EscMem
[31-26] ULAFonte
EscReg
Instr
32
PC Endereço
32 26
sPC Instrução
lida
[15-0]
ck Mem_Instr
TE(ES) = TE(Instr) + tdfios = TE(Instr) + 0
16 32
Exten-
são de
sinal ES
INE/CTC/UFSC Sistemas Digitais - semestre 2023/1 Slide 9Tp1.12 Profs. Güntzel, Cancian & Seidel
O Processador MIPS Monociclo
Tempo de Estabilização (TE) no Nível RT
Leituras do Banco de Registradores: são assíncronas e portanto, ocorrem de maneira
similar à operação de um bloco combinacional
[31-26] ULAFonte
EscReg
ck
INE/CTC/UFSC Sistemas Digitais - semestre 2023/1 Slide 9Tp1.13 Profs. Güntzel, Cancian & Seidel
O Processador MIPS Monociclo
Tempo de Estabilização (TE) no Nível RT
Leituras da Memória de Dados: são assíncronas e portanto, ocorrem de maneira similar
à operação de um bloco combinacional
LerMem
Zero
ULA
Resultado Endereço Dado 1M
lido U M3
Mem_Dados X
3 ck 03
Dado a ser
escrito
INE/CTC/UFSC Sistemas Digitais - semestre 2023/1 Slide 9Tp1.14 Profs. Güntzel, Cancian & Seidel
O Processador MIPS Monociclo
Tempo de Estabilização (TE) no Nível RT
O Caso do sinal FontePC
Caso 1 Caso 2
FontePC FontePC
TE(DvC), 0 TE(DvC), 0
TE(Zero), 0 TE(Zero), 1
INE/CTC/UFSC Sistemas Digitais - semestre 2023/1 Slide 9Tp1.15 Profs. Güntzel, Cancian & Seidel
O Processador MIPS Monociclo
Análise de Timing por meio dos TEs
Para um exemplo concreto, assumamos os seguintes valores para as
características temporais dos componentes do MIPS monociclo:
Componente Característica Símbolo Valor [ps]
Memória de instruções tempo para leitura tdLMEM 300
Memória de dados tempo para leitura tdLMEM 300
Memória de dados tempo para escrita (setup) tdEMEM 300
Banco de Registradores tempo para leitura tdLREG 70
Banco de Registradores tempo para escrita (setup) tdEREG 70
ULA atraso para qualquer operação tdULA 60
Somador (qualquer) atraso tdsoma 20
Mux 2:1 (qualquer) atraso tdmux 2
PC tempo de setup tsu 5
PC tempo de carga tco 5
PC tempo de hold th desprezível (=0)
Deslocador, extensão de sinal, porta AND atraso tdfios desprezível (=0)
Controle atraso tdcontrole desprezível (=0)*
Controle da ULA atraso tdctrlULA desprezível (=0)*
* isto significa que o atraso para gerar qualquer sinal de controle é zero
INE/CTC/UFSC Sistemas Digitais - semestre 2023/1 Slide 9Tp1.16 Profs. Güntzel, Cancian & Seidel
O Processador MIPS Monociclo
Início da Execução de Qualquer Instrução
26 28 D1 32
Somador1 Desl. Somador2 1M 32
à esq. U
2 bits
0M 32 X
U M5
32 PC+4[31-28] 32 05
X M4
+ S1 32 + S2 1
4
Desl.
4 RegDst à esq. FontePC
DVI 2 bits D2
DvC
LerMem
MemParaReg
Controle ULAOp
EscMem
[31-26] ULAFonte
EscReg
ck Dado a ser
16 32 escrito
Exten-
são de Ctrl-
T (=período do relógio) sinal ES ULA
6 cULA
[5-0]
2
t0
INE/CTC/UFSC Sistemas Digitais - semestre 2023/1 Slide 9Tp1.17 Profs. Güntzel, Cancian & Seidel
O Processador MIPS Monociclo
Início da Execução de Qualquer Instrução
26 28 D1 32
Somador1 Desl. Somador2 1M 32
à esq. U
2 bits
0M 32 X
U M5
32 PC+4[31-28] 32 05
X M4
+ S1 32 + S2 1
4
Desl.
4 RegDst à esq. FontePC
DVI 2 bits D2
DvC
LerMem
MemParaReg
Controle ULAOp
EscMem
[31-26] ULAFonte
TE (sPC) = tco EscReg
ck Dado a ser
16 32 escrito
Exten-
são de Ctrl-
T (=período do relógio) sinal ES ULA
6 cULA
[5-0]
2
t0
INE/CTC/UFSC Sistemas Digitais - semestre 2023/1 Slide 9Tp1.18 Profs. Güntzel, Cancian & Seidel
O Processador MIPS Monociclo
Início da Execução de Qualquer Instrução
26 28 D1 32
Somador1 Desl. Somador2 1M 32
à esq. U
2 bits
0M 32 X
U M5
32 PC+4[31-28] 32 05
X M4
+ S1 32 + S2 1
4
Desl.
4 RegDst à esq. FontePC
DVI 2 bits D2
DvC
A constante está LerMem
MemParaReg
aqui desde que Controle ULAOp
o MIPS foi EscMem
fabricado. [31-26] ULAFonte
Logo, seu TE=0 EscReg
ck Dado a ser
16 32 escrito
Exten-
são de Ctrl-
T (=período do relógio) sinal ES ULA
6 cULA
[5-0]
2
t0
INE/CTC/UFSC Sistemas Digitais - semestre 2023/1 Slide 9Tp1.19 Profs. Güntzel, Cancian & Seidel
O Processador MIPS Monociclo
Início da Execução de Qualquer Instrução
26 28 D1 32
Somador1 Desl. Somador2 1M 32
à esq. 25 25 U
25 0M 32 X
2 bits
U M5
32 PC+4[31-28] 32 05
25 X M4
+ S1 32 + S2 1
4
Desl.
4 TE(S1) = max { TE(sPC)
RegDst , 0 } + tdsoma
DVI
à esq.
2 bits D2
FontePC
DvC
A constante está LerMem
MemParaReg
aqui desde que Controle ULAOp
o MIPS foi EscMem
fabricado. [31-26] ULAFonte
Logo, seu TE=0 EscReg
ck Dado a ser
16 32 escrito
Exten-
são de Ctrl-
T (=período do relógio) sinal ES ULA
6 cULA
[5-0]
2
t0
INE/CTC/UFSC Sistemas Digitais - semestre 2023/1 Slide 9Tp1.20 Profs. Güntzel, Cancian & Seidel
O Processador MIPS Monociclo
Instrução Lida!!
26 28 D1 32
Somador1 Desl. Somador2 1M 32
à esq. 25 25 U
25 0M 32 X
2 bits
U M5
32 PC+4[31-28] 32 05
25 X M4
+ S1 32 + S2 1
4
Desl.
4 RegDst à esq. FontePC
DVI 2 bits D2
DvC
LerMem
MemParaReg
Controle ULAOp
EscMem
[31-26] ULAFonte
EscReg
ck Dado a ser
16 32 escrito
Exten-
são de 305 Ctrl-
sinal ES ULA
6 cULA
TE(Instr) = TE(sPC) + tdLMEM [5-0]
INE/CTC/UFSC Sistemas Digitais - semestre 2023/1 Slide 9Tp1.21 Profs. Güntzel, Cancian & Seidel
O Processador MIPS Monociclo
Instrução Lida!!
26 28 305 D1 32 305 32
Somador1 Desl. Somador2 1M
à esq. 25 25 U
25 0M 32 X
2 bits
U M5
32 PC+4[31-28] 32 05
25 X M4
+ S1 32 + S2 1
4
Desl.
4 TE(D1) = TE(Instr) + tdfios
RegDst à esq. FontePC
DVI 2 bits D2
DvC
LerMem
MemParaReg
Controle ULAOp
EscMem
[31-26] ULAFonte
EscReg
ck Dado a ser
16 32 escrito
Exten-
são de 305 Ctrl-
T (=período do relógio) sinal ES ULA
6 cULA
[5-0]
2
t0
INE/CTC/UFSC Sistemas Digitais - semestre 2023/1 Slide 9Tp1.22 Profs. Güntzel, Cancian & Seidel
O Processador MIPS Monociclo
Instrução Lida!!
26 28 305 D1 32 305 32
Somador1 Desl. Somador2 1M
à esq. 25 25 U
25 0M 32 X
2 bits
U M5
32 PC+4[31-28] 32 05
25 X M4
305
+ S1 32 + S2 1
4
Desl.
4 RegDst à esq. FontePC
DVI 2 bits D2
DvC
LerMem
Controle
MemParaReg
ULAOp
TE(D2) = TE(ES) + tdfios
EscMem
[31-26] ULAFonte
EscReg
ck Dado a ser
16 32 escrito
Exten-
são de 305 Ctrl-
T (=período do relógio) sinal ES ULA
6 cULA
[5-0]
2
t0
INE/CTC/UFSC Sistemas Digitais - semestre 2023/1 Slide 9Tp1.23 Profs. Güntzel, Cancian & Seidel
O Processador MIPS Monociclo
A Seguir, calculam-se os TEs dos Sinais de Controle
26 28 305 D1 32 305 32
Somador1 Desl. Somador2 1M
à esq. 25 25 U
25 0M 32 X
2 bits
U M5
32 PC+4[31-28] 32 05
25 X M4
305
+ S1 32 + S2 1
4
Desl.
4 RegDst à esq. FontePC
DVI 2 bits D2
DvC
LerMem
MemParaReg
Controle ULAOp
EscMem
[31-26] ULAFonte
EscReg
ck Dado a ser
16 32 escrito
Exten-
são de 305 Ctrl-
sinal ES ULA
6 cULA
[5-0]
INE/CTC/UFSC Sistemas Digitais - semestre 2023/1 Slide 9Tp1.24 Profs. Güntzel, Cancian & Seidel
O Processador MIPS Monociclo
TEs dos Sinais de Controle
RegDst
DVI
DvC
LerMem
MemParaReg
Controle ULAOp TE(qq sinal de controle) = TE(Instr) + tdcontrole
EscMem
[31-26] ULAFonte
EscReg
Instr
Então:
TE(qq sinal de controle) = TE(Instr) + tdcontrole = 305 + 0 = 305 ps
INE/CTC/UFSC Sistemas Digitais - semestre 2023/1 Slide 9Tp1.25 Profs. Güntzel, Cancian & Seidel
O Processador MIPS Monociclo
E o TE de cULA
cULA
6
Ctrl-
3
Instr.
ULA
(funct) TE(cULA) = max { TE(Instr) , TE(ULAOp) } + tdctrl-
ULA
2
ULAOp
Então:
TE(cULA) = max { TE(Instr), TE(ULAOp) } + tdctrl-ULA= max { 305, 305 } + 0 = 305 ps
INE/CTC/UFSC Sistemas Digitais - semestre 2023/1 Slide 9Tp1.26 Profs. Güntzel, Cancian & Seidel
O Processador MIPS Monociclo
A Partir Deste Ponto, Cada Instrução é Estudada em Separado
26 28 305 D1 32 305 32
Somador1 Desl. Somador2 1M
à esq. 25 25 U
25 0M 32 X
2 bits
U M5
32 PC+4[31-28] 32 05
25 X M4
305
+ S1 32 + S2 1
4
Desl.
4 RegDst à esq. FontePC
DVI 2 bits D2
DvC
LerMem
MemParaReg
Controle ULAOp
EscMem
[31-26] ULAFonte
EscReg
ck Dado a ser
16 32 escrito
Exten- 305
são de 305 Ctrl-
sinal ES ULA
6 cULA
[5-0]
INE/CTC/UFSC Sistemas Digitais - semestre 2023/1 Slide 9Tp1.27 Profs. Güntzel, Cancian & Seidel
O Processador MIPS Monociclo
Instruções formato R: add, sub, or, and
• opcode = 0
• “funct” define a operação a ser feita pela ALU
• “shamt” (shift amount) é usado em instruções de deslocamento
31 26 25 21 20 16 15 11 10 6 5 0
registradores-fonte registrador-destino
INE/CTC/UFSC Sistemas Digitais - semestre 2023/1 Slide 9Tp1.28 Profs. Güntzel, Cancian & Seidel
O Processador MIPS Monociclo
Execução de uma Instrução Tipo R
26 28 305 D1 32 305 32
Somador1 Desl. Somador2 1M
à esq. 25 25 U
25 0M 32 X
2 bits
U M5
32 PC+4[31-28] 32 05
25 X M4
305
+ S1 32 + S2 1
4
Desl.
4 RegDst à esq. FontePC
DVI 2 bits D2
DvC
LerMem
MemParaReg
Controle ULAOp
EscMem
[31-26] ULAFonte
EscReg
ck Dado a ser
16 32 escrito
Legenda Exten-
são de 305 Ctrl-
305,1 sinal ES ULA
6 cULA
[5-0]
TE, valor do sinal 2
INE/CTC/UFSC Sistemas Digitais - semestre 2023/1 Slide 9Tp1.29 Profs. Güntzel, Cancian & Seidel
O Processador MIPS Monociclo
Execução de uma Instrução Tipo R: sinais de controle
26 28 305 D1 32 305 32
Somador1 Desl. Somador2 1M
à esq. 25 25 U
25 0M 32 X
2 bits
U M5
32 PC+4[31-28] 32 05
25 X M4
305
+ S1 32 + S2 1
4
Desl.
4 à esq.
305, 0
RegDst FontePC
DVI 305, 0 2 bits D2 305, 0
DvC
LerMem
MemParaReg
Controle ULAOp
EscMem
[31-26] ULAFonte
EscReg
305, 1
5 [25-21] Reg a ser A
32 lido #1
Dado
Endereço [20-16] Reg a ser
PC 32 26 lido #1 Zero
sPC
lido #2
305, 0 305, 0 305, 0
Instrução 0M M1 Banco_Reg B ULA
U
lida Reg a ser 0M
305 [15-11] X
11 escrito Dado M2 Resultado Endereço Dado 1M
ck U lido U M3
t0 Mem_Instr Instr Dado de lido #2 305 X X
[15-0] 305,1 escrita 12
3 ck
Mem_Dados 03
305
ck Dado a ser
16 32 escrito
Legenda Exten-
são de 305 Ctrl-
305,1 sinal ES ULA 305, 0
6 cULA
[5-0]
TE, valor do sinal 305, 10 2
INE/CTC/UFSC Sistemas Digitais - semestre 2023/1 Slide 9Tp1.30 Profs. Güntzel, Cancian & Seidel
O Processador MIPS Monociclo
Execução de uma Instrução Tipo R
26 28 305 D1 32 305 32
Somador1 Desl. Somador2 1M
à esq. 25 25 U
25 0M 32 X
2 bits
U
307 M5
32 PC+4[31-28] 32 05
25 X M4
305
+ S1 32 + S2 1
4
Desl.
4 à esq.
305, 0
RegDst FontePC
DVI 305, 0 2 bits D2 305, 0
DvC
LerMem TE(M4) = max { TE(S1) , TE(FontePC) } + tdmux
MemParaReg
Controle ULAOp
EscMem
[31-26] ULAFonte
EscReg
305, 1
5 [25-21] Reg a ser A
32 lido #1
PC Endereço
32 26
[20-16] TE(M1) = max lido
{ TE(Instr)
Dado
Reg a ser#1 , TE(RegDst)
Zero } + tdmux
sPC
lido #2
305, 0 305, 0 305, 0
Instrução 0M M1 Banco_Reg B ULA
U
lida Reg a ser 0M
305 [15-11] X
1 1 307 escrito Dado M2 Resultado Endereço Dado 1M
ck U lido U M3
t0 Mem_Instr Instr Dado de lido #2 305 X X
[15-0] 305,1 escrita 12
3 ck
Mem_Dados 03
305
ck Dado a ser
16 32 escrito
Legenda Exten-
são de 305 Ctrl-
305,1 sinal ES ULA 305, 0
6 cULA
[5-0]
TE, valor do sinal 305, 10 2
INE/CTC/UFSC Sistemas Digitais - semestre 2023/1 Slide 9Tp1.31 Profs. Güntzel, Cancian & Seidel
O Processador MIPS Monociclo
Execução de uma Instrução Tipo R
26 28 305 D1 32 305 32
Somador1 Desl. Somador2 1M
à esq. 25 25 U
309
25 0M 32 X
2 bits
U
307 M5
32 PC+4[31-28] 32 05
25 X M4
305
+ S1 32 + S2 1
4
Desl.
4 à esq.
305, 0
RegDst FontePC
DVI 305, 0 2 bits D2 305, 0
DvC
LerMem TE(M5) = max { TE(M4) , TE(DVI) } + tdmux
MemParaReg
Controle ULAOp
EscMem
[31-26] ULAFonte
EscReg
305, 1
5 [25-21] Reg a ser A
32 lido #1
Dado
Endereço [20-16] Reg a ser
PC 32 26 lido #1 Zero
sPC
lido #2
305, 0 305, 0 305, 0
Instrução 0M M1 Banco_Reg B ULA
U
lida Reg a ser 0M
305 [15-11] X
1 1 307 escrito Dado M2 Resultado Endereço Dado 1M
ck U lido U M3
t0 Mem_Instr Instr Dado de lido #2 305 X X
[15-0] 305,1 escrita 12
3 ck
Mem_Dados 03
305
ck Dado a ser
16 32 escrito
Legenda Exten-
são de 305 Ctrl-
305,1 sinal ES ULA 305, 0
6 cULA
[5-0]
TE, valor do sinal 305, 10 2
INE/CTC/UFSC Sistemas Digitais - semestre 2023/1 Slide 9Tp1.32 Profs. Güntzel, Cancian & Seidel
O Processador MIPS Monociclo
Execução de uma Instrução Tipo R
26 28 305 D1 32 305 32
Somador1 Desl. Somador2 1M
à esq. 25 25 U
309
25 0M 32 X
2 bits
U
307 M5
32 PC+4[31-28] 32 05
25 X M4
305
+ S1 32 + S2 1
4
Desl.
4 à esq.
305, 0
RegDst FontePC
DVI 305, 0 2 bits D2 305, 0
DvC
LerMem TE(M5) = max { TE(M4) , TE(DVI) } + tdmux
MemParaReg
Controle ULAOp
EscMem
[31-26] ULAFonte
+ tsu
EscReg
do PC 305, 1
5 [25-21] Reg a ser A
32 lido #1
314 [20-16] Dado
PC Endereço Reg a ser lido #1 Zero
32 26 lido #2 305, 0
sPC Instrução 0M M1
305, 0 305, 0
U
Banco_Reg B ULA
lida Reg a ser 0M
305 [15-11] X
1 1 307 escrito Dado M2 Resultado Endereço Dado 1M
ck U lido U M3
t0 Mem_Instr Instr Dado de lido #2 305 X X
[15-0] 305,1 escrita 12
3 ck
Mem_Dados 03
305
ck Dado a ser
16 32 escrito
Legenda Exten-
são de 305 Ctrl-
305,1 sinal ES ULA 305, 0
6 cULA
[5-0]
TE, valor do sinal 305, 10 2
INE/CTC/UFSC Sistemas Digitais - semestre 2023/1 Slide 9Tp1.33 Profs. Güntzel, Cancian & Seidel
O Processador MIPS Monociclo
Execução de uma Instrução Tipo R
26 28 305 D1 32 305 32
Somador1 Desl. Somador2 1M
à esq. 25 25 U
309
25 0M 32 X
2 bits
U
307 M5
32 PC+4[31-28] 32 05
25 X M4
305
+ S1 32 + S2 1
4
Desl.
4 à esq.
305, 0
RegDst FontePC
DVI 305, 0 2 bits D2 305, 0
DvC
LerMem
MemParaReg
Controle ULAOp
EscMem
[31-26] ULAFonte
+ tsu
EscReg
do PC 305, 1
5 [25-21] Reg a ser A
32 lido #1
314 [20-16] Dado
PC Endereço Reg a ser lido #1 Zero
32 26 lido #2 305, 0
sPC Instrução 0M M1
305, 0 305, 0
U
Banco_Reg B ULA
lida Reg a ser 0M
305
Caminho #1 (Usado pelas instruções Tipo R):
[15-11] X M2 Resultado Endereço Dado 1M
1 1 307 escrito Dado U U M3
ck
t0 Mem_Instr Instr Dado de lido #2 305 X
lido
X
[15-0] 305,1 escrita 12
3 ck
Mem_Dados 03
305
PC(leit) à Mem_Instr
ck
32
à Controle Dado
à aMux4
escrito
ser à Mux5 à PC(esc)
16 Exten-
Legenda
são de 305
305,1 D(Caminho
sinal ES#1) = TE(M5)
Ctrl-
ULA = 0309 + 5 = 314 ps
+ tsu(PC)305,
6 cULA
[5-0]
TE, valor do sinal 305, 10 2
INE/CTC/UFSC Sistemas Digitais - semestre 2023/1 Slide 9Tp1.34 Profs. Güntzel, Cancian & Seidel
O Processador MIPS Monociclo
Execução de uma Instrução Tipo R
26 28 305 D1 32 305 32
Somador1 Desl. Somador2 1M
à esq. 25 25 U
309
25 0M 32 X
2 bits
U
307 M5
32 PC+4[31-28] 32 05
25 X M4
305
+ S1 32 + S2 1
4
Desl.
4 à esq.
305, 0
RegDst FontePC
DVI 305, 0 2 bits D2 305, 0
Reg a ser
INE/CTC/UFSC Sistemas Digitais - semestre 2023/1 Slide 9Tp1.35 Profs. Güntzel, Cancian & Seidel
O Processador MIPS Monociclo
Execução de uma Instrução Tipo R
26 28 305 D1 32 305 32
Somador1 Desl. Somador2 1M
à esq. 25 25 U
309
25 0M 32 X
2 bits
U
307 M5
32 PC+4[31-28] 32 05
25 325 X M4
305
+ S1 32 + S2 1
4
Desl.
4 à esq.
305, 0
RegDst FontePC
DVI 305, 0 2 bits D2 305, 0
DvC
LerMem Observe que
MemParaReg
Controle ULAOp TE(S2)>TE(M4)
EscMem
[31-26] ULAFonte
EscReg
305, 1
5 [25-21] Reg a ser A
32 lido #1
314 [20-16] Dado
PC Endereço Reg a ser lido #1 Zero
32 26 lido #2 305, 0
sPC Instrução 0M M1
305, 0 305, 0
U
Banco_Reg B ULA
lida Reg a ser 0M
305 [15-11] X
1 1 307 escrito Dado M2 Resultado Endereço Dado 1M
ck U lido U M3
t0 Mem_Instr Instr Dado de lido #2 305 X X
[15-0] 305,1 escrita 12
3 ck
Mem_Dados 03
305
ck Dado a ser
16 32 escrito
Legenda Exten-
são de 305 Ctrl-
305,1 sinal ES ULA 305, 0
6 cULA
[5-0]
TE, valor do sinal 305, 10 2
INE/CTC/UFSC Sistemas Digitais - semestre 2023/1 Slide 9Tp1.36 Profs. Güntzel, Cancian & Seidel
O Processador MIPS Monociclo
Execução de uma Instrução Tipo R
26 28 305 D1 32 305 32
Somador1 Desl. Somador2 1M
à esq. 25 25 U
309
25 0M 32 X
2 bits
U
307 M5
32 PC+4[31-28] 32 05
25 325 X M4
305
+ S1 32 + S2 1
4
Desl.
4 à esq.
305, 0
RegDst FontePC
DVI 305, 0 2 bits D2 305, 0
DvC
LerMem
MemParaReg
Controle ULAOp
EscMem
[31-26] ULAFonte Somente agora a
EscReg
305, 1
leitura dos dois
5 [25-21] Reg a ser
regs é concluída
375 A
32 lido #1
314 [20-16] Dado
PC Endereço Reg a ser lido #1 Zero
32 26
sPC Instrução 0M M1
lido #2
Banco_Reg 375 B TE(A)
305, 0 TE(B) = TE(Instr)305,
=ULA + td0
LREG305, 0
U
lida Reg a ser 0M
305 [15-11] X
1 1 307 escrito Dado M2 Resultado Endereço Dado 1M
ck U lido U M3
t0 Mem_Instr Instr Dado de lido #2 305 X X
[15-0] 305,1 escrita 12
3 ck
Mem_Dados 03
305
ck Dado a ser
16 32 escrito
Legenda Exten-
são de 305 Ctrl-
305,1 sinal ES ULA 305, 0
6 cULA
[5-0]
TE, valor do sinal 305, 10 2
INE/CTC/UFSC Sistemas Digitais - semestre 2023/1 Slide 9Tp1.37 Profs. Güntzel, Cancian & Seidel
O Processador MIPS Monociclo
Execução de uma Instrução Tipo R
26 28 305 D1 32 305 32
Somador1 Desl. Somador2 1M
à esq. 25 25 U
309
25 0M 32 X
2 bits
U
307 M5
32 PC+4[31-28] 32 05
25 325 X M4
305
+ S1 32 + S2 1
4
Desl.
4 à esq.
305, 0
RegDst FontePC
DVI 305, 0 2 bits D2 305, 0
DvC
LerMem
MemParaReg
Controle ULAOp
EscMem
[31-26] ULAFonte
EscReg
305, 1
5 [25-21] Reg a ser 375 A
32 lido #1
314 [20-16] Dado
PC Endereço Reg a ser lido #1 Zero
32 26 lido #2 305, 0
sPC Instrução 0M M1
305, 0 305, 0
U
Banco_Reg 375 B ULA
lida Reg a ser 0M
305 [15-11] X
1 1 307 escrito Dado M2 Resultado Endereço Dado 1M
ck U lido U M3
t0 Mem_Instr Instr Dado de lido #2 305 X 377 X
[15-0] 305,1 escrita 12
3 ck
Mem_Dados 03
305
ck Dado a ser
TE(M2) = max { TE(B) , TE(ULAFonte) } + tdmux
16 32 escrito
Legenda Exten-
são de 305 Ctrl-
305,1 sinal ES ULA 305, 0
6 cULA
[5-0]
TE, valor do sinal 305, 10 2
INE/CTC/UFSC Sistemas Digitais - semestre 2023/1 Slide 9Tp1.38 Profs. Güntzel, Cancian & Seidel
O Processador MIPS Monociclo
Execução de uma Instrução Tipo R
26 28 305 D1 32 305 32
Somador1 Desl. Somador2 1M
à esq. 25 25 U
309
25 0M 32 X
2 bits
U
307 M5
32 PC+4[31-28] 32 05
25 325 X M4
305
+ S1 32 + S2 1
4
Desl.
4 à esq.
305, 0
RegDst FontePC
DVI 305, 0 2 bits D2 305, 0
DvC
LerMem
MemParaReg
Controle ULAOp
EscMem
[31-26] ULAFonte TE(Resultado) = TE(zero) =
EscReg
305, 1 max { TE(A), TE(M2) , TE(cULA) } + tdULA
5 [25-21] Reg a ser 375 A
32 lido #1
314 [20-16] Dado 437
PC Endereço Reg a ser lido #1 Zero
32 26 lido #2 305, 0
sPC Instrução 0M M1
305, 0 305, 0
Banco_Reg 375 B ULA
lida U 437
Reg a ser 0M
305 [15-11] X
1 1 307 escrito Dado M2 Resultado Endereço Dado 1M
ck U lido U M3
t0 Mem_Instr Instr Dado de lido #2 305 X 377 437 X
[15-0] 305,1 escrita 12
3 ck
Mem_Dados 03
305
ck Dado a ser
16 32 escrito
Legenda Exten-
são de 305 Ctrl-
305,1 sinal ES ULA 305, 0
6 cULA
[5-0]
TE, valor do sinal 305, 10 2
INE/CTC/UFSC Sistemas Digitais - semestre 2023/1 Slide 9Tp1.39 Profs. Güntzel, Cancian & Seidel
O Processador MIPS Monociclo
Execução de uma Instrução Tipo R
26 28 305 D1 32 305 32
Somador1 Desl. Somador2 1M
à esq. 25 25 U
309
25 0M 32 X
2 bits
U
307 M5
32 PC+4[31-28] 32 05
25 325 X M4
305
+ S1 32 + S2 1
4
Desl.
4 à esq.
305, 0
RegDst FontePC
DVI 305, 0 2 bits D2 305, 0
DvC
LerMem
MemParaReg
Controle ULAOp
EscMem
[31-26] ULAFonte
EscReg
TE(M3)
305, 1 = max { TE(Resultado) , TE(MemParaReg) } + tdmux
5 [25-21] Reg a ser 375 A
32 lido #1
314 [20-16] Dado 437
PC Endereço Reg a ser lido #1 Zero
32 26 lido #2 305, 0
sPC Instrução 0M M1
305, 0 305, 0
Banco_Reg 375 B ULA
lida U 437
Reg a ser 0M
305 [15-11] X
1 1 307 escrito Dado M2 Resultado Endereço Dado 1M
ck U lido U M3
t0 Mem_Instr Instr Dado de lido #2 305 X 377 437 X
[15-0] 305,1 escrita 12
3 ck
Mem_Dados 03 439
305
439 ck Dado a ser
16 32 escrito
Legenda Exten-
são de 305 Ctrl-
305,1 sinal ES ULA 305, 0
6 cULA
[5-0]
TE, valor do sinal 305, 10 2
INE/CTC/UFSC Sistemas Digitais - semestre 2023/1 Slide 9Tp1.40 Profs. Güntzel, Cancian & Seidel
O Processador MIPS Monociclo
Execução de uma Instrução Tipo R
26 28 305 D1 32 305 32
Somador1 Desl. Somador2 1M
à esq. 25 25 U
309
25 0M 32 X
2 bits
U
307 M5
32 PC+4[31-28] 32 05
25 325 X M4
305
+ S1 32 + S2 1
4
Desl.
4 à esq.
305, 0
RegDst FontePC
DVI 305, 0 2 bits D2 305, 0
Escrita no Banco de Registradores:
DvC
considerar
max { TE(M3), TE(M1), TE(EscReg)
LerMem } + tdEREG
MemParaReg
Controle ULAOp
EscMem
[31-26] ULAFonte
EscReg
305, 1
5 [25-21] Reg a ser 375 A
32 lido #1
314 [20-16] Dado 437
PC Endereço Reg a ser lido #1 Zero
32 26 lido #2 305, 0
sPC Instrução 0M M1
305, 0 305, 0
Banco_Reg 375 B ULA
lida U 437
Reg a ser 0M
305 [15-11] X
1 1 307 escrito Dado M2 Resultado Endereço Dado 1M
ck U lido U M3
t0 Mem_Instr Instr Dado de lido #2 305 X 377 437 X
[15-0] 305,1 escrita 12
3 ck
Mem_Dados 03 439
305
439 ck Dado a ser
16 32 escrito
Legenda Exten-
são de 305 Ctrl-
305,1 sinal ES ULA 305, 0
6 cULA
[5-0]
TE, valor do sinal 305, 10 2
INE/CTC/UFSC Sistemas Digitais - semestre 2023/1 Slide 9Tp1.41 Profs. Güntzel, Cancian & Seidel
O Processador MIPS Monociclo
Execução de uma Instrução Tipo R
26 28 305 D1 32 305 32
Somador1 Desl. Somador2 1M
à esq. 25 25 U
309
25 0M 32 X
2 bits
U
307 M5
32 PC+4[31-28] 32 05
25 325 X M4
305
+ S1 32 + S2 1
4
Desl.
4 à esq.
305, 0
RegDst FontePC
DVI 305, 0 2 bits D2 305, 0
DvC
LerMem
MemParaReg
Controle ULAOp
EscMem
[31-26] ULAFonte
EscReg
305, 1
5 [25-21] Reg a ser 375 A
32 lido #1
314 [20-16] Dado 437
PC Endereço Reg a ser lido #1 Zero
32 26 lido #2 305, 0
sPC Instrução 0M M1
305, 0 305, 0
Banco_Reg 375 B ULA
lida U 437
Reg a ser 0M
305 [15-11] X
1 1 307 escrito Dado M2 Resultado Endereço Dado 1M
ck U lido U M3
t0 Mem_Instr Instr Dado de lido #2 305 X 377 437 X
[15-0] 305,1 escrita 12
3 ck
Mem_Dados 03 439
509 305
439 ck Dado a ser
16 32 escrito
Legenda Exten-
são de 305 Ctrl-
305,1 sinal ES ULA 305, 0
6 cULA
[5-0]
TE, valor do sinal 305, 10 2
INE/CTC/UFSC Sistemas Digitais - semestre 2023/1 Slide 9Tp1.42 Profs. Güntzel, Cancian & Seidel
O Processador MIPS Monociclo
Execução de uma Instrução Tipo R
26 28 305 D1 32 305 32
Somador1 Desl. Somador2 1M
25
Caminho à#2
2 bits (Usado pelas instruções Tipo R):
25 U
esq. 25 0M 32 X
309
U
307 M5
32 PC+4[31-28] 32 05
25 325 X M4
305
+ S1
PC(leit) à Mem_Instr(leit) à Banco_Reg(leit) à Mux2 àDesl.
ULA + Mux3
32 à S2
à1 Banco_Reg(esc) 4
4 305, 0 à esq.
RegDst FontePC
DVI 305, 0 2 bits D2 305, 0
D(Caminho #2) = max { TE(M3),
DvC TE(M1), TE(EscReg) } + tdEREG =
LerMem
MemParaReg
=Controle
439 +ULAOp
70 = 509 ps
EscMem
[31-26] ULAFonte
EscReg
305, 1
5 [25-21] Reg a ser 375 A
32 lido #1
314 [20-16] Dado 437
PC Endereço Reg a ser lido #1 Zero
32 26 lido #2 305, 0
sPC Instrução 0M M1
305, 0 305, 0
Banco_Reg 375 B ULA
lida U 437
Reg a ser 0M
305 [15-11] X
1 1 307 escrito Dado M2 Resultado Endereço Dado 1M
ck U lido U M3
t0 Mem_Instr Instr Dado de lido #2 305 X 377 437 X
[15-0] 305,1 escrita 12
3 ck
Mem_Dados 03 439
509 305
439 ck Dado a ser
16 32 escrito
Legenda Exten-
são de 305 Ctrl-
305,1 sinal ES ULA 305, 0
6 cULA
[5-0]
TE, valor do sinal 305, 10 2
INE/CTC/UFSC Sistemas Digitais - semestre 2023/1 Slide 9Tp1.43 Profs. Güntzel, Cancian & Seidel
O Processador MIPS Monociclo
Estimativa do Período do Relógio Considerando
apenas a execução de uma Instrução Tipo R
Caminho #2 (Usado pelas instruções Tipo R):
PC(leit) à Mem_Instr(leit) à Banco_Reg(leit) à Mux2 à ULA à Mux3 à Banco_Reg(esc)
D(Caminho #2) = max { TE(M3), TE(M1), TE(EscReg) } + tdEREG =
= 439 + 70 = 509 ps
INE/CTC/UFSC Sistemas Digitais - semestre 2023/1 Slide 9Tp1.44 Profs. Güntzel, Cancian & Seidel
O Processador MIPS Monociclo
Exercício E6 (iniciar em sala de aula):
Em grupo de 4 participantes (obrigatório), elabore um vídeo explicando a
análise de timing passo a passo para as partes seguintes das instruções load
word, store word, beq (desvio condicional) e jump (desvio incondicional).
O vídeo deverá ser didático e mostrar passo-a-passo os tempos de
estabilização dos sinais, como apresentado nos slides 17 a 44.
Cada membro do grupo deve apresentar uma instrução (e deve se apresentar
oralmente).
Usar a tabela de valores de atrasos do slide 16.
No Fórum específico deste exercício, vocês devem:
• Postar o link para o vídeo produzido, identificando o nome de todos os
participantes na postagem
• Comentar as postagens dos colegas
INE/CTC/UFSC Sistemas Digitais - semestre 2023/1 Slide 9Tp1.45 Profs. Güntzel, Cancian & Seidel
O Processador MIPS Monociclo
Somadores
VAHID, Frank. Digital Design with RTL Design, VHDL and Verilog. 2nd Edition. Wiley, 2010.
ou
VAHID, Frank. Sistemas Digitais: projeto, otimização e HDLs. Porto Alegre: Bookman, 2008. (ISBN
978-85-7780-190-9)
Seção 4.3.
INE/CTC/UFSC Sistemas Digitais - semestre 2023/1 Slide 9Tp1.46 Profs. Güntzel, Cancian & Seidel
O Processador MIPS Monociclo
INE/CTC/UFSC Sistemas Digitais - semestre 2023/1 Slide 9Tp1.47 Profs. Güntzel, Cancian & Seidel