Previsão de Desvios Branch Prediction

Tamanho: px
Começar a partir da página:

Download "Previsão de Desvios Branch Prediction"

Transcrição

1 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 implementadas em software Delayed Branch Branch Folding In-line Desenrolamento de loops 5. Técnicas implementadas em hardware Previsão Estática Previsão Dinâmica Prediçãodeterminadapelahistóriado desvio Previsão via tabela com alvos dos desvios (Branch Target Buffer) Previsão dinâmica em dois níveis 6. Preditores Híbridos e Multi-Híbridos

2 Pipeline é uma técnica de exploração do paralelismo na execução de instruções a fim de aumentar o seu desempenho Esse paralelismo permite a execução parcial de até n instruções simultaneamente, onde n é o número de estágios do pipeline. O desempenho do pipeline só será máximo se não ocorrer o bloqueio da execução contínua dos diversos estágios de execução. As instruções de desvio condicional provocam uma queda no desempenho desses processadores, já que bloqueiam a operação contínua do pipe. O comando de desvio pode acarretar na troca do fluxo esperado de instruções, fazendo com que parte do conteúdo do pipeline seja descartado e recarregado novamente, diminuindo o desempenho. 3 Dependencias de Dados e Controle Dependências de controle são particularmente críticas quando da execução de desvios condicionais. add $5, $3, $2 data dependences sub $6, $5, $2 control dependence beq $6, $7, somewhere and $9, $3, $1

3 M ux 0 Address Calculation 1 IF/ID ID/EX EX/MEM MEM/WB Add 4 Shift left 2 Add Add result PC Address Instruction memory Read register 1 Read Read data 1 register 2 Registers Read data 2 Write register Write data 16 Sign extend 32 0 M ux 1 ALU Zero ALU result Address Write data Data memory Read data 1 M ux 0 Branch target address is put in PC during Mem stage. Correct instruction is fetched during branch s WB stage. 5 Branch Hazards CC1 CC2 CC3 CC4 CC5 CC6 CC7 CC8 beq $2, $1, here IM Reg ALU DM Reg add... IM Reg ALU DM Reg sub... IM Reg ALU DM Reg lw... here: lw... Estas instruções não devem ser executadas! IM Reg IM ALU Reg DM ALU Reg DM

4 efeito de desvios condicionais se o desvio ocorre, pipeline precisa ser esvaziado não se sabe se desvio ocorrerá ou não, até o momento de sua execução decisão sobre desvio desvio condicional instruções abandonadas próxima instrução 7 Dependências em desvios instruções abandonadas não podem ter afetado conteúdo de registradores e memórias isto é usualmente automático, porque escrita de valores é sempre feita no último estágio do pipeline deve-se procurar antecipar a decisão sobre o desvio para o estágio mais cedo possível desvios incondicionais sabe-se que é um desvio desde a decodificação da instrução ( segundo estágio do pipeline ) é possível evitar abandono de número maior de instruções. problema: Em qual estágio é feito o cálculo do endereço efetivo do

5 Segundo [HEN 96] os desvios e as trocas de fluxos são classificados em quatro tipos: desvios condicionais; desvios incondicionais; chamada a procedimentos e retorno de procedimentos. Benchmarks: 65% a 80% dos desvios são condicionais e incondicionais e o desvios de procedimentos são em torno de 10% a 20% cada. Através da análise desses dados e considerando que as dependências de controle afetam drasticamente o desempenho de processadores pipeline e que os desvios condicionais são os que melhor representam este efeito negativo. 9 Custo de Desvios Como evitar o efeito dos desvios? Empregar técnicas de previsão de desvios Usando essa previsão, as instruções pertencentes ao fluxo com maior probabilidade de execução podem ser buscadas, decodificadas e executadas antecipadamente. Porém é necessário mecanismos para desfazer eventuais operações provenientes de caminhos previstos erroneamente, acrescentando complexidade no hardware. Técnicas p/ redução do custo de desvio: Implementadas em software Implementadas em hardware

6 Implementadas em Software Estas técnicas são empregadas durante a compilação do programa de aplicação. Técnicas: Delayed Branch Branch Folding In-line Loop Unrolling 11 Delayed Branch Essa técnica de redução do custo de desvio consiste em reorganizar as instruções do programa. Essa reorganização deve preservar a equivalência semântica dos programas e minimizar os retardos impostos pela ramificação. Em uma máquina do tipo pipelining, podemos associar a cada desvio o número de instruções seguintes que serão executadas independentemente do desvio ser tomado ou não. Em outras palavras, uma instrução de desvio armazenada na posição b e que indica a posição L como alvo, é um delayed branch com retardo n se as instruções armazenadas nas posições b, b+1,..., b+n, L forem executadas.

