Qual é o nome do registrador que possui o endereço de uma instrução a ser lida na memória?

Os Registradores

A CPU contém internamente uma memória de alta velocidade que permite o armazenamento de 

valores intermediários ou informações de comando. Esta memória é composta de registradores (ou registros), na qual cada registro tem uma função própria.

Os registros, geralmente numerosos, são utilizados para assegurar o armazenamento temporário de informações necessárias para o processamento de uma dada instrução.

Conceitualmente, registro e memória principal são semelhantes pois são destinados ao armazenamento de dados para processamento. Porém a localização destes componentes, a capacidade de armazenamento e os tempos de acesso às informações que os diferenciam. 


Os registradores
se localizam no interior de um microprocessador, dentro da CPU, enquanto a memória principal é externa à própria CPU, estando localizada em um componente fora da CPU e conectada a ela através de barramentos de dados, de endereços, etc.

Um registrador armazena um número limitado de bits, possui pouca capacidade de armazenamento, geralmente uma palavra de memória. A memória possui uma capacidade muito maior de armazenamento, podendo chegar a alguns gigabytes.

O tempo de acesso ao conteúdo de um registrador é muito rápido, praticamente instantâneo se for comparado ao tempo de acesso ao conteúdo de uma célula na memória principal. Isto acontece porque a memória principal está fora da CPF e por estar externa à CPU, ao ser acessada, precisa que o acesso seja feito através de tráfego dos bits através dos barramentos.

Resumindo, os registradores são um tipo de memória com limites em termos de capacidade de armazenamento porém muito mais rápido no que se refere à velocidade de acesso aos dados. Os registradores são usados para armazenar as informações  necessárias para a execução das instruções pela CPU.

Os Tipos de Registradores

Existem diferentes tipos de registradores na UCP de um sistema de computação. Cada registrador serve a um propósito específico e contribui para o funcionamento da UCP no processamento das instruções, o que na significa que são usados nas etapas principais de busca, interpretação e execução das instruções. Basicamente temos registradores para os tipos de dado que são armazenados na memória, ou seja, dados são armazenados na memória principal então temos um registrador para dados, endereços também são armazenados na memória, lembre-se de que podemos armazenar em uma célula de memória o endereço de outra célula de memoria principal, então temos também os registradores de endereços. Finalmente temos também o armazenamento de instruções na memória principal, que são as instruções de nossos programas. Consequentemente, temos também registradores de instruções.

Os registradores são usados, portanto, no armazenamento temporário de dados, endereços e instruções e no armazenamento do resultado da execução das instruções.


Os registradores são um tipo de memória para armazenamento de pequena quantidade de informação, poucos bits, por curto prazo de tempo mas que possuem alto desempenho.  Em geral, os registradores são 

usados também para armazenar os valores dos operandos das instruções. 

Uma instrução ADD que soma dois valores por exemplo, poderia armazenar seus operandos, em registradores na UCP.  O resultado da soma também poderia ser armazenado em registradores antes de serem transferidos para a memória principal.


Os registradores mais importantes são:

  • Contador de Instrução ( CI )/Contador de programa (PC - Program Counter), que aponta para a próxima instrução a executar.
  • RI (IR- Instruction Register) que armazena a instrução em execução.
  • REM que armazena endereços de memória que apontam para células na memória principal.
  • RDM/ACC que armazena dados que serão manipulados nas operações do programa. Também é conhecido por CD.
  • Outros registros que permitem o armazenamento de resultados intermediários.

Vamos falar agora sobre cada um dos tipos de registradores:

Contador de Instruções (CI)/Contador de Programa (PC - Program Counter)

Para poder manusear os códigos de instrução, a CPU  necessitará armazenar os endereços  de  memória da qual o código de instrução será lido.

  O endereço da palavra de memória da qual o código  de instrução será lido é fornecido por um registro denominado Contador de Instrução (CI) / Programa (CP). Este registrador é incrementado para que aponte para o endereço que contém a próxima instrução a ser lida, conforme exemplo abaixo:

