• Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   13-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 ao formulário 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  
Seguidores 0
mpopm

P4 HT Prescott L1=16KB?!

4 posts neste tópico

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

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!


Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.


Entrar agora
Entre para seguir isso  
Seguidores 0