7 Considere o trecho abaixo: 1. A := B; 2. B := B -1; 3. if A = Q then go to 7 4. Q := Q +1; 5. D := E; 6. E := F; 7. X := Q; Se o retardo da instrução (3) for igual a 1, então a seqüência de instruções executadas (se A = Q) seria: 1, 2, 3, 4, 7. Nesse caso, se o valor inicial da variável Q = q, então teremos X = q+1 no final do programa. 13 Delayed Branch Uma estratégia capaz de neutralizar o indesejável efeito da busca antecipada e execução do próximo comando, seria introduzir n instruções do tipo NOP após cada instrução de desvio com retardo igual a n. 1. A := B; 2. B := B -1; 3. if A = Q then go to 8 4. NOP; 5. Q := Q +1; 6. D := E; 7. E := F; 8. X := Q; Conforme podemos verificar, o trecho de programa será executado corretamente após a introdução do comando NOP.

8 Acréscimo de NOPs degrada o desempenho e o tamanho do código objeto. Assim, é aplicado técnicas de movimentação de código que consiste em movimentar a instrução de desvio n posições acima. Supondo n = 1 temos: 1. A := B; 2. if A = Q then go to 7 3. B := B -1; 4. Q := Q +1; 5. D := E; 6. E := F; 7. X := Q; Para fazer essas movimentações, o compilador deve levar em consideração as relações de dependência entre as instruções, de forma que a equivalência semântica do programa seja preservada. 15 Branch Folding Nesta técnica, cada instrução inclui o endereço da sua sucessora. Em tempo de execução as instruções deste processador são decodificadas e armazenadas em uma memória cache de instruções, em conjunto com o endereço da próxima instrução a ser executada. No caso de um comando de desvio incondicional, o endereço almejado fica armazenado na instrução que precede o comando de desvio, eliminando-se desta forma a necessidade de executar instruções de transferência de controle incondicional.

9 Um tratamento diferenciado é reservado para os comandos de desvio condicional. Como nos outros tipos de instruções, o endereço da sucessora do comando de desvio é armazenado no campo apropriado da instrução que antecede o comando de ramificação condicional. Compete ao compilador a tarefa de especificar qual das duas sucessoras do desvio terá seu endereço armazenado na instrução precedendo a transferência de controle. O compilador realiza esta tarefa, ou seja, especifica qual será a provável instrução sucessora empregando uma técnica de previsão estática. Assim ele seleciona o endereço com maior probabilidade de execução e o inclui na instrução anterior ao comando de desvio. 17 In-line As técnicas de previsão de desvios apresentam uma reduzida taxa de acertos quando do tratamento de instruções de retorno de funções, já que um procedimento pode ser chamado de diferentes pontos do programa e portanto, a técnica de predição precisaria armazenar longos padrões de ativações / retornos para aumentar a taxa de acerto. Este fato motivou o desenvolvimento de técnicas de otimização de código como a in-line, que consiste em substituir os procedimentos dos programas pelo código objeto correspondente nos locais onde os procedimentos são ativados.

10 Esta técnica reduz o custo das instruções de desvios condicionais existentes no comando for. Observe abaixo a tradução da estrutura for: for(cv = a; cv<=b; cv++) s; L2:... avalia limites a e b faz cv = a se cv > b, desvio condicional para L2 L1 código para execução de s Incrementa cv se cv < b, desvio condicional para L1 L2... Na seqüência, a e b são respectivamente os limites inferior e superior do for e cv é a variável de controle. 19 Loop Unrolling Para ilustrar esta técnica de desenrolamento, vamos considerar o trecho do programa a seguir: for (i=1; i<100;i++) c[i] = a[i] + b[i];... Vamos assumir que os registradores r 1... r 8 armazenam: r 1 : a variável de controle i (inicialmente com o valor do limite inferior do for) r 2 : o limite superior do for r 3... r 5 : os endereços iniciais dos vetores a, b e c respectivamente r 6... r 8 : os valores dos elementos a[i], b[i] e c[i]

11 O código objeto do trecho é: Loop: load r 6 (carrega a[i]) load r 7 (carrega b[i]) add r 8, r 6, r 7 (c[i] = a[i] + b[i]) sto r 8 (armazena c[i]) add r 1, r 1, 1 incrementa var. controle comp r 1, r 2 (i > 100)? bnez loop desvia para loop se i <= Loop Unrolling Desenrolando o loop duas vezes, ficamos com o seguinte código objeto: Loop load r 6 (carrega a[i]) load r 7 (carrega b[i]) add r 8, r 6, r 7 (c[i] = a[i] + b[i]) sto r 8 (armazena c[i]) load r 6 (carrega a[i+1]) load r 7 (carrega b[i+1]) add r 8, r 6, r 7 (c[i+1] = a[i+1] + b[i+1]) sto r 8 (armazena c[i+1]) add r 1, r 1, 2 incrementa var. controle comp r 1, r 2 (i > 100)? bnez loop desvia para loop se i <= 100 O loop desenrolado conta com 11 instruções enquanto que originalmente ele

12 Diferentemente das técnicas implementadas por software, estas técnicas atuam durante a execução do programa e são implementadas pela unidade de controle do processador. Existem dois tipos de técnicas implementadas por hardware: técnicas estáticas a previsão ocorre baseado em definições feitas em tempo de projeto de um novo processador; técnicas dinâmicas realizam dinamicamente as previsões de desvio baseado nas informações coletadas em tempo de execução. 23 Previsão Estática supor sempre mesma direção para o desvio desvio sempre ocorre desvio nunca ocorre O código da operação determina a previsão compilador define direção mais provável instrução de desvio contém bit de previsão, ligado / desligado pelo compilador início de laço ( ou desvio para frente ): desvio improvável final de laço ( ou desvio para trás ): desvio provável

