¿Qué es más usado, desplazamiento a la izquierda o derecha? [cerrado]

0

Oki, así que estoy construyendo una CPU de 16 bits en logisim y terminé el sumador y el restador y las funciones de la compuerta NAND. Entonces yo estaba como hmmm, derecha o izquierda llevar? Izquierda se usa para la multiplicación, derecha para la división, pero como no soy bueno en la codificación RISC (porque yah, va a tener RISC ISA) Puede que no la implemente, también tomará muchos más ciclos. Si bien puedo hacer la multiplicación y no la división, creo que debería ir con el acarreo izquierdo, pero ¿no estoy seguro? ¿Cuál debo usar, o debo usar las dos? Thx

    
pregunta Jesse Carter

1 respuesta

2

Su CPU debe tener cinco cambios diferentes de un solo bit para facilitar la vida a los programadores.

  • gire a la izquierda en carry, llene LSB con cero. Esto generalmente se llama "cambio a la izquierda"
  • gire a la derecha en carry, llene MSB con cero. Esto generalmente se llama "cambio lógico a la derecha"
  • gire a la derecha para llevar, deje el MSB intacto (lo que significa que el MSB se duplica en la posición adyacente). Esto suele denominarse "desplazamiento aritmético a la derecha". Necesitas esto para los números de 2 complementos.
  • girar a la izquierda a través de llevar. Igual que el desplazamiento a la izquierda, pero el LSB se llena con el valor anterior del indicador de acarreo.
  • rotar a la derecha a través de llevar. Igual que el cambio lógico a la derecha, pero el MSB está lleno con el valor antiguo del indicador de acarreo.

Las instrucciones de rotación son útiles cuando los cambios en cascada sobre varias palabras.

    
respondido por el Janka

Lea otras preguntas en las etiquetas