Hardware V
Transcrição
Hardware V
UNIVERSIDADE DE SÃO PAULO Escola de Engenharia de São Carlos - USP Departamento de Engenharia Elétrica Processador Intel Pentium 4 – Características e Arquitetura Érico Paschoal Martins Índice 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. Computação – Um breve histórico ......................................................................... 3 O Pentium 4 ............................................................................................................ 9 Tecnologia Hyper-Threading.................................................................................. 9 Arquitetura Intel NetBurst .................................................................................... 11 Tecnologia Hyper Pipelined ................................................................................. 12 Execução Dinâmica Avançada ............................................................................. 14 Trace Cache .......................................................................................................... 14 Rapid Execution Engine ....................................................................................... 15 SSE2...................................................................................................................... 17 Cache de L1 .......................................................................................................... 18 L2 Advanced Cache Transfer ............................................................................... 18 CPU....................................................................................................................... 19 Chipset e Barramento de Sistema ......................................................................... 21 Conclusão.............................................................................................................. 22 Bibliografia ........................................................................................................... 23 AUTOMATISMO COMPLETO A concepção básica da Máquina Analítica de Babbage vista anteriormente corresponde á dos computadores modernos. A diferença básica é a de que os circuitos eletrônicos dos computadores de hoje substituem as rodas e engrenagens da máquina de Babbage. Cento e quatro anos após a proposta de Babbage, Howard G. Aiken começou a construir em 1937 uma máquina capaz de calcular integrais e diferenciais utilizando relés e outros dispositivos eletromecânicos. A máquina chamada MAR K 1 começou a funcionar em 1944. Em 1946 entrou em funcionamento o primeiro computador digital eletrônico chamado ENIAC (Electronic Numerical Integrator And Calculator). Ele possuía 19.000 válvulas, 1.500 relés, diversos resistores, capacitores, indutores, consumindo cerca de 200 quilowatts de potência. Sua memória podia registrar até 20 números de10 dígitos cada um. A programação do ENIAC era feita conectando-se tomadas através de fios com pinos [como num painel de telefonista]. Apenas os dados eram armazenados na memória. Este tipo de programação era inconveniente por ser demorada, cansativa e propensa a erros. Além disso, sempre que se desejasse executar o mesmo programa ele tinha que ser reintroduzido pelo painel. Em 1946, J. Von Neumann e seus companheiros apresentaram um artigo onde era proposta uma máquina onde os dados e também a programa instruções eram armazenados na memória. Além disso, muitos detalhes de especificação e conceitos apresentados no trabalho de Von Neumann influenciaram a arquitetura dos computadores construídos nos anos seguintes e até os dias de hoje. Esta influência foi tão significativa que muitos dos computadores atuais são classificados como tendo arquitetura do "tipo Von Neumann". A primeira máquina baseada nesta proposta foi a EDVAC (Electronic Discrete Variable Automatic Computer) construída em 1948. A partir dai surgiram os primeiros computadores em escala comercial sendo que o precursor foi o UNIVAC utilizado com sucesso m censo de 1951 nos EUA. Os primeiros computadores descritos nos itens anteriores utilizavam circuitos eletromecânicos e válvulas O aparecimento do transistor (Bell Telephone Laboratories,1948) trouxe a redução da tamanho e da potência consumida em relação às válvulas além de serem dispositivos mais robustos e confiáveis. Os computadores utilizando esta tecnologia são classificados como de segunda geração. O domínio da tecnologia da física do estado sólido permitiu a integração de vários transistores em uma mesma embalagem com aproximadamente as mesmas dimensões de um único transistor. Surgiram então os circuitos integrados que foram responsáveis pelo surgimento dos computadores de terceira geração. Atualmente o processo de integração tem praticamente o mesmo custo para se integrar dezenas, centenas ou milhares de transistores em uma única pastilha. Pode-se falar então na quarta geração de computadores pela utilização da Integração em altíssima escala.(VLSI). Ao mesmo tempo as telecomunicações se desenvolveram enormemente pelo uso da mesma tecnologia, isto viabilizou a utilização de recursos de telecomunicações aplicados à computação e vice-versa. O efeito imediato foi a possibilidade de interligação de sistemas de computação, do uso à distância de um computador por um ou vários usuários. Válvula Transistor LSI Evolução II - De 1975 a 2001 A partir de 1975, dizemos que os computadores entraram na sua quarta geração (eles estão nesta geração até hoje). Encontram - se nesta geração os que se caracterizam por circuitos integrados em longa escala, LSI (produzidos pela Intel), o primeiro microprocessador, rede de computadores, bancos de dados, computação distribuída, automação, micro-computador (microprocessador + memória + conversores + fonte de alimentação, tudo em um só móvel, os PCs). 1975 Em fevereiro, Bill Gates e Paul Allen desenvolvem a primeira linguagem para microcomputadores, o Basic. As linguagens anteriores eram adequadas aos grandes e médios computadores. Em abril, a dupla funda a Microsoft, que se torna a maior e mais importante companhia de software do mundo. - A primeira rede comercial foi implantada, que era equivalente à ARPANET. - Foi anunciado o Altair 8800, baseado em um microprocessador da Intel 8080. - Lee Felsentein inventou o VDM (módulo de indicador visual). - Foi lançado o Tandem-16, o primeiro computador para transação on-line de processos. 1976 - Steve Wozniak e Steve Jobs terminam o projeto do micro Apple I, o primeiro microcomputador feito para ser vendido em grande escala, e fundam a Apple Computer Company. - The Cray I notabilizou-se como o primeiro processador vetorial comercial. - Gary Kildall desenvolveu o CP/M, um sistema operacional para computadores pessoais. 1977 - Surge o Commodore PET (Personal Eletronic Transactor), um dos primeiros computadores pessoais que foi lançado no ano. - O Apple II apresenta características inovadoras: circuito impresso em sua placa-mãe, fonte de alimentação, teclado e cartuchos para jogos. - Aparece mais um computador pessoal, o Tandy Radio Shack's (TRS-80), que vende no primeiro ano mais de 10 mil unidades. - O governo dos EUA adota o padrão de encriptografia de dados da IBM (chave para destravar mensagens codificadas, que servem para proteger os dados confidenciais dentro de suas agências). 1978 - O VAX 11/780, da Digital Equipment Corporation, caracterizou-se por ser uma máquina capaz de processar até 4.3 gigabytes de memória virtual, provando ser mais rápido dos minicomputadores da época. - O disco flexível de 5 ¼" transformou-se na medida padrão de software para computadores pessoais, logo após que a Apple e o Tandy Radio Shack's introduziram seus softwares para este formato. 1979 - A Motorola inventa um microprocessador, o 68000, que mostra-se mais veloz que os concorrentes. - Daniel Bricklin e Robert Frankston, programadores da Universidade Harvard, desenvolvem um programa que transforma os computadores comerciaia em pessoais, o Visicalc. 1980 - O primeiro Hard Disk Drive para microcomputadores é capaz de armazenar cinco megabytes de dados. Foi produzido pela Seagate Technology. - A Phillips desenvolve o primeiro disco óptico de armazenamento de dados. Tinha uma capacidade sessenta vezes maior que o disco de 5 ¼". - Um computador habilitado com alto desempenho na busca de informações é inventado por John Shoch, da Xerox. 1981 - A IBM lança o PC-5150, o antecessor de todos os micros exsitentes atualmente. Tinha 64 Kbytes de memória e velocidade de 4,77 megahertz. O MS-DOS foi o software utilizado pelo PC-5150, o que proporcionou uma aliança entre a IBM e a Microsoft - O primeiro computador portátil é lançado, o Osborne I - A primeira estação de trabalho, a DN100, foi desenvolvida pela Apollo Computer. Sua capacidade era superior a muitos micros de preço equivalente. 1982 - O lotus 123 é desenvolvido por Mitch Kapor para o PC da IBM. - O filme "Tron", da Disney, fez com que a utilização de gráficos gerados por computadores em filmes sofresse um aumento. 1983 - A Apple desenvolve o primeiro computador pessaol com interface gráfica. - A Compac lança seu primeiro PC com software da IBM. - O Windows e o Word são apresentados pela Microsoft. - O MIDI (Musical Instrument Digital Interface) foi introduzido na North American Music Manufactures em L.A. 1984 - A Apple lança o Macintosh, o primeiro computador com mouse e interface gráfica. A utilização do disquete de 3 ½" cresceu devido à sua utilização no Macintosh. - A IBM lança o PC-AT, mais rápido que o original, tornou-se um grande sucesso por sua ótima performance e grande capacidade de armazenamento. - Willian Gigson inventa o termo Ciberespaço, no livro Neuromancer. 1985 - A Microsoft lança uma versão do Windows e do Word que rodam em computadores Macintosh. - A Internet ganha força com a ligação de cinco grandes computadores de universidades americanas com o NFSNET. - O mercado de CDs de música aumenta com a alta capacidade de armazenamento de CD-ROMs. - A linguagem de programação C++ surge e domina a indústria de computação. 1986 - O estudo sobre a Inteligência Artificial é impulsionado quando Daniel Hillis desenvolve o conceito de conexões paralelas. 1987 - A IBM lança o PS/2 fabricado com drives de 3 1/2´´. - Willian Alkinson projeta o Hypercard (software que simplifica o uso do computador em aplicações domésticas) - O microprocessador 68030 da Motorola é desenvolvido. 1988 - A companhia Next é fundada por Steve Jobs, que foi o co-fundador da Apple. - Tin Toy, da Pixar, ganha o Oscar de melhor desenho animado em curta metragem utilizando os recursos de animação de computadores. 1989 - A Intel e a Motorola lançam novos processadores com mais de um milhão de transistores - O jogo SimCity é lançado. Eles utilizam diversos dispositivos de simulação. - Realidade Virtual foi o tema da convenção de Siggraph´s. 1990 - Há uma atualização do windows. O Windows 3.0, que foi lançado em 22 de maio, é compatível com o DOS. - Nasce a World Wide Web do desenvolvimento do HTML. 1991 - Uma aliança entre a Apple, a IBM e a Motorola produz o Power PC. 1992 - A versão 3.1 do Windows chega ás lojas. - O candidato à vice-presidência dos EUA Al Gore lidera um projeto para permitir a entrada de qualquer cidadão à Internet. 1993 - O Pentium, da Intel, é lançado. Tem 3,1 milhões de transistors, memória de 4 gigabytes e velocidade de 66 megahertz. - O PC 486 da IBM incorpora o Windows 3.1. 1994 - O Netscape Communications é fundado e o primeiro browser torna-se disponível criando um crescimento de surfistas na Web. 1995 - "Toy Story" é o primeiro longa feito totalmente com animação de computador. - O Windows 95 é lançado. - A linguagem Java é descoberta. - a Netscape amplia suas conexões na Internet. 1996 - O Pentium Pro é lançado. 1997 - O Netscape Navigator 2.0 é o primeiro browser com superte para o Java Script. - Um computador de IBM, o Deep Blue, ganha do campeão mundial de xadrez Gary Kasparov. 1998 - É lançado o Pentium II. - A versão do Windows 98 chega às lojas. 1999 - O LInux é lançado pelo finlandês Linus Torevald. 2000 - A Intel lança uma quantidade limitada de Pentium III. 2001 - O Linux Kernel é lançado. - O Pentium 4 é apresentado A CPU Pentium Pro que a Intel apresentou em 1995 foi o primeiro processador com arquitetura de P6. Muito tempo passou desde então. Gerações de CPU novas substituíram as mais velhas, porém, a essência da arquitetura de CPU permaneceu inalterada. Todas as famílias de processador, como Pentium II, Pentium III e Celeron, estavam baseadas no mesmo núcleo e só diferiram pelo tamanho, implementações de cache L2 e a presença de instruções de SSE que eram características do Pentium III. Claro que, isto não podia durar para sempre, e a arquitetura de P6 teria de ficar obsoleta um dia. Seguramente, não é foi o sofrimento que a Intel enfrentou ao tentar aumentar suas freqüências de clock de CPU e nem tampouco a competição com AMD que importava tanto aqui. Certamente, nós não negaríamos que a Intel tive alguns problemas assim que sua CPU Pentium III alcançou 1GHz: se você se lembra, a Intel teve que retomar o projeto de seu Pentium 1.13GHz por causa de sua grande instabilidade. Porém, este problema poderia ser resolvido facilmente se ele fosse fabricado com a tecnologia de 0.13 mícron, especialmente porque isso estava a ponto de acontecer de qualquer maneira num futuro próximo. Existem duas versões do Pentium 4, a Boxed e a OEM. Ao contrário de outros processadores, no caso no Pentium 4 a diferença entra as duas versões não é apenas o cooler. A versão Boxed do Pentium 4 já vem com 2 módulos de 64 MB de memória Rambus e cooler, enquanto na versão OEM temos apenas o processador. Considerando que a versão Boxed custa cerca de 100 dólares a mais, ela acaba sendo uma melhor opção em termos de custo, já que adiquiridos separadamente, os módulos de memória e o cooler custam muito mais que isto As razões reais para a Intel introduzir uma arquitetura nova não são superfluas. Infelizmente, um aumento de freqüência na CPU não provê mais qualquer crescimento de desempenho significante. O problema está com a alta latência da arquitetura P6 a qual vem à tona quando as diferentes subunidades da CPU são requisitadas. Essa foi uma das razões que empurraram a Intel para o desenvolvimento do Pentium 4. Assim, o Pentium 4 recentemente anunciado, é um processador totalmente novo que quase não tem nada em comum com seus antecessores. Está baseado em um tipo novo de arquitetura chamada NetBurst. Esse nome pretende dar a ênfase de que a nova CPU está pronta para acelerar dados e processamento streaming, o que está diretamente ligado ao rapido desenvolvimento da Internet de banda larga. Hyper-Threading é uma tecnologia inovadora e original que aumenta significantemente o desempenho do processador na empresa. Pioneira na Intel na família do processador Intel® Xeon™ para servidores, a tecnologia Hyper-Threading fornece uma maior produtividade na empresa e uma melhor satisfação do cliente. A tecnologia Hyper-Threading agora é suportada pelo processador Intel® Xeon™ para servidores e workstations de alto desempenho e pelo processador Intel® Pentium® 4 com a tecnologia HT para desktops e workstations simples, em várias velocidades. A tecnologia Hyper-Threading oferece uma melhoria significante no desempenho que é particularmente direcionada ao presente ambiente computacional, aplicativos e sistemas operacionais. Funcionamento do Hyper-Threading Velocidades mais rápidas de clock são importantes para uma maior potência de computação - e a Intel é líder na freqüência de processadores. Mas a velocidade de clock não é tudo. O outro caminho para um maior desempenho é conseguir trabalhar mais em cada ciclo do clock, e é exatamente aqui que a tecnologia Hyper-Threading se faz presente. Um único processador suportando a tecnologia Hyper-Threading se apresenta aos sistemas operacionais e aplicativos modernos como dois processadores virtuais. O processador trabalha em duas tarefas simultaneamente, usa recursos que não são usados com freqüência e tem uma saída muito maior no mesmo intervalo de tempo. Nos PCs desktop e workstations simples, a tecnologia HT aproveita da capacidade de multiprocessos, embutida no Windows XP e em vários aplicativos avançados. O software de multiprocesso divide as suas cargas de trabalho em vários processos, que são designados e enviados independentemente. Num sistema de multiprocessador, eles são executados em diferentes processos. A tecnologia HT permite que um único processador Pentium 4 funcione como dois processadores virtuais ou lógicos. Há apenas um processador Pentium 4 físico no seu PC—mas ele executa dois processos ao mesmo tempo. Nos servidores e workstations de alto desempenho, a tecnologia Hyper-Threading habilita o TLP (thread-level parallelism, ou paralelismo a nível de processo), ao duplicar a arquitetura de cada processador e ao mesmo tempo compartilhar um conjunto dos recursos de execução do processador. Ao programar os processos, o sistema operacional trata os dois estados distintos de arquitetura como processadores "lógicos" separados, o que permite aos softwares de multiprocessos rodarem sem modificações ou duas vezes mais rápido do que muitos dos processadores lógicos. Embora a tecnologia HyperThreading não ofereça o nível de escalonamento de desempenho alcançado ao adicionar um segundo processador, testes de benchmark mostram que alguns aplicativos de servidor ganham um desempenho de 30%. E enquanto esta tecnologia aumente o desempenho dos aplicativos com o Microsoft Windows 2000 Advanced Server, ela vai desempenhar ainda melhor com sistemas operacionais otimizados para a tecnologia Hyper-Threading, inclusive o Microsoft .NET Server, Windows XP e algumas versões do Linux. Benefícios da tecnologia Hyper-Threading Os usuários comerciais dos PCs desktop e notebook habilitados com a tecnologia Hyper-Threading verão um impacto imediato no desempenho e resposta do sistema aumentada nos ambientes atuais de multitarefas - de até 25 por cento. As organizações da TI são beneficiadas porque o desempenho do sistema é mantido enquanto outras tarefas rodam no background. Tarefas como, por exemplo, checagem de vírus, codificação de email e compressão de arquivos rodam com mais eficiência, tornando a infraestrutura global mais robusta, gerenciável e segura. Os usuários finais ficam felizes com a melhor resposta do sistema porque os aplicativos de frente são executados em menos tempo durante as situações de multitarefas. Além disso, quando a tecnologia HT é usada com a Ethernet Gigabit em cargas de trabalho de multitarefas, a rede e a saída de dados são mais rápidas, oferecendo um maior desempenho. Em servidores e workstations high-end, as análises de desempenho mostram uma sólida melhora nos aplicativos de servidor que rodam nos processadores com a tecnologia Hyper-Threading. Em primeiro lugar, tentemos que descobrir as peculiaridades da nova arquitetura. A NetBurst pode ostentar várias inovações interessantes que asseguram potencial de velocidade enorme e a possibilidade de aumentar facilmente as freqüências de funcionamento do Pentium 4. As principais tecnologias implementadas na arquitetura de NetBurst: • • !" # $ ! " !" % % • & • * • &, 11 & 2 • 3 ' +, - ( !) - ./0 !) # 45( , - Esta é a característica mais marcante do Pentium 4. O Pipeline é um recurso que divide o processador em vários estágios, que trabalham simultaneamente, dividido o trabalho de processar as instruções. É como uma linha de produção com vários operários, onde cada um monta uma peça, até termos no final o produto completo. Apartir do 486, todos os processadores utilizam este recurso. O Pentium III possui 10 estágios, o Athlon possui 11 estágios, enquanto o Pentium 4 possui nada menos que 20 estágios, daí o nome "Hyper Pipelined". O uso de Pipeline permite que o processador possa processar várias instruções ao mesmo tempo, sendo que cada estágio cuida de uma fração do processamento. Quanto mais estágios, menor será o processamento executado em cada um. No caso do Pentium 4 cada estágio do Pipeline processa apenas metade do processado por um estágio do Pentium III, fazendo com que teoricamente o resultado final seja o mesmo, já que em compensação existem o dobro de estágios. O uso de mais estágios permite que o processador opere a freqüências bem mais altas mais altas, já que cada estágio executa menos processamento. O grade problema neste caso é que os processadores atuais executam várias instruções simultaneamente, enquanto os programas são uma seqüência de instruções. O Pentium 4 processa três instruções por ciclo, o Pentium antigo (Pentium 1) processa duas, e assim por diante. Caso as instruções seguintes não dependam do resultado da primeira, como uma seqüência de somas de vários números, por exemplo, então o processador não terá nenhum problema para resolvê-las rapidamente. Caso porém tenhamos uma tomada de decisão, onde o processador precisa primeiro resolver uma instrução para saber qual caminho deve tomar, como por exemplo "Se A > 3 então B = C+5 senão B = C-5", entra em cena o recurso de execução especulativa, onde enquanto é resolvida a primeira instrução, o processador escolhe um dos caminhos possíveis para ir "adiantando o serviço" enquanto não sabe qual deverá seguir. Se ao saber o resultado da primeira instrução ver que tomou o caminho certo, simplesmente continuará apartir dali. Caso por outro lado o processador tenha adivinhado errado, então terá que jogar fora todo o trabalho já feito e tomar o outro caminho, perdendo muito tempo. O Pentium 4 perde gritantemente nesse quesito, pois ele demora o dobro do tempo para processar a primeira instrução, já que ela é processada em 20 estágios, contra 10 do Pentium III. Isto significa que a cada tomada de decisão errada, serão perdidos pelo menos 20 ciclos de processamento, um eternidade, considerando que em média, 14% das instruções processadas são de tomada de decisão. Se por acaso o processador errasse 50% das previsões, então os 7% de erros de previsão resultariam numa diminuição de 30% do desempenho do processador em comparação com o antigo Pentium III. Isto significa que a princípio o Pentium 4 é mais lento que um Pentium III do mesmo clock, podendo em compensação operar a freqüências mais altas. Todas as demais alterações feitas pela Intel, explicadas a seguir servem como paliativos para tentar diminuir a perda de desempenho trazida pelo maior número de estágios de Pipeline. Foi justamente devido a isto que a Intel optou por lançar diretamente os modelos de 1.4 e 1.5 GHz, pulando as versões de 1.1 e 1.2, que seriam o caminho mais óbvio já que o Pentium III ficou estacionado na versão de 1 GHz. Caso fosse lançado, um Pentium 4 de 1.1 GHz perderia para um Pentium III de 1 GHz em praticamente todas as aplicações. Além da perda de desempenho, outro efeito colateral de se usar mais estágios de Pipeline é o fato de tornar o processador maior e mais complexo, fatalmente bem mais caro de se produzir. O Pentium 4 mede 217 milímetros quadrados, quase o dobro do Athlon, que mede 120 mm². Isto significa que o Pentium 4 é proporcionalmente mais caro de se produzir. Engenheiros de Intel trabalharam realmente duro para viabilizar a arquitetura do Pentium 4 com um grande número de características objetivando minimizar a penalidade da previsão de desvio e a aumentar a porcentagem de predições corretas. Todos estes encarecimentos foram implementados em um mecanismo de Execução Dinâmica Avançada. A Intel forneceu uma janela muito grande de instruções para execução forade-ordem e aumentou a capacidade de previsão de desvio o que permitiu processador o Pentium 4 ser mais preciso predizendo desvios de programa. Isso foi feito, principalmente, implementando um desvio maior no buffer designado, como também implementando um algoritmo de previsão de desvio mais avançado. Assim, existe um janela de até 126 instruções usada para escolher a próxima instrução a ser executada ou a menor janela, de 42 instruções, típica de arquitetura do Pentium de III, por exemplo. O desvio de buffer que armazena mais detalhe, na história de desvios passados, foi aumentado de até 4KB, enquanto o buffer do Pentium III tinha apenas 512Byte. Isto, assim como a predição de algoritmos modificados, tem o efeito líquido de reduzir o número de previsões de desvio em aproximadamente 33% a mais do que a capacidade de previsão do Pentium III. Este é um valor realmente bom, porque significa que Pentium 4 oferece em média 90-95% de predições corretas. Pentium 4 não tem um cache de L1 regular o qual que foi dividido em duas partes pelo Pentium III: um para dados e um para instruções. A aproximação é totalmente diferente. As instruções já não são armazenadas em cache de L1: foi planejado somente para dados. Para armazenar as instruções o Pentium 4 usa o Trace Cache, que pode ostentar muitas vantagens em cima do cache de L1 regular enquanto assegurando que todas as unidades de execução de alta-freqüência (inteiro e ponto flutuante) são mantidas ocupadas e é impedido de ficar inativo no caso de desvios errados ou mal preditos. O mais importante sobre Trace Cache é o fato de que há o armazenamento de instruções decodificadas nisto. Em outras palavras, mas as assim chamadas microoperações que o núcleo do processador manipula. Armazenar as micro-ops no Trace Cache permite evitar a decodificação repetida das instruções de x86 se o segmento de programa é executado uma vez mais no caso de desvio mal predito. A segunda coisa positiva sobre o Trace Cache é a oportunidade de reter a ordem de execução de micro-ops quando armazenando-os. Embora a ordem correta esteja definida pela previsão de desvio, resulta em um método muito seguro, porque, como nós já dissemos acima, a capacidade de previsão de desvio de Pentium 4 é bastante alta e conseqüentemente os erros de predição não são ameaçadorers assim. Infelizmente, a Intel não revelou o tamanho de seu Trace Cache, porém, é sabido que pode armazenar aproximadamente 12,000 micro-ops. Todo processador atual é dividido em dois componentes básicos, as unidades de execução de inteiros e as unidades de ponto flutuante. A parte que processa as instruções envolvendo números inteiros é responsável pela maior parte das instruções, e pelo desempenho do processador nos aplicativos do dia a dia enquanto as unidades de ponto flutuante, que compõe o que chamamos de coprocessador aritmético é responsável pelo processamento das instruções envolvendo valores complexos, usadas por jogos e aplicativos gráficos. A "Rapid Execution Engine" do Pentium 4 consiste num reforço nas unidades de inteiros do processador. O Pentium 4 possui um total de 5 unidades de processamento de inteiros, duas ALUs, que processam as instruções mais simples, duas GLUs, encarregadas de ler e gravar dados e uma terceira ALU, encarregada de decodificar e processar as instruções complexas, que embora em menor quantidade, sã as que tomam mais tempo do processador. Este conjunto de 5 unidades de execução de inteiros é semelhando ao do Pentium III, porém, como diferencial, no Pentium 4 tanto as duas ALUs encarregadas das instruções simples, quanto as duas GLUs encarregadas das leituras e gravações são duas vezes mais potentes. Segundo a Intel, as quatro unidades operam a uma freqüência duas vezes superior à do processador, o que sugere que num Pentium 4 de 1.5 GHz elas operem a 3 GHz. Porém, na verdade, cada unidade passa a ser composta por duas unidades trabalhando em paralelo. Com isto passa-se a processar duas instruções por ciclo, mas a freqüência de operação continua a mesma. Na prática, o slogan acaba sendo real, mas em termos técnicos é um dado distorcido. Na teoria parece maravilhoso, mas existe um pequeno detalhe que elimina boa parte do ganho que seria de se esperar deste esquema. Apesar das duas ALUs de instruções simples terem ficado mais rápidas, visando justamente compensar a perda de desempenho trazida pelos 20 estágios de Pipeline do Pentium 4, a ALU de instruções complexas não teve a mesma evolução. Isto significa que ao passar a usar 20 estágios de Pipeline, esta terceira ALU tornou-se mais lenta que a mesma no Pentium III. Temos então um cenário onde as instruções simples são rapidamente processadas, mas as instruções complexas ficam entaladas na vala comum da terceira ALU, causando uma grande perda de desempenho. No coprocessador aritmético o cenário é ainda mais complicado, pois apesar das unidades de execução terem perdido desempenho devido ao Pipeline de 20 estágios, não houve nenhum avanço para equilibrar a balança, como tivemos nas unidades de inteiros. Pelo contrário, o coprocessador aritmético encolheu, tendo sido podadas duas das unidades de execução, uma das que processava instruções MMX e uma das que processava instruções SSE. Ao invés de evoluir, como seria de se esperar, o coprocessador aritmético do Pentium 4 tornou-se ainda mais frágil do que o do Pentium 3, trazendo um cenário no mínimo curioso. Enquanto na época do Pentium II e do K6, a AMD competia com um processador que apesar de possuir um bom desempenho em aplicativos de escritório era literalmente massacrado nos jogos e aplicativos gráficos, temos agora com o Pentium 4 x Athlon um cenário semelhante, porém com os lados invertidos: A Intel ataca com um processador que é potente em inteiros, mas fraco em ponto flutuante. Ironicamente, a solução da Intel para tentar diminuir a deficiência do processador em ponto flutuante é a mesma que a AMD usou na época do K6-2. Lembra-se do 3D-Now, as instruções incorporadas ao K6-2, que melhoravam seu desempenho nos jogos otimizados, fazendo com que em alguns títulos seu desempenho ficasse muito próximo ao de um Pentium II? A Intel optou por segui exatamente o mesmo caminho, incorporando 144 novas instruções ao Pentium 4, chamadas de SSE2, que visam melhorar seu desempenho os jogos e aplicativos gráficos. Quando a AMD implementou um novo pipeline na FPU de seu processador Athlon, o Pentium III parecia incapaz bater o Athlon em operações de ponto flutuante e chegava sempre, significativamente, atrás. Porém, em seu processador Pentium 4, a Intel decidiu não se focar apenas em um enriquecimento simples de seu FPU, por isso aumentou o conjunto de instruções SSE. Como resultado disso, o Pentium 4 possui instruções de SSE2 estendidas, que são as 70 instruções antigas mais 144 novas instruções. Esta solução também nasceu por ideologia do NetBurst que se foca no acelerar do processamento de fluxo de dados. Instruções de SSE são permitidas a manipular oito 128-bit XMM…XMM7 registradores, armazenando quatro únicos números reais de precisão. Note que todas as instruções de SSE foram executadas simultaneamente em cima dos conjuntos de quatronúmero que proveram um ganho de desempenho tangível nas aplicações especialmente aperfeiçoadas que levam a cabo muitos cálculos semelhantes (na realidade, jogos 3D também podem entrar aqui, porque os jogos não são feitos apenas de dados straming). Instruções SSE2 manipulam os mesmos registradores e tem compatibilidade retroativa com o SSE do Pentium III. O conjunto de instruções foi estendido tanto porque as operações com 128bit podem ser executadas agora, não só em registradores de quatronúmeros com conjuntos únicos de números reais de precisão, mas também com pares de números reais de dual-precisão, com inteiros de 16 único-byte, com inteiros de 8 dualbyte curtos, com inteiros de 4 quatro-bytes, com inteiros de 2 oito-bytes longos ou com inteiros de 16-bytes. Em outras palavras, a simbiose de hoje entre MMX, SSE e SSE2, permite operar todas as classificações de dados que ajustam em registradores 128bits. Assim, a SSE2 é muito mais flexível e permite alcançar um ganho de desempenho incrível. Porém, as aplicações especificamente deveriam ser aperfeiçoadas para SSE2, é por isso que foi difícil encontrar aplicações otimizadas logo depois que a CPU nova foi lançada. SSE2 definitivamente tem um futuro muito promissor. Por isso, até mesmo a AMD está planejando implementar SSE2 em sua nova família de Hammer. As aplicações mais velhas que não fazem qualquer uso de SSE2 e totalmente confiam em um co-processador de aritmética regular, não rodaram nada mais rápidas, nem mesmo em um sistema Pentium 4. Além disso, apesar das afirmações da Intel de que a FPU do Pentium 4 foi aumentada ligeiramente, a CPU nova requer agora 2 clocks a mais (em média) para as operações de ponto flutuante regulares que seu antecessor, o Pentium III. Até onde sabemos sobre o Cache de L1 do Pentium 4, ele só é usado para dados, porque todas as instruções são armazenadas agora no Trace Cache. Porém, o processador Pentium 4 baseado no núcleo de Willamette tem apenas 8KB cache de L1 que é até mesmo pequeno se comparado ao 16KB do cache de L1 do Pentium III. Entretanto a Intel não tinha o que fazer e foi forçada a torna-lo muito pequeno por causa do grande tamanho do encapsulamento do Pentium 4. Não obstante, a arquitetura Pentium 4 também pode aceitar um cache de L1 maior, é por isso que há um pouco de esperança no seu crescimento assim que a Intel desloque a tecnologia industrial para 0.13 mícron e núcleo de processador Northwood. De qualquer maneira, a Intel fez seu melhor para compensar o cache L1 de tamanho pequeno e aumentar o desempenho do processador. Eles usaram um algoritmo novo por acessar o cache de L1. Como resultado, sua latência baixou 2 clocks comparado aos 3 clocks do Pentium III. Assim, levando em conta que Pentium 4 trabalha a freqüências mais altas, seu cache de L1 precisa em torno de 1.4ns para responder (modelo de CPU de 1.4GHz) comparando novamente a quase 3ns do Pentium III de 1GHz. Como o cache de L1 do Pentium III, o cache no Pentium 4 novo é também writethrough e 4-way set associative, e caracteriza 64bytes de linha de cache O Cache L2 de Transferência Avançada é de 256KB. Pode ostentar um barramento de 256bit e conseqüentemente uma largura da banda de barramento de cache mais alta que os processadores Athlon da AMD que usam um barramento de 64bit de cache. Porém, diferentemente do cahe L2 do Athlon, o cache do Pentium 4 (como também do Pentium III) não é exclusivo, por exemplo, armazena a cópia do cache de L1 como um imperativo. Considerando que Pentium 4 foi planejado para processar fluxos de dados em primeiro lugar, a velocidade de trabalho do cache de L2 é uma das razões fundamentais para isto. Isso é por que a Intel dobrou o caminho de dados entre o cache L2 e o núcleo do processador. Este engrandecimento só foi possível devido ao fato de que os dados são transferidos do cache de L2 em cada clock principal, enquanto no caso do Pentium III, os dados são transferidos apenas em cada segundo clock principal. Como resultado, um P4 de 1.4GHz pode entregar uma taxa de transferência de dados de 44.8GB/s (32bytes x 1 (dados transferidos por clock) x 1.4GHz = 44.8GB/s). Isto comparado a uma taxa de transferência de 16GB/s no Pentium III de 1GHz. Assim como o Pentium III, as características do Pentium 4 de 8-way fixou cache de L2 associativo. Além disso, também tem 128byte de linhas de cache, enquanto o Pentium III só tem 32byte de linha de cache. Também o recém-chegado processador permite extrair as linhas não só como um todo mas também como duas partes de 64bytes. Falando sobre o sistema de caching do Pentium 4, nós não podemos omitir o fato que a arquitetura de NetBurst também possui 4MB cache de L3. Porém, nós não veremos um cache de L3 em Pentium 4: só vai estrelar em processadores de servidores novos. Bem, tendo levado uma excursão breve por todas as parte principais da arquitetura de NetBurst que é o trunfo principal de Pentium 4 dêem uma olhada em sua lista de óculos formal: • • ' - :; < ) • • • • • • • 67 6= . 8 8 8 8 69 . : 3 . ( 4# 1> 9% 1 ? 9 & % 45(@ A 7B3 +6 & !) % 8 CDB3 + & . E ; CDF 6=F 11 !) 18 4# F ) 6 G5( 6CG5( H 8 ( " 69G5( & . 6B ./0 - O Pentium 4 é fabricado em formato FC-PGA, porém, o encapsulamento é coberto por uma tampa de dicipador de calor especial que protege contra danos externos. O Pentium 4 se ajusta em um Socket423 com 423-pin que tem um tamanho ligeiramente diferente que a SocketA e Socket370. Considerando que o tamanho do encapsulamento é consideravelmente grande, a dissipação de calor será bastante alta. Em particular, os Pentium 4 1.4 GHz que trabalham à 1.7V e consumindo aproximadamente 32A dissiparão aproximadamente 52W de calor (1.5GHz Pentium 4 versão dissipa aproximadamente 55W). Isso é por que os refrigeradores Pentium 4 também deveriam ser bastante grandes e deveriam caracterizar superfície refrescante maior. Considerando que Pentium 4 está baseado em uma arquitetura totalmente nova, exige um chipset novo que aceite isto. E levando em conta que a Intel posiciona sua CPU como a melhor solução para aplicações que processam dados flui, os chipset deveriam prover processamento alto e taxas altas para os barramentos principais, como o barramento de sistema entre a CPU, os North Bridge e o barramento de memória. Em primeiro lugar nós temos que mostrar aquele Pentium 4 o absolutamente novo barramento de processador Quad Pumped que trabalha a 400MHz. Sua largura da banda é três vezes maior que a largura da banda do barramento Pentium III e faz 3.2GB/sec. Isto ajuda a reduzir a CPU que está ociosa enquanto espera pelos novos conjuntos de dados chegarem. Este barramento de alta velocidade é implementado fisicamente por multiplicação simples da freqüência básica (que é de 100MHz para Pentium 4) antes de 4 nos controladores de barramento de processador para o chipset e a CPU. Significa que 400MHz freqüência só pode ser observada no intervalo entre a CPU e o chipset. Considerando que o barramento de sistema é tão rápido, o subsistema de memória também deveria prover pelo menos 3.2GB/sec largura da banda de barramento de memória, caso contrário o sistema não será sensato. Assim, ao trabalhar em um chipset para sua descendência a chegar, a Intel decidiu adaptar o chipset de i840 que aceita dois canais de RDRAM Direct para este propósito. Como é conhecido, PC800 a largura da banda de RDRAM gira ao redor de 1.6GB/sec, de forma que no caso de dois canais usados iguala a largura da banda de barramento de memória aos exigidos 3.2GB/sec. Assim, aqui é uma descrição breve do Pentium 4 chipset de Intel: i850 (Tehama): Através deste estudo, foi possível notar que a maioria das inovações trazidas pelo Pentium 4 visam diminuir a queda de performance causada pelo uso do Pipeline de 20 estágios. Este é o grande problema do Pentium 4: apesar de estar disponível em versões de clocks altíssimos, o processador perde tanto para o Pentium 3 quanto para o Athlon em uma base clock por clock em praticamente todos os aplicativos. É preciso um Pentium 4 de 1.4 GHz para conseguir superar o Pentium 3 de apenas 1 GHz por uma margem considerável, e mesmo assim, em alguns poucos aplicativos o Pentium 4, mesmo operando a uma freqüência 40% superior chega a ficar muito próximo do seu antecessor. Comparado com o Athlon de 1.2 GHz, que seria seu concorrente direto, novos vexames: mesmo operando a uma freqüência 200 Mhz superior, o Pentium 4 de 1.4 GHz, perde na maioria dos aplicativos. Na verdade, os únicos aplicativos atuais em que o Pentium 4 mostrou um desempenho convincente foi no Quake 3 (apenas no Quake 3, não em outros jogos) e na compressão de vídeo. No futuro este cenário continuará se repetindo, pois devido à sua arquitetura, o Pentium só conseguirá superar os Athlons e Pentiums 3 numa base clock por clock em aplicativos extremamente otimizados para o SSE2, ou em aplicativos que sejam muito dependentes da velocidade de acesso à memória, como os aplicativos de compressão de vídeo e jogos que manipulem uma quantidade muito grande de texturas, com o Quake 3, já que graças ao uso de dois canais de memória Rambus, o Pentium 4 é o campeão neste quesito. Sendo assim, a arquitetura do Pentium foi claramente desenvolvida para operar a altas freqüências, e não necessariamente para competir com processadores do mesmo clock. Isto significa que o Pentium 4 sempre operará a freqüências superiores às dos concorrentes, mas não necessariamente os superará em desempenho. O pior é que a estratégia pode dar certo já que ainda hoje muita gente acredita que "quanto mais Megahertz, mais rápido". O Athlon atualmente opera a 1.2 GHz e estão agendados os lançamentos do Athlons de até 1,5 GHz e do Palomino. O Palomino é essencialmente um Athlon com modificações que visam alcançar freqüências bem mais elevadas. Intel Corporation – www.intel.com.br Laércio Vasconcelos – Cursos e Livros sobre Hardware - http://www.laercio.com.br/ Estude Hardware - www.estudehardware.com.br Weber, Raul Fernando – Fundamentos de Arquiteturas de Computadores – Editora Sagra Luzzatto - 2001 Torres, Gabriel – Hardware, Curso Completo – 4a. Edição, 2001- Axcel Books
Documentos relacionados
Motherboard - Paginas ISPGaya - Instituto Superior Politécnico Gaya
processamento. O cristal fornece um pulso de alta precisão cuja frequência depende do processador em uso. Assim como o processador, outros sinais são obtidos do clock para os circuitos da motherboa...
Leia mais