Pipeline.

Slides:



Advertisements
Apresentações semelhantes
PIPELINE (continuação).
Advertisements

Introdução à Hierarquia de Memória
CPU: Controle e processamento
WebDesign Redes de Computadores Aula 07
Arquitetura e organização de computadores.
Aula 06: Introdução ao Pipelining, Hazards Estruturais e Forwarding
Introdução Arquitectura com unidade de controlo uniciclo.
0. Introdução.
ARQUITETURAS RISC E CISC
Exemplo de arquitetura registrador-registrador- MIPS
MIPS PIPELINE.
Processador Fluxo de Dados e Controle
AULA 06 - MIPS PIPELINE.
Processo de Pipelining (exemplo da lavanderia)
MC542 Organização de Computadores Teoria e Prática
Daniel M. Aquino, Marcelo C. Perez, Thais A. B. Fernandes
Arquiteturas Superescalares
Organização de Computadores Inserindo o Controle Identifica pontos de controle no caminho de dados – Busca da instrução – Operações lógicas e aritméticas.
CISC e RISC.
Modelos de Computadores Paralelos
SSC114 Arquitetura de Computadores Pipeline - Predição de desvios
SSC144 Arquitetura de Computadores Introdução
SSC114 Arquitetura de Computadores Pipeline - Desempenho
Dados do Grupo. 1) Apresentação do Testbench Desenvolvido:
Maria Aparecida Castro Livi
Joao Cláudio Soares Otero
Rganização de Computadores Melhorias de Desempenho com Pipelines - Parte B - Capítulo 6 – Patterson & Hennessy Organização de Computadores Melhorias de.
Rganização de Computadores Melhorias de Desempenho com Pipelines Capítulo 6 – Patterson & Hennessy Organização de Computadores Melhorias de Desempenho.
Prof. Fábio M. Costa Instituto de Informática Universidade Federal de Goiás rganização de Computadores Organização do Processador Parte B Capítulo 5 –
Pipelining Ana Cristina Alves de Oliveira ufcg. edu
Professor: Erivelto Tschoeke – UDESC/CEPLAN
Sistemas Digitais Microprocessados
Multiplicador e Forwarding no MIPS
Linguagens de Programação
Autor: Fernando de Mesentier Silva
Melhorando o desempenho com pipeline
Y86: Encadeamento de Instruções (PIPE-)
Processadores – Aula 3 Professor: André Luis Meneses Silva
Processadores – Aula 3 Professor: André Luis Meneses Silva
Introdução à Programação
Prof. Felipe Ferreira de Oliveira
Unidade Central de Processamento
Unidade Central de Processamento
Unidade Central de Processamento
Prof.: Vagner Pinto Borges Prof.: Vagner Pinto Introdução à Arquitetura e Organização.
Pipeline O throughput de um pipeline é determinado pela freqüência com que uma instrução sai do pipeline. Todos os estágios devem estar prontos ao mesmo.
Arquitetura de computadores
Arquitetura de computadores
Organização e Arquitetura de Computadores
Agenda - Aula 2 Introdução (Computador Digital) Processadores
Contextualização de Paralelismo em nível de instrução
Arquitetura de Computadores
Unidade Central De Processamento: Processador
POLIMIG Curso Técnico em Informática Disciplina: Hardware
Unidade Central De Processamento: Processador
Paralelismo em Máquinas Monoprocessadas
Conceitos Avançados de Arquitetura de Computadores Arquiteturas RISC Reduced Instruction Set Computer 6.
Bruno Iran Ferreira Maciel
1  1998 Morgan Kaufmann Publishers Paulo C. Centoducatte – MC542 - IC/Unicamp- 2006s Prof. Paulo Cesar Centoducatte
Estrutura do Processador
Arquitetura de Computadores Processadores 2 Waldemiro Arruda.
Arquitetura de computadores
Organização de Computadores Implementação da UCP Construção do caminho de dados Controle Implementação monociclo.
 Evolução constante das linguagens de programação de alto nível (LAN) desde o Fortran (primeira LAN)  Surgimento de novos paradigmas como a OO, Orientação.
 Todo processador é constituído de circuitos capazes de realizar algumas operações primitivas:  Somar e subtrair  Mover um dado de um local de armazenamento.
TRABALHO AVALIATIVO ALUNO: FRANCISCO HELIÉSUS DE MEDEIROS MATÉRIA: ORGANIZAÇÃO DE COMPUTADORES.
Construção de Via de dados Trabalho Avaliativo do Primeiro Bimestre. Marcos André de Sena Silva.
Microprogramação Controlador Microprogramado RI Microcomandos UAL MICROMEMÓRIA MPC MIR DECOD.... Vamos então construir o controlador microprogramado do.
Caminho de Dados (aula passada)
Transcrição da apresentação:

Pipeline

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

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 ?

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 !

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

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

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)

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

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

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

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

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

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

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!

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

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

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

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

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

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

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