revisão da prova - usp · revisão da prova 3 questão 18: em um computador, todas as atividades...

21
Í

Upload: others

Post on 14-Aug-2020

8 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Revisão da prova - USP · Revisão da prova 3 Questão 18: Em um computador, todas as atividades necessitam de sincronização. O clock serve justamente a este fim, ou seja, basicamente,

Í

Page 2: Revisão da prova - USP · Revisão da prova 3 Questão 18: Em um computador, todas as atividades necessitam de sincronização. O clock serve justamente a este fim, ou seja, basicamente,

Revisão da prova

2

Questão 20: A exploração do paralelismo em nível de instruções em uma arquitetura superescalar é realizada identificando no fluxo de instruções aquelas que são independentes a fim de que sejam processadas simultaneamente....

Page 3: Revisão da prova - USP · Revisão da prova 3 Questão 18: Em um computador, todas as atividades necessitam de sincronização. O clock serve justamente a este fim, ou seja, basicamente,

Revisão da prova

3

Questão 18: Em um computador, todas as atividades necessitam de sincronização. O clock serve justamente a este fim, ou seja, basicamente, atua como um sinal para sincronismo. A medição do clock é feita em hertz (Hz), a unidade padrão de medidas de frequência, que indica o número de oscilações ou ciclos que ocorre dentro de uma determinada medida de tempo, no caso, segundos. Por exemplo, o processador Intel® Core™2 Duo, com clock de 2,4 GHz executa:

a. 2 bilhões de tarefas por segundo

b. 4,8 bilhões de tarefas por segundo

c. 4 bilhões de tarefas por segundo

d. 2,4 bilhões de tarefas por segundo ?

Page 4: Revisão da prova - USP · Revisão da prova 3 Questão 18: Em um computador, todas as atividades necessitam de sincronização. O clock serve justamente a este fim, ou seja, basicamente,

ExemploAmdahl

4

• Considere uma melhoria em uma CPU que resultou emuma computação dez vezes mais rápida em relação a CPUoriginal. Esta CPU é ocupada com computação apenas40% de todo tempo. Qual é o speedup total obtido pelaintrodução da melhoria?

• Solução:– Caso comum: 40%– FraçãoX = 0.4– SpeedupX = 10

– O speedup total é dado por:

𝑆𝑝𝑒𝑒𝑑𝑢𝑝𝑡𝑜𝑡𝑎𝑙 =1

1 − 𝐹𝑟𝑎𝑐𝑡𝑖𝑜𝑛𝑋 +𝐹𝑟𝑎𝑐𝑡𝑖𝑜𝑛𝑋𝑆𝑝𝑒𝑒𝑑𝑢𝑝𝑋

Page 5: Revisão da prova - USP · Revisão da prova 3 Questão 18: Em um computador, todas as atividades necessitam de sincronização. O clock serve justamente a este fim, ou seja, basicamente,

ExemploAmdahl

5

• Considere uma melhoria em uma CPU que resultou emuma computação dez vezes mais rápida em relação a CPUoriginal. Esta CPU é ocupada com computação apenas40% de todo tempo. Qual é o speedup total obtido pelaintrodução da melhoria?

• Solução:– Caso comum: 40%

– FraçãoX = 0.4

– SpeedupX = 10

– O speedup total é dado por:

𝑆𝑝𝑒𝑒𝑑𝑢𝑝𝑡𝑜𝑡𝑎𝑙 =1

1 −0.4 +0.4

10

= 𝟏. 𝟓𝟔

Page 6: Revisão da prova - USP · Revisão da prova 3 Questão 18: Em um computador, todas as atividades necessitam de sincronização. O clock serve justamente a este fim, ou seja, basicamente,

Exercício 1

6

• Suponha que um programa seja executado em 100segundos em um computador. Considere que amultiplicação é responsável por 80 segundos do tempo deexecução. O quanto precisamos melhorar (speedupX) sequisermos que o programa seja executado 4 vezes maisrápido?– Dica:

