-
公开(公告)号:US20110138126A1
公开(公告)日:2011-06-09
申请号:US12633906
申请日:2009-12-09
CPC分类号: G06F9/3834 , G06F9/3004 , G06F9/30072 , G06F9/30087 , G06F9/30181 , G06F9/3842 , G06F9/3857 , G06F9/467
摘要: Mechanisms for performing predicated atomic commits based on consistency of watches is provided. These mechanisms include executing, by a thread executing on a processor of the data processing system, an atomic release instruction. A determination is made as to whether a speculative store has been lost, due to an eviction of a memory block to which the speculative store is performed, since a previous atomic release instruction was processed. In response to the speculative store having been lost, invalidating, by the processor, speculative stores that have been performed since the previous atomic release instruction was processed. In addition, the method comprises, in response to the speculative store not having been lost, committing, by the processor, speculative stores that have been performed since the previous atomic release instruction was processed.
摘要翻译: 提供了基于手表一致性执行预定原子提交的机制。 这些机制包括通过在数据处理系统的处理器上执行的线程执行原子释放指令。 自从先前的原子释放指令被处理以来,确定推测存储是否由于执行了推测性存储的存储块的驱逐而丢失。 响应于投机存储已经丢失,由处理器使得自从先前的原子释放指令被处理以来已经执行的推测存储器无效。 此外,该方法响应于推测存储没有丢失,由处理器提交自从先前的原子释放指令被处理以来已经执行的推测存储。
-
公开(公告)号:US20110066831A1
公开(公告)日:2011-03-17
申请号:US12559643
申请日:2009-09-15
IPC分类号: G06F9/30
CPC分类号: G06F9/30076 , G06F11/1407
摘要: A method, system and computer program product for issuing one or more software initiated operations for creating a checkpoint of a register file and memory, and for restoring a register file and memory to the checkpointed state. At the execution of a checkpoint operation, the system returns a condition code indicating success or failure. When the condition code is set equal to one, one or more checkpoints are initiated. Contents of the register file and gated store buffer are stored each time the one or more checkpoints are initiated. When the checkpoint is created, the system notifies software when a hardware checkpoint capacity has been reached. One or more of the software checkpoint, hardware checkpoint, and handler checkpoint are utilized to provide a more precise point of restoration. During software execution, the register file and gated store buffer can be restored as defined by the one or more previous checkpoints.
摘要翻译: 一种方法,系统和计算机程序产品,用于发出用于创建寄存器文件和存储器的检查点的一个或多个软件发起的操作,以及用于将寄存器文件和存储器恢复到检查点状态。 在执行检查点操作时,系统返回指示成功或失败的条件代码。 当条件代码设置为等于1时,将启动一个或多个检查点。 每次启动一个或多个检查点时,都会存储寄存器文件和门控存储缓冲区的内容。 当检查点创建时,系统在达到硬件检查点容量时通知软件。 利用一个或多个软件检查点,硬件检查点和处理程序检查点来提供更精确的恢复点。 在软件执行期间,寄存器文件和门控存储缓冲区可以由一个或多个以前的检查点定义来恢复。
-
公开(公告)号:US08255626B2
公开(公告)日:2012-08-28
申请号:US12633906
申请日:2009-12-09
IPC分类号: G06F12/00
CPC分类号: G06F9/3834 , G06F9/3004 , G06F9/30072 , G06F9/30087 , G06F9/30181 , G06F9/3842 , G06F9/3857 , G06F9/467
摘要: Mechanisms for performing predicated atomic commits based on consistency of watches is provided. These mechanisms include executing, by a thread executing on a processor of the data processing system, an atomic release instruction. A determination is made as to whether a speculative store has been lost, due to an eviction of a memory block to which the speculative store is performed, since a previous atomic release instruction was processed. In response to the speculative store having been lost, invalidating, by the processor, speculative stores that have been performed since the previous atomic release instruction was processed. In addition, the method comprises, in response to the speculative store not having been lost, committing, by the processor, speculative stores that have been performed since the previous atomic release instruction was processed.
摘要翻译: 提供了基于手表一致性执行预定原子提交的机制。 这些机制包括通过在数据处理系统的处理器上执行的线程执行原子释放指令。 自从先前的原子释放指令被处理以来,确定推测存储是否由于执行了推测性存储的存储块的驱逐而丢失。 响应于投机存储已经丢失,由处理器使得自从先前的原子释放指令被处理以来已经执行的推测存储器无效。 此外,该方法响应于推测存储没有丢失,由处理器提交自从先前的原子释放指令被处理以来已经执行的推测存储。
-
公开(公告)号:US20110066820A1
公开(公告)日:2011-03-17
申请号:US12559615
申请日:2009-09-15
IPC分类号: G06F12/02
CPC分类号: G06F9/3842 , G06F9/3824
摘要: A method, a system and a computer program product for handling speculative stores. The system determines when a speculative store buffer is not full. An indicator is generated when the speculative store buffer is not full, and the speculative stores are input into the speculative store buffer. When the speculative store buffer is full, a full buffer indicator is generated. Speculative stores prevented from entering the speculative store buffer are overflow stores. The overflow list is searched to determine whether one or more addresses of the overflow stores are present in the overflow list. When one or more addresses of the overflow stores are not present in the overflow list, the overflow stores are stored in the overflow list.
摘要翻译: 一种用于处理投机店的方法,系统和计算机程序产品。 系统确定推测存储缓冲区何时未满。 当推测存储缓冲区未满时,生成指示符,并将推测存储输入到推测存储缓冲区。 当推测性存储缓冲区已满时,将生成完整的缓冲区指示符。 防止进入推测存储缓冲区的推测存储是溢出存储。 搜索溢出列表以确定溢出列表中是否存在溢出存储的一个或多个地址。 当溢出列表中不存在溢出存储的一个或多个地址时,溢出存储将存储在溢出列表中。
-
公开(公告)号:US08392694B2
公开(公告)日:2013-03-05
申请号:US12559643
申请日:2009-09-15
CPC分类号: G06F9/30076 , G06F11/1407
摘要: A method, system and computer program product for issuing one or more software initiated operations for creating a checkpoint of a register file and memory, and for restoring a register file and memory to the checkpointed state. At the execution of a checkpoint operation, the system returns a condition code indicating success or failure. When the condition code is set equal to one, one or more checkpoints are initiated. Contents of the register file and gated store buffer are stored each time the one or more checkpoints are initiated. When the checkpoint is created, the system notifies software when a hardware checkpoint capacity has been reached. One or more of the software checkpoint, hardware checkpoint, and handler checkpoint are utilized to provide a more precise point of restoration. During software execution, the register file and gated store buffer can be restored as defined by the one or more previous checkpoints.
摘要翻译: 一种方法,系统和计算机程序产品,用于发出用于创建寄存器文件和存储器的检查点的一个或多个软件发起的操作,以及用于将寄存器文件和存储器恢复到检查点状态。 在执行检查点操作时,系统返回指示成功或失败的条件代码。 当条件代码设置为等于1时,将启动一个或多个检查点。 每次启动一个或多个检查点时,都会存储寄存器文件和门控存储缓冲区的内容。 当检查点创建时,系统在达到硬件检查点容量时通知软件。 利用一个或多个软件检查点,硬件检查点和处理程序检查点来提供更精确的恢复点。 在软件执行期间,寄存器文件和门控存储缓冲区可以由一个或多个以前的检查点定义来恢复。
-
公开(公告)号:US08572341B2
公开(公告)日:2013-10-29
申请号:US12559615
申请日:2009-09-15
IPC分类号: G06F12/00
CPC分类号: G06F9/3842 , G06F9/3824
摘要: A method, a system and a computer program product for handling speculative stores. The system determines when a speculative store buffer is not full. An indicator is generated when the speculative store buffer is not full, and the speculative stores are input into the speculative store buffer. When the speculative store buffer is full, a full buffer indicator is generated. Speculative stores prevented from entering the speculative store buffer are overflow stores. The overflow list is searched to determine whether one or more addresses of the overflow stores are present in the overflow list. When one or more addresses of the overflow stores are not present in the overflow list, the overflow stores are stored in the overflow list.
摘要翻译: 一种用于处理投机店的方法,系统和计算机程序产品。 系统确定推测存储缓冲区何时未满。 当推测存储缓冲区未满时,生成指示符,并将推测存储输入到推测存储缓冲区。 当推测性存储缓冲区已满时,将生成完整的缓冲区指示符。 防止进入推测存储缓冲区的推测存储是溢出存储。 搜索溢出列表以确定溢出列表中是否存在溢出存储的一个或多个地址。 当溢出列表中不存在溢出存储的一个或多个地址时,溢出存储将存储在溢出列表中。
-
公开(公告)号:US20140075124A1
公开(公告)日:2014-03-13
申请号:US13606973
申请日:2012-09-07
IPC分类号: G06F12/08
CPC分类号: G06F9/467
摘要: Techniques for conflict detection in hardware transactional memory (HTM) are provided. In one aspect, a method for detecting conflicts in HTM includes the following steps. Conflict detection is performed eagerly by setting read and write bits in a cache as transactions having read and write requests are made. A given one of the transactions is stalled when a conflict is detected whereby more than one of the transactions are accessing data in the cache in a conflicting way. An address of the conflicting data is placed in a predictor. The predictor is queried whenever the write requests are made to determine whether they correspond to entries in the predictor. A copy of the data corresponding to entries in the predictor is placed in a store buffer. The write bits in the cache are set and the copy of the data in the store buffer is merged in at transaction commit.
-
-
-
-
-
-