Los procesadores superescalares actuales utilizan un reorder buffer (ROB) para contabilizar las instrucciones en vuelo. El ROB se implementa como una cola FIFO (first in first out) en la que las instrucciones se insertan en orden de programa después de ser decodificadas, y de la que se extraen también en orden de programa en la etapa commit. El uso de esta estructura proporciona un soporte simple para la especulación, las excepciones precisas y la reclamación de registros. Sin embargo, el hecho de retirar instrucciones en orden puede degradar las prestaciones si una operación de alta latencia está bloqueando la cabecera del ROB. Varias propuestas se han publicado atacando este problema. La mayoría utiliza retirada de instrucciones fuera de orden de forma especulativa, requiriendo almacenar puntos de recuperación (checkpoints) para restaurar un estado válido del procesador ante un fallo de especulación. Normalmente, los checkpoints necesitan implementarse con estructuras hardware costosas, y además requieren un crecimiento de otras estructuras del procesador, lo cual a su vez puede impactar en el tiempo de ciclo de reloj. Este problema afecta a muchos tipos de procesadores actuales, independientemente del número de hilos hardware (threads) y del número de núcleos de cómputo (cores) que incluyan. Esta tesis abarca el estudio de la retirada no especulativa de instrucciones fuera de orden en procesadores superescalares, multithread y multicore. En primer lugar, la arquitectura Validation Buffer superescalar se propone como un diseño novedoso del procesador en el que las instrucciones se retiran fuera de orden de manera no especulativa y, por tanto, prescindiendo de checkpoints. El ROB se remplaza por una cola FIFO de menor tamaño, llamada validation buffer (VB), que las instrucciones pueden abandonar en cuanto sean clasificadas como correctamente o incorrectamente especuladas, sea cual sea el estado de su ejecución. La gestión de la estructura VB se complementa con una estrategia agresiva de renombrado de registros, que desacopla la liberación de registros físicos de la etapa commit. La arquitectura VB alivia sensiblemente el cuello de botella impuesto por un ROB y reduce la complejidad de otras estructuras del procesador. Por ejemplo, un VB puede mejorar las prestaciones de un ROB con el doble de entradas, reduciendo por tanto el coste de su implementación. En segundo lugar, la arquitectura Validation Buffer Multithread se propone y evalúa sobre procesadores multithread de grano grueso (coarse-grain), multithread de grano fino (fine-grain) y multithread simultáneo. Los procesadores multithread se popularizaron como una evolución de los procesadores superescalares para aumentar la utilización del ancho de banda de la etapa issue. Asimismo, la retirada de instrucciones fuera de orden contribuye a reducir el desperdicio de este ancho de banda impidiendo que instrucciones de alta latencia bloqueen el flujo de instrucciones cuando se llena el ROB. La evaluación de la arquitectura VB en procesadores multithread muestra de nuevo un incremento de las prestaciones y una reducción de la complejidad hardware. Por ejemplo, el número de hilos hardware soportados puede reducirse, o el paradigma de multithreading puede simplificarse, provocando en ambos casos una reducción del coste que no afecta a las prestaciones. Por último, la arquitectura Validation Buffer Multicore se presenta como un entorno multiprocesador en el que las instrucciones se retiran fuera de orden. Los multiprocesadores, y en particular los chips multicore, constituyen la tendencia actual en el mercado de procesadores. Los multiprocesadores que implementan un modelo de memoria estricto se benefician sensiblemente de la incorporación de ventanas de instrucciones muy largas, especialmente en aquellas ocasiones en que las instrucciones de lectura o escritura en memoria producen fallos de cache, y cuyo tiempo de acceso es deseable solapar con otras instrucciones de cómputo. La extensión de la arquitectura VB a un entorno multiprocesador contribuye a este objetivo permitiendo que cada núcleo de cómputo retire sus instrucciones fuera de orden, mientras se continúa garantizando la consistencia secuencial en el acceso a memoria. Esta propuesta exhibe prestaciones similares a un multiprocesador basado en un ROB cuando este último implementa un modelo de memoria relajado, y las mejora si éste implementa un modelo de memoria estricto.