• Funcionamento: CP=CP + 1

Registrador de Instrução (RI)

Para manusear os códigos de instrução, a CPU necessitará de um registrador para armazenar os códigos de operação.

 O código de instrução é armazenado no registro denominado Registro de Instrução (I).

A CPU sempre irá interpretar o conteúdo do registrador de instrução como sendo um código de operação.

Após o armazenamento dos códigos de instrução no Registro de Instrução, inicia-se o processo de decodificação do código de operação.

Registrador de Endereços (REM)

Para podermos acessar uma palavra de dados da memória (tanto para ler seu conteúdo, como para armazenar dados dentro dela), precisamos identificar seu endereço. Para isso temos um registrador para armazenar o endereço da palavra na memória.

Este endereço fica armazenado em um registrador denominado Contador de Dados [CD].

O tamanho do CD dependerá do tamanho máximo de  memória que o processador consegue endereçar.

• CD 8bits — 2 elevado a 8=256 palavras de memória (endereços)

• CD 16bits — 2 elevado a 16=65536 palavras de memória (endereços)

Utilização do Registrador em uma Operação Matemática

Para entendermos a utilização dos registradores da CPU vamos recorrer a um programa que faz uma operação de adição.

Cada passo do programa será tratado como uma instrução.

• Inicialmente o CI/PC contém 0400H, o endereço da primeira instrução do programa na memória. O conteúdo dos outros registradores são desconhecidos. Na verdade, o conteúdo dos outros registradores é o resultado do ciclo de instrução anterior, ou seja, do processamento da instrução imediatamente anterior.

• Os dados contidos nas palavras de memória de endereço 0A30H e 0A31H são inicialmente 7AH e 2FH.

A CPU carrega o conteúdo da palavra de memória endereçada pelo CI/PC no registro de Instrução (RI),  assegurando assim que o conteúdo desta palavra de memória seja interpretado como um código de instrução. Lembra que o RI é o registrador de instruções? Portanto é ele quem deve armazenar a instrução a ser processada pela UCP.

• A CPU então incrementa o conteúdo do CI/PC para que ele aponte para o próximo endereço de memória que contem a próxima instrução.

Observe que as instruções do programa estão armazenadas em endereços de memória em ordem sequencial. Observe ainda que cada instrução do programa ocupa apenas uma célula da memória principal. Assim basta incrementar em 1 o conteúdo do CI/CP para se obter o próximo endereço de instrução do programa.

Qual é o nome do registrador que possui o endereço de uma instrução a ser lida na memória?

O código 9C, aparecendo no registrador de Instrução,  faz a lógica da CPU implementar 2 passos.

• Primeiro, o conteúdo do byte de memória endereçado pelo CI/PC é lido da memória, mas é armazenado no byte mais alto do contador de dados (CD).

• A CPU então incrementa o conteúdo do CI/PC.

• Em seguida, o conteúdo do byte de memória endereçado pelo novo CI/PC é lido da memória e armazenado no byte mais baixo do CD. 

• A CPU incrementa novamente o conteúdo do CI/PC.

Qual é o nome do registrador que possui o endereço de uma instrução a ser lida na memória?

A execução da Instrução 1 foi completada. O conteúdo dos bytes de memória 0401H e 0402H foram carregados no registrador CD.

• O código de instrução necessita de dados que o seguisse imediatamente. Este tipo de dado, que aparece imediatamente após um código de instrução de um programa na memória, é chamado dado imediato, ou dado literal.

• Na Instrução 1, os bytes de memória 0401H e 0402H contêm o dado imediato 0A30H.

• O código de instrução 9CH, lido da posição 0400H, identifica a maneira pela qual o dado imediato 0A30H deve ser interpretado pela CPU.

Qual é o nome do registrador que possui o endereço de uma instrução a ser lida na memória?

• Após a execução da Instrução 1, a CPU busca (ou lê) o conteúdo do byte de memória endereçado por CP (0403H), e então incrementa o CP

