Patent · US Active

Method and apparatus for synchronizing threads on a processor that supports transactional memory

US7930695B2 · kind B2 · utility

72Cited by
15References
21Claims
0Family size

Assignee

Inventors

Key dates

Filing dateMay 5, 2006
Grant dateApr 19, 2011
Priority date
Expiry dateFeb 17, 2030

Classification

  • Technology area (CPC G)Physics
  • CPC primaryG06F9/3858
  • WIPO fieldComputer technology
  • WIPO sectorElectrical engineering

Abstract

One embodiment of the present invention provides a system that synchronizes threads on a multi-threaded processor. The system starts by executing instructions from a multi-threaded program using a first thread and a second thread. When the first thread reaches a predetermined location in the multi-threaded program, the first thread executes a Start-Transactional-Execution (STE) instruction to commence transactional execution, wherein the STE instruction specifies a location to branch to if transactional execution fails. During the subsequent transactional execution, the first thread accesses a mailbox location in memory (which is also accessible by the second thread) and then executes instructions that cause the first thread to wait. When the second thread reaches a second predetermined location in the multi-threaded program, the second thread signals the first thread by accessing the mailbox location, which causes the transactional execution of the first thread to fail, thereby causing the first thread to resume non-transactional execution from the location specified in the STE instruction. In this way, the second thread can signal to the first thread without the first thread havi…

Source: USPTO / EPO open patent data. Objective bibliographic and citation counts.