Planificación de Instrucciones en Fallo de Caché

MPS: Miss-Path Schedulling for Multiple-Issue Processors

En este artículo los autores proponen trasladar el hardware de planificación de instrucciones desde la ruta del procesador hacia la ruta entre la memoria principal y la caché de instrucciones. La planificación de instrucciones se hace cuando se produce un fallo de caché y es necesario traer desde la memoria principal un nuevo bloque. Este nuevo bloque se planifica y se introduce en la cache organizando las instrucciones en grupos sin dependencias. Estos grupos de instrucciones pueden ser enviados en paralelo a las distintas unidades funcionales del procesador, en cierta forma como si se tratara de una instrucción VLIW (Very Long Instruction Word). El algoritmo utilizado para la construcción dinámica de estas instrucciones tipo VLIW se apoya en dos elementos:
a) Una Tabla de Definición y Uso de Registros: Para cada registro almacena la información del último ciclo (más reciente) en el que fue escrito (definido) y leído (usado). Estos datos reciben respectivamente los nombres de def-time y last-used, y la tabla el de def-table.
b) Una Tabla de Reserva (Reservation Table): Tabla en la que anotamos para cada ciclo que instrucción hace uso de las distintas unidades funcionales del procesador. Continue reading “Planificación de Instrucciones en Fallo de Caché”