发明名称 Cache backing store for transactional memory
摘要 In response to a transactional store request, the higher level cache transmits, to the lower level cache, a backup copy of an unaltered target cache line in response to a target real address hitting in the higher level cache, updates the target cache line with store data to obtain an updated target cache line, and records the target real address as belonging to a transaction footprint of the memory transaction. In response to a conflicting access to the transaction footprint prior to completion of the memory transaction, the higher level cache signals failure of the memory transaction to the processor core, invalidates the updated target cache line in the higher level cache, and causes the backup copy of the target cache line in the lower level cache to be restored as a current version of the target cache line.
申请公布号 US9501411(B2) 申请公布日期 2016.11.22
申请号 US201414473687 申请日期 2014.08.29
申请人 International Business Machines Corporation 发明人 Guthrie Guy L.;Le Hien M.;Starke William J.;Williams Derek E.;Williams Phillip G.
分类号 G06F12/08;G06F9/46;G06F12/12 主分类号 G06F12/08
代理机构 代理人 Russell Brian F.;Bennett Steven L.
主权项 1. A processing unit for a data processing system including a system memory, the processing unit comprising: a processor core; a lower level cache; a higher level cache coupled to the processor core and to the lower level cache, wherein the higher level cache is configured to perform: responsive to receipt at the higher level cache of a transactional store request of the processor core generated by execution of a transactional store instruction within a memory transaction, the transactional store request specifying a target real address of a target cache line and store data: in response to the target real address hitting in the higher level cache, the higher level cache transmitting, to the lower level cache, a backup copy of the target cache line unaltered by the store data, wherein the higher level cache transmits the backup copy of the target cache line to the lower level cache only in response to the target cache line having a dirty coherence state in the higher level cache and not already being recorded as belonging to a transaction footprint of the memory transaction;the higher level cache updating the target cache line with the store data to obtain an updated target cache line;the higher level cache recording the target real address as belonging to the transaction footprint of the memory transaction; andresponsive to a conflicting access to the transaction footprint prior to completion of the memory transaction, the higher level cache signaling failure of the memory transaction to the processor core, invalidating the updated target cache line in the higher level cache, and causing the backup copy of the target cache line in the lower level cache to be restored as a current version of the target cache line.
地址 Armonk NY US