Unidades de execução
Na microarquitetura Core a Estação de Reserva foi ampliada de duas formas. Primeiro, o número de entradas foi ampliada de 20 para 32. Em segundo lugar, houve a adição de mais uma porta de despacho, para um total de seis portas. Na microarquitetura do Pentium M e P6 usada pelo Pentium Pro, Pentium II e Pentium III, havia cinco portas. Este aumento no número de portas permite que a estação de reserva consiga enviar mais uma microinstrução para ser processada por pulso de clock.
Além disso, foram adicionadas mais unidades de execução à microarquitetura, com uma nova configuração, apresentada na Figura 2.
Figura 2: Unidades de execução da arquitetura Core.
Aqui está uma pequena explicação de cada unidade de execução encontrada na arquitetura Core:
- IEU: a Unidade de Execução de Instrução (IEU, Instruction Execution Unit) é onde instruções “comuns” são executadas. Esta unidade é também chamada de ULA (Unidade Lógica e Aritmética). Instruções “comuns” são também chamadas de instruções “inteiras”.
- Desvios: também conhecida como Unidade de Execução de Desvios (JEU, Jump Execution Unit), processa a previsão de desvios.
-
FPU: a Unidade de Ponto Flutuante (FPU, Floating-Point Unit) é responsável por executar as instruções MMX e SSE e operações matemáticas envolvendo números com ponto flutuante. Nesta arquitetura as FPUs não estão “completas”, já que alguns tipos de instruções (FPmov, FPadd e FPmul) podem apenas serem executadas em certas FPUs:
- FPadd: apenas esta FPU pode executar operações de adição envolvendo números de ponto flutuante, como ADDPS (que, a propósito, é uma instrução SSE).
-
FPmul: apenas esta FPU pode executar operações de multiplicação e divisão envolvendo números de ponto flutuante, como MULPS (que, a propósito, é uma instrução SSE).
- FPmov: instruções para carregar ou copiar um registrador FPU, como MOVAPS (que transfere dados para um registrador SSE XMM de 128 bits). Este tipo de instrução pode ser executada por qualquer FPU, mas nas FPUs FPadd e FPmul elas só podem ser executadas se não houver intruções do soma, multiplicação ou divisão na estação de reserva para serem enviadas para processamento.
- SIMD: para processamento de instruções MMX e SSE.
- Carga: processa instruções que solicitam dados a serem lidos da memória RAM.
- Armazenamento: processa instruções que solicitam dados a serem escritos na memória RAM.
Tenha em mente que instruções complexas podem levar várias pulsos de clocks para serem processadas. Vamos pegar um exemplo da porta 1, onde a unidade de ponto flutuante FPmul está localizada. Enquanto esta unidade está ocupada processando uma instrução muito complexa que leva vários pulsos de clock para ser executada, a porta 2 não estará ocupada e continuará enviando instruções simples para a IEU.
Respostas recomendadas
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