Processor with transactional capability and logging circuitry to report transactional operations

US9965320B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9965320-B2
Application numberUS-201314142475-A
CountryUS
Kind codeB2
Filing dateDec 27, 2013
Priority dateDec 27, 2013
Publication dateMay 8, 2018
Grant dateMay 8, 2018

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A processor is described comprising memory access conflict detection circuitry to identify a conflict pertaining to a transaction being executed by a thread that believes it has locked information within a memory. The processor also includes logging circuitry to construct and report out a packet if the memory access conflict detection circuitry identifies a conflict that causes the transaction to be aborted.

First claim

Opening claim text (preview).

We claim: 1. A method comprising: identifying a conflict pertaining to a transaction being executed by a thread; and constructing and reporting out a packet when identifying a conflict that causes an abort of said transaction, wherein the packet includes content that describes a reason for the abort of the transaction, the packet format includes a field to indicate any of a transaction start, a transaction end, and the abort, and the content is reported in response to the abort; reporting out a second packet when detecting a memory race; decoding a first instruction into a decoded first instruction; executing the decoded first instruction to mark a beginning of a transaction; reporting out a third packet when the decoded first instruction is executed; decoding a second instruction into a decoded second instruction; executing the decoded second instruction to mark an end of a transaction; and reporting out a fourth packet when the decoded second instruction is executed. 2. The method of claim 1 wherein the reason is an abort from an overflow. 3. The method of claim 1 wherein said content indicates whether an aborted transaction is nested. 4. The method of claim 1 further comprising executing an instruction that explicitly aborts a transaction, wherein the reason indicates the abort is from the instruction. 5. The method of claim 1 wherein the content indicates whether the transaction may succeed on a retry. 6. The method of claim 1 wherein both the identifying the conflict that causes the abort of said transaction and the detecting the memory race are false positives. 7. The method of claim 1 wherein the identifying the conflict that causes the abort of said transaction is a false positive. 8. The method of claim 1 wherein the detecting the memory race is a false positive. 9. The method of claim 1 wherein the reason is an abort from a debug breakpoint. 10. A processor comprising: memory access conflict detection circuitry to identify a conflict pertaining to a transaction being executed by a thread; logging circuitry to construct and report out a packet if said memory access conflict detection circuitry identifies a conflict that causes an abort of said transaction, wherein the packet includes content that describes a reason for the abort of the transaction, the packet format includes a field to indicate any of a transaction start, a transaction end, and the abort, and the content is reported to the logging circuitry in response to the abort; and a memory race detection circuit to detect memory races, said logging circuitry to construct and report out a second packet if said memory race detection circuit detects a memory race, wherein said processor is to permit said logging circuitry to be concurrently responsive to both said memory access conflict detection circuitry and said memory race detection circuit, said processor supports a first instruction that marks a beginning of a transaction, said logging circuitry to report out a third packet if said first instruction is executed, and said processor supports a second instruction that marks an end of a successfully completed transaction, said logging circuitry to report out a fourth packet if said second instruction that marks the end is executed. 11. The processor of claim 10 wherein the reason is an abort from an overflow. 12. The processor of claim 10 wherein said content indicates whether an aborted transaction is nested. 13. The processor of claim 10 wherein said processor supports an instruction that explicitly aborts a transaction, and the reason indicates the abort is from the instruction. 14. The processor of claim 10 wherein the content indicates whether the transaction may succeed on a retry. 15. The processor of claim 10 wherein both said memory access conflict detection circuitry and said memory race detection circuit are capable of generating false positives. 16. The processor of claim 10 wherein said memory access conflict detection circuitry is capable of generating false positives. 17. The processor of claim 10 wherein said memory race detection circuit is capable of generating false positives. 18. The processor of claim 10 wherein the reason is an abort from a debug breakpoint. 19. A computing system comprising: a processor; memory access conflict detection circuitry to identify a conflict pertaining to a transaction being executed by a thread on information within a memory; logging circuitry to construct and report out a packet if said memory access conflict detection circuitry identifies a conflict that causes an abort of said transaction wherein the packet includes content that describes a reason for the abort of the transaction, the packet format includes a field to indicate any of a transaction start, a transaction end, and the abort, and the content is reported to the logging circuitry in response to the abort; a memory controller coupled to said memory; and a memory race detection circuit to detect memory races, said logging circuitry to construct and report out a second packet if said memory race detection circuit detects a memory race, wherein said processor is to permit said logging circuitry to be concurrently responsive to both said memory access conflict detection circuitry and said memory race detection circuit, said processor supports a first instruction that marks a beginning of a transaction, said logging circuitry to report out a third packet if said first instruction is executed, and said processor supports a second instruction that marks an end of a successfully completed transaction, said logging circuitry to report out a fourth packet if said second instruction that marks the end is executed. 20. The computing system of claim 19 wherein said processor supports an instruction that explicitly aborts a transaction, and the reason indicates the abort is from the instruction. 21. The computing system of claim 19 wherein the reason is an abort from an overflow. 22. The computing system of claim 19 wherein both said memory access conflict detection circuitry and said memory race detection circuit are capable of generating false positives. 23. The computing system of claim 19 wherein the reason is an abort from a debug breakpoint. 24. The computing system of claim 19 wherein the content indicates whether the transaction may succeed on a retry.

Assignees

Inventors

Classifications

  • G06F9/528Primary

    by using speculative mechanisms · CPC title

  • G06F9/467Primary

    Transactional memory (G06F9/528 takes precedence) · CPC title

  • Means for error signaling, e.g. using interrupts, exception flags, dedicated error registers · CPC title

  • in a multiprocessor or a multi-core unit (multiprocessors per se G06F15/80) · CPC title

  • Local memory within processor subsystem · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9965320B2 cover?
A processor is described comprising memory access conflict detection circuitry to identify a conflict pertaining to a transaction being executed by a thread that believes it has locked information within a memory. The processor also includes logging circuitry to construct and report out a packet if the memory access conflict detection circuitry identifies a conflict that causes the transaction …
Who is the assignee on this patent?
Intel Corp
What technology area does this patent fall under?
Primary CPC classification G06F9/528. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue May 08 2018 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 2 related publications on this page (citations in our corpus or others sharing the same primary CPC).