IP Library Granted Patent US 7,543,120
Granted Patent B2
US 7,543,120 · App. 11/952,596 · Granted Jun 2, 2009

Processor and data processing system employing a variable store gather window

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,543,120
App. No.
11/952,596
Granted
Jun 2, 2009
Kind
B2
Abstract

A processor includes at least one instruction execution unit that executes store instructions to obtain store operations and a store queue coupled to the instruction execution unit. The store queue includes a queue entry in which the store queue gathers multiple store operations during a store gathering window to obtain a data portion of a write transaction directed to lower level memory. In addition, the store queue includes dispatch logic that varies a size of the store gathering window to optimize store performance for different store behaviors and workloads.

Claims (37)

1. A processor, comprising:

at least one instruction execution unit that executes store instructions to obtain store operations;

a store queue coupled to said instruction execution unit, said store queue including:

a queue entry in which said store queue gathers multiple store operations during a store gathering window to obtain a data portion of a write transaction directed to lower level memory, wherein a gather indication is generated when a store operation is gathered in the queue entry; and

dispatch logic that varies a duration of said store gathering window, wherein said dispatch logic includes:

a counter that increments during clock cycles in which the gather indication is not asserted;

selection circuitry that selects a store gathering window duration for said queue entry;

a policy control unit that controls selection by said selection circuitry; and

a comparator that compares a count of said counter and said store gathering window duration, and responsive thereto, generates a dispatch signal to cause dispatch of a write transaction from said queue entry.

2. The processor of claim 1 , wherein said duration of the store gathering window comprises a selected number of clock cycles.

3. The processor of claim 1 , wherein:

said queue entry comprises a first queue entry;

said store gathering window is a first store gathering window;

said store queue includes a second queue entry; and

said dispatch logic applies a second store gathering window of different duration to said second queue entry.

4. The processor of claim 1 , wherein:

said store queue includes a plurality of queue entries including said queue entry; and

said store queue further comprises queue allocation logic that allocates said plurality of queue entries to store operations.

5. The processor of claim 1 , and further comprising one or more levels of cache memory.

6. A data processing system, comprising:

an interconnect;

a memory coupled to said interconnect; and

a processor coupled to said interconnect, said processor including:

at least one instruction execution unit that executes store instructions to obtain store operations;

a store queue coupled to said instruction execution unit, said store queue including:

a queue entry in which said store queue gathers multiple store operations during a store gathering window to obtain a data portion of a write transaction directed to memory, wherein a gather indication is generated when a store operation is gathered in the queue entry; and

dispatch logic that varies a duration of said store gathering window, wherein said dispatch logic includes:

a counter that increments during clock cycles in which the gather indication is not asserted;

selection circuitry that selects a store gathering window duration for said queue entry;

a policy control unit that controls selection by said selection circuitry; and

a comparator that compares a count of said counter and said store gathering window duration, and responsive thereto, generates a dispatch signal to cause dispatch of a write transaction from said queue entry.

7. The data processing system of claim 6 , wherein said duration of the store gathering window comprises a selected number of clock cycles.

8. The data processing system of claim 6 , wherein:

said queue entry comprises a first queue entry;

said store gathering window is a first store gathering window;

said store queue includes a second queue entry; and

said dispatch logic applies a second store gathering window of different duration to said second queue entry.

Assignments (2)
CHANGE OF NAME Recorded Dec 20, 2021
From: FACEBOOK, INC.
To: META PLATFORMS, INC.
Reel/Frame 058553/0802 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 4, 2012
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: FACEBOOK, INC.
Reel/Frame 027991/0416 →