• O conteúdo do byte lido é armazenado no registrador de Instrução (RI), para ser interpretado como um código de instrução.

Qual é o nome do registrador que possui o endereço de uma instrução a ser lida na memória?

Este código de instrução (40H) faz a CPU pegar o dado contido no byte de memória endereçado pelo Contador de Dados (CD) e carregá-lo no Acumulador (A)

Qual é o nome do registrador que possui o endereço de uma instrução a ser lida na memória?

A instrução 2 completou sua execução e o PC já endereça a próxima palavra de memória de programa (0404H), que contém o código de instrução para a Instrução 3. 

• A Instrução 3 é uma repetição da Instrução 1, sendo que o dado imediato 0A30H é substituído por 0A31H. Como na Instrução 1 os registradores sofrerão mudanças em três etapas.

  1.  A primeira etapa lê o código de instrução para o registro RI.
  2.  A segunda etapa lê 0AH do byte 0405H e armazena no byte alto do registro CD.
  3.  A terceira etapa carrega o byte baixo de CD.

Qual é o nome do registrador que possui o endereço de uma instrução a ser lida na memória?


Qual é o nome do registrador que possui o endereço de uma instrução a ser lida na memória?


Qual é o nome do registrador que possui o endereço de uma instrução a ser lida na memória?


A Instrução 3 completou sua execução e a execução da Instrução 4 já pode ter início. 

• Como nas instruções anteriores, a CPU começa automaticamente carregando o conteúdo do byte de memória endereçado por PC no registro RI.

Qual é o nome do registrador que possui o endereço de uma instrução a ser lida na memória?

O código de instrução 80H faz com que a CPU busque o conteúdo da palavra de dados endereçada por CD e some ao conteúdo do acumulador (A).

Qual é o nome do registrador que possui o endereço de uma instrução a ser lida na memória?

A Instrução 4 completou agora sua execução. 

• O conteúdo do acumulador (resultado da soma) deve ser armazenado no byte de memória 0A31H que é o byte de memória endereçado correntemente pelo CD.

• A Instrução 5 armazena o conteúdo de A no byte de  memória de dados 0A31H por meio de dois passos.

• O passo 1 busca o código de instrução de maneira usual.

• O passo 2 armazena o acumulador no byte de memória endereçado por CD.

Qual é o nome do registrador que possui o endereço de uma instrução a ser lida na memória?

Qual é o nome do registrador que possui o endereço de uma instrução a ser lida na memória?

Resumindo o que vimos podemos identificar os seguintes tipos de registradores:

  • Acumulador: Registrador que armazena por curto prazo um conjunto de bits.
  • Contador de Dados: Registrador que armazena endereços para operações de leitura/escrita na memória.
  • Registro de Instrução: Registrador que armazena códigos de instrução. 
  • Contador de Programa: Registrador que armazena endereços da palavra de memória da qual o código de instrução será lido. Também conhecido como CI ( Contador de Instrução )

Qual é o registrador que contem sempre o endereço de memória da próxima instrução a ser lida é executada pela CPU?

Registrador de Instrução (IR, do inglês “Instruction Register”): ∎ Contém a próxima instrução a ser executada.

O que faz o registrador de endereço de memória?

O Registrador de Endereço de Memória (Memory Address Register) armazena um valor que representa um endereço de uma palavra da memória. Este endereço será lido pela memória durante a operação de leitura ou escrita de dados.

O que é o registrador de instrução?

Os registradores são um tipo de memória para armazenamento de pequena quantidade de informação, poucos bits, por curto prazo de tempo mas que possuem alto desempenho. Em geral, os registradores são usados também para armazenar os valores dos operandos das instruções.

Qual é o componente que realiza a interpretação das instruções lidas na memória?

Processador (ou microprocessador) É ele que executa os programas, faz os cálculos e toma as decisões, de acordo com as instruções armazenadas na memória. Os microprocessadores formam uma parte importantíssima do computador chamada de UCP (Unidade Central de Processamento), ou em inglês CPU (Central Processing Unit).