Parte 7 Pipeline: Conceitos básicos, implementação e ganho de desempenho
|
|
- João Pedro Salvado Martinho
- 7 Há anos
- Visualizações:
Transcrição
1 Parte 7 Pipeline: Conceitos básicos, implementação e ganho de desempenho 1
2 Melhorando o Desempenho com Pipelining Baseado nas anotações do Livro do Hennessey & Patterson e no material do Prof. José Luís Güntzel [ 2
3 O que é um Pipeline? A técnica de pipelining é usada por todos os processadores atuais para melhorar o desempenho pela superposição da execução de instruções. A analogia mais commum para um pipeline é uma linha de montagem. Supondo 3 fases da linha: 1. Montagem 2. Pintura 3. Polimento Assuma, por exemplo, que cada fase gaste 1 hora para ser concluída 3
4 O que é um Pipeline? Se uma pessoa trabalha na linha de produção, ela levará 3 horas para produzir 1 produto. Se existem 3 pessoas, 1 pessoa poderia se ocupar de cada estágio e cada vez que terminassem sua parte na produção, poderiam passar seus produtos para a próxima pessoa (estágio), sem nenhum tempo de espera. Desta maneira, seria possível produzir 1 produto por hora assumindo que a linha de montagem está preenchida. 4
5 O que é um pipeline: Analogia Lavanderia 5
6 O que é um pipeline: Analogia Lavanderia 6
7 Pensando em termos de instruções MIPS Considere os tempos de resposta de cada um dos componentes da via de dados e os tempos para execução das instruções conforme a tabela abaixo. Podemos estimar que o período de clock será igual a 8ns para uma CPU MIPS na sua versão monociclo. Pensando na execução de 3 loads (instrução mais lenta) 7
8 Execução sem e com pipeline 8
9 Características do Pipelining Se os estágios do pipeline não estiverem balanceados e um dos estágios for mais lento que os outros, a vazão do pipeline será afetada como um todo. Idealmente, cada estágio é balanceado (todos os estágios estão prontos para iniciar ao mesmo tempo e levam a mesma quantidade de tempo para serem concluídos). Assim, o tempo de execução por instrução no pipeline seria definido por: 9
10 Características do Pipelining A expressão anterior corresponde ao ganho ideal (máximo). Existe um overhead para preencher o pipeline e os estágios podem não estar perfeitamente balanceados Em termos de uma CPU, a implementação do pipeline tem efeito de reduzir o tempo médio por instrução e, portanto, o valor médio do CPI. Ex: Se cada instrução num microprocessador leva 5 ciclos de clock (sem pipelined) e se houver um pipeline de 4 estágios, o CPI ideal teórico seria
11 Voltando ao exemplo dos 3 loads... Sem pipeline: o tempo decorrido entre o início da primeira instrução e o início da quarta instrução é 3x8 = 24 ns Com pipeline: o tempo decorrido entre o início da primeira instrução e o início da quarta instrução é 3x2 = 6 ns Melhora de desempenho com pipeline = 24/6 = 4 vezes! Mas o ganho máximo teórico não deveria ser 5x, já que esse é o número de estágio do pipeline? Onde está a diferença no exemplo? E se agora fossem realizadas instruções load? Qual o tempo total de execução com e sem pipeline? E o ganho Sem pipeline: x8 = ns Ganho 4.0 Com pipeline: x2= ns 11
12 RISC Instruction Set (Hennessey & Patterson) Propriedades da arquitetura MIPS: Todos os operandos estão em registradores (32-bits). Acesso à Memória somente por operações load /store Instruções de tamanho único (32 bits) Poucos formatos de instruções, sempre com o registrador-fonte localizado na mesma posição Operandos do MIPS alinhados na memória Conjunto de instruções pensado para o pipeline!!! Instruções aritméticas (ULA), acesso a memória e mudança de fluxo de controle (desvios) 12
13 Tipos de Instruções MIPS ULA (ou tipo R) Aritméticas com 2 registradores ou 1 registrador e um imediato como operandos. Resultado escrito num registrador destino Load/store Um registrador (base) e um operando 16-bits como valor imediato. A soma deles define o endereço efetivo para o acesso à memória. Um segundo registrador: destino para a operação de load e dado a ser armazenado na operação de stored. Branches e Jumps Mudanças de fluxo de controle. Um branch resulta na soma de um valor imediato ao valor atual do PC. 13
14 5 passos para execução de instruções MIPS Assume-se que qualquer instrução MIPS pode ser executada em no máximo 5 ciclos de clock: 1. Busca da instrução na memória (BI/IF) 2. Leitura dos registradores, enquanto a instrução é decodificada (ID/DI) 3. Execução de uma operação ou cálculo de um endereço (EX) 4. Acesso a um operando na memória (MEM) 5. Escrita do resultado em um registrador (EM/WB) 14
15 Pensando em ciclos de clock Resumo dos ciclos para executar instruções numa CPU não pipeline: Branch - 2 clocks Store - 4 clocks Outras - 5 clocks EX: Assumindo que as instruções de desvio correspondem a 12% de todas as instruções e que stores a 10%, qual o CPI médio da CPU? CPImédio = 0.12*2+0.10*4+0.78*5 =
16 Pipeline RISC de 5 estágios Implementação clássica do conceito de pipeline proposta por Hennessy e Patterson para o DLX (MIPS) Para o caso ideal, o pipeline deveria começar uma nova instrução a cada novo ciclo de clock. Infelizmente isso nem sempre é possível: Um ADD não gasta o mesmo tempo de ULA que um MULT Dependências de dados entre instruções Mas cada estágio pode ser tratado de forma independente e assim as fases de execução podem ser superpostas 16
17 Representação Gráfica do Pipeline de Instrução 17
18 Lembram-se dos possíveis caminhos para os dados na via de dados da CPU? 18
19 Alguns Problemas à vista 1. A memória é acessada 2x durante cada ciclo de clock. Separar memória de dados e de instruções Importante: o período do clock é o mesmo para a CPU com pipeline e sem pipeline Com isso, a memória deve trabalhar 5x mais rápido. 2. Registradores acessados 2x por ciclo Para tentar evitar o conflito por recurso, realizar a escrita na 1a metade do ciclo e a leitura na 2a metade do ciclo de clock. Escreve-se primeiro porque o resultado de uma escrita (dado) pode ser usado por outra instrução com execução mais adiantada no pipeline 19
20 Alguns Problemas à vista 3. Interação entre o PC e o pipeline ao fim da fase IF/BI. Se a decodificação identifica uma instrução de desvio que modifica o PC, como isso afeta o pipeline? O uso de registradores específicos para o pipeline fornecem à CPU uma memória temporária que permite armazenar estados intermediários da execução das instruções no pipeline. 20
21 Conflitos de Pipeline (Pipeline Hazards ) O ganho de desempenho porque é possível se iniciar a execução de uma nova instrução a cada ciclo de clock. Porém, em um cenário realista, isso nem sempre é possível Os chamados conflitos de pipeline ( pipeline hazards ) atrasam a execução da próxima instrução por alguns ciclos de clock, até que haja tempo para que sejam solucionados... Usaremos hazard = conflito (hazard: azar, risco, acaso, ) Três tipos: Estruturais De controle De dados 21
22 1. Conflitos Estruturais (Structural Hazards) O hardware (do datapath) não tem recursos suficientes para atender às solicitações da execução sobreposta das instruções no pipeline em um dado ciclo de clock O conjunto de instruções do MIPS foi projetado para executar em pipeline (é muito fácil evitar esses conflitos no design) Uma possível solução é a parada do pipeline ( bolha ), isto é interromper a progressão das instruções pelo pipeline. 22
23 1. Conflitos Estruturais (Structural Hazards) Se na CPU multiciclo vista anteriormente fosse mantida apenas uma memória única para dados e instruções, ocorreria um conflito estrutural quando uma instrução estiver sendo buscada ao mesmo tempo que um dado é escrito na memória (estágios BI e MEM) Outro problema aconteceria se considerarmos que o banco de registradores só puder ser ou escrito ou lido num mesmo ciclo (estágios DI e ER) 23
24 Conflito estrutural (Acesso duplo à memória) Conflito estrutural (Leitura e escrita dos registradores) 24
25 2. Conflitos de Controle (Control Hazards) Interação PC pipeline: conflitos se originam da necessidade de se tomar uma decisão para o valor de PC baseada nos resultados de uma instrução, a qual ainda não foi concluída. Muito comuns em instruções de salto condicional (beq, no caso do MIPs reduzido) 25
26 Parada do pipeline num conflito de controle Assumir que um hardware extra foi adicionado para permitir testar registradores, calcular o endereço de desvio condicional e atualizar o PC, tudo isso no segundo estágio (decodificação). Isso é uma solução comum para minimizar o efeito desse tipo de conflito. 26
27 Parada do pipeline num conflito de controle Se for necessário resolver o desvio condicional em um estágio posterior ao segundo (o que é o ocorre na maioria das CPUs reais), ocorrerá uma perda maior de desempenho em função da necessidade de encher novamente o pipeline 27
28 Outra solução para conflito de controle Predição estática: esquema muito usado em CPUs reais Simples: assumir que os desvios condicionais sempre irão falhar (teste gera FALSO) Se acertar, o pipeline prossegue com velocidade máxima Se errar, será necessário atrasar o pipeline Mais sofisticado: assumir que parte dos desvios ocorrem e outros não ocorrem Desvios para endereços anteriores supostamente falham (instruções tipo if-then-else) Desvios para endereços posteriores supostamente são feitos (última instrução de um loop) 28
29 Pipeline com predição de desvio 29
30 Mais uma solução para conflito de controle Predição dinâmica: realizada em função do comportamento anterior (histórico) de cada desvio Podem mudar a predição para um mesmo ponto de desvio com o decorrer da execução do programa Um esquema comum é manter uma história para cada desvio realizado ou não-realizado Preditores dinâmicos são implementados em hardware e apresentam até 90% de acerto Qualquer que seja o esquema de predição, quando o palpite (previsão) estiver errado(a), o controle do pipeline precisa assegurar que as instruções seguintes ao desvio não terão influência na execução das instruções futuras. 30
31 Mais uma solução para conflito de controle O esquema de retardar a decisão (delayed branch) consiste em encaixar uma instrução útil para ser executada logo após a instrução de desvio, de modo a manter o pipeline preenchido, evitando a parada Isto é um trabalho para o Compilador! Lembrem-se que o compilador tem papel fundamental para o desempenho de máquinas RISC 31
32 Solução para conflito de controle: delayed branch 32
33 Soluções similares ao delayed branch 33
34 3. Conflitos de Dados (Data Hazards) Ocorre quando uma instrução depende de dados resultantes da execução de outra que ainda está no pipeline 34
35 Uma solução para conflito de dados Passar para o compilador a solução deste tipo de conflito é inviável, pois ele é muito frequente Adiantamento (forwarding ou bypass): tão logo a ULA calcule o resultado da operação, ele pode ser disponibilizado como operando para as instruções que vem logo a seguir. Necessidade de um hardware de roteamento para detectar a dependência entre dados de instruções subsequentes. Supondo a sequência de execução anterior: 35
36 Solução do conflito por adiantamento Solução: conexão entre a saída da ULA e a entrada da própria ULA Não haverá mais bolha no pipeline! 36
37 Outro exemplo de adiantamento O adiantamento para uma instrução lw seguida de uma instrução que usa o valor que acaba de ser buscado na memória: Sempre haverá uma bolha no pipeline nesses casos! Inevitável! 37
38 Solução por reordenação de código O compilador reordena as instruções de forma a evitar os possíveis conflitos de dados. Ex: o código do procedimento swap abaixo exibe um conflito. # reg $t1 possui o endereco de v[k] lw $t0, 0($t1) # reg $t0 (temp) = v[k] lw $t2, 4($t1) # reg $t2 = v[k+1] sw $t2, 0($t1) # v[k] = reg $t2 sw $t0, 4($t1) # v[k+1] = reg $t0 (temp) 38
39 Solução por reordenação de código Solução: trocar a 2ª e a 3ª linhas de posição: Código sem conflito # reg $t1 possui o endereco de v[k] lw $t0, 0($t1) # reg $t0 (temp) = v[k] lw $t2, 4($t1) # reg $t2 = v[k+1] sw $t0, 4($t1) # v[k+1] = reg $t0 (temp) sw $t2, 0($t1) # v[k] = reg $t2 39
40 Conflitos provocam a parada do pipeline Com os conflitos, algumas expressões envolvendo ganhos mais realistas de pipeline em termos de CPI poderiam ser calculados da seguinte forma: Speedup = CPI unpipelined / CPI pipelined = No estágios / (1 + paradas por instrução) = Tmédio por Inst unpipelined / Tmédio por Inst pipelined OBS: Assume-se que o período de clock é o mesmo para as implementação com ou sem pipeline. 40
41 Conflitos provocam a parada do pipeline Pode-se pensar no desempenho em termos de um ciclo de clock mais rápido para a CPU pipelined da seguinte forma: Speedup = CPI unpipelined CPI pipelined x Tempo Ciclo Clock unpipelined Tempo Ciclo_Clock_pipelined Tempo Ciclo_Clock_pipelined = Tempo Ciclo Clock unpipelined No estágios Speedup = Paradas do pipeline por Instrução x No estágios 41
42 Speedup x conflitos A solução básica para conflitos é a inserção de uma parada ou bolha no pipeline. O efeito é o retardamento da execução da próxima instrução de 1 ciclo a cada bolha inserida. Obviamente, isso aumenta o CPI, piorando o desempenho! Ex: Considere a comparação entre 2 CPUs. Uma delas tem conflito estrutural que ocorre 40% do tempo, causando uma bolha, mas com isso, trabalha com uma taxa de clock 1.05x mais alta que a CPU sem conflito. Quanto a CPU com conflito é mais rápida do que a sem conflito? 42
43 Speedup x conflitos Speedup = CPI sem_conflito CPI com_conflito x T ciclo_clock sem_conflito T ciclo_clock com_conflito Speedup = *1 x 1 1/1.05 Speedup = 0.75 Note que: (1) Apesar da taxa de clock do processador com conflito ser um pouco maior, o speedup é um pouco menor que 1 (perde desempenho, mas não muito ) e (2) Não cuidar do conflito poderia ser uma solução adotada por conta de custos envolvendo as alterações na via de dados, aliada à baixa probabilidade de ocorrência deste conflito 43
44 Pipeline não resolve sozinho o desempenho Precisaremos de buffers entre estágios do pipeline Armazenar os estados intermediários da execução de cada um das instruções que está momentaneamente no pipeline Detecção de dependências Além dos conflitos, ainda existem outros problemas a serem resolvidos... Instruções com tempos diferentes por estágio (Adição x multiplicação, ponto flutuante x inteiros) Múltiplos pipelines em arquiteturas superescalares Paralelismo em nível de instrução x compiladores paralelos Predição de desvio por hardware 44
45 Operações com múltiplos clocks Algumas aplicações não serão completadas em apenas 1 clock. Exemplos: Multiplicação Floating Point Divisão Floating Point Soma Floating Point Pode se supor que existe um hardware específico para executar esse tipo de instrução. Em geral, Multiplicação e soma FP são totalmente pipelined, mas a divisão é não pipelined. 45
46 Múltiplos estágios de execução na via de dados 46
47 Estágios de execução (EX) pipelined 47
48 Previsão de desvio via hardware 48
Melhorando o Desempenho com Pipelining
Melhorando o Desempenho com Pipelining Baseado nas anotações do Livro do Hennessey & Patterson e no material do Prof. José Luís Güntzel [www.ufpel.edu.br/~guntzel/aoc2/aoc2.html] 1 Relembrando desempenho...
Leia maisArquitetura de Computadores I
Arquitetura de Computadores I Cap. 06 Pipeline Prof. M.Sc. Bruno R. Silva Plano de aula Visão geral de pipelining Um caminho de dados usando pipelie Controle de um pipeline Hazards de dados e forwarding
Leia maisArquitetura e Organização de Processadores. Aula 4. Pipelines
Universidade Federal do Rio Grande do Sul Instituto de Informática Programa de Pós-Graduação em Computação Arquitetura e Organização de Processadores Aula 4 Pipelines 1. Introdução Objetivo: aumento de
Leia maisIntrodução. Os mesmos princípios se aplicam a processadores. No MIPS as instruções são divididas normalmente em cinco etapas:
CAPÍTULO 5 PIPELINE Introdução Ciclo único versus pipeline Projetando o conjunto de instruções Pipeline Hazards Caminho de dados usando o pipeline Diagramas de Pipeline Controle do Pipeline Hazard de dados
Leia maisPipeline. Prof. Leonardo Barreto Campos 1
Pipeline Prof. Leonardo Barreto Campos 1 Sumário Introdução; Pipeline Hazards: Hazards Estruturais Hazards de Dados Hazards de Controle Caminho de Dados usando Pipeline; Representação Gráfica do Pipeline;
Leia maisExplorando o paralelismo entre instruções
Explorando o paralelismo entre instruções Arquiteturas para Alto Desmpenho Prof. pauloac@ita.br Sala 110 Prédio da Computação www.comp.ita.br/~pauloac Pipeline Pipeline: Uma idéia natural Linhas de montagem
Leia maisResumão de Infra-estrutura de Hardware
Resumão de Infra-estrutura de Hardware Referência: Patterson & Hennessy - Organização e Projeto de Computadores Vanessa Gomes de Lima vgl2@cin.ufpe.br 1 MELHORANDO O DESEMPENHO COM PIPELINING Pipelining
Leia maisSSC0611 Arquitetura de Computadores
SSC0611 Arquitetura de Computadores 8ª Aula Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br Estágios para execução da instrução: A instrução LOAD é a mais longa Todas as instruções seguem ao menos os
Leia maisSSC0902 Organização e Arquitetura de Computadores
SSC0902 Organização e Arquitetura de Computadores 13ª Aula Definição de Pipeline e Pipeline da arquitetura MIPS Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br Arquitetura CISC CISC Complex Instruction
Leia mais1. A pastilha do processador Intel possui uma memória cache única para dados e instruções. Esse processador tem capacidade de 8 Kbytes e é
1. A pastilha do processador Intel 80486 possui uma memória cache única para dados e instruções. Esse processador tem capacidade de 8 Kbytes e é organizado com mapeamento associativo por conjuntos de quatro
Leia maisSSC0611 Arquitetura de Computadores
SSC0611 Arquitetura de Computadores 10ª Aula Pipeline Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br Dependências ou Conflitos (Hazards) Conflitos Estruturais Pode haver acessos simultâneos à memória
Leia maisSSC0611 Arquitetura de Computadores
SSC0611 Arquitetura de Computadores 7ª Aula Pipeline Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br Arquitetura CISC CISC Complex Instruction Set Computer Computadores complexos devido a: Instruções
Leia maisPIPELINE. Introdução ao Pipeline. PIPELINE Ciclo de Instruções. PIPELINE Ciclo de Instruções. PIPELINE - Exemplo. PIPELINE Considerações
Arquitetura de Computadores Introdução ao Pipeline PIPELINE Linha de Montagem A produção é dividida em várias etapas Produtos em etapas distintas podem ser desenvolvidos separadamente Pode ser Aplicado
Leia maisProva 1 Eng. Elétrica Arquitetura de Computadores Prof. Celso A. Saibel Santos Nome: Data:
Prova 1 Eng. Elétrica Arquitetura de Computadores Prof. Celso A. Saibel Santos Nome: Data: 1. O percentual médio de uso das instruções para os 5 programas do SPECint92 na arquitetura Intel 80x86 resultou
Leia maisSSC0510 Arquitetura de Computadores
SSC0510 Arquitetura de Computadores 9ª Aula Pipeline Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br Dependências ou Conflitos (Hazards) Conflitos Estruturais Pode haver acessos simultâneos à memória
Leia maisArquitetura de Computadores I
Arquitetura de Computadores I Pipeline Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno Organização do MIPS: pipeline Visão geral do pipeline Analogia com uma Lavanderia doméstica 1
Leia maisSSC0114 Arquitetura de Computadores
SSC0114 Arquitetura de Computadores 3ª Aula Arquitetura MIPS: ISA, Formato das instruções e Modos de endereçamento MIPS Monociclo: Caminho de Dados e Unidade de Controle Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br
Leia maisOrganização de Sistemas de Computadores
Organização de Sistemas de Computadores Cap. 2 (Tanenbaum), Cap. 3 (Weber) 2.1 Processadores 1 CPU UC = buscar instruções na memória principal e determinar o seu tipo ULA = adição e AND Registradores =
Leia maisInfraestrutura de Hardware. Melhorando Desempenho de Pipeline Processadores Superpipeline, Superescalares, VLIW
Infraestrutura de Hardware Melhorando Desempenho de Pipeline Processadores Superpipeline, Superescalares, VLIW Perguntas que Devem ser Respondidas ao Final do Curso Como um programa escrito em uma linguagem
Leia maisINTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO ORGANIZAÇÃO COMPUTACIONAL
INTRODUÇÃO À TECNOLOGIA DA ORGANIZAÇÃO COMPUTACIONAL PROFESSOR CARLOS MUNIZ ORGANIZAÇÃO DE UM COMPUTADOR TÍPICO Memória: Armazena dados e programas Processador (CPU - Central Processing Unit): Executa
Leia maisUniversidade Federal do Rio de Janeiro Bacharelado de Ciência da Computação. Arquitetura de Computadores I. Pipeline
Universidade Federal do Rio de Janeiro Bacharelado de Ciência da Computação Arquitetura de Computadores I Pipeline Gabriel P. Silva 29.04.2017 Introdução Pipeline é uma técnica de implementação de processadores
Leia maisPipelines. João Canas Ferreira. Mar-Abr Contém figuras de: Computer Organization & Design, D. A Patterson e J. L. Hennessy, 2 a ed. (cap.
Pipelines João Canas Ferreira Mar-Abr 2004 Contém figuras de: Computer Organization & Design, D. A Patterson e J. L. Hennessy, 2 a ed. (cap. 6) c JCF, 2004 ASPD (FEUP/LEEC) Pipelines 1/52 Conceitos básicos
Leia maisArquitetura de Computadores. Ivan Saraiva Silva
Arquitetura de Computadores MIPS Pipeline Ivan Saraiva Silva Pipeline 4 pessoas (A, B, C, D) possuem sacolas de roupa para lavar, secar e dobrar A B C D Lavar leva 30 minutos Secar leva 40 minutos Dobrar
Leia maisAula 15: Ciclo de Execução e Introdução ao Pipeline
Aula 15: Ciclo de Execução e Introdução ao Pipeline Diego Passos Universidade Federal Fluminense Fundamentos de Arquiteturas de Computadores Diego Passos (UFF) Ciclo de Execução; Intro ao Pipeline FAC
Leia maisO Funcionamento do Processador
O Funcionamento do Processador Arquiteturas para Alto Desmpenho Prof. pauloac@ita.br Sala 110 Prédio da Computação www.comp.ita.br/~pauloac Os cinco componentes clássicos de um Computador - Controle O
Leia maisPredição de Desvios e Processadores Superescalares Especulativos
Predição de Desvios e Processadores Superescalares Especulativos Arquiteturas para Alto Desmpenho Prof. pauloac@ita.br Sala 110 Prédio da Computação www.comp.ita.br/~pauloac Tomasulo Especulativo Se os
Leia maisUniv ersidade Feder al do Rio de Janei ro Informáti ca DCC/IM. Pipeline. Gabriel P. Silva. Gabriel P. Silva
Univ ersidade Feder al do Rio de Janei ro Informáti ca DCC/IM Arquitetura de Computadores II Pipeline Introdução Pipeline é uma técnica de implementação de processadores que permite a sobreposição temporal
Leia maisInfraestrutura de Hardware. Implementação Multiciclo de um Processador Simples
Infraestrutura de Hardware Implementação Multiciclo de um Processador Simples Perguntas que Devem ser Respondidas ao Final do Curso Como um programa escrito em uma linguagem de alto nível é entendido e
Leia maisORGANIZAÇÃO DE COMPUTADORES
ORGANIZAÇÃO DE COMPUTADORES 2015/2016 1 o Semestre Repescagem 1 o Teste 1 de Fevereiro de 2016 Duração: 1h00 - O teste é sem consulta e sem calculadora. - Resolva o teste no próprio enunciado, o espaço
Leia maisção de Computadores II
Universidade Federal de Pelotas Instituto de Física e Matemática Departamento de Informática Bacharelado em Ciência da Computação Arquitetura e Organizaçã ção de Computadores II Aula 2 2. MIPS monociclo:
Leia maisFaculdade de Computação Arquitetura e Organização de Computadores 2 3 a Lista de Exercícios Prof. Cláudio C. Rodrigues Data de Entrega: 22/11/2018
Problemas: Faculdade de Computação Arquitetura e Organização de Computadores 2 3 a Lista de Exercícios Prof. Cláudio C. Rodrigues Data de Entrega: 22/11/2018 P1) Qual é o propósito do instruction pipelining?
Leia maisRelembrando desempenho...
Parte 5 OBS: Essas anotações são adaptações do material suplementar (apresentações PPT) ao Livro do Hennessy e Patterson, 2ª e 3ª Ed. e do Livro do 5ª Ed. A parte final do material corresponde às aulas
Leia maisSistemas de Microprocessadores DEP. DE ENG.ª ELECTROTÉCNICA E DE COMPUTADORES FACULDADE DE CIÊNCIAS E TECNOLOGIA UNIVERSIDADE DE COIMBRA.
Sistemas de Microprocessadores DEP. DE ENG.ª ELECTROTÉCNICA E DE COMPUTADORES FACULDADE DE CIÊNCIAS E TECNOLOGIA UNIVERSIDADE DE COIMBRA Pipelining Pipelining é uma técnica que permite a execução de múltiplas
Leia maisCAPÍTULO 4 CAMINHO DE DADOS E CONTROLE
CAPÍTULO 4 CAMINHO DE DADOS E CONTROLE Introdução Uma implementação MIPS básica Sinopse da implementação Sinais de controle Multiplexadores (muxes) Implementação monociclo Metodologia de clocking Construindo
Leia maisRelembrando desempenho...
Parte 5 OBS: Essas anotações são adaptações do material suplementar (apresentações PPT) ao Livro do Hennessy e Patterson, 2ª e 3ª Ed. e do Livro do 5ª Ed. A parte final do material corresponde às aulas
Leia maisO Funcionamento do Processador
O Funcionamento do Processador Arquiteturas para Alto Desmpenho Prof. pauloac@ita.br Sala 110 Prédio da Computação www.comp.ita.br/~pauloac Os cinco componentes clássicos de um Computador - Controle O
Leia maisAula 21: UCP: Instrução Jump, Monociclo vs. Multiciclo, Pipeline
Aula 21: UCP: Instrução Jump, Monociclo vs Multiciclo, Pipeline Diego Passos Universidade Federal Fluminense Fundamentos de Arquiteturas de Computadores Diego Passos (UFF) UCP: Jump, Multiciclo, Pipeline
Leia maisPARTE II - CONJUNTO DE INSTRUÇÕES ARQUITETURA DE COMPUTADORES ANTONIO RAMOS DE CARVALHO JÚNIOR
PARTE II - CONJUNTO DE INSTRUÇÕES ARQUITETURA DE COMPUTADORES ANTONIO RAMOS DE CARVALHO JÚNIOR Introdução Instruções são representadas em linguagem de máquina (binário) E x i s t e m l i n g u a g e n
Leia maisCPU Implementação. Multiciclo. Prof. Carlos Bazilio
CPU Implementação Multiciclo Prof. Carlos Bazilio bazilio@ic.uff.br Até então, tínhamos t... Problemas com Implementação Monociclo Ciclo de clock tem o mesmo tamanho para todas as instruções implementadas;
Leia maisInfraestrutura de Hardware. Implementação Monociclo de um Processador Simples
Infraestrutura de Hardware Implementação Monociclo de um Processador Simples Componentes de um Computador Unid. Controle Controle Memória Registradores PC MAR IR AC Programa + Dados Instrução Endereço
Leia mais1) Enumere e dê exemplo dos tipos de conflitos que podem ocorrer em um pipeline de instruções de um processador.
Arquitetura de Computadores II Bacharelado em Ciência da Computação DCC - IM/UFRJ Prof.: Gabriel P. Silva Data: 18/04/2005 1 ª Lista de Exercícios de Arquitetura de Computadores II 1) Enumere e dê exemplo
Leia maisOrganização de Computadores
Organização do Processador - Parte A Capítulo 5 Patterson & Hennessy Prof. Fábio M. Costa Instituto de Informática Universidade Federal de Goiás Conteúdo Caminho de dados Caminho de controle Implementação
Leia maisFaculdade de Computação Arquitetura e Organização de Computadores 2 Prof. Cláudio C. Rodrigues
Faculdade de Computação Arquitetura e Organização de Computadores 2 Prof. Cláudio C. Rodrigues Exercícios de Revisão: P1) Um processador elaborado segundo o princípio multi-ciclo, executa a uma frequência
Leia maisArquitetura e Organização de Processadores. Aulas 06 e 07. Superescalaridade
Universidade Federal do Rio Grande do Sul Instituto de Informática Programa de Pós-Graduação em Computação Arquitetura e Organização de Processadores Aulas 06 e 07 Superescalaridade 1. Introdução princípios
Leia maisProcessadores. Principal função é executar programas armazenados na memória principal.
Processadores Principal função é executar programas armazenados na memória principal. Registradores São memórias pequenas de alta velocidade, usada para armazenar resultados temporários e certas informações
Leia maisÉ um sinal elétrico periódico que é utilizado para cadenciar todas as operações realizadas pelo processador.
Universidade Estácio de Sá Curso de Informática Disciplina de Organização de Computadores II Prof. Gabriel P. Silva - 1 o Sem. / 2005 2 ª Lista de Exercícios 1) O que é o relógio de um sistema digital?
Leia maisPROCESSADORES SUPERESCALARES FELIPE G. TORRES
PROCESSADORES SUPERESCALARES FELIPE G. TORRES PROCESSAMENTO DAS INSTRUÇÕES Como podemos melhorar esse processamento? Arquitetura de computadores 2 PROCESSAMENTO DAS INSTRUÇÕES Como uma abordagem simplificada,
Leia maisCapítulo 6 Hazards Morgan Kaufmann Publishers. Ch6c 1
Capítulo 6 Hazards 1998 organ Kaufmann Publishers Ch6c 1 Dependências de Dados Problema: iniciar uma instrução antes da anterior ter finalizado dependências que voltam no tempo são hazards de dados qual
Leia maisOrganização e Arquitetura de Computadores I
Universidade Federal de Campina Grande Centro de Engenharia Elétrica e Informática Unidade Acadêmica de Sistemas e Computação Curso de Bacharelado em Ciência da Computação Organização e Arquitetura de
Leia maisSSC0611 Arquitetura de Computadores
SSC0611 Arquitetura de Computadores 2ª e 3ª Aulas Arquitetura MIPS: ISA, Formato das instruções e Modos de endereçamento Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br 1 Arquitetura MIPS MIPS: Microprocessor
Leia maisARQUITETURA DE COMPUTADORES. Organização de Sistemas Computacionais. Prof.: Agostinho S. Riofrio
ARQUITETURA DE COMPUTADORES Organização de Sistemas Computacionais Prof.: Agostinho S. Riofrio Agenda 1. Unidade Central de Processamento 2. Organização da CPU 3. Interpretador 4. RISC x CISC 5. Principios
Leia maisEA869 Pipeline. Faculdade de Engenharia Elétrica e de Computação (FEEC) Universidade Estadual de Campinas (UNICAMP) Prof.
EA869 Pipeline Faculdade de Engenharia Elétrica e de Computação (FEEC) Universidade Estadual de Campinas (UNICAMP) Prof. Levy Boccato 1 Objetivos Conhecer técnicas de como melhorar o desempenho de um processador.
Leia maisArquitetura de Computadores. Prof. João Bosco Jr.
Arquitetura de Computadores Prof. João Bosco Jr. (CPU) Modelo do Computador Von Neumann Processador Memórias E/S Barramentos Simulação Contador http://courses.cs.vt.edu/csonline/machinearchitecture/lessons/cpu/countprogram.html
Leia maisArquitetura de Computadores II
Universidade Estadual de Maringá Centro de Tecnologia Departamento de Informática Arquitetura de Computadores II Prof. Flávio Rogério Uber Informações Úteis Professor: Flávio Rogério Uber Bloco C-56 Sala
Leia maisAOC II - Arquitetura e Organização de Computadores Prof. Dr. rer. nat. Daniel Duarte Abdala. Lista de Exercícios
Lista de Exercícios PIPELINING 1. Qual a vantagem que a utilização da técnica de pipelining traz em relação a arquitetura MIPS-Multiciclo estudada em aula? Descreva textualmente. 2. Embora o desempenho
Leia maishttp://www.ic.uff.br/~debora/fac! 1 Conceito de família IBM System/360 1964 DEC PDP-8 Separa arquitetura de implementação Unidade de controle microprogramada Idéia de Wilkes 1951 Produzida pela IBM S/360
Leia maisOrganização e Arquitetura de Computadores I
Universidade Federal de Campina Grande Departamento de Sistemas e Computação Curso de Bacharelado em Ciência da Computação Organização e Arquitetura de Computadores I Organização e Arquitetura Básicas
Leia maisOrganização de computadores. Aula 05
Organização de computadores Aula 05 2 Níveis de um computador Computadores possuem uma série de níveis Cada um construído sobre seus antecessores Cada um representa uma abstração distinta com diferentes
Leia maisArquitetura de Computadores. Professor: Vilson Heck Junior (Material: Douglas Juliani)
Arquitetura de Computadores Professor: Vilson Heck Junior (Material: Douglas Juliani) Agenda Conceitos Componentes Funcionamento ou tarefas Otimização e desempenho Conceitos Componente de Hardware que
Leia maisshift register demux prefetch control inc ldpc + 1 MAR Pipelining
Unidade de prefetch (com uma só AM) MB_oe32 shift register 32 MB_oe8_s AM data 32 addr rd 0 1 P7 P6 demux 32 32 P5 shctrl 2 inc P4 load P3 prefetch control ldpc PC + 1 P2 2 P1 P0 8 read8 read32 MB_oe8_u
Leia maisArquitetura de Computadores
Arquitetura de Computadores 2018.1 Relembrando... Paralelismo Relembrando... Paralelismo Paralelismo em Instrução Relembrando... Paralelismo Paralelismo em Instrução Paralelismo em Aritmética Relembrando...
Leia maisProcessadores Superescalares - Avançando na exploração de paralelismo entre instruções
Processadores Superescalares - Avançando na exploração de paralelismo entre instruções Arquiteturas para Alto Desmpenho Prof. pauloac@ita.br Sala 110 Prédio da Computação www.comp.ita.br/~pauloac Instruction
Leia maisArquitetura e Organização de Processadores. Aula 08. Arquiteturas VLIW
Universidade Federal do Rio Grande do Sul Instituto de Informática Programa de Pós-Graduação em Computação Arquitetura e Organização de Processadores Aula 08 Arquiteturas VLIW 1. Introdução VLIW é Very
Leia maisProf. Rômulo Calado Pantaleão Camara Carga Horária: 2h/60h
Pipelining Avançado Prof. Rômulo Calado Pantaleão Camara Carga Horária: 2h/60h Introdução A técnica de pipelining explora o paralelismo entre as instruções Paralelismo em Nível de Instrução (ILP). Métodos
Leia maisArquiteturas de Computadores
Arquiteturas de Computadores Implementação de IPS multiciclo Fontes dos slides: Patterson & Hennessy book website (copyright organ Kaufmann) e Dr. Sumanta Guha Problemas de projeto monociclo Assumindo
Leia maisAULA DE REVISÃO 3 ILP
AULA DE REVISÃO 3 ILP Exercício 1: Considere um bloco de código com 15 instruções cada uma com tempo de execução Tex. Elas são executadas numa unidade pipeline de 5 estágios. Os overheads do pipeline são
Leia maisArquitetura e Organização de Computadores
Arquitetura e Organização de Computadores Unidade Central de Processamento (CPU) Givanaldo Rocha de Souza http://docente.ifrn.edu.br/givanaldorocha givanaldo.rocha@ifrn.edu.br Baseado nos slides do capítulo
Leia maisEsse programa inclui dependências de tipo: escrita-escrita, leitura-escrita e escrita-leitura. Identifique e mostre estas dependências.
Faculdade de Computação Arquitetura e Organização de Computadores 2 2 a Lista de Exercícios Prof. Cláudio C. Rodrigues Data de Entrega: 02/06/2016 Problemas: P1) Qual é o propósito do instruction pipelining?
Leia maisCPU. Funções: Componentes: Processamento; Controle. UC (Unidade de Controle); Registradores; ALU s, FPU s etc. Arquitetura de Computadores 3
CPU CPU Funções: Processamento; Controle Componentes: UC (Unidade de Controle); Registradores; ALU s, FPU s etc. Arquitetura de Computadores 3 Processador A função de um computador é executar tarefas
Leia maisFaculdade de Computação
Faculdade de Computação Arquitetura e Organização de Computadores 2 1 a Lista de Exercícios entrega em 19/04/2018 Prof. Cláudio C. Rodrigues Problemas: P1) Explique o que há de errado com as métricas de
Leia maisArquiteturas de Computadores
Arquiteturas de Computadores Implementação monociclo de IPS Fontes dos slides: Patterson & Hennessy book website (copyright organ Kaufmann) e Dr. Sumanta Guha Implementando IPS Implementação do conjunto
Leia maisInfraestrutura de Hardware. Implementação Pipeline de um Processador Simples
Infraestrutura de Hardware Implementação Pipeline de um Processador Simples Perguntas que Devem ser Respondidas ao Final do Curso Como um programa escrito em uma linguagem de alto nível é entendido e executado
Leia mais2. A influência do tamanho da palavra
1. Introdução O processador é o componente vital do sistema de computação, responsável pela realização das operações de processamento (os cálculos matemáticos etc.) e de controle, durante a execução de
Leia maisExercícios resolvidos (aula de 4 de Maio) Resolução:
Exercícios resolvidos (aula de 4 de Maio) 1. Um microprocessador gera endereços de memória de 14 bits. Desenhe um mapa de memória dos seus endereços de memória fronteira especificados em hexadecimal. Uma
Leia maisOrganização e Arquitetura de Computadores I
Organização e Arquitetura de Computadores I Linguagem de Montagem Slide 1 CISC RISC MIPS Organização e Arquitetura de Computadores I Sumário Representação de instruções Slide 2 CISC O CISC (Complex Instruction
Leia maisArquitetura de Computadores I. Prof. Ricardo Santos (Cap 2)
Arquitetura de Computadores I Prof. Ricardo Santos ricr.santos@gmail.com (Cap 2) Instruções Comandos utilizados para indicar ao hardware o que deve ser feito Utilizaremos neste curso o conjunto de instruções
Leia maisOrganização Básica de Computadores. Organização Básica de Computadores. Organização Básica de Computadores. Organização Básica de Computadores
Ciência da Computação Arq. e Org. de Computadores Processadores Prof. Sergio Ribeiro Composição básica de um computador eletrônico digital: Processador Memória Memória Principal Memória Secundária Dispositivos
Leia maisQuestionário Arquitetura e Organização de Computadores
Questionário Arquitetura e Organização de Computadores Os exercícios desta lista estão organizados em geral seguindo a apresentação do conteúdo em aula. No entanto, alguns exercícios podem requerem conhecimentos
Leia maisTrabalhos Práticos Arquitetura de Computadores I Prof. Fabian Vargas
Trabalhos Práticos Arquitetura de Computadores I Prof. Fabian Vargas Material a ser utilizado: Kits de desenvolvimento de sistemas microprocessados para aplicações em DSP Texas DSK-TMS320C67xx. Apresentação
Leia maisArquitetura de Computadores. Conjunto de Instruções
Arquitetura de Computadores Conjunto de Instruções Arquitetura do Conjunto das Instruções ISA (Instruction Set Architecture) Traduz para uma linguagem intermediária (ISA) os vários programas em diversas
Leia maisOrganização e Projetos de Computadores. Capítulo 2. Organização e Projetos de Computadores. Instruções
Capítulo 2 Hennessy Patterson 1 Instruções Linguagem da máquina Vamos trabalhar com a arquitetura do conjunto de instruções MIPS (Micrrocessor without interlocked pipeline stages Micrrocessador sem estágios
Leia maisORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES II AULA 02: PROCESSAMENTO PARALELO: PROCESSADORES VETORIAIS
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES II AULA 02: PROCESSAMENTO PARALELO: PROCESSADORES VETORIAIS Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação
Leia maisProf. Leonardo Augusto Casillo
UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO Aula 2 Estrutura de um processador Prof. Leonardo Augusto Casillo Arquitetura de Von Neumann: Conceito de programa armazenado; Dados
Leia maisFaculdade de Computação
Faculdade de Computação Arquitetura e Organização de Computadores 2 1 a Lista de Exercícios entrega em 25/09/2018 Prof. Cláudio C. Rodrigues Problemas: P1) A Tabela abaixo apresenta o mix de instruções
Leia maisUnidade 4* - Aulas 1/2: Pipelines, Hazards e Forwarding
Pontifícia Universidade Católica do Rio Grande do Sul Instituto de Informática Organização de Computadores - GAPH Unidade 4* - Aulas 1/2: Pipelines, Hazards e Forwarding Profs. Fernando Gehm Moraes e Ney
Leia maisO Que Veremos. Introdução. Introdução. Definindo Desempenho. Definindo Desempenho. Avaliando e Compreendendo o Desempenho
Ciência da Computação Arq. e Org. de Computadores Avaliando e Compreendendo o Desempenho O Que Veremos Avaliando e compreendendo o desempenho: Introdução Definindo desempenho Medindo o desempenho e seus
Leia maisConceitos Básicos Processador
Infra-Estrutura de Hardware Conceitos Básicos Processador Prof. Edilberto Silva www.edilms.eti.br edilms@yahoo.com Sumário Conceitos básicos Organização da CPU Execução das Instruções RISC x CISC Paralelismo
Leia maisORGANIZAÇÃO DE COMPUTADORES CAPÍTULO 6: PROCESSADORES. Prof. Juliana Santiago Teixeira
ORGANIZAÇÃO DE COMPUTADORES CAPÍTULO 6: PROCESSADORES Prof. Juliana Santiago Teixeira julianasteixeira@hotmail.com INTRODUÇÃO INTRODUÇÃO O processador é o componente vital do sistema de computação, responsável
Leia maisUnidade Central de Processamento 6. Otimização do desempenho
Unidade Central de Processamento 6 timização do desempenho Pipeline Técnica de implementação de processadores que permite a sobreposição temporal das diversas fases de execução das instruções Constituído
Leia maisARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA
ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA Prof. Msc. Tiago Alves de Oliveira Objetivos Conhecer o processador Compreender os registradores
Leia maisSistemas Operacionais. Conceitos de Hardware
Sistemas Operacionais Conceitos de Hardware Sumário 1. Introdução 7. RISC e CISC 2. Processador 1. Operações de Processamento 2. Unidade de Controle 3. Ciclos de uma Instrução 3. Memória 1. Memória Principal
Leia maisPipeline. Ciclos de Operação da CPU Estágios do Pipeline Previsão de Desvio. Estrutura da CPU. Em cada ciclo, a CPU deve:
Pipeline Ciclos de Operação da CPU Estágios do Pipeline Previsão de Desvio William Stallings - Computer Organization and Architecture, Chapter 12 [Trad. E.Simões / F.Osório] Estrutura da CPU Em cada ciclo,
Leia maisENDEREÇAMENTO DE INSTRUÇÕES. Adão de Melo Neto
ENDEREÇAMENTO DE INSTRUÇÕES Adão de Melo Neto 1 TIPOS DE OPERAÇÕES 2 TIPOS DE OPERAÇÕES TIPOS DE INSTRUÇÕES/OPERAÇÕES (RELEMBRANDO) 3 INTRODUÇÃO TIPOS DE INSTRUÇÕES/OPERAÇÕES (RELEMBRANDO) 4 INTRODUÇÃO
Leia maisArquitetura de Computadores Aula 11 - Multiprocessamento
Arquitetura de Computadores Aula 11 - Multiprocessamento Prof. Dr. Eng. Fred Sauer http://www.fredsauer.com.br fsauer@gmail.com 1/28 PROCESSAMENTO PARALELO OBJETIVO: aumentar a capacidade de processamento.
Leia maisARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA
ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA Prof. Dr. Daniel Caetano 2012-2 Objetivos Conhecer o processador Compreender os registradores
Leia maisORGANIZAÇÃO DE COMPUTADORES
Organização de Computadores ORGANIZAÇÃO DE COMPUTADORES Curso: Tecnologia em Gestão da Tecnologia da Informação Ano: 2011 Conhecida como Processador ou é o cerebro do computador Unifica todo sistema e
Leia maisCaminho dos Dados e Atrasos
Caminho dos Dados e Atrasos Arquiteturas para Alto Desmpenho Prof. pauloac@ita.br Sala 110 Prédio da Computação www.comp.ita.br/~pauloac Pipeline MIPS O MIPS utiliza um pipeline com profundidade 5, porém
Leia maisInfra-estrutura de Hardware
CPU: Estrutura e Funcionalidade Roteiro da Aula Ciclo de Instrução Projeto de uma CPU simples: conceitos Componentes básicos Leitura da instrução Operação entre registradores Acesso à memória Implementação
Leia maisArquiteturas de Computadores
Arquiteturas de Computadores Implementação de MIPS multiciclo (cont.) Fontes dos slides: Patterson & Hennessy book website (copyright Morgan Kaufmann) e Dr. Sumanta Guha CPI em uma CPU multiciclo Assuma
Leia mais1. Esta lista de exercícios poderá ser resolvida em grupo com no máximo 3 integrantes.
INSTRUÇÕES: Instituto Federal de Educação, Ciência e Tecnologia 1. Esta lista de exercícios poderá ser resolvida em grupo com no máximo 3 integrantes. 2. Caso você ache que falta algum detalhe nas especificações,
Leia mais