SlideShare uma empresa Scribd logo
1 de 34
Baixar para ler offline
1AULA :
Campus	
  Charqueadas	
  
Arquiteturas Paralelas e
Distribuídas
Apresentado por: Cleber Schroeder Fonseca
Adaptado do material do Prof. Gabriel P. Silva
TSI-6AN
2AULA :
Campus	
  Charqueadas	
  
ARQUITETURA
SUPERESCALAR
3AULA :
Campus	
  Charqueadas	
  
Arquitetura Superescalar
•  Organizadas internamente como múltiplos
“pipelines” e com um banco de
registradores com múltiplas portas de
leitura e de escrita, com múltiplas
instruções iniciadas e terminadas a cada
ciclo. O grau de concorrência das
instruções situa-se na prática entre 2 e 4.
4AULA :
Campus	
  Charqueadas	
  
Arquitetura Superescalar
•  As instruções são despachadas para
execução somente quando não violam
regras de dependência de dados, de
controle e quando não existem conflitos
estruturais.
•  O escalonamento das instruções pode ser
feito por “software” e/ou por “hardware”.
•  O código objeto para estas arquiteturas é
compatível com o de arquiteturas
escalares convencionais.
5AULA :
Campus	
  Charqueadas	
  
Arquitetura Superescalar
•  Capacidade para realizar busca e
decodificação de múltiplas instruções por
ciclo.
•  Existência de uma Janela de instruções
que isola os estágios de busca e
decodificação dos estágios de execução
propriamente dita.
6AULA :
Campus	
  Charqueadas	
  
Arquitetura Superescalar
•  Recuperação do estado da máquina em
caso de exceções ou de previsões
erradas de desvios.
•  Múltiplos barramentos para comunicação
de operandos e resultados e banco de
registradores com múltiplas portas de
leitura e escrita, incluindo a existência de
lógica de arbitração se o número de
recursos é menor que o máximo
possivelmente necessário.
7AULA :
Campus	
  Charqueadas	
  
Arquitetura Superescalar
•  Múltiplas unidades funcionais: ALU, Ponto
Flutuante, Load/Store, ...
•  Suporte para tratamento de dependência
de dados entre instruções de load e store.
8AULA :
Campus	
  Charqueadas	
  
Busca e Decodificação
•  A arquitetura superescalar só é efetiva se
a taxa média com que as instruções são
buscadas e decodificadas for superior a
taxa média com que instruções são
executadas.
•  Esquema eficiente de predição de desvios
é fundamental.
9AULA :
Campus	
  Charqueadas	
  
Busca e Decodificação
•  Necessidade de se dispor de um
barramento de acesso ao cache de
instruções com largura adequada e de um
decodificador de instruções capaz de
decodificar múltiplas instruções
simultaneamente.
•  Um decodificador de múltiplas instruções
demanda a realização de busca de vários
operandos em paralelo.
10AULA :
Campus	
  Charqueadas	
  
Degradação do desempenho da
operação de busca de instruções
•  Falha no acesso à cache de instruções.
•  Predição errada de desvios.
•  Desalinhamento do endereço das
instruções alvo de um desvio em relação
ao início de um bloco de cache.
11AULA :
Campus	
  Charqueadas	
  
Janela de instruções
•  A janela de instruções armazena o
resultado da decodificação das instruções
e isola o estágio de busca e decodificação
de instruções dos estágios de execução
propriamente dita das instruções.
•  Pode ser implementada de forma
centralizada (Central Window) ou
distribuída pelas unidade funcionais
(Reservation Stations).
12AULA :
Campus	
  Charqueadas	
  
Janela de instruções
•  A Central Window armazena todas as
instruções já decodificadas e ainda não
despachadas para execução, enquanto
que cada Reservation Stations só
armazena as instruções destinadas à
Unidade Funcional associada a ela.
•  A Central Window pode ser, em geral,
dimensionada com uma capacidade
menor do que a capacidade total das
diversas Reservation Stations.
13AULA :
Campus	
  Charqueadas	
  
Janela de instruções
•  Na implementação com Central Window
mais de uma instrução pode ser
despachada por ciclo para as diferentes
unidades funcionais enquanto que cada
Reservation Station pode passar no
máximouma instrução por ciclo para sua
unidade funcional.
14AULA :
Campus	
  Charqueadas	
  
Janela de instruções
•  A Central Window deve ser capaz de
suportar instruções de diferentes formatos
enquanto as Reservation Stations podem
ser dedicadas apenas ao formato das
instruções executadas pela unidade
funcional.
15AULA :
Campus	
  Charqueadas	
  
Janela de instruções
•  A lógica de controle das implementações
baseadas em Central Window é
usualmente mais complexa que as das
Reservation Stations, já que é necessário
administrar diferentes tipos de instruções
e unidades funcionais, disparar
simultaneamente mais de uma instrução
para as diferentes unidades funcionais,
etc.
16AULA :
Campus	
  Charqueadas	
  
O Banco de registradores
•  Cada entrada no banco de registradores é
formada por três campos. O primeiro
campo denominado “busy bit”, indica se o
valor armazenado está atualizado.
•  Caso o valor do registrador esteja
desatualizado, o segundo campo,
denominado “tag”, aponta para a
Reservation Station contendo a instrução
mais recente que vai produzir este valor.
17AULA :
Campus	
  Charqueadas	
  
O Banco de registradores
•  Finalmente, o terceiro campo é o
registrador propriamente dito.
18AULA :
Campus	
  Charqueadas	
  
A difusão de resultados no CDB
•  Toda vez que uma unidade funcional
conclui uma operação, o resultado é
difundido, juntamente com o seu “tag”,
através de um barramento global, para o
banco de registradores e Reservation
Stations. O barramento global é
denominado CDB (“Common Data Bus”).
19AULA :
Campus	
  Charqueadas	
  
A difusão de resultados no CDB
•  A difusão é associativa: o resultado da
operação é transmitido associativamente
para os demais componentes, junto com o
“tag” que identifica a Reservation Station
que armazena a instrução que produziu o
dado.
•  Os componentes do sistema monitoram
continuamente o barramento de resultados,
verificando se o “tag” ora transmitido
coincide com o campo de “tag” aguardado.
20AULA :
Campus	
  Charqueadas	
  
A difusão de resultados no CDB
•  Ocorrendo a coincidência, o resultado é
copiado no campo correspondente da
Reservation Station ou do banco de
registradores. Caso contrário é ignorado.
21AULA :
Campus	
  Charqueadas	
  
Resolução das dependências
de dados
•  Se o recurso (unidade funcional e
operandos fonte) estiverem disponíveis, a
instrução é iniciada imediatamente, antes
mesmo do término de suas sucessoras.
•  Caso contrário, é feita a cópia dos
o p e r a n d o s d i s p o n í v e i s p a r a a s
Reservation Stations, o que resolve o
problema das antidependências.
22AULA :
Campus	
  Charqueadas	
  
Resolução das dependências
de dados
•  As instruções subsequentes podem ser
enviadas para execução nas unidades
funcionais, mesmo que uma instrução
anterior não possa ser executada
imediatamente.
23AULA :
Campus	
  Charqueadas	
  
Resolução das dependências
de dados
•  No caso de dependências verdadeiras, a
instrução sucessora é despachada para
uma Reservation Station, junto com o
“tag” indicando qual das instruções
precedentes que já foram despachadas,
irá gerar o resultado que será o operando
fonte.
24AULA :
Campus	
  Charqueadas	
  
Buffer de reordenação
•  O buffer de reordenação é implementado
como uma memória fifo associativa,
tipicamente com 32 entradas.
•  Quando uma instrução é decodificada, é
alocada a ela uma entrada no final da fila do
buffer de reordenação.
•  Quando uma instrução é completada, o valor
do resultado gerado por ela é escrito na
posição a ela alocada no buffer de
r e o r d e n a ç ã o e n ã o n o b a n c o d e
registradores.
25AULA :
Campus	
  Charqueadas	
  
Buffer de reordenação
•  Quando uma instrução atinge a primeira
posição da fila armazenada no buffer, todas
as instruções anteriores a ela na sequencia
em ordem necessariamente já completaram.
•  Se essa instrução não gerou exceções, o
valor do seu resultado é escrito no banco de
registradores e a instrução é eliminada da
fila.
26AULA :
Campus	
  Charqueadas	
  
Buffer de reordenação
•  O registrador físico alocado para o mesmo
registrador arquitetural por uma instrução
prévia pode ser então liberado para a lista de
livres.
•  O decodificador de instruções permanece
funcionando enquanto houver entradas livres
no buffer de reordenação.
27AULA :
Campus	
  Charqueadas	
  
Buffer de reordenação
•  O buffer deve ter uma entrada alocada a
toda instrução decodificada. Para as
instruções de desvio, o valor do contador de
programas da instrução alvo do desvio dever
ser armazenado nessa entrada.
•  Para instruções que modificam registradores,
o resultado da operação e a identificação do
registrador devem ser armazenados.
28AULA :
Campus	
  Charqueadas	
  
Buffer de reordenação
•  Cada entrada do buffer deve conter bits de
status informando se a instrução foi
completada, se ocorreu alguma exceção ou
se a instrução correspondente é de desvio e
que tipo de predição de desvio foi utilizado.
29AULA :
Campus	
  Charqueadas	
  
UNIDADES FUNCIONAIS
30AULA :
Campus	
  Charqueadas	
  
Load/Store
•  Instruções de Store só podem ser
executadas depois que todas as
instruções anteriores a ela, na ordem
definida pelo programa, já completaram.
•  As instruções de Load podem ser
despachadas para execução fora de
ordem em relação ás instruções de Store,
d e s d e q u e e l a s n ã o p o s s u a m
dependência de dados em relação as
instruções de Store pendentes.
31AULA :
Campus	
  Charqueadas	
  
Load/Store
•  É frequentemente implementada com três
componentes básicos: Reservation
Staton, Unidade de endereçamento e
Store Buffer.
•  As instruções na Reservation Station são
enviadas em ordem para a unidade de
endereçamento, que calcula o endereço
efetivo de memória a ser utilizado pelas
instruções de Load/Store.
32AULA :
Campus	
  Charqueadas	
  
Load/Store
•  O Store buffer retém as instruções de
Store despachadas com o endereço de
memória já calculado e o valor do dado a
ser escrito, até que todas as instruções
anteriores a ela já tenham sido
completadas, ou seja, até que a instrução
de Store atinja a primeira posição da fila
no buffer de reordenação.
33AULA :
Campus	
  Charqueadas	
  
Load/Store
•  Para as instruções de Load, é verificado
se o endereço de memória gerado pela
unidade de endereçamento não está
presente no Store Buffer.
•  Caso não esteja, as instruções de Load
realizam acesso à memória fora de
ordem em relação às instruções de Store
armazenadas no Store Buffer.
34AULA :
Campus	
  Charqueadas	
  
Load/Store
•  Se o endereço de memória de uma
instrução de Load está presente no Store
Buffer, o valor a ser armazenado em
memória pela instrução de Store presente
no Store buffer é o valor usado pela
instrução de Load, que nesse caso, nem
precisa realizar o acesso à memória.

Mais conteúdo relacionado

Mais procurados

Programando os Microcontroladores PIC
Programando os Microcontroladores PICProgramando os Microcontroladores PIC
Programando os Microcontroladores PICFabio Souza
 
Cabeamento 2 visão geral do cabeamento estuturado
Cabeamento 2   visão geral do cabeamento estuturadoCabeamento 2   visão geral do cabeamento estuturado
Cabeamento 2 visão geral do cabeamento estuturadoPaulo Fonseca
 
Introdução aos sistemas operacionais cap 01 (i unidade)
Introdução aos sistemas operacionais cap 01 (i unidade)Introdução aos sistemas operacionais cap 01 (i unidade)
Introdução aos sistemas operacionais cap 01 (i unidade)Faculdade Mater Christi
 
Mac os-x
Mac os-xMac os-x
Mac os-xdnxwit
 
Es capítulo 5 - modelagem de sistemas
Es   capítulo 5  - modelagem de sistemasEs   capítulo 5  - modelagem de sistemas
Es capítulo 5 - modelagem de sistemasFelipe Oliveira
 
Sistema operacional introdução
Sistema operacional introduçãoSistema operacional introdução
Sistema operacional introduçãoCleber Ramos
 
Máquina de Estados: Controlando o jogo, do menu à IA
Máquina de Estados: Controlando o jogo, do menu à IAMáquina de Estados: Controlando o jogo, do menu à IA
Máquina de Estados: Controlando o jogo, do menu à IAAndré Kishimoto
 
Aula 7 - Modelos de Ciclo de Vida.pptx
Aula 7 - Modelos de Ciclo de Vida.pptxAula 7 - Modelos de Ciclo de Vida.pptx
Aula 7 - Modelos de Ciclo de Vida.pptxALEXANDRELISBADASILV
 
Sistemas Operativos - Processos e Threads
Sistemas Operativos - Processos e ThreadsSistemas Operativos - Processos e Threads
Sistemas Operativos - Processos e ThreadsPedro De Almeida
 
Arquitetura interna do computador
Arquitetura interna do computadorArquitetura interna do computador
Arquitetura interna do computadorAndleloli
 
Practical Malware Analysis: Ch 11: Malware Behavior
Practical Malware Analysis: Ch 11: Malware BehaviorPractical Malware Analysis: Ch 11: Malware Behavior
Practical Malware Analysis: Ch 11: Malware BehaviorSam Bowne
 

Mais procurados (20)

Programando os Microcontroladores PIC
Programando os Microcontroladores PICProgramando os Microcontroladores PIC
Programando os Microcontroladores PIC
 
Algoritmos - capítulo 1
Algoritmos - capítulo 1Algoritmos - capítulo 1
Algoritmos - capítulo 1
 
