Una cosa que deberá considerar es si debe permitir cualquier forma de instrucción de palabras múltiples, o cualquier cosa que pueda "actuar" como una instrucción de palabras múltiples; si lo hace, entonces puede querer considerar si usar palabras de instrucción adicionales después de la instrucción principal, o prefijo las palabras anteriores. Permitir que los prefijos y las palabras de seguimiento puedan aumentar la complejidad del manejo de interrupciones, pero puede evitar la necesidad de encajar instrucciones poco utilizadas en el mismo espacio de código de operación que las que se usan comúnmente.
Si se obtienen instrucciones en el ciclo antes de ejecutarse, se podría tener una instrucción de "rama condicional" que provoca que la siguiente palabra de instrucción se salte o que su contenido se transfiera directamente al contador del programa; Un diseño de este tipo podría agregar cierta complejidad adicional para interrumpir la secuenciación, pero podría aliviar la necesidad de utilizar una gran parte del espacio del código de operación para las instrucciones de "ramificación", "salto" y "llamada", al tiempo que permite un rango mucho más amplio de condiciones de ramificación. de lo contrario sería posible. Dado que una rama que se toma generalmente requerirá un ciclo muerto después de la ejecución de la instrucción en sí, independientemente de de dónde provenga la dirección, tener la dirección proviene de la siguiente palabra que se recuperó pero no se ejecutará, no cuesta nada más. tiempo.
A pesar de que mover la dirección de destino fuera de las instrucciones de bifurcación reducirá la cantidad de espacio de código de operación que se engulen, un formato de código de operación de 16 bits todavía es bastante ajustado. Usar instrucciones de prefijo puede ayudar con eso. Si, por ejemplo, uno quiere tener 32 registros, permitir que cualquier registro se especifique de forma independiente como source1, source2 y destination requeriría 15 bits en el código de operación, lo que permite un total de dos instrucciones. No es muy útil. Por otro lado, sería bueno poder utilizar cualquiera de los 32 registros para cada uno de los tres operandos. Uno podría equilibrar los dos objetivos teniendo una operación de ALU que no esté precedida por un prefijo. Use ocho bits para hacer dos selecciones de registro uno de dieciséis, pero tiene una operación de ALU que sigue inmediatamente a un prefijo. Use algunos bits en el prefijo. con ocho de la siguiente instrucción, a fin de permitir la selección independiente de ambas fuentes y el destino del conjunto completo de 32. Las instrucciones que utilizan los registros superiores tomarían dos palabras / ciclos en lugar de uno, pero en algunos casos tal compensación podría bien vale la pena La mayor dificultad con el uso de prefijos es que uno debe evitar que ocurra una interrupción entre un prefijo y la siguiente instrucción o, de lo contrario, asegurarse de que si ocurre una interrupción allí, la instrucción después del prefijo seguirá usando los registros correctos [por ejemplo. al hacer que la lógica de guardado del contador de programa almacene la dirección de la última instrucción no prefijada ejecutada].
El uso de instrucciones de varias palabras hará que algunos aspectos del diseño sean más difíciles, pero puede reducir la necesidad de tomar otras decisiones difíciles.