Uma coisa que você precisa considerar é se deve permitir qualquer forma de instrução com várias palavras ou qualquer coisa que possa "agir" como uma instrução com várias palavras; se o fizer, convém considerar se deve usar palavras de instruções adicionais após a instrução principal ou prefixar as palavras antes dela. Permitir prefixos e palavras subsequentes pode aumentar a complexidade do tratamento de interrupções, mas pode evitar a necessidade de ajustar instruções raramente usadas no mesmo espaço de código de operação que as usadas com freqüência.
Se as instruções são buscadas no ciclo antes de serem executadas, pode-se ter uma instrução de "ramificação condicional" que faz com que a próxima palavra de instrução seja ignorada ou então seu conteúdo é transferido diretamente para o contador do programa; esse design pode adicionar uma complexidade extra à interrupção do seqüenciamento, mas pode facilitar a necessidade de usar grande parte do espaço do código de operação para instruções de "ramificação", "salto" e "chamada", permitindo uma variedade muito maior de condições de ramificação do que seria possível. Como uma ramificação obtida geralmente requer um ciclo morto após a execução da instrução, independentemente da origem do endereço, ter o endereço da palavra seguinte que foi buscada, mas não será executada, não custa mais Tempo.
Embora a remoção do endereço de destino das instruções de ramificação reduza a quantidade de espaço do código de operação que eles consomem, um formato de código de operação de 16 bits ainda é bastante restrito. O uso de instruções de prefixo pode ajudar com isso. Se, por exemplo, alguém quiser ter 32 registros, permitir que qualquer registro seja especificado independentemente como origem1, origem2 e destino exigiria 15 bits no código de operação, permitindo um total impressionante de duas instruções. Não é muito útil. Por outro lado, seria capaz de usar qualquer um dos 32 registros para cada um dos três operandos. Pode-se equilibrar os dois objetivos fazendo com que qualquer operação da ALU que não seja precedida por um prefixo use oito bits para fazer duas de dezesseis seleções de registro, mas uma operação da ALU que segue imediatamente um prefixo use alguns bits no prefixo junto com oito da instrução a seguir, para permitir a seleção independente de ambas as fontes e o destino do conjunto completo de 32. As instruções que usam os registros superiores precisariam de duas palavras / ciclos em vez de um, mas em alguns casos essa troca poderia valer a pena. A maior dificuldade com o uso de prefixos é que é preciso impedir que uma interrupção ocorra entre um prefixo e a próxima instrução ou garantir que, se ocorrer uma interrupção, a instrução após o prefixo ainda use os registros corretos [por exemplo, tendo o programa -counter save logic armazena o endereço da última instrução sem prefixo executada]. mas, em alguns casos, essa troca poderia valer a pena. A maior dificuldade com o uso de prefixos é que é preciso impedir que uma interrupção ocorra entre um prefixo e a próxima instrução ou garantir que, se ocorrer uma interrupção, a instrução após o prefixo ainda use os registros corretos [por exemplo, tendo o programa -counter save logic armazena o endereço da última instrução sem prefixo executada]. mas, em alguns casos, essa troca poderia valer a pena. A maior dificuldade com o uso de prefixos é que é preciso impedir que uma interrupção ocorra entre um prefixo e a próxima instrução ou garantir que, se ocorrer uma interrupção, a instrução após o prefixo ainda use os registros corretos [por exemplo, tendo o programa -counter save logic armazena o endereço da última instrução sem prefixo executada].
O uso de instruções com várias palavras dificultará alguns aspectos do design, mas poderá reduzir a necessidade de tomar outras decisões difíceis.