Cabeamento 2 visão geral do cabeamento estuturado
Cabeamento 2   visão geral do cabeamento estuturadoCabeamento 2   visão geral do cabeamento estuturado
Cabeamento 2 visão geral do cabeamento estuturado
 
CISC e RISC
CISC e RISCCISC e RISC
CISC e RISC
 
Introdução aos sistemas operacionais cap 01 (i unidade)
Introdução aos sistemas operacionais cap 01 (i unidade)Introdução aos sistemas operacionais cap 01 (i unidade)
Introdução aos sistemas operacionais cap 01 (i unidade)
 
MAC OS
MAC OSMAC OS
MAC OS
 
Mac os-x
Mac os-xMac os-x
Mac os-x
 
Linguagem assembly
Linguagem assemblyLinguagem assembly
Linguagem assembly
 
História e evolução dos computadores
História e evolução dos computadores História e evolução dos computadores
História e evolução dos computadores
 
Es capítulo 5 - modelagem de sistemas
Es   capítulo 5  - modelagem de sistemasEs   capítulo 5  - modelagem de sistemas
Es capítulo 5 - modelagem de sistemas
 
Processador mips - pipeline
Processador mips - pipelineProcessador mips - pipeline
Processador mips - pipeline
 
Sistema operacional introdução
Sistema operacional introduçãoSistema operacional introdução
Sistema operacional introdução
 
Máquina de Estados: Controlando o jogo, do menu à IA
Máquina de Estados: Controlando o jogo, do menu à IAMáquina de Estados: Controlando o jogo, do menu à IA
Máquina de Estados: Controlando o jogo, do menu à IA
 
SO-04 Escalonamento de Processos
SO-04 Escalonamento de ProcessosSO-04 Escalonamento de Processos
SO-04 Escalonamento de Processos
 
Aula 06 - TEP - Introdução SQLite
Aula 06 - TEP - Introdução SQLiteAula 06 - TEP - Introdução SQLite
Aula 06 - TEP - Introdução SQLite
 
Aula 7 - Modelos de Ciclo de Vida.pptx
Aula 7 - Modelos de Ciclo de Vida.pptxAula 7 - Modelos de Ciclo de Vida.pptx
Aula 7 - Modelos de Ciclo de Vida.pptx
 
Sistemas Operativos - Processos e Threads
Sistemas Operativos - Processos e ThreadsSistemas Operativos - Processos e Threads
Sistemas Operativos - Processos e Threads
 
Arquitetura interna do computador
Arquitetura interna do computadorArquitetura interna do computador
Arquitetura interna do computador
 
Aula4 levantamento requisitos
Aula4 levantamento requisitosAula4 levantamento requisitos
Aula4 levantamento requisitos
 
Practical Malware Analysis: Ch 11: Malware Behavior
Practical Malware Analysis: Ch 11: Malware BehaviorPractical Malware Analysis: Ch 11: Malware Behavior
Practical Malware Analysis: Ch 11: Malware Behavior
 

Destaque

Arquiteturas Paralelas e Distribuídas - Aula1 - Apresentação da disciplina
Arquiteturas Paralelas e Distribuídas - Aula1 - Apresentação da disciplinaArquiteturas Paralelas e Distribuídas - Aula1 - Apresentação da disciplina
Arquiteturas Paralelas e Distribuídas - Aula1 - Apresentação da disciplinaCleber Fonseca
 
Arquiteturas Paralelas e Distribuídas - Aula 2 - Arquiteturas de computadores
Arquiteturas Paralelas e Distribuídas - Aula 2 - Arquiteturas de computadoresArquiteturas Paralelas e Distribuídas - Aula 2 - Arquiteturas de computadores
Arquiteturas Paralelas e Distribuídas - Aula 2 - Arquiteturas de computadoresCleber Fonseca
 
Aula 2 introdução a sistemas distribuídos
Aula 2   introdução a sistemas distribuídosAula 2   introdução a sistemas distribuídos
Aula 2 introdução a sistemas distribuídosEduardo de Lucena Falcão
 
Introdução aos Sistemas Distribuídos
Introdução aos Sistemas DistribuídosIntrodução aos Sistemas Distribuídos
Introdução aos Sistemas DistribuídosFrederico Madeira
 
JME Web Services API: um estudo de caso
JME Web Services API: um estudo de casoJME Web Services API: um estudo de caso
JME Web Services API: um estudo de casoLuiz Matos
 
Computacao Movel Ubiqua
Computacao Movel UbiquaComputacao Movel Ubiqua
Computacao Movel UbiquaLuiz Matos
 
Aula01 arquitetura clienteservidor
Aula01 arquitetura clienteservidorAula01 arquitetura clienteservidor
Aula01 arquitetura clienteservidorMarlon CP
 
03 arquitetura-cliente-servidor
03   arquitetura-cliente-servidor03   arquitetura-cliente-servidor
03 arquitetura-cliente-servidorConcurseira Le
 
Banco de Dados Distribuídos - MySql
Banco de Dados Distribuídos - MySqlBanco de Dados Distribuídos - MySql
Banco de Dados Distribuídos - MySqlAdail Viana Neto
 
Fundamentos da arquitetura cliente servidor.
Fundamentos da arquitetura cliente servidor.Fundamentos da arquitetura cliente servidor.
Fundamentos da arquitetura cliente servidor.Valdeir Frizzera
 
Arquiteturas Paralelas e Distribuídas - Aula 6 - Cloud Computing
Arquiteturas Paralelas e Distribuídas - Aula 6 - Cloud ComputingArquiteturas Paralelas e Distribuídas - Aula 6 - Cloud Computing
Arquiteturas Paralelas e Distribuídas - Aula 6 - Cloud ComputingCleber Fonseca
 
Uso de Aplicações em Camadas no segmento Varejo
Uso de Aplicações em Camadas no segmento VarejoUso de Aplicações em Camadas no segmento Varejo
Uso de Aplicações em Camadas no segmento VarejoMatheus Nani
 
Arquitetura Cliente-Servidor
Arquitetura Cliente-ServidorArquitetura Cliente-Servidor
Arquitetura Cliente-ServidorIsrael Messias
 
Apostilas - cliente servidor - aula 1 - fabiula
Apostilas - cliente servidor - aula 1 - fabiulaApostilas - cliente servidor - aula 1 - fabiula
Apostilas - cliente servidor - aula 1 - fabiulaDaniel Silveira
 
Aula - Arquiteturas de aplicações móveis
Aula - Arquiteturas de aplicações móveisAula - Arquiteturas de aplicações móveis
Aula - Arquiteturas de aplicações móveisJanynne Gomes
 
Arquitetura de software : Cliente-Servidor
Arquitetura de software : Cliente-ServidorArquitetura de software : Cliente-Servidor
Arquitetura de software : Cliente-ServidorAlexsandro Oliveira
 
