发明名称 TRANSACTIONAL MEMORY SUPPORT
摘要 An asymmetric multiprocessor system (2) includes a plurality of processor cores (4, 6) supporting transactional memory via controllers (14, 16) as well as one or more processor cores 8 which do not support transactional memory via hardware. The controllers respond to receipt of a request for exclusive access to a lock address by determining whether or not their associated processing element is currently executing a memory transaction guarded by a lock value stored at that lock address and if their processing element is executing such a transaction, then delaying releasing the lock address for exclusive access until a predetermined condition is met. If the processing element is not executing such a guarded memory transaction, then the lock address may be unconditionally released for exclusive access. The predetermined condition may be that a threshold delay has been exceeded since the request was received and/or that the request has previously been received and refused a threshold number of times. The request may arise through execution of a transaction start instruction which serves to read a lock address from an architectural register (76) storing the lock address should the processor executing that transaction start instruction not already be executing a pending memory transaction. If the processor is already executing a memory transaction, then the transaction start instruction need not access the lock value stored at the lock address held within the lock address register (76) as it may be assumed that the lock value has already been checked.
申请公布号 US2017017583(A1) 申请公布日期 2017.01.19
申请号 US201515123805 申请日期 2015.03.04
申请人 ARM LIMITED 发明人 HORSNELL Matthew James;GRISENTHWAITE Richard Roy;BILES Stuart David
分类号 G06F12/14;G06F9/46 主分类号 G06F12/14
代理机构 代理人
主权项 1. Apparatus for processing data and including hardware support for atomic memory transactions, said apparatus comprising: a plurality of processing elements each configured to execute a sequence of program instructions; and a memory configured to store data values shared by said plurality of processing elements; wherein at least one of said plurality of processing elements is an transactional-memory-supporting processing element having a controller configured to monitor access to a lock address within said memory and said controller is configured to respond to a received request from another of said plurality of processing elements to obtain exclusive access to said lock address by: (i) when said transactional-memory-supporting processing element is executing a memory transaction guarded by said lock address, delaying releasing said lock address for exclusive access until a predetermined condition is met; and(ii) when said transactional-memory-supporting processing element is not executing a memory transaction guarded by said lock address, releasing said lock address for exclusive access independent of said predetermined condition.
地址 Cambridge, Cambridgeshire GB