Nota:
"Registrador" redireciona para este artigo. Para o profissional cartorial, veja
Oficial de registro
.
O
registrador
(
portugues brasileiro
)
ou
registo
(
portugues europeu
)
de uma UCP (
unidade central de processamento
) e a memoria dentro da propria CPU que armazena
n
bits. Os registradores estao no topo da
hierarquia de memoria
, sendo assim, e um tipo de memoria mais rapida e financeiramente mais custosa. Apesar do alto custo por bit armazenado, sua velocidade de acesso e essencial para o funcionamento dos computadores modernos e, portanto, sao incluidos, ainda que em menor capacidade, mesmo em processadores de baixo custo.
Lembrando que os registradores sao circuitos digitais capazes de armazenar e deslocar informacoes binarias, e sao tipicamente usados como um dispositivo de armazenamento temporario.
[
1
]
Sao utilizados na execucao de
programas
de
computadores
, disponibilizando um local para armazenar dados. Na maioria dos computadores modernos, quando da execucao das instrucoes de um programa, os dados sao deslocados da
memoria principal
para todos os registradores. Entao, as instrucoes que utilizam estes dados sao executadas pelo processador e, finalmente, os dados sao movidos de volta para a memoria principal.
Nos dias de hoje os computadores necessitam de muito mais espaco para armazenar as informacoes em todos os tipos de memoria, a partir desse momento, as informacoes que sao armazenadas por conjuntos de digitos binarios nos sistemas digitais internos do computador tambem tem que ser maior, ocupando um espaco de 32, 64 ou 128 bits, sendo que em periodos mais antigos essa memoria dos conjuntos de digitos binarios possuiam no maximo 16 bits.
Os sistemas digitais necessitam de comunicacao com a parte de hardware do computador, para que seja armazenado nos conjuntos de digitos binarios.
Dentro dos sistemas digitais temos os circuitos digitais capazes de realizar o armazenamento de informacoes sendo eles os registradores.
O nome utilizado para armazenar dados em um registrador e carregar, embora as palavras escrever e armazenar tambem sejam usadas. A acao oposta a carregar um registrador e conhecida como ler os conteudos de um registrador. A leitura consiste simplesmente em se conectar as saidas do registrador. Assim percebe-se que a leitura nao esta sincronizada com o relogio, alem disso nao remove os bits do registrador nem os modifica de nenhum modo.
[
2
]
- Registrador acumulador (EAX): registrador acumulador expandido de
arquiteturas 8086
- Registradores de base (EBX): registrador de base estendido de
arquiteturas 8086
- Registrador contador (ECX): registrador de lacos de repeticao em
arquiteturas 8086
- Registradores de dados (EDX): registrador estendido de "contas" com palavras de
arquiteturas 8086
Registradores de base sao registradores que recebem o endereco-base de um dado objeto. Este tipo de registrador oferece aos programadores um subterfugio para a criacao de
ponteiros
(variaveis, contendo o caminho para um endereco no
software
). Imagine-se da seguinte forma:
Um programa que, tendo dois numeros, recebe de um outro programa outros valores. Entao, o que se faz e criar "atalhos" (path) que indicam qual valor sera usado. Assim, havendo somente uma imagem do valor, podem ser usados os valores, sem altera-los diretamente.
Conta todas as repeticoes e deslocamentos, podendo ser atribuido um valor de interrupcao.
[
3
]
Registradores de dados sao utilizados para armazenar valores, tais como
inteiros
e
pontos flutuantes
. Em algumas
UCPs
(CPUs, em ingles) antigas e mais baratas, e um registrador de dados especial, conhecido como
acumulador
, e e utilizado implicitamente em muitas operacoes. O acumulador funciona como um recipiente onde sao colocados e somados valores de calculos e comparacoes.
O tipo mais simples de registrador e um conjunto de flip-flops que sao carregados a cada ciclo de relogio. Este registrador basico sera util como registrador de estado em um bloco de controle, onde sao carregados em todos os ciclos do relogio. Porem, para algumas aplicacoes queremos controlar se dentro desse ciclo do relogio o registrador vai ser carregado ou apenas manter o valor anterior.
Assim, utilizaremos um registrador de carga paralela. No qual tera uma linha de carga que controlara se o registrador e carregado com entradas externas, com todas elas carregadas em paralelo.
A entrada externa utilizada para obter o controle sobre a carga do registrador pode ser um multiplexador 2X1, que sera colocado na frente de cada flip-flop, no caso de um registrador de 4 bits.
Pode-se tambem deslocar os conteudos de um registrador para a direita ou para a esquerda. Deslocar a direita significa mover um bit armazenado (em um flip-flop) para o flip-flop que lhe esta a direita. Por exemplo: Se um registrador de quatro bits armazena originalmente 1101, entao o deslocamento a direita resultara em 0110, ou seja, perdemos o bit que estava mais a direita (1), e colocamos um 0 no bit a esquerda.
Basicamente temos 4 tipos desses registradores dependendo da forma como entra e como sai a informacao dos mesmos, sendo eles:
[
4
]
- SISO: entrada em serie (serial) e uma saida em serie (serial).
- PISO: entrada em paralelo e uma saida em serie (serial).
- SIPO: entrada em serie (serial) e uma saida em paralelo.
- PIPO: entrada paralela e uma saida paralela.
A partir do momento que tem-se um registrador de deslocamento, pode-se obter o registrador circular, que nada mais e que uma variacao do registrador de deslocamento. Essa variacao consiste em uma adicao de rotacao no registrador, ou seja, o bit que sai, volta. Assim, o bit que estiver mais a direita do registrador sera automaticamente deslocado para o bit que estiver mais a esquerda. Este registrador precisa de algum recurso para que possa alocar alguma informacao no registrador, sendo este recurso por deslocamento ou carga paralela.
Apesar dos registradores apresentarem um bom desempenho no quesito rapidez, possuem uma capacidade de armazenamento baixissima comparada a outros circuitos de armazenamento, como e o caso da
memoria secundaria
.
Referencias