IP Library Granted Patent US 12,430,201
Granted Patent B2
US 12,430,201 · App. 18/441,279 · Granted Sep 30, 2025

Multi-processor bridge with cache allocate awareness

Inventors: Kai Chirca (Dallas, TX); Daniel Wu (Plano, TX); Matthew David Pierson (Frisco, TX)
Assignee: TEXAS INSTRUMENTS INCORPORATED
G06F3/0604G06F3/0607G06F3/0632G06F3/064G06F3/0658G06F3/0659G06F3/0673G06F3/0679G06F9/30101G06F9/30123G06F9/3897G06F9/4881G06F9/5016G06F12/0607G06F12/0811G06F12/0815G06F12/0828G06F12/0831G06F12/084G06F12/0855G06F12/0857G06F12/0875G06F12/0891G06F12/10G06F12/1009G06F13/124G06F13/1642G06F13/1663G06F13/1668G06F13/4027H03M13/015H03M13/098H03M13/1575H03M13/276H03M13/2785G06F12/0833G06F12/0846G06F12/0851G06F12/0862G06F2212/1008G06F2212/1016G06F2212/1024G06F2212/1048G06F2212/304G06F2212/452G06F2212/6024G06F2212/657
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,430,201
App. No.
18/441,279
Granted
Sep 30, 2025
Kind
B2
Abstract

Techniques for loading data, comprising receiving a memory management command to perform a memory management operation to load data into the cache memory before execution of an instruction that requests the data, formatting the memory management command into one or more instruction for a cache controller associated with the cache memory, and outputting an instruction to the cache controller to load the data into the cache memory based on the memory management command.

Claims (90)

1. A system comprising:

a processor package including a plurality of processors and a cache memory coupled to the plurality of processors; and

a shared memory controller coupled to the processor package and configured to:

receive a memory management command including a first indication of a memory operation and a second indication of a memory location in the cache memory, wherein the first indication specifies that the memory operation is a prewarming operation for the memory location in the cache memory;

format the memory management command into a formatted command;

route the formatted command to the processor package; and

receive a response from the processor package indicating that the memory operation was successful.

2. The system of claim 1 ,

wherein the processor package further includes a cache memory controller coupled to the cache memory, and

wherein the shared memory controller is configured to route the formatted command to the cache memory controller.

3. The system of claim 2 , wherein the cache memory controller is configured to send the response indicating that the memory operation was successful to the shared memory controller.

4. The system of claim 1 , wherein the plurality of processors include a first processor core configured to:

execute the memory operation; and

load data into the memory location of the cache memory.

5. The system of claim 1 ,

wherein to format the memory management command, the shared memory controller is configured to format the memory management command into a read op code, and

wherein the shared memory controller is configured to route the read op code to the processor package.

6. The system of claim 5 , wherein the response from the processor package indicates that a loading of data into the memory location was successful.

7. The system of claim 1 , wherein the processor package is configured to:

schedule a second process for execution after a currently running first process; and

issue the memory management command to the shared memory controller to prewarm the cache memory before switching from the currently running first process to the second process.

8. The system of claim 7 ,

wherein the plurality of processors includes a first processor, and

wherein the processor package is configured to:

schedule the second process for execution on the first processor; and

select the memory location in the memory management command based on the first processor,

wherein the memory location is shared by the first processor.

9. The system of claim 1 ,

wherein the processor package is a first processor package,

wherein the plurality of processors is a first plurality of processors,

wherein the system further comprises a second processor package including a second plurality of processors,

wherein the cache memory includes an L2 cache memory shared by the plurality of processors in the first processor package, and

wherein the L2 cache memory is not shared with the second plurality of processors in the second processor package.

10. The system of claim 1 ,

wherein the memory management command is a first command,

wherein the shared memory controller includes an L3 cache memory;

wherein the shared memory controller is configured to:

receive a second memory management command;

format the second memory management command as a read op; and

route the read op to the L3 cache memory.

11. The system of claim 1 , further comprising a bridge circuit coupled to the shared memory controller,

wherein the memory management command is a first command,

wherein the shared memory controller is configured to:

receive a second memory management command;

format the second memory management command into a second formatted command; and

