O termo Transferência de Registro refere-se à disponibilidade de circuitos lógicos de hardware que podem realizar uma determinada microoperação e transferir o resultado da operação para o mesmo ou outro registro.
A maioria das notações padrão usadas para especificar operações em vários registradores são apresentadas abaixo.
- O registrador de endereço de memória é designado por MAR .
- Contador de programa PC contém o endereço da próxima instrução.
- Registro de instruções E contém a instrução que está sendo executada.
- Também podemos indicar bits individuais colocando-os entre parênteses. Por exemplo, PC (8-15), R2 (5), etc.
- A transferência de dados de um registro para outro é representada de forma simbólica por meio do operador de substituição. Por exemplo, a instrução a seguir denota uma transferência dos dados do registrador R1 para o registrador R2.
R2 ← R1
- Tipicamente, a maioria dos utilizadores pretende que a transferência ocorra apenas numa condição de controlo predeterminada. Isso pode ser mostrado seguindo a instrução if-then:
Se (P=1) então (R2 ← R1); Aqui P é um sinal de controle gerado na seção de controle. - É mais conveniente especificar uma função de controle (P) separando as variáveis de controle da operação de transferência de registradores. Por exemplo, a instrução a seguir define a operação de transferência de dados sob uma função de controle específica (P).
P: R2 ← R1
A imagem a seguir mostra o diagrama de blocos que representa a transferência de dados de R1 para R2.
Aqui, a letra 'n' indica o número de bits do registrador. As 'n' saídas do registrador R1 estão conectadas às 'n' entradas do registrador R2.
Uma entrada de carga é ativada pela variável de controle 'P' que é transferida para o registrador R2.