Académique Documents
Professionnel Documents
Culture Documents
ARQUITETURA DE
COMPUTADORES
REVISÃO PROVA 2
Atrasos
Memória Somador MUX Banco Reg ULA Controle
400 ps 100 ps 30 ps 200 ps 120 ps 100 ps
1) Busca da Instrução
2) Decodificação
3) Execução
4) Acesso à Memória e
Conclusão Tipo-R
5) Conclusão LW
9
Organização e Arquitetura de Computadores – Marcelo Grandi Mandelli
Slide 9
Exercício 1
fun:
add $t0,$zero,$zero à 4 ciclos
19 ciclos
lw $t1, 100($fp) à 5 ciclos
lw $t2, 104($fp) à 5 ciclos
3519
lw $t4, 108($fp) à 5 ciclos
LOOP:
ciclos!
lw $t3,0($s0) à 5 ciclos
and $t7, $t3, $t1 à 4 ciclos
add $t3, $t3, $t7 à 4 ciclos
sw $t3, 0($s0) à 4 ciclos
35x100
add $s0, $s0, $t4 à 4 ciclos
ciclos add $t0, $t0, $t1 à 4 ciclos
slt $t5, $t0, $t2 à 4 ciclos
beq $t5, $zero, OUT à 3 ciclos
j LOOP à 3 ciclos
OUT: Último loop executa
jr em vez de j
jr $ra à 3 ciclos
904 3519
instruções! ciclos!
𝒄𝒊𝒄𝒍𝒐𝒔 𝟑𝟓𝟏𝟗
𝑪𝑷𝑰 = = ≅ 𝟑, 𝟖𝟗
𝒊𝒏𝒔𝒕𝒓𝒖𝒄𝒐𝒆𝒔 𝟗𝟎𝟒
Atrasos
Memória Somador MUX Banco Reg ULA Controle
400 ps 100 ps 30 ps 200 ps 120 ps 100 ps
100 ps
100 ps
400 ps
120 ps
400 ps
200 ps
30 ps 30 ps 30 ps
INSTRUÇÃO LW
100 ps
400 ps
120 ps
400 ps
200 ps
30 ps 30 ps 30 ps
INSTRUÇÃO LW = 400
100 ps
400 ps
120 ps
400 ps
200 ps
30 ps 30 ps 30 ps
100 ps
400 ps
120 ps
400 ps
200 ps
30 ps 30 ps 30 ps
100 ps
400 ps
120 ps
400 ps
200 ps
30 ps 30 ps 30 ps
100 ps
400 ps
120 ps
400 ps
200 ps
30 ps 30 ps 30 ps
T = 1350 ps
Organização e Arquitetura de Computadores – Marcelo Grandi Mandelli
Slide 19
Exercício 1
p Para uma implementação uniciclo, qual a maior
frequência que pode ser obtida ? T = 1350 ps
𝟏 𝟏
𝑭= = ;𝟏𝟐 ≅ 𝟕𝟒𝟎𝑴𝑯𝒛
𝑻 𝟏𝟑𝟓𝟎×𝟏𝟎
lw $t3,0($s0) IF ID EX MEM WB
j LOOP IF ID EX MEM WB
jr $ra IF ID EX MEM WB
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
lw $t3,0($s0) IF ID EX M W
BOLHA
BOLHA
BOLHA
BOLHA
BOLHA
BOLHA
sw $t3, 0($s0) IF ID EX M W
BOLHA
BOLHA
BOLHA
BOLHA
BOLHA
j LOOP IF ID EX M W
BOLHA
jr $ra IF ID EX M W
BOLHA
BOLHA
and $t7, $t3, $t1 IF ID EX M WB
sw $t3, 0($s0) IF ID EX M WB
BOLHA
j LOOP IF ID EX M WB
BOLHA
jr $ra IF ID EX M WB
BOLHA
n bralneg $rs, $rt, offset : branch and link se $rs < 0, salvando o
endereço de retorno em $rt
n se $rs < 0 :
p PC = PC + offset * 4
p $rt = PC + 4
n caso contrário, não executa o salto.
bralneg
M
U
X
Valor escrito nos registradores pode ser a
saída da ULA, um valor da memória ou PC +4
O sinal bralneg controla o MUX.
Organização e Arquitetura de Computadores – Marcelo Grandi Mandelli
Slide 27
Controle – MIPS Uniciclo
O sinal de RegWrite fica em 0 para bralneg,
visto que ele é ativado através do circuito:
Instrução RegDst ALUSrc MemtoReg RegWrite MemRead MemWrite Branch opALU1 opALU0 jump bralneg
tipo-R 1 0 0 1 0 0 0 1 0 0 0
lw 0 1 1 1 1 0 0 0 1 0 0
sw X 1 X 0 0 1 0 0 0 0 0
beq X 0 X 0 0 0 1 0 0 0 0
jump X X X X 0 0 0 X X 1 0
bralneg ? X X 0 0 0 0 X X 0 1
Depende do formato
de bralneg
Se formato for igual
ao do BEQ à 0
Atrasos
Memória MUX Banco Reg ULA Controle
10 ns por
100 ns 60 ns 50 ns 80 ns
entrada
Maior atraso
Maior atraso
Maior atraso
Tipo-R LW/SW
Unidade funcional Atraso Unidade funcional Atraso
Controle 80ns Controle 80ns
MUX (2 entradas) 20ns MUX (2 entradas) 20ns
Banco Reg 60ns Memória 100ns
TOTAL 160ns TOTAL 200ns
Maior atraso
LW
Unidade funcional Atraso
Controle 80ns
MUX (2 entradas) 20ns
Banco Reg 60ns
TOTAL 160ns
Maior atraso
𝟏 𝟏
𝑭= = ;𝟗 = 𝟓𝑴𝑯𝒛
𝑻 𝟐𝟎𝟎×𝟏𝟎
p I = 1000
p CPI=0,25x5+0,1x4+0,52x4+0,11x3+0,02x3= 4.12
p T = 200ns
Multiciclo:
período de clock: 200ps
CPI = .25x5+.1x4+.11x3+.02x3+0.52x4 = 4.12
Tempo de execução médio da instrução: 200x4.12=824ps
Pipeline:
período de clock: 200ps
CPI = .25x1.5+.1x1+.11x1.25+.02x2+0.52x1 = 1.17
Tempo de execução médio da instrução: 200x1.17=234ps
p Solução:
n Ciclos de falha de instrução = I x 0,02 x 100 = 2 x I
n Ciclos de falha de dados = I x 0,3 x 0,05 x 100 = 1,5 x I
n Logo: ciclos de stall = 2 x I + 1,5 x I = 3,5 x I
n Ganho à 4,5
p Qual o número de bits que esta cache requer para ser armazenada,
ou seja, qual o tamanho real desta cache?
p Solução:
81𝑘
= 20,25 → 0,25 𝑥 4𝑘 = 1𝑘
4𝑘
0000000000010100 010000000000 00 00
ÍNDICE OFFSET
DO DE
BLOCO BYTE
(12 BITS) (2 BITS)
p 64k de dados
p Bloco tem 4 palavras à 128 bits
p A cache possui 64k/16 = 4k blocos
p TAG à 16 bits
p Solução: