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

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

Pipeline.

Apresentações semelhantes


Apresentação em tema: "Pipeline."— Transcrição da apresentação:

1 Pipeline

2 Processo de Pipelining (exemplo da lavanderia)
Ana, Bruno, Carla, Luiz têm roupas sujas a serem lavadas, secadas, dobradas e guardadas Lavadora leva 30 minutos Secadora leva 30 minutos “Dobrar” leva 30 minutos “Guardar” leva 30 minutos A B C D

3 Pipelining (exemplo da lavanderia)
6 PM 7 8 9 10 11 12 1 2 AM O r d e m T a f s 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 Tempo A B C D Processo seqüencial de lavagem leva oito horas para os quatro Quanto tempo levaria, utilizando-se pipelining ?

4 Pipelining (exemplo da lavanderia)
T a f s 12 2 AM 6 PM 7 8 9 10 11 1 Tempo B C D A 30 Utilizando-se a técnica de pipeline consome-se 3,5 horas no processo de lavagem !

5 Observações sobre Pipelining
Pipelining não ajuda a melhorar a latência de uma atividade, mas aumenta o throughput Várias tarefas operando em paralelo utilizam recursos diversos Aceleração potencial = Número de estágios de pipe Taxa de pipeline limitada pelo estágio mais lento Desequilíbrios na duração dos estágios reduz a a aceleração Tempo para “encher” o pipeline e para “esvaziá-lo”reduz a aceleração Pode parar por dependências 6 PM 7 8 9 Tempo B C D A 30 O r d e m T a f s

6 Idéia Básica BI: Busca da instrução DI: Decodificação/
Leitura do banco de registradores EX: Execução/ Cálculo do endereço MEM: Acesso à memória ER: Escrita mo banco de registradores M u x 1 s m o d a r s m o d a r Resultado da soma 4 Registradores S h i f t l e f t 2 Endereço Reg a ser lido #1 P C Dado lido #1 Zero Instrução Reg a ser lido #2 Dado lido #2 UAL Dado lido Memória de Instruções Reg a ser escrito Endereço M Resultado da UAL Memória de Dados 1 x u M u 1 x Dado a ser escrito Ext. de sinal 1 6 3 2

7 Os Cinco Estágios da Instrução de Carga
Ciclo 1 Ciclo 2 Ciclo 3 Ciclo 4 Ciclo 5 Busca: Busca da instrução da memória de instruções Reg/Dec: Leitura do(s) registrador(es) e decodificação da Instrução UAL: Calcula o endereço da memória de dados Mem: Lê dado da memória de dados Reg: Escreve o dado no banco de registradores Load Busca Reg/Dec UAL Mem Reg As shown here, each of these five steps will take one clock cycle to complete. And in pipeline terminology, each step is referred to as one stage of the pipeline. +1 = 8 min. (X:48)

8 Pipelining . . . Ordem de execução do programa (em instruções) Tempo 2
4 6 8 1 1 2 1 4 1 6 1 8 R e g Busca UAL Acesso ao dado l w 1 1 Acesso ao dado l w 2 2 8 n s Busca R e g UAL R e g l w 3 3 8 n s Busca . . . 8 n s Ordem de execução do programa (em instruções) Tempo 2 4 6 8 1 1 2 1 4 Acesso ao dado l w 1 1 Busca UAL R e g R e g Acesso ao dado l l w 2 2 2 n s Busca UAL R e g R e g Acesso ao dado Busca UAL l w 3 3 2 n s R e g R e g 2 n s 2 n s 2 n s 2 n s 2 n s

9 Monociclo vs Pipeline Ciclo 1 Ciclo2 Clk Implementação Monociclo: Load
Store Waste Ciclo 1 Ciclo 2 Ciclo 3 Ciclo 4 Ciclo 5 Ciclo 6 Ciclo 7 Ciclo 8 Ciclo 9 Ciclo 10 Clk Implementação Pipeline: Here are the timing diagrams showing the differences between the single cycle, multiple cycle, and pipeline implementations. For example, in the pipeline implementation, we can finish executing the Load, Store, and R-type instruction sequence in seven cycles. In the multiple clock cycle implementation, however, we cannot start executing the store until Cycle 6 because we must wait for the load instruction to complete. Similarly, we cannot start the execution of the R-type instruction until the store instruction has completed its execution in Cycle 9. In the Single Cycle implementation, the cycle time is set to accommodate the longest instruction, the Load instruction. Consequently, the cycle time for the Single Cycle implementation can be five times longer than the multiple cycle implementation. But may be more importantly, since the cycle time has to be long enough for the load instruction, it is too long for the store instruction so the last part of the cycle here is wasted. +2 = 77 min. (X:57) Load Busca Reg Exec Mem Escr Store Busca Reg Exec Mem Escr Tipo R Busca Reg Exec Mem Escr

10 Porque Usar Pipeline? Suponha que vão ser executadas 100 instruções
Máquina monociclo 1 ciclo de relógio tem duração de 45 ns 45 ns/ciclo  1 CPI x 100 inst = 4500 ns Máquina ideal pipelined 1 ciclo de relógio tem duração de 10 ns cada estágio de pipeline utiliza um ciclo de relógio 5  1 ciclo + (1 ciclo  (100 inst -1)) = 50 ns + 99  10 ns = 1040 ns

11 Representação Gráfica de Pipeline
U C 1 2 3 4 5 6 7 l w $ , ( ) Ordem de execução do programa (em instruções) Tempo (em ciclos de clock) MI MD

12 Pipeline - Recursos disponíveis
Tempo (ciclos de clock) O r d e m I n s t r. ALU Mi Reg Md Inst 0 ALU Mi Reg Md Inst 1 ALU Mi Reg Md Inst 2 Inst 3 ALU Mi Reg Md Inst 4 ALU Mi Reg Md

13 Conflitos do Pipeline Conflitos estruturais: tentativa de utilizar o mesmo recurso de modos diferentes ao mesmo tempo E.x., lavadora/secadora combinadas, ou pessoa que dobra ocupada com outra atividade (lavando panela) sem duas memórias, não poderia ter acesso à instrução simultâneo com dados

14 Conflito Estrutural - Memória Única
Mi Tempo (ciclos de clock) Load Instr 1 Instr 2 Instr 3 Instr 4 ALU Reg Md O r d e m I n s t r. Deteção fácil nesse caso!

15 Conflitos do Pipeline Conflitos de controle: tentativa de tomar uma decisão antes que a condição seja avaliada E.x., lavar uniformes de time de futebol e precisa saber quantidade de sabão; precisa esperar a secadora para colocar próximo uniforme instruções de desvio

16 Soluções para Conflito de Controle
Parada: espera até decisão estar clara O r d e m I n s t Tempo (ciclos de clock) ALU Mi Reg Md Reg Add ALU Beq Mi Reg Md Reg Load ALU Mi Reg Md Reg

17 Soluções para Conflito de Controle
Predição: escolhe uma direção e retorna se errada predição não executada Certo ­ 50% do tempo O r d e m I n s t Tempo (ciclos de clock) ALU Mi Reg Md Reg Add ALU Beq Mi Reg Md Reg Load ALU Mi Reg Md Reg

18 Conflitos do Pipeline Conflitos de dados: tentativa de utilizar um item antes de estar pronto E.x., uma meia na secadora outro na lavadora; não pode dobrar instrução depende de resultado da instrução anterior ainda no pipeline

19 Conflito de Dados com r1 add r2 r3 r1 addi r1 r4 100

20 Conflito de Dados com r1 add r2 r3 r1 addi r1 r4 100
Tempo (ciclos de clock) BI ID/RF EX MEM REG add r2 r3 r1 Mi Reg ALU Reg Md O r d e m I n s t addi r1 r4 100 Mi Reg ALU Md Reg

21 Solução para Conflito por Dados
“Adiantamento” do resultado de um estágio para outro Tempo (ciclos de clock) BI ID/RF EX MEM ER add r2 r3 r1 Mi Reg ALU Reg Md O r d e m I n s t ALU addi r1 r4 100 Mi Reg Md Reg


Carregar ppt "Pipeline."

Apresentações semelhantes


Anúncios Google