¿Tiene instrucciones separadas para cada registro o pase de registro como argumento?

0

Estoy tratando de diseñar una arquitectura de procesador (muy) simple. Estoy en el proceso de crear un conjunto de instrucciones básicas para él, sin embargo, no estoy seguro de cuál es la mejor forma de implementar algunas instrucciones ("mejor" significa lo que la mayoría de la gente usa - para eliminar la subjetividad).

Por ejemplo, tome una instrucción output y diga que quiero generar el registro a o el registro b . Hay dos formas de hacerlo: tener dos instrucciones diferentes, una para generar a y uno para generar b , o podría ser una instrucción y, dependiendo del siguiente byte en la memoria (argumento), genera a o b .

¿Cuál es la forma más común o más eficiente de hacer esto?

Gracias de antemano.

P.S. Esta es mi primera pregunta, así que si he hecho algo terriblemente mal, señálelo e intentaré solucionarlo.

    
pregunta Jachdich

2 respuestas

1

Aún debe definir qué significa "mejor" para usted en el contexto de su implementación general. No nos ha dicho nada sobre la arquitectura general de su CPU "simple" o su proceso de diseño. ¿Cuánto tiempo ha pasado estudiando la codificación de instrucciones de los procesadores de 8 bits existentes? Incluso algo tan primitivo como el 8008 : observe cómo algunas instrucciones pueden referirse a uno o dos de los ocho registros. O el 6800 , que tiene dos registros de datos como el suyo.

Pero en términos generales, un "parámetro" ("operando" es un término más común para esto) no necesita ocupar un byte completo. Si su CPU tiene dos registros, la mayoría de las instrucciones querrán referirse a uno u otro. Entonces, ¿por qué no dedicar un bit del primer byte de la instrucción para indicar qué registro debe ser el origen o destino de la operación?

    
respondido por el Dave Tweed
0

El diseño de la arquitectura de la CPU es muy complicado, ¡e interesante! - tema. Hay muchas opciones que hacer, y lo que es mejor depende (entre otras cosas) del estado de la tecnología que utiliza, especialmente la diferencia de velocidad entre la CPU y la memoria.

Lea sobre el diseño de la CPU. Los mejores libros (avanzados) que conozco sobre este tema son de Hennessy y Patterson. Cuidado: cada edición de su libro seminal es un libro casi totalmente diferente.

    
respondido por el Wouter van Ooijen

Lea otras preguntas en las etiquetas