Desenvolvimento de Interface Gráfica - Introdução ao desenvolvimento de int...
Desenvolvimento de Interface Gráfica - Introdução ao desenvolvimento de int...Desenvolvimento de Interface Gráfica - Introdução ao desenvolvimento de int...
Desenvolvimento de Interface Gráfica - Introdução ao desenvolvimento de int...Cleber Fonseca
 

Destaque (20)

Arquiteturas Paralelas e Distribuídas - Aula1 - Apresentação da disciplina
Arquiteturas Paralelas e Distribuídas - Aula1 - Apresentação da disciplinaArquiteturas Paralelas e Distribuídas - Aula1 - Apresentação da disciplina
Arquiteturas Paralelas e Distribuídas - Aula1 - Apresentação da disciplina
 
Arquiteturas Paralelas e Distribuídas - Aula 2 - Arquiteturas de computadores
Arquiteturas Paralelas e Distribuídas - Aula 2 - Arquiteturas de computadoresArquiteturas Paralelas e Distribuídas - Aula 2 - Arquiteturas de computadores
Arquiteturas Paralelas e Distribuídas - Aula 2 - Arquiteturas de computadores
 
Aula 2 introdução a sistemas distribuídos
Aula 2   introdução a sistemas distribuídosAula 2   introdução a sistemas distribuídos
Aula 2 introdução a sistemas distribuídos
 
Introdução aos Sistemas Distribuídos
Introdução aos Sistemas DistribuídosIntrodução aos Sistemas Distribuídos
Introdução aos Sistemas Distribuídos
 
JME Web Services API: um estudo de caso
JME Web Services API: um estudo de casoJME Web Services API: um estudo de caso
JME Web Services API: um estudo de caso
 
Computacao Movel Ubiqua
Computacao Movel UbiquaComputacao Movel Ubiqua
Computacao Movel Ubiqua
 
Aula01 arquitetura clienteservidor
Aula01 arquitetura clienteservidorAula01 arquitetura clienteservidor
Aula01 arquitetura clienteservidor
 
03 arquitetura-cliente-servidor
03   arquitetura-cliente-servidor03   arquitetura-cliente-servidor
03 arquitetura-cliente-servidor
 
Banco de Dados Distribuídos - MySql
Banco de Dados Distribuídos - MySqlBanco de Dados Distribuídos - MySql
Banco de Dados Distribuídos - MySql
 
Fundamentos da arquitetura cliente servidor.
Fundamentos da arquitetura cliente servidor.Fundamentos da arquitetura cliente servidor.
Fundamentos da arquitetura cliente servidor.
 
Arquitetura de Sofware
Arquitetura de SofwareArquitetura de Sofware
Arquitetura de Sofware
 
Arquiteturas Paralelas e Distribuídas - Aula 6 - Cloud Computing
Arquiteturas Paralelas e Distribuídas - Aula 6 - Cloud ComputingArquiteturas Paralelas e Distribuídas - Aula 6 - Cloud Computing
Arquiteturas Paralelas e Distribuídas - Aula 6 - Cloud Computing
 
Uso de Aplicações em Camadas no segmento Varejo
Uso de Aplicações em Camadas no segmento VarejoUso de Aplicações em Camadas no segmento Varejo
Uso de Aplicações em Camadas no segmento Varejo
 
Arquitetura Cliente-Servidor
Arquitetura Cliente-ServidorArquitetura Cliente-Servidor
Arquitetura Cliente-Servidor
 
Apostilas - cliente servidor - aula 1 - fabiula
Apostilas - cliente servidor - aula 1 - fabiulaApostilas - cliente servidor - aula 1 - fabiula
Apostilas - cliente servidor - aula 1 - fabiula
 
Aula - Arquiteturas de aplicações móveis
Aula - Arquiteturas de aplicações móveisAula - Arquiteturas de aplicações móveis
Aula - Arquiteturas de aplicações móveis
 
Arquitetura de software : Cliente-Servidor
Arquitetura de software : Cliente-ServidorArquitetura de software : Cliente-Servidor
Arquitetura de software : Cliente-Servidor
 
Sistemas Distribuídos - Clusters
Sistemas Distribuídos - ClustersSistemas Distribuídos - Clusters
Sistemas Distribuídos - Clusters
 
Desenvolvimento de Interface Gráfica - Introdução ao desenvolvimento de int...
Desenvolvimento de Interface Gráfica - Introdução ao desenvolvimento de int...Desenvolvimento de Interface Gráfica - Introdução ao desenvolvimento de int...
Desenvolvimento de Interface Gráfica - Introdução ao desenvolvimento de int...
 
Introdução ao pipeline
Introdução  ao  pipelineIntrodução  ao  pipeline
Introdução ao pipeline
 

Semelhante a Arquitetura Superescalar e Distribuída

Arquitetura pentium
Arquitetura pentiumArquitetura pentium
Arquitetura pentiumTiago
 
Apresentação PGDAY - Replicação Nativa - PostgreSQL
Apresentação PGDAY - Replicação Nativa - PostgreSQLApresentação PGDAY - Replicação Nativa - PostgreSQL
Apresentação PGDAY - Replicação Nativa - PostgreSQLJohnes Castro
 
Processador mips - parte operativa e parte de controle
Processador mips - parte operativa e parte de controleProcessador mips - parte operativa e parte de controle
Processador mips - parte operativa e parte de controleBruno Andretti Duarte
 
Redes de Computadores 2 - Aula 3 - Roteamento
Redes de Computadores 2 - Aula 3 - RoteamentoRedes de Computadores 2 - Aula 3 - Roteamento
Redes de Computadores 2 - Aula 3 - RoteamentoCleber Fonseca
 
Oracle e SQL Server na prática mitos, semelhanças e diferenças
Oracle e SQL Server na prática mitos, semelhanças e diferençasOracle e SQL Server na prática mitos, semelhanças e diferenças
Oracle e SQL Server na prática mitos, semelhanças e diferençasLeonardo Pedroso Costa
 
Design Patterns para Tuning Pentaho com Ctools
Design Patterns para Tuning Pentaho com CtoolsDesign Patterns para Tuning Pentaho com Ctools
Design Patterns para Tuning Pentaho com Ctoolse-Setorial
 
Aula sobre multithreading
Aula sobre multithreadingAula sobre multithreading
Aula sobre multithreadingBianca Dantas
 
Exadata - O Todo é maior que a soma das Partes
Exadata - O Todo é maior que a soma das PartesExadata - O Todo é maior que a soma das Partes
Exadata - O Todo é maior que a soma das PartesLuis Marques
 
Real time replication using Kafka Connect
Real time replication using Kafka ConnectReal time replication using Kafka Connect
Real time replication using Kafka Connectconfluent
 
Pic apostila
Pic apostilaPic apostila
Pic apostilamoschen
 
Pentium pro trabalho
Pentium pro   trabalhoPentium pro   trabalho
Pentium pro trabalhoRafael Cruz
 
