[FUGSPBR] Pentium 4 HT 3.06 MHZ
Joao Rocha Braga Filho
goffredo em webkey.com.br
Seg Set 27 10:57:57 BRT 2004
Os processadores modernos são compostos de várias unidades
de processamento razoavelmente independentes, portanto podem
processar muitas coisas em paralelo. Quem dita o que vai ser feito
dentro do processador é uma unidade que decodifica as instruções
lidas da memória. Como a unidade de decodificação do Pentium
4 é muito "longa", com um pipline muito longo (20 estágios para
o comum, e 31 para o Pentium 4 E), as unidades do processador
acabam ficando muito tempo ociosas, esperando que a unidade de
decodificação mande micro-instruções.
O Pentrium 4 talvez tenha uma cache de micro-instruções ao
invés da cache de instruções seja por que ele demora muitos ciclos
para decodificar uma instrução. Ele decodifica a instrução em muitas
etapas, durante o pipeline.
O HT não é exatamente uma vantagem tecnológica. É uma
necessidade. Como assim? O processador sempre ficava ocioso,
com unidades de processamento esperando instruções para serem
executadas. Então colocaram duas unidades de decodificação de
instruções, mapeamento de memória etc, de modo que ele pudesse
decodificar em paralelo dois programas ditintos e enviar os dados
e as micro-instruções às unidades do processador. Assim, tendo
mais de uma fonte de instruções ao mesmo tempo, ele poderia usar
melhor o processador, diminuindo o tempo ocioso.
Claro que acontecem colisões i.e., os dois programas exigirem o
uso da mesma unidade de processamento ao mesmo tempo, e neste
caso um deles "pára" esperando a liberação da unidade. Mas ele
entra em uma fila, e assim que a unidade terminar a instrução de um
programa começa a executar a do outro. Mas outras instruções que
não dependam desta, ou partes de outras instruções que não dependam
desta, podem ser feitas em paralelo, desde que não usem a unidade
que está ocupada. Isto se chama execução fora de ordem. Uma das
vantagens de um pipeline é permitir uma execução fora de ordem,
e paralelizar algumas operações.
Como viu, o HT não é exatamente uma vantagem tecnol;ógica,
é também uma necessidade, para aumentar a "taxa de ocupação" do
processador. O Pentium 4 não foi projetado para desempenho, e sim,
para clocks altos. Por isto que o AMD K7 e o K8 atingem o mesmo
desempenho com clocks bem menores. Aliás, se colocasse o Pentrium
III ao msmo clock do Pentium 4, este daria uma surra no Pentium 4
sem o HT. Talvez com HT chegasse perto, ou igualasse.
A vantagem do HT só é sentida em ambientes ocupados, em
momentos que tem vários programas executando ao mesmo tempo,
e não com um programa só. Para um só programa pode até ser
contraproducente, pois quando o sistema rodar algo em paralelo
haverá colisões. Mas na média geral parece existir um ganho de uns
30%, em um sistema ocupado.
Eu fico imaginando um processador com as unidades de processamento
triplicadas, e a unidade de decodificação de instruções quadruplicada. Ele
simularia 4 processadores em paralelo, e teria um desempenho igual ou
superior a 4 processadores em paralelo, pois os programas, na média,
poderiam até usar mais de uma unidade de processamento de mesma função
ao mesmo tempo. Talvez fosse mais rápido do que os 4 processadores iguais
em paralelo.
João Rocha.
Jose Luis Segatto wrote:
>>Entretanto como HT não é SMP... acredito não ser como dois processadores
>>(pois acho q a tecnologia HT apenas aproveita de uma forma muito melhor, os
>>ciclos ociosos da CPU) ... mais q o kernel enxerga mesmo dois processadores,
>>ele enxerga... mais eficiência com certeza sim, terá... agora paralelismo ??
>>hum.. não sei não...
>>
>>
>
>pelo que eu li da documentação da intel, o HT é um processador que utiliza dois estagios do processamento ao mesmo tempo, no caso a FPU (operação com numeros não inteiros) e a que esqueci o nome com numeros inteiros. já a aquisição de dados da memoria e outras tarefas são feitas da mesma maneira que nos processadores convencionais
>por favor me corrijam se eu estiver errado
>
>
--
goffredo em goffredo.eti.br
goffredo em gmail.com
goffredo em webkey.com.br
http://www.goffredo.eti.br
_______________________________________________________________
Para enviar um novo email para a lista: fugspbr em fugspbr.org
Sair da Lista: http://lists.fugspbr.org/listinfo.cgi
Historico: http://www4.fugspbr.org/lista/html/FUG-BR/
Mais detalhes sobre a lista de discussão freebsd