IP Library › Granted Patent US 8,732,416
Granted Patent B2
US 8,732,416 · App. 13/239,045 · Granted May 20, 2014

Requester based transaction status reporting in a system with multi-level memory

Inventors: Raguram Damodaran (Plano, TX); Abhijeet Ashok Chachad (Plano, TX); Ramakrishnan Venkatasubramanian (Plano, TX); Dheera Balasubramanian (Richardson, TX); Naveen Bhoria (Plano, TX)
Assignee: Texas Instruments Incorporated
G06F12/0246
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 8,732,416
App. No.
13/239,045
Granted
May 20, 2014
Kind
B2
Abstract

A system has memory resources accessible by a central processing unit (CPU). One or more transaction requests are initiated by the CPU for access to one or more of the memory resources. Initiation of transaction requests is ceased for a period of time. The memory resources are monitored to determine when all of the transaction requests initiated by the CPU have been completed. An idle signal accessible by the CPU is provided that is asserted when all of the transaction requests initiated by the CPU have been completed.

Claims (31)

1. A method of operating a system having memory resources accessible by a central processing unit (CPU), the method comprising:

initiating one or more transaction requests by the CPU for access to one or more of the memory resources;

ceasing initiation of transaction requests;

monitoring the memory resources to determine when all of the transaction requests initiated by the CPU has been completed;

providing an idle signal accessible by the CPU that is asserted when all of the transaction requests initiated by the CPU have been completed; and

wherein ceasing initiation of transaction requests comprises executing a software loop from a loop buffer within the CPU while monitoring the plurality of memory resources until the idle signal is asserted.

2. The method of claim 1 , wherein ceasing initiation of transaction requests comprises stalling execution of instructions by the CPU until the idle signal is asserted and then resuming execution of instructions by the CPU.

3. The method of claim 1 , wherein a portion of the memory system and the CPU are located in a core module, and wherein the portion of the memory system in the core module is accessible by one or more external masters, and wherein the monitoring is performed separately for transaction requests from the CPU and for transaction requests from the one or more external masters, such that the idle signal indicates when the memory resources have completed all pending transaction requests from the CPU, even when a transaction request from the one or more external masters is still pending.

4. The method of claim 3 , further comprising providing a second idle signal accessible by the CPU that indicates when the memory resources have completed all pending transaction requests from the CPU and from the one or more external masters.

5. A method of operating a system having memory resources accessible by a central processing unit (CPU), the method comprising:

initiating one or more transaction requests by the CPU for access to one or more of the memory resources;

ceasing initiation of transaction requests;

monitoring the memory resources to determine when all of the transaction requests initiated by the CPU has been completed; and

providing an idle signal accessible by the CPU that is asserted when all of the transaction requests initiated by the CPU have been completed;

wherein assertion of the idle signal asserts an idle bit in a memory mapped register that is accessible by a memory access instruction executed by the CPU; and

wherein ceasing initiation of transaction requests comprises executing a software loop from a loop buffer within the CPU while monitoring the plurality of memory resources until the idle signal is asserted, wherein the software loop polls the idle bit until the idle bit is asserted.

6. The method of claim 5 , wherein ceasing initiation of transaction requests comprises stalling execution of instructions by the CPU until the idle signal is asserted and then resuming execution of instructions by the CPU.

7. The method of claim 5 , wherein a portion of the memory system and the CPU are located in a core module, and wherein the portion of the memory system in the core module is accessible by one or more external masters, and wherein the monitoring is performed separately for transaction requests from the CPU and for transaction requests from the one or more external masters, such that the idle signal indicates when the memory resources have completed all pending transaction requests from the CPU, even when a transaction request from the one or more external masters is still pending.

8. The method of claim 7 , further comprising providing a second idle signal accessible by the CPU that indicates when the memory resources have completed all pending transaction requests from the CPU and from the one or more external masters.

9. A system comprising a module, the module comprising:

one or more memory resources coupled to a local processing unit (CPU) located within the module, wherein the CPU is configured to initiate transaction requests to the one or more memory resources;

monitoring logic coupled to the one or more memory resources, the monitoring logic operable to assert an idle indicator when all transaction requests initiated by the CPU have been completed;

an idle indicator signal from the monitoring logic coupled to the CPU;

a memory mapped fence register coupled to the monitoring logic and to the CPU, wherein the fence register has an idle bit that is set in response to the monitoring logic idle indicator; and

wherein the CPU includes a software program loop buffer, and wherein a program loop executed from the software program loop buffer that polls the idle bit in the fence register does not initiate transaction requests to the one or more memory resources.

10. The system of claim 9 , wherein one or more memory resources are configured for access by an external requester that is external to the module, wherein the monitoring logic monitors only transactions initiated by the CPU.

11. The system of claim 10 , wherein the monitoring logic is configured to also monitor transactions initiated by an external requester and operable to assert a second idle indicator when all transaction requests initiated by the external requester have been completed.

12. The system of claim 9 , wherein the one or more memory resources is a multi-level cache memory.

13. The system of claim 12 wherein:

the one or more memory modules, the monitoring logic and the idle signal indicator are formed within a single integrated circuit; and

the system further comprising a plurality of the modules interconnected by a switch fabric.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 22, 2011
From: DAMODARAN, RAGURAM; CHACHAD, ABHIJEET ASHOK; VENKATASUBRAMANIAN, RAMAKRISHNAN; BALASUBRAMANIAN, DHEERA; BHORIA, NAVEEN
To: TEXAS INSTRUMENTS INCORPORATED
Reel/Frame 026946/0426 →
Continuity (2)
Provisional Application 61387283 · Sep 28, 2010
Related Publication 20120079102A1 · Mar 29, 2012