• Speedup total = 4

𝑆𝑝𝑒𝑒𝑑𝑢𝑝𝑡𝑜𝑡𝑎𝑙 =1

1 − 𝐹𝑟𝑎𝑐𝑡𝑖𝑜𝑛𝑋 +𝐹𝑟𝑎𝑐𝑡𝑖𝑜𝑛𝑋𝑆𝑝𝑒𝑒𝑑𝑢𝑝𝑋

Page 7: Revisão da prova - USP · Revisão da prova 3 Questão 18: Em um computador, todas as atividades necessitam de sincronização. O clock serve justamente a este fim, ou seja, basicamente,

Exercício 1Resolução

7

• Suponha que um programa seja executado em 100segundos em um computador. Considere que amultiplicação é responsável por 80 segundos do tempo deexecução. O quanto precisamos melhorar (speedupX) sequisermos que o programa seja executado 4 vezes maisrápido?– Solução:

• Speedup total = 4• Caso comum: 80% do tempo da computação = 0.8

𝑆𝑝𝑒𝑒𝑑𝑢𝑝𝑡𝑜𝑡𝑎𝑙 =1

1 − 𝐹𝑟𝑎𝑐𝑡𝑖𝑜𝑛𝑋 +𝐹𝑟𝑎𝑐𝑡𝑖𝑜𝑛𝑋𝑆𝑝𝑒𝑒𝑑𝑢𝑝𝑋

⇒ 4 =1

1 −0.8 +0.8

𝑆𝑝𝑒𝑒𝑑𝑢𝑝𝑋

= ... ⇒ SpeedupX = 16

Page 8: Revisão da prova - USP · Revisão da prova 3 Questão 18: Em um computador, todas as atividades necessitam de sincronização. O clock serve justamente a este fim, ou seja, basicamente,

Exercício 2

8

• Um programa é executado por 1 segundo em umprocessador com tempo de ciclo de clock de 50 nsege vazão de 15 MIPS.

1. Quantos CPI tem esse programa?

fCLOCK = 1/ TCLOCK

CPI = fCLOCK / MIPS*106

Page 9: Revisão da prova - USP · Revisão da prova 3 Questão 18: Em um computador, todas as atividades necessitam de sincronização. O clock serve justamente a este fim, ou seja, basicamente,

Exercício 2Resolução

9

• Um programa é executado por 1 segundo em umprocessador com tempo de ciclo de clock de 50 nsege vazão de 15 MIPS.

1. Quantos CPI tem esse programa?

TCLOCK = 50 nseg ⇒ fCLOCK = 1/ TCLOCK = 20 MHz

CPI = fCLOCK / MIPS*106 = 20* 106 / 15* 106 = 1,33

Page 10: Revisão da prova - USP · Revisão da prova 3 Questão 18: Em um computador, todas as atividades necessitam de sincronização. O clock serve justamente a este fim, ou seja, basicamente,

Exercício 3

10

• Um programa é executado por 1 segundo em um processador com tempo de ciclo de clock de 50 nsege vazão de 15 MIPS.

2. Vamos assumir que, dada alguma técnica de otimização, a vazão do programa é otimizada. Neste novo cenário, 40% das instruções do programa são executadas com CPI = 1, enquanto a fração remanescente de instruções (60%) é executada com a mesma CPI calculada no exercício anterior (1,33).

• Qual é o speedup do cenário 2 para o cenário 1?

• Qual é a vazão expressa em MIPS?

Speedup2 = CPI1 / CPI2 Speedup = 1 / [(1-FE)+FE/SpeedupE]

Speedup2 = MIPS2 / MIPS1

Page 11: Revisão da prova - USP · Revisão da prova 3 Questão 18: Em um computador, todas as atividades necessitam de sincronização. O clock serve justamente a este fim, ou seja, basicamente,

Exercício 3Resolução

11

