IP Library Granted Patent US 7,149,851
Granted Patent B1
US 7,149,851 · App. 10/646,461 · Granted Dec 12, 2006

Method and system for conservatively managing store capacity available to a processor issuing stores

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 7,149,851
App. No.
10/646,461
Granted
Dec 12, 2006
Kind
B1
Abstract

Method and system for conservatively managing store capacity available to a processor issuing stores are provided and described. In particular, a counter mechanism is utilized, whereas the counter mechanism is incremented or decremented based on the occurrence of particular events.

Claims (70)

1. A processor comprising:

a counter mechanism for counting issued stores to conservatively manage a store capacity of a store container for handling said issued stores, wherein said counter mechanism is incremented when a store is issued, wherein said counter mechanism is decremented for each decrementing condition occurring relative to said store capacity, and wherein when a value of said counter mechanism equals a predetermined value a response is executed to determine whether said store capacity has been exceeded.

2. The processor as recited in claim 1 wherein said decrementing condition is a drain of an issued store from said store container.

3. The processor as recited in claim 1 wherein said decrementing condition is a pre-allocated space in said store container for an issued store.

4. The processor as recited in claim 1 wherein said issued stores are received by a queue before proceeding to said store container.

5. The processor as recited in claim 1 further comprising a monitor for indicating when said value of said counter mechanism equals said predetermined value and for initiating said response.

6. The processor as recited in claim 1 wherein said store container comprises a data cache that supports speculative modifications and a speculative cache buffer, and wherein said store capacity is a store capacity for issued stores that are speculative stores.

7. The processor as recited in claim 6 wherein if said issued store is a speculative store, said counter mechanism is incremented.

8. The processor as recited in claim 6 wherein if a commit operation is performed, said counter mechanism is cleared.

9. The processor as recited in claim 6 wherein if a rollback operation is performed, said counter mechanism is cleared.

10. The processor as recited in claim 6 wherein said decrementing condition is a pre-allocated space in said store container for an issued store that is a speculative store.

11. The processor as recited in claim 1 wherein said store container comprises a store buffer.

12. The processor as recited in claim 11 wherein said counter mechanism includes a speculative stores counter and a speculative stores and non-speculative stores counter, and wherein said response is executed when a value of said speculative stores and non-speculative stores counter equals said predetermined value.

13. The processor as recited in claim 11 wherein if said issued store is a speculative store, said speculative stores counter is incremented and said speculative stores and non-speculative stores counter is incremented.

14. The processor as recited in claim 11 wherein if said issued store is a non-speculative store, said speculative stores and non-speculative stores counter is incremented.

15. The processor as recited in claim 11 wherein if a commit operation is performed, said speculative stores counter is cleared.

16. The processor as recited in claim 11 wherein if a rollback operation is performed, a value of said speculative stores counter is subtracted from a value of said speculative stores and non-speculative stores counter.

17. The processor as recited in claim 11 wherein said decrementing condition is a drain of an issued store from said store buffer, wherein said issued store is a non-speculative store.

18. A system comprising:

a store container for handling issued stores; and

a processor operative to issue stores, comprising:

a counter mechanism for counting said issued stores to conservatively manage a store capacity of said store container, wherein said counter mechanism is incremented when a store is issued, wherein said counter mechanism is decremented for each decrementing condition occurring relative to said store capacity, and wherein when a value of said counter mechanism equals a predetermined value a response is executed to determine whether said store capacity has been exceeded.

19. The system as recited in claim 18 further comprising a queue for receiving said issued stores before being received by said store container.

20. The system as recited in claim 18 wherein said decrementing condition is a drain of an issued store from said store container.

21. The system as recited in claim 18 wherein said decrementing condition is a pre-allocated space in said store container for an issued store.

22. The system as recited in claim 18 wherein said processor further comprises a monitor for indicating when said value of said counter mechanism equals said predetermined value and for initiating said response.

23. The system as recited in claim 18 wherein said store container comprises a data cache that supports speculative modifications and a speculative cache buffer, and wherein said store capacity is a store capacity for issued stores that are speculative stores.

24. The system as recited in claim 23 wherein if said issued store is a speculative store, said counter mechanism is incremented.

25. The system as recited in claim 23 wherein if a commit operation is performed, said counter mechanism is cleared.

26. The system as recited in claim 23 wherein if a rollback operation is performed, said counter mechanism is cleared.

27. The system as recited in claim 23 wherein said decrementing condition is a pre-allocated space in said store container for an issued store that is a speculative store.

28. The system as recited in claim 18 wherein said store container comprises a store buffer.

29. The system as recited in claim 28 wherein said counter mechanism includes a speculative stores counter and a speculative stores and non-speculative stores counter, and wherein said response is executed when a value of said speculative stores and non-speculative stores counter equals said predetermined value.

30. The system as recited in claim 28 wherein if said issued store is a speculative store, said speculative stores counter is incremented and said speculative stores and non-speculative stores counter is incremented.

31. The system as recited in claim 28 wherein if said issued store is a non-speculative store, said speculative stores and non-speculative stores counter is incremented.