Gerência de Memória em Java - Parte I (2005)
Gerência de Memória em Java - Parte I (2005)Gerência de Memória em Java - Parte I (2005)
Gerência de Memória em Java - Parte I (2005)Helder da Rocha
 
Redes de computadores 2 - Aula 6 - DNS, DHCP
Redes de computadores 2 - Aula 6 - DNS, DHCPRedes de computadores 2 - Aula 6 - DNS, DHCP
Redes de computadores 2 - Aula 6 - DNS, DHCPCleber Fonseca
 
Clp completa
Clp completaClp completa
Clp completapanelada
 

Semelhante a Arquitetura Superescalar e Distribuída (20)

Arquitetura pentium
Arquitetura pentiumArquitetura pentium
Arquitetura pentium
 
Apresentação PGDAY - Replicação Nativa - PostgreSQL
Apresentação PGDAY - Replicação Nativa - PostgreSQLApresentação PGDAY - Replicação Nativa - PostgreSQL
Apresentação PGDAY - Replicação Nativa - PostgreSQL
 
Processador mips - parte operativa e parte de controle
Processador mips - parte operativa e parte de controleProcessador mips - parte operativa e parte de controle
Processador mips - parte operativa e parte de controle
 
Redes de Computadores 2 - Aula 3 - Roteamento
Redes de Computadores 2 - Aula 3 - RoteamentoRedes de Computadores 2 - Aula 3 - Roteamento
Redes de Computadores 2 - Aula 3 - Roteamento
 
bom-1.pdf
bom-1.pdfbom-1.pdf
bom-1.pdf
 
F oc aula_04
F oc aula_04F oc aula_04
F oc aula_04
 
[Ottoni micro05] resume
[Ottoni micro05] resume[Ottoni micro05] resume
[Ottoni micro05] resume
 
Oracle e SQL Server na prática mitos, semelhanças e diferenças
Oracle e SQL Server na prática mitos, semelhanças e diferençasOracle e SQL Server na prática mitos, semelhanças e diferenças
Oracle e SQL Server na prática mitos, semelhanças e diferenças
 
Design Patterns para Tuning Pentaho com Ctools
Design Patterns para Tuning Pentaho com CtoolsDesign Patterns para Tuning Pentaho com Ctools
Design Patterns para Tuning Pentaho com Ctools
 
Compiladores
CompiladoresCompiladores
Compiladores
 
Aula sobre multithreading
Aula sobre multithreadingAula sobre multithreading
Aula sobre multithreading
 
Exadata - O Todo é maior que a soma das Partes
Exadata - O Todo é maior que a soma das PartesExadata - O Todo é maior que a soma das Partes
Exadata - O Todo é maior que a soma das Partes
 
Real time replication using Kafka Connect
Real time replication using Kafka ConnectReal time replication using Kafka Connect
Real time replication using Kafka Connect
 
Pic apostila
Pic apostilaPic apostila
Pic apostila
 
424928
424928424928
424928
 
Pentium pro trabalho
Pentium pro   trabalhoPentium pro   trabalho
Pentium pro trabalho
 
Lista2009 2
Lista2009 2Lista2009 2
Lista2009 2
 
Gerência de Memória em Java - Parte I (2005)
Gerência de Memória em Java - Parte I (2005)Gerência de Memória em Java - Parte I (2005)
Gerência de Memória em Java - Parte I (2005)
 
Redes de computadores 2 - Aula 6 - DNS, DHCP
Redes de computadores 2 - Aula 6 - DNS, DHCPRedes de computadores 2 - Aula 6 - DNS, DHCP
Redes de computadores 2 - Aula 6 - DNS, DHCP
 
Clp completa
Clp completaClp completa
Clp completa
 

Mais de Cleber Fonseca

Introdução a segurança da informação
Introdução a segurança da informaçãoIntrodução a segurança da informação
Introdução a segurança da informaçãoCleber Fonseca
 
Apresentação do professor e disciplina de segurança da Informação
Apresentação do professor e disciplina de segurança da InformaçãoApresentação do professor e disciplina de segurança da Informação
Apresentação do professor e disciplina de segurança da InformaçãoCleber Fonseca
 
Implementação de Serviços de Rede - Aula 1 - Estrutura do Sistema Operacional
Implementação de Serviços de Rede - Aula 1 - Estrutura do Sistema OperacionalImplementação de Serviços de Rede - Aula 1 - Estrutura do Sistema Operacional
Implementação de Serviços de Rede - Aula 1 - Estrutura do Sistema OperacionalCleber Fonseca
 
Implementação de Serviços de Rede - Aula apresentação
Implementação de Serviços de Rede - Aula apresentaçãoImplementação de Serviços de Rede - Aula apresentação
Implementação de Serviços de Rede - Aula apresentaçãoCleber Fonseca
 
Segurança da informação - Aula 8 - Revisão 1º Semestre
Segurança da informação - Aula 8 - Revisão 1º SemestreSegurança da informação - Aula 8 - Revisão 1º Semestre
Segurança da informação - Aula 8 - Revisão 1º SemestreCleber Fonseca
 
Segurança da Informação - Aula 9 - Introdução a Auditoria de Sistemas
Segurança da Informação - Aula 9 - Introdução a Auditoria de SistemasSegurança da Informação - Aula 9 - Introdução a Auditoria de Sistemas
Segurança da Informação - Aula 9 - Introdução a Auditoria de SistemasCleber Fonseca
 
Segurança da Informação - Aula 8 - Segurança em redes de computdores
Segurança da Informação - Aula 8 - Segurança em redes de computdoresSegurança da Informação - Aula 8 - Segurança em redes de computdores
Segurança da Informação - Aula 8 - Segurança em redes de computdoresCleber Fonseca
 
Segurança da informação - Aula 7 - ISO 27002
Segurança da informação - Aula 7 - ISO 27002Segurança da informação - Aula 7 - ISO 27002
Segurança da informação - Aula 7 - ISO 27002Cleber Fonseca
 
Segurança da informação - Aula 7 - NORMA ISO 27002
Segurança da informação - Aula 7 - NORMA ISO 27002Segurança da informação - Aula 7 - NORMA ISO 27002
Segurança da informação - Aula 7 - NORMA ISO 27002Cleber Fonseca
 
Redes de computadores 2 - Aula 4 - Divisão em sub-redes
Redes de computadores 2 - Aula 4 - Divisão em sub-redesRedes de computadores 2 - Aula 4 - Divisão em sub-redes
Redes de computadores 2 - Aula 4 - Divisão em sub-redesCleber Fonseca
 
Redes de Computadores 2 - Aula 2 - Protocolo TCP/IP
Redes de Computadores 2 - Aula 2 - Protocolo TCP/IPRedes de Computadores 2 - Aula 2 - Protocolo TCP/IP
Redes de Computadores 2 - Aula 2 - Protocolo TCP/IPCleber Fonseca
 
Redes de Computadores 2 - Aula 1 - Wireless
Redes de Computadores 2 - Aula 1 - WirelessRedes de Computadores 2 - Aula 1 - Wireless
Redes de Computadores 2 - Aula 1 - WirelessCleber Fonseca
 
