Registros

Publicado el 21 diciembre 2013 por Practicandoarduino @PracticaArduino

Un registro de n bits es un dispositivo capaz de almacenar n bits. Internamente está formado por biestables, tiene tantos biestables como bits sea capaz de almacenar. Los más usados son de tipo D, ya que al almacenar el bit que le llega por su entrada son los más fáciles de usar.

Los registros se clasifican en función de cómo se lean o escriben sus bits:
-Entrada serie y salida serie
-Entrada serie y salida paralelo
-Entrada paralelo y salida serie
-Entrada paralelo y salida paralelo

Si la entrada es en seria el registro tiene una única entrada, si las entradas están en paralelo tiene n entradas. Lo mismo ocurre con las salidas. Si las salidas o las entradas están en serie se llama registro de desplazamiento. Existen dos tipos de registros de desplazamiento según sea el sentido de sus bits: derecha o izquierda.

Entrada serie y salida serie:

Los biestables de todos los registros de desplazamiento deben estar disparados por el flanco, excepto los registro de entrada en paralelo y salida en paralelo que suelen estar disparados por nivel. Los bits de entrada deben estar sincronizados por una señal de reloj.
El primer bit de entrada, B0, se escribirá en el biestable D3 en el primer flanco activo de reloj. En el segundo flanco activo, el bit B0 pasa el biestable D2 al tiempo en que el segundo bit de entrada, B1, se escribe en D3, sobrescribiendo
su valor anterior (B0). Del mismo modo se escriben los bits B2 y B3 en el registro. Al finalizar el proceso de escritura, los biestables D3−0 contienen a los bits B3−0.

Para la lectura serie el procedimiento es similar. Solo hay que tener en cuenta que para leer el primer bit almacenado, el B0, no es necesario esperar ningún ciclo de reloj, ya que la salida q del último biestable (y por tanto el bit B0), se encuentra conectada con la salida del registro.

Entrada serie salida paralelo:

El modo de escritura es el mismo que en el apartado anterior. En cuanto a la lectura, este tipo de registros no depende de la señal de reloj para mostrar su contenido, siempre aparece en sus salidas.

Entrada en paralelo y salida en serie:

El modo de lectura de este registro es similar al de los registros serie-serie, pero el proceso de escritura se realiza cuando está activa la señal LOAD.
En la escritura en paralelo, todos los bits se cargan simultáneamente en las entradas, en este ejemplo se ve un procedimiento de carga asíncrono, usando Clear y Preset.

Se ha diseñado un circuito combinacional (CC), formado por dos puertas NAND y un inversor, que controla las líneas de Cl y Pr de cada biestable en función del bit a escribir y de la señal de control Load. Cuando esta última está a 0, las entradas Cl y Pr están a 1, no ocurre nada. Si Load = 1, entonces si Di = 0, se activa Cl y si Di = 1, se activa Pr, esto es, escritura asíncrona de un 0 o un 1, respectivamente. Este mecanismo de escritura es el mismo para todos los biestables del registro.

Entrada paralelo y salida paralelo:

Este tipo de registros suele ser disparados por nivel como se observa en la imagen, pero pueden ser disparados por el flanco. Si la señal clk vale 0, los biestables capturan simultáneamente todos los bits de entrada. Si clk vale 1, los biestables mantienen la información capturada que muestran siempre por sus líneas de salida.

Registros universales:

Un registro universal es aquel que tiene todas las formas de escritura y lectura posible, tanto en serie como en paralelo.



style="display:inline-block;width:728px;height:15px"
data-ad-client="ca-pub-3868159888315364"
data-ad-slot="7639712738">

PracticandoArduino