• Um programa é executado por 1 segundo em um processador com tempo de ciclo de clockde 50 nseg e vazão de 15 MIPS.2. Vamos assumir que, dada alguma técnica de otimização, a vazão do programa é otimizada. Neste

novo cenário, 40% das instruções do programa são executadas com CPI = 1, enquanto a fração remanescente de instruções (60%) é executada com a mesma CPI calculada no exercício anterior (1,33).

• Qual é o speedup do cenário 2 para o cenário 1?Solução:FE = 0,40SpeedUpE = CPI1 / CPIE = 1,33 / 1 = 1,33

• Qual é a vazão expressa em MIPS?Solução:Speedup = 1 / [(1-FE)+FE/SpeedupE] = 1 / (0,6 + 0,4 / 1,33) = 1,11

Speedup = MIPS2 / MIPS1

⇒ MIPS2 = Speedup * MIPS1 = 1,11 * 15 = 16,65

Page 12: Revisão da prova - USP · Revisão da prova 3 Questão 18: Em um computador, todas as atividades necessitam de sincronização. O clock serve justamente a este fim, ou seja, basicamente,

Exercício 4

12

• Um programa é executado por 1 segundo em um processador com tempo de ciclo de clock de 100 nseg e CPI = 1,5.

– Qual é a vazão expressa em MIPS?

fCLOCK = 1/ TCLOCK

CPI = fCLOCK / MIPS*106

Page 13: Revisão da prova - USP · Revisão da prova 3 Questão 18: Em um computador, todas as atividades necessitam de sincronização. O clock serve justamente a este fim, ou seja, basicamente,

Exercício 4

13

• Um programa é executado por 1 segundo em um processador com tempo de ciclo de clock de 100 nseg e CPI = 1,5.

– Qual é a vazão expressa em MIPS?

TCLOCK = 100 nseg ⇒ fCLOCK = 1/ TCLOCK = 10 MHz

MIPS = fCLOCK / CPI *106 = 10* 106 / 1,5* 106 = 6,66

Page 14: Revisão da prova - USP · Revisão da prova 3 Questão 18: Em um computador, todas as atividades necessitam de sincronização. O clock serve justamente a este fim, ou seja, basicamente,

Exercício 5

14

• Um programa é executado por 1 segundo em um processador com tempo de ciclo de clock de 100 nseg e CPI = 1,5.

– Vamos assumir que dada alguma técnica de otimização, 30% das instruções do programa são executadas com CPI=1, enquanto a fração remanescente é executada com a mesma CPI.

– Qual é o speedup do cenário 2 em relação ao 1?

– Qual é a vazão expressa em MIPS?

SpeedupE = CPI1 / CPIE Speedup = 1 / [(1-FE)+FE/SpeedupE]

Speedup2 = MIPS2 / MIPS1

Page 15: Revisão da prova - USP · Revisão da prova 3 Questão 18: Em um computador, todas as atividades necessitam de sincronização. O clock serve justamente a este fim, ou seja, basicamente,

Exercício 5

15

• Vamos assumir que dada alguma técnica de otimização, 30% das instruções do programa são executadas com CPI=1, enquanto a fração remanescente é executada com a mesma CPI.

– Qual é o speedup do cenário 2 em relação ao 1?Solução:

FE = 0,30SpeedUpE = CPI1 / CPIE = 1,5 / 1 = 1,5

Speedup = 1 / [(1-FE)+FE/SpeedupE] = 1 / (0,7 + 0,3 / 1,5) = 1,11

– Qual é a vazão expressa em MIPS?Solução:

Speedup = MIPS2 / MIPS1

⇒ MIPS2 = Speedup * MIPS1 = 1,11 * 6,66 = 7,4

Page 16: Revisão da prova - USP · Revisão da prova 3 Questão 18: Em um computador, todas as atividades necessitam de sincronização. O clock serve justamente a este fim, ou seja, basicamente,

Exercício 6

16

• Vamos considerar um computador executando o seguinte conjunto de instruções:

1. Qual é o CPI médio assumindo que o período de clock é de 5 ns?

