Programação Paralela em Arquiteturas Multi-Core/Arquitetura Intel Core e Core 2: diferenças entre revisões
[edição não verificada] | [edição não verificada] |
Conteúdo apagado Conteúdo adicionado
Linha 136:
Para solucionar o problema, a microarquitetura Core possui algoritmos que determinam com uma grande probabilidade se um par de instruções STORE-LOAD está operando sobre os mesmos dados, sem a necessidade de aguardar a definição dos endereços de memórias que as instruções estariam acessando.
Vamos verificar como exemplo da desambiguação de memória o que acontece para a seguinte sequência de isntruções:
* 'STORE 13 ''REF''' - Guardar o valor 13 na posição ''REF'' da memória.
* 'LOAD ''REF'' A' - Carregar o conteúdo da posição ''REF'' da memória no registrador ''A''.
* 'ADD A, B, C' - Somar os registradores ''A'' e ''B'', atribuindo o resultado ao registrador ''C''.
----
[[Imagem:Desambiguacao_Memoria.png]]
----
No exemplo existem duas posições de memória, uma representada pelo quadrado vermelho e outra representada pelo quadrado azul. O sombreamento saindo do quadrado indica que a instrução acessando aquele endereço de memória ainda não finalizou.
Cada linha cinza representa um ciclo de execução do processador.
* Caso A: Nesse caso,
==== Intel Advanced Digital Media Boost ====
|