Segurança da Informação - Aula 4 - Malwares
Segurança da Informação - Aula 4 - MalwaresSegurança da Informação - Aula 4 - Malwares
Segurança da Informação - Aula 4 - MalwaresCleber Fonseca
 
Segurança da informação - Aula 3 - Ciclo de vida, classificação de ativos
Segurança da informação - Aula 3 - Ciclo de vida, classificação de ativosSegurança da informação - Aula 3 - Ciclo de vida, classificação de ativos
Segurança da informação - Aula 3 - Ciclo de vida, classificação de ativosCleber Fonseca
 
Segurança da Informação - Aula 2 - Conceitos de Informação
Segurança da Informação - Aula 2 - Conceitos de InformaçãoSegurança da Informação - Aula 2 - Conceitos de Informação
Segurança da Informação - Aula 2 - Conceitos de InformaçãoCleber Fonseca
 
Segurança da informação - Aula 1 - Apresentação da disciplina
Segurança da informação - Aula 1 - Apresentação da disciplinaSegurança da informação - Aula 1 - Apresentação da disciplina
Segurança da informação - Aula 1 - Apresentação da disciplinaCleber Fonseca
 
Segurança da Informação - Aula 5 - Criptografia
Segurança da Informação - Aula 5 - CriptografiaSegurança da Informação - Aula 5 - Criptografia
Segurança da Informação - Aula 5 - CriptografiaCleber Fonseca
 
Ações de Controle Básica e Controladores Automáticos Industriais
Ações de Controle Básica e Controladores Automáticos IndustriaisAções de Controle Básica e Controladores Automáticos Industriais
Ações de Controle Básica e Controladores Automáticos IndustriaisCleber Fonseca
 

Mais de Cleber Fonseca (19)

Oficina jQuery
Oficina jQueryOficina jQuery
Oficina jQuery
 
Introdução a segurança da informação
Introdução a segurança da informaçãoIntrodução a segurança da informação
Introdução a segurança da informação
 
Apresentação do professor e disciplina de segurança da Informação
Apresentação do professor e disciplina de segurança da InformaçãoApresentação do professor e disciplina de segurança da Informação
Apresentação do professor e disciplina de segurança da Informação
 
Implementação de Serviços de Rede - Aula 1 - Estrutura do Sistema Operacional
Implementação de Serviços de Rede - Aula 1 - Estrutura do Sistema OperacionalImplementação de Serviços de Rede - Aula 1 - Estrutura do Sistema Operacional
Implementação de Serviços de Rede - Aula 1 - Estrutura do Sistema Operacional
 
Implementação de Serviços de Rede - Aula apresentação
Implementação de Serviços de Rede - Aula apresentaçãoImplementação de Serviços de Rede - Aula apresentação
Implementação de Serviços de Rede - Aula apresentação
 
Segurança da informação - Aula 8 - Revisão 1º Semestre
Segurança da informação - Aula 8 - Revisão 1º SemestreSegurança da informação - Aula 8 - Revisão 1º Semestre
Segurança da informação - Aula 8 - Revisão 1º Semestre
 
Segurança da Informação - Aula 9 - Introdução a Auditoria de Sistemas
Segurança da Informação - Aula 9 - Introdução a Auditoria de SistemasSegurança da Informação - Aula 9 - Introdução a Auditoria de Sistemas
Segurança da Informação - Aula 9 - Introdução a Auditoria de Sistemas
 
Segurança da Informação - Aula 8 - Segurança em redes de computdores
Segurança da Informação - Aula 8 - Segurança em redes de computdoresSegurança da Informação - Aula 8 - Segurança em redes de computdores
Segurança da Informação - Aula 8 - Segurança em redes de computdores
 
Segurança da informação - Aula 7 - ISO 27002
Segurança da informação - Aula 7 - ISO 27002Segurança da informação - Aula 7 - ISO 27002
Segurança da informação - Aula 7 - ISO 27002
 
Segurança da informação - Aula 7 - NORMA ISO 27002
Segurança da informação - Aula 7 - NORMA ISO 27002Segurança da informação - Aula 7 - NORMA ISO 27002
Segurança da informação - Aula 7 - NORMA ISO 27002
 
Redes de computadores 2 - Aula 4 - Divisão em sub-redes
Redes de computadores 2 - Aula 4 - Divisão em sub-redesRedes de computadores 2 - Aula 4 - Divisão em sub-redes
Redes de computadores 2 - Aula 4 - Divisão em sub-redes
 
Redes de Computadores 2 - Aula 2 - Protocolo TCP/IP
Redes de Computadores 2 - Aula 2 - Protocolo TCP/IPRedes de Computadores 2 - Aula 2 - Protocolo TCP/IP
Redes de Computadores 2 - Aula 2 - Protocolo TCP/IP
 
Redes de Computadores 2 - Aula 1 - Wireless
Redes de Computadores 2 - Aula 1 - WirelessRedes de Computadores 2 - Aula 1 - Wireless
Redes de Computadores 2 - Aula 1 - Wireless
 
Segurança da Informação - Aula 4 - Malwares
Segurança da Informação - Aula 4 - MalwaresSegurança da Informação - Aula 4 - Malwares
Segurança da Informação - Aula 4 - Malwares
 
Segurança da informação - Aula 3 - Ciclo de vida, classificação de ativos
Segurança da informação - Aula 3 - Ciclo de vida, classificação de ativosSegurança da informação - Aula 3 - Ciclo de vida, classificação de ativos
Segurança da informação - Aula 3 - Ciclo de vida, classificação de ativos
 
Segurança da Informação - Aula 2 - Conceitos de Informação
Segurança da Informação - Aula 2 - Conceitos de InformaçãoSegurança da Informação - Aula 2 - Conceitos de Informação
Segurança da Informação - Aula 2 - Conceitos de Informação
 
Segurança da informação - Aula 1 - Apresentação da disciplina
Segurança da informação - Aula 1 - Apresentação da disciplinaSegurança da informação - Aula 1 - Apresentação da disciplina
Segurança da informação - Aula 1 - Apresentação da disciplina
 
Segurança da Informação - Aula 5 - Criptografia
Segurança da Informação - Aula 5 - CriptografiaSegurança da Informação - Aula 5 - Criptografia
Segurança da Informação - Aula 5 - Criptografia
 
Ações de Controle Básica e Controladores Automáticos Industriais
Ações de Controle Básica e Controladores Automáticos IndustriaisAções de Controle Básica e Controladores Automáticos Industriais
Ações de Controle Básica e Controladores Automáticos Industriais
 

Último

Calculo vetorial - eletromagnetismo, calculo 3
Calculo vetorial - eletromagnetismo, calculo 3Calculo vetorial - eletromagnetismo, calculo 3
Calculo vetorial - eletromagnetismo, calculo 3filiperigueira1
 
