Cache de memória e unidade de busca
Como mencionamos, o cache de memória L2 do Pentium M pode ser de 1 MiB (modelos de 130 nm, núcleo Banias) ou de 2 MiB (modelos de 90 nm, núcleo Dothan), enquanto que o seu cache L1 é dividido, sendo 32 kiB para instruções e 32 kiB para dados.
A unidade de busca está dividida em três estágios, como explicamos na página anterior. Na Figura 2 você pode ver como a unidade de busca do Pentium M trabalha.
Figura 2: Unidade de busca.
Como falamos anteriormente, a unidade de busca carrega uma linha (32 bytes = 256 bits) do cache L1 de instruções e armazena no buffer de pré-busca (Instruction Streaming Buffer). Então o decodificador de comprimento de instrução identifica os limites da instrução dentro de 16 bytes (128 bits). Como as instruções x86 não têm tamanho fixo, este estágio marca onde começa e onde termina cada instrução dentro dos 128 bits carregados. Se houver alguma instrução de desvio nesses 128 bits, seu endereço é armazenado no buffer de destino do desvio (BTB, Branch Target Buffer), de forma que o processador possa posteriormente usar esta informação no seu circuito de previsão de desvio. O BTB do Pentium M tem 512 entradas.
Então o estágio de alinhamento do decodificador separa as instruções para serem entregues ao decodificador apropriado. Existem três diferentes unidades de decodificação, como explicaremos na próxima página.
Respostas recomendadas
Não há comentários para mostrar.
Crie uma conta ou entre para comentar
Você precisa ser um usuário para fazer um comentário
Criar uma conta
Crie uma nova conta em nossa comunidade. É fácil!
Crie uma nova contaEntrar
Já tem uma conta? Faça o login.
Entrar agora