Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
Entre para seguir isso  
mpopm

P4 HT Prescott L1=16KB?!

Recommended Posts

Colegas,

Instalei o EVEREST na minha máquina nova, e quando fui ver especificações sobre L1 e L2 fiquei confuso. Na L2 tudo bem, a capacidade foi confirmada, ou seja, L2=1MB, mas a minha dúvida está na L1, que pelo software está com 16KB (achei muito pouco), é isso mesmo, ou eu não soube analisar através do Everest, ou está errado?!

Se alguém puder me ajudar, agradeço.

:bye:

P4 3.0E FSB800 1MB L2

MOTHERBOARD: ECS-661FX-M(deluxe)

MEMÓRIA: 256DDR 400

HD 20G SEAGATE

COMBO: CD-RW/DVD

PLACA CAPTURA TV/FM

SOM C/ SUBWOOFER 1000W

CONTROLE REMOTO

CASEMOD BLACK/BLUE

WINDOWS XP PRO SP2 BR

Compartilhar este post


Link para o post
Compartilhar em outros sites

A arquitetura do cache L1 do Pentium 4 é um pouco diferente. Em vez de ter um cache L1 de dados e outro de instruções, ele tem um cache L1 de dados de 8 KB ou 16 KB, dependendo do modelo, e um cache L1 de execução de 12.288 microinstruções. A Intel não divulga oficialmente o tamanho de cada microinstrução do Pentium 4 mas de acordo com Douglas Carmean, um dos engenheiros que projetou o Pentium 4, podemos assumir que cada microinstrução tem 100 bits. Com isso, temos que o cache L1 de execução do Pentium 4 tem aproximadamente 150 KB. Somando este valor (150 KB) com o 8 KB ou 16 KB do cache L1 de dados, dependendo do modelo, temos os valores apresentados nas tabelas de cache L1 que o pessoal faz. O Everest deve estar se referindo apenas ao cache de dados e não ao cache de execução.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Postado Originalmente por Shadowwarrior@30 dez 2004, 18:56

A arquitetura do cache L1 do Pentium 4 é um pouco diferente. Em vez de ter um cache L1 de dados e outro de instruções, ele tem um cache L1 de dados de 8 KB ou 16 KB, dependendo do modelo, e um cache L1 de execução de 12.288 microinstruções. A Intel não divulga oficialmente o tamanho de cada microinstrução do Pentium 4 mas de acordo com Douglas Carmean, um dos engenheiros que projetou o Pentium 4, podemos assumir que cada microinstrução tem 100 bits. Com isso, temos que o cache L1 de execução do Pentium 4 tem aproximadamente 150 KB. Somando este valor (150 KB) com o 8 KB ou 16 KB do cache L1 de dados, dependendo do modelo, temos os valores apresentados nas tabelas de cache L1 que o pessoal faz. O Everest deve estar se referindo apenas ao cache de dados e não ao cache de execução.

Bem, para que não haja dúvidas, melhor ler o que diz a própria Intel.

Nesse guia (na página 5): http://www.intel.com/technology/itj/q12001...icles/art_2.htm

Logo no começo fala do trace cache, de onde se pode tirar a seguinte sentença:

The Trace Cache is the primary or Level 1 (L1) instruction cache of the Pentium 4 processor and delivers up to three uops per clock to the out-of-order execution logic. Most instructions in a program are fetched and executed from the Trace Cache. Only when there is a Trace Cache miss does the Intel NetBurst® microarchitecture fetch and decode instructions from the Level 2 (L2) cache. This occurs about as often as previous processors miss their L1 instruction cache. The Trace Cache has a capacity to hold up to 12K uops. It has a similar hit rate to an 8K to 16K byte conventional instruction cache.

Traduzindo em poucas palavras o trecho em negrito. O Trace cache do P4 tem capacidade para 12K µops, o que leva a uma taxa de acertos (quando o processador encontra o que procura no cache) similar ao de um cache convencional (L1-I) entre 8 kB e 16 kB.

Portanto, a eficiência nos acertos é baixo. A vantagem é que é só pegar e usar, pois não precisa pelos decoders novamente (sorte, pois o P4 é péssimo nisso, apenas decodifica uma instrução por ciclo de clock, contra 3 do Athlon, por isso que o TC é importante)

Eu tenho quase que convincção que uma µops não é tão grande assim. as instruções x86 tem tamanho variável entre 8-bit e 128-bit. Não sei qual o tamanho das µops, mas na documentação técnica da Intel mostra que em média, nos principais software, uma instrução x86 é quebrada em 1.5 instruções µops. E qual a média do tamanho das instruções x86 usadas nos principais programas? Pelo que vejo, em geral as menores instruções, mais simples são as mais usadas. Não dá pra dizer o tamanho médio, mas vamos chutar um valor alto, pra dar um boi pra essa suposição. Que tal 64-bit? Eu acho que o tamanho médio é inferior a isso. Dividindo esse valor por 1.5, daria quase 43-bit. Porque a Intel precisaria escolher um tamanho tão grande assim, se quanto maior apenas obriga ela a gastar mais espaço no silício para abrigar as mesmas 12k instruções? Esse é o detalhe, não importa se esse cache tem 10kB ou 50MB, no final das contas são as mesmas 12k instruções. Não é como um cache L1-I que a especificação fala em kB, porque o tamanho das instruções é variável e quanto mais, melhor. Para o trace cache, o que importa é a capacidade de instruções e não de kB.

Só pra dar uma noção do quanto eu acho absurdo esse valor de 100-bit (mesmo sendo o cara que participou do projeto). Para o EPIC do Itanium, as instruções são enviadas em pacotes de 128-bit. Mas cada pacote destes, carregam 3 instruções de um só vez, cada uma delas tem 41-bit. Os 5-bit restantes eu não lembro agora para que são usados.

Se a ideia que levou a criação das µops era simplificar internamente o processador, para executar instruções simples (Risk-like), por que cargas d'agua teria a Intel resolvido complicar as coisas?

Logo que o P4 saiu, um cara mediu o tamanho ocupado pelo trace cache e com base nisso chutou o seu tamanho (comparando com o cache L1-D) comparável ao que ocuparia um cache L1-I de ~90kB. Mas não se sabe quão mais complexos é um cache destes, se ele não precisa de muito mais transistores do que o convencional, etc..

O que importa é que são 12k µops.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Entre para seguir isso  





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×