Los registros son los dispositivos utilizados para almacenar los bits de datos. Los bits almacenados en esos registros pueden hacerse mover dentro de los registros y/o dentro/fuera de los registros aplicando pulsos de reloj. Esos registros se denominan registros de turno. Un registro de desplazamiento de n-bits puede formarse por la cascada de n chancletas donde cada flip-flop almacena un solo bit de información (Figura 1). Aquí la línea clara se utiliza para reajustar cada chancleta que a su vez borra todo el registro.
Registros de turno pueden ser categorizados en base al tipo de movimiento de datos.
- Categoría 1: Dependiendo de la dirección del cambio de datos
- Categoría 2: Dependiendo del modo de entrada o salida de datos
Categoría 1: Dependiendo de la dirección del cambio de datos
Registro de cambio unidireccional
En este tipo, los bits de datos dentro del registro pueden moverse sólo en una dirección, es decir, hacia la izquierda o hacia la derecha, por lo que se denominan Registro de desplazamiento a la izquierda o Registro de desplazamiento a la derecha (figura 2).
Registro de cambio bidireccional o reversible
Registros de desplazamiento bidireccional (Figura 3) son los registros de turno que son capaces de desplazar los datos en cualquier dirección, es decir, tanto hacia la izquierda (indicado por las flechas verdes) como hacia la derecha (indicado por las flechas rojas). Esto se logra modificando el circuito de los registros de desplazamiento unidireccional mediante la provisión de ciertos circuitos adicionales que incluyen una línea de control (de color negro) que ayuda a seleccionar la dirección del desplazamiento de los datos.
Categoría 2: Dependiendo del modo de entrada o salida de datos
Registro de turnos de entrada y salida (SISO)
En caso de registros de turnos de entrada y salida en serie (Figura 4a), tanto la carga de datos como los procesos de recuperación de datos se realizan en serie, en forma bit a bit. Aquí, por cada pulso de reloj se realizan tres funciones, a saber..,
- Un bit de datos entra en el registro,
- Los datos del registro se desplazan un poco a la derecha o a la izquierda,
- Un bit de datos saldrá del registro de desplazamiento.
Sin embargo, hay que señalar que los bits de datos válidos salen del registro SISO de n bits sólo después de la aplicación de n pulsos de reloj. Además, se requiere proporcionar n pulsos de reloj adicionales para recuperar toda la palabra de entrada de n-bit.
Registro de turno de entrada y salida en serie (SIPO)
En en serie en paralelo fuera de los registros de turno (Figura 4b), los datos se cargan en el registro bit a bit mientras se recuperan de forma paralela. En este caso, en cada pulso de reloj
- Un bit de datos entra en el registro,
- Los datos del registro se desplazan un poco a la derecha o a la izquierda.
Mientras tanto, los bits de salida pueden ser leídos en paralelo, un bit de cada componente del registro individual. Además, cabe señalar que la palabra de datos de n-bit válida sale del n-bit El registro de la SIPO justo después de la aplicación de n pulsos de reloj.
Registro de turnos de entrada y salida paralela (PISO)
En caso de paralelo en los registros de salida en serie (Figura 4c), la carga de datos se realiza de forma paralela mientras que la recuperación de datos es de naturaleza serial. Aquí la palabra de entrada entera entra en el registro de turno en un solo ciclo de reloj. A partir de entonces, para cada ciclo de reloj.
- Los datos dentro del registro se desplazan un poco a la derecha o a la izquierda
- Un poco sale del registro.
Esto significa que los bits de datos de la palabra de entrada se obtienen en la salida de la PISO bit a bit. Esto indica que para obtener toda la palabra de entrada de n bits, habría que esperar n ciclos de reloj adicionales.
Registro de turnos de entrada y salida paralela (PIPO)
En en paralelo en paralelo fuera de los registros de desplazamiento (Figura 3d) Tanto la carga de datos como los procesos de recuperación de datos son de naturaleza paralela. Esto significa que toda la palabra de datos puede ser introducida en los registros con un solo tictac de reloj. Del mismo modo, toda esta palabra de datos puede obtenerse en los pines de salida de los componentes individuales del registro con sólo proporcionar un pulso de reloj más. Sin embargo, hay que tener en cuenta que estos tipos de registros de cambio también son capaces de desplazar los bits de datos hacia la derecha o hacia la izquierda.
Además, si la clavija de salida de los registros de desplazamiento se vuelve a conectar a la clavija de entrada de datos, entonces los bits de la palabra de entrada circulan dentro de los registros sin perderse.
Registros de turno se utilizan cuando es necesario realizar una tarea particular con un número reducido de clavijas de control. Por ejemplo, para controlar el 16 LEDs…se necesitarían 16 líneas individuales de un microcontrolador. Sin embargo, debido al limitado número de pines de entrada y salida de propósito general (GPIO) disponibles, esto no será factible. En tal caso, una combinación en serie de dos registros de desplazamiento resultaría útil, ya que puede realizar la tarea con sólo 4 pines de E/S.
Además, los registros de desplazamiento se utilizan ampliamente para convertir el flujo de datos en serie en forma paralela y viceversa.