Pipelining. Luís Nogueira. Departamento Engenharia Informática Instituto Superior de Engenharia do Porto. Pipelining p.
|
|
- Pedro Lucas Camarinho
- 5 Há anos
- Visualizações:
Transcrição
1 Pipelining Luís Nogueira Departamento Engenharia Informática Instituto Superior de Engenharia do Porto Pipelining p.
2 Análise de performance Desenho ciclo único de relógio é ineficiente Todas as instruções demoram ciclo de relógio Determinado pelo caminho mais longo nos circuitos (lw) Viola princípio de optimização de casos frequentes Alternativa : Variar comprimento do ciclo de relógio Todas as instruções demoram ciclo de relógio No entanto, frequência de relógio variável Etrema dificuldade de implementação Overhead pode facilmente superar vantagens obtidas Pipelining p. 2
3 Análise de performance Alternativa 2: Desenho ciclo múltiplo Ciclo de relógio menor Instruções divergem nos ciclos de relógio necessários Logo, partilham unidades funcionais Temos que redesenhar o nosso processador! Alternativa 3: Pipelining Dividir eecução da instrução em fases Ciclo de relógio menor (fase em vez de instrução) Todas as instruções demoram mesmo número de ciclos Sobrepor processamento de várias instruções em fases distintas elhorar performance global sem diminuir tempo de eecução da instrução Pipelining p. 3
4 Divisão da instrução em fases Fetch instrução é transferida da memória Decode tipo e operandos são determinados Eecute operação eecutada/endereço calculado emory Access acesso a memória em lw/sw Back resultado escrito em registo Time add $s, $t, $t IF ID EX E WB Pipelining p. 4
5 Sobreposição de eecução Cada fase demora ciclo de relógio Ciclo de relógio menor Instruções demoram 5 ciclos Como aumentar performance? Sobrepondo eecução das instruções Em fases distinctas Sem partilha de hardware na mesma fase Semelhante a uma linha de montagem Pipelining p. 5
6 Sobreposição de eecução Program eecution order (in instructions) Time (in clock cycles) CC CC 2 CC 3 CC 4 CC 5 CC 6 CC7 lw $, ($) ALU lw $2, 2($) ALU lw $3, 3($) ALU Pipelining p. 6
7 Ciclo único vs Pipelining Program eecution Time order (in instructions) lw $, ($) lw $2, 2($) lw $3, 3($) fetch ALU 8 ps access fetch ALU 8 ps access fetch 8 ps Program eecution Time order (in instructions) lw $, ($) lw $2, 2($) lw $3, 3($) fetch 2 ps fetch 2 ps ALU fetch access ALU access ALU access 2 ps 2 ps 2 ps 2 ps 2 ps Pipelining p. 7
8 Ciclo único vs Pipelining Ciclo único Ciclo de relógio determinado pela instrução mais lenta Pipelining Ciclo de relógio determinado pela fase mais lenta Tempo de eecução por instrução é o mesmo No entanto, n o instruções por segundo aumenta Eecutando instruções em paralelo ( IPC) Diminuindo ciclo de relógio ( frequência) Depois de superada a latência (n o ciclos para encher pipeline) instrução por ciclo (IPC = ) Pipelining p. 8
9 Divisão dos componentes em fases IF: fetch ID: decode/ register file read EX: Eecute/ address calculation E: emory access WB: back 4 Add Shift left 2 Add ADD result register PC Address Zero ALU register 2 ALU Address isters result register 2 emory 6 Sign 32 etend Pipelining p. 9
10 Implementação No mesmo ciclo de relógio Instruções em fases distintas Partilham fluo de informação Necessário armazenar informação intermédia Adicionar registos entre fases do pipeline IF/ID informação que passa de IF para ID ID/EX informação que passa de ID para EX EX/E informação que passa de EX para E E/WB informação que passa de E para WB Pipelining p.
11 istos do pipeline IF/ID ID/EX EX/E E/WB Add 4 Shift left 2 Add Add result PC Address register register 2 isters register 2 Zero ALU ALU result Address 6 Sign 32 etend Pipelining p.
12 Eemplo do fluo de informação Instrução de acesso à memória (lw$, of f set($2)) Activa as 5 fases Componentes nos próimos esquemas Lado direito realçado leitura Lado esquerdo realçado escrita Pipelining p. 2
13 Fetch - lw $,offset($2) IF/ID ID/EX EX/E E/WB Add 4 Shift left 2 Add Add result PC Address register register 2 isters register 2 Zero ALU ALU result Address 6 Sign 32 etend Pipelining p. 3
14 Decode - lw $,offset($2) IF/ID ID/EX EX/E E/WB Add 4 Shift left 2 Add Add result PC Address register register 2 isters register 2 Zero ALU ALU result Address 6 Sign 32 etend Pipelining p. 4
15 Eecute - lw $,offset($2) Eecution IF/ID ID/EX EX/E E/WB Add 4 Shift left 2 Add Add result PC Address register register 2 isters register 2 Zero ALU ALU result Address 6 Sign 32 etend Pipelining p. 5
16 emory Access - lw $,offset($2) emory IF/ID ID/EX EX/E E/WB Add 4 Shift left 2 Add Add result PC Address register register 2 isters register 2 Zero ALU ALU result Address 6 Sign 32 etend Pipelining p. 6
17 Back - lw $,offset($2) back IF/ID ID/EX EX/E E/WB Add 4 Shift left 2 Add Add result PC Address register register 2 isters register 2 Zero ALU ALU result Address 6 Sign 32 etend Pipelining p. 7
18 Fluo de informação - sequência de instruções lw $,2($) sub $,$2,$3 add $2,$3,$4 lw $3,24($) add $4,$5,$6 Eecução de instruções em paralelo Superada a latência do pipeline Todos os componentes activos num ciclo de relógio IPC = Pipelining p. 8
19 Fluo de informação - sequência de instruções Program eecution order (in instructions) Time (in clock cycles) CC CC 2 CC 3 CC 4 CC 5 CC 6 CC 7 CC 8 CC 9 lw $, 2($) fetch decode Eecution access back sub $, $2, $3 fetch decode Eecution access back add $2, $3, $4 fetch decode Eecution access back lw $3, 24($) fetch decode Eecution access back add $4, $5, $6 fetch decode Eecution access back Pipelining p. 9
20 Fluo de informação - sequência de instruções (CC5) add $4, $5, $6 lw $3, 24 ($) add $2, $3, $4, $ sub $, $2, $3 lw$, 2($) fetch decode Eecution emory back IF/ID ID/EX EX/E E/WB Add 4 Shift left 2 Add Add result PC Address register register 2 isters register 2 Zero ALU ALU result Address 6 Sign 32 etend Pipelining p. 2
21 Controlo do fluo de informação EX assinalar Dest, ALUop, ALUSrc E assinalar PCSrc, em, em WB assinalar emto, WB Control WB EX WB IF/ID ID/EX EX/E E/WB Pipelining p. 2
22 Controlo do fluo de informação PCSrc ID/EX WB EX/E Control WB E/WB IF/ID EX WB Add PC 4 Address register register 2 isters register rite W 2 Shift left 2 Add Add result ALUSrc Zero ALU ALU result Branch Address em emto [5 ] 6 Sign 32 6 etend ALU control em [2 6] ALUOp [5 ] Dst Pipelining p. 22
23 Problemas em pipelining Objectivo é manter pipeline cheio (IPC = ) as por vezes a próima instrução não pode eecutar no próimo ciclo de relógio Problemas Dependências de dados entre instruções sequenciais Acesso à memória tem latência elevada (lw,sw) Instruções de salto alteram fluo de eecução Não temos problemas estruturais no nosso pipeline Não há partilha de hardware na mesma fase Separamos memória de dados da memória de instruções Pipelining p. 23
24 Dependências entre instruções sub $2,$,$3 and $,$2,$5 or $3,$6,$2 add $4,$2,$2 sw $5,($2) Valor de $2 em and é necessário antes de EX Só é actualizado na fase WB por sub! Apenas no 5 o ciclo de relógio esmo problema para or e add Pipelining p. 24
25 Dependências entre instruções Time (in clock cycles) Value of CC CC 2 CC 3 CC 4 CC 5 CC 6 CC 7 CC 8 CC 9 register $2: / Program eecution order (in instructions) sub $2, $, $3 and $2, $2, $5 or $3, $6, $2 add $4, $2, $2 sw $5, ($2) Pipelining p. 25
26 Dependências entre instruções Solução Parar pipeline até valor de $2 ser actualizado em WB Como eecutar código sem parar pipeline? Análise atenta do esquema anterior revela Valor de $2 produzido no CC 3 Necessário valor de $2 em CC 4 e CC 5 Solução 2 Propagar valores mal são conhecidos (forwarding) Pipelining p. 26
27 Forwarding Detectar dependência em run time EX/E.isterRd = ID/EX.isterRs EX/E.isterRd = ID/EX.isterRt E/WB.isterRd = ID/EX.isterRs E/WB.isterRd = ID/EX.isterRt Propagar valor Valor é propagado mal é conhecido (fim de EX) Input ALU passa a vir de qualquer registo do pipeline Sem paragens no pipeline Eige hardware adicional Pipelining p. 27
28 Forwarding - Propagação de valores Time (in clock cycles) CC CC 2 CC 3 CC 4 CC 5 CC 6 CC 7 CC 8 CC 9 Value of register $2: / Value of EX/E: X X X 2 X X X X X Value of E/WB: X X X X 2 X X X X Program eecution order (in instructions) sub $2, $, $3 and $2, $2, $5 or $3, $6, $2 add $4, $2, $2 sw $5, ($2) Pipelining p. 28
29 Forwarding - Hardware adicional ID/EX EX/E E/WB u isters ForwardA ALU u u ForwardB Rs Rt Rt Rd u EX/E.isterRd Forwarding unit E/WB.isterRd Pipelining p. 29
30 Latência no acesso à memória lw $2,2($) and $4,$2,$5 or $8,$2,$6 add $9,$4,$2 slt $,$6,$7 Acesso à memória tem latência elevada and necessita valor de $2 antes de EX Valor de $2 só é conhecido depois de E Forwarding não resolve problema! Pipelining p. 3
31 Latência no acesso à memória Time (in clock cycles) CC CC 2 CC 3 CC 4 CC 5 CC 6 CC 7 CC 8 CC 9 Program eecution order (in instructions) lw $2, 2($) and $4, $2, $5 or $8, $2, $6 add $9, $4, $2 slt $, $6, $7 Pipelining p. 3
32 Latência no acesso à memória Soluções Compilador Hardware Compilador Reordena instruções Instrução seguinte a lw não depende desta Hardware Detectar dependência em run time Inserir estados de espera no pipeline Pipelining p. 32
33 Estados de espera Program Time (in clock cycles) eecution order (in instructions) CC CC 2 CC 3 CC 4 CC 5 CC 6 CC 7 CC 8 CC 9 CC lw $2, 2($) and $4, $2, $5 or $8, $2, $6 add $9, $4, $2 bubble slt $, $6, $7 Pipelining p. 33
34 Estados de espera - hardware adicional Hazard detection unit ID/EX.em IF/DWrtite Control u ID/EX WB EX/E WB E/WB PC IF/ID EX WB PC isters u u ALU u IF/ID.isterRs IF/ID.isterRt IF/ID.isterRt IF/ID.isterRd Rt Rd u ID/EX.isterRt Rs Rt Forwarding unit Pipelining p. 34
35 Instruções de salto beq $,$3,28 and $2,$2,$5 or $3,$6,$2 add $4,$2,$2 lw $4,5($7) IF ocorre em cada ciclo de relógio E se a instrução a ir buscar depender de um salto condicional? Só conhecemos resultado do salto em E! Pipelining p. 35
36 Instruções de salto Time (in clock cycles) CC CC 2 CC 3 CC 4 CC 5 CC 6 CC 7 CC 8 CC 9 Program eecution order (in instructions) 4 beq $, $3, and $2, $2, $5 48 or $3, $6, $2 52 add $4, $2, $2 72 lw $4, 5($7) Pipelining p. 36
37 Instruções de salto Soluções Assumir que salto não é efectuado Reduzir latência da decisão de salto Branch delay slot (compilador) Branch predication Nas próimas aulas Previsão dinâmica de saltos Eecução especulativa Pipelining p. 37
38 Assumir que salto não é efectuado Parar pipeline até conhecer resultado do salto é ineficiente Assume-se que salto nunca é efectuado Eecução sequencial das instruções Se salto for efectuado Descartar instruções em IF, ID e EX IF da instrução correcta Se saltos não forem realizados 5% das vezes Optimização de 5% Pipelining p. 38
39 Reduzir latência da decisão de salto Antecipar decisão de salto do E para ID Apenas instrução descartada Calcular endereço do salto over incrementador PC de E para ID PC e endereço conhecidos em ID Decisão do salto (mais difícil) over decisão para ID implica hardware adicional Forwarding e detecção de dependências Descodificar, comparar e propagar valores no mesmo ciclo Pipelining p. 39
40 Antecipar decisão de salto - Alterações no hardware IF.Flush Hazard detection unit ID/EX Control u WB EX/E WB EX/E + IF/ID + EX WB u PC 4 Shift left 2 isters = u u ALU u Sign etend u Fowarding unit Pipelining p. 4
41 Branch delay slot Antecipando a decisão do salto para ID Apenas instrução em dúvida Compilador tenta introduzir instrução útil nesse slot Instrução independente da decisão de salto Limitações Restrições impostas pelas instruções do programa Dificuldade em prever resultado do salto durante a compilação Solução é eficaz para pipeline com 5 estágios Pipelines mais profundos branch delay slot maior Actualmente técnica é combinada com previsão dinâmica de saltos por hardware Pipelining p. 4
42 Branch predication C IPS Branch predication if(i == j) bne $,$2,ELSE (p) add $3,$4,$5 f = g + h; add $3,$4,$5 ( p) sub $3,$3,$ else j EXIT f = f - i; ELSE: sub $3,$3,$ EXIT: Eliminar saltos condicionais com lógica de predicados Instruções dependem de predicados (verdadeiro/falso) ais rápido se blocos condicionais são pequenos ISA tem de suportar instruções predicadas ais bits por instrução Predicado falso instrução convertida em nop Pipelining p. 42
43 Resumo Pipelining melhora o tempo de eecução médio das instruções elhora performance global Não diminui tempo de eecução de uma instrução ISA influencia implementação do pipeline ISA IPS desenhada para pipelining Problemas em pipelining Dependências de dados entre instruções sequenciais Acesso à memória tem latência elevada (lw,sw) Instruções de salto alteram fluo de eecução Pipelining p. 43
Capí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 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 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 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 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 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 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 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 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 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
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 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 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 maisDesenho do Processador
Desenho do Processador Lís Nogeira lis@dei.isep.ipp.pt Departamento Engenharia Informática Institto Sperior de Engenharia do Porto Desenho do processador p. Introdção Definindo o seginte sbconjnto da ISA
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 maisResumão de Infra-estrutura de Hardware
Resumão de Infra-estrutura de Hardware Referência: Patterson & Hennessy - Organização e Projeto de Computadores Vanessa Gomes de Lima vgl2@cin.ufpe.br 1 MELHORANDO O DESEMPENHO COM PIPELINING Pipelining
Leia maisSSC0611 Arquitetura de Computadores
SSC0611 Arquitetura de Computadores 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 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 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 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 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 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 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 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 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 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 maisRelembrando desempenho...
Parte 5 OBS: Essas anotações são adaptações do material suplementar (apresentações PPT) ao Livro do Hennessy e Patterson, 2ª e 3ª Ed. e do Livro do 5ª Ed. A parte final do material corresponde às aulas
Leia maisO 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 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 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 maisDatapath do MIPS. MIPS Implementação. sw) or, slt. Vamos examinar uma implementação que inclui um subconjunto de instruções do MIPS
path do IPS IPS Implementação Vamos examinar uma implementação que inclui um subconjunto de instruções do IPS Instruções de leitura (load lw) e de escrita (store sw) Instruções aritméticas e lógicas add,
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 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. 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 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 maisInfra-estrutura de Hardware
Infra-estrtra de Hardware CPU: Estrtra e Fncionalidade Implementação lti-ciclo Infra-estrtra de Hardware Roteiro da Ala Projeto de ma CPU simples Unidade de Processamento Via de Dados Compartilhamento
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 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 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 maisArquitetura de Computadores. Prof. Alexandro Baldassin. 1o semestre/2018
Arquitetura de Computadores Prof. Alexandro Baldassin 1o semestre/2018 Personagem da Semana Von Neumann medal, 1993 For significant developments in computer architecture, insighmul observaoons on sopware
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 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 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 maisO Processador: Via de Dados e Controle (Parte C: microprogramação)
O Processador: Via de Dados e Controle (Parte C: microprogramação) Ch5B 1 Possibilidades para o projeto de UCs Initial representation Finite state diagram M icroprogram Sequencing control Explicit next
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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 maisLicenciatura em Engenharia Informática e Computação. Arquitectura de Computadores Exame Modelo
FEUP Licenciatra em Engenharia Informática e Comptação Arqitectra de Comptadores Eame odelo o ano 6-XX-XX Dração: Hm Sem conslta Atenção: Este eame tem 6 qestões em 5 páginas. Jstifiqe todas as respostas.
Leia maisOrganização de Computadores
Organização do Processador - Parte A Capítulo 5 Patterson & Hennessy Prof. Fábio M. Costa Instituto de Informática Universidade Federal de Goiás Conteúdo Caminho de dados Caminho de controle Implementação
Leia maisFaculdade de Computação Arquitetura e Organização de Computadores 2 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 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 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 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 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 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 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 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 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. 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 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 maisINTRODUÇÃO À ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES. Função e Estrutura. Introdução Organização e Arquitetura. Organização e Arquitetura
Introdução Organização e Arquitetura INTRODUÇÃO À ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES Eduardo Max Amaro Amaral Arquitetura são os atributos visíveis ao programador. Conjunto de instruções, número
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 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 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 maisARQUITECTURA DE COMPUTADORES CAPÍTULO II AULA VII
ARQUITECTURA DE COMPUTADORES CAPÍTULO II AULA VII Índice Endereçamento MIPS: 32-bits imediatos; Endereços em branches e jumps; Modos de endereçamento; MARS Exercício 5: Fibonnaci Problema Apesar de instruçõ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 um processador
Organização de m processador João Canas Ferreira Arqitectra de Comptadores FEUP/LEIC Contém figras de Compter Organization and Design (cap. 5), D. Patterson & J. Hennessey, 3 a. ed., KP Tópicos Introdçã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 maisIntrodução I. Organização e Arquitetura de Computadores. Sequência 15 Parte Operativa do MIPS - I. Introdução II.
Organização e Arqitetra de Comptadores Seqência 15 Parte Operativa do IPS - I Introdção I O desempenho de ma máqina pode ser determinado por três fatores: Número de instrções eectadas. Período do clock
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 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 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 maisLicenciatura em Engenharia Informática e Computação. Arquitectura de Computadores Exame
FEUP Licenciatra em Engenharia Informática e Comptação Arqitectra de Comptadores Eame o ano 6-6-3 Dração: Hm Sem conslta Atenção: Este eame tem 6 qestões em 5 páginas. Jstifiqe todas as respostas e apresente
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 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 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 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 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 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 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 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 maisMIPS ISA (Instruction Set Architecture)
MIPS ISA (Instruction Set Architecture) MIcroprocessor without Interlocking Pipeline Stages MIPS Processador RISC de 32 bits Referência dos Processadores RISC Mais de 100 Milhões de processadores vendidos
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 maisOrganização de um processador
Organização de m processador João Canas Ferreira Arqitectra de Comptadores FEUP/LEIC Contém figras de Compter Organization and Design (cap. 5), D. Patterson & J. Hennessey, 3ª. ed., KP Tópicos Introdçã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 mais