2. De quanto é o speedup assumindo que, introduzindo uma cache de dados otimizada, instruções de LOAD levarão 2 ciclos de clock?

3. Qual é o speedup assumindo que, introduzindo uma unidade de desvio otimizada, instruções de desvio levarão 1 ciclo de clock?

4. Qual é o speedup assumindo a introdução de 2 ALUs trabalhando em paralelo?

5. Qual é o speedup assumindo a introdução de todas as otimizações feitas acima?

Page 17: Revisão da prova - USP · Revisão da prova 3 Questão 18: Em um computador, todas as atividades necessitam de sincronização. O clock serve justamente a este fim, ou seja, basicamente,

Exercício 6

17

• Vamos considerar um computador executando o seguinte conjunto de instruções:

1. Qual é o CPI médio assumindo que o período de clock é de 5 ns?Solução:

CPI1 = CPIm = 0,5 * 1 + 0,2 * 5 + 0,1 * 3 + 0,2 * 2 = 2,2

Qual é a taxa de vazão expressa em MIPS, no caso 1?

MIPS = fCLOCK / (CPI *106) = 200 * 106 / 2,2 * 106 = 90,9

CPIm = 𝒊=𝟏

𝒏(𝑪𝑷𝑰𝒊 × 𝑭𝒊) Onde Fi =

𝐼𝑖𝐼𝐶

, “frequência da instrução”

Page 18: Revisão da prova - USP · Revisão da prova 3 Questão 18: Em um computador, todas as atividades necessitam de sincronização. O clock serve justamente a este fim, ou seja, basicamente,

Exercício 6

18

• Vamos considerar um computador executando o seguinte conjunto de instruções:

2. Quanto é o Speedup assumindo que, introduzindo uma cache de dados otimizada, instruções de LOAD levarão 2 ciclos de clock?Solução:CPI2 = CPIm = 0,5 * 1 + 0,2 * 2 + 0,1 * 3 + 0,2 * 2 = 1,6

Speedup = CPI1 / CPI2 = 2,2 / 1,6 = 1,375

Page 19: Revisão da prova - USP · Revisão da prova 3 Questão 18: Em um computador, todas as atividades necessitam de sincronização. O clock serve justamente a este fim, ou seja, basicamente,

Exercício 6

19

• Vamos considerar um computador executando o seguinte conjunto de instruções:

3. Qual é o Speedup assumindo que, introduzindo uma unidade de desvio otimizada, instruções de desvio levarão 1 ciclo de clock?Solução:CPI3 = CPIm = 0,5 * 1 + 0,2 * 5 + 0,1 * 3 + 0,2 * 1 = 2

Speedup = CPI1 / CPI3 = 2,2 / 1,6 = 1,1

Page 20: Revisão da prova - USP · Revisão da prova 3 Questão 18: Em um computador, todas as atividades necessitam de sincronização. O clock serve justamente a este fim, ou seja, basicamente,

Exercício 6

20

• Vamos considerar um computador executando o seguinte conjunto de instruções:

4. Qual é o Speedup assumindo a introdução de 2 ALUstrabalhando em paralelo?Solução:

CPI4 = CPIm = 0,5 * 0,5 + 0,2 * 5 + 0,1 * 3 + 0,2 * 1 = 1,95

Speedup = CPI1 / CPI4 = 2,2 / 1,95 = 1,13

Page 21: Revisão da prova - USP · Revisão da prova 3 Questão 18: Em um computador, todas as atividades necessitam de sincronização. O clock serve justamente a este fim, ou seja, basicamente,

Exercício 6

21

• Vamos considerar um computador executando o seguinte mix de instruções:

5. Qual é o Speedup assumindo a introdição de todas as otimizações feitas acima?Solução:CPI5 = CPIm = 0,5 * 0,5 + 0,2 * 2 + 0,1 * 3 + 0,2 * 1 = 1,15

Speedup = CPI1 / CPI5 = 2,2 / 1,15 = 1,91