Cuando gira los neumáticos de su automóvil, ¿cómo sucede eso? Bueno, ¿quitas al menos dos y los cambias, sí?
Almacenamiento de bits, ya sea flip-flops individuales o una gran cantidad de ellos embalados en un ram. Cada bit de almacenamiento es legible y se puede escribir. de lo contrario ¿cuál es el punto? Un cambio de bit no es más que una operación que quita los neumáticos, lee los bits de un registro o ubicación de memoria, y luego los escribe de nuevo en una ubicación diferente, al igual que mover un neumático desde la parte posterior hacia el frente, usted lee fuera, luego escríbelo de nuevo en una ubicación diferente.
No hay magia en la lógica, todo es muy simple en concepto. cero, uno, y, o, no, es todo lo que se requiere para entender. Es solo en ocasiones una cantidad masiva de ys, ors y nots en paralelo y / o series.
Algunos procesadores cambian un bit a la vez y en pseudo hdl no es realmente diferente al software
alu_out[16] = (operand_a[14:0],0)
la salida de 16 bits se compone de los 15 bits más bajos de la entrada reubicados a los 15 bits superiores de la salida con un cero en la posición 0.
Y esa línea de código puede estar en una instrucción de tipo switch o en el árbol de if y else else que básicamente dice que alu_operation = left_shift hace esto.
Y todo eso se compila en puertas lógicas, los ifs y las asignaciones se convierten en y, o, no puertas o puertas derivadas de y, o, no. en un enorme nido de ratas.
Algunos procesadores tienen un desplazador de tamaño variable que, en una operación, puede girar o desplazarse de la forma que desee (obviamente, hasta el tamaño de la palabra completa, de lo contrario, cuál es el punto) que requiere muchas más puertas, solo una operación El bit de la salida para un registro de 16 bits tiene una dependencia de 15, 16 o 17 a un mux, solo para esa operación.