IP Library › Granted Patent US 12,461,677
Granted Patent B2
US 12,461,677 · App. 18/742,897 · Granted Nov 4, 2025

Reservation station with primary and secondary storage circuits for store operations

Inventors: Amit Kumar (Fremont, CA); Brian R. Mestan (Austin, TX); Mridul Agarwal (Saratoga, CA); Nikhil Gupta (Santa Clara, CA)
Assignee: Apple Inc.
G06F3/0647G06F3/0604G06F3/0683
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,461,677
App. No.
18/742,897
Granted
Nov 4, 2025
Kind
B2
Abstract

A reservation station that includes primary and secondary storage circuits is disclosed. The primary storage circuit may include multiple full entries, while the secondary storage circuit includes multiple store-data entries. A given store-data entry of the multiple store-data entries stores a subset of the information stored in a given full entry of the multiple full entries. In response to a determination that a store address associated with a particular store operation, stored in particular full entry of the multiple full entries, has been available for use for a threshold number of cycles without store data associated with the particular store operation being available for use, a control circuit may transfer the particular store operation to a particular store-data entry of the multiple store-data entries.

Claims (61)

1 . An apparatus, comprising:

a primary storage circuit including a plurality of full entries configured to store information indicative of corresponding load/store operations of a plurality of load/store operations;

a secondary storage circuit including a plurality of store-data entries, wherein a given store-data entry of the plurality of store-data entries is configured to store a subset of information included in a given full entry of the plurality of full entries; and

a control circuit configured to transfer a particular store operation from a particular full entry of the plurality of full entries to a particular store-data entry of the plurality of store-data entries in response to a determination that a store address associated with the particular store operation has been available for use for a threshold number of cycles without store data associated with the particular operation being available for use.

2 . The apparatus of claim 1 , wherein to transfer the particular store operation, the control circuit is further configured to select, during a first cycle and according to a selection algorithm, the particular store operation from a plurality of delinquent store operations whose corresponding store addresses have been available for use for the threshold number of cycles without corresponding store data being available for use.

3 . The apparatus of claim 2 , wherein the control circuit is further configured to:

select, during a second cycle subsequent to the first cycle, a different store operation from the plurality of delinquent store operations; and

transfer, during the second cycle, the different store operation from its corresponding full entry of the plurality of full entries to a different store-data entry of the plurality of store-data entries.

4 . The apparatus of claim 1 , wherein the primary storage circuit includes a plurality of partitions, wherein subsets of the plurality of full entries are assigned to corresponding partitions of the plurality of partitions, and wherein the control circuit is further configured to:

select, from the plurality of partitions, corresponding oldest delinquent store operations to generate a plurality of oldest delinquent store operations, wherein corresponding store addresses of the plurality of oldest delinquent store operation have been available for use for the threshold number of cycles without corresponding store data being available for use;

select, according to a round-robin selection algorithm, a particular oldest delinquent store operation from the plurality of oldest delinquent store operations; and

transfer the particular oldest delinquent store operation to a different secondary entry in the plurality of store-data entries.

5 . The apparatus of claim 1 , wherein the primary storage circuit includes a plurality of partitions, wherein subsets of the plurality of full entries are assigned to corresponding partitions of the plurality of partitions, and wherein the control circuit is further configured to:

select, across the plurality of partitions, an oldest delinquent store operation, wherein a corresponding store address of the oldest delinquent store operation has been available for use for the threshold number of cycles without corresponding store data being available for use; and

transfer the oldest delinquent store operation to a different store-data entry of the plurality of store-data entries.

6 . The apparatus of claim 1 , wherein the control circuit is further configured to:

receive power information; and

halt transfer of store operations from the primary storage circuit to the secondary storage circuit in response to a determination that the power information indicates a power consumption of at least part of a computer system that includes the primary storage circuit, the secondary storage circuit, and the control circuit is greater than a threshold value.

7 . A method, comprising:

storing a plurality of load/store operations in corresponding full entries of a plurality of full entries included in a primary storage circuit included in a reservation station; and

transferring, by the reservation station, a particular store operation from a particular full entry of the plurality of full entries to a particular store-data entry of a plurality of store-data entries included in a secondary storage circuit included in the reservation station, wherein a given store-data entry of the plurality of store-data entries is configured to store a subset of information included in a given full entry of the plurality of full entries.

8 . The method of claim 7 , wherein transferring the particular store operation includes selecting, by the reservation station during a first cycle and according to a selection algorithm, the particular store operation from a plurality of delinquent store operations whose corresponding store addresses have been available for use for a threshold number of cycles without corresponding store data being available for use.

9 . The method of claim 8 , further comprising:

selecting, by the reservation station during a second cycle subsequent to the first cycle, a different store operation from the plurality of delinquent store operations; and

transferring, by the reservation station during the second cycle, the different store operation from a corresponding full entry of the plurality of full entries to a different store-data entry of the plurality of store-data entries.

10 . The method of claim 7 , wherein transferring the particular store operation includes:

checking, by the reservation station, a pool of credits issued by the secondary storage circuit; and

transferring, by the reservation station, the particular store operation in response to determining a credit is available from the pool of credits.