32. The system as recited in claim 28 wherein if a commit operation is performed, said speculative stores counter is cleared.

33. The system as recited in claim 28 wherein if a rollback operation is performed, a value of said speculative stores counter is subtracted from a value of said speculative stores and non-speculative stores counter.

34. The system as recited in claim 28 wherein said decrementing condition is a drain of an issued store from said store buffer, wherein said issued store is a non-speculative store.

35. A method of conservatively managing a store capacity of a store container receiving issued stores from a processor having a counter mechanism, said method comprising:

incrementing said counter mechanism when a store is issued;

decrementing said counter mechanism for each decrementing condition occurring relative to said store capacity; and

when a value of said counter mechanism equals a predetermined value, executing a response to determine whether said store capacity has been exceeded.

36. The method as recited in claim 35 wherein said decrementing condition is a drain of an issued store from said store container.

37. The method as recited in claim 35 wherein said decrementing condition is a pre-allocated space in said store container for an issued store.

38. The method as recited in claim 35 wherein said issued stores are received by a queue before being received by said store container.

39. The method as recited in claim 35 wherein said store container comprises a data cache that supports speculative modifications and a speculative cache buffer, and wherein said store capacity is a store capacity for issued stores that are speculative stores.

40. The method as recited in claim 39 wherein said incrementing said counter mechanism comprises:

if said issued store is a speculative store, incrementing said counter mechanism.

41. The method as recited in claim 39 further comprising:

if a commit operation is performed, clearing said counter mechanism.

42. The method as recited in claim 39 further comprising:

if a rollback operation is performed, clearing said counter mechanism.

43. The method as recited in claim 39 wherein said decrementing condition is a pre-allocated space in said store container for an issued store that is a speculative store.

44. The method as recited in claim 35 wherein said store container comprises a store buffer.

45. The method as recited in claim 44 wherein said counter mechanism includes a speculative stores counter and a speculative stores and non-speculative stores counter.

46. The method as recited in claim 44 wherein said incrementing said counter mechanism comprises:

if said issued store is a speculative store, incrementing said speculative stores counter and incrementing said speculative stores and non-speculative stores counter.

47. The method as recited in claim 44 wherein said incrementing said counter mechanism comprises:

if said issued store is a non-speculative store, incrementing said speculative stores and non-speculative stores counter.

48. The method as recited in claim 44 further comprising:

if a commit operation is performed, clearing said speculative stores counter.

49. The method as recited in claim 44 further comprising:

if a rollback operation is performed, subtracting a value of said speculative stores counter from a value of said speculative stores and non-speculative stores counter.

50. The method as recited in claim 44 wherein said decrementing condition is a drain of an issued store from said store buffer, wherein said issued store is a non-speculative store.

51. The method as recited in claim 44 wherein said executing said response comprises:

determining an actual value of issued stores in said store buffer by draining a queue to cause adjustment of a value of said speculative stores and non-speculative stores counter.

52. The method as recited in claim 35 wherein said executing said response comprises:

determining an actual value of issued stores in said store container by draining a queue to cause adjustment of said value of said counter mechanism.

53. The method as recited in claim 35 wherein said executing said response comprises:

determining an actual value of issued stores in said store container by draining a queue to cause adjustment of said value of said counter mechanism, wherein said issued stores are speculative stores.

Assignments (9)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 20, 2022
From: INTELLECTUAL VENTURES ASSETS 174 LLC
To: QUEST PATENT RESEARCH CORPORATION
Reel/Frame 059649/0779 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 20, 2022
From: QUEST PATENT RESEARCH CORPORATION
To: DEEPWELL IP LLC
Reel/Frame 059654/0315 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 3, 2022
From: INTELLECTUAL VENTURES HOLDING 81 LLC
To: INTELLECUTAL VENTURES ASSETS 174 LLC
Reel/Frame 058881/0459 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNOR'S NAME PREVIOUSLY RECORDED AT REEL: 036711 FRAME: 0160. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER. Recorded Oct 6, 2015
From: INTELLECTUAL VENTURES FUNDING LLC
To: INTELLECTUAL VENTURES HOLDING 81 LLC
Reel/Frame 036797/0356 →
MERGER Recorded Sep 29, 2015
From: INTELLECTUAL VENTURE FUNDING LLC
To: INTELLECTUAL VENTURES HOLDING 81 LLC
Reel/Frame 036711/0160 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 22, 2009
From: TRANSMETA LLC
To: INTELLECTUAL VENTURE FUNDING LLC
Reel/Frame 023268/0771 →
MERGER Recorded Mar 26, 2009
From: TRANSMETA CORPORATION
To: TRANSMETA LLC
Reel/Frame 022454/0522 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 2, 2005
From: KLAIBER, ALEXANDER; SHAH, LACKY
To: TRANSMETA CORPORATION
Reel/Frame 016315/0695 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 28, 2005
From: ROZAS, GUILLERMO; DUNN, DAVID; SERRIS, PAUL
To: TRANSMETA CORPORATION
Reel/Frame 016318/0232 →