Pipelines. João Canas Ferreira. Mar-Abr Contém figuras de: Computer Organization & Design, D. A Patterson e J. L. Hennessy, 2 a ed. (cap.
|
|
- Gabriella Palma de Caminha
- 7 Há anos
- Visualizações:
Transcrição
1 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
2 Conceitos básicos Preservar a concorrência Caminho de dados Exemplo de execução ciclo-a-ciclo Controlo da pipeline Conflitos de dados Forwarding Protelamento Efeitos de conflitos de controlo Mitigação de efeitos c JCF, 2004 ASPD (FEUP/LEEC) Pipelines 2/52
3 Conceitos básicos Preservar a concorrência Pipelining Trata-se de uma técnica de implementação em que múltiplas instruções estão em execução simultânea (concorrente). Não diminui o tempo de execução de uma instrução. Várias instruções estão simultaneamente em diferentes fases de processamento. O débito aumenta: uma instrução terminada por ciclo (idealmente). Cinco etapas clássicas : ler instrução de memória; descodificar instrução e ler registos; execução de operação ou cálculo de endereço; acesso a operando em memória; guardar resultado num registo. c JCF, 2004 ASPD (FEUP/LEEC) Pipelines 3/52
4 Conceitos básicos Preservar a concorrência Sem vs. com pipeline Tipo Leitura Registo ALU Acesso mem Escrita Reg. Total load (lw) 8 store (sw) R (add,...) salto (beq) tempos em ns Sem pipelining: IF R ALU Mem R lw $1, 100($0) 8 ns IF R ALU Mem R 8 ns IF R lw $2, 200($0) lw $3, 300($0) Com pipelining: IF R ALU Mem R 2 ns lw $1, 100($0) IF R ALU Mem R 2 ns IF R ALU Mem R lw $2, 200($0) lw $3, 300($0) c JCF, 2004 ASPD (FEUP/LEEC) Pipelines 4/52
5 Conceitos básicos Preservar a concorrência Conflitos Conflito estrutural: a infra-estrutura não suporta a combinação de (fases de) instruções que se pretende executar no mesmo ciclo. Exemplo: acesso a memória. Conflito de dados: uma (fase de) instrução depende dos resultados de outra. Exemplo: duas operações tipo R, em que a segunda usa os resultados da primeira. Solução: forwarding Conflito de controlo: execução de uma instrução depende de uma decisão ainda não tomada. Soluções: protelar, prever, delayed decision. c JCF, 2004 ASPD (FEUP/LEEC) Pipelines 5/52
6 Conceitos básicos Preservar a concorrência Protelamento causado por instruções de salto É necessário esperar para saber qual a próxima instrução a executar. c JCF, 2004 ASPD (FEUP/LEEC) Pipelines 6/52
7 Conceitos básicos Preservar a concorrência Delayed-branch A instrução que segue um salto condicional é sempre executada. c JCF, 2004 ASPD (FEUP/LEEC) Pipelines 7/52
8 Conceitos básicos Preservar a concorrência Representação de pipeline Cinzento indica os elementos usados na execução das instruções: Quando metade de um elemento está assinalada, significa que é usada na primeira (à esquerda) ou na segunda (à direita) metade do ciclo. c JCF, 2004 ASPD (FEUP/LEEC) Pipelines 8/52
9 Conceitos básicos Preservar a concorrência Forwarding Passagem directa de operandos entre andares da pipeline. c JCF, 2004 ASPD (FEUP/LEEC) Pipelines 9/52
10 Caminho de dados Exemplo de execução ciclo-a-ciclo Controlo da pipeline Caminho de dados básico c JCF, 2004 ASPD (FEUP/LEEC) Pipelines 10/52
11 Caminho de dados Exemplo de execução ciclo-a-ciclo Controlo da pipeline Funcionamento de caminho de dados básico com pipeline c JCF, 2004 ASPD (FEUP/LEEC) Pipelines 11/52
12 Caminho de dados Exemplo de execução ciclo-a-ciclo Controlo da pipeline Caminho de dados básico com pipeline c JCF, 2004 ASPD (FEUP/LEEC) Pipelines 12/52
13 Caminho de dados Exemplo de execução ciclo-a-ciclo Controlo da pipeline Ciclos 1 e 2: actividade c JCF, 2004 ASPD (FEUP/LEEC) Pipelines 13/52
14 Caminho de dados Exemplo de execução ciclo-a-ciclo Controlo da pipeline Ciclo 3: actividades c JCF, 2004 ASPD (FEUP/LEEC) Pipelines 14/52
15 Caminho de dados Exemplo de execução ciclo-a-ciclo Controlo da pipeline Ciclos 4 e 5: actividade c JCF, 2004 ASPD (FEUP/LEEC) Pipelines 15/52
16 Caminho de dados Exemplo de execução ciclo-a-ciclo Controlo da pipeline Tratamento correcto de load c JCF, 2004 ASPD (FEUP/LEEC) Pipelines 16/52
17 Caminho de dados Exemplo de execução ciclo-a-ciclo Controlo da pipeline Representação multi-ciclo c JCF, 2004 ASPD (FEUP/LEEC) Pipelines 17/52
18 Caminho de dados Exemplo de execução ciclo-a-ciclo Controlo da pipeline Ciclos 1 e 2 c JCF, 2004 ASPD (FEUP/LEEC) Pipelines 18/52
19 Caminho de dados Exemplo de execução ciclo-a-ciclo Controlo da pipeline Ciclos 3 e 4 c JCF, 2004 ASPD (FEUP/LEEC) Pipelines 19/52
20 Caminho de dados Exemplo de execução ciclo-a-ciclo Controlo da pipeline Ciclos 5 e 6 c JCF, 2004 ASPD (FEUP/LEEC) Pipelines 20/52
21 Caminho de dados Exemplo de execução ciclo-a-ciclo Controlo da pipeline Propagação de sinais de controlo c JCF, 2004 ASPD (FEUP/LEEC) Pipelines 21/52
22 Caminho de dados Exemplo de execução ciclo-a-ciclo Controlo da pipeline Caminho de dados com controlo c JCF, 2004 ASPD (FEUP/LEEC) Pipelines 22/52
23 Caminho de dados Exemplo de execução ciclo-a-ciclo Controlo da pipeline Caminho de dados com controlo: ciclos 1 e 2 c JCF, 2004 ASPD (FEUP/LEEC) Pipelines 23/52
24 Caminho de dados Exemplo de execução ciclo-a-ciclo Controlo da pipeline Caminho de dados com controlo: ciclos 3 e 4 c JCF, 2004 ASPD (FEUP/LEEC) Pipelines 24/52
25 Caminho de dados Exemplo de execução ciclo-a-ciclo Controlo da pipeline Caminho de dados com controlo: ciclos 5 e 6 c JCF, 2004 ASPD (FEUP/LEEC) Pipelines 25/52
26 Caminho de dados Exemplo de execução ciclo-a-ciclo Controlo da pipeline Caminho de dados com controlo: ciclos 7 e 8 c JCF, 2004 ASPD (FEUP/LEEC) Pipelines 26/52
27 Caminho de dados Exemplo de execução ciclo-a-ciclo Controlo da pipeline Caminho de dados com controlo: ciclo 9 c JCF, 2004 ASPD (FEUP/LEEC) Pipelines 27/52
28 Conflitos de dados Forwarding Protelamento Dependências de dados Dependência de dados: Uma instrução j depende de uma instrução i se se verificar alguma das seguintes condições: a instrução i produz um resultado que pode ser usado pela instrução j; a instrução j depende da instrução k, que por sua vez depende de i. Uma verdadeira dependência de dados implica fluxo de informação. Dependências de dados são propriedades de programas. Se a dependência provoca ou não um conflito (e o conflito um protelamento), depende das características da pipeline. c JCF, 2004 ASPD (FEUP/LEEC) Pipelines 28/52
29 Conflitos de dados Forwarding Protelamento Dependências de dados: exemplo sub $2, $1, $3 ; escrita em $2 and $12, $2, $5 ; 1 o operando depende de sub or $13, $6, $2 ;2 o operando depende de sub add $14, $2, $2 ; os 2 operandos dependem de sub sw $15, 100($2) ; base despende de sub Acessos simultâneos para leitura e escrita ao mesmo registo: o valor lido já é o novo valor do registo (válido para a pipeline usada nos exemplos). A escrita é efctuada na primeira metade do ciclo, a leitura na segunda. c JCF, 2004 ASPD (FEUP/LEEC) Pipelines 29/52
30 Conflitos de dados Forwarding Protelamento Dependências de dados: exemplo (cont.) c JCF, 2004 ASPD (FEUP/LEEC) Pipelines 30/52
31 Conflitos de dados Forwarding Protelamento Dependências de dados: proibição O problema dos conflitos causados por dependência de dados pode ser evitado proibindo o compilador de gerar sequências de instruções que causem conflitos. sub $2, $1, $3 nop nop and $12, $2, $5 or $13, $6, $2 add $14, $2, $2 sw $15, 100($2) Voilà... Não assegura a compatibilidade binária. (Porquê?) c JCF, 2004 ASPD (FEUP/LEEC) Pipelines 31/52
32 Conflitos de dados Forwarding Protelamento Análise dos conflitos Para a pipeline de 5 andares que temos vindo a estudar, existem as seguintes situações de conflito: 1a. EX/MEM.RegRD = ID/EX.RegRS 1b. EX/MEM.RegRD = ID/EX.RegRT 2a. MEM/WB.RegRD = ID/EX.RegRS 2b. MEM/WB.RegRD = ID/EX.RegRT Para o fragmento de código das transparências anteriores: sub-and: tipo 1a: EX/MEM.RegRD=ID/EX.RegRS=$2; sub-or: tipo 2b: MEM/WB.RegRD=ID/EX.RegRT=$2; sub-add: não existem conflitos; sub-sw:não existem conflitos. c JCF, 2004 ASPD (FEUP/LEEC) Pipelines 32/52
33 Conflitos de dados Forwarding Protelamento Atalhos Caso as dependências sejam apenas para o futuro : implementar atalhos entre origem e destino (forwarding). c JCF, 2004 ASPD (FEUP/LEEC) Pipelines 33/52
34 Conflitos de dados Forwarding Protelamento Controlo dos multiplexadores de forwarding A implementação dos atalhos para instruções do tipo R pode ser feita com dois multiplexadores 3:1 (de 32 bits). ForwardA ForwardB 00 ID/EX 00 ID/EX 01 EX/MEM 01 MEM/WB 10 MEM/WB 10 EX/MEM EX/MEM.RegWrite & EX/MEM.RegRD!=0 & EX/MEM.RegRD=ID/EX.RegRS => ForwardA=10 EX/MEM.RegWrite & EX/MEM.RegRD!=0 & EX/MEM.RegRD=ID/EX.RegRT => ForwardB=10 MEM/WB.RegWrite & MEM.RegRD!=0 & EX/MEM.RegRD!= ID/EX.RegRS & MEM/WB.RegRD=ID/EX.RegRS => ForwardA=01 MEM/WB.RegWrite & MEM.RegRD!=0 & EX/MEM.RegRD!= ID/EX.RegRS & MEM/WB.RegRD=ID/EX.RegRT => ForwardB=10 c JCF, 2004 ASPD (FEUP/LEEC) Pipelines 34/52
35 Conflitos de dados Forwarding Protelamento Caminho de dados com atalhos Versão simplificada do caminho de dados com atalhos para operações do tipo R: c JCF, 2004 ASPD (FEUP/LEEC) Pipelines 35/52
36 Conflitos de dados Forwarding Protelamento Atalhos não resolvem todos os problemas Problema: Usar um registo após load. c JCF, 2004 ASPD (FEUP/LEEC) Pipelines 36/52
37 Conflitos de dados Forwarding Protelamento Detecção de confitos Solução: Protelar o processamento da instrução dependente. necessidade de uma unidade de detecção de conflitos; a detecção pode ser feita no andar ID (neste caso); quando uma instrução é protelada neste andar, a instrução em IF também deve ser protelada: o PC e IF/ID não devem mudar. Condição de protelamento: ID/EX.MemRead & (ID.EXRegRT = IF/ID.RegRS ID.EX.RegRT=IF/ID.RegRT) c JCF, 2004 ASPD (FEUP/LEEC) Pipelines 37/52
38 Conflitos de dados Forwarding Protelamento Inserir bolhas Funcionamento real: c JCF, 2004 ASPD (FEUP/LEEC) Pipelines 38/52
39 Conflitos de dados Forwarding Protelamento Tratamento de conflitos: implementação Versão simplificada da pipeline: c JCF, 2004 ASPD (FEUP/LEEC) Pipelines 39/52
40 Conflitos de dados Forwarding Protelamento Protelamento: ciclos 2 e 3 c JCF, 2004 ASPD (FEUP/LEEC) Pipelines 40/52
41 Conflitos de dados Forwarding Protelamento Protelamento: ciclos 4 e 5 c JCF, 2004 ASPD (FEUP/LEEC) Pipelines 41/52
42 Conflitos de dados Forwarding Protelamento Protelamento: ciclos 6 e 7 c JCF, 2004 ASPD (FEUP/LEEC) Pipelines 42/52
43 Efeitos de conflitos de controlo Mitigação de efeitos Impacto de um conflito de controlo c JCF, 2004 ASPD (FEUP/LEEC) Pipelines 43/52
44 Efeitos de conflitos de controlo Mitigação de efeitos Saltos não tomados Assumir que o salto não é tomada e continuar com as instruções seguintes (textualmente). Se o salto é tomado, as instruções subsequentes já em tratamento devem ser anuladas. Anular uma instrução = valores de controlo a 0 (para a implementação usada). O destino do salto é determinadao no andar MEM: as intruções nos andares IF, ID e EX devem ser anuladas. c JCF, 2004 ASPD (FEUP/LEEC) Pipelines 44/52
45 Efeitos de conflitos de controlo Mitigação de efeitos Redução do tempo tratamento de saltos Reduzir o tempo de tratamento de saltos tem impacto directo sobre o desempenho da pipeline. Passar a determinação do próximo valor de PC para EX. Melhor: passar para o andar ID! Fácil: cálculo do endereço de salto (mudar somador de MEM para ID). Difícil: determinar se salto deve ser efectuado: unidade de comparação em ID (fazer OU bit-a-bit seguido de AND de todos os bits do resultado). Anular IF: basta pôr zeros no IR (nop=sll $0,$0,$0) c JCF, 2004 ASPD (FEUP/LEEC) Pipelines 45/52
46 Efeitos de conflitos de controlo Mitigação de efeitos Tratamento de saltos: implementação c JCF, 2004 ASPD (FEUP/LEEC) Pipelines 46/52
47 Efeitos de conflitos de controlo Mitigação de efeitos Tratamento de saltos: execução c JCF, 2004 ASPD (FEUP/LEEC) Pipelines 47/52
48 Efeitos de conflitos de controlo Mitigação de efeitos Previsão dinâmica de saltos Abordagem possível: Dado o endereço de uma instrução de salto (i.e. a sua posição em memória), verificar se o salto foi tomado na última execução; se foi, executar instruções a partir da posição de destino usada anteriormente. Implementação: tabela indexada pelos bits menos significativos contendo 1 bit a indicar se o salto foi tomado ou não. Se foi tomado, a execução pode continuar mal tenha sido calculado o endereço de destino. A tabela é acedida durante IF. Debilidade: o que acontece a um salto condicional no fim de um ciclo? c JCF, 2004 ASPD (FEUP/LEEC) Pipelines 48/52
49 Efeitos de conflitos de controlo Mitigação de efeitos Previsão dinâmica de saltos: esquema de 2 bits Para remediar a debilidade anterior, usam-se esquemas com 2 bits. c JCF, 2004 ASPD (FEUP/LEEC) Pipelines 49/52
50 Efeitos de conflitos de controlo Mitigação de efeitos Previsão dinâmica de saltos: benchmarks Resultados empíricos para tabela de 4096 posições (esquema de 2 bits) comparados com tabela infinita. c JCF, 2004 ASPD (FEUP/LEEC) Pipelines 50/52
51 Efeitos de conflitos de controlo Mitigação de efeitos Delay slots O conflito de controlo passa de hazard feature. A instrução textualmente a seguir a uma instrução de salto condicional é sempre executada. Para o nossa implementação (com uma penalidade de um ciclo), a situação fica resolvida. O trabalho de previsão é passado para o compilador. Tem vindo a perder popularidade: um delay slot não ajuda muito o desempenho das arquitecturas com muitos andares de pipeline. c JCF, 2004 ASPD (FEUP/LEEC) Pipelines 51/52
52 Efeitos de conflitos de controlo Mitigação de efeitos Delay slots: exemplo c JCF, 2004 ASPD (FEUP/LEEC) Pipelines 52/52
SSC0611 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 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 maisOrganização de Unidades de Processamento
Organização de Unidades de Processamento João Canas Ferreira Março de 2004 Contém figuras de: Computer Organization & Design, D. A Patterson e J. L. Hennessy, 2 a ed. (cap. 5) c JCF, 2004 ASPD (FEUP/LEEC)
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 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 maisPipelining. Luís Nogueira. Departamento Engenharia Informática Instituto Superior de Engenharia do Porto. Pipelining p.
Pipelining Luís Nogueira luis@dei.isep.ipp.pt Departamento Engenharia Informática Instituto Superior de Engenharia do Porto Pipelining p. Análise de performance Desenho ciclo único de relógio é ineficiente
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 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 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 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 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 maisExecução concorrente de instruções
Eecção concorrente de instrções João Canas Ferreira Arqitectra de Comptadores FEUP/LEIC Contém figras de Compter Organization and Design (cap. 6), D. Patterson & J. Hennessey, 3 a. ed., Elsevier Tópicos
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 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 maisMIPS Implementação. sw) or, slt. Vamos examinar uma implementação que inclui um subconjunto de instruções do MIPS
Datapath do MIPS MIPS Implementação Vamos examinar uma implementação que inclui um subconjunto de instruções do MIPS Instruções de leitura (load lw) e de escrita (store sw) Instruções aritméticas e lógicas
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 maisPipelining - analogia
PIPELINE Pipelining - analogia Pipelining OBJECTIVO: Aumentar o desempenho pelo aumento do fluxo de instruções Program execution Time order (in instructions) lw $1, 100($0) Instruction fetch ALU Data access
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 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 maisVisão Geral de Pipelining
Pipeline Visão Geral de Pipelining Instruções MIPS têm mesmo tamanho Mais fácil buscar instruções no primeiro estágio e decodificar no segundo estágio IA-32 Instruções variam de 1 byte a 17 bytes Instruções
Leia maisEncadeamento de instruções
Encadeamento de instruções (Pipelines) Outubro de 2010 (FEUP/DEEC) Pipelines Outubro de 2010 1 / 62 Assuntos 1 Execução concorrente de instruções 2 Dependências entre instruções 3 Fundamentos da operação
Leia maisExecução concorrente de instruções: Pipelines
Execução concorrente de instruções: Pipelines João Canas Ferreira Novembro de 2006 Contém figuras de Computer Architecture: A Quantitative Approach, J. Hennessey & D. Patterson, 3ª. ed., MKP 2006 AAC (FEUP/MIEIC)
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 maisArquiteturas de Computadores
Arqitetras de Comptadores Pipeline Fontes dos slides: Patterson & Hennessy book website (copyright organ Kafmann) e Dr. Smanta Gha Conflito de controle O problema com desvios no pipeline é qe a decisão
Leia maisInstituto Superior Técnico Departamento de Engenharia Electrotécnica e de Computadores Arquitectura de Computadores. 2º sem.
Instituto Superior Técnico Departamento de Engenharia Electrotécnica e de Computadores Arquitectura de Computadores º sem. / // º Teste Duração:, horas Grupo I Superpilining [ valores] Admita que tem um
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 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 maisOrganização e Arquitetura de Computadores I
Organização e Arquitetura de Computadores I Pipeline Slide 1 Pipeline Pipeline Hazards: Hazards Estruturais Hazards de Dados Hazards de Controle Organização e Arquitetura de Computadores I Caminho de Dados
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 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 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 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 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 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 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 maisAula 19: UCP: Construindo um Caminho de Dados (Parte III)
Aula 19: UCP: Construindo um Caminho de Dados (Parte III) Diego Passos Universidade Federal Fluminense Fundamentos de Arquiteturas de Computadores Diego Passos (UFF) UCP: Caminho de Dados (III) FAC 1 /
Leia maisUCP: Construindo um Caminho de Dados (Parte III)
UCP: Construindo um Caminho de Dados (Parte III) Cristina Boeres Instituto de Computação (UFF) Fundamentos de Arquiteturas de Computadores Material baseado nos slides do Fernanda Passos Cristina Boeres
Leia maisCapítulo 4. O Processador
Capítulo 4 O Processador Introdução Fatores de desempenho da CPU Contagem de instrução Determinado pelo ISA e compilador CPI e tempo de ciclo Determinado pelo hardware da CPU Nós examinaremos duas implementaçõ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 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 maisImplementação de pipelines
Implementação de pipelines João Canas Ferreira Novembro de 2005 Contém figuras de Computer Architecture: A Quantitative Approach, J. Hennessey & D. Patterson, 3ª. ed., MKP JCF, 2005 AAC (FEUP/LEIC) Implementação
Leia maisParalelismo ao Nível da Instrução
Arquitectura de Computadores II 3º Ano Paralelismo ao Nível da Instrução (execução encadeada de instruções e super-escalaridade) João Luís Ferreira Sobral Departamento do Informática Universidade do Minho
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 maisARQUITECTURA DE COMPUTADORES
ARQUITECTURA DE COMPUTADORES CAPÍTULO IV AULA II Maio 2014 Índice Processadores Revisões Pipelining Pipeline hazards Hazard estrutural Hazard de dados Hazard de controlo Pipelining datapath Pipelined control
Leia maisArquitetura de Computadores I
Arquitetura de Computadores I Pipeline -- Conflito de dados paradas e adiantamentos -- Conflito de controle detecção de desvios e descarte de instruções -- Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno
Leia maisMicrocontroladores e Interfaces 3º Ano Eng. Electrónica Industrial
Microcontroladores e Interfaces 3º Ano Eng. Electrónica Industrial Carlos A. Silva 2º Semestre de 2005/2006 http://www.dei.uminho.pt/lic/mint Assunto: Pipeline Aula #5 28 Mar 06 Revisão Na implementação
Leia maisConflitos. Aula 9. 31 de Março de 2005 1
Conflitos Aula 9 31 de Março de 2005 1 Estrutura desta aula Taxonomia dos conflitos Dependências entre instruções Conflitos num pipeline Conflitos estruturais Conflitos de dados Conflitos de controlo Ref:
Leia maisUCP: Construindo um Caminho de Dados (Parte I)
UCP: Construindo um Caminho de Dados (Parte I) Cristina Boeres Instituto de Computação (UFF) Fundamentos de Arquiteturas de Computadores Material baseado cedido pela Profa. Fernanda Passos Cristina Boeres
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 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 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 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 maisMicrocontroladores e Interfaces
Microcontroladores e Interfaces 3º Ano Eng. Electrónica Industrial Carlos A. Silva 2º Semestre de 2005/2006 http://www.dei.uminho.pt/lic/mint Aula A3 15 Mar 05 - M Datapath e a sua Unidade de Controlo
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 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 maisção de Computadores II
niversidade Federal de Pelotas Instituto de Física e atemática Departamento de Informática Bacharelado em Ciência da Computação Arquitetura e Organizaçã ção de Computadores II Aula 2. IPS pipeline: conflitos
Leia mais1. Considere a execução do seguinte troço de código num processador com ISA compatível
1. Considere a execução do seguinte troço de código num processador com ISA compatível com o MIPS64. loop: L.D F0,0(R1) ; F0 M[R1+0] L.D F2,8(R1) ; F2 M[R1+8] L.D F4,0(R2) ; F4 M[R2+0] SUB.D F0,F0,F2 ;
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 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 maisParalelismo ao Nível da Instrução
Arquitectura de Computadores 3º Ano Paralelismo ao Nível da nstrução (execução encadeada de instruções e super-escalaridade) João Luís Ferreira Sobral epartamento do nformática Universidade do inho Junho
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 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 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 mais1.0 val. (b) Determine o CPI do processador na execução do código indicado. Num.: Nome: Pág. 1. Arquitecturas Avançadas de Computadores (AAC)
1. Considere um processador in-order com 5 estágios (IF, ID, EX1, EX2, WB) sem qualquer mecanismo de forwarding de dados, e o seguinte troço de código. Memória de instruções Operação MOV R1,R0 ; R1 R0
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 maisµinstruções µoperações representadas em binário podem ser compactadas numa só µinstrução exemplo (as 3 últimas µinstruções anteriores):
µinstruções µoperações representadas em binário cada µoperação é realizada por um ou mais 1s cada bit é um sinal de controlo (excepto rrr_oe) podem ser compactadas numa só µinstrução exemplo (as 3 últimas
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 maisTiago Alves de Oliviera
Tiago Alves de Oliviera 1 Capítulo 6 do Livro do Mario Monteiro Capítulo 5 (5.1, 5.2, 5. e 5.4) do Livro do Patterson 2 Processador executa instruções CPU (central processing unit) UCP (unidade central
Leia maisMestrado Integrado em Engenharia Informática e Computação. Arquitecturas Avançadas de Computadores Exame final
FEUP Mestrado Integrado em Engenharia Informática e Computação Arquitecturas Avançadas de Computadores Exame final 2011-01-11 Duração: 2H00m Com consulta Atenção: Este exame tem 6 questões em 8 páginas,
Leia maisAula 16: UCP: Conceitos Básicos e Componentes
Aula 16: UCP: Conceitos Básicos e Componentes Diego Passos Universidade Federal Fluminense Fundamentos de Arquiteturas de Computadores Diego Passos (UFF) UCP: Conceitos Básicos e Componentes FAC 1 / 34
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 maisPrevisão de Desvios Branch Prediction
Previsão de Desvios Branch Prediction Organização de Computadores 2 Prof. Cláudio C. Rodrigues 1 Branch Prediction 1. Introdução 2. Custo de Desvios 3. Técnicas p/ redução do custo de desvio 4. Técnicas
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 mais4. Modelo de Programação do DLX Introdução
4. Modelo de Programação do DLX Quero que o matemático Beremiz Samir nos conte uma lenda, ou uma simples fábula, na qual apareça uma divisão de 3 por 3 indicada, mas não efetuada, e outra de 3 por 2, indicada
Leia maisProcessador: Conceitos Básicos e Componentes
Processador: Conceitos Básicos e Componentes Cristina Boeres Instituto de Computação (UFF) Fundamentos de Arquiteturas de Computadores Material baseado nos slides de Fernanda Passos Cristina Boeres (IC/UFF)
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 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 maisCapítulo 6 Pipeline Morgan Kaufmann Publishers
Capítulo 6 Pipeline 998 organ Kaufmann Publishers Pipeline: analogia com linha de produção tempo carro Chassi ec Carroc. Pint. Acab. carro2 Chassi ec Carroc. Pint. Acab. carro3 Chassi ec Carroc. Pint.
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 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 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 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 maisMemórias cache: uma introdução
Memórias cache: uma introdução João Canas Ferreira Dezembro de 2006 Contém figuras de Computer Architecture: A Quantitative Approach, J. Hennessey & D. Patterson, 3ª. ed., MKP 2006 AAC (FEUP/MIEIC) Memórias
Leia maislw, sw add, sub, and, or, slt beq, j
Datapath and Control Queremos implementar o MIPS Instruções de referência à memória: lw, sw Instruções aritméticas e lógicas: add, sub, and, or, slt Controle de fluxo: beq, j Cinco passos de execução Busca
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 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 maisRegistradores na Arquitetura MIPS. 29/4/2016 MIPS - Instruction Set Architecture
Registradores na Arquitetura MIPS 29/4/2016 MIPS - Instruction Set Architecture 1 Mapa de Memória da Arq. MIPS 2 GB 2 GB 256 MB 64 KB 2 GB 64 KB 256 4 MB 4 MB 29/4/2016 MIPS - Instruction Set Architecture
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 maisSistemas Processadores e Periféricos Aula 2 - Revisão
Sistemas Processadores e Periféricos Aula 2 - Revisão Prof. Frank Sill Torres DELT Escola de Engenharia UFMG Adaptado a partir dos Slides de Organização de Computadores 2006/02 do professor Leandro Galvão
Leia maisIntrodução aos Computadores Introdução à Ciência de Computadores Outubro 2011 1 / 16
Introdução aos Computadores Introdução à Ciência de Computadores Nelma Moreira Departamento de Ciência de Computadores da FCUP Outubro 2011 Introdução aos Computadores Introdução à Ciência de Computadores
Leia maisControle em Processador Segmentado
Revisão segmentação Todos os processado modernos usam segmentação segmentação não reduz a latência de uma instrução mas ajuda na vazão/produção do programa inteiro várias tarefas em execução simultânea
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 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 maisORGANIZAÇÃO DE COMPUTADORES
Organização de Computadores ORGANIZAÇÃO DE COMPUTADORES Curso: Tecnologia em Gestão da Tecnologia da Informação Ano: 2011 Instrução Precisam ser entendidas pelo processador Precisam ser decodificadas e
Leia maisOrganização ou MicroArquitectura
Organização ou MicroArquitectura DataPath MIPS32 AC Micro-Arquitectura: DataPath do MIPS Datapath e Controlpath Datapath circuito percorrido pelas instruções, endereços e ados IP Inst. Mem. Register File
Leia maisprocessadores µprocessador µcontrolador DSP ASIP especialização crescente
processadores programáveis (por software) µprocessador µcontrolador DSP ASIP usos gerais aplicações industriais, controlo, RT aplicações numéricas, RT hw e conjunto de instruções optimizado para a aplicação
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 maisOrganização e Arquitetura de Computadores I
Organização e Arquitetura de Computadores I Caminho de Dados Slide 1 Sumário Introdução Convenções Lógicas de Projeto Construindo um Caminho de Dados O Controle da ULA Projeto da Unidade de Controle Principal
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 mais