Unidade B - Unidade Central de Processamento

B.3 Arquitetura do Processador

Basicamente, um processador, em sua arquitetura, pode ser dividido em vários blocos:


  1. Unidade operacional (execução)
      Contém o hardware que executa as instruções, inclusive os responsáveis pela busca e decodificação de instruções e a unidade lógica e a aritmética que executam os cálculos.
  2. Banco de registradores
      Pequena área de armazenamento para os dados que o processador está usando, possibilitando acesso rápido.
  3. Unidade de controle
      Responsável pelo controle do restante do processador, determinando instruções a serem executadas e quais operações são necessárias para executar cada instrução.

B.3.1 Unidade operacional

Ela é a responsável por executar as transformações sobre dados especificados pelas instruções do computador.

O número, tamanho e uso dos registradores e a quantidade e tipo de operações que a unidade lógica e aritmética realiza são alguns dos fatores que determinam o porte de um processador.

  1. Unidade lógica e aritmética (ULA)
  2. Nela são realizadas as operações aritméticas e operações lógicas sobre um ou mais operandos. Muitas vezes, as operações da ULA são indicadas por instruções simples. As funções mais complexas, exigidas pelas instruções de máquina, são realizadas pela ativação sequencial das várias operações básicas disponíveis.

    A ULA apresenta as seguintes características:

    1. comprimento em bits dos operandos;
    2. número e tipo de operações;
    3. códigos de condição gerados.

    Os códigos de condição gerados servem como indicações sobre as operações realizadas, podendo ser, segundo Weber (2004):

    1. Overflow: resultado de uma operação não pode ser representada no espaço disponível (tamanho da palavra insuficiente).
    2. Sinal: indica se o resultado da operação é negativo ou positivo.
    3. Carry: dependendo da operação realizada (soma ou subtração) pode representar o bit de vai-um (carry-out) ou vem-um (borrow-out).
    4. Zero: indica se o resultado da operação realizada é nulo.
  3. Acumulador (AC)
  4. É um registrador que tem como função armazenar um operando que será utilizado, ou o resultado fornecido pela ULA. Nos computadores mais simples pode existir um acumulador e nos mais complexos podem ser encontrados vários registradores com a função de um acumulador. Dentre sua principal característica está o seu comprimento em bits, que indica a quantidade de bits que ele pode armazenar, sendo que em cada nova operação, um dado é copiado para o seu interior, fazendo com que o conteúdo antigo seja perdido (WEBER, 2004).

B.3.2 Unidade de controle (UC)

Sua principal finalidade é a de fornecer os sinais de controle que gerenciam o fluxo interno de dados no processador. É ele quem coordena o instante preciso em que ocorrem as transferências entre um componente do processador e outro na execução de uma instrução, conforme figura abaixo:

Cada sinal de controle gerado por ela comanda uma micro-operação a ser realizada. Ela recebe como entrada o valor do Registrador de Instrução e decodifica-o, juntamente com os sinais de saída da ULA (RST). Para cada código de instrução ela gera uma sequência de sinais diferentes, ativando os circuitos correspondentes para que cada uma das tarefas necessárias para a busca e execução da instrução seja completada.

As tarefas podem incluir a carga de valores em um registrador, seleção de um dado para entrada em componente, ativação da memória, seleção de uma operação da ULA, habilitação de um circuito lógico, etc. (WEBER, 2004)

B.3.3. Banco de registradores

No computador existem registradores que executam funções específicas e que, dependendo da arquitetura, podem ser encontrados em diferentes blocos.

  1. Apontador de instruções (Contador de programa – PC)
  2. Sua função é manter atualizado o endereço de memória da próxima instrução que deve ser executada após a atual.

  3. Registrador de instruções (RI)
  4. Armazena o código da instrução que está sendo executada. É em função dele que a unidade de controle determina quais sinais de controle devem ser gerados para executar as operações determinadas pela instrução. O comprimento em bits do RI está ligado ao tamanho e à codificação das instruções do computador.

  5. Registrador de estado (RST)
  6. Nele ficam armazenados os códigos de condição gerados pela unidade lógica e aritmética. Em função dele, em conjunto com o RI, que a UC toma decisões sobre a geração ou não de certos sinais de controle.

B.3.4 Demais elementos do processador

Além dos blocos que compõem o processador, também podem ser encontrados os seguintes elementos:

  1. Clock (relógio)
  2. É usado para manter o sincronismo do funcionamento entre todos os componentes do processador.

  3. Decodificador de instruções
  4. É um dispositivo utilizado para identificar as operações a serem realizadas com base na instrução a ser executada.

  5. Barramento Interno de Dados
  6. É o caminho utilizado na transferência de dados entre os registradores e entre registradores e a ULA.

  7. Barramento Interno de Endereços
  8. É o caminho utilizado para a transferência de endereços entre os registradores.

  9. Barramento Interno de Controle
  10. É o caminho utilizado para transmitir os sinais da unidade de controle que comandam o funcionamento de cada circuito do processador.

O conjunto de todos os elementos que formam o processador será organizado de acordo com a arquitetura utilizada, como, por exemplo, pode ser visto na figura abaixo: