Els processadors superescalars actuals utilitzen un reorder buffer (ROB) per a comptabilitzar les instruccions en vol. El ROB s’implementa com una cua FIFO (first in first out) en la que les instruccions s’insereixen en ordre de programa després de ser descodificades, i de la que s’extrauen també en ordre de programa en l’etapa commit. L’ús d’aquesta estructura proporciona un suport simple per a l’especulació, les excepcions precises i la reclamació de registres. No obstant això, el fet de retirar instruccions en ordre pot degradar les prestacions si una operació d’alta latència està bloquejant la capçalera del ROB. Diverses propostes s’han publicat atacant aquest problema. La majoria utilitza retirada d’instruccions de forma especulativa, requerint emmagatzemar punts de recuperació (checkpoints) per a restaurar un estat vàlid del processador davant d’una fallada d’especulació. Normalment, els checkpoints necessiten implementar-se amb estructures hardware costoses, i a més requereixen el creixement d’altres estructures del processador, la qual cosa pot impactar en el temps de cicle de rellotge. Aquest problema afecta molts tipus de processadors actuals, independentment del nombre de fils hardware (threads) i del nombre de nuclis de còmput (cores) que incloguen. Aquesta tesi comprèn l’estudi de la retirada no especulativa d’instruccions en processadors superescalars, multithread i multicore. En primer lloc, l’arquitectura Validation Buffer superescalar es proposa com un disseny del processador en què les instruccions es retiren fora d’orde de manera no especulativa i, per tant, prescindint de checkpoints. El ROB es reemplaça per una cua FIFO més petita, anomenada validation buffer (VB), que les instruccions poden abandonar en quant siguen classificades com correctament o incorrectament especulades, siga quin siga l’estat de la seua execució. La gestió de l’estructura VB es complementa amb una estratègia agressiva de nomenament de registres, que desacobla l’alliberament de registres físics de l’etapa commit. L’arquitectura VB alleuja sensiblement el coll de botella imposat per un ROB i redueix la complexitat d’altres estructures del processador. Per exemple, un VB pot millorar les prestacions d’un ROB amb el doble d’entrades, reduint per tant el cost de la seua implementació. En segon lloc, l’arquitectura Validation Buffer Multithread es proposa i avalua sobre processadors multithread de gra gros (coarse-grain), multithread de gra fi (fine-grain) i multithread simultani. Els processadors multithread es van popularitzar com una evolució dels processadors superescalars per a augmentar la utilització de l’ample de banda de l’etapa issue. Així mateix, la retirada d’instruccions fora d’ordre contribueix a reduir el malgaste d’aquest ample de banda impedint que instruccions d’alta latència bloquegen el flux d’instruccions quan s’ompli el ROB. L’avaluació de l’arquitectura VB en processadors multithread mostra de nou un increment de les prestacions i una reducció de la complexitat hardware. Per exemple, el nombre de fils hardware suportats pot reduir-se, o el paradigma de multithreading pot simplificar-se, provocant en els dos casos una reducció del cost que no afecta les prestacions. Finalment, l’arquitectura Validation Buffer Multicore es presenta com un entorn multiprocessador en què les instruccions es retiren fora d’ordre. Els multiprocessadors, i en particular els xips multicore, constitueixen la tendència actual en el mercat de processadors. Els multiprocessadors que implementen un model de memòria estricte es beneficien sensiblement de la incorporació de finestres d’instruccions molt llargues, especialment en aquelles ocasions en què les instruccions de lectura o escriptura en memòria produeixen fallades de cache, i el temps d’accés de les quals és desitjable sobreposar amb altres instruccions de còmput. L’extensió de l’arquitectura VB a un entorn multiprocessador contribueix a aquest objectiu permetent que cada nucli de còmput retire les seues instruccions fora d’orde, mentre es continua garantint la consistència seqüencial en l’accés a memòria. Aquesta proposta exhibeix prestacions semblants a un multiprocessador basat en un ROB quan aquest últim implementa un model de memòria relaxat, i les millora si aquest implementa un model de memòria estricte.