|
[21/11]
:. Resumo do dia [21/11] :. Um passeio no laboratório de testes da Nokia [21/11] :. Ulteo lança Open Virtual Desktop [21/11] :. Apple atualiza firmware do iPhone para versão 2.2 [21/11] :. Internet Explorer 8 terá versão RC no início de 2009 [21/11] :. AMD demonstra Phenom II sob overclock a 5 GHz [20/11] :. Resumo do dia [20/11] :. YouTube começa a disponibilizar alta resolução em vídeos [20/11] :. Drivers ForceWare 180 'Big Bang II' são disponibilizados [20/11] :. GMail agora possui suporte a temas [19/11] :. Alchemy, compilador C/C++ em AS3 para Flash [19/11] :. Resumo do dia [19/11] :. Trabalhando com o Diff graficamente [19/11] :. Microsoft terá antivírus gratuito para Windows em 2009 [19/11] :. Um dos maiores servidores de spam do mundo é desconectado :. Mais noticias » |
PrescottTermos técnicos GdHEm um processador atual, o uso de um pipeline mais longo não é exatamente uma boa notícia, muito pelo contrário. Como vimos, aumentar o número de pipelines do processador permite que cada estágio execute um volume menor de processamento. Com isso, o processador passa a ser capaz de operar a freqüências mais altas, mas, em compensação, as instruções demoram um número maior de ciclos de clock para serem processadas (já que precisam percorrer todo o pipeline), o que aumenta brutalmente o tempo perdido em operações de tomada de decisão, onde o processador precisa aguardar o resultado de uma operação para poder processar a seguinte. Se as alterações parassem por aí, o Prescott seria capaz de operar a freqüências mais elevadas, mas em troca seria brutalmente mais lento que um Northwood do mesmo clock. Para evitar essa sombria perspectiva, a Intel realizou um conjunto de melhorias na arquitetura, de forma a anular, ou pelo menos reduzir a perda. A primeira melhoria foi feita no circuito de branch prediction, responsável por "prever" o resultado de operações de tomada de decisão e assim permitir que o processador adiante o processamento das instruções seguintes enquanto a instrução inicial é processada. O Prescott é especialmente dependente do desempenho do circuito de branch prediction, pois cada instrução precisa percorrer um longo caminho ao longo dos 31 estágios do pipeline. Sem ele, o projeto do Prescott seria inviável, pois o processador perderia muito tempo em operações de tomada de decisão. Em um processador atual, o circuito de branch prediction é capaz de indicar o caminho correto em mais de 95% das operações. Tal precisão é possível, porque ele se baseia em um histórico de operações já realizadas. Sempre que é preciso "adivinhar" o caminho mais provável de uma operação, ele pesquisa pelo resultado de operações semelhantes anteriormente realizadas. A maioria dos programas realiza um grande número de operações repetitivas (sobretudo aplicativos pouco otimizados, ou escritos em linguagens de alto nível), o que permite que o circuito de branch prediction execute seu trabalho com grande precisão. O grande problema é que, sempre que ele erra, o processador precisa descartar todo o trabalho adiantado e começar de novo a partir do ponto inicial. Neste caso, são perdidos não apenas os 31 ciclos que a instrução inicial demora para percorrer o pipeline, mas também os ciclos necessários para remover os dados anteriores e carregar os registradores com as novas instruções a processar. Quanto mais longo é o pipeline, maior é a penalidade a cada erro, o que coloca o Pescott em uma situação complicada, já que as operações de tomada de decisão representam até 14% das operações realizadas por um aplicativo típico. Para reduzir a perda, o circuito de branch prediction do Prescott foi sensivelmente aprimorado, e passou a ser capaz de trabalhar com um índice de acerto maior que o do Northwood. O scheduler (o circuito que ordena as instruções, de forma que as unidades de execução possam processar o número máximo de instruções a cada ciclo) também foi melhorado, resultando em outro pequeno ganho. Foram feitas ainda duas pequenas modificações nas unidades de execução, que resultaram em mais um pequeno ganho, muito embora o número de unidades não tenha sido alterado. O primeiro e mais significativo, foi a adição de um circuito dedicado de multiplicação de números inteiros. Até o Northwood, todas as operações de multiplicação eram enviadas à FPU (o coprocessador aritmético), processadas separadamente e então devolvidas. Com o Prescott, as unidades de processamento de números inteiros ganharam a habilidade de processá-las diretamente, o que representa uma grande economia de tempo. O Pentium 4 possui três unidades de execução de números inteiros. Duas delas são "double-pumped", ou seja, são capazes de processar duas instruções simples por ciclo de clock. Um conjunto específico de instruções, que incluem operações um pouco mais complexas, são enviados para a terceira unidade de execução, que trabalha à freqüência normal. No Prescott, uma das duas unidades "rápidas" ganhou um novo bloco, capaz de processar operações shift/rotate (usadas em várias situações), que antes precisavam ser processadas na unidade mais lenta. Com isso, a terceira unidade foi desafogada, resultando em mais um pequeno ganho. O Prescott ganhou também um novo bloco de instruções, o conjunto SSE3. Ele é composto por 13 novas instruções, que complementam os dois conjuntos anteriores, dando sua cota de contribuição em aplicativos otimizados. Finalmente, temos as mudanças no cache. O bloco de dados do cache L1 foi aumentado de 8 para 16 KB e o bloco de instruções (o trace-cache) recebeu pequenas melhorias, embora a capacidade tenha permanecido a mesma. O cache L2 dobrou de tamanho, saltando de 512 KB para 1 MB, mas o aumento teve como efeito colateral o aumento dos tempos de latência, que aumentaram em aproximadamente 40%. Em outras palavras, o Prescott tem um cache L2 maior, porém mais lento, o que anula grande parte do benefício.
|
|||