发明名称 LOAD QUEUE ENTRY REUSE FOR OPERAND STORE COMPARE HISTORY TABLE UPDATE
摘要 Embodiments relate to load queue entry reuse for operand store compare (OSC) history table update. An aspect includes allocating a load queue entry in a load queue to a load instruction that is issued into an instruction pipeline, the load queue entry comprising a valid tag that is set and a keep tag that is unset. Another aspect includes based on the flushing of the load instruction, unsetting the valid tag and setting the keep tag. Another aspect includes reissuing the load instruction into the instruction pipeline. Another aspect includes based on determining that the allocated load queue entry corresponds to the reissued load instruction, setting the valid tag and leaving the keep tag set. Another aspect includes based on completing the reissued load instruction, and based on the valid tag and the keep tag being set, updating the OSC history table corresponding to the load instruction.
申请公布号 US2016239308(A1) 申请公布日期 2016.08.18
申请号 US201615080848 申请日期 2016.03.25
申请人 International Business Machines Corporation 发明人 Alexander Khary J.;Granovsky Ilya
分类号 G06F9/38 主分类号 G06F9/38
代理机构 代理人
主权项 1. A computer implemented method for load queue entry reuse for operand store compare (OSC) history table update, the method comprising: issuing a load instruction into an instruction pipeline of a processor; allocating a load queue entry in a load queue to the load instruction, the load queue entry comprising a valid tag and a keep tag, wherein the valid tag is set and the keep tag is unset in the allocated load queue entry; flushing the load instruction by the instruction pipeline; based on the flushing of the load instruction, unsetting the valid tag and setting the keep tag in the allocated load queue entry; reissuing the load instruction into the instruction pipeline; determining that the allocated load queue entry corresponds to the reissued load instruction; based on determining that the allocated load queue entry corresponds to the reissued load instruction: setting the valid tag and leaving the keep tag set in the allocated load queue entry;completing the reissued load instruction in the instruction pipeline;based on completing the reissued load instruction, and based on the valid tag and the keep tag being set, updating the OSC history table with OSC information corresponding to the load instruction; based on determining that the allocated load queue entry does not correspond to the reissued load instruction: determining whether the load queue is full: based on determining that the load queue is full: identifying a load queue entry in which the valid tag is unset and the keep tag is set;deallocating the identified load queue entry by unsetting the keep tag in the identified load queue entry;allocating the deallocated load queue entry to the load instruction;based on not identifying the load queue entry where the valid tag is unset and the keep tag is set, not entering the issued instruction into the load queue;based on determining the load queue is not full: identifying the load queue entry in which the valid tag is unset and the keep tag is unset; andallocating the identified load queue entry into the load instruction.
地址 Armonk NY US