发明名称 CO-PROCESSOR MEMORY ACCESSES IN A TRANSACTIONAL MEMORY
摘要 Buffering a memory operand from a co-processor associated with a processor as a speculative store in a store accumulator of the processor, the processor including a cache and the store accumulator, the store accumulator buffering memory operands for writing to a higher level cache. Executing a transactional memory transaction, including the following. Suspending storing of memory operands in the store accumulator entries into the next higher level cache. Initiating a co-processor operation. Accumulating co-processor memory operands into corresponding locations of one or more queue entries of the accumulator associated with the transaction, and not storing the co-processor memory operands into the cache. Based on the transaction ending, storing accumulated co-processor memory operands from the one or more store accumulator entries associated with the transaction into the next higher level cache.
申请公布号 US2015378901(A1) 申请公布日期 2015.12.31
申请号 US201514825276 申请日期 2015.08.13
申请人 International Business Machines Corporation 发明人 Bradbury Jonathan D.;Gschwind Michael Karl;Schwarz Eric M.;Shum Chung-Lung K.;Slegel Timothy J.
分类号 G06F12/08;G06F9/46 主分类号 G06F12/08
代理机构 代理人
主权项 1. A method for buffering a memory operand from a co-processor associated with a processor as a speculative store in a store accumulator of the processor, the processor including a cache and the store accumulator, the store accumulator buffering memory operands for writing to a higher level cache, the method comprising: storing first memory operands from the processor into one or more cache entries of the cache; accumulating the first memory operands into corresponding locations of one or more store accumulator entries of the store accumulator; periodically storing accumulated first memory operands from one or more of the store accumulator entries into a next higher level cache; executing, by the processor, a transactional memory transaction, the execution comprising: suspending storing of memory operands in the store accumulator entries into the next higher level cache;initiating, by the transaction, a co-processor operation;storing second processor memory operands of the transaction into one or more cache entries of the cache;accumulating the second processor memory operands of the transaction into corresponding locations of one or more store accumulator entries of the store accumulator associated with the transaction;accumulating third co-processor memory operands into corresponding locations of one or more queue entries of the accumulator associated with the transaction, and not storing the co-processor memory operands into the cache; andbased on the transaction ending, storing accumulated second processor memory operands and third co-processor memory operands from the one or more store accumulator entries associated with the transaction into the next higher level cache.
地址 Armonk NY US