Você está na página 1de 14

Programa de Ps-graduao em Computao

Mestrado em Engenharia de Computao


Arquitetura de Computadores
Aluno: __________________________
Primeira avaliao:
A avaliao individual. As questes abaixo devem ser resolvidas e entregues, via
eletrnica ou em papel (manuscrito ou impresso), at o dia 23/05/2012. O desenvolvimento das
questes deve ser includo.

1. Considerando a tabela abaixo, a qual apresenta os resultados de desempenho de diversos processadores


com relao a operaes da hierarquia de memria e da CPU (Dhrystone), determine:

Chip

# of cores

Clock frequency
(MHz)

Memory
performance

Dhrystone
performance

Athlon 64 X2 4800+

2,400

3,423

20,718

Pentium EE 840

2,200

3,228

18,893

Pentium D 820

3,000

3,000

15,220

Athlon 64 X2 3800+

3,200

2,941

17,129

Pentium 4

2,800

2,731

7,621

Athlon 64 3000+

1,800

2,953

7,628

Pentium 4 570

2,800

3,501

11,210

Processor X

3,000

7,000

5,000

1.1. Crie uma nova tabela, com os resultados normalizados para o processador Pentium D;

Chip

# of cores
Normalizado

Clock frequency
(MHz)
Normalizado

Memory
performance
Normalizado

Dhrystone
performance
Normalizado

Athlon 64 X2 4800+

0,8

1,141

1,3612352168

Pentium EE840

0,7333333333

1,076

1,2413272011

Pentium D 820

Athlon 64 X2 3800+

1,0666666667

0,9803333333

1,1254270696

Pentium 4

0,5

0,9333333333

0,9103333333

0,5007227332

Athlon 64 3000+

0,5

0,6

0,9843333333

0,5011826544

Pentium 4 570

0,5

0,9333333333

1,167

0,7365308804

Processor X

0,5

2,3333333333

0,3285151117

1.2. Calcule a mdia aritmtica dos desempenhos apresentados, para as duas tabelas;
Chip

Desempenho mdio
(d1+d2)/2

Desempenho
Normalizado
Mdio
(mem. perf. norm. + dhrystone perf. norm.) / 2

12070,5

1,25111761

Pentium EE 840

11060,5

1,158663601

Pentium D 820

9110

Athlon 64 X2 3800+

10035

1,0528802015

Pentium 4

5176

0,70552803325

Athlon 64 3000+

5290,5

0,74275799385

Pentium 4 570

7355,5

0,9517654402

Processor X

6000

1,3309242225

Athlon 64 X2 4800+

1.3. Qual o processador mais rpido, segundo o resultado do item 1.2?

Na tabela original, o processador Athlon 64 X2 4800+.


Na tabela normalizada, o Processor X.

1.4. Calcule a mdia aritmtica do desempenho normalizado, para processadores com 1 e com 2 ncleos,
separadamente.
Chip

Mdia

Mdia

(1 core)

0,93274392245

Mdia

(2 core)

1,1156653531

2. Considerando a tabela abaixo:


N. Instructions

CPI

Processor

Instr. Count

L/S

FP

Branch

L/S

FP

Branch

Clock Rate

P1

1.00E+06

50%

40%

10%

0.75

1.0

1.5

4 GHz

P2

5.00E+06

40%

40%

20%

1.25

0.8

1.25

3 GHz

P1

5.00E+06

30%

30%

40%

1.5

1.0

2.0

4 GHz

P2

2.00E+06

40%

30%

30%

1.25

1.0

2.5

3 GHz

a.

b.

2.1. Calcule o desempenho dos processadores em MIPS;

a.

b.

Processor

Clock Rate / (CPI * 10^6)

MIP/s

P1

4*10^9/((0,75*0,5+1,0*0,4+1,5*0,1)*10^6)

4324,324

P2

3*10^9/((1,25*0,4+0,8*0,4+1,25*0,2)*10^6)

2803,738

P1

4*10^9/((1,5*0,3+1,0*0,3+2,0*0,4)*10^6)

2580,645

P2

3*10^9/((1,25*0,4+1,0*0,3+2,5*0,3))*10^6)

1935,484

2.2. Calcule o desempenho dos processadores em FLOPS;

a.

Processor

Clock Rate / (FP)

P1

4*10^9/1

P2

3*10^9/0,8

FLOP/s
4*10^9
3,75*10^9

b.

P1

4*10^9/1

4*10^9

P2

3*10^9/1

3*10^9