11 . The method of claim 7 , wherein the primary storage circuit includes a plurality of partitions, wherein subsets of the plurality of full entries are assigned to corresponding partitions of the plurality of partitions, and further comprising:

selecting, by the reservation station from the plurality of partitions, corresponding oldest delinquent store operations of a plurality of oldest delinquent store operations whose corresponding store addresses have been available for use for the threshold number of cycles without corresponding data being available for use;

selecting, by the reservation station according to a round-robin selection algorithm, a particular oldest delinquent store operation from the plurality of oldest delinquent store operations; and

transferring, by the reservation station, the particular oldest delinquent store operation to a different store-data entry in the plurality of store-data entries.

12 . The method of claim 7 , wherein the primary storage circuit includes a plurality of partitions, wherein subsets of the plurality of full entries are assigned to corresponding partitions of the plurality of partitions, and further comprising:

selecting, by the reservation station across the plurality of partitions, an oldest delinquent store operation, wherein a store address corresponding to the oldest delinquent store operation has been available for use for the threshold number of cycles without store data corresponding to the oldest delinquent store being available for use; and

transferring, by the reservation station, the oldest delinquent store operation to a different store-data entry of the plurality of store-data entries.

13 . The method of claim 7 , further comprising:

receiving, by the reservation station, power information; and

halting, by the reservation station, transfer of store operations from the primary storage circuit to the secondary storage circuit in response to determining that the power information indicates a power consumption of at least part of a computer system that includes the reservation station is greater than a threshold value.

14 . An apparatus, comprising:

a plurality of execution units; and

a reservation station that includes a primary storage circuit and a secondary storage circuit, wherein the reservation station is configured to:

store a plurality of load/store operations in corresponding full entries of a plurality of full entries included in the primary storage circuit;

transfer a particular store operation from a particular full entry of the plurality of full entries to a particular store-data entry of a plurality of store-data entries included in the secondary storage circuit, wherein a given store-data entry of the plurality of store-data entries is configured to store a subset of information included in a given full entry of the plurality of full entries; and

issue a previously stored load/store operation to a given execution unit of the plurality of execution units.

15 . The apparatus of claim 14 , wherein to transfer the particular store operation, the reservation station is further configured to select, during a first cycle and according to a selection algorithm, the particular store operation from a plurality of delinquent store operations whose corresponding store addresses have been available for use for the threshold number of cycles without corresponding store data being available for use.

16 . The apparatus of claim 15 , wherein the reservation station is further configured to:

select, during a second cycle subsequent to the first cycle, a different store operation from the plurality of delinquent store operations; and

transfer, during the second cycle, the different store operation from a corresponding full entry of the plurality of full entries to a different store-data entry of the plurality of store-data entries.

17 . The apparatus of claim 14 , wherein to transfer the particular store operation, the reservation station is further configured to:

check a pool of credits issued by the secondary storage circuit; and

transfer the particular store operation in response to determining a credit is available from the pool of credits.

18 . The apparatus of claim 14 , wherein the primary storage circuit includes a plurality of partitions, wherein subsets of the plurality of full entries are assigned to corresponding partitions of the plurality of partitions, and wherein the reservation station is further configured to:

select, from the plurality of partitions, corresponding oldest delinquent store operations of a plurality of oldest delinquent store operations whose corresponding store addresses have been available for use for the threshold number of cycles without corresponding store data being available for use;

select, according to a round-robin selection algorithm, a particular oldest delinquent store operation from the plurality of oldest delinquent store operations; and

transfer the particular oldest delinquent store operation to a different store-data entry in the plurality of store-data entries.

19 . The apparatus of claim 14 , wherein the primary storage circuit includes a plurality of partitions, wherein subsets of the plurality of full entries are assigned to corresponding partitions of the plurality of partitions, and wherein the reservation station is further configured to:

select across the plurality of partitions, an oldest delinquent store operation, wherein a corresponding store address for the oldest delinquent store operation has been available for use for the threshold number of cycles without corresponding store data for the oldest delinquent store being available for use; and

transfer the oldest delinquent store operation to a different store-data entry of the plurality of store-data entries.

20 . The apparatus of claim 14 , wherein the reservation station is further configured to:

receive power information; and

halt the transfer of store operations from the primary storage circuit to the secondary storage circuit in response to determining that the power information indicates a power consumption of at least part of a computer system that includes the reservation station is greater than a threshold value.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 14, 2024
From: KUMAR, AMIT; MESTAN, BRIAN R.; AGARWAL, MRIDUL; GUPTA, NIKHIL
To: APPLE INC.
Reel/Frame 067736/0746 →
Continuity (2)
Provisional Application 63553118 · Feb 13, 2024
Related Publication 20250258622A1 · Aug 14, 2025
References Cited (7)
US 10120690B1 · Srinivasa · 2018 [cited by examiner]
US 10228951B1 · Kothari · 2019 [cited by examiner]
US 10452434B1 · Blasco et al. · 2019 [cited by applicant]
US 11126438B2 · Srinivasan · 2021 [cited by examiner]
US 12298915B1 · Gupta · 2025 [cited by examiner]
US 20180150297A1 · Batley · 2018 [cited by examiner]
US 20200409710A1 · Srinivasan · 2020 [cited by examiner]