Meyertons, Hood, Kivlin, Kowert & Goetzel, P.C.
Dependency matrix for the determination of load dependencies
Systems and methods for identification of dependent instructions on speculative load operations in a processor. A processor allocates entries of a unified pick queue for decoded and renamed instructions. Each entry of a corresponding dependency matrix is configured to store a dependency bit for each other instruction in the pick queue. The processor speculates that loads will hit in the data cache, hit in the TLB and not have a read after write (RAW) hazard. For each unresolved load, the pick queue tracks dependent instructions via dependency vectors based upon the dependency matrix. If a load speculation is found to be incorrect, dependent instructions in the pick queue are reset to allow for subsequent picking, and dependent instructions in flight are canceled. On completion of a load miss, dependent operations are re-issued. On resolution of a TLB miss or RAW hazard, the original load is replayed and dependent operations are issued again from the pick queue.
Oracle America, Inc.
G G G G G G
G06F G06F G06F G06F G06F G06F
inventional inventional inventional inventional inventional inventional
Matthew B. Xiang Shan Robert T.
Smittle Li Golla