13 A unidade de controle realiza a previsão de desvios dinamicamente. Usualmente, essas técnicas são mais eficientes do que as estáticas. Técnicas dinâmicas armazenam informações coletadas em tempo de execução das instruções de desvio e, quando o desvio for novamente executado, o mecanismo de previsão verifica o que ocorreu no passado mais recente e baseado nessa informação, prevê qual o resultado que será produzido pela instrução de desvio. As informações ficam armazenadas numa pequena tabela denominada Tabela de História dos Desvios (Branch History Table). 25 Previsão Dinâmica Porexemplo, o processadorpodeincluirumabht para armazenar informações relacionadas com as mais recentes execuções dos comandos de desvio. Os campos de cada entrada podem conter ou o endereço do desvio e o endereço da sucessora. O endereço da instrução é usada como chave para acesso à tabela. Se a instrução estiver armazenada no campo de endereço de desvio isto significa que o endereço no campo endereço da sucessora será utilizado para buscar a próxima instrução.

14 tabela look-up associativa endereço instrução endereço desvio bit de validade carga do endereço de desvio PC endereço fetch instrução 27 Predição dinâmica tabela look-up associativa armazena triplas endereços das instruções de desvio condicional mais recentemente executadas endereços de destino destes desvios bit de validade, indicando se desvio foi tomado na última execução quando instrução de desvio condicional é buscada na memória é feita comparação associativa na tabela, à procura do endereço desta instrução se endereço é encontrado e bit de validade está ligado, o endereço de desvio armazenado na tabela é usado ao final da execução da instrução, endereço efetivo de destino do desvio e bit de validade são atualizados na tabela tabela pode utilizar diversos mapeamentos e algoritmos de substituição

15 Essa técnica verifica o que ocorreu com as k mais recentes execuções de um desvio e realiza uma previsão do resultado que será produzido pela corrente execução do desvio. Os k mais recentes resultados de cada desvio ficam armazenados numa Tabela da História dos Desvios (BHT - Branch History Table) que é atualizada após a conclusão da instrução de desvio. Fisicamente, as entradas contendo a história dos desvios podem ser armazenadas num conjunto de registradores ou então numa memória cache no interior do processador bit predictors O esquema consiste em utilizar o resultado da última execução da instrução de desvio. Nesse caso, um bit seria suficiente para armazenar o resultado anterior da instrução de desvio. Se a previsão indicar que o desvio deve ser tomado e se o estágio de execução indicar o contrário, a tabela BHT é atualizada, as instruções nos estágios precedentes são descartadas e o estágio de busca inicia a transferência de instruções pertencentes ao fluxo apropriado. Se a instrução de desvio estiver sendo executada pela primeira vez, utiliza-se uma das duas técnicas estáticas apresentadas previamente e em seguida, inclui-se o desvio na BHT.

16 O autômato para esse mecanismo é muito simples e é mostrado na figura abaixo O número de bits de história (previsão) é um fator de extrema relevância na escolha do algoritmo de previsão. Acima foi mostrado um autômato para previsão com 1 bit de história. O maior problema em se usar esta técnica é quando se faz necessário prever o destino de desvios de controle do laços, e o laço é executado mais de uma vez (loops aninhados) bit Prediction Scheme Registra as últimas duas decisões do desvio. Altera a predição somente após duas previsões consecutivas erradas. Taken Predict taken Taken Predict not taken Not taken Taken Not taken Taken Predict taken Not taken Predict not taken Not taken

17 mecanismo com 2 bits de história registra o resultado das duas últimas execuções, e a próxima previsão é modificada apenas se as duas últimas previsões foram incorretas. Nos estados onde os dois bits coincidem, a previsão segue o resultado indicado por ambos. Nos estados onde os dois bits diferem, a previsão segue a indicação do bit que registra o estado mais antigo. 33 Exemplo: 2-bit Branch Prediction Nested loop: Loop1: Loop2: bne r1,r0,loop2 bne r2,r0,loop1 Execução do loop externo: 00 prediz NT; realizou T atualizado p/ 01 (predição errada) 01 prediz NT; realizou T atualizadop/ 10 (prediçãoerrada) 10 prediz T; realizou T atualizado p/ prediz T; realizou T

18 Execução do loop interno: 10 prediz T; realizou T atualizado p/ prediz T; realizou T atualizado p/ prediz T; realizou NT atualizado p/ 10 (predição errada) Taxas de previsões errôneas para o 2-bit predictors considerando 4096 entradas no buffer é de 1% a 18%. 35 Correlating or 2-level Predictors A previsão depende do contexto do desvio. Exemplo: if (a == 2) a = 0; if (b == 2) b = 0; if (a!= b) { } DSUBUI R3,R1,2 BNEZ R3,L1 DADD R1,R0,R0 L1:DSUBUI R3,R2,2 BNEZ R3,L2 DADD R2,R0,R0 L2: DSUBU R3,R1,R2 Se ambos desvios não são realizados então a==b==0 e o último desvio será realizado com certeza.