2.3. Calcule os tempos de execuo dos processadores e compare com os valores de MIPS e FLOPS.

a.

b.

Processor

Instr. Count / (MIPs * 10^6)

Exec. Time

P1

1*10^6/4324,324*10^6

0,23ms

P2

5*10^6/2803,738*10^6

1,78ms

P1

5*10^6/2580,645*10^6

1,93ms

P2

2*10^6/1935,484*10^6

1,03ms

a. CPU clock Cycles = FP op * L/S op * Branch op


FP op (P1) = 106 * 0,4 * 1 = 4 * 105
L/S op (P1) = 106 * 0,5 * 0,75 = 3,75 * 105
Branch op (P1) = 106 * 0,1 * 1,5 = 1,5 * 105
CPU clock Cycles (P1) = 4 * 105 + 3,75 * 105 + 1,5 * 105 = 9,25 * 105
Tcpu (P1) = 9,25 * 105 / 4 * 109 = 2,3125 * 10-4
MIPS (P1) = 106 / (2,3125 * 10-4 * 106) = 4324,32
FP op (P2) = 5 * 106 * 0,4 * 0,8 = 1,6 * 106
L/S op (P2) = 5 * 106 * 0,4 * 1,25 = 2,5 * 106
Branch op (P2) = 5 * 106 * 0,2 * 1,25 = 1,25 * 106
CPU clock Cycles (P2) = 1,6 * 106 + 2,5 * 106 + 1,25 * 106 = 5,35 * 106
Tcpu (P2) = 5,35 * 106 / 3 * 109 = 1,78333 * 10-3
MIPS (P2) = 5 * 106 / (1,78333 * 10-3 * 106) = 2803,74
P1 mais rpido que P2 na letra a.

b. CPU clock Cycles = FP op * L/S op * Branch op


FP op (P1) = 5 * 106 * 0,3 * 1 = 1,5 * 106
L/S op (P1) = 5 * 106 * 0,3 * 1,5 = 2,25 * 106
Branch op (P1) = 5 * 106 * 0,4 * 2,0 = 4 * 106
CPU clock Cycles (P1) = 1,5 * 106 + 2,25 * 106 + 4 * 106 = 7,75 * 106
Tcpu (P1) = 7,75 * 106 / 4 * 109 = 1,9375 * 10-3
MIPS (P1) = 5 * 106 / (1,9375 * 10-3 * 106) = 2580,64
FP op (P2) = 2 * 106 * 0,3 * 1,0 = 0,6 * 106
L/S op (P2) = 2 * 106 * 0,4 * 1,25 = 1 * 106
Branch op (P2) = 2 * 106 * 0,3 * 2,5 = 1,5 * 106
CPU clock Cycles (P2) = 0,6 * 106 + 1 * 106 + 1,5 * 106 = 3,1 * 106
Tcpu (P2) = 3,1 * 106 / 3 * 109 = 1,03 * 10-3
MIPS (P2) = 2 * 106 / (1,0333 * 10-3 * 106) = 1935,48
P2 mais rpido que P1 na letra b.

3. Considere que o formato das instrues do MIPS deva ser modificado, mantendo-se a largura de 32
bits. Duas modificaes so possveis: suporte a 128 registradores ou suporte a 4 vezes mais instrues.

3.1. Qual o impacto na instruo BEQ, considerando que as modificaes alteram o campo
imediato da instruo?
BEQ $1 $2 X ; se o valor de $1 igual $2 muda o valor do PC para PC + X (X = 16 bits)
Mudar para 128 registradores.
O alcance para desvio diminui( campo da instruo) em 4 bits porque so necessrio aumentar em dois bits o
endereo de cada registrador.
Description:

Branches if the two registers are not equal

Operation:

if $s != $t advance_pc (offset << 2)); else advance_pc (4);

Syntax:

bne $s, $t, offset

Encoding:

0001 01XXss ssst tttt iiii iiii iiii iiii

XX= aumento do end do reg.


Aumentar em 4 vezes o nmero de instrues:
Reduz em dois bits o campo de endereamento imediato na instruo porque necessrio aumentar o opcode em
dois bits
BEQ => 6 (OPCODE) + 5 (Reg. 1) + 5 (Reg. 2) + 16 (Valor imediato)
1 Possibidade: Aumento de 2 Bits no reg. 5=>7
BEQ => 6 (OPCODE) + 7 (Reg. 1) + 7 (Reg. 2) + 12 (Valor imediato)
Reduo de 4 bits para endereamento do pulo

