Por favor, use este identificador para citar o enlazar este ítem: http://repositoriodigital.ipn.mx/handle/123456789/6045
Título : Diseño de un ROB-Distribuido para procesadores superescalables
Autor : Ramírez Salinas, Marco Antonio
Molina Lozano, Herón
García Ordaz, José Raúl
Palabras clave : Buffer storage (Computer science)
Microproccesors - Design and construction
Fecha de publicación : 2011
Editorial : Instituto Politécnico Nacional. Centro de Investigación en Computación
Resumen : Para lograr un alto desempeño, los procesadores superescalares modernos utilizan diversas técnicas implementadas en hardware, tales como el renombramiento de registros, la predicción de saltos condicionales, y la ejecución especulativa de instrucciones. Estas técnicas tienen el objetivo de exponer la mayor cantidad posible de paralelismo a nivel de instrucción encontrado en un programa, mantener ocupadas al máximo las unidades funcionales del procesador, e incluso permitir que la ejecución de las instrucciones se realice fuera del orden original del programa, pero conservando la consistencia de los resultados, mediante el retiro de cada instrucción en estricto orden de programa. Estas técnicas funcionan en combinación con una importante estructura funcional, conocida comúnmente como Búfer de Reordenamiento de Instrucciones. Al conjunto de instrucciones que se encuentran al vuelo en el procesador, se le da el nombre de Ventana de Instrucciones. El estado en el que se encuentra cada una de estas instrucciones, a medida que atraviesan las diferentes etapas de ejecución, es mantenido por el Búfer de Reordenamiento de Instrucciones, (ROB, por sus siglas en inglés). Con la información que almacena, esta estructura funcional es capaz de soportar la ejecución especulativa de instrucciones, realizar el reciclado de registros físicos, recuperar el estado exacto del procesador (en caso de eventos como errores de predicción de salto ó excepciones), y llevar a cabo el retiro de instrucciones. El Búfer de Reordenamiento de Instrucciones se implementa típicamente como una estructura FIFO circular monolítica, con apuntadores de cabeza y cola, el primero apuntando a la próxima instrucción a ser retirada y el segundo apuntando a la próxima entrada libre. El número de entradas que tenga el ROB determina el tamaño de la Ventana de Instrucciones. El diseño monolítico típico del ROB presenta varios inconvenientes como la cantidad de recursos que se necesitan para su implementación, el tamaño del área que ocupa, la concentración de calor debido a la disipación de energía que genera y las fallas en el mecanismo de restauración del estado del procesador. En el presente trabajo de tesis se presenta un nuevo diseño de la arquitectura de un Búfer de Reordenamiento de Instrucciones. Este diseño concibe al ROB como un conjunto de subestructuras distribuidas e introduce una pequeña subestructura llamada B-ROB, la cual almacena la información para soportar la ejecución especulativa, la recuperación de saltos y el retiro de instrucciones. De esta manera, se obtiene una arquitectura optimizada y distribuida que permite incrementar el desempeño del procesador en promedio, en un 8%, usando una configuración distribuida donde el tamaño de la subestructura B-ROB puede reducirse hasta en 1/4 del tamaño de la subestructura equivalente en un diseño monolítico tradicional. // In order to achieve high performance, modern superscalar processors use various techniques implemented in hardware, such as register renaming, branch prediction, and speculative execution. The target of these techniques is to expose as much instruction-level parallelism as possible, keeping functional units busy to the maximum, and even allowing out-of-order execution of instructions. These techniques work in combination with an important functional structure commonly known as ReOrder Buffer. The set of in-flight instructions in the processor is named Instruction Window. The state of each one of these instructions, as they pass through the different execution stages of the pipeline, is maintained by the ReOrder Buffer (ROB). With the information it stores, this functional structure can support speculative execution, physical register recycling, recovery of the exact state of the processor (in the event of a branch misprediction or exception), and instruction commit. The ReOrder Buffer is typically implemented as a monolithic circular FIFO structure, with head and tail pointers, the first pointing to the next instruction to be retired, and the second pointing to the next free entry. The number of entries in the ROB determines the size of the Instruction Window. The typical monolithic design of the ROB has several drawbacks such as the amount of resources that are needed to implement it, the size of area that it occupies, the hotspot it generates, and the flaws in the processor state recovery mechanism. This thesis presents a new design of the ReOrder Buffer architecture. In this design the ROB is conceived as a set of distributed substructures and introduces a small structure called B-ROB, which stores information to support speculative execution, misprediction recovery and instruction commit. This way, an optimized distributed architecture is obtained. This new design increases the processor performance by 8% in average, using a distributed configuration where the size of the B-ROB substructure can be reduced to 1/4 of the equivalent substructure in a traditional monolithic design.
Descripción : Maestría en Ciencias de la Computación
URI : http://www.repositoriodigital.ipn.mx/handle/123456789/6045
Aparece en las colecciones: Maestría

Ficheros en este ítem:
Fichero Descripción Tamaño Formato  
Tesis 12329.pdf6.24 MBAdobe PDFVisualizar/Abrir


Los ítems de DSpace están protegidos por copyright, con todos los derechos reservados, a menos que se indique lo contrario.