Un registro de desplazamiento es simplemente una cadena de registros en la que la entrada de uno está conectada a la salida del anterior para permitir que los datos se desplacen en serie de uno a otro.
Si imagina entonces que tiene 8 registros en una cadena, un registro de desplazamiento de 8 bits, entonces si lo mira al final, verá solo 1 señal (serial). Sin embargo, si lo miras de lado, verás 8 señales (paralelas). Esta es una de las aplicaciones prácticas de los registros de desplazamiento: para convertir datos entre flujos de datos en serie y en paralelo.
Ahora ir de serie a paralelo es sencillo. Simplemente registre los datos a través de la entrada en serie y luego, una vez que se haya registrado la cantidad correcta de bits, lea los datos del bus paralelo.
Pasar de paralelo a serial es un poco más complejo, pero no tanto. Lo que necesita es un circuito llamado "carga paralela". Simplemente, esto es solo un caso de insertar un multiplexor 2: 1 entre cada registro. La salida del mux va a la entrada de un registro en su cadena. Una entrada del mux va a la salida del registro anterior en la cadena. Eso te deja con la segunda entrada del mux que es tu bus de datos de carga.
Cuando desee cargar datos, seleccione todas las líneas de datos de carga y los datos se registrarán en todos los registros simultáneamente (carga paralela). Cuando desea desplazar los datos, selecciona el registro anterior con el mux y ahora tiene un registro de desplazamiento de nuevo que puede desplazar los datos en serie.