Ir ao conteúdo
  • Cadastre-se

Por Dentro da Arquitetura do Pentium M


     138.906 visualizações    Processadores    0 comentários
Por Dentro da Arquitetura do Pentium M

Decodificador de instrução e renomeamento de registradores

Desde a introdução da arquitetura P6 com o processador Pentium Pro os processadores da Intel utilizam uma arquitetura híbrida CISC/RISC. O processador deve aceitar instruções CISC, também conhecidas como instruções x86, já que todos os programas disponíveis hoje são escritos usando este tipo de instrução. Um processador inteiramente RISC não poderia ser criado para ser usado nos PCs porque ele não pode rodar programas que temos disponíveis hoje, como Windows e Office.

Portanto, a solução usada por todos os processadores disponíveis no mercado hoje, tanto da Intel quanto da AMD, é usar um decodificador CISC/RISC. O processador trabalha internamente executando instruções RISC, mas aceita apenas instruções CISC x86.

Instruções CISC x86 são conhecidas como “instruções”, enquanto que as instruções RISC são conhecidas como “microinstruções”, “micro-ops” ou “µops”.

Essas microinstruções RISC, no entanto, não podem ser acessadas diretamente e, portanto, não poderíamos criar programas baseados nessas instruções e passar por cima do decodificador de instruções do processaador. Além disso, cada processador possui seu próprio conjunto de instruções RISC, que não são divulgadas pelo fabricante e são incompatíveis com as microinstruções de outros processadores. Por exemplo, as microinstruções do Pentium III são diferentes das microinstruções do Pentium 4, que são diferentes das microinstruções do Athlon 64.

Dependendo da complexidade da instrução x86 ela pode ser convertida em várias microinstruções RISC.

O decodificador de instrução do Pentium M trabalha como mostrado na Figura 3. Como você pode ver, existem três decodificadores e um Sequenciador de Instruções de Microcódigo (MIS, Microcode Instruction Sequencer). Dois decodificadores são otimizados para instruções simples, que são as mais usadas. Este tipo de instrução é convertido em apenas uma microinstrução. Um decodificador é otimizado para instruções x86 complexas, que podem ser convertidas em até quatro microinstruções. As instruções mais complexas e que precisam ser convertidas em mais do que quatro microinstruções na verdade não são convertidas: uma memória ROM (“ROM do Microcódigo”) contendo uma lista de microinstruções para a conversão daquela instrução. Essa memória ROM é chamada de Sequenciador de Instruções de Microcódigo (MIS, Microcode Instruction Sequencer).

pm_03.gif
Figura 3: Decodificador de instrução e a unidade de Renomeamento de registradores.

O decodificar de instruções pode converter até três instruções x86 por pulso de clock: uma complexa no decodificador 0 e duas simples nos decodificadores 1 e 2, alimentando a fila de instruções decodificadas com até seis microinstruções por pulso de clock, cenário obtido quando o Decodificador 0 manda quatro microinstruções e os outros dois decodificadores mandam uma microinstrução cada – ou quando o MIS é usado. Instruções x86 muito complexas que usam o Sequenciador de Instruções de Microcódigo podem demorar vários pulsos de clock para serem decodificadas, dependendo da quantidade de microinstruções que serão geradas na conversão. Tenha em mente que a fila de instruções decodificadas pode armazenar até seis microinstruções e, portanto, caso mais de seis microinstruções sejam geradas pelos decodificadors mais o MIS, um outro pulso de clock será necessário para enviar as microinstruções atuais presentes na fila para a tabela de alocação de registradores (RAT), esvaziando a fila e aceitando as microinstruções que não “couberam” na fila antes.

O Pentium M usa um novo conceito em relação à arquitetura P6 que é chamada de fusão de microinstruções. No Pentium M a unidade de decodificação funde duas microinstruções em apenas uma. Elas serão separadas apenas quando forem executadas, no estágio de execução.

Na arquitetura P6 cada microinstrução é de 118 bits. O Pentium M em vez de trabalhar com microinstruções de 118 bits trabalha com microinstruções de 236 bits, que são na verdade duas microinstruções de 118 bits.

Tenha em mente que as microinstruções continuam sendo de 118 bits; o que mudou é que elas são transportadas em grupos de duas microinstruções.

A ideia por trás desta técnica é economizar energia e aumentar o desempenho. É mais rápido mandar uma microinstrução de 236 bits do que duas de 118 bits. Além disso, o processador consome menos, já que menos microinstruções estarão circulando dentro do processador.

As microinstruções fundidas são enviadas para a unidade de renomeamento de registradores (RAT). A arquitetura CISC x86 tem apenas oito registradores de 32 bits (EAX, EBX, ECX, EDX, EBP, ESI, EDI e ESP). Este número é pequeno, especialmente porque os modernos processadores podem executar instruções fora de ordem, o que “mataria” o conteúdo de um dado registrador, travando o programa.

Por isso, nesta etapa o processador muda o nome e o conteúdo dos registradores usados pelo programa em um dos seus 40 registradores internos disponíveis (cada um deles é de 80 bits, permitindo desta forma o armazenamento tanto de números inteiros quanto de ponto flutuante), permitindo que a instrução seja executada ao mesmo tempo em que outra instrução que usa o mesmo registrador padrão (ou até mesmo fora de ordem), isto é, que uma segunda instrução seja executada antes da primeira mesmo que elas utilizem o mesmo registrador.


Artigos similares


Comentários de usuários

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 conta

Entrar

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

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades 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

×
×
  • Criar novo...