Apresentação Manutenção Total Produtiva - TPM
Apresentação Manutenção Total Produtiva - TPMApresentação Manutenção Total Produtiva - TPM
Apresentação Manutenção Total Produtiva - TPMdiminutcasamentos
 
Lista de presença treinamento de EPI NR-06
Lista de presença treinamento de EPI NR-06Lista de presença treinamento de EPI NR-06
Lista de presença treinamento de EPI NR-06AndressaTenreiro
 
10 - RELOGIO COMPARADOR - OPERAÇÃO E LEITURA.pptx
10 - RELOGIO COMPARADOR - OPERAÇÃO E LEITURA.pptx10 - RELOGIO COMPARADOR - OPERAÇÃO E LEITURA.pptx
10 - RELOGIO COMPARADOR - OPERAÇÃO E LEITURA.pptxVagner Soares da Costa
 
TRABALHO INSTALACAO ELETRICA EM EDIFICIO FINAL.docx
TRABALHO INSTALACAO ELETRICA EM EDIFICIO FINAL.docxTRABALHO INSTALACAO ELETRICA EM EDIFICIO FINAL.docx
TRABALHO INSTALACAO ELETRICA EM EDIFICIO FINAL.docxFlvioDadinhoNNhamizi
 
07 - MICRÔMETRO EXTERNO SISTEMA MÉTRICO.pptx
07 - MICRÔMETRO EXTERNO SISTEMA MÉTRICO.pptx07 - MICRÔMETRO EXTERNO SISTEMA MÉTRICO.pptx
07 - MICRÔMETRO EXTERNO SISTEMA MÉTRICO.pptxVagner Soares da Costa
 

Último (6)

Calculo vetorial - eletromagnetismo, calculo 3
Calculo vetorial - eletromagnetismo, calculo 3Calculo vetorial - eletromagnetismo, calculo 3
Calculo vetorial - eletromagnetismo, calculo 3
 
Apresentação Manutenção Total Produtiva - TPM
Apresentação Manutenção Total Produtiva - TPMApresentação Manutenção Total Produtiva - TPM
Apresentação Manutenção Total Produtiva - TPM
 
Lista de presença treinamento de EPI NR-06
Lista de presença treinamento de EPI NR-06Lista de presença treinamento de EPI NR-06
Lista de presença treinamento de EPI NR-06
 
10 - RELOGIO COMPARADOR - OPERAÇÃO E LEITURA.pptx
10 - RELOGIO COMPARADOR - OPERAÇÃO E LEITURA.pptx10 - RELOGIO COMPARADOR - OPERAÇÃO E LEITURA.pptx
10 - RELOGIO COMPARADOR - OPERAÇÃO E LEITURA.pptx
 
TRABALHO INSTALACAO ELETRICA EM EDIFICIO FINAL.docx
TRABALHO INSTALACAO ELETRICA EM EDIFICIO FINAL.docxTRABALHO INSTALACAO ELETRICA EM EDIFICIO FINAL.docx
TRABALHO INSTALACAO ELETRICA EM EDIFICIO FINAL.docx
 
07 - MICRÔMETRO EXTERNO SISTEMA MÉTRICO.pptx
07 - MICRÔMETRO EXTERNO SISTEMA MÉTRICO.pptx07 - MICRÔMETRO EXTERNO SISTEMA MÉTRICO.pptx
07 - MICRÔMETRO EXTERNO SISTEMA MÉTRICO.pptx
 

