Capítulo 6 Hazards Morgan Kaufmann Publishers. Ch6c 1
|
|
- Giulia Rico Bergmann
- 6 Há anos
- Visualizações:
Transcrição
1 Capítulo 6 Hazards 1998 organ Kaufmann Publishers Ch6c 1
2 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 instrução receberá o valor errado de $ (velho 1, novo ) Time (in clock cycles) Value of register $: Program execution order (in instructions) sub $, $1, $3 CC 1 CC CC 3 CC CC 5 CC 6 I CC 7 CC 8 CC / D and $1, $, $5 I D or $13, $6, $ I D add $1, $, $ I D sw $15, 1($) I D 1998 organ Kaufmann Publishers Ch6c
3 Erro devido à dependência de dados sub $, $1, $3 and $1, $, $5 or $13, $6, $ add $1, $, $ sw $15, 1($) and e or lêem resultado errado (velho 1) store está claramente à direita (depois no tempo) e lê resultado certo ( ) hazard no add pode ser evitado se a escrita no banco de registradores for feita (em CC5) na metade do ciclo (borda de descida) WR RD CC CC5 CC organ Kaufmann Publishers Ch6c 3
4 Solução de software O compilador deve garantir a ausência de hazards: inserção de nops Onde inserir os nops? Quantos? sub $, $1, $3 and $1, $, $5 or $13, $6, $ add $1, $, $ sw $15, 1($) Problema: essa abordagem afeta o desempenho! 1998 organ Kaufmann Publishers Ch6c
5 Forwarding (algumas vezes: bypassing) Usar resultados temporários Não esperar que os resultados sejam escritos no banco de registradores Unidade de forwarding para manipular leitura/escrita para um mesmo registrador ULA forwarding Value of register $ : Value of EX/E : Value of E/ : Time (in clock cycles) CC 1 CC CC 3 CC CC 5 CC 6 CC 7 CC 8 CC / X X X X X X X X X X X X X X X X Program execution order (in instructions) sub $, $1, $3 I D and $1, $, $5 I D or $13, $6, $ I D add $1, $, $ I D sw $15, 1($) I D E se esse $ fosse $13? 1998 organ Kaufmann Publishers Ch6c 5
6 Forwarding ID/EX EX/E Control E/ IF/ID EX isters Data IF/ID.isterRs Rs IF/ID.isterRt IF/ID.isterRt IF/ID.isterRd Rt Rt Rd EX/E.isterRd Forwarding E/.isterRd 1998 organ Kaufmann Publishers Ch6c 6
7 Forward não é válido para todos os casos Load (lw) ainda pode causar um hazard Uma instrução, após um load, tenta ler um registrador que é o alvo (destino) do load Time (in clock cycles) Program CC 1 CC CC 3 CC CC 5 CC 6 execution order (in instructions) lw $, ($1) I D CC 7 CC 8 CC 9 and $, $, $5 I D or $8, $, $6 I D add $9, $, $ I D slt $1, $6, $7 I D Uma unidade de detecção de hazard é necessária para travar (stall) a instrução de load 1998 organ Kaufmann Publishers Ch6c 7
8 Stalling A idéia de stall consiste em congelar instruções em seus respectivos estágios Program execution order (in instructions) Time (in clock cycles) CC 1 CC CC 3 CC CC 5 CC 6 CC 7 CC 8 CC 9 CC 1 lw $, ($1) I D and $, $, $5 I D or $8, $, $6 add $9, $, $ I I D bubble I D slt $1, $6, $7 I D 1998 organ Kaufmann Publishers Ch6c 8
9 Unidade de detecção de hazards Hazard detection ID/EX.emRead ID/EX IF/IDWrite IF/ID Control EX EX/E E/ Write isters Data IF/ID.isterRs IF/ID.isterRt IF/ID.isterRt IF/ID.isterRd Rt Rd EX/E.isterRd ID/EX.isterRt Rs Rt Forwarding E/.isterRd 1998 organ Kaufmann Publishers Ch6c 9
10 Exemplo pag 93 a nd $, $, $5 lw $, ($ 1) b efo re<1 > b efore <> Write IF/IDWrite IF/ID 1 X 1 X Hazard detection Control isters ID/EX.emRead ID/EX 11 $1 $X EX EX/E Data be fore <3 > E/ 1 X ID/EX.isterRt Forwarding Clock o r $, $, $ a nd $, $, $5 lw $, ($1 ) be fore <1 > be fore<> IF/IDWrite IF/ID 5 Hazard detection Control ID/EX.emRead ID/EX 11 EX EX/E E/ Write 5 isters $ $5 $1 $X Data 5 1 X ID/EX.isterRt Forwarding Clock 3
11 or $, $, $ and $, $, $5 bubble lw $,... b efo re< 1> Exemplo pag 93 IF/IDWrite IF/ID 5 Hazard detection Control ID/EX.emRead ID/EX 1 EX EX/E 11 E/ Write 5 isters $ $5 $ $5 Data 5 5 ID/EX.isterRt Forwarding Clock ad d $ 9, $, $ or $, $, $ an d $, $, $ 5 b ubble lw $,... IF/IDWrite IF/ID Hazard detection Control ID/EX.emRead ID/EX 1 1 EX EX/E E/ 11 Write isters $ $ $ $5 Data 5 ID/EX.isterRt Forwarding Clock 5
12 Hazards de desvio Quando o desvio é decidido, outras instruções estão no pipeline Program execution order (in instructions) Time (in clock cycles) CC 1 CC CC 3 CC CC 5 CC 6 CC 7 CC 8 CC 9 beq $1, $3, 7 I D and $1, $, $5 I D 8 or $13, $6, $ I D 5 add $1, $, $ I D 7 lw $, 5($7) I D Nesse caso, considera se que o desvio não será tomado (branch not taken) uma vez que o stall afeta o desempenho consideravelmente É necessário mais um hardware para limpar (flush) as instruções, caso elas não sejam as instruções corretas (alvos do desvio) 1998 organ Kaufmann Publishers Ch6c 1
13 Diminuindo a penalidade do branch taken no esquema anterior decisão só é tomada no estágio E caso branch taken é necessário limpar (flush) os estágios IF, ID e EX 3 ciclos de clock perdidos para diminuir a penalidade: antecipar a decisão do estágio E para o estágio ID economia de dois ciclos clocks Limpar somente instrução sendo lida da memória (fetched) mudanças no hardware: cálculo do endereço do desvio ( + offset<<) comparação dos registradores 3 XORs com or na saída mais rápido do que a 1998 organ Kaufmann Publishers Ch6c 13
14 Limpando instruções IF.Flush Hazard detection ID/EX EX/E Control E/ IF/ID EX Shift left isters = Data Sign extend Forwarding 1998 organ Kaufmann Publishers Ch6c 1
15 and $1, $, $5 beq $1, $3, 7 sub $1, $, $8 before<1> before<> IF.Flush 7 Hazard detection ID /EX Funcionamento do branch taken com mudança na decisão 8 Control IF/ID Shift left 7 isters u x $1 $3 EX u x $ EX/E Data E/ u E >ID u x = 7 Sign extend u x $8 x (fig 6.5) 1 Forwarding Clock 3 lw $, 5($7) bubble (nop) beq $1, $3, 7 sub $1,... before<1> beq $1, $3, 7 IF.Flush 76 u x Hazard detection ID /EX EX/E and $1, $, $5 IF/ID Control u x EX E/ or $13, $6, $ 5 add $1, $, $ 76 7 Shift left Sign extend isters = u x $1 $3 Data u x 7 lw $, 5($7) Forwarding 1 Clock
16 elhorando o desempenho... Tente evitar os stalls! Ex: reordene as instruções a seguir: lw $t, ($t1) lw $t, ($t1) sw $t, ($t1) sw $t, ($t1) Adicione um slot de atraso do desvio branch delay slot A próxima instrução depois do desvio é sempre executada Depende do compilador preencher fill o slot com alguma instrução útil Previsão de desvios (Branch Prediction) tentar acertar se o desvio será tomado ou não em loops, desvio é tomado a maior parte das vezes Necessidade de uma branch history table Em máquinas superscalarers: mais de uma instrução é iniciada no mesmo ciclo 1998 organ Kaufmann Publishers Ch6c 16
17 Delay slot a. From before b. From target c. From fall through add $s1, $s, $s3 if $s = then Delay slot sub $t, $t5, $t6 add $s1, $s, $s3 if $s1 = then add $s1, $s, $s3 if $s1 = then Delay slot Delay slot sub $t, $t5, $t6 Becomes Becomes Becomes if $s = then add $s1, $s, $s3 add $s1, $s, $s3 if $s1 = then sub $t, $t5, $t6 add $s1, $s, $s3 if $s1 = then sub $t, $t5, $t organ Kaufmann Publishers Ch6c 17
18 Escalonamento Dinâmico O hardware realiza o escalonamento ( scheduling ) Hardware tenta encontrar instruções para executar Execução fora de ordem é possível Execução especulativa e previsão dinâmica de desvios TODOS os processadores modernos possuem algum(ns) desse(s) recurso(s) e, por isso, são bastante complicados! DEC Alpha 16: 9 estágios de pipeline, 6 instruções podem ser despachadas simultaneamente Power e Pentium: possuem uma branch history table A tecnologia existente no compilador está cada vez mais importante 1998 organ Kaufmann Publishers Ch6c 18
19 Comparação de desempenho para monociclo, multiciclo e pipeline gcc: lw (3%), sw (13%), beq (19%), j (%), resto (3%) pipeline: ns (memória e ) e 1ns para o registrador (RD ou WR) 1/ dos lw seguidos por instruções que usam o resultado 1/ dos beq são errados (1 clock perdido) jumps perdem um ciclo pipeline: lw: 1 clock sem hazard e clock com hazard; média = 1.5 beq: 1 clock se OK (3/) e clocks se não OK (1/); média = 1.5 jump: clocks demais instruções: 1 clock CPI = 1.5*.3+1*.13+1*.3+1.5*.19+*. = 1.18 clock = ns; tempo médio de execução = *1.18=.36ns multiciclo;.*=8.8ns; monociclo = 8ns pipeline é 3. vezes mais rápido do que monociclo ou multiciclo 1998 organ Kaufmann Publishers Ch6c 19
20 Circuito completo Branch IF.Flush ID.Flush EX.Flush Hazard detection ID/EX EX/E Address Read data IF/ID Control 16 Shift left Sign extend Read register 1 Read register isters Write register Write data Write Read data 1 Read data 3 = EX Cause Except Src Op control emwrite Data Address Write data Read data emread E/ emto [5 1] [ 16] [ 16] [15 11] Dst Forwarding
Pipelining. 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 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 maisUNIOESTE Universidade Estadual do Oeste do Paraná Departamento de Engenharias e Ciências Exatas Campus de Foz do Iguaçu. Pipeline Conflitos
UNIOESTE Universidade Estadal do Oeste do Paraná Departamento de Engenharias e Ciências Eatas Camps de Foz do Igaç Pipeline Prof.: Fabiana Frata Frlan Peres Foz do Igaç - 2004 1 (definição) Sitação em
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 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 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 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 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 maisO Porcessador: Via de Dados e Controle (Parte B: multiciclo) 1998 Morgan Kaufmann Publishers Ch5B 1
O Porcessador: Via de Dados e Controle (Parte B: multiciclo) 998 organ Kaufmann Publishers Ch5B Abordagem ulticiclo Dividir a instrução em passos, cada passo corresponde a um ciclo Balancear a quantidade
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 maisO Processador: Via de Dados e Controle
O Processador: Via de Dados e Controle Ch5A Via de Dados e Controle Implementação da arquitetura MIPS Visão simplificada de uma arquitetura monociclo Instruções de memória: lw, sw Instruções lógicas aritméticas:
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 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 maisDataPath II Tomando o controle!
DataPath II Tomando o controle! Datapath and Control Queremos implementar parte do MIPS lw, sw add, sub, and, or, slt beq e depois o j Instruction Word Formats Register format: add, sub, and, or, slt op-code
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 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 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 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 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 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 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 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 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 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 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 maisArquiteturas de Computadores
rquiteturas de Computadores Implementação de IPS multiciclo (cont.) Fontes dos slides: Patterson & Hennessy book website (copyright organ Kaufmann) e r. Sumanta Guha Caminho de dados com controle I Ior
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 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 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 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 maisArquitetura e Organização de Processadores. Aula 3. Processador MIPS Bloco operacional
niversidade Federal do Rio Grande do Sul Instituto de Informática Programa de Pós-Graduação em Computação rquitetura e Organização de Processadores ula 3 Processador IPS loco operacional CP237 1. loco
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 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 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 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 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 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 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 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 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 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 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 maisUNIVERSIDADE FEDERAL FLUMINENSE INSTITUTO DE COMPUTAÇÃO DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO
UNIVERSIDADE FEDERAL FLUMINENSE INSTITUTO DE COMPUTAÇÃO DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO Arquiteturas de Computadores Turma :A1 Lista 1 Profa.: Simone Martins 1. Tentando projetar o futuro: a) Em
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 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 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 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 mais3. Considere o seguinte código executado no processador pipeline da figura abaixo.
UNIVERSIDADE FEDERAL FLUINENSE INSTITUTO DE COPUTAÇÃO DEPARTAENTO DE CIÊNCIA DA COPUTAÇÃO Arqitetras de Comptadores Trma :A Lista 2 Profa.: Simone artins. Indiqe como modificar o código abaio de modo qe
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 maisUniversidade de Brasília. Pipelining. ção o e Arquitetura de Computadores. Organizaçã
Uiversidade de Brasília Pipeliig Orgaizaçã ção o e Arquitetura de Computadores Objetivo Apresetar a utilização de uma técica para aumeto de desempeho de arquiteturas de processadores: Pipelie : O que facilita
Leia maisExemplo: CC1 CC2 CC3 CC4 CC5 CC6 CC7 CC8 CC9 ADD $s0, $t0, $t1 IF ID EX MEM WB SUB $t2, $s0, $t3 IF Stall Stall ID EX MEM WB
2.3 Dependências de dados (Data Hazards) Ocorre quando uma instrução depende do resultado de outra instrução que ainda está no pipeline. Este tipo de dependência é originado na natureza seqüencial do código
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 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 maisMicroarquitetura de Processador: Uma perspectiva de implementação
Arquitetura e Organização de Computadores 2 Paralelismo em Nível de Instruções Arquiteturas Pipelining e Superescalar Microarquitetura de Processador: Uma perspectiva de implementação O foco está nos aspectos
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 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 maisSistemas Processadores e Periféricos Aula 6 - Revisão
Sistemas Processadores e Periféricos Aula 6 - 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 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 mais6. Pipelining. Figura Lavanderia analogia com o pipelining
6. Pipelining Overwiew Figra 6. - Lavanderia analogia com o pipelining Time Task order A B C 6 P 7 8 9 A D Time 6 P 7 8 9 A Task order A B C D ARQUITETURA DE COPUTADORES - RICARDO PANNAIN 6 Pipeline de
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 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 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 maisCapítulo 6. Idéia básica
Capítlo 6 Permission is granted to copy and distribte this material for edcational prposes only, provided that the complete bibliographic citation and following credit line is inclded: "Copyright 998 organ
Leia maisSSC0112 Organização de Computadores Digitais I
SSC0112 Organização de Computadores Digitais I 16ª Aula Arquitetura MIPS: Unidade de Controle (Multiciclo) Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br 1 MIPS Multiciclo com jump 2 MIPS Multiciclo:
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 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 maisInfraestrutura de Hardware. Instruindo um Computador
Infraestrutura de Hardware Instruindo um Computador Componentes de um Computador Unid. Controle Controle Memória Registradores PC MAR IR AC Programa + Dados Instrução Endereço Operando ALU Temp Datapath
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 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 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 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 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 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 maisORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I AULA 04: ASPECTO BÁSICO DO PROJETO DE UMA CPU SIMPLES E LINGUAGEM DE MONTAGEM Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia
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 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 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 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 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 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 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 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 maisSistemas Processadores e Periféricos Aula 5 - Revisão
Sistemas Processadores e Periféricos Aula 5 - 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 maisMO401. Arquitetura de Computadores I
Arquitetura de Computadores I 2006 Prof. Paulo Cesar Centoducatte ducatte@ic.unicamp.br www.ic.unicamp.br/~ducatte 4.1 Arquitetura de Computadores I Paralelismo em Nível de Instruções Exploração Dinâmica
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 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 maisArquitectura de Computadores II. Pipelining (execução encadeada de instruções)
Arqitectra de Comptadores II 3º Ano Pipelining (eecção encadeada de instrções) João Lís Ferreira Sobral Departamento do Informática Universidade do inho Abril 5 Visão global de Pipelining Técnica qe permite
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 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 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 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 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 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 maisResumo das aulas anteriores
Resumo p. 1 Resumo das aulas anteriores Luís Nogueira luis@dei.isep.ipp.pt Departamento Engenharia Informática Instituto Superior de Engenharia do Porto Resumo p. 2 Instruction Set Architecture Hardware
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 maisParalelismo ao Nível das Instruções p. 1
Paralelismo ao Nível das Instruções Luís Nogueira luis@dei.isep.ipp.pt Departamento Engenharia Informática Instituto Superior de Engenharia do Porto Paralelismo ao Nível das Instruções p. 1 Como melhorar
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 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 mais