Rganização de Computadores Melhorias de Desempenho com Pipelines - Parte B - Capítulo 6 – Patterson & Hennessy Organização de Computadores Melhorias de.

Slides:



Advertisements
Apresentações semelhantes
IFTO ESTRUTURA DE DADOS AULA 05 Prof. Manoel Campos da Silva Filho
Advertisements

Contadores e Registradores
PIPELINE (continuação).
UNICAMP Universidade Estadual de Campinas Centro Superior de Educação Tecnológica Divisão de Telecomunicações Propagação de Ondas e Antenas Prof.Dr. Leonardo.
CPU: Controle e processamento
Arquitetura de Computadores
WebDesign Redes de Computadores Aula 05
WebDesign Redes de Computadores Aula 07
UNIVERSIDADE FEDERAL DO PARANÁ DISCIPLINA DE ANATOMIA PATOLÓGICA
14/10/09 Uma animação possui: Início; Passo; Fim; 1.
Nome : Resolve estas operações começando no centro de cada espiral. Nos rectângulos põe o resultado de cada operação. Comprova se no final.
Copyright (c) 2003 by Valery Sklyarov and Iouliia Skliarova: DETUA, IEETA, Aveiro University, Portugal.
Introdução ao Projecto com Sistemas Digitais e Microcontroladores Introdução à arquitectura de microprocessadores - 1 Introdução à arquitectura de microprocessadores.
Software Básico Silvio Fernandes
Software Básico Silvio Fernandes
Excel Profa. Cristina M. Nunes.
Exemplo de arquitetura registrador-registrador- MIPS
MIPS PIPELINE.
MIPS MULTICICLO Fluxo de Dados e Controle
Processador Fluxo de Dados e Controle
Processo de Pipelining (exemplo da lavanderia)
Pipeline.
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.
SSC114 Arquitetura de Computadores Pipeline - Predição de desvios
SSC144 Arquitetura de Computadores Introdução
Introdução à Informática
Rganização de Computadores A Interface entre o Processador e os Periféricos Capítulo 8 – Patterson & Hennessy (seções 8.4 e 8.5) Organização de Computadores.
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 –
Rganização de Computadores Hierarquia de Memórias Capítulo 7 – Patterson & Hennessy (seções 7.1 a 7.3) Organização de Computadores Hierarquia de Memórias.
Prof. Fábio M. Costa Instituto de Informática Universidade Federal de Goiás rganização de Computadores Organização do Processador - Parte A Capítulo 5.
Estudo de Caso 1: UNIX e LINUX
Autor: Fernando de Mesentier Silva
Melhorando o desempenho com pipeline
Classes e objetos P. O. O. Prof. Grace.
Técnica de Contagem.
Processadores – Aula 3 Professor: André Luis Meneses Silva
Provas de Concursos Anteriores
Financeiro - Cadastro de Conta Contábil
Módulo Financeiro Centro de Custo.
Processadores – Aula 3 Professor: André Luis Meneses Silva
Introdução à Programação
Processadores Livro Introdução à Organização de Computadores Capítulo: 6 – Processadores.
Cinemática de uma Partícula Cap. 12
PROGRAMAÇÃO I UNIDADE 1.
Prof. Felipe Ferreira de Oliveira
Cinemática Plana de um Corpo Rígido Cap. 16
MECÂNICA - DINÂMICA Cinemática de uma Partícula Cap Exercícios.
Funcionamento básico de um computador
1 António Arnaut Duarte. 2 Sumário: primeiros passos;primeiros passos formatar fundo;formatar fundo configurar apresentação;configurar apresentação animação.
Resolução de problemas por meio de busca
Coordenação Geral de Ensino da Faculdade
Arquitetura de computadores
Revisão Prova 2 Métodos de Acesso – Parte 2 AULA 21 Profa. Sandra de Amo GBC053 – BCC.
Semana 03 Comandos de desvio de fluxo. Expressões lógicas.
EXERCÍCIOS PARA GUARDA-REDES
1 2 Observa ilustração. Cria um texto. Observa ilustração.
ELETRÔNICA DIGITAL Circuitos Aritméticos
Organização e Arquitetura de Computadores
Agenda - Aula 2 Introdução (Computador Digital) Processadores
MATRICIAL CONSULTORIA LTDA. PREFEITURA MUNICIPAL DE GARIBALDI 23/10/ : ATENÇÃO Os locais descritos nas planilhas anexas não correspondem ao total.
Contextualização de Paralelismo em nível de instrução
Unidade Central De Processamento: Processador
1 Prof. Humberto Pinheiro, Ph.D SISTEMAS DE MODULAÇÃO DPEE-CT-UFSM Modulação Geométrica Conversores Multiníveis Trifásicos com Diodo de Grampeamento.
Organização e Arquitetura de Computadores
GINÁSTICA LABORAL UM NOVO CAMINHO.
1  1998 Morgan Kaufmann Publishers Paulo C. Centoducatte – MC542 - IC/Unicamp- 2006s Prof. Paulo Cesar Centoducatte
Organização de Computadores Implementação da UCP Construção do caminho de dados Controle Implementação monociclo.
Construção de Via de dados Trabalho Avaliativo do Primeiro Bimestre. Marcos André de Sena Silva.
Caminho de Dados (aula passada)
Transcrição da apresentação:

rganização de Computadores Melhorias de Desempenho com Pipelines - Parte B - Capítulo 6 – Patterson & Hennessy Organização de Computadores Melhorias de Desempenho com Pipelines - Parte B - Capítulo 6 – Patterson & Hennessy Prof. Fábio M. Costa Instituto de Informática Universidade Federal de Goiás

Prof. Fábio M. Costa - Instituto de Informática - UFGOrganização de Computadores 2 Controle do Processador com Pipeline Utilizando os mesmos sinais de controle do caminho de dados monociclo – Elementos do caminho de dados que não possuem sinais específicos são ativados pela transição do relógio (como sempre) Problema: – Determinar quais são os sinais de controle ativos durante cada estágio do pipeline Suposição (simplifica bastante): – Cada linha de controle é usada em apenas um estágio

Prof. Fábio M. Costa - Instituto de Informática - UFGOrganização de Computadores 3 Caminho de dados em Pipeline com os sinais de controle

Prof. Fábio M. Costa - Instituto de Informática - UFGOrganização de Computadores 4 Sinais usados em cada estágio Busca e Decodificação: nenhum – Todas as ações são executadas para todas as instruções Execução / Cálculo do endereço – RegDst, UALOp, e UALFonte Acesso à memória – DvC, LerMem, e EscMem Escrita de resultado – MemParaReg e EscReg

Prof. Fábio M. Costa - Instituto de Informática - UFGOrganização de Computadores 5 Sinais de controle e seus efeitos Valor a ser escrito no registrador de destino vem da memória Valor a ser escrito no registrador de destino vem da UAL MemParaReg Escreve o valor em Dado a ser escrito no endereço selecionado NenhumEscMem Palavra endereçada é produzida na saída de leitura da memória NenhumLerMem PC = PC End. alvo do desvio (saída do somador) PC = PC + 4FontePC Segundo operando da UAL: extensão do deslocamento Segundo operando da UAL: reg. em Dado lido #2 UALFonte Escreve o valor presente em Dado de Escrita no reg. selecionado por Reg. a ser escrito NenhumEscReg Reg. a ser escrito: bits da instrução (campo rd) Reg. a ser escrito: bits da instrução (campo rt) RegDst Efeito se = 0 (inativo) Efeito se = 1 (ativo) Nome do Sinal

Prof. Fábio M. Costa - Instituto de Informática - UFGOrganização de Computadores 6 Sinais de controle da UAL 111set less than set less than10Tipo R 001or OR10Tipo R 000and AND10Tipo R 110subtração subtract10Tipo R 010soma add10Tipo R 110subtração XXXXXX branch equal01Branch equal 010soma XXXXXX store word00SW 010soma XXXXXX load word00LW Entrada de controle da UAL Operação da UAL Campo de Função Operação da Instrução UALOpopcode

Prof. Fábio M. Costa - Instituto de Informática - UFGOrganização de Computadores 7 Valores dos sinais de controle nos estágios 3, 4 e 5 do Pipeline X XBEQ X XSW LW Tipo R Mem ParaReg EscRegDvCEscMemLerMem UAL Fonte UALOp0UALOp1RegDstInstru- ção Estágio de Execução Acesso à Memória Resultado

Prof. Fábio M. Costa - Instituto de Informática - UFGOrganização de Computadores 8 Geração e transferência dos sinais de controle entre os estágios

Prof. Fábio M. Costa - Instituto de Informática - UFGOrganização de Computadores 9 Caminho de dados Pipeline com os sinais de controle conectados

Prof. Fábio M. Costa - Instituto de Informática - UFGOrganização de Computadores 10 Exercício Ilustrar a execução da seguinte seqüência de instruções no pipeline do slide anterior Add $1, $2, $3 Add $4, $1, $3 Beq $2, $3, 100 Sub $10, $11, $12 Add $10, $11, $12 Que problemas você encontrou e quais as soluções para melhorar o pipeline? +100:

Prof. Fábio M. Costa - Instituto de Informática - UFGOrganização de Computadores 11 Exercícios do Livro (P&H, Cap. 6) 6.1 a 6.5

Prof. Fábio M. Costa - Instituto de Informática - UFGOrganização de Computadores 12 Execução de uma seqüência de instruções no Pipeline... lw$10, 20($1) sub$11, $2, $3 and$12, $4, $5 or$13, $6, $7 add$14, $8, $9...

Prof. Fábio M. Costa - Instituto de Informática - UFGOrganização de Computadores 13 Observar: Progresso dos dados de cada instrução à medida que ela prossegue pelo pipeline – Ex.: número do registrador de destino Sinais inativos em um dado estágio – marcados com 0 ou X Não é necessário hardware adicional (além dos registradores do pipeline) para transferir os sinais de controle de um estágio para o próximo – Podemos, no estágio 2, usar a mesma lógica de controle principal usada no Capítulo 5 (monociclo) para decodificar a instrução

Prof. Fábio M. Costa - Instituto de Informática - UFGOrganização de Computadores 14 Ciclo 1

Prof. Fábio M. Costa - Instituto de Informática - UFGOrganização de Computadores 15 Ciclo 2

Prof. Fábio M. Costa - Instituto de Informática - UFGOrganização de Computadores 16 Ciclo 3

Prof. Fábio M. Costa - Instituto de Informática - UFGOrganização de Computadores 17 Ciclo 4

Prof. Fábio M. Costa - Instituto de Informática - UFGOrganização de Computadores 18 Ciclo 5

Prof. Fábio M. Costa - Instituto de Informática - UFGOrganização de Computadores 19 Ciclo 6

Prof. Fábio M. Costa - Instituto de Informática - UFGOrganização de Computadores 20 Ciclo 7

Prof. Fábio M. Costa - Instituto de Informática - UFGOrganização de Computadores 21 Ciclo 8

Prof. Fábio M. Costa - Instituto de Informática - UFGOrganização de Computadores 22 Ciclo 9

Prof. Fábio M. Costa - Instituto de Informática - UFGOrganização de Computadores 23 Conflitos por Dados e Adiantamento de Resultados Ocorre quando as instruções em uma seqüência de código são dependentes entre si quanto aos dados que produzem/utilizam sub$2,$1,$3 and$12,$2,$5 or$13,$6,$2 add$14,$2,$2 sw$15,100($2)

Prof. Fábio M. Costa - Instituto de Informática - UFGOrganização de Computadores 24 Visualização dos conflitos

Prof. Fábio M. Costa - Instituto de Informática - UFGOrganização de Computadores 25 Resolução dos conflitos com uso de adiantamento

