CISC, flujo de ejecución de microcódigo

1

Supongamos que tenemos un procesador de 16 bits y dicha instrucción CISC:

0001 0010 0100 1000

Por lo que he entendido de la respuesta a la pregunta relacionada

En el proceso de descodificación, esta instrucción CISC se dividirá en instrucciones únicas de hardware.

  1. ¿Significa esto que el tamaño de cada instrucción pequeña es siempre el mismo? ¿Al igual que la instrucción CISC de 16 bits se dividirá en 4 pequeñas instrucciones de 4 bits?

Desde el enlace de arriba:

"... es más conveniente implementarlas como una serie de instrucciones elementales que se encuentran en una memoria interna muy rápida".

  1. ¿Eso significa que una pequeña instrucción dentro de una instrucción CISC (0001 por ejemplo) es una dirección de una memoria interna de una CPU que contiene una instrucción única de 16 bits (o algo así) que luego va al decodificador que crea una señal para ALU?
pregunta Haml

1 respuesta

1

Para comprender el comportamiento de la CPU, debe saber cómo se realiza una instrucción: hay una parte fija que representa la instrucción (digamos que 0001 significa INC), que se repite cada Cuando escribe una instrucción INC, hay una parte que depende de la instrucción y es por eso que las instrucciones de los procesadores CISC no son todas iguales. La segunda parte contiene, en nuestro ejemplo, la dirección de la ubicación de memoria que queremos incrementar (0010 0100 1000, suponiendo que utiliza 12 bits para direccionar la memoria).

Cada conjunto de instrucciones se hace de esta manera. La diferencia en el conjunto de instrucciones entre un CISC y un procesador RISC es que este último utiliza un conjunto de instrucciones con un ancho de instrucción fijo.

La hoja de datos de un microprocesador puede mostrarle exactamente cómo se realiza cada instrucción. Si desea ver un ejemplo de cómo se realiza una instrucción, le aconsejo que comience con la hoja de datos de los procesadores antiguos porque son menos complejos y son más fáciles de entender. Echa un vistazo a las siguientes opciones: Válvalo de la mancha de la , desde la página 101.

En cuanto a la pregunta, esencialmente no. La instrucción CISC no contiene las instrucciones microcodificadas únicas, sino solo un código que identifica la operación que queremos realizar y los datos necesarios (valor para cargar, Dirección de la ubicación de la memoria ...) para ejecutar la instrucción. La CPU tiene un decodificador que cuando lee el código sabe qué hacer para esa instrucción específica y, si es una instrucción microcodificada, sabe cómo descomponerla. Como puede ver, la cantidad de instrucciones microcodificadas en las que se divide una instrucción no depende de la longitud de la instrucción y es algo "oculto" en la propia CPU, no accesible desde el exterior. Lo mismo ocurre con el código de operación de las instrucciones "micro".

Esta es una respuesta simplista, pero te dice esencialmente cómo funcionan las cosas. Inmediatamente puede ver por qué el decodificador de un procesador CISC, especialmente si usa microcódigo, como las CPU x86, es mucho más complejo que su contraparte RISC.

    
respondido por el Oceanic815

Lea otras preguntas en las etiquetas