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

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