Universidade Federal do Rio de Janeiro Bacharelado de Ciência da Computação. Arquitetura de Computadores I. Pipeline
|
|
- Orlando Bugalho Silva
- 5 Há anos
- Visualizações:
Transcrição
1 Universidade Federal do Rio de Janeiro Bacharelado de Ciência da Computação Arquitetura de Computadores I Pipeline Gabriel P. Silva
2 Introdução Pipeline é uma técnica de implementação de processadores que permite a sobreposição temporal das diversas fases de execução das instruções. Aumenta o número de instruções executadas simultaneamente e a taxa de instruções iniciadas e terminadas por unidade de tempo. O pipeline não reduz o tempo gasto para completar cada instrução individualmente.
3 Exemplo Vamos supor uma lavanderia, em que cada etapa possa ser realizada em 30 minutos: 1) Colocar a roupa na máquina de lavar; 2) Depois de lavada, colocá-la na máquina de secar roupa; 3) Depois de seca, passar a ferro; 4) Depois de passada, arrumá-la no armário. Para lavar, secar, passar e arrumar 5 cestos de roupa, sem uso do pipeline, levaríamos 10 horas para concluir a tarefa.
4 Exemplo sem Pipeline
5 Exemplo Contudo, podemos iniciar a lavagem de um cesto de roupas a cada 30 minutos, até que tenhamos 4 cestos sendo lavados simultaneamente, um em cada etapa do pipeline. Depois das primeiras 2 horas, teremos um cesto de roupa lavada, passada e arrumada a cada 30 minutos. Ao final do dia teremos lavado muito mais cestos de roupa do que sem o uso de pipeline. Para aprontar 5 cestos de roupa, por exemplo, levaríamos apenas 4 horas no total.
6 Exemplo com Pipeline
7 Pipeline Com o uso da técnica de pipeline, a lavagem de um cesto de roupas continuará levando 2 horas para ser realizada. Ou seja, a técnina de pipeline não melhora o tempo de execução de cada tarefa individualmente. Mas melhora o rendimento ou a produtividade de todo o sistema. As várias tarefas podem ser executadas simultaneamente porque utilizam-se de recursos diferentes. Aceleração potencial máxima = número de estágios do pipeline.
8 Exemplo de Pipeline de Instruções Divisão da Execução da Instrução em 5 estágios: Busca da instrução na memória (B) Leitura dos registradores e decodificação da instrução (D) Execução da instrução / cálculo do endereço de memória (E) Acesso a um operando na memória (M) Escrita do resultado em um registrador (W)
9 Arquitetura Básica RD = RS1 oper R2 RI 32 Endereço de Desvio 16 INSTRUÇÃO ENDEREÇO #RS1 RD #RS2 Banco de Registradores (R0 R31) 5 5 #RD 5 RS1 6 Endereço Operando RDM DADOS Barramento de Endereço ENDEREÇO REM PC Barramento de Dados RS2 32 oper 32 U.A.L. 32 UNIDADE DE CONTROLE
10 Arquitetura sem Pipeline
11 Arquitetura com Pipeline
12 Exemplo de Pipeline de Instruções Classe da Instrução Busca da Instrução Leitura Operando Operação da ULA Acesso à Memória Escrita do Resultado Total Load Word (lw) 2 ns 1 ns 2 ns 2 ns 1 ns 8 ns Store Word (sw) 2 ns 1 ns 2 ns 2 ns Aritméticas (add, sub, and) 2 ns 1 ns 2 ns Branch (beq) 2 ns 1 ns 2 ns 7 ns 1ns 6 ns 5 ns
13 Exemplo de Pipeline de Instruções Classe da Instrução Busca da Instrução Leitura Operando Operação da ULA Acesso à Memória Escrita do Resultado Load Word (lw) 2 ns 1 ns 2 ns 2 ns 1 ns 10ns Store Word (sw) 2 ns 1 ns 2 ns 2 ns 10ns Aritméticas (add, sub, and) 2 ns 1 ns 2 ns Branch (beq) 2 ns 1 ns 2 ns 1 ns Total 10ns 10ns
14 Exemplo de Pipeline de Instruções
15 Características dos Pipelines de Instrução Para coordenar essas operações, o processador utiliza um sinal elétrico periódico chamado de relógio. A cada novo ciclo do relógio a instrução é passada de um estágio para outro do pipeline. Ciclo O relógio, por ser periódico, possui uma freqüência e tempo de ciclo definidos. Quanto maior a freqüência (f), menor o tempo de ciclo (T) do relógio (T = 1/f). ] Nos processadores modernos a freqüência é expressa em GHz e o tempo de ciclo de relógio em ns (10 ⁹ s) ou ps (10 ¹² s).
16 Características dos Pipelines de Instrução O tempo do ciclo do relógio do processador deve ser igual ao tempo de execução do estágio mais lento do pipeline. Deve-se procurar dividir a execução da instrução em estágios com o mesmo tempo de execução. O pipeline deve ser mantido sempre cheio para que o desempenho máximo seja alcançado. Cada instrução, individualmente, continua levando o mesmo tempo para ser executada.
17 Características dos Pipelines de Instrução O tempo gasto no processamento de M instruções em um pipeline com K estágios e tempo de ciclo de máquina igual a t é dado por: T = [K + (M 1 )] * t Se M >> K (caso comum), então: T = M * t.
18 Características dos Pipelines de Instrução Um programa tem de instruções. Em uma arquitetura sem pipeline, o tempo médio de execução de cada instrução é 6,5 ns. Qual o ganho na execução deste programa em um processador com pipeline de 5 estágios com ciclo de 2 ns? T1 = 6,5 ns * =~ 6,5 ms (sem pipeline) T2= ( )* 2 ns =~ 2 ms (com pipeline) Ganho = T1/T2 = 6,5 ms / 2 ms = 3,25
19 Problemas no Uso de Pipelines Existem situações em que a próxima instrução não pode ser executada no ciclo seguinte do relógio: Conflitos Estruturais Dependências de Dados Pode haver acessos simultâneos à memória feitos por 2 ou mais estágios. As instruções dependem de resultados de instruções anteriores, ainda não completadas. Dependências de Controle A próxima instrução não está no endereço subseqüente ao da instrução anterior.
20 Conflitos Estruturais Leitura de instrução e leitura ou escrita de dados simultâneos à memória: Acesso simultâneo ao banco de registradores: Uso de arquitetura Harvard com caches de dados e instrução separados. Uso de banco de registradores com múltiplas portas. Uso simultâneo de uma mesma unidade funcional: Replicação da unidade funcional ou implementação pipelined dessa unidade.
21 Problemas no Uso de Pipeline Estágios podem ter tempos de execução diferentes: Solução 1: Implementar esses estágios como um pipeline onde cada sub-estágio possua tempo de execução semelhante aos demais estágios do pipeline principal Solução 2: Replicar esse estágio, colocando réplicas em paralelo no estágio principal. O número de réplicas é dado pela razão entre o tempo do estágio mais lento e os demais. O sistema de memória é incapaz de manter o fluxo de instruções no pipeline O uso de memória cache com alta taxa de acerto e tempo de acesso compatível com o tempo de ciclo do pipeline
22 Problemas no Uso de Pipeline Busca de Instrução Decodificação Execução Memória Memória Escrita Resultado Execução Busca de Instrução Decodificação Memória Memória Execução Escrita Resultado
23 Conflitos Estruturais Problema: acessos simultâneos à memória por 2 ou mais estágios. Busca de Instrução Memória Decodificação Execução Memória Memória Escrita Resultado Memória Soluções Caches separadas de dados e instruções; Memória com múltiplos bancos com acessos independentes.
24 Arquitetura com Pipeline
25 Conflitos de Dados Problema: instruções consecutivas podem fazer acesso aos mesmos operandos: execução da instrução seguinte depende de operando calculado pela instrução anterior: dadd R1, R2, R3 dsub R4, R1, R6 Tipos de dependências de dados Dependência verdadeiras Dependências falsas antidependência dependência de saída
26 Conflitos de Dados dadd R1, R2, R3 dsub R4, R1, R6 dsub R4, R1, R6 dadd R1, R2, R3 dsub R1, R4, R6 dadd R1, R2, R3 Direta ou RAW Anti-dependência ou WAR Saída ou WAW
27 Dependências de Dados Dependências Verdadeiras (Direta): O pipeline precisa ser parado durante certo número de ciclos ( interlock ); Colocação de instruções de nop ou escalonamento adequado das instruções pelo compilador; Colocar caminhos de dados alternativos entre os estágios de pipeline: adiantamento dos dados. Resolve a maioria dos casos. Dependências Falsas: Não é um problema em pipelines onde a ordem de execução das instruções é mantida; Problema em processadores superescalares; A renomeação dos registradores é uma solução usual para este problema.
28 Adiantamento dos Dados Caminho interno dentro do pipeline entre a saída de um estágio e a entrada da ALU Evita a parada do pipeline B D E W M Adiantamento do Resultado BB Tempo DD EE MM W W BB DD EE MM W W
29 Escalonamento das Instruções Exemplo: X=Y-W Z=K+L Código Gerado: ld r1, ld r2, dsub sd r3, ld r4, ld r5, dadd sd r6, mem[y] mem[w] r3, r1, r2 Situação de Interlock mem[x] Situação de Interlock mem[k] mem[l] r6, r4, r5 Situação de InterlocK mem[z] Situação de Interlock
30 Escalonamento das Instruções Código Otimizado: ld r1, mem[y] ld r2, mem [W] ld r4, mem [K] dsub r3, r1, r2 ld r5, mem[l] sd r3, mem[x] dadd r6, r4, r5 sd r6, mem[z] Situação de Interlock
31 Conflitos de Controle Efeito de desvios condicionais Se o desvio ocorre, pipeline precisa ser esvaziado Não se sabe se desvio ocorrerá ou não até o momento de sua execução decisão sobre desvio Tempo W M E D B desvio condicional Instruções abandonadas próxima instrução
32 Soluções para os Conflitos de Controle Congelar o pipeline até que o resultado do desvio seja conhecido Insere bolhas no pipeline solução ruim quando o pipeline é muito longo Uso do Desvio Atrasado A instrução após o desvio é sempre executada preenchimento útil do delay slot nem sempre é possível Predição Estática de Desvios O compilador faz uma predição se o desvio vai ser tomado ou não geração de bolhas quando a predição é errada, baixa taxa de acertos Predição Dinâmica de Desvios Existem mecanismos em hardware que fazem a predição baseada no comportamento daquele desvio no passado idem, alta taxa de acertos
33 Preenchimento do delay slot Exemplo 1: dadd r1, r2, r3 beq r2, r0, label delay slot (nop) 3 ciclos beq r2, r0, label dadd r1, r2, r3 2 ciclos Exemplo 2: dsub r4, r5, r6 dadd r1, r2, r3 beq r1, r0, label delay slot (nop) 4 ciclos dadd r1, r2, r3 beq r1, r0, label dsub r4, r5, r6 3 ciclos
34 Preenchimento do delay slot Para facilitar o trabalho do compilador no preenchimento do delay slot muitas arquiteturas permitem o uso do delay slot com a opção de anulação automática dessa instrução se o desvio condicional não for tomado. Desse modo, uma instrução do endereço alvo pode ser movida para o delay slot, o que é muito útil no caso de loops. Nesse caso, está implícita uma previsão de desvio estática que diz que o desvio será sempre tomado.
35 Predição Estática do Desvio Três abordagens podem ser adotadas: Assumir que todos os desvios são tomados ( always taken ); Os desvios para trás são assumidos como tomados ( backward taken ) e os desvios para frente são assumidos como não tomados ( forward not taken ) ; Fazer a predição com base em resultados coletados de experiências de profile realizadas anteriormente.
36 Predição Dinâmica do Desvio Pequena memória colocada no estágio e busca, que é endereçada pela parte baixa do endereço das instruções de desvio; A memória contém 1 bit (bit de predição) que diz se o desvio foi tomado ou não da última vez; Se a predição for errada, o bit correspondente é invertido na memória. Problemas: Instruções de desvio diferentes podem mapear para uma mesma posição do buffer O esquema pode falhar quando a decisão do desvio se alterna a cada execução
37 Preditores de 1-bit x 2-bits Um preditor de 1-bit prediz corretamente um desvio ao final de uma iteração de um loop, enquanto o loop não termina. Em loops aninhados, um preditor de 1-bit irá causar duas predições incorretas para o loop interno: Uma vez no final do loop, quando a iteração termina o loop ao invés de ir para o começo do loop, e Uma vez quando a primeira iteração do loop for reiniciada, quando ele prediz o término do loop ao invés do começo do loop. Este erro duplo em loops aninhados é evitado por um esquema de predição de dois bits. Preditor de 2-bits: Uma predição deve errar duas vezes antes de ser alterada quando um preditor de 2-bits é utilizado.
38 Predição de Desvio Bimodal O preditor de dois bits (bimodal) é essencialmente um contador de dois bits com valores entre 0 e 3. Quando o contador é maior ou igual ao valor 2, o desvio é predito como tomado; em caso contrário é predito como não tomado. O contador é incrementado em um devio tomado e decrementado em um desvio não tomado. Demonstra-se que um buffer de 2 bits com 4 K entradas tem um desempenho similar que um buffer com um número infinito de entrada e usando n bits para predição nos programa de avaliação do SPEC92.
39 Diagrama de Estados do Preditor Bimodal,, Tomado Predito Tomado 10 Tomado Tomado Não Tomado Predito Tomado 11 Não Tomado Predito NãoTomado 01 Não Tomado Tomado Predito NãoTomado 00 Não Tomado
40 Predição Bimodal
41 Predição Bimodal 1,2 1 Taxa de Acerto 0,8 SempreTomado Bimodal 0,6 0,4 0,2 0 GO IJPEG LI M88KSIM PERL
42 Tratamento de Exceções Exemplos de Exceções: 1. Interrupção de dispositivos de E/S 2. Chamadas ao Sistema Operacional 3. Breakpoints 4. Operações Aritméticas (Overflow e Underflow) 5. Falha de página 6. Erros de endereçamento de memória 7. Violação de proteção de memória 8. Instrução inválida 9. Falha de alimentação
43 Classificação das Exceções Síncronas 2, 3, 4, 5, 6, 7, 8 Assíncronas 1, 9 Solicitadas pelo usuário 2, 3 Fora do controle do usuário 1, 4, 5, 6, 7, 8, 9 No meio da instrução 4, 5, 6, 7, 8, 9 Entre instruções 1, 2, 3 Encerram a execução do programa 6, 7, 8, 9 Permitem a continuação do programa 1, 2, 3, 4, 5
44 Modelo de Exceções Precisas Definição: Ao ser detectada uma exceção, todas as instruções anteriores à ocorrência da exceção podem ser completadas e as posteriores serão anuladas e reiniciadas após o tratamento da exceção Requisito Básico: Instruções só mudam o estado da máquina quando há garantia de que elas concluirão sem gerar exceções. Conseqüências: Difícil de implementar, sem perda de desempenho, em pipelines que implementam instruções complexas Algumas arquiteturas possuem então dois modos de operação: com ou sem exceções precisas
Univ 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 maisUniversidade Federal do Rio de Janeiro Pós-Graduação em Informática IM-NCE/UFRJ. Pipeline. Gabriel P. Silva. Microarquitetura de Alto Desempenho
Universidade Federal do Rio de Janeiro Pós-Graduação em Informática IM-NCE/UFRJ Microarquiteturas de Alto Desempenho Pipeline Gabriel P. Silva Introdução Pipeline é uma técnica de implementação de processadores
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 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 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 maisArquitetura de Computadores II
Univers id ade Federal d o Rio d e Jan eir o DC C/IM Arquitetura de Computadores II Predição de Desvio Gabriel P. Silva Introdução Desvios: Instruções que podem alterar o fluxo de execução das instruções
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 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 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 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 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 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 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 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 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 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 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 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 maisSSC510 Arquitetura de Computadores 1ª AULA
SSC510 Arquitetura de Computadores 1ª AULA REVISÃO DE ORGANIZAÇÃO DE COMPUTADORES Arquitetura X Organização Arquitetura - Atributos de um Sistema Computacional como visto pelo programador, isto é a estrutura
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 maisParte 7 Pipeline: Conceitos básicos, implementação e ganho de desempenho
Parte 7 Pipeline: Conceitos básicos, implementação e ganho de desempenho 1 Melhorando o Desempenho com Pipelining Baseado nas anotações do Livro do Hennessey & Patterson e no material do Prof. José Luís
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 e Organização de Computadores
Arquitetura e Organização de Computadores Estrutura e Função do Processador Material adaptado, atualizado e traduzido de: STALLINGS, William. Arquitetura e Organização de Computadores. 5ª edição Organização
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 maisUniversidade Federal de Campina Grande Unidade Acadêmica de Sistemas e Computação Curso de Bacharelado em Ciência da Computação.
Universidade Federal de Campina Grande Unidade Acadêmica 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 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 maisUniversidade Federal do Rio de Janeiro Bacharelado em Ciência da Computação. Arquitetura de Computadores I. Organização Básica do Computador
Universidade Federal do Rio de Janeiro Bacharelado em Ciência da Computação Arquitetura de Computadores I Organização Básica do Computador Gabriel P. Silva Ementa Unidade 2: Organização Lógica e Funcional
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 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 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 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 maisProcessador. Processador
Departamento de Ciência da Computação - UFF Processador Processador Prof. Prof.Marcos MarcosGuerine Guerine mguerine@ic.uff.br mguerine@ic.uff.br 1 Processador Organização básica de um computador: 2 Processador
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 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 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 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 maisMelhorando 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 maisWilliam Stallings Arquitetura e Organização de Computadores 8 a Edição. Capítulo 12 Estrutura e função do processador
William Stallings Arquitetura e Organização de Computadores 8 a Edição Capítulo 12 Estrutura e função do processador slide 1 Estrutura da CPU CPU precisa: Buscar instruções. Interpretar instruções. Obter
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 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 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 maisDisciplina: Arquitetura de Computadores
Disciplina: Arquitetura de Computadores Estrutura e Funcionamento da CPU Prof a. Carla Katarina de Monteiro Marques UERN Introdução Responsável por: Processamento e execução de programas armazenados na
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 maisUnidade Central de Processamento UCP (CPU)
Unidade Central de Processamento UCP (CPU)! Arquitetura Convencional (Von Neumann) UCP BARRAMENTO MEMÓRIA PRINCIPAL ENTRADA E SAÍDA ! Visão geral da CPU UC - UNIDADE DE CONTROLE REGISTRADORES A B C D ALU
Leia maisAULA DE REVISÃO 4 ILP
AULA DE REVISÃO 4 ILP Exercício 1: Qual seria o desempenho de referência (em ciclos, por iteração do loop) da sequência de código, mostrado abaixo, se nenhuma nova execução de instrução pudesse ser iniciada
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 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 maisProf. Gustavo Oliveira Cavalcanti https://sites.google.com/a/poli.br/professorgustavooc/
Sistemas Digitais Prof. Gustavo Oliveira Cavalcanti gustavooc@poli.br https://sites.google.com/a/poli.br/professorgustavooc/ Conteúdo Programático (Organização e Arquitetura) Arquitetura e história dos
Leia maisArquiteturas Superescalares
Universidade Federal do Rio de Janeiro Pós-Graduação em Informática Microarquiteturas Avançadas Arquiteturas Superescalares Gabriel P. Silva Arquiteturas Pipelined com Desempenho Superior ao de uma Instrução
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 maisMicroprocessadores. Execução em Paralelo Pipelines
Execução em Paralelo Pipelines António M. Gonçalves Pinheiro Departamento de Física Covilhã - Portugal pinheiro@ubi.pt Pipelines de Instrucções Instrucções são divididas em diferentes Estágios Pipelines
Leia maisMicroprocessadores CPU. Unidade de Controle. Prof. Henrique
Microprocessadores CPU Unidade de Controle Prof. Henrique Roteiro Registradores; Unidade de Controle Níveis de Complexidade Introdução Um sistema microprocessado conta com diversos dispositivos para um
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 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 maisNotas de Aula Guilherme Sipahi Arquitetura de Computadores
Notas de Aula Guilherme Sipahi Arquitetura de Computadores Ciclo de instruções Ciclo de instruções / Pipelining Subciclos de um ciclo de instruções: - Busca: traz a próxima instrução até a CPU - Execução:
Leia maisArquitetura de Computadores. Ciclo de Busca e Execução
Arquitetura de Computadores Ciclo de Busca e Execução Ciclo de Busca e Execução Início Buscar a próxima instrução Interpretar a instrução Executar a instrução Término Funções realizadas pela UCP Funções
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 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 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 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 maisMicro-Arquiteturas de Alto Desempenho. Introdução. Ementa
DCC-IM/NCE UFRJ Pós-Graduação em Informática Micro-Arquiteturas de Alto Desempenho Introdução Gabriel P. Silva Ementa Revisão de Organização de Computadores Hierarquia de Memória Memória Virtual Memória
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 maisIntrodução à Computação: Arquitetura von Neumann
Introdução à Computação: Arquitetura von Neumann Beatriz F. M. Souza (bfmartins@inf.ufes.br) http://inf.ufes.br/~bfmartins/ Computer Science Department Federal University of Espírito Santo (Ufes), Vitória,
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 maisEscalonamento de Instruções
Universidade Federal do Rio de Janeiro Pós-Graduação em Informática Microarquiteturas de Alto Desempenho Escalonamento de Instruções Introdução Otimização de código é necessária como forma de diminuir
Leia maisARQUITETURA DE COMPUTADORES
ARQUITETURA DE COMPUTADORES Arquitetura de Von Newmann Prof Daves Martins Msc Computação de Alto Desempenho Email: daves.martins@ifsudestemg.edu.br Vídeos Vídeo aula RNP http://edad.rnp.br/rioflashclient.php?xmlfile=/ufjf/licenciatura_com
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 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 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 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 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 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 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 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 maisI. Considere os seguintes processadores A e B, ambos com arquitectura em pipeline, conforme ilustrado
Arquitectura de Computadores 2 o Semestre (2013/2014) MEAer 2 o Teste - 19 de Junho de 2014 Duração: 1h30 + 0h15 Regras: Otesteésemconsulta, apenas tem disponível o anexo que lhe deverá ter sido entregue
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 maisUNIDADE DE CONTROLE E CONTROLE MICROPROGRAMADO. Adão de Melo Neto
UNIDADE DE CONTROLE E CONTROLE MICROPROGRAMADO Adão de Melo Neto 1 INTRODUÇÃO O objetivo é mostrar como a unidade de controle controla a execução de cada instrução em ASSEMBLY. Atividades da Unidade de
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 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 maisArquiteturas Superescalares
Univ ersidade Federal do Rio de Janei ro Info rmátic a DCC/IM Arquitetura de Computadores II Arquiteturas Superescalares Gabriel P. Silva Arquiteturas Pipelined com Desempenho Superior ao de uma Instrução
Leia mais2. A influência do tamanho da palavra
PROCESSAMENTO 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
Leia maisBarramento. Prof. Leonardo Barreto Campos 1
Barramento Prof. Leonardo Barreto Campos 1 Sumário Introdução; Componentes do Computador; Funções dos Computadores; Estrutura de Interconexão; Interconexão de Barramentos Elementos de projeto de barramento;
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 mais4. O SIMULADOR SIMUS Descrição
27 4. O SIMULADOR SIMUS 4.1 - Descrição A partir da escolha da arquitetura SPARC, foi desenvolvido um estudo minucioso de sua arquitetura e do funcionamento de suas instruções. Este estudo detalhou as
Leia maisRevisão dependências de dados
Revisão dependências de dados Dependências de dados resolvidas com adiantamento (quase sempre) Deve garantir que instruções anteriores escreverão resultado, destino é mesmo que fonte, e instrução anterior
Leia maisArquitetura de Computadores Aula 10 - Processadores
Arquitetura de Computadores Aula 10 - Processadores Prof. Dr. Eng. Fred Sauer http://www.fredsauer.com.br fsauer@gmail.com 1/21 TÓPICOS ORGANIZAÇÃO COMPONENTES BÁSICOS INSTRUÇÃO DE MÁQUINA CICLO DE INSTRUÇÃO
Leia maisArquitetura e Organização de Processadores. Aula 1. Introdução Arquitetura e Organização
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 1 Introdução Arquitetura e Organização 1. Arquitetura
Leia maisTópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 10
Tópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 10 Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação QUAL É A INTERFACE ENTRE
Leia maisSistemas de Computação. Instruções de Linguagem de Máquina
Instruções de Linguagem de Máquina Linguagem de montagem do processador MIPS Operações aritméticas Instrução Exemplo Significado soma add a, b, c a = b + c subtração sub a, b, c a = b - c Compilação de
Leia maisMicroarquiteturas Avançadas
Universidade Federal do Rio de Janeiro Arquitetura de Computadores I Microarquiteturas Avançadas Gabriel P. Silva Introdução As arquiteturas dos processadores têm evoluído ao longo dos anos, e junto com
Leia maisIII.2 - Princípios de Arquitetura
Conjunto de Instruções e Modo de Endereçamento Ciclo de busca decodificação execução de instruções Programação de um processador Arquitetura de Von Neumann e Componentes Arquiteturas 4, 3, 2, 1 e 0 Tabela
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 maisOrganização de computadores. Prof. Moisés Souto
Organização de computadores Prof. Moisés Souto Moisés Souto docente.ifrn.edu.br/moisessouto professor.moisessouto.com.br moises,souto@ifrn.edu.br @moises_souto Aula 06 CICLO DE INSTRUÇÕES Unidade Central
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 maisUNIDADE CENTRAL DE PROCESSAMENTO FELIPE G. TORRES
Tecnologia da informação e comunicação UNIDADE CENTRAL DE PROCESSAMENTO FELIPE G. TORRES CICLO DE INSTRUÇÕES OU DE EXECUÇÃO Arquitetura de computadores 2 CICLO DE EXECUÇÃO No inicio de cada ciclo de instrução,
Leia maisde saltos Aula de Abril de
Predição de saltos Aula 13 21 de Abril de 2005 1 Estrutura desta aula Predição estática e dinâmica Custos da não predição Soluções Predição estática Predição dinâmica Branch History Tables (BHT) com 1
Leia maisInstruções de Máquina
Instruções de Máquina Operação básica (primitiva) que o hardware é capaz de executar diretamente Conjunto de bits que indica ao processador uma operação que ele deve realizar O projeto de um processador
Leia maisTodo processador é constituído de circuitos capazes de realizar algumas operações primitivas:
Todo processador é constituído de circuitos capazes de realizar algumas operações primitivas: Somar e subtrair Mover um dado de um local de armazenamento para outro Transferir um dado para um dispositivo
Leia mais