Arquitetura Superescalar e Distribuída

  • 1. 1AULA : Campus  Charqueadas   Arquiteturas Paralelas e Distribuídas Apresentado por: Cleber Schroeder Fonseca Adaptado do material do Prof. Gabriel P. Silva TSI-6AN
  • 2. 2AULA : Campus  Charqueadas   ARQUITETURA SUPERESCALAR
  • 3. 3AULA : Campus  Charqueadas   Arquitetura Superescalar •  Organizadas internamente como múltiplos “pipelines” e com um banco de registradores com múltiplas portas de leitura e de escrita, com múltiplas instruções iniciadas e terminadas a cada ciclo. O grau de concorrência das instruções situa-se na prática entre 2 e 4.
  • 4. 4AULA : Campus  Charqueadas   Arquitetura Superescalar •  As instruções são despachadas para execução somente quando não violam regras de dependência de dados, de controle e quando não existem conflitos estruturais. •  O escalonamento das instruções pode ser feito por “software” e/ou por “hardware”. •  O código objeto para estas arquiteturas é compatível com o de arquiteturas escalares convencionais.
  • 5. 5AULA : Campus  Charqueadas   Arquitetura Superescalar •  Capacidade para realizar busca e decodificação de múltiplas instruções por ciclo. •  Existência de uma Janela de instruções que isola os estágios de busca e decodificação dos estágios de execução propriamente dita.
  • 6. 6AULA : Campus  Charqueadas   Arquitetura Superescalar •  Recuperação do estado da máquina em caso de exceções ou de previsões erradas de desvios. •  Múltiplos barramentos para comunicação de operandos e resultados e banco de registradores com múltiplas portas de leitura e escrita, incluindo a existência de lógica de arbitração se o número de recursos é menor que o máximo possivelmente necessário.
  • 7. 7AULA : Campus  Charqueadas   Arquitetura Superescalar •  Múltiplas unidades funcionais: ALU, Ponto Flutuante, Load/Store, ... •  Suporte para tratamento de dependência de dados entre instruções de load e store.
  • 8. 8AULA : Campus  Charqueadas   Busca e Decodificação •  A arquitetura superescalar só é efetiva se a taxa média com que as instruções são buscadas e decodificadas for superior a taxa média com que instruções são executadas. •  Esquema eficiente de predição de desvios é fundamental.
  • 9. 9AULA : Campus  Charqueadas   Busca e Decodificação •  Necessidade de se dispor de um barramento de acesso ao cache de instruções com largura adequada e de um decodificador de instruções capaz de decodificar múltiplas instruções simultaneamente. •  Um decodificador de múltiplas instruções demanda a realização de busca de vários operandos em paralelo.
  • 10. 10AULA : Campus  Charqueadas   Degradação do desempenho da operação de busca de instruções •  Falha no acesso à cache de instruções. •  Predição errada de desvios. •  Desalinhamento do endereço das instruções alvo de um desvio em relação ao início de um bloco de cache.
  • 11. 11AULA : Campus  Charqueadas   Janela de instruções •  A janela de instruções armazena o resultado da decodificação das instruções e isola o estágio de busca e decodificação de instruções dos estágios de execução propriamente dita das instruções. •  Pode ser implementada de forma centralizada (Central Window) ou distribuída pelas unidade funcionais (Reservation Stations).
  • 12. 12AULA : Campus  Charqueadas   Janela de instruções •  A Central Window armazena todas as instruções já decodificadas e ainda não despachadas para execução, enquanto que cada Reservation Stations só armazena as instruções destinadas à Unidade Funcional associada a ela. •  A Central Window pode ser, em geral, dimensionada com uma capacidade menor do que a capacidade total das diversas Reservation Stations.
  • 13. 13AULA : Campus  Charqueadas   Janela de instruções •  Na implementação com Central Window mais de uma instrução pode ser despachada por ciclo para as diferentes unidades funcionais enquanto que cada Reservation Station pode passar no máximouma instrução por ciclo para sua unidade funcional.
  • 14. 14AULA : Campus  Charqueadas   Janela de instruções •  A Central Window deve ser capaz de suportar instruções de diferentes formatos enquanto as Reservation Stations podem ser dedicadas apenas ao formato das instruções executadas pela unidade funcional.
  • 15. 15AULA : Campus  Charqueadas   Janela de instruções •  A lógica de controle das implementações baseadas em Central Window é usualmente mais complexa que as das Reservation Stations, já que é necessário administrar diferentes tipos de instruções e unidades funcionais, disparar simultaneamente mais de uma instrução para as diferentes unidades funcionais, etc.
  • 16. 16AULA : Campus  Charqueadas   O Banco de registradores •  Cada entrada no banco de registradores é formada por três campos. O primeiro campo denominado “busy bit”, indica se o valor armazenado está atualizado. •  Caso o valor do registrador esteja desatualizado, o segundo campo, denominado “tag”, aponta para a Reservation Station contendo a instrução mais recente que vai produzir este valor.
  • 17. 17AULA : Campus  Charqueadas   O Banco de registradores •  Finalmente, o terceiro campo é o registrador propriamente dito.
  • 18. 18AULA : Campus  Charqueadas   A difusão de resultados no CDB •  Toda vez que uma unidade funcional conclui uma operação, o resultado é difundido, juntamente com o seu “tag”, através de um barramento global, para o banco de registradores e Reservation Stations. O barramento global é denominado CDB (“Common Data Bus”).
  • 19. 19AULA : Campus  Charqueadas   A difusão de resultados no CDB •  A difusão é associativa: o resultado da operação é transmitido associativamente para os demais componentes, junto com o “tag” que identifica a Reservation Station que armazena a instrução que produziu o dado. •  Os componentes do sistema monitoram continuamente o barramento de resultados, verificando se o “tag” ora transmitido coincide com o campo de “tag” aguardado.
  • 20. 20AULA : Campus  Charqueadas   A difusão de resultados no CDB •  Ocorrendo a coincidência, o resultado é copiado no campo correspondente da Reservation Station ou do banco de registradores. Caso contrário é ignorado.
  • 21. 21AULA : Campus  Charqueadas   Resolução das dependências de dados •  Se o recurso (unidade funcional e operandos fonte) estiverem disponíveis, a instrução é iniciada imediatamente, antes mesmo do término de suas sucessoras. •  Caso contrário, é feita a cópia dos o p e r a n d o s d i s p o n í v e i s p a r a a s Reservation Stations, o que resolve o problema das antidependências.
  • 22. 22AULA : Campus  Charqueadas   Resolução das dependências de dados •  As instruções subsequentes podem ser enviadas para execução nas unidades funcionais, mesmo que uma instrução anterior não possa ser executada imediatamente.
  • 23. 23AULA : Campus  Charqueadas   Resolução das dependências de dados •  No caso de dependências verdadeiras, a instrução sucessora é despachada para uma Reservation Station, junto com o “tag” indicando qual das instruções precedentes que já foram despachadas, irá gerar o resultado que será o operando fonte.
  • 24. 24AULA : Campus  Charqueadas   Buffer de reordenação •  O buffer de reordenação é implementado como uma memória fifo associativa, tipicamente com 32 entradas. •  Quando uma instrução é decodificada, é alocada a ela uma entrada no final da fila do buffer de reordenação. •  Quando uma instrução é completada, o valor do resultado gerado por ela é escrito na posição a ela alocada no buffer de r e o r d e n a ç ã o e n ã o n o b a n c o d e registradores.
  • 25. 25AULA : Campus  Charqueadas   Buffer de reordenação •  Quando uma instrução atinge a primeira posição da fila armazenada no buffer, todas as instruções anteriores a ela na sequencia em ordem necessariamente já completaram. •  Se essa instrução não gerou exceções, o valor do seu resultado é escrito no banco de registradores e a instrução é eliminada da fila.
  • 26. 26AULA : Campus  Charqueadas   Buffer de reordenação •  O registrador físico alocado para o mesmo registrador arquitetural por uma instrução prévia pode ser então liberado para a lista de livres. •  O decodificador de instruções permanece funcionando enquanto houver entradas livres no buffer de reordenação.
  • 27. 27AULA : Campus  Charqueadas   Buffer de reordenação •  O buffer deve ter uma entrada alocada a toda instrução decodificada. Para as instruções de desvio, o valor do contador de programas da instrução alvo do desvio dever ser armazenado nessa entrada. •  Para instruções que modificam registradores, o resultado da operação e a identificação do registrador devem ser armazenados.
  • 28. 28AULA : Campus  Charqueadas   Buffer de reordenação •  Cada entrada do buffer deve conter bits de status informando se a instrução foi completada, se ocorreu alguma exceção ou se a instrução correspondente é de desvio e que tipo de predição de desvio foi utilizado.
  • 29. 29AULA : Campus  Charqueadas   UNIDADES FUNCIONAIS
  • 30. 30AULA : Campus  Charqueadas   Load/Store •  Instruções de Store só podem ser executadas depois que todas as instruções anteriores a ela, na ordem definida pelo programa, já completaram. •  As instruções de Load podem ser despachadas para execução fora de ordem em relação ás instruções de Store, d e s d e q u e e l a s n ã o p o s s u a m dependência de dados em relação as instruções de Store pendentes.
  • 31. 31AULA : Campus  Charqueadas   Load/Store •  É frequentemente implementada com três componentes básicos: Reservation Staton, Unidade de endereçamento e Store Buffer. •  As instruções na Reservation Station são enviadas em ordem para a unidade de endereçamento, que calcula o endereço efetivo de memória a ser utilizado pelas instruções de Load/Store.
  • 32. 32AULA : Campus  Charqueadas   Load/Store •  O Store buffer retém as instruções de Store despachadas com o endereço de memória já calculado e o valor do dado a ser escrito, até que todas as instruções anteriores a ela já tenham sido completadas, ou seja, até que a instrução de Store atinja a primeira posição da fila no buffer de reordenação.
  • 33. 33AULA : Campus  Charqueadas   Load/Store •  Para as instruções de Load, é verificado se o endereço de memória gerado pela unidade de endereçamento não está presente no Store Buffer. •  Caso não esteja, as instruções de Load realizam acesso à memória fora de ordem em relação às instruções de Store armazenadas no Store Buffer.
  • 34. 34AULA : Campus  Charqueadas   Load/Store •  Se o endereço de memória de uma instrução de Load está presente no Store Buffer, o valor a ser armazenado em memória pela instrução de Store presente no Store buffer é o valor usado pela instrução de Load, que nesse caso, nem precisa realizar o acesso à memória.