A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

1998 Morgan Kaufmann Publishers Mario Côrtes - MO401 - IC/Unicamp- 2002s1 Ch6-1 Chapter Six Pipelining.

Cópias: 1
1998 Morgan Kaufmann Publishers Mario Côrtes - MO401 - IC/Unicamp- 2002s1 Ch6-1 Chapter Six Pipelining.

Apresentações semelhantes


Apresentação em tema: "1998 Morgan Kaufmann Publishers Mario Côrtes - MO401 - IC/Unicamp- 2002s1 Ch6-1 Chapter Six Pipelining."— Transcrição da apresentação:

1 1998 Morgan Kaufmann Publishers Mario Côrtes - MO401 - IC/Unicamp- 2002s1 Ch6-1 Chapter Six Pipelining

2 1998 Morgan Kaufmann Publishers Mario Côrtes - MO401 - IC/Unicamp- 2002s1 Ch6-2 Pipelining: analogia com linha de produção Tempo de fabricação de um carro: C+M+C+P+A Taxa de produção (carros/h): medido na saída –throughput: depende do número de estágios e do balanceamento Objetivo do pipeline: –distribuir e balancear o tempo em cada estágio –otimizar o uso de HW dos estágios (taxa de ocupação) –resumo: aumentar a velocidade e diminuir o hardware tempo

3 1998 Morgan Kaufmann Publishers Mario Côrtes - MO401 - IC/Unicamp- 2002s1 Ch6-3 Pipelining Improve perfomance by increasing instruction throughput tempo de execução de uma instrução: 8 ns e 9 ns (com ou sem pipe) throughput: 1 instr / 8ns (sem pipeline) ou 1 instr / 2 ns (com) # de estágios = 5; ganho de 4:1; para obter 5:1 ??

4 1998 Morgan Kaufmann Publishers Mario Côrtes - MO401 - IC/Unicamp- 2002s1 Ch6-4 Pipelining What makes it easy –all instructions are the same length –just a few instruction formats –memory operands appear only in loads and stores What makes it hard? –structural hazards: suppose we had only one memory –control hazards: need to worry about branch instructions –data hazards: an instruction depends on a previous instruction Well build a simple pipeline and look at these issues Well talk about modern processors and what really makes it hard: –exception handling –trying to improve performance with out-of-order execution, etc.

5 1998 Morgan Kaufmann Publishers Mario Côrtes - MO401 - IC/Unicamp- 2002s1 Ch6-5 Basic Idea What do we need to add to actually split the datapath into stages?

6 1998 Morgan Kaufmann Publishers Mario Côrtes - MO401 - IC/Unicamp- 2002s1 Ch6-6 IMRegDMReg ALU IMRegDMReg ALU CC 1CC 2CC 3CC 4CC 5CC 6CC 7 Time (in clock cycles) lw $2, 200($0) lw $3, 300($0) Program execution order (in instructions) lw $1, 100($0)IMRegDMReg ALU Uma representação para o pipeline Hachurado representa atividade Representação alternativa: imaginando que cada instrução tenha a sua própria via de dados Outra representação: foto no tempo

7 1998 Morgan Kaufmann Publishers Mario Côrtes - MO401 - IC/Unicamp- 2002s1 Ch6-7 Pipelined Datapath O que é produzido em cada estágio é armazenado em um registrador de pipeline para uso pelo próximo estágio Problemas com o endereço do registrador de escrita?? Caminhando para esquerda?

8 1998 Morgan Kaufmann Publishers Mario Côrtes - MO401 - IC/Unicamp- 2002s1 Ch6-8 Corrected Datapath

9 Exemplo com sub e lw (1)

10 Exemplo com sub e lw (2)

11 Exemplo com sub e lw (3)

12 1998 Morgan Kaufmann Publishers Mario Côrtes - MO401 - IC/Unicamp- 2002s1 Ch6-12 Graphically Representing Pipelines Can help with answering questions like: –how many cycles does it take to execute this code? –what is the ALU doing during cycle 4? –use this representation to help understand datapaths IMRegDMReg IMRegDMReg CC 1CC 2CC 3CC 4CC 5CC 6 Time (in clock cycles) lw $10, 20($1) Program execution order (in instructions) sub $11, $2, $3 ALU ALU


Carregar ppt "1998 Morgan Kaufmann Publishers Mario Côrtes - MO401 - IC/Unicamp- 2002s1 Ch6-1 Chapter Six Pipelining."

Apresentações semelhantes


Anúncios Google