Browse Prior Art Database

A Method and System for Precise Prediction of OSC Hazards using Distance Comparison between Store and Load Instructions

IP.com Disclosure Number: IPCOM000234987D
Publication Date: 2014-Feb-21
Document File: 3 page(s) / 99K

Publishing Venue

The IP.com Prior Art Database

Abstract

A method and system is disclosed for predicting and avoiding operand-store-compare (OSC) hazards using distance information of the store and load pair that caused the OSC hazards.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 51% of the total text.

Page 01 of 3

A Method and System for Precise Prediction of OSC Hazards using Distance Comparison between Store and Load Instructions

Generally, operand-store-compare (OSC) history table (OHT) is used to predict and avoid OSC hazards in out-of-order microprocessors. However, existing methods doesn't work well for workloads having many store-load pairs intermingled with each other. Because, bad dependencies prevent the load from being issued until all stores that are forced to be dependent on finish their execution. So, thereby bad dependencies limit the number of instructions being executed in parallel and thus hit performance. Performance degradation by bad dependencies can be larger than performance benefit by avoiding OSC hazards with good dependencies. Further, bad dependencies also occur when loads and stores are being stuck into OHT by one time OSC event that may not occur again in the future.

Disclosed is a method and system for predicting and avoiding operand-store-compare (OSC) hazards using distance information of the store and load pair that caused the OSC hazards. Firstly, the system includes a load/store unit (LSU) which provides

distance between store and load that caused an OSC hazard. Then, the store and load that caused the OSC hazard are installed into OHT if their distance doesn't exceed a pre-defined limit. Further, when the store and load are installed, distance information is also stored into OHT. Then, Load and store marked as a likely-victim and likely-perpetrator are passed down to an instruction issue unit (ISU) with the distance

information. ISU compares the distance of the likely-victim with the distances of all likely-perpetrators in the issue queue, and creates dependency with the one which has the same distance from their corresponding likely-victims.

In one embodiment, when an OSC hazard is detected LSU calculates distance between

OSC-perpetrator and OSC-victim that caused the OSC hazard. Then, LSU sets store-bit and puts distance into a store queue (STQ) entry for the OSC- perpetrator, and also sets load-bit and puts distance into a load queue (LDQ) entry for the OSC-Victim. Further, when an LDQ entry having load-bit=1 is retired from LDQ at completion, corresponding OSC-Victim is installed into OHT with load-bit=1 and distance, when its

distance doesn't exceed the pre-defined limit. Similarly, when an STQ entry having

store-bit=1 is retired from STQ at write-back, corresponding OSC-perpetrator is installed into OHT with store-bit=1 and distance, if its distance doesn't exceed the pre-defined limit.

Subsequently, when instruction fetch unit (IFU) fetches instructions, all instructions look up OHT with an instruction address. Then, an instruction that finds OSC-p...