Você está na página 1de 47

Universidade Federal de Santa Catarina

Centro Tecnológico
Departamento de Informática e Estatística
Ciências da Computação & Engenharia Eletrônica

Sistemas Digitais
INE 5406

Aula 9-T (parte 1)


3. O Processador MIPS monociclo: execução das instruções e análise de timing
(tempos de estabilização dos sinais, atrasos dos caminhos, caminhos críticos e
frequência máxima de relógio).

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

[25-21] Reg a ser A


32 lido #1
Dado
Endereço [20-16] Reg a ser
PC 32 26 lido #2
lido #1 Zero
sPC Instrução 0M M1 Banco_Reg B ULA
U
lida [15-11] X Reg a ser 0M
Dado 1M
11 escrito Dado M2 Resultado Endereço
ck U lido U M3
Mem_Instr Instr Dado de lido #2 X X
[15-0] escrita 12
3 ck
Mem_Dados 03

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)

Para que o MIPS monociclo tenha tempo suficiente para k

realizar qualquer instrução, é necessário que: PC (e talvez banco


de regs ou Mem
dados)

T >= D

Onde D = atraso crítico, da instrução mais lenta.


Será preciso realizar a análise de timing cada uma das instruções

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

MIPS monociclo MIPS monociclo MIPS monociclo


ck (componentes ck (componentes ck (componentes
combinacionais) combinacionais) combinacionais)

k k k

PC e banco de PC e Mem dados PC


registradores

• Toda instrução inicia com a escrita do PC


• Toda a instrução termina com a escrita do PC
• Instruções tipo R e lw também escrevem em um registrador
• Instruções sw também escrevem na memória de dados
INE/CTC/UFSC Sistemas Digitais - semestre 2023/1 Slide 9Tp1.4 Profs. Güntzel, Cancian & Seidel
O Processador MIPS Monociclo
Tempo de Estabilização (TE) no Nível RT
Nomenclatura para as características temporais dos componentes do MIPS monociclo:
Componente Característica Símbolo
Memória de instruções tempo para leitura tdLMEM
Memória de dados tempo para leitura tdLMEM
Memória de dados tempo para escrita (setup) tdEMEM
Banco de Registradores tempo para leitura tdLREG
Banco de Registradores tempo para escrita (setup) tdEREG
ULA atraso para qualquer operação tdULA
Somador (qualquer) atraso tdsoma
Mux 2:1 (qualquer) atraso tdmux
PC tempo de setup tsu
PC tempo de carga tco
PC tempo de hold th
Deslocador, extensão de sinal, porta AND atraso tdfios
Controle atraso tdcontrole
Controle da ULA atraso tdctrlULA

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

M5 sPC TE (sPC) = tco(PC) *


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

ck Mem_Instr Obs: esta equação só vale para os sinais de controle que


só dependem do opcode. Isto exclui cULA e FontePC.

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)

TE (M2) = max{ TE_S, TE(sel) } + tdmux


B
0
M
U
M2
X
ES 2 Onde:
1
TE_S = TE(B) se sel= 0
e
TE_S = TE(ES) se sel = 1
sel

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

[25-21] Reg a ser


lido #1
Dado
A
TE(A) = TE(B) = TE(Instr) + tdLREG
[20-16] Reg a ser
32 26 lido #1
lido #2
0M M1 Banco_Reg B
U
[15-11] X Reg a ser 0M
Dado M2
11 escrito U
Instr Dado de lido #2 X
[15-0] escrita 12

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

TE(Dado lido) = max{ TE(Resultado), TE(LerMem) } + tdLMEM

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 Legenda


TE(Zero), 0
TE (FontePC) = min{ TE(DvC), TE(Zero) } TE (FontePC) = TE(DvC)
TE, valor lógico
do sinal
Caso 3 Caso 4
FontePC FontePC
TE(DvC), 1 TE(DvC), 1

TE(Zero), 0 TE(Zero), 1

TE (FontePC) = TE(Zero) TE (FontePC) = max{ TE(DvC), TE(Zero) }

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

[25-21] Reg a ser A


32 lido #1
Dado
Endereço [20-16] Reg a ser
PC 32 26 lido #2
lido #1 Zero
sPC Instrução 0M M1 Banco_Reg B ULA
U
lida [15-11] X Reg a ser 0M
Dado 1M
11 escrito Dado M2 Resultado Endereço
ck U lido U M3
t0 Mem_Instr Instr Dado de lido #2 X X
[15-0] escrita 12
3 ck
Mem_Dados 03

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

5 [25-21] Reg a ser A


32 lido #1
Dado
Endereço [20-16] Reg a ser
PC 32 26 lido #2
lido #1 Zero
sPC Instrução 0M M1 Banco_Reg B ULA
U
lida [15-11] X Reg a ser 0M
Dado 1M
11 escrito Dado M2 Resultado Endereço
ck U lido U M3
t0 Mem_Instr Instr Dado de lido #2 X X
[15-0] escrita 12
3 ck
Mem_Dados 03

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

5 [25-21] Reg a ser A