19 Uma técnica alternativa para previsão é a que emprega uma tabela contendo os alvos das instruções de desvios. Denominada BTB - Branch Target Buffer, essa tabela é uma evolução da BHT. Como anteriormente, a tabela BTB inclui campos para identificar a instrução de desvio e para armazenar a história das recentes execuções do comando de desvio. Adicionalmente, a BTB inclui um campo contendo informações sobre a instrução sucessora do desvio: geralmente o campo armazena o endereço efetivo da sucessora; em outras implementações, a instrução sucessora também. A BTB torna o processador mais eficiente do que aqueles que usam simplesmente uma BHT por causa do potencial oferecido pelas informações sobre a sucessora do desvio. 37 Previsão dinâmica em dois níveis A idéia de coletar dinamicamente dois níveis de história de desvios foi proposta por Yeh e Patt [YEH 91]. O primeiro nível armazena a história dos últimos K desvios encontrados. O segundo nível armazena o que aconteceu com as últimas j ocorrências de um padrão específico para os K desvios. O primeiro nível é denominado History Register Table e o segundo nível de Pattern Table. O endereço de um desvio é mapeado para acessar o primeiro nível assim como em uma BTB convencional. Após mapear a entrada correta, o registrador de história (Branch History Register) fornece o padrão de bits que irá determinar qual entrada será acessada no segundo nível. Ao acessar o segundo nível, o mecanismo dispõe então do bit de previsão que indicará o caminho a ser seguido pelo estágio de busca

20 39 Preditores híbridos e multi-híbridos Preditores híbridos incluem diversas técnicas, todas operando em paralelo, mas somente a técnica com maior probabilidade de acerto é a que fornece o resultado da predição para a unidade de busca de instruções. O preditor híbrido proposto por McFarling é formado por dois preditores simples que são controlados por um mecanismo que seleciona dinamicamente qual das duas predições será considerada. O preditor multi-híbrido emprega um número maior de componentes e, ao aumentar esse número, os autores verificam que previsões com maior índice de precisão foram obtidas.

21 [LEE84] LEE, J. K.; SMITH, A. J. "Branch Prediction Strategies and Branch Target Buffer Design", IEEE Computer, vol. 17, No 1, January 1984, pp [MCF93] S. McFarling, "Combining Branch Predictors", Technical Report TN-36, Digital Western Research Laboratory, June [HEN96] HENESSY, Jhon L.; PATTERSON, David, Computer Architecture: A Quantitative Approach. 2.ed. Palo Alto: Morgan Kaufmann, 1996 [UHT97] Uht, A.; Sindagi, V.; Somanathan, S.; Branch Effect Reduction Techniques IEEE Computer, May

Arquitetura e Organização de Processadores. Aula 4. Pipelines

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

Leia mais

SSC0510 Arquitetura de Computadores

SSC0510 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 mais

SSC0611 Arquitetura de Computadores

SSC0611 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 mais

1. 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 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 mais

Arquitetura de Computadores II

Arquitetura de Computadores II Univers id ade Federal d o Rio d e Jan eir o DC C/IM Arquitetura de Computadores II Predição de Desvio Gabriel P. Silva Introdução Desvios: Instruções que podem alterar o fluxo de execução das instruções

Leia mais

PIPELINE. Introdução ao Pipeline. PIPELINE Ciclo de Instruções. PIPELINE Ciclo de Instruções. PIPELINE - Exemplo. PIPELINE Considerações

PIPELINE. Introdução ao Pipeline. PIPELINE Ciclo de Instruções. PIPELINE Ciclo de Instruções. PIPELINE - Exemplo. PIPELINE Considerações Arquitetura de Computadores Introdução ao Pipeline PIPELINE Linha de Montagem A produção é dividida em várias etapas Produtos em etapas distintas podem ser desenvolvidos separadamente Pode ser Aplicado

Leia mais

SSC0611 Arquitetura de Computadores

SSC0611 Arquitetura de Computadores SSC0611 Arquitetura de Computadores 8ª Aula Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br Estágios para execução da instrução: A instrução LOAD é a mais longa Todas as instruções seguem ao menos os

Leia mais

Introdução. Os mesmos princípios se aplicam a processadores. No MIPS as instruções são divididas normalmente em cinco etapas:

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

Leia mais

Capítulo 6 Hazards Morgan Kaufmann Publishers. Ch6c 1

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 mais

1) Enumere e dê exemplo dos tipos de conflitos que podem ocorrer em um pipeline de instruções de um processador.

1) 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 mais

AULA DE REVISÃO 4 ILP

AULA DE REVISÃO 4 ILP AULA DE REVISÃO 4 ILP Exercício 1: Qual seria o desempenho de referência (em ciclos, por iteração do loop) da sequência de código, mostrado abaixo, se nenhuma nova execução de instrução pudesse ser iniciada

Leia mais