Prof. Fábio M. Costa - Instituto de Informática - UFGOrganização de Computadores 26 Caminho de Dados sem adiantamento (parcial)

Prof. Fábio M. Costa - Instituto de Informática - UFGOrganização de Computadores 27 Caminho de Dados com adiantamento (parcial)

Prof. Fábio M. Costa - Instituto de Informática - UFGOrganização de Computadores 28 Caminho de Dados com adiantamento (completo)

Prof. Fábio M. Costa - Instituto de Informática - UFGOrganização de Computadores 29 Conflitos de dados que geram paradas no Pipeline Caso típico das dependências de dados envolvendo a memória. Ex.: lw$2, 20($1) and$4, $2, $5 Solução: Parar o pipeline. Como? – Evitando que uma nova instrução seja buscada Congela PC – na prática, repetindo os estágios de busca e decodificação – Desativando os sinais de controle nos estágios de execução, acesso à memória e escrita de resultados – evita qualquer alteração de estado

Prof. Fábio M. Costa - Instituto de Informática - UFGOrganização de Computadores 30 Exemplo de dependência envolvendo a memória

Prof. Fábio M. Costa - Instituto de Informática - UFGOrganização de Computadores 31 Efeito da parada do Pipeline

Prof. Fábio M. Costa - Instituto de Informática - UFGOrganização de Computadores 32 Caminho de dados com a Unidade de Detecção de Conflitos

Prof. Fábio M. Costa - Instituto de Informática - UFGOrganização de Computadores 33 Conflitos de Controle No caso de desvios condicionais – Qual a próxima instrução a ser executada? PC + 4 ou endereço alvo do desvio Previsão de desvio – Se acertada, evita estágios ociosos – Se incorreta, requer o esvaziamento do pipeline zerando os sinais de controle nos estágios de busca, decodificação e execução Melhorar o desempenho do desvio condicional – Resolvendo o desvio no estágio de execução Hardware para previsão de desvio – histórico

Prof. Fábio M. Costa - Instituto de Informática - UFGOrganização de Computadores 34 Caminho de dados com desvios otimizados

Prof. Fábio M. Costa - Instituto de Informática - UFGOrganização de Computadores 35 Exercícios Conflitos por dados: 6.15, 6.19 Conflito por controle: 6.26

Prof. Fábio M. Costa - Instituto de Informática - UFGOrganização de Computadores 36 O que falta? Tratamento de exceções – Alguns tipos adicionais de exceções – Exceções geram conflitos semelhantes àqueles gerados por desvios – Determinar qual das instruções no pipeline gerou a exceção – No mais, o princípio usado no tratamento é semelhante ao já estudado

Prof. Fábio M. Costa - Instituto de Informática - UFGOrganização de Computadores 37 O que falta? (2) Pipeline Superescalar – Replicar os componentes no estágio de execução Ex.: duas ou mais UALs Pipeline com escalonamento dinâmico – Lógica para a busca de instruções considera a resolução de conflitos – Despacha cada instrução para uma unidade de execução diferente

Prof. Fábio M. Costa - Instituto de Informática - UFGOrganização de Computadores 38 MIPS Superescalar Duas instruções despachadas a cada ciclo de relógio – Uma instrução aritimética ou de desvio condicional – Uma instrução de acesso à memória (LW ou SW) Busca e decodificação de 64 bits a partir da memória de instruções Pode exigir uma reordenação das instruções na memória – De forma a ter, sempre que possível, o par certo de instruções (veja acima) Hardware adicional – Em particular: portas extra no banco de registradores e na memória de instruções

Prof. Fábio M. Costa - Instituto de Informática - UFGOrganização de Computadores 39 Execução em um pipeline superescalar

Prof. Fábio M. Costa - Instituto de Informática - UFGOrganização de Computadores 40 MIPS Superescalar

Prof. Fábio M. Costa - Instituto de Informática - UFGOrganização de Computadores 41 Exemplo de execução superescalar P&H, pág