route the second formatted command to the bridge circuit.

12. The system of claim 11 ,

wherein the plurality of processors includes a first processor including a memory interface, and

wherein the bridge circuit is configured to:

translate the second formatted command into an op code; and

transmit the op code to the memory interface of the first processor.

13. A method comprising:

receiving a first memory management command including a first indication of a memory operation and a second indication of a memory location in a cache memory in a processor package, wherein the first indication specifies that the memory operation is a prewarming operation for the memory location in the cache memory;

formatting the first memory management command into a formatted command;

routing the formatted command to the processor package; and

receiving a response from the processor package indicating that the memory operation was successful.

14. The method of claim 13 , further comprising:

receiving a second memory management command;

formatting the second memory management command as a read op; and

routing the read op to a L3 cache memory.

15. The method of claim 13 , further comprising:

receiving a second memory management command;

formatting the second memory management command into a second formatted command; and

routing the second formatted command to a bridge circuit.

16. A system comprising:

a processor package including:

a plurality of processors;

a cache memory coupled to the plurality of processors; and

a cache memory controller coupled to the cache memory, wherein the processor package is configured to:

schedule a second process for execution after a currently running first process; and

issue a first prewarming command to prewarm a location in the cache memory before switching from the currently running first process to the second process; and

a shared memory controller coupled to the processor package and configured to:

format the first prewarming command into a first formatted command;

route the first formatted command to the cache memory controller; and

receive a response from the cache memory controller indicating that a loading of data into the location was successful.

17. The system of claim 16 ,

wherein the shared memory controller includes an L3 cache memory;

wherein the shared memory controller is configured to:

receive a second prewarming command;

format the second prewarming command as a read op; and

route the read op to the L3 cache memory.

18. The system of claim 16 , further comprising a bridge circuit coupled to the shared memory controller, wherein the shared memory controller is configured to:

receive a second prewarming command;

format the second prewarming command into a second formatted command; and

route the second formatted command to the bridge circuit.

19. The system of claim 18 ,

wherein the plurality of processors includes a first processor including a memory interface, and

wherein the bridge circuit is configured to:

translate the second formatted command into an op code; and

transmit the op code to the memory interface of the first processor.

Continuity (4)
Continuation 17380297 · Jul 20, 2021
Continuation 16601913 · Oct 15, 2019
Provisional Application 62745842 · Oct 15, 2018
Related Publication 20240184446A1 · Jun 6, 2024
References Cited (23)
US 6247094B1 · Kumar et al. · 2001 [cited by applicant]
US 6604185B1 · Fromm · 2003 [cited by applicant]
US 7010626B2 · Kahle · 2006 [cited by applicant]
US 7200734B2 · Hyser · 2007 [cited by applicant]
US 8627312B2 · Weber · 2014 [cited by applicant]
US 8683132B1 · Danilak · 2014 [cited by applicant]
US 8732370B2 · Chirca et al. · 2014 [cited by applicant]
US 9152586B2 · Wu et al. · 2015 [cited by applicant]
US 9298665B2 · Pierson et al. · 2016 [cited by applicant]
US 9652404B2 · Pierson et al. · 2017 [cited by applicant]
US 20040148473A1 · Hughes · 2004 [cited by examiner]
US 20050138627A1 · Bradford · 2005 [cited by examiner]
US 20100241811A1 · Solihin · 2010 [cited by applicant]
US 20110066811A1 · Sander · 2011 [cited by examiner]
US 20110283067A1 · Chen et al. · 2011 [cited by applicant]
US 20120144122A1 · Lepak · 2012 [cited by examiner]
US 20130238861A1 · Manne et al. · 2013 [cited by applicant]
US 20150324293A1 · Govindaraju et al. · 2015 [cited by applicant]
US 20150378919A1 · Anantaraman et al. · 2015 [cited by applicant]
US 20170097894A1 · Damodaran et al. · 2017 [cited by applicant]
US 20170199814A1 · Molloy et al. · 2017 [cited by applicant]
US 20170277450A1 · Ish et al. · 2017 [cited by applicant]
US 20190114284A1 · Katrinis et al. · 2019 [cited by applicant]