GameVicioFórum
GameVicioFórum

Entendendo Intel Core i7: parte 2

Fórum GameVicio » Processadores » Entendendo Intel Core i7: parte 2
Entendendo Intel Core i7: parte 2
rbmarques
rbmarques arrow_drop_down
    starstarstarstar
    Equipe Home
    GameViciado Extremo
    ID: #500877
    Membro desde
    Masculino, 38 anos, Solteiro
    # Entendendo Intel Core i7: parte 2
    Resposta de rbmarques.

    Um dos fatores que permitem que o Core 2 Duo supere a maioria dos processadores AMD atuais clock por clock é o fato de os processadores serem capazes de processar 4 instruções por ciclo (4 issue), contra 3 dos processadores AMD. Naturalmente, existem muitos outros fatores a se considerar (a eficiência dos circuitos de branch prediction, o tamanho e velocidade dos caches e assim por diante), mas as 4 instruções por ciclo oferecem uma vantagem considerável.

    O Nehalem mantém o processamento de 4 instruções, mas adiciona uma série de refinamentos arquiteturais, que permitem que as unidades de execução sejam alimentadas com um volume maior de dados, reduzindo o tempo em que elas ficam ociosas esperando por dados na memória cache ou pelo resultado de uma operação de branch prediction, por exemplo. Isso resulta em um ganho de eficiência considerável em relação ao Penryn.

    Além das mudanças nos caches e a adição do controlador de memória, outra mudança é a substituição do antigo FSB por um barramento aprimorado, batizado de QuickPath Interconnect, ou QPI.

    O FSB (front-side bus, ou barramento frontal), tem sido utilizado desde os primeiros processadores Intel. Ele consiste um um barramento compartilhado, que liga o processador ao chipset, como você pode ver nesse diagrama da Intel:

    IMAGEaHR0cDovL3d3dy5nZGhwcmVzcy5jb20uYnIvYmxvZy9pbWFnZW5zLy8yMDA5LzA2L2k3X2h0bWxfM2M1OWNjODYucG5n

    Como ele é usado não apenas para a comunicação entre os núcleos do processador e a memória, mas também para a comunicação entre os 2 ou 4 núcleos do processador, ele acaba estrangulando o acesso à memória, prejudicando o desempenho do sistema. O problema se agrava ao usar vários processadores em SMP, como no caso das placas para servidores, ou na plataforma Skultrail

    Até o Penryn a Intel remediou o problema na base da força-bruta, simplesmente adicionando mais cache L2 aos processadores. Com o QuickPath, resolveram atacar a raiz do problema, substituindo o FSB por um barramento modernizado, composto por links independentes que operam a 4.8 ou 6.4 GT/s (a siga "GT/s" indica o volume de transações por segundo, diferente de "GHz", que indica o clock), com a transmissão de 16 bits de dados em cada direção por ciclo, resultando em um barramento de 9.6 ou 12.8 GB/s em cada direção (25.6 GB/s no total) por linha de dados.

    Como a memória é agora acessada diretamente pelo controlador de memória, este link fica inteiramente disponível para o tráfego de I/O. Ao utilizar dois processadores, cada processador passa a se comunicar com o chipset através de uma linha independente e uma terceira linha de dados é implantada para coordenar a comunicação entre os dois:

    IMAGEaHR0cDovL3d3dy5nZGhwcmVzcy5jb20uYnIvYmxvZy9pbWFnZW5zLy8yMDA5LzA2L2k3X2h0bWxfMjQwZjVmNGEucG5n

    Ao usar 4 processadores (possibilidade que deverá ser bem explorada no caso dos servidores de alto desempenho) são incluídos barramentos adicionais, que fazem com que cada processador tenha acesso direto a todos os demais:

    IMAGEaHR0cDovL3d3dy5nZGhwcmVzcy5jb20uYnIvYmxvZy9pbWFnZW5zLy8yMDA5LzA2L2k3X2h0bWxfM2NhOTJhNGYucG5n

    Se você acompanhou a evolução dos processadores da AMD nos últimos anos, vai notar uma grande semelhança entre o QuickPath e o HyperTransport, usado nos processadores AMD. Obviamente, não se trata de mera coincidência. A Intel estudou os pontos fortes da solução da AMD e acabou chegando a uma solução adaptada à sua arquitetura. Como dizem, a cópia é a forma mais sincera de elogio.

    Com relação ao processamento das instruções, uma novidade importante é o Loop Stream Detector (LSD), um controlador adicional que vasculha as instruções decodificadas antes que elas cheguem ao processador, localizando instruções referentes a loops de processamento.

    Em vez de reprocessar as instruções do loop repetidamente, o processar armazena as instruções em um pequeno cache interno e as executa a partir daí. Além de permitir ganhar tempo, isso reduz sutilmente o consumo elétrico, pois permite desativar o circuito de branch prediction, juntamente com as unidades fetch e decode durante o processamento do loop:

    IMAGEaHR0cDovL3d3dy5nZGhwcmVzcy5jb20uYnIvYmxvZy9pbWFnZW5zLy8yMDA5LzA2L2k3X2h0bWxfNDA5M2YwMzYucG5n

    No Conroe (usado na geração inicial do Core 2 Duo), a Intel inaugurou o uso do "macro-ops fusion", que permite que algumas instruções específicas sejam fundidas durante a fase de decodificação e processadas como uma única instrução, resultando em um pequeno ganho de desempenho. No Conroe o macro-ops fusion funcionava apenas com instruções de 32 bits, mas o Nehalem ganhou suporte à fusão de instruções de 64 bits, o que é uma boa notícia para quem já fez ou pretende fazer a migração.

    O Nehalem marca também a volta do Hyper Threading, chamado agora de SMT (Simultaneous Multi-Threading) o que faz com que o processador se apresente ao sistema operacional como tendo 8 núcleos em vez de 4. Naturalmente, o SMT não dobra o desempenho do processador, servindo apenas como um recurso extra que permite que ele aproveite melhor os recursos de processamento, processando dois threads simultaneamente sempre que possível.

    Se você acompanhou a era do Pentium 4, talvez não tenha boas lembranças do Hyper Threading, já que ele reduzia o desempenho do processador em algumas operações e aumentava consideravelmente o consumo elétrico. No caso do Nehalem, entretanto, a função passou por uma série de melhorias, tornando-se mais eficiente. Além das otimizações, alguns outros fatores importantes são:

    a) O Nahalem possui um controlador de memória integrado e caches muito maiores, o que garante um fluxo de dados muito maior. Isso é um pré-requisito para uma boa eficiência ao usar o SMT, já que ao processar dois threads simultaneamente, cada núcleo precisa ser alimentado com dados referentes a ambos.

    b) Hoje em dia temos um volume muito maior de softwares otimizados para o processamento simultâneo de vários threads, diferente do que tínhamos na época do Pentium 4.

    O ganho ao utilizar o SMT no Nehalem fica abaixo dos 10% na maioria das tarefas (em algumas situações, pode haver até mesmo uma pequena perda), mas existem alguns casos específicos onde ele representa ganhos expressivos, como no caso do 3DMark, onde o ganho chega aos 35%, o que não é nada ruim, considerando que ele consiste em aproveitar ciclos de processamento que de outra forma seriam desperdiçados.

    Além da questão do desempenho, existe também um pequeno ganho do ponto de vista do consumo elétrico, já que ao executar as tarefas mais rápido, o processador passa mais tempo em modo de baixo consumo. ?? de se observar que a Intel tem utilizado o SMT também no Atom, pelo mesmo motivo.

    Ao contrário do deselegante Kentsfield (usado na primeira geração do Core 2 Quad), onde todos os núcleos operam sempre à mesma freqüência e usando a mesma tensão, o Nehalem oferece um sistema de gerenciamento um pouco mais elegante, onde os núcleos continuam operando à mesma frequência, mas podem ser configurados com tensões diferentes, de acordo com o nível de utilização. Os núcleos ociosos são colocados em um estágio de baixo consumo, onde são quase inteiramente desligados, o que permite que o processador fique com apenas um dos núcleos ativos ao executar tarefas leves, ativando e desativando os outros núcleos conforme necessário.

    O gerenciamento é feito com a ajuda do PCU (Power Control Unit), um controlador dedicado, que possui seu próprio firmware e seus próprios circuitos de processamento e é dedicado unicamente à tarefa de monitorar as requisições do sistema e os níveis de utilização dos núcleos, tomando as decisões com relação aos clocks e tensões usadas por cada um.

    O PCU ocupa uma área moderadamente grande do processador, com nada menos do que um milhão de transístores. ?? como se o Nehalem tivesse um 486 integrado, dedicado unicamente ao gerenciamento de energia.

    Outra mudança importante é o Turbo Boost, no qual o processador pode aumentar a frequência de operação quando apenas um ou dois dos núcleos estiverem ativos, em uma espécie de overclock automático.

    Tradicionalmente, processadores single-core ou dual-core operam a frequências ligeiramente superiores aos processadores quad-core, o que permite que eles dêem combate ou até mesmo superem os sucessores em aplicativos com um baixo nível de paralelismo, como no caso da maioria dos jogos. Sem dúvidas, a Intel não gosta muito de ver um simples Pentium E overclocado superar um caro Core 2 Quad em alguns testes.

    Com o Turbo Boost, o Nehalem pode ser "convertido" em um processador single-core, dual-core ou triple-core em situações em que o pequeno aumento no clock compense a desativação dos núcleos adicionais, tapando esta última lacuna. Outro ponto de vista seria ter o Turbo Boost como um sistema de overclock "suportado", que permite que mesmo quem não pensa em fazer overclock possa se beneficiar de uma parte do potencial oculto do processador.

    O aumento da frequência é controlado pelo PCU, que monitora o nível de utilização, decidindo em que situações ele pode ser aplicado. A regra básica é que o aumento é feito apenas em situações em que resulta em um ganho tangível de desempenho (já que aumenta o consumo elétrico) e apenas quando o processador está operando confortavelmente abaixo do TDP e da temperatura máxima.

    Nas versões iniciais, o Turbo Boost é capaz de aumentar o clock em duas unidades (266 MHz) caso apenas um dos núcleos esteja ativo e em apenas 133 MHz caso dois ou mais estejam em atividade, mudança que é feita através do aumento do multiplicador (sem afetar a frequência dos demais componentes).

    Estes pequenos aumentos equivalem apenas a um overclock leve, mas versões posteriores devem trazer aumentos mais significativos. ?? possível também desativar o Turbo Boost através do Setup, o que é importante ao fazer overclock, já que com o processador operando mais perto do limite, qualquer aumento adicional pode ser suficiente para desestabilizar o sistema.

    Uma perspectiva sombria é que versões mais agressivas do Turbo Boost podem marcar o início do fim para os overclocks, já que com o processador passando a ajustar a frequência de operação dinamicamente entre, digamos, 2.66 e 4.0 GHz, não fará muito sentido arcar com o maior consumo e a necessidade de usar um cooler superdimensionado para manter o processador trabalhando a 4.0 GHz o tempo todo.

    Fonte: URLR0RIUHJlc3MgLSBDb3JlIGk3IC0gUGFydGUgMi0tOzstLWh0dHA6Ly93d3cuZ2RocHJlc3MuY29tLmJyL2Jsb2cvY29yZS1pNy1wYXJ0ZTIv

    IMAGEaHR0cDovL2kuaW1ndXIuY29tL2tEUERyLnBuZw==IMAGEaHR0cDovL2kuaW1ndXIuY29tL2FFc1N1ZTIucG5n

    Regras Gerais - Atualizado

    Fórum GameVicio » Processadores » Entendendo Intel Core i7: parte 2