Ultima edición el 16 septiembre, 2021 por JORGE CABRERA BERRÍOS
Los registros de desplazamiento bidireccionales son los dispositivos de almacenamiento que son capaces de desplazar los datos hacia la derecha o hacia la izquierda, según el modo seleccionado. La Figura 1 muestra un registro de desplazamiento bidireccional de n bits con capacidad de recuperación y carga de datos en serie. Inicialmente, todos los flip-flops en el registro se restablecen colocando sus pines transparentes en alto. La siguiente línea de control R / LÌ… se hace baja o alta para optar por desplazamiento a la izquierda o desplazamiento a la derecha de los bits de datos, respectivamente.
Ahora, si R / L̅ = 1, entonces las puertas A 1 de todos los circuitos combinacionales se activan mientras que las puertas A 2 se desactivarán al mismo tiempo. Debido a esto, las salidas de cada flip-flop aparecen en las entradas del siguiente flip-flop a través de la salida de la puerta OR (excepto para el último flip-flop FF n ).
Por ejemplo, Q 1 aparece en D 2 a través de la salida de la puerta O 1 (O 1 ), Q 2 aparece en D 3 a través de la salida de la puerta O 2 (O 2 ),… y Q n-1 aparece en D n a través de la salida de la puerta OR 1 (O n ) (líneas rojas). En este instante, si aparece el borde positivo del pulso de reloj, las salidas de los respectivos flip-flops reflejan sus entradas. Por tanto, Q 1 = D 1 , Q 2 = Q 1 ,… y Q n = Q n-1. Esto no es más que un desplazamiento a la derecha de los datos en un solo bit dentro del registro. Siguiendo los mismos motivos, se puede observar que para cada flanco ascendente del reloj, los datos dentro del registro se desplazan a la derecha un solo bit siempre que R / L̅ permanezca alto.
Por otro lado, si R / L̅ baja, las puertas A 2 de los circuitos combinacionales se habilitan mientras que las puertas A 1 se desactivan. Esto hace que las salidas de cada flip-flop aparezcan en los pines de entrada del flip-flop muy anterior a través de sus salidas de puerta OR (excepto el primer flip-flop , FF 1 ). Por ejemplo, Q n aparece en D n-1 a través de la salida de la puerta OR n-1 (O n-1 ),… Q 3 aparece en D 2 a través de la salida de la puerta OR 2 (O 2 ) y Q 2 aparece en D 1 a través de la salida de la puerta OR 1 (O 1). Estos bits de entrada se bloquean en sus respectivos pines de salida tan pronto como aparece el borde anterior del pulso de reloj y, por lo tanto, Q n-1 = Q n ,… Q 2 = Q 3 y Q 1 = Q 2 (líneas verdes). Esto significa que por cada tic del reloj, los datos dentro del registro se mueven hacia la izquierda un bit, siempre que la línea R / L̅ sea cero.
El funcionamiento de dicho registro bidireccional se puede resumir como en la Tabla I y se puede explicar con más detalle mediante las formas de onda de salida que se muestran en la Figura 2.