32 lido #1
Dado
Endereço [20-16] Reg a ser
PC 32 26 lido #2
lido #1 Zero
sPC Instrução 0M M1 Banco_Reg B ULA
U
lida [15-11] X Reg a ser 0M
Dado 1M
11 escrito Dado M2 Resultado Endereço
ck U lido U M3
t0 Mem_Instr Instr Dado de lido #2 X X
[15-0] escrita 12
3 ck
Mem_Dados 03

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

5 [25-21] Reg a ser A


32 lido #1
Dado
Endereço [20-16] Reg a ser
PC 32 26 lido #2
lido #1 Zero
sPC Instrução 0M M1 Banco_Reg B ULA
U
lida [15-11] X Reg a ser 0M
Dado 1M
11 escrito Dado M2 Resultado Endereço
ck U lido U M3
t0 Mem_Instr Instr Dado de lido #2 X X
[15-0] escrita 12
3 ck
Mem_Dados 03

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

5 [25-21] Reg a ser A


32 lido #1
Dado
Endereço [20-16] Reg a ser
PC 32 26 lido #2
lido #1 Zero
sPC 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 X X
[15-0] escrita 12
3 ck
Mem_Dados 03

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

5 [25-21] Reg a ser A


32 lido #1
Dado
[20-16]
PC Endereço
32 26
Reg a ser
lido #2 TE(ES) = TE(Instr)Zero+ tdfios
lido #1
sPC 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 305X X
[15-0] escrita 12
3 ck
Mem_Dados 03

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

5 [25-21] Reg a ser A


32 lido #1
Dado
Endereço [20-16] Reg a ser
PC 32 26 lido #2
lido #1 Zero
sPC 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] escrita 12
3 ck
Mem_Dados 03

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

5 [25-21] Reg a ser A


32 lido #1
Dado
Endereço [20-16] Reg a ser
PC 32 26 lido #2
lido #1 Zero
sPC 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] escrita 12
3 ck
Mem_Dados 03

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

No exemplo em questão, temos:


Componente Característica Símbolo Valor [ps]
... ... ... ...
Controle atraso tdcontrole desprezível (=0)
Controle da ULA atraso tdctrlULA desprezível (=0)

Então:
TE(qq sinal de controle) = TE(Instr) + tdcontrole = 305 + 0 = 305 ps

Cuidado! Se tdcontrole ≠ 0 à TE(qq sinal de controle) ≠ TE(Instr)

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

No exemplo em questão, temos:


Componente Característica Símbolo Valor [ps]
... ... ... ...
Controle atraso tdcontrole desprezível (=0)
Controle da ULA atraso tdctrlULA desprezível (=0)

Então:
TE(cULA) = max { TE(Instr), TE(ULAOp) } + tdctrl-ULA= max { 305, 305 } + 0 = 305 ps

Cuidado! Se tdctrlULA ≠ 0 à TE(cULA) ≠ TE(ULAOp)

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

5 [25-21] Reg a ser A


32 lido #1
Dado
Endereço [20-16] Reg a ser
PC 32 26 lido #2
lido #1 Zero
sPC 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] escrita 12
3 ck
Mem_Dados 03

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

Opcode=0 000000 rs rt rd shamt funct


6 bits 5 bits 5 bits 5 bits 5 bits 6 bits

registradores-fonte registrador-destino

Simbólico (exemplo): add $s1,$s2, $s3 ($s1 ¬ $s2 + $s3)

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

5 [25-21] Reg a ser A


32 lido #1
Dado
Endereço [20-16] Reg a ser
PC 32 26 lido #2
lido #1 Zero
sPC 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] escrita 12
3 ck
Mem_Dados 03

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

Mas é preciso continuar a análise de DvC


LerMem
MemParaReg

timing até Controle


o término da instrução!!! ULAOp
EscMem
[31-26] ULAFonte
+ tsu
do PC
5
(E depois fazer análise
305, 1 semelhante para
[25-21]
EscReg

Reg a ser

cada uma das demais instruções…)


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.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

Como D(Caminho #2) > D(Caminho #1), podemos afirmar que:


•Caminho #2 é o caminho crítico das instruções Tipo R
•E portanto, D(Tipo R) = D(Caminho #2) = 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.

Aritmética com Inteiros e construção da ULA:


PATTERSON, David A.; HENNESSY, John L. “Computer Organization and Design: the
hardware/software Interface”, 3rd edition, Morgan Kaufmann Publishers, San Francisco, California,
USA, 2007.
Se usar a 2a Edição: Seções 4.1 a 4.5.
Se usar a 3a Edição: Seções 3.1 a 33 e Apêndice B (no CD)

INE/CTC/UFSC Sistemas Digitais - semestre 2023/1 Slide 9Tp1.46 Profs. Güntzel, Cancian & Seidel
O Processador MIPS Monociclo

Controle da ULA do MIPS


PATTERSON, David A.; HENNESSY, John L. “Computer Organization and Design: the
hardware/software Interface”, 3rd edition, Morgan Kaufmann Publishers, San Francisco, California,
USA, 2007.
Se usar a 2a Edição: Seção 5.1 a 5.2, 5.3 e C.2 (Apêndice C)
Se usar a 3a Edição: Seções 5.1 a 5.3, 5.4 e C.2 (Apêndice C, no CD)

INE/CTC/UFSC Sistemas Digitais - semestre 2023/1 Slide 9Tp1.47 Profs. Güntzel, Cancian & Seidel

Você também pode gostar