Curso Livre de Arquitetura de Computadores/Caderno 10: Estrutura e Função do Processador

Fonte: Wikiversidade

Principais pontos[editar | editar código-fonte]

No processador existem dois tipos de registradores, os visíveis ao usuário e os registradores de controle/estado. Os visíveis ao usuário são referenciados, inplícitamente ou explicitamente em instruções de máquina. Eles são utilizados de forma geral para o armazenamento de múmeros de ponto fixo ou ponto flutuante, endereços, índices e ponteiros de segmentos. Já os registradores de controle e estado são utilizados para controlar a operação do processador. O exemplo mais fácil de se entender sobre esse tipo de registradores é o contador de programa (program counter).[1]

Um processador utiliza pipeline de instruções para acelerar sua execução. Um pipeline envolve várias instruções que são quebradas para que ele consiga rodar em vários estágios separados sequencialmente. Alguns desses estados são: Leitura das instruções, decodificação da instrução, determinar o endereço do operando, leitura dos operandos, execução da instrução e resultado.[1]

Organização do processador[editar | editar código-fonte]

Os requisitos básicos para um processador são:

  • Buscar instrução: O processador lê uma instrução da memória (registrador, cache, memória principal);
  • Interpretar a instrução: Decodifica a instrução para determinar a ação;
  • Obter os dados: Como os dados devem ser lidos, tanto de um módulo de E/S ou diretamente da memória;
  • Processar os dados: O possível uso da ULA ou ALU para processamento de alguma operação aritmética ou lógica com os dados;
  • Gravar os dados: Após o processamento dos dados é necessário armazena-los.[1]

O processador é muito poderoso, porém ele necessita armazenar as informações que esta processando ou mesmo as que vai processar temporariamente. Ele precisa lembrar a posição da última instrução executante para que possa saber onde obter a próxima instrução.[1]

Organização dos registradores[editar | editar código-fonte]

Dentro do processador, existe um conjunto de registradores que funcionam como um nível de memória acima da memória principal e da cache dentro desta hierarquia. Os registradores no processador desempenham dois papéis:

  • Registradores visíveis ao usuário: Possibilitam que o programador de linguagem de máquina ou assembly minimize as referências à memória, pela otimização do uso de registradores;
  • Registradores de controle e estado: Usados pela unidade de controle para controlar a operação do processador e por programas privilegiados do Sistema Operacional para controlar a execução de programas.[1]

Registradores visíveis ao usuário[editar | editar código-fonte]

O registrador visível ao usuário pode ser referenciado pelos recursos da linguagem de máquina que o processador executa. E é possível dividi-los em seguintes categorias:

  • Uso geral: Podem ser atribuídos para uma variedade de funções pelo programador;
  • Dados: Podem ser usados apenas para guardar dados e não podem ser empregados para calcular o endereço de um operando;
  • Endereços: podem ser, de certa forma, de uso geral ou podem ser dedicados para um modo de endereçamento em particular;
  • Códigos condicionais: são definidos por instruções normais aritméticas ou de movimentação de dados, eles devem reduzir o número de instruções de comparação e teste (COMPARE, TEST) necessárias.[1]

Registradores de controle e estado[editar | editar código-fonte]

Existe uma variedade de registradores do processador que são empregados para controlar a operação do processador. Grande parte deles, na maioria das máquinas, não é visível ao usuário. Alguns podem ser visíveis às instruções da máquina executadas no modo de controle ou de sistema operacional.[1]

É claro que máquinas diferentes terão diferentes organizações dos registradores e usarão terminologia diferente. Com isso quatro registradores são essenciais para execução das instruções:

  • Contador de programas (pc): contém o endereço de uma instrução a ser lida;
  • Registrador da instrução (IR): contém a instrução lida mais recentemente;
  • Registrador de endereço de memória (mAR): contém o endereço de uma posição de memória;
  • Registrador de buffer de memória (mBR): contém uma palavra de dados para ser escrita na memória ou a palavra lida mais recentemente.[1]


Referências