Programação Paralela em Arquiteturas Multi-Core/Arquitetura Intel Core e Core 2: diferenças entre revisões

[edição verificada][revisão pendente]
Conteúdo apagado Conteúdo adicionado
He7d3r.bot (discussão | contribs)
Atualizando a categoria do livro, com AutoCat (detalhes). utilizando AWB
Moretti (discussão | contribs)
-tremas
 
Linha 16:
==== Conceito de desempenho ====
 
O desempenho <ref>Também conhecido pelo estrangeirismo ''performance''</ref> de um processador não pode ser medido apenas como uma proporção direta da freqüênciafrequência do relógio do processador, ou mesmo como a quantidade de instruções realizadas por ciclo do processador (''IPC''). O desempenho é dado pela simples equação:
 
<center>
Desempenho = FreqüênciaFrequência <math>x</math> IPC
</center>
 
Desta forma temos duas maneiras principais de aumentar o desempenho de um processador, aumentando a freqüênciafrequência ou o [[w:throughput|throughput]]. Assim, o aumento da capacidade de processamento depende da microarquitetura do processador e do aumento da freqüênciafrequência, ambos dependentes de como o processador é projetado e construído.
 
 
Linha 29:
A tendência atual dos processadores voltados para ambientes paralelos é não implementar execução de instruções fora de ordem. A execução fora de ordem permite que uma seqüência de instruções enviadas para o processador sejam processadas internamente em uma ordem diferente da seqüência original, que busca aumentar o número de instruções processadas de acordo com a arquitetura do processador, ordenando novamente na seqüência original após o término da execução. Processadores que não contam com esse recurso precisam que o ordenamento das instruções seja feito antes de enviadas para o processador, através de otimizações feitas por um compilador, por exemplo.
 
A arquitetura Core foge à regra e busca aperfeiçoar as técnicas já existentes. Assim, cada núcleo de processamento é altamente eficiente e ao mesmo tempo complexo, dificultando a criação de processadores que possuam muitos núcleos. Espera-se que ganhos expressivos de poder de processamento sejam alcançados com a adição de novos núcleos de processamento aos processadores, ao contrário da estratégia anterior da Intel com a arquitetura NetBurst, onde os ganhos eram alcançados principalmente com avanço das técnicas de fabricação que permitissem que os processadores funcionassem a freqüênciasfrequências cada vez maiores.
 
 
Linha 71:
Recursos de famílias anteriores:
 
* Intel Speedstep: A tecnologia Intel Speedstep permite que a freqüênciafrequência de operação (através da alteração de razão entre FSB e clock) e a tensão do núcleo de um processador sejam alterados em tempo de execução. Alguns fatores que podem levar à alteração da freqüênciafrequência e tensão são a fonte de energia do sistema (bateria ou fonte), estado térmico do processador. Outro fator importante é a política de gerenciamento de energia do sistema operacional, que pode selecionar o nível de economia de energia baseando-se, por exemplo, na utilização do processador.
 
* Enhanced Intel Speedstep: Todas as vezes que ocorre uma variação na freqüênciafrequência do processador, este fica indisponível por um curto período de tempo, enquanto que a variação na tensão do núcleo do processador não ocasiona esta indisponibilidade. O enhanced Speedstep permite que a tensão varie independentemente da freqüênciafrequência do processador (no Intel Speedstep a variação de tensão e freqüênciafrequência sempre ocorria em conjunto). Esta alteração melhora a disponibilidade do processador ao permitir que seu consumo seja reduzido sem a necessidade de alterar sua freqüênciafrequência
 
* Enhanced Halt State (Estado C1E): O processador entra no estado C1E (estado econômico de energia) quando o sistema operacional envia um comando HALT. Nos sistemas operacionais atuais este comando é enviado quando o sistema não encontra-se com carga máxima de utilização. Quando está no estado C1E a freqüênciafrequência do processador é alterada para o mínimo (através da alteração do multiplicador) além da tensão também ser reduzida.
 
Novos Recursos:
Linha 87:
A arquitetura Intel Core foi desenvolvida desde o começo prevendo-se o suporte a vários núcleos por processador. Diferentemente dos processadores anteriores, os processadores Intel Core com múltiplos núcleos compartilham a memória cache de nível 2 (L2).
 
A primeira vantagem da estratégia de compartilhar o cache L2 é que a quantidade de cache L2 pode ser alterada dinamicamente de acordo com a carga dos núcleos. Em um processador DualCore, quando um núcleo está inativo, o núcleo ativo fica com toda a cache L2 à sua disposição. Quando vários núcleos estão ativos a cache L2 é dividia proporcionalmente entre os núcleos de acordo com a freqüênciafrequência de requisições feitas por cada núcleo à memória.
 
A segunda vantagem é que ao utilizar uma única cache L2 não é necessário utilizar técnicas para garantir a consistência de dados entre as caches dos vários núcleos, diminuindo a utilização do barramento entre o processador e a memória do sistema.