top of page

La Segmentación 

 

La ejecución de cada instrucción en el procesador L16 se realiza a través de un camino de datos segmentado. La ejecución de cada instrucción está dividida  en 6 etapas independientes  como se muestra a continuación.

PC: cálculo del contador de programa (PC) el contador de programa o simplemente PC, es un registro de propósito especial, que contiene la dirección  de la próxima instrucción a ejecutar. En el flujo secuencial de programa, el PC se debe ir incrementado  en una unidad, pero en algunos casos, como en instrucción de salto esta puede cambiar el flujo secuencial del programa y redirigir la búsqueda de instrucciones al destino del salto.

BUS: búsqueda de la instrucción en la memoria de programa. En esta etapa se busca la instrucción a ejecutar apuntada por el contador de programa PC y la almacena en el registro de instrucciones. Este registro es de propósito especial que contiene  la instrucción que se comienza a ejecutar

D/L: decodificación de la instrucción y lectura de los datos. En esta etapa se decodifica la instrucción o sea a partir de esta etapa  se conoce que operación se va a ejecutar, en esta etapa se resuelven la mayoría de los saltos incondicionales.

EJE: ejecución de la instrucción  o cálculo de la dirección de memoria. En esta etapa se ejecuta  la instrucción. Se resuelven los datos condicionales, se calcula la dirección de memoria de datos  para las instrucciones de acceso  a  memoria, en caso que sea una operación de caculo se realiza la operación

MEM: Acceso  a la  Memoria de datos. En esta etapa las instrucciones de acceso a memoria, lee o escribe el dato en la memoria de datos. Si es una instrucción de cálculo, no se realiza ninguna operación.

ESC: Escritura de los datos. Finalmente se escriben al banco de registros el dato  que fue leído de la memoria de datos o fue el resultado de una instrucción de cálculo. Cada instrucción al ejecutarse va pasando por cada una de las etapas de la segmentación y al superar la etapa, esta queda libre, por lo que se puede aprovechar para iniciar la ejecución de la próxima instrucción. Este proceso se muestra en la tabla 2 si observamos la tabla  la instrucción inst1, comienza a ejecutarse en el ciclo 1 y tarda 6 ciclos en ejecutarse en el ciclo 2 la inst1 ya ha pasado la etapa del PC, por lo que puede iniciar la ejecución de la segunda instrucción inst2. Luego, el ciclo 3, ya que la instrucción inst1 ya ha superado la etapa del BUS y la instrucción inst2 ya ha superado la etapa del PC, por lo que se inicia la instrucción inst3.  Así sucesivamente con el resto de instrucciones.

bottom of page