IP Library › Granted Patent US 11,586,443
Granted Patent B2
US 11,586,443 · App. 17/074,730 · Granted Feb 21, 2023

Thread-based processor halting

Inventors: Christopher Baronne (Allen, TX); Dean E. Walker (Allen, TX)
Assignee: Micron Technology, Inc.
G06F9/3851G06F9/30101G06F9/30189
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 11,586,443
App. No.
17/074,730
Granted
Feb 21, 2023
Kind
B2
Abstract

Devices and techniques for thread-based processor halting are described herein. A processor monitors control-status register (CSR) values that correspond to a halt condition for a thread. The processor then compares the halt condition to a current state of the thread and halts in response to the current state of the thread meeting the halt condition.

Claims (61)

1. An apparatus comprising:

control-status registers (CSRs) configured to hold CSR values; and

pause circuitry configured to:

monitor the CSR values for a halt condition for a thread;

compare the halt condition to a current state of the thread; and

signal the apparatus to halt in response to the current state of the thread meeting the halt condition, wherein, while the apparatus is halted, the apparatus does not execute instructions for the thread and any additional threads.

2. The apparatus of claim 1 , wherein the CSR values include an identifier for the thread.

3. The apparatus of claim 1 , wherein the halt condition is a number of instructions executed by the thread.

4. The apparatus of claim 3 , wherein the current state of the thread meets the halt condition when a count of executed thread instructions meets or exceeds the number of instructions defined by the halt condition.

5. The apparatus of claim 1 , wherein the CSR values include a halt flag, and wherein the apparatus is only signaled to halt in response to both the halt condition being met and the halt flag being set in the CSR values.

6. The apparatus of claim 1 , comprising a scheduler, wherein to signal the apparatus to halt, the pause circuitry provides a signal to prevent the scheduler from scheduling the instructions for the thread and any additional threads.

7. The apparatus of claim 6 , comprising:

scheduling queues; and

an arbiter configured to transfer threads from the scheduling queues to the scheduler, wherein the arbiter ceases providing the threads to the scheduler in response to the signal to prevent the scheduler from scheduling the instructions for the thread and any additional threads.

8. The apparatus of claim 1 , wherein the pause circuitry is configured to:

receive a read request for a state memory; and

provide data from the state memory in response to the read request.

9. The apparatus of claim 8 , wherein the read request is in additional CSR values being set.

10. The apparatus of claim 1 , wherein the pause circuitry is configured to:

monitor a resume flag in the CSR values, the resume flag corresponding to resumption of the apparatus; and

resume the apparatus in response to the resume flag being set.

11. A method comprising:

monitoring, by a processor, control-status register (CSR) values of the processor, the CSR values for a halt condition for a thread;

comparing, by the processor, the halt condition to a current state of the thread; and

halting the processor in response to the current state of the thread meeting the halt condition, wherein, while the processor is halted, the processor does not execute instructions for the thread and any additional threads.

12. The method of claim 11 , wherein the CSR values include an identifier for the thread.

13. The method of claim 11 , wherein the halt condition is a number of instructions executed by the thread.

14. The method of claim 13 , wherein the current state of the thread meets the halt condition when a count of executed thread instructions meets or exceeds the number of instructions defined by the halt condition.

15. The method of claim 11 , wherein the CSR values include a halt flag, and wherein the processor is only halted in response to both the halt condition being met and the halt flag being set in the CSR values.

16. The method of claim 11 , wherein halting the processor includes preventing a scheduler of the processor from scheduling the instructions for the thread and any additional threads.

17. The method of claim 16 , wherein an arbiter of scheduling queues ceases providing threads to the scheduler to prevent the scheduler from scheduling the instructions for the thread and any additional threads.

18. The method of claim 11 , comprising:

receiving a read request for a state memory; and

providing data from the state memory in response to the read request.

19. The method of claim 18 , wherein the read request is in additional CSR values being set.

20. The method of claim 11 , comprising:

monitoring a resume flag in the CSR values, the resume flag corresponding to resumption of the processor; and

resuming the processor in response to the resume flag being set.

21. A chiplet system comprising:

a memory; and

a memory controller chiplet couplable to the memory and including a processor, the processor comprising:

control-status registers (CSRs) configured to hold CSR values; and

pause circuitry configured to:

monitor the CSR values for a halt condition for a thread;

compare the halt condition to a current state of the thread; and

signal the processor to halt in response to the current state of the thread meeting the halt condition, wherein, while the processor is halted, the processor does not execute instructions for the thread and any additional threads.

22. The chiplet system of claim 21 , wherein the CSR values include an identifier for the thread.

23. The chiplet system of claim 21 , wherein the halt condition is a number of instructions executed by the thread.

24. The chiplet system of claim 23 , wherein the current state of the thread meets the halt condition when a count of executed thread instructions meets or exceeds the number of instructions defined by the halt condition.

25. The chiplet system of claim 21 , wherein the CSR values include a halt flag, and wherein the processor is only signaled to halt in response to both the halt condition being met and the halt flag being set in the CSR values.

26. The chiplet system of claim 21 , comprising a scheduler, wherein to signal the processor to halt, the pause circuitry provides a signal to prevent the scheduler from scheduling the instructions for the thread and any additional threads.

27. The chiplet system of claim 26 , wherein the processor comprises:

scheduling queues; and

an arbiter configured to transfer threads from the scheduling queues to the scheduler, wherein the arbiter ceases providing the threads to the scheduler in response to the signal to prevent the scheduler from scheduling the instructions for the thread and any additional threads.

28. The chiplet system of claim 21 , wherein the pause circuitry is configured to:

receive a read request for a state memory; and

provide data from the state memory in response to the read request.

29. The chiplet system of claim 28 , wherein the read request is in additional CSR values being set.

30. The chiplet system of claim 21 , wherein the pause circuitry is configured to:

monitor a resume flag in the CSR values, the resume flag corresponding to resumption of the processor; and

resume the processor in response to the resume flag being set.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 15, 2020
From: BARONNE, CHRIS; WALKER, DEAN E
To: MICRON TECHNOLOGY, INC.
Reel/Frame 054653/0701 →
Continuity (1)
Related Publication 20220121443A1 · Apr 21, 2022
Cited By (2)
US 12,271,511 US 12,591,467