Predição de Desvios e Processadores Superescalares Especulativos

Prediçã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 mais

Pipeline. Ciclos de Operação da CPU Estágios do Pipeline Previsão de Desvio. Estrutura da CPU. Em cada ciclo, a CPU deve:

Pipeline. Ciclos de Operação da CPU Estágios do Pipeline Previsão de Desvio. Estrutura da CPU. Em cada ciclo, a CPU deve: Pipeline Ciclos de Operação da CPU Estágios do Pipeline Previsão de Desvio William Stallings - Computer Organization and Architecture, Chapter 12 [Trad. E.Simões / F.Osório] Estrutura da CPU Em cada ciclo,

Leia mais

Pipeline. Prof. Leonardo Barreto Campos 1

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;

Leia mais

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 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 mais

1. 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 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 mais

Resumão de Infra-estrutura de Hardware

Resumã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 mais

Tópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 10

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 max.santana@univasf.edu.br Colegiado de Engenharia de Computação QUAL É A INTERFACE ENTRE

Leia mais

Pipelining - analogia

Pipelining - 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 mais

AULA DE REVISÃO 3 ILP

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

Leia mais

Trabalhos Práticos Arquitetura de Computadores I Prof. Fabian Vargas

Trabalhos 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 mais

Notas de Aula Guilherme Sipahi Arquitetura de Computadores

Notas de Aula Guilherme Sipahi Arquitetura de Computadores Notas de Aula Guilherme Sipahi Arquitetura de Computadores Ciclo de instruções Ciclo de instruções / Pipelining Subciclos de um ciclo de instruções: - Busca: traz a próxima instrução até a CPU - Execução:

Leia mais

MIPS Implementação. sw) or, slt. Vamos examinar uma implementação que inclui um subconjunto de instruções do MIPS

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

Leia mais

Infraestrutura de Hardware. Melhorando Desempenho de Pipeline Processadores Superpipeline, Superescalares, VLIW

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

Leia mais

Arquiteturas RISC e CISC. Adão de Melo Neto

Arquiteturas RISC e CISC. Adão de Melo Neto Arquiteturas RISC e CISC Adão de Melo Neto 1 Arquitetura RISC Arquitetura RISC. É um das inovações mais importantes e interessantes. RISC significa uma arquitetura com um conjunto reduzido de instruções

Leia mais

Pipelining. Luís Nogueira. Departamento Engenharia Informática Instituto Superior de Engenharia do Porto. Pipelining p.

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 mais

Explorando o paralelismo entre instruções

Explorando 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 mais

Arquitetura e Organização de Processadores. Aula 08. Arquiteturas VLIW

Arquitetura 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 mais

COMPUTADORES COM UM CONJUNTO REDUZIDO DE INSTRUÇÕES. Adão de Melo Neto

COMPUTADORES COM UM CONJUNTO REDUZIDO DE INSTRUÇÕES. Adão de Melo Neto COMPUTADORES COM UM CONJUNTO REDUZIDO DE INSTRUÇÕES Adão de Melo Neto 1 INTRODUÇÃO Desde 1950, houveram poucas inovações significativas nas áreas de arquitetura e organização de computadores. As principais

Leia mais

