Sunteți pe pagina 1din 15

A Comprehensive Instruction Fetch Mechanism for a Processor Supporting Speculative Execution

The 25th International Symposium on Microarchitecture 1992 Oregon Tse Yu Yeh and Yale N. Patt The University of Michigan

Abraham Josafat Ruiz Ramrez

Introduccin
Mayor precisin de prediccin significa menos tareas desperdiciadas, incrementando el rendimiento de la mquina. Se propone una mecanismo para la instruccin de Fetch en un procesador superescalar soportando ejecucin especulativa.

Introduccin
Consiste en:
Predictor Branch Condicional Predictor Branch de Dos Niveles Cache para almacenar direcciones de destino del Branch Pila de almacenamiento para direcciones de Retorno de subrutinas Pipeline que puede generar una direccin predecida de Fetch en cada ciclo

Qu es el Predictor Branch de Dos Niveles?

References: T.Yeh and Y. N. Patt: Alternative Implementations of Two Level Adaptative Branch Prediction. Proceedings of the 19th International Symposium on Computer Architecture, pp 124-134, 1992.

Instruction Fetch Mechanism Design


20% aprox. de las instrucciones dinmicas son instrucciones Fetch Hay cuatro tipos de instrucciones de Fetch:
Condicional Incondicional Inmediato Incondicional Indirecto Retorno (Va junto a una llamada de funcin)

Conditional Branch Prediction


El Two-Level Adaptive Branch Predictor ofrece mayor precisin en las predicciones de caminos del Branch. El Branch Target Buffer reduce el retardo en proveer las direcciones de Fetch Cada Branch Target Buffer almacena:
Direccin de destino del Branch Direccin de inicion del Fall-Through Basic Block (Secuencia de instrucciones consecutivas que tienen exactamente un punto de entrada y un punto de salida)

Inmediate and Indirect Unconditional Branch Prediction


Son predecidas usando el Branch Target Buffer La direccin de destino de un Branch incondicional inmediata es calculada al sumarle un offset La direccin de destino de un Branch incondicional indirecto es calculado por instrucciones anteriores

Return Instruction Prediction


Las direcciones de destino de instrucciones Return son predecidas usando una pila de sus direcciones Una direccin de retorno es agregada a la pila cada vez que se encuentra una llamada a funcin, y es sacada cada vez que una instruccin de retorno ocurre Cuando una instruccin de retorno es dada, la direccin de retorno en la cima de la pila es seleccionada para ser la siguiente direccin de Fetch

Comprehensive Design

Branch Execution Penalty

Simulation
Para la simulacin se utiliza un simulador para instrucciones de un procesador Motorola 88100 El simulador:
Decodifica la instruccin Predice los branches Verifica las predicciones con resultados de cada branch

Simulation

Simulation

Simulation

Simulation

S-ar putea să vă placă și