IP Library Granted Patent US 12,411,693
Granted Patent B2
US 12,411,693 · App. 17/138,841 · Granted Sep 9, 2025

Apparatus for processor with hardware fence and associated methods

Inventors: Mark W. Johnson (Austin, TX); Eric Deal (Austin, TX); Junkang Ren (Austin, TX)
Assignee: Silicon Laboratories Inc.
G06F9/3838G06F9/3834
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,411,693
App. No.
17/138,841
Granted
Sep 9, 2025
Kind
B2
Abstract

An apparatus includes a pipelined processor. The pipelined processor includes a pipeline and a hardware fence. The hardware fence detects if a hazard condition exists by comparing an address for an input operation with an address for an output operation.

Claims (25)

1. An apparatus, comprising:

a pipelined processor comprising branched parallel processing paths for instructions, and a hardware fence that maintains increasing transaction identifications (IDs) representing a submitted order on when instructions enter and are being processed within the branched parallel processing paths, wherein the increasing transaction IDs representing the submitted order are checked at a pipeline element level to stall a pipeline element when advancement of a pipeline stage of the branched parallel processing paths would produce an erroneous result.

2. The apparatus according to claim 1 , wherein the increasing transaction IDs can be used to determine when a transaction for a stage representing part of an instruction results in a hazard by comparing an address for an input operation with an address for an output operation, wherein the input operation comprises a read operation.

3. The apparatus according to claim 2 , wherein a hazard condition exists where a later read operation has an address specified that matches an address specified for an earlier write operation.

4. The apparatus according to claim 2 , wherein the output operation comprises a write operation.

5. The apparatus according to claim 4 , wherein the hardware fence comprises a comparator to compare the address specified for the read operation with the address specified for the write operation based on a pipeline memory element.

6. The apparatus according to claim 1 , wherein the pipelined processor comprises a first-in first-out (FIFO) circuit, and wherein the hardware fence detects if a hazard condition exists by comparing an address for an input operation with an address for an output operation, wherein the input and output operations are stored in the FIFO circuit.

7. The apparatus according to claim 1 , wherein the pipelined processor is stalled if the hardware fence detects that a hazard condition exists.

8. The apparatus according to claim 1 , wherein the hardware fence uses modulo IDs to implement the increasing transaction IDs.

9. The apparatus according to claim 1 , wherein the pipelined processor comprises a cache, and wherein a partial hardware fence is used with the cache.

10. An apparatus, comprising:

a pipelined processor integrated into an integrated circuit, the pipelined processor comprising:

branched parallel processing paths for instructions supplied to the pipeline processor; and

a hardware fence that maintains increasing transaction identifications (IDs) representing a submitted order on when instructions supplied to the pipeline processor enter and are being processed within the branched parallel processing paths,

wherein the increasing transaction IDs are checked at a pipeline element level to stall a pipeline element when advancement of a pipeline stage of the branched parallel processing paths would produce an erroneous result.

11. The apparatus according to claim 10 , wherein the pipelined processor is stalled if the hardware fence detects that a hazard condition exists.

12. The apparatus according to claim 10 , wherein the hardware fence uses modulo IDs to implement the increasing transaction IDs.

13. The apparatus according to claim 12 , wherein the hardware fence comprises an adder or a subtracter to receive modulo IDs and to generate an output whether a first instruction occurs before a second instruction.

14. The apparatus according to claim 10 , wherein the pipelined processor comprises a first-in first-out (FIFO) circuit, and wherein the hardware fence detects if a hazard condition exists by comparing an address for a read operation with an address for a write operation, wherein the read and write operations are stored in the FIFO circuit.

15. A method of processing information in a pipelined processor comprising branched parallel processing paths for instructions, and a hardware fence that maintains increasing transaction identifications (IDs) representing a submitted order on when instructions enter and are being processed within the branched parallel processing paths, the method comprising checking the increasing transaction IDs at a pipeline element level to stall a pipeline element when advancement of a pipeline stage of the branched parallel processing paths would produce an erroneous result.

16. The method according to claim 15 , wherein the increasing transaction IDs can be used to determine when a transaction for a stage representing part of an instruction results in a hazard by comparing an address for an input operation with an address for an output operation, wherein the input operation comprises a read operation, and wherein the output operation comprises a write operation.

17. The method according to claim 16 , wherein determining a hazard condition further comprises determining whether a later read operation has an address specified that matches an address specified for an earlier write operation.

18. The method according to claim 15 , wherein the pipelined processor comprises a first-in first-out (FIFO) circuit, and wherein determining a hazard condition further comprises comparing an address for an input operation with an address for an output operation stored in the FIFO circuit.

19. The method according to claim 15 , wherein increasing transaction IDs are modulo IDs.

20. The method according to claim 15 , further comprising stalling the pipeline processor in response to the hardware fence detecting that a hazard condition exists.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 24, 2023
From: JOHNSON, MARK W.; DEAL, ERIC; REN, JUNKANG
To: SILICON LABORATORIES INC.
Reel/Frame 063422/0309 →
Continuity (1)
Related Publication 20220206799A1 · Jun 30, 2022
References Cited (20)
US 5781753A · McFarland · 1998 [cited by examiner]
US 6061785A · Chiarot · 2000 [cited by applicant]
US 6240503B1 · Witt · 2001 [cited by examiner]
US 6240508B1 · Brown, III · 2001 [cited by examiner]
US 8972704B2 · Kojo · 2015 [cited by applicant]
US 20050223201A1 · Tremblay · 2005 [cited by applicant]
US 20070143755A1 · Sahu · 2007 [cited by applicant]
US 20100250802A1 · Waugh · 2010 [cited by examiner]
US 20100318722A1 · Liu · 2010 [cited by applicant]
US 20120167114A1 · Morishita · 2012 [cited by examiner]
US 20120198214A1 · Gadre · 2012 [cited by applicant]
US 20130205123A1 · Vorbach · 2013 [cited by examiner]
US 20130282971A1 · Yang · 2013 [cited by applicant]
US 20150095578A1 · Doshi · 2015 [cited by applicant]
US 20170212764A1 · Lyberis · 2017 [cited by examiner]
US 20170262285A1 · Lukefahr · 2017 [cited by examiner]
US 20180365016A1 · Iuliano · 2018 [cited by examiner]
US 20190004804A1 · Hagiescu Miriste · 2019 [cited by examiner]
US 20220075746A1 · Nalluri · 2022 [cited by examiner]
Ladan-Mozes et al., Location-Based Memory Fences, ACM SPAA'11, Jun. 4-6, 2011. [cited by applicant]