Otimização de Execução em Processadores Modernos. William Stallings - Computer Organization and Architecture, Chapter 12 [Trad. E.Simões / F.

Otimização de Execução em Processadores Modernos. William Stallings - Computer Organization and Architecture, Chapter 12 [Trad. E.Simões / F. Prefetch & Pipeline Otimização de Execução em Processadores Modernos Ciclos de Operação da CPU Estágios do Pipeline Previsão de Desvio William Stallings - Computer Organization and Architecture, Chapter

Leia mais

Microprocessadores. Execução em Paralelo Pipelines

Microprocessadores. 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 mais

Universidade 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 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 mais

PARTE 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 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 mais

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. 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 mais

Arquiteturas de Computadores

Arquiteturas de Computadores Arquiteturas de Computadores Implementação monociclo de IPS Fontes dos slides: Patterson & Hennessy book website (copyright organ Kaufmann) e Dr. Sumanta Guha Implementando IPS Implementação do conjunto

Leia mais

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

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?

Leia mais

É um sinal elétrico periódico que é utilizado para cadenciar todas as operações realizadas pelo processador.

É um sinal elétrico periódico que é utilizado para cadenciar todas as operações realizadas pelo processador. Universidade Estácio de Sá Curso de Informática Disciplina de Organização de Computadores II Prof. Gabriel P. Silva - 1 o Sem. / 2005 2 ª Lista de Exercícios 1) O que é o relógio de um sistema digital?

Leia mais

Infraestrutura de Hardware. Implementação Monociclo de um Processador Simples

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

Leia mais

SSC0902 Organização e Arquitetura de Computadores

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 sarita@icmc.usp.br Arquitetura CISC CISC Complex Instruction

Leia mais

Infraestrutura de Hardware. Implementação Pipeline de um Processador Simples

Infraestrutura 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 mais

Estrutura e Funcionamento da CPU. Adriano Maranhão

Estrutura e Funcionamento da CPU. Adriano Maranhão Estrutura e Funcionamento da CPU Adriano Maranhão 1 S Relembrando S Compiladores de linguagens ao fazer a conversão da linguagem de alto nível para chegar na fase da linguagem de baixo nível como assembly

Leia mais

1.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.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 mais

Infra-estrutura de Hardware

Infra-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 mais

Arquitetura e Organização de Processadores. Aulas 06 e 07. Superescalaridade

Arquitetura 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 mais

de saltos Aula de Abril de

de saltos Aula de Abril de Predição de saltos Aula 13 21 de Abril de 2005 1 Estrutura desta aula Predição estática e dinâmica Custos da não predição Soluções Predição estática Predição dinâmica Branch History Tables (BHT) com 1

Leia mais

Parte 7 Pipeline: Conceitos básicos, implementação e ganho de desempenho

Parte 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

Infraestrutura de Hardware. Instruindo um Computador

Infraestrutura 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 mais

4. Modelo de Programação do DLX Introdução

4. Modelo de Programação do DLX Introdução 4. Modelo de Programação do DLX Quero que o matemático Beremiz Samir nos conte uma lenda, ou uma simples fábula, na qual apareça uma divisão de 3 por 3 indicada, mas não efetuada, e outra de 3 por 2, indicada

Leia mais

Arquitetura e Organização de Computadores

Arquitetura 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 mais

Infraestrutura de Hardware. Implementação Multiciclo de um Processador Simples

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

Leia mais

CAPÍTULO 4 CAMINHO DE DADOS E CONTROLE

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

Leia mais

Relembrando desempenho...

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

Leia mais

Arquitetura de Computadores I

Arquitetura 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 mais

O Funcionamento do Processador

O Funcionamento do Processador O Funcionamento do Processador Arquiteturas para Alto Desmpenho Prof. pauloac@ita.br Sala 110 Prédio da Computação www.comp.ita.br/~pauloac Os cinco componentes clássicos de um Computador - Controle O

Leia mais

Registradores na Arquitetura MIPS. 29/4/2016 MIPS - Instruction Set Architecture

Registradores na Arquitetura MIPS. 29/4/2016 MIPS - Instruction Set Architecture Registradores na Arquitetura MIPS 29/4/2016 MIPS - Instruction Set Architecture 1 Mapa de Memória da Arq. MIPS 2 GB 2 GB 256 MB 64 KB 2 GB 64 KB 256 4 MB 4 MB 29/4/2016 MIPS - Instruction Set Architecture

Leia mais

Organização de Sistemas de Computadores

Organizaçã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 mais

Arquitetura de Computadores II

Arquitetura de Computadores II Universidade Estadual de Maringá Centro de Tecnologia Departamento de Informática Arquitetura de Computadores II Prof. Flávio Rogério Uber Informações Úteis Professor: Flávio Rogério Uber Bloco C-56 Sala

Leia mais

Arquitetura de Computadores

Arquitetura de Computadores Arquitetura de Computadores 2018.1 Relembrando... Paralelismo Relembrando... Paralelismo Paralelismo em Instrução Relembrando... Paralelismo Paralelismo em Instrução Paralelismo em Aritmética Relembrando...

Leia mais

INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO ORGANIZAÇÃO COMPUTACIONAL

INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO ORGANIZAÇÃO COMPUTACIONAL INTRODUÇÃO À TECNOLOGIA DA ORGANIZAÇÃO COMPUTACIONAL PROFESSOR CARLOS MUNIZ ORGANIZAÇÃO DE UM COMPUTADOR TÍPICO Memória: Armazena dados e programas Processador (CPU - Central Processing Unit): Executa

Leia mais

Infraestrutura de Hardware. Funcionamento de um Computador

Infraestrutura de Hardware. Funcionamento de um Computador Infraestrutura de Hardware Funcionamento de um Computador Computador: Hardware + Software Perguntas que Devem ser Respondidas ao Final do Curso Como um programa escrito em uma linguagem de alto nível é

Leia mais

http://www.ic.uff.br/~debora/fac! 1 Conceito de família IBM System/360 1964 DEC PDP-8 Separa arquitetura de implementação Unidade de controle microprogramada Idéia de Wilkes 1951 Produzida pela IBM S/360

Leia mais

CPU. Funções: Componentes: Processamento; Controle. UC (Unidade de Controle); Registradores; ALU s, FPU s etc. Arquitetura de Computadores 3

CPU. Funções: Componentes: Processamento; Controle. UC (Unidade de Controle); Registradores; ALU s, FPU s etc. Arquitetura de Computadores 3 CPU CPU Funções: Processamento; Controle Componentes: UC (Unidade de Controle); Registradores; ALU s, FPU s etc. Arquitetura de Computadores 3 Processador A função de um computador é executar tarefas

Leia mais

O Funcionamento do Processador

O Funcionamento do Processador O Funcionamento do Processador Arquiteturas para Alto Desmpenho Prof. pauloac@ita.br Sala 110 Prédio da Computação www.comp.ita.br/~pauloac Os cinco componentes clássicos de um Computador - Controle O

Leia mais

Escalonamento de Instruções

Escalonamento de Instruções Universidade Federal do Rio de Janeiro Pós-Graduação em Informática Microarquiteturas de Alto Desempenho Escalonamento de Instruções Introdução Otimização de código é necessária como forma de diminuir

Leia mais

Arquiteturas de Computadores

Arquiteturas 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 mais

Infra-estrutura de Hardware

Infra-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 mais

lw, sw add, sub, and, or, slt beq, j

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

Leia mais

Relembrando desempenho...

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

Leia mais

Esse programa inclui dependências de tipo: escrita-escrita, leitura-escrita e escrita-leitura. Identifique e mostre estas dependências.

Esse 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 mais

Micro-Arquiteturas de Alto Desempenho. Introdução. Ementa

Micro-Arquiteturas de Alto Desempenho. Introdução. Ementa DCC-IM/NCE UFRJ Pós-Graduação em Informática Micro-Arquiteturas de Alto Desempenho Introdução Gabriel P. Silva Ementa Revisão de Organização de Computadores Hierarquia de Memória Memória Virtual Memória

Leia mais

William Stallings Organização de computadores digitais. Capítulo 14 Operação da Unidade de Controle

William Stallings Organização de computadores digitais. Capítulo 14 Operação da Unidade de Controle William Stallings Organização de computadores digitais Capítulo 14 Operação da Unidade de Controle Microoperações o A execução de um programa em um computador se faz através: o do ciclo de Busca e Execução.

Leia mais

Arquitetura de Computadores I. Prof. Ricardo Santos (Cap 2)

Arquitetura 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 mais

Resolva as seguintes alíneas fazendo todas as simplificações que considerar convenientes, anotando-as junto da resposta.

Resolva as seguintes alíneas fazendo todas as simplificações que considerar convenientes, anotando-as junto da resposta. 1. Considere um processador com ISA compatível com o MIPS64 e com funcionamento superpelining (Fetch, Decode, Issue, Execute, Write-back), com mecanismos de forwarding de dados, sendo o estágio de Execute

Leia mais

1. Considere um processador super-pipelined com 4 estágios (IF,ID,EX,WB), a operar à frequência de 1GHz, e com as seguintes caracteristicas:

1. Considere um processador super-pipelined com 4 estágios (IF,ID,EX,WB), a operar à frequência de 1GHz, e com as seguintes caracteristicas: 1. Considere um processador super-pipelined com 4 estágios (IF,ID,EX,WB), a operar à frequência de 1GHz, e com as seguintes caracteristicas: unidades funcionais pipelined com as seguintes latências: 1

Leia mais

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 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 mais

Melhorando o Desempenho com Pipelining

Melhorando 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 mais

Capítulo 6 Pipeline Morgan Kaufmann Publishers

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.

Leia mais

ORGANIZAÇÃO DE COMPUTADORES

ORGANIZAÇÃ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 mais

I. Considere os seguintes processadores A e B, ambos com arquitectura em pipeline, conforme ilustrado

I. Considere os seguintes processadores A e B, ambos com arquitectura em pipeline, conforme ilustrado Arquitectura de Computadores 2 o Semestre (2013/2014) MEAer 2 o Teste - 19 de Junho de 2014 Duração: 1h30 + 0h15 Regras: Otesteésemconsulta, apenas tem disponível o anexo que lhe deverá ter sido entregue

Leia mais

shift register demux prefetch control inc ldpc + 1 MAR Pipelining

shift 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 mais

Figura 1. Datapath do MIPS Superescalar Especulativo CES SE

Figura 1. Datapath do MIPS Superescalar Especulativo CES SE Especificação do Projeto Simulador MIPS Superescalar Especulativo CES- 25 Arquiteturas para Alto Desempenho Prof. Paulo André Castro Equipe: até quatro alunos 1. Objetivo Exercitar e fixar conhecimentos

Leia mais

Aula 15: Ciclo de Execução e Introdução ao Pipeline

Aula 15: Ciclo de Execução e Introdução ao Pipeline Aula 15: Ciclo de Execução e Introdução ao Pipeline Diego Passos Universidade Federal Fluminense Fundamentos de Arquiteturas de Computadores Diego Passos (UFF) Ciclo de Execução; Intro ao Pipeline FAC

Leia mais

ENDEREÇAMENTO DE INSTRUÇÕES. Adão de Melo Neto

ENDEREÇAMENTO DE INSTRUÇÕES. Adão de Melo Neto ENDEREÇAMENTO DE INSTRUÇÕES Adão de Melo Neto 1 TIPOS DE OPERAÇÕES 2 TIPOS DE OPERAÇÕES TIPOS DE INSTRUÇÕES/OPERAÇÕES (RELEMBRANDO) 3 INTRODUÇÃO TIPOS DE INSTRUÇÕES/OPERAÇÕES (RELEMBRANDO) 4 INTRODUÇÃO

Leia mais

Exercícios resolvidos (aula de 4 de Maio) Resolução:

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

Leia mais

SSC0112 Organização de Computadores Digitais I

SSC0112 Organização de Computadores Digitais I SSC0112 Organização de Computadores Digitais I 18ª Aula Hierarquia de memória Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br 1 Memória Cache Método de Acesso: Associativo Localização de dados na memória

Leia mais

PIPELINE DE INSTRUÇÕES (estratégia e desempenho) Adão de Melo Neto

PIPELINE DE INSTRUÇÕES (estratégia e desempenho) Adão de Melo Neto PIPELINE DE INSTRUÇÕES (estratégia e desempenho) Adão de Melo Neto 1 DESEMPENHO SISTEMA COMPUTACIONAIS A melhoria do desempenho de sistemas computacionais pode ser conseguido através de diversas maneiras:

Leia mais

Sistemas 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. 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 mais

EA869 Pipeline. Faculdade de Engenharia Elétrica e de Computação (FEEC) Universidade Estadual de Campinas (UNICAMP) Prof.

EA869 Pipeline. Faculdade de Engenharia Elétrica e de Computação (FEEC) Universidade Estadual de Campinas (UNICAMP) Prof. EA869 Pipeline Faculdade de Engenharia Elétrica e de Computação (FEEC) Universidade Estadual de Campinas (UNICAMP) Prof. Levy Boccato 1 Objetivos Conhecer técnicas de como melhorar o desempenho de um processador.

Leia mais

Arquitetura de Computadores Aula 11 - Multiprocessamento

Arquitetura de Computadores Aula 11 - Multiprocessamento Arquitetura de Computadores Aula 11 - Multiprocessamento Prof. Dr. Eng. Fred Sauer http://www.fredsauer.com.br fsauer@gmail.com 1/28 PROCESSAMENTO PARALELO OBJETIVO: aumentar a capacidade de processamento.

Leia mais

AULA 03: FUNCIONAMENTO DE UM COMPUTADOR

AULA 03: FUNCIONAMENTO DE UM COMPUTADOR ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I AULA 03: FUNCIONAMENTO DE UM COMPUTADOR Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação O QUE É UM COMPUTADOR?

Leia mais

Arquitectura de Computadores MEEC (2014/15 2º Sem.)

Arquitectura de Computadores MEEC (2014/15 2º Sem.) Arquitectura de Computadores MEEC (2014/15 2º Sem.) Unidade de Controlo Prof. Nuno Horta PLANEAMENTO Introdução Unidade de Processamento Unidade de Controlo Arquitectura do Conjunto de Instruções Unidade

Leia mais

INTRODUÇÃO À ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES. Função e Estrutura. Introdução Organização e Arquitetura. Organização e Arquitetura

INTRODUÇÃ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 mais

Instruções. Maicon A. Sartin

Instruções. Maicon A. Sartin Instruções Maicon A. Sartin SUMÁRIO Introdução Instruções Formatos de instruções Conjuntos de instruções Execução de instruções Introdução a Linguagem de Montagem Introdução a Linguagem de Montagem Níveis

Leia mais

DataPath II Tomando o controle!

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

Leia mais

Arquitetura de Computadores. Prof. João Bosco Jr.

Arquitetura de Computadores. Prof. João Bosco Jr. Arquitetura de Computadores Prof. João Bosco Jr. (CPU) Modelo do Computador Von Neumann Processador Memórias E/S Barramentos Simulação Contador http://courses.cs.vt.edu/csonline/machinearchitecture/lessons/cpu/countprogram.html

Leia mais

ORGANIZAÇÃO DE COMPUTADORES CAPÍTULO 6: PROCESSADORES. Prof. Juliana Santiago Teixeira

ORGANIZAÇÃO DE COMPUTADORES CAPÍTULO 6: PROCESSADORES. Prof. Juliana Santiago Teixeira ORGANIZAÇÃO DE COMPUTADORES CAPÍTULO 6: PROCESSADORES Prof. Juliana Santiago Teixeira julianasteixeira@hotmail.com INTRODUÇÃO INTRODUÇÃO O processador é o componente vital do sistema de computação, responsável

Leia mais

Nível da Microarquitetura

Nível da Microarquitetura Nível da Microarquitetura (Aula 10) Máquina de Vários Níveis Modernas (ISA) Interpretação (microprograma) ou execução direta ou microarquitetura Roberta Lima Gomes - LPRM/DI/UFES Sistemas de Programação

Leia mais

Arquitetura de Computadores Aula 10 - Processadores

Arquitetura de Computadores Aula 10 - Processadores Arquitetura de Computadores Aula 10 - Processadores Prof. Dr. Eng. Fred Sauer http://www.fredsauer.com.br fsauer@gmail.com 1/21 TÓPICOS ORGANIZAÇÃO COMPONENTES BÁSICOS INSTRUÇÃO DE MÁQUINA CICLO DE INSTRUÇÃO

Leia mais

NEANDERWIN. Algumas características do processador Neander são:

NEANDERWIN. Algumas características do processador Neander são: NEANDERWIN O NeanderWin é um simulador da máquina Neander, definida no livro do Raul F. Weber (UFRGS), Fundamentos de Arquitetura de Computadores, Ed. Sagra Luzzatto. A máquina original foi estendida aqui

Leia mais