2 Possibidade: Aumento de 2 Bits no OPCODE 6=>8


BEQ => 8 (OPCODE) + 5 (Reg. 1) + 5 (Reg. 2) + 14(Valor imediato)
Reduo de 2 bits para endereamento do pulo

3.2. Qual o impacto na instruo J?


J X ; muda o valor do PC para X (X = 26 bits)
Mudar para 128 registradores:
O nmero de registradores no altera o campo da instruo
Description:

Jumps to the calculated address

Operation:

PC = nPC; nPC = (PC & 0xf0000000) | (target << 2);

Syntax:

j target

Encoding:

0000 10ii iiii iiii iiii iiii iiii iiii

Aumentar em 4 vezes o nmero de instrues:


Se aumentar em 4 vezes o nmero de instrues o campo do opcode aumentar em 2 bits o que diminuir o campo
da instruo.
J=>6 (OPCODE) + 26 (Valor imediato)
1 Possibidade: Aumento de 2 Bits no reg. 5=>7
Nenhuma alterao pois no existe registrador como parmetro
2 Possibidade: Aumento de 2 Bits no OPCODE 6=>8
J=>8 (OPCODE) + 24 (Valor imediato)
Perda de 2 bits para o valor imediato, com isso o range de pulo reduzido em 2 bits

3.3. Qual o impacto na instruo JR?


JR $1 ; muda o valor do PC para $1
Mudar para 128 registradores:
O nmero de registradores no altera o campo da instruo
Description:

Jump to the address contained in register $s

Operation:

PC = nPC; nPC = $s;

Syntax:

jr $s

Encoding:

0000 00ss sss0 0000 0000 0000 0000 1000

Aumentar em 4 vezes o nmero de instrues:


JR => 6 (OPCODE) + 5 (Reg. S) + 21 (Constante)
1 Possibidade: Aumento de 2 Bits no reg. 5=>7
JR => 6 (OPCODE) + 7 (Reg. S) + 19 (Constante)
Reduo de 2 bits no valor constante.
2 Possibidade: Aumento de 2 Bits no OPCODE 6=>8
JR => 8 (OPCODE) + 5 (Reg. S) + 19 (Constante)
Mesma alterao que o caso 1, 2 bits a menos no valor constante

No causa nenhuma alterao no campo da instruo.

4. Para os valores abaixo, determinar em preciso simples e dupla.


A

a.

-1/4

b.

1/10

10

4.1. O valor de A em preciso simples. O valor exato?


a.
precis
o

decimal

sinal

exp

mant

simples

-1/4

01111101

00000000000000000000000

0111111110
1

0000000000000000000000000000000000000000000000000000

10000001

00000000000000000000000

1000000000
1

0000000000000000000000000000000000000000000000000000

01111011

10011001100110011001101

0111111101
1

1001100110011001100110011001100110011001100110011010

10000010

01000000000000000000000

1000000001
0

0100000000000000000000000000000000000000000000000000

dupla
simples

dupla
b.
simples

1/10

dupla
simples

10

dupla

No exato devido ao truncamento (ou arredondamento) do nmero real que foi representado. Truncamento
introduz erro na representao.

Casos especiais:
Overflow: nmero a representar maior que maior nmero possvel de ser representado
Underflow: nmero a representar menor que menor nmero possvel de ser representado
O primeiro valor -1/4 um valor exato, j o segundo 1/10 um valor aproximado devido ao truncamento. O
nmero 0.1 representado como 0.10000000000000000555111512312578.

4.2. O resultado da soma de A com A, B vezes. E A x B? Resultados iguais?

O padro IEEE 754 define algoritmo para adio, subtrao, multiplicao, diviso e raiz quadrada e exige que as
implementaes produzam os mesmos resultados.
a. Sim, sero iguais pois no h truncamento.
b. Ser diferente porque o erro no truncamento depende do mtodo e/ou procedimentos empregados.

4.3. Qual o valor da raiz quadrada de B multiplicado por ela mesma?


Para o nmero 4 resultado ser 4, j para o nmero 10 o resultado ser 10.00000000000000177635683940025046.
Vai ser um nmero diferente de B.

5. Considerar o trecho de cdigo C abaixo, onde os elementos de uma mesma coluna so armazenados
sequencialmente.
a.
b.

for (I=0; I<8; I++)


for (J=0; J<8000; J++)
A[I][J]=B[I][0]+A[J][I];
for (J=0; J<8000; J++)
for (I=0; I<8; I++)
A[I][J]=B[I][0]+A[J][I];

5.1. Quantos elementos de 32 bits podem ser armazenados em uma linha de cache com 16 bytes?
O programa guarda as variveis em coluna.
16Bytes*8 = 128bits ento: 128/32 = 4 elementos podem ser armazenados.

5.2. Referncias a quais variveis exibem localidade espacial?


Localidade espacial quando o programa acessa posies de memria vizinhas.
a) A[J][I], B[I][0]
b) A[I][J], B[I][0]

5.3. Referncias a quais variveis exibem localidade temporal?


Localidade temporal quando o programa acessa repetidamente o mesmo endereo de memria.
a. I,J ;
b. I, J, B[I,0]

6. A tabela abaixo contm os endereos de 32 bits dos acessos memria de um aplicativo.


a.

3, 180, 43, 2, 191, 88, 190, 14, 181, 44, 186, 253

b.

21, 166, 201, 143, 61, 166, 62, 133, 111, 143, 144, 61

6.1 Identificar o endereo binrio (hexadecimal), o TAG e a linha, em uma memria cache com
mapeamento direto de 16 linhas e uma palavra por linha. Quais referncias so hits e misses,
considerando a cache inicialmente vazia?
addr

a.

first

0000

0001

0010

0000.0010

0011

0000.0011

0100

180

1011.0100

0101

181

1011.0101

0110

0111

1000

1001

10

1010

186

1011.1010

11

1011

43

0010.1011

12

1100

44

0010.1100

13

1101

253

1111.1101

14

1110

190

1011.1110

15

1111

191

1011.1111

88

rewrite

b.

first

rewrite

144

1001.0000

21

0001.0101

166
hit

1010.0110

201

1100.1001

61
hit

0011.1101

62

0011.1110

143

1000.1111

133

1000.0101

111

0110.1111

rewrite

0101.1000

14

0000.1110

143

So hits: 166 e 61 (todos os outros so miss).

6.2 Identificar o endereo binrio (hexadecimal), o TAG e a linha, em uma memria cache com
mapeamento direto de 8 linhas e duas palavras por linha. Quais referncias so hits e misses,
considerando a cache inicialmente vazia?

add
r

a.

word 0

000

88

01011.00
0

word 1

rewrite

b.

word 0

144

10010.00
0

word 1

1000.1111

001

010

00000.01
0

186

10111.01
0

011

00000.01
1

43

00101.01
1

100

180

10110.10
0

44

00101.10
0

101

181

10110.10
1

110

190

1011.111
0

111

191

10111.11
1

14

25
3

11111.10
1

00001.11
0

201

11001.00
1

133

10000.10
1

21

00010.10
1

61
hit

00111.101

166
hit

10100.11
0

62

00111.110

143
hit

10001.11
1

11
1

01101.111

So hits: 166, 143 e 61 (todos os outros so miss).

6.3 Voc precisa otimizar a cache para as referncias apresentadas acima. Existem 3 possibilidades de
organizar a cache de mapeamento direto com 8 palavras de dados. P1 contm blocos de uma palavra, P2
contm blocos de duas palavras e P3 contm blocos de 4 palavras. Qual a melhor alternativa em termos
de taxa de miss? Considerando hit times de 2 ciclos, 3 ciclos e 5 ciclos, respectivamente, e uma
penalidade de miss de 25 ciclos, qual a melhor alternativa?
P1 HT = 2 ciclos
ad
d

a.

rewrite

000

88

001

010

00000.01
0

18
6

10111.01
0

011

00000.01
1

43

00101.01
1

100

18
0

10110.10
0

44

00101.10
0

101

18
1

10110.10
1

110

19
0

1011.111
0

111

19
1

10111.11
1

rewrite

01011.00
0

14

00001.11
0

25
3

11111.10
1

b.

rewrite

14
4

10010.00
0

20
1

11001.00
1

13
3

10000.10
1

21

00010.10
1

61
hit

00111.10
1

16
6

10100.11
0

62

00111.11
0

14
3

10001.11
1

11
1

01101.11
1

rewrite

14
3

10001.11
1

a. 12 misses logo 300 + 24, total = 324 ciclos


b. 11 misses logo 275 + 24, total = 299 ciclos
P2 HT = 3 ciclos
ad
d

a.

word 0

word 1

000

88

01011.00
0

001

010

00000.01
0

18
6

10111.010

011

00000.01
1

43

00101.011

100

18
0

10110.10
0

44

00101.100

101

18
1

10110.10
1

110

19
0

1011.111
0

111

19
1

10111.11
1

14

rewrite

253

11111.101

00001.110

b.

word 0

word 1

144

10010.000

201

11001.001

133

10000.101

21

00010.101

61
hit

00111.101

166
hit

10100.110

62

00111.110

143
hit

10001.111

111

01101.111

a. 12 misses logo 300 + 36, total = 336 ciclos


b. 9 misses logo 225 + 36, total = 261 ciclos
P3 HT = 5 ciclos
add

a.

word 0

word 1

000

88

01011.000

001

010

00000.010

18
6

10111.01
0

011

00000.011

43

00101.01
1

100

18
0

10110.100

44

00101.10
0

101

18
1

10110.101

110

19
0

1011.1110

111

19
1

10111.111

14

00001.11
0

a. 12 misses logo 300 + 60, total = 360 ciclos


b. 9 misses logo 225 + 60, total = 285 ciclos

word 2

25
3

11111.10
1

b.

word 0

word 1

144

10010.000

201

11001.001

133

10000.101

21

00010.101

61
hit

00111.101

166
hit

10100.110

62

00111.110

143
hit

10001.111

111

01101.111

a. Melhor alternativa P1.


b. Melhor alternativa P2.

7. Considerar um processador com os seguintes parmetros.


Base
CPI,
N
Memory
Stalls

Processor
Speed

Main
Memory
Access
Time

First Level
Cache Miss
Rate per
Instruction

Second
Level
Cache,
DirectMapped
Speed

Global
Miss
Rate with
Second
Level
Cache,
DirectMapped

Second
Level
Cache,
Eight-Way
Set
Associative
Speed

Global Miss
Rate with
Second
Level Cache,
Eight-Way
Set
Associative

a.

1.5

2 GHz

100 ns

7%

12 cycles

3.5%

28 cycles

1.5%

b.

1.0

2 GHz

150 ns

3%

15 cycles

5.0%

20 cycles

2.0%

7.1 Calcular o CPI do processador para:


1) Uma cache L1 apenas,
a. Calculando CPI com 1 nvel de cache
Miss
Penalty
cycles
=
Tempo
de
Acesso
a
Memoria
Miss Penalty cycles = 100 ns/(1/2GHz) = 200 ciclos
Memory stall cycles= Miss Rate x Miss Penalty cycles = 0,07 * 200 ciclos = 14 ciclos
CPIL1
=
CPI
base
+
Memory
stall
cycles
=
1,5
+
b. Calculando CPI com 1 nvel de cache
Miss Penalty cycles = Tempo de Acesso a Memoria /Perodo
Miss Penalty cycles = 150 ns/(1/2GHz) = 300 ciclos
Memory stall cycles= Miss Rate x Miss Penalty cycles = 0,03 * 300 ciclos = 9
CPIL1 = CPI base + Memory stall cycles = 1,0 + 9 = 10

2) L1 + L2 de mapeamento direto.
a. Hit time cycles = 12 cicles
Primary Stalls Cycles = 7% * Hit Time Cycles = 0,07 * 12 = 0,84 cicles
Secondary Stalls Cycles = Miss Rate Global * 100 ns / Perodo = 0,035 * 200 = 7 cicles
CPI L1 L2 = CPI base + Primary Stalls + Secondary Stalls = 1,5 + 0,84 + 7 = 9,34
b. Hit time cycles = 15 cicles
Primary Stalls Cycles = 3% * Hit Time Cycles = 0,03 * 15 = 0,45 cicles
Secondary Stalls Cycles = Miss Rate Global * 150 ns / Perodo = 0,05 * 300 = 15 cicles
CPI L1 L2 = CPI base + Primary Stalls + Secondary Stalls = 1 + 0,45 + 15 = 16,45

3) L1 + L2 de mapeamento grupo associativo.


a. Hit time cycles = 28 cicles
Primary Stalls Cycles = 7% * Hit Time Cycles = 0,07 * 28 = 1,96 cicles

/Perodo

14

15,5

Secondary Stalls Cycles = Miss Rate Global * 100 ns / Perodo = 0,015 * 200 = 3 cicles
CPI L1 L2 = CPI base + Primary Stalls + Secondary Stalls = 1,5 + 1,96 + 3 = 6,46
b. Hit time cycles = 20 cicles
Primary Stalls Cycles = 3% * Hit Time Cycles = 0,03 * 20 = 0,6 cicles
Secondary Stalls Cycles = Miss Rate Global * 150 ns / Perodo = 0,02* 300 = 6 cicles
CPI L1 L2 = CPI base + Primary Stalls + Secondary Stalls = 1 + 0,6 + 6 = 7,6

Como esses valores mudam se o tempo de acesso memria principal dobra? E se reduzido metade?
Os valores aumentam considerando que o tempo de acesso dobra.
E, eles diminuim, considerando que o tempo de acesso reduz a metade.

7.2 Para o processador com L2 de mapeamento direto, um L3 com tempo de acesso de 50 ciclos
acrescentado, reduzindo a taxa de miss global para 1.3%. O desempenho melhora?
a. Hit time cycles = 12 cicles
Primary Stalls Cycles = 7% * Hit Time Cycles = 0,07 * 12 = 0,84 cicles
Secondary Stalls Cycles = Miss Rate Global * 100 ns / Perodo = 0,035 * 200 = 7 cicles
CPI L1 L2 = CPI base + Primary Stalls + Secondary Stalls = 1,5 + 0,84 + 7 = 9,34
Hit time cycles = 50 cicles
Primary Stalls Cycles = 7% * Hit Time Cycles = 0,07 * 50 = 3,5 cicles
Secondary Stalls Cycles = Miss Rate Global * 100 ns / Perodo = 0,013* 100 = 1,3 cicles
CPI L1 L2 = CPI base + Primary Stalls + Secondary Stalls = 1,5 + 3,5 + 1,3 = 6,3
H melhora no desenpenho.

b. Hit time cycles = 15 cicles


Primary Stalls Cycles = 3% * Hit Time Cycles = 0,03 * 15 = 0,45 cicles
Secondary Stalls Cycles = Miss Rate Global * 150 ns / Perodo = 0,05 * 300 = 15 cicles
CPI L1 L2 = CPI base + Primary Stalls + Secondary Stalls = 1,5 + 0,45 + 15 = 16,95
Hit time cycles = 15 cicles
Primary Stalls Cycles = 3% * Hit Time Cycles = 0,03 * 15 = 0,45 cicles
Secondary Stalls Cycles = Miss Rate Global * 150 ns / Perodo = 0,013* 300 = 3,9 ciclos
Tertiary Stalls Cycles = Miss Rate Global * 50 ns / Perodo = 0,013* 100 = 1,3 cicles
CPI L1 L2 = CPI base + Primary Stalls + Secondary Stalls + Tertiary Stalls = 1,5 + 0,45 + 3,9 + 1,3 = 6,3
H melhora no desenpenho.

7.3 Para uma memria cache L2 off-chip de 512 KB, a taxa de miss global 4 % e o tempo de acesso de
50 ciclos. Cada acrscimo de 512 KB nesse nvel da memria reduz a taxa de miss global em 0,7%. Qual
a capacidade de memria de L2 para um desempenho similar aos valores de L2 presentes na tabela
acima?
Mapeamento direto.
a. CPI_L2 = CPI_BASE + (TAXA_MISS_L1 * PENALIDADE_MISS_L1) + (TAXA_MISS_L2 *
PENALIDADE_MISS_L2)
9.34 = 1.5 + 3.5 + 8 1.4n
1.4n = 3.66
n = 2.61 => 3 acrscimos de 512 KB

Total: 4*512 = 2048 KB


b. CPI_L2 = CPI_BASE + (TAXA_MISS_L1 * PENALIDADE_MISS_L1) + (TAXA_MISS_L2 *
PENALIDADE_MISS_L2)
16.45 = 1.0 + 1.5 + 12 2.1n
2.1n = -1.95
n = -0.92
No precisa acrescentar mais memria.
Mapeamento grupo associativo
a. CPI_L2 = CPI_BASE + (TAXA_MISS_L1 * PENALIDADE_MISS_L1) + (TAXA_MISS_L2 *
PENALIDADE_MISS_L2)
6.46 = 1.5 + 3.5 + 8 1.4n
1.4n = 6.54
n = 4.67 => 5 acrscimos de 512 KB
Total: 6*512 = 3072 KB
b. CPI_L2 = CPI_BASE + (TAXA_MISS_L1 * PENALIDADE_MISS_L1) + (TAXA_MISS_L2 *
PENALIDADE_MISS_L2)
7.6 = 1.0 + 1.5 + 12 2.1n
2.1n = 6.9
n = 3.28 => 4 acrscimos de 512 KB
Total: 5*512 = 2560 KB