Pipelining - analogia
|
|
|
- João Guilherme Cunha Cavalheiro
- 10 Há anos
- Visualizações:
Transcrição
1 PIPELINE
2 Pipelining - analogia
3 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 lw $2, 200($0) 800 ps lw $3, 300($0) Program execution Time order (in instructions) lw $1, 100($0) lw $2, 200($0) lw $3, 300($0) Instruction fetch 200 ps O aumento ideal do desempenho é igual ao numero de estados do pipeline. É possível? Instruction fetch ALU 800 ps Data access Instruction fetch 200 ps ALU Instruction fetch Data access ALU Data access ALU Data access 200 ps 200 ps 200 ps 200 ps 200 ps Instruction fetch 800 ps
4 Implementação de Pipelining É simplificado por: Todas as instruções tem o mesmo tamanho simplifica a descodificação Poucos formatos de instruções simplifica o datapath Acesso a memória apenas existem em LOADS e STORES É Limitado por Conflitos estruturais: Quando temos apenas uma memória Conflitos de dados: Dependência entre as instruções Conflitos de controlo: Tomada ou não de saltos relativos
5 Datapath de ciclo unico IF: Instruction fetch ID: Instruction decode/ register file read EX: Execute/ address calculation MEM: Memory access WB: Write back 4 Add Shift left 2 ADD Add result PC Address Instruction Instruction memory register 1 register 2 Write register Write data isters data 1 data 2 ALU Zero ALU result Address data Data Memory Write data 16 Sign 32 extend
6 Sobre a velocidade Quando se fala em velocidade estamos a falar de frequência, ou melhor tempo de propagação A velocidade é limitada pelo tempo máximo que um sinal demora a propagar-se de um elemento de estado para o próximo elemento de estado.
7 Pipelined Datapath IF/ID ID/EX EX/MEM MEM/WB Add 4 Shift left 2 Add Add result PC Address Instruction memory register 1 register 2 Write register Write data isters data 1 data 2 Zero ALU ALU result Address Data memory data Write data 16 Sign 32 extend
8 Instrução LOAD: estados IF & ID
9 Instrução LOAD: estado EXE
10 Instrução LOAD: estado MEM & WB
11 BUG em WB da instrução LOAD Qual a diferença da execução em pipeline do LOAD e do STORE Qual o problema que vê na execução da intrução LOAD em pipeline Será que é possível a escrita de resultados? Como resolver?
12 Datapath Corrigido IF/ID ID/EX EX/MEM MEM/WB Add 4 Shift left 2 Add Add result PC Address Instruction memory register 1 register 2 isters Write register Write data data 1 data 2 Zero ALU ALU result Address Data memory data Write data 16 Sign 32 extend
13 Representação gráfica de Pipelines Time (in clock cycles) Program execution order (in instructions) CC 1 CC 2 CC 3 CC 4 CC 5 CC 6 CC7 lw $1, 100($0) ALU lw $2, 200($0) ALU lw $3, 300($0) ALU Quantos ciclos demora a execução deste código? O que faz a ALU no ciclo 4?
14 Controlo do Pipeline PCSrc IF/ID ID/EX EX/MEM MEM/WB Add 4 Shift left 2 Add Add result Branch Write PC Address Instruction memory register 1 register 2 Write register Write data isters data 1 data 2 ALUSrc Zero Add ALU result MemWrite Address data Data memory Memto Instruction (15Ð0) 16 Sign 32 6 extend ALU control Write data Mem Instruction (20Ð16) ALUOp Instruction (15Ð11) Dst
15 Controlo do Pipeline Existem 5 estados. O que é necessário controlar em cada estado? Busca da Instrução e incremento do PC (comum a todas as instruções) Descodificação da instrução / leitura de registos (comum a todas as instruções) Execução/Cálculo de endereço (dependente da instruções) Estado de memória Escrita de resultados
16 Controlo do Pipeline Sinais de controlo de acordo com os dados da instrução Execution/Address Calculation stage control lines Write-back stage control lines Memory access stage control lines ALU ALU ALU Branc Mem Mem Instruction Dst Op1 Op0 Src h Write write R-format lw sw X X beq X X Mem to WB Instruction Control M WB EX M WB IF/ID ID/EX EX/MEM MEM/WB
17 Datapath com sinais de controlo PCSrc ID/EX WB EX/MEM Control M WB MEM/WB IF/ID EX M WB Add 4 Shift left 2 Add Add result ALUSrc Branch PC Address Instruction memory register 1 register 2 Write register Write data isters data 1 data 2 Zero ALU ALU result Address Data memory data Instruction [15 0] 16 Sign 32 6 extend ALU control Write data Mem Instruction [20 16] ALUOp Instruction [15 11] Dst
18 Dependências entre instruções sub $2, $1, $3 and $12, $2, $5 or $3, $6, $2 add $4, $2, $2 lw $4, 100($2) Existem vários tipos de dependências entre instruções Dados Anti-dependência Saída As dependências anti e de saída só existem em execução de instruções fora da ordem do programa
19 Dependências de dados sub $2, $1, $3 and $12, $2, $5 or $3, $6, $2 add $4, $2, $2 lw $4, 100($2) Quando a execução de uma instrução está dependente do resultado de uma Instrução prévia no pipeline
20 Anti-Dependência sub $2, $1, $3 and $12, $2, $5 or $3, $6, $2 add $4, $2, $2 lw $4, 100($2) Quando a escrita no registo do resultado da execução de uma instrução acontece antes da leitura desse registo numa instrução prévia no pipeline
21 Dependência de saída sub $2, $1, $3 and $12, $2, $5 or $3, $6, $2 add $4, $2, $2 lw $4, 100($2) Quando a execução de uma instrução está dependente do resultado de uma Instrução prévia no pipeline
22 Dependências As dependências podem dar origem aos conflitos Dependência de dados RAW Anti - Dependência WAR Dependência de saída WAW
23 Conflito de dados (RAW) (antes de sub, reg $2 tem o valor 10, depois tem o valor -20) Time (in clock cycles) Value of CC 1 CC 2 CC 3 CC 4 CC 5 CC 6 CC 7 CC 8 CC 9 register $2: / Program execution order (in instructions) sub $2, $1, $3 and $12, $2, $5 or $13, $6, $2 add $14, $2, $2 sw $15, 100($2)
24 Solução de software O compilador resolver esta situação pela inserção de NOPs Onde devem os NOPs serem inseridos? sub $2, $1, $3 and $12, $2, $5 or $13, $6, $2 add $14, $2, $2 sw $15, 100($2) As dependências de dados são um problema e tem de ser resolvido!
25 Solução de Hardware: Forwarding Forwarding aos registos de ficheiros para permitir leitura/escrita no mesmo ciclo ALU forwarding Time (in clock cycles) CC 1 CC 2 CC 3 CC 4 CC 5 CC 6 CC 7 CC 8 CC 9 Value of register $2: / Value of EX/MEM: X X X 20 X X X X X Value of MEM/WB: X X X X 20 X X X X Program execution order (in instructions) sub $2, $1, $3 and $12, $2, $5 or $13, $6, $2 add $14,$2, $2 sw $15, 100($2) what if this $2 was $13?
26 SEM FORWARDING COM FORWARDING
27 Forwarding Objectivo 1. Identificcar as condições de dependência, (i.e., Rd I_anterior =? Rs I_present or Rt I_presente ) 2. Se condição é verdadeira, seleccionar a entrada MUX para a ALU, outros casos selcciona a entrada MUX normal
28 Forward nem sempre resolve A Instrução LOAD também pode causar conflito? Quando uma instrução lê um registo a seguir a uma instrução LOAD que escreve nesse mesmo registo É preciso um detector de conflitos para inserir um bloqueio na instrução LOAD lw $2, 20($2) and $4, $2, $5 or $8, $2, $6 add $9, $4, $2
29 LOAD Time (in clock cycles) CC 1 CC 2 CC 3 CC 4 CC 5 CC 6 CC 7 CC 8 CC 9 Program execution order (in instructions) lw $2, 20($1) and $4, $2, $5 or $8, $2, $6 add $9, $4, $2 slt $1, $6, $7
30 Stalling Estados de bloqueio Podemos bloquear o pipeline(1 estado) mantendo o instrução no mesmo estado. Time (in clock cycles) CC 1 CC 2 CC 3 CC 4 CC 5 CC 6 CC 7 CC 8 CC 9 CC 10 Program execution order (in instructions) lw $2, 20($1) bubble and becomes nop add $4, $2, $5 or $8, $2, $6 add $9, $4, $2
31 Detecção de conflitos e Forwarding Hazard detection unit ID/EX.Mem ID/EX IF/ID Control WB EX/MEM M u M WB x 0 EX M MEM/WB WB PC Instruction memory isters M u x M u x ALU Data memory M u x IF/ID.isterRs IF/ID.isterRt IF/ID.isterRt IF/ID.isterRd ID/EX.isterRt Rt Rd Rs Rt M u x Forwarding unit
32 Conflitos de saltos Se a decisão do salto se tomar a seguir a EXE, quando se decide o salto já estão três instruções no pipeline! Time (in clock cycles) CC 1 CC 2 CC 3 CC 4 CC 5 CC 6 CC 7 CC 8 CC 9 Program execution order (in instructions) 40 beq $1, $3, and $12, $2, $5 48 or $13, $6, $2 52 add $14, $2, $2 72 lw $4, 50($7)
33 Conflitos de saltos Predição de salto não tomado Necessário adicionar hardware para flushing do pipeline das três instruções que já estão no pipeline (isto no caso de o salto ser efectuado) - a detecção de salto se está a fazer a seguir ao EXE em simultâneo no MEM. Neste caso uma predição errada resulta neste caso numa penalidade de 3 ciclos Se mudarmos a decisão de salto para o estado ID, em quanto fica a penalidade de salto errado?
34 SALTOS Se o salto não for efectuado temos uma penalidade de 1 ciclo É uma penalidade aceitável (?!) para um pipeline de 5 estados Com o aumento da profundidade dos pipelines, as penalidades aumentam e a predição estática diminui dramaticamente o desempenho do pipeline Solução é a utilização de predição dinâmica: que tem a ver com características locais e globais do programa
35 Delayed Branch Outra técnica que permite aumentar o desempenho nos saltos. Neste caso a instrução a seguir à instrução de salto é sempre executada independente da decisão. O Compilador é que toma a decisão sobre que instrução deve colocar a seguir à instrução de salto. Que hipóteses existem?
36 Predição de saltos Tenta adivinhar se o salto se toma ou não? Predição estática fixa por exemplo considera sempre que o salto não se toma Predição dinâmica Técnicas sofisticadas: Técnicas que envolvem características locais e características globais do programa É uma área de desenvolvimento e de investigação Processadores modernos têm uma taxa de predição correcta superior a 95%
37 Predição dinâmica de 2 bits Taken Predict taken Not taken Taken Predict taken Taken Not taken Predict not taken Not taken Taken Predict not taken Not taken
38 Técnicas sofisticadas: Técnicas que envolvem características locais e características globais do programa É uma área de desenvolvimento e de investigação Processadores modernos têm uma taxa de predição correcta de 95%
39 Melhorar desempenho Evitar os estados de bloqueio i. e. pelo reordenamento das instruções: Execução de instruções fora da ordem do programa Hardware escolhe que instruções pode executar Instruções são executadas fora de ordem em que os problemas de dependência estão resolvidos Especulação (pode ser necessário efectuar nova edição e execução se a predição estiver errada) Explorar o ILP instruction-level parallelism
40 Melhorar Desempenho - Pipelines Avançados Aumentar a profundidade do pipeline Iniciar mais do que uma instrução de uma só vez (emissão múltipla) Loop unrolling (melhor agendadmento das instruções) Superscalar processors DEC Alpha 21264: 9 estados de pipeline, `rmissão de 6 instruções Todos os processadores modernos são de edição múltipla de instruções e superescalares (várias unidades funcionais) VLIW: very long instruction word, multioperação por instrução
Organizaçã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
MIPS 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
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
Visã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
ARQUITECTURA 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
DataPath 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
Sistemas 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
Paralelismo a Nível de Instrução
Paralelismo a Nível de Instrução É possível obter maior desempenho computacional com: tecnologias mais avançadas, tais como circuitos mais rápidos; melhor organização da CPU, tais como o uso de múltiplos
Caminho dos Dados e Atrasos
Caminho dos Dados e Atrasos Arquiteturas para Alto Desmpenho Prof. [email protected] Sala 110 Prédio da Computação www.comp.ita.br/~pauloac Pipeline MIPS O MIPS utiliza um pipeline com profundidade 5, porém
Exemplo: 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
Conflitos. 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:
Universidade Federal de Campina Grande Unidade Acadêmica de Sistemas e Computação Curso de Bacharelado em Ciência da Computação.
Universidade Federal de Campina Grande Unidade cadêmica de Sistemas e Computação Curso de Bacharelado em Ciência da Computação Organização e rquitetura de Computadores I Organização e rquitetura Básicas
Arquitecturas Alternativas. Pipelining Super-escalar VLIW IA-64
Arquitecturas Alternativas Pipelining Super-escalar VLIW IA-64 Pipeline de execução A execução de uma instrução passa por várias fases: Vimos o ciclo: fetch, decode, execute fetch decode execute instrução
Arquitetura de Computadores I
Arquitetura de Computadores I Pipeline Edson Moreno [email protected] http://www.inf.pucrs.br/~emoreno Organização do MIPS: pipeline Visão geral do pipeline Analogia com uma Lavanderia doméstica 1
Introduçã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
Organização e Arquitetura de Computadores I
Universidade Federal de Campina Grande Unidade cadêmica de Sistemas e Computação Curso de Bacharelado em Ciência da Computação Organização e rquitetura de Computadores I Nível da Microarquitetura (Parte
Arquitetura e Organização de Computadores 2
Arquitetura e Organização de Computadores 2 Escalonamento Estático e Arquiteturas VLIW Dynamic Scheduling, Multiple Issue, and Speculation Modern microarchitectures: Dynamic scheduling + multiple issue
AULA 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
Capí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.
Infraestrutura de Hardware. Revisão Pipeline, Superescalar e Multicores
Infraestrutura de Hardware Revisão Pipeline, Superescalar e Multicores Pipeline Pipeline é uma técnica que visa aumentar o nível de paralelismo de execução de instruções ILP (Instruction-Level Paralellism)
Pipeline. 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;
Predição de Desvios e Processadores Superescalares Especulativos
Predição de Desvios e Processadores Superescalares Especulativos Arquiteturas para Alto Desmpenho Prof. [email protected] Sala 110 Prédio da Computação www.comp.ita.br/~pauloac Tomasulo Especulativo Se os
Arquitectura de Computadores II. Revisão e implementação do datapath do MIPS
Arqitectra de omptadores II LESI - 3º Ano Revisão e implementação do datapath do IPS João Lís Ferreira Sobral epartamento do Informática Universidade do inho Janeiro 22 Revisão do datapath (P) do IPS Visão
Infraestrutura 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
lw, 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
Um Caminho de Dados Pipeline Para a ISA MIPS: Aprendendo na Prática
Um Caminho de Dados Pipeline Para a ISA MIPS: Aprendendo na Prática Francisco Carlos Silva Junior 1, Ivan Saraiva Silva 1 1 Departamento de Computação Universidade Federal do Piauí (UFPI) Caixa Postal
Pipeline. Todos os estágios devem estar prontos ao mesmo tempo para prosseguir.
O throughput de um pipeline é determinado pela freqüência com que uma instrução sai do pipeline Todos os estágios devem estar prontos ao mesmo tempo para prosseguir O tempo requerido para mover uma instrução
O 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:
Índice. Tudo! (datapath de um ciclo)
Índice Sumário Instrução com atraso maior no datapath de um ciclo. Datapath multiciclo: introdução. 4. O Processador: Unidades de Caminho de Dados e de o 4.1 Diagrama de Blocos de um Processador 4.2 Unidade
Organizaçã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
Exercí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
O 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
Organizaçã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
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.
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
Implementaçã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
Relembrando 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
RISC simples. Aula 7. 31 de Março de 2005 1
RISC simples Aula 7 31 de Março de 2005 1 Estrutura desta aula Principais características dos processadores RISC Estrutura de um processador (MIPS) sem pipeline, de ciclo único O datapath ou circuito de
UNIVERSIDADE 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
Arquitetura 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 [email protected] http://www.inf.pucrs.br/~emoreno
ARQUITETURA DE COMPUTADORES
1 ARQUITETURA DE COMPUTADORES U C P Prof. Leandro Coelho Plano de Aula 2 Aula Passada Definição Evolução dos Computadores Histórico Modelo de Von-Neumann Básico CPU Mémoria E/S Barramentos Plano de Aula
Modos de entrada/saída
Arquitectura de Computadores II Engenharia Informática (11545) Tecnologias e Sistemas de Informação (6621) Modos de entrada/saída Fonte: Arquitectura de Computadores, José Delgado, IST, 2004 Nuno Pombo
Previsã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
Arquitetura 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
Arquitetura de processadores: RISC e CISC
Arquitetura de processadores: RISC e CISC A arquitetura de processador descreve o processador que foi usado em um computador. Grande parte dos computadores vêm com identificação e literatura descrevendo
Lab 9 Implementação do MIPS em VHDL e teste na FPGA
Sistemas de Microprocessadores DEP. DE ENG.ª ELECTROTÉCNICA E DE COMPUTADORES FACULDADE DE CIÊNCIAS E TECNOLOGIA UNIVERSIDADE DE COIMBRA Lab 9 Implementação do MIPS em VHDL e teste na FPGA Neste trabalho
Capítulo MC10 Organização Básica de Processadores
1 IC-UNICAMP MC 602 Circuitos Lógicos e Organização Computadores IC/Unicamp Prof Mario Côrtes Capítulo MC10 Organização Básica Processadores Tópicos Níveis abstração Máquina programa armazenado / Von Neumann
Infraestrutura 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
Datapath 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,
Capí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
Arquitetura de Computadores. Linguagem de Máquina
Arquitetura de Computadores Linguagem de Máquina Ivan Saraiva Silva Formato de Instrução MAC O MIC possui dois formatos de instrução: 4 bits 12 bits Formato 1 CODOP ENDEREÇO 8 bits 8 bits Formato 2 CODOP
Arquiteturas 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
Infraestrutura 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
ArchC. Wesley Nunes Gonçalves
Implementação do Processador ARM7 em ArchC Wesley Nunes Gonçalves 23 de novembro de 2007 ARM7 Instruções Implementadas O ARM possui 37 registradores, sendo 31 registradores de propósito geral e 6 registradores
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
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?
Tó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 [email protected] Colegiado de Engenharia de Computação QUAL É A INTERFACE ENTRE
Organizaçã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
SSC510 Arquitetura de Computadores. 2ª aula
SSC510 Arquitetura de Computadores 2ª aula PROFA. SARITA MAZZINI BRUSCHI CISC E RISC ARQUITETURA MIPS PIPELINE Arquitetura CISC CISC Complex Instruction Set Computer Computadores complexos devido a: Instruções
Aula 14: Instruções e Seus Tipos
Aula 14: Instruções e Seus Tipos Diego Passos Universidade Federal Fluminense Fundamentos de Arquiteturas de Computadores Diego Passos (UFF) Instruções e Seus Tipos FAC 1 / 35 Conceitos Básicos Diego Passos
Univ ersidade Feder al do Rio de Janei ro Informáti ca DCC/IM. Pipeline. Gabriel P. Silva. Gabriel P. Silva
Univ ersidade Feder al do Rio de Janei ro Informáti ca DCC/IM Arquitetura de Computadores II Pipeline Introdução Pipeline é uma técnica de implementação de processadores que permite a sobreposição temporal
SSC0902 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 [email protected] Arquitetura CISC CISC Complex Instruction
Arquitetura 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
CAPÍ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
Universidade Federal do Rio de Janeiro Pós-Graduação em Informática IM-NCE/UFRJ. Pipeline. Gabriel P. Silva. Microarquitetura de Alto Desempenho
Universidade Federal do Rio de Janeiro Pós-Graduação em Informática IM-NCE/UFRJ Microarquiteturas de Alto Desempenho Pipeline Gabriel P. Silva Introdução Pipeline é uma técnica de implementação de processadores
Arquitectura de Computadores II
Departamento de Ciências e Tecnologias da Informação Arquitectura de Computadores II Textos de apoio Pipelines Versão 0.02 Junho de 2010 Tomás Brandão. ISCTE-IUL - DCTI 2 Índice 1. ITRODUÇÃO... 5 2. FUCIOAMETO...
Conjunto de Instruções e Arquitectura p.1
Conjunto de Instruções e Arquitectura Luís Nogueira [email protected] Departamento Engenharia Informática Instituto Superior de Engenharia do Porto Conjunto de Instruções e Arquitectura p.1 Organização
Prof. Frank Sill Torres DELT Escola de Engenharia UFMG
Sistemas, Processadores e Periféricos Aula 7 - Revisão Prof. Frank Sill Torres DELT Escola de Engenharia UFMG Adaptado a partir dos Slides de Organização de Computadores 2006/02 do professores Leandro
1. Verificar se a Microsoft.NET Framework 2.0 está instalada. Se não estiver, efectuar o download a partir do link e instalar:
SigmaDoc INSTALAÇÃO/ACTUALIZAÇÃO Para efectuar a actualização, proceder do seguinte modo: 1. Verificar se a Microsoft.NET Framework 2.0 está instalada. Se não estiver, efectuar o download a partir do link
Microcontroladores 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
Introdução à Organização de Computadores. Sistemas da Computação Prof. Rossano Pablo Pinto, Msc. rossano at gmail com 2 semestre 2007
Introdução à Organização de Computadores Sistemas da Computação Prof. Rossano Pablo Pinto, Msc. rossano at gmail com 2 semestre 2007 Tópicos Processadores Memória Principal Memória Secundária Entrada e
Sistemas Operacionais Aula 2
Sistemas Operacionais Aula 2 Anderson L. S. Moreira [email protected] http://dase.ifpe.edu.br/~alsm Curso de Análise e Desenvolvimento de Sistemas de Informação Recife - PE 1/38 O que
Paralelismo 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
ORGANIZAÇÃO BÁSICA DE COMPUTADORES E LINGUAGEM DE MONTAGEM
Linguagem de programação Linguagem de Alto Nível próximo ao ser humano, escrita de forma textual. Ex: if (a==b) a=b+c; Linguagem de Montagem (Assembly) próximo à linguagem de máquina, escrita em códigos
Organização de Computadores
Capítulo 2 - A Organização de Computadores Orlando Loques setembro 2006 Referências: principal: Capítulo 2, Structured Computer Organization, A.S. Tanenbaum, (c) 2006 Pearson Education Inc Computer Organization
Conjunto de instruções do CPU. Arquitectura de um computador. Definição das instruções (1) Definição das instruções (2)
Arquitectura de um computador Caracterizada por: Conjunto de instruções do processador (ISA Estrutura interna do processador (que registadores existem, etc Modelo de memória (dimensão endereçável, alcance
Execução concorrente de instruções
Execução concorrente de instruções Aspectos avançados João Canas Ferreira Outubro de 2010 João Canas Ferreira (FEUP) ILP Outubro de 2010 1 / 58 Assuntos 1 Previsão dinâmica de saltos 2 Sequenciamento dinâmico
Arquiteturas que Exploram Paralismos: VLIW e Superscalar. Ch9 1
Arquiteturas que Exploram Paralismos: VLIW e Superscalar Ch9 1 Introdução VLIW (Very Long Instruction Word): Compilador empacota um número fixo de operações em uma instrução VLIW As operações dentro de
Sequenciamento dinâmico
Sequenciamento dinâmico João Canas Ferreira Outubro de 2004 Contém figuras de Computer Architecture: A Quantitative Approach, J. Hennessey & D. Patterson, 3 a. ed., MKP c JCF, 2004 AAC (FEUP/LEIC) Sequenciamento
Unidade 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
Arquitectura de Computadores II. Exercícios sobre pipelining
Arqitectra de Comptadores II LESI - 3º Ano Eercícios sobre pipelining Departamento do Informática Universidade do inho Abril 22 Considere o modelo de ma arqitectra IPS com o pipeline da figra em aneo,
