US20040193754A1 - DMA prefetch - Google Patents
DMA prefetch Download PDFInfo
- Publication number
- US20040193754A1 US20040193754A1 US10/401,411 US40141103A US2004193754A1 US 20040193754 A1 US20040193754 A1 US 20040193754A1 US 40141103 A US40141103 A US 40141103A US 2004193754 A1 US2004193754 A1 US 2004193754A1
- Authority
- US
- United States
- Prior art keywords
- data
- cache
- load
- dma
- computer program
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
Definitions
- the invention relates generally to memory management and, more particularly, to prefetching data to a cache in a direct memory access (DMA) mechanism.
- DMA direct memory access
- a DMA mechanism is to move information from one type of memory to another.
- the DMA mechanism such as a DMA engine or DMA controller also moves information from a system memory to a local store of a processor.
- a DMA command tries to move information from the system memory to the local store of the processor, there is going to be some delay in fetching the information from the system memory to the local store of the processor.
- the present invention provides a method and an apparatus for prefetching data from a system memory to a cache for a direct memory access (DMA) mechanism in a computer system.
- a DMA mechanism is set up for a processor.
- a load access pattern of the DMA mechanism is detected.
- At least one potential load of data is predicted based on the load access pattern.
- the data is prefetched from a system memory to a cache before a DMA command requests the data.
- FIG. 1 shows a block diagram illustrating a single processor computer system adopting a cache along with a direct memory access (DMA) mechanism;
- DMA direct memory access
- FIG. 2 shows a block diagram illustrating a multiprocessor computer system adopting a cache along with a DMA mechanism
- FIG. 3 shows a flow diagram illustrating prefetching mechanism applicable to a DMA mechanism as shown in FIGS. 1 and 2.
- the reference numeral 100 generally designates a single processor computer system adopting a cache in a direct memory access (DMA) mechanism.
- the single processor computer system 100 comprises a synergistic processor complex (SPC) 102 , which includes a synergistic processor unit (SPU) 104 , a local store 106 , and a memory flow controller (MFC) 108 .
- the single processor computer system also includes an SPU's L 1 cache (SL 1 cache) 109 and a system memory 110 .
- the SPC 102 is coupled to the SL 1 cache 109 via a connection 112 .
- the SL 1 cache 109 is coupled to the system memory 110 via a connection 114 .
- the MFC 108 functions as a DMA controller.
- the load access pattern generally contains information on the data being transferred.
- the load access pattern can be used to predict future data transfers and prefetch data to the SL 1 cache 109 before the MFC 108 actually requests the data.
- the MFC 108 does not have to go all the way back to the system memory 110 to retrieve the data. Instead, the MFC 108 accesses the SL 1 cache 109 to retrieve the data and transfer the data to the local store 106 .
- the MFC 108 checks the SL 1 cache 109 first for any data. If there is a hit, the MFC 108 transfers the data from the SL 1 cache 109 to the local store 106 . If there is a miss, the MFC 108 transfers the data from the system memory 110 to the local store 106 .
- FIG. 2 is a block diagram illustrating a multiprocessor computer system 200 adopting a cache in a DMA mechanism.
- the multiprocessor computer system 200 has one or more synergistic processor complexes (SPCs) 202 .
- the SPC 202 has a synergistic processor unit (SPU) 204 , a local store 206 , and a memory flow controller (MFC) 208 .
- the multiprocessor computer system 200 further comprises an SPU's L 1 cache (SL 1 cache) 210 and a system memory 212 .
- the SL 1 cache 210 is coupled between the SPC 202 and the system memory 212 via connections 216 and 218 .
- the multiprocessor computer system 200 comprises a processing unit (PU) 220 , which includes an L 1 cache 222 .
- the multiprocessor computer system 200 further comprises an L 2 cache 224 coupled between the PU 220 and the system memory 212 via connections 226 and 228 .
- the load access pattern generally contains information on the data being transferred.
- the load access pattern can be used to predict future data transfers and prefetch data to the SL 1 cache 210 before the MFC 208 actually requests the data.
- the MFC 208 does not have to go all the way back to the system memory 212 to retrieve the data. Instead, the MFC 208 accesses the SL 1 cache 210 to retrieve the data and transfer the data to the local store 206 .
- FIG. 3 shown is a flow diagram illustrating a prefetching mechanism 300 applicable to a DMA mechanism as shown in FIGS. 1 and 2.
- step 302 the DMA mechanism is set up for a processor.
- the MFC 108 is set up for the SPC 102 .
- the MFC 208 is set up for the SPC 202 .
- step 304 a load access pattern of the DMA mechanism is detected.
- streaming data for example, a load of a first piece of data leads to a subsequent load of a second piece of data stored adjacently to the first piece of data in a logical address space. Therefore, in this example, it is very likely that the second piece of data will be requested to be loaded soon after the load of the first piece.
- step 306 at least one potential load of data is predicted based on the load access pattern.
- the second piece of data is predicted to be loaded soon.
- step 308 in response to the prediction, the data is prefetched from the system memory to the cache before a DMA command requests the data.
- step 310 in response to a DMA load request of the data, the data is loaded from the cache.
Abstract
A method and an apparatus are provided for prefetching data from a system memory to a cache for a direct memory access (DMA) mechanism in a computer system. A DMA mechanism is set up for a processor. A load access pattern of the DMA mechanism is detected. At least one potential load of data is predicted based on the load access pattern. In response to the prediction, the data is prefetched from a system memory to a cache before a DMA command requests the data.
Description
- 1. Field of the Invention
- The invention relates generally to memory management and, more particularly, to prefetching data to a cache in a direct memory access (DMA) mechanism.
- 2. Description of the Related Art
- In a multiprocessor design, a DMA mechanism is to move information from one type of memory to another. The DMA mechanism such as a DMA engine or DMA controller also moves information from a system memory to a local store of a processor. When a DMA command tries to move information from the system memory to the local store of the processor, there is going to be some delay in fetching the information from the system memory to the local store of the processor.
- Therefore, a need exists for a system and method for prefetching data from a system memory to a cache for a direct memory access (DMA) mechanism in a computer system.
- The present invention provides a method and an apparatus for prefetching data from a system memory to a cache for a direct memory access (DMA) mechanism in a computer system. A DMA mechanism is set up for a processor. A load access pattern of the DMA mechanism is detected. At least one potential load of data is predicted based on the load access pattern. In response to the prediction, the data is prefetched from a system memory to a cache before a DMA command requests the data.
- For a more complete understanding of the present invention and the advantages thereof, reference is now made to the following descriptions taken in conjunction with the accompanying drawings, in which:
- FIG. 1 shows a block diagram illustrating a single processor computer system adopting a cache along with a direct memory access (DMA) mechanism;
- FIG. 2 shows a block diagram illustrating a multiprocessor computer system adopting a cache along with a DMA mechanism; and
- FIG. 3 shows a flow diagram illustrating prefetching mechanism applicable to a DMA mechanism as shown in FIGS. 1 and 2.
- In the following discussion, numerous specific details are set forth to provide a thorough understanding of the present invention. However, it will be apparent to those skilled in the art that the present invention may be practiced without such specific details. In other instances, well-known elements have been illustrated in schematic or block diagram form in order not to obscure the present invention in unnecessary detail.
- It is further noted that, unless indicated otherwise, all functions described herein may be performed in either hardware or software, or some combination thereof. In a preferred embodiment, however, the functions are performed by a processor such as a computer or an electronic data processor in accordance with code such as computer program code, software, and/or integrated circuits that are coded to perform such functions, unless indicated otherwise.
- Referring to FIG. 1 of the drawings, the
reference numeral 100 generally designates a single processor computer system adopting a cache in a direct memory access (DMA) mechanism. The singleprocessor computer system 100 comprises a synergistic processor complex (SPC) 102, which includes a synergistic processor unit (SPU) 104, alocal store 106, and a memory flow controller (MFC) 108. The single processor computer system also includes an SPU's L1 cache (SL1 cache) 109 and asystem memory 110. The SPC 102 is coupled to theSL1 cache 109 via aconnection 112. TheSL1 cache 109 is coupled to thesystem memory 110 via aconnection 114. The MFC 108 functions as a DMA controller. - Once the MFC108 is set up to perform data transfers between the
system memory 110 and thelocal store 106, a load access pattern of the MFC 108 is detected. The load access pattern generally contains information on the data being transferred. The load access pattern can be used to predict future data transfers and prefetch data to theSL1 cache 109 before the MFC 108 actually requests the data. When theMFC 108 actually requests the data, theMFC 108 does not have to go all the way back to thesystem memory 110 to retrieve the data. Instead, the MFC 108 accesses theSL1 cache 109 to retrieve the data and transfer the data to thelocal store 106. - Preferably, the MFC108 checks the
SL1 cache 109 first for any data. If there is a hit, the MFC 108 transfers the data from theSL1 cache 109 to thelocal store 106. If there is a miss, the MFC 108 transfers the data from thesystem memory 110 to thelocal store 106. - FIG. 2 is a block diagram illustrating a
multiprocessor computer system 200 adopting a cache in a DMA mechanism. Themultiprocessor computer system 200 has one or more synergistic processor complexes (SPCs) 202. The SPC 202 has a synergistic processor unit (SPU) 204, alocal store 206, and a memory flow controller (MFC) 208. Themultiprocessor computer system 200 further comprises an SPU's L1 cache (SL1 cache) 210 and asystem memory 212. TheSL1 cache 210 is coupled between theSPC 202 and thesystem memory 212 viaconnections single SL1 cache 210 is used to interface with all theSPCs 202. In different implementations, however, a plurality of caches may be used. Additionally, themultiprocessor computer system 200 comprises a processing unit (PU) 220, which includes anL1 cache 222. Themultiprocessor computer system 200 further comprises anL2 cache 224 coupled between thePU 220 and thesystem memory 212 viaconnections - Once the MFC208 is set up to perform data transfers between the
system memory 212 and thelocal store 206, a load access pattern of the MFC 208 is detected. The load access pattern generally contains information on the data being transferred. The load access pattern can be used to predict future data transfers and prefetch data to theSL1 cache 210 before the MFC 208 actually requests the data. When the MFC 208 actually requests the data, the MFC 208 does not have to go all the way back to thesystem memory 212 to retrieve the data. Instead, the MFC 208 accesses theSL1 cache 210 to retrieve the data and transfer the data to thelocal store 206. - Now referring to FIG. 3, shown is a flow diagram illustrating a
prefetching mechanism 300 applicable to a DMA mechanism as shown in FIGS. 1 and 2. - In
step 302, the DMA mechanism is set up for a processor. In FIG. 1, for example, the MFC 108 is set up for theSPC 102. In FIG. 2, for example, the MFC 208 is set up for theSPC 202. Instep 304, a load access pattern of the DMA mechanism is detected. In streaming data, for example, a load of a first piece of data leads to a subsequent load of a second piece of data stored adjacently to the first piece of data in a logical address space. Therefore, in this example, it is very likely that the second piece of data will be requested to be loaded soon after the load of the first piece. - In
step 306, at least one potential load of data is predicted based on the load access pattern. In the same example, the second piece of data is predicted to be loaded soon. Instep 308, in response to the prediction, the data is prefetched from the system memory to the cache before a DMA command requests the data. Instep 310, in response to a DMA load request of the data, the data is loaded from the cache. - It will be understood from the foregoing description that various modifications and changes may be made in the preferred embodiment of the present invention without departing from its true spirit. This description is intended for purposes of illustration only and should not be construed in a limiting sense. The scope of this invention should be limited only by the language of the following claims.
Claims (26)
1. A method for prefetching data from a system memory to a cache for a direct memory access (DMA) mechanism in a computer system, the method comprising the steps of:
setting up the DMA mechanism for a processor;
detecting a load access pattern of the DMA mechanism;
predicting at least one potential load of data based on the load access pattern; and
in response to the prediction, prefetching the data from the system memory to the cache before a DMA command requests the data.
2. The method of claim 1 , further comprising the step of, in response to a DMA load request of the data, loading the data from the cache.
3. The method of claim 1 , wherein the computer system includes a plurality of processors sharing the cache, further comprising the step of loading the data from the cache to one or more of the plurality of processors.
4. The method of claim 2 , further comprising the step of issuing the DMA load request of the data.
5. The method of claim 1 , wherein the load access pattern includes a pattern of consecutively loading two or more pieces of data adjacently stored in a logical address space.
6. The method of claim 5 , wherein the step of predicting at least one potential load of data based on the load access pattern comprises the step of predicting a potential load of a first piece of data after a DMA load request of a second piece of data stored adjacently to the first piece of data in a logical address space.
7. The method of claim 1 , wherein the processor includes a local store, and wherein the data is loaded from the cache to the local store of the processor.
8. A computer system comprising:
a processor having a local store;
a memory flow controller (MFC) included in the processor, the MFC having a load access pattern leading to a prediction of at least one potential load of data;
a system memory; and
a cache coupled between the processor and the system memory, wherein, in response to the prediction, the data is prefetched from the system memory to the cache before the MFC requests the data.
9. The computer system of claim 8 , wherein the MFC, in response to a DMA load request of the data, loads the data from the cache to the local store.
10. A multiprocessor computer system comprising:
one or more processors, each processor having a local store;
one or more memory flow controllers (MFCs) each included in each processor, a first MFC having a load access pattern leading to a prediction of at least one potential load of data;
a system memory; and
a cache coupled between at least one processor and the system memory, wherein, in response to the prediction, the data is prefetched from the system memory to the cache before the first DMAC requests the data.
11. The multiprocessor computer system of claim 10 , wherein at least one of the processors is a synergistic processor complex (SPC).
12. The multiprocessor computer system of claim 11 , wherein the synergistic processor complex (SPC) includes a synergistic processor unit (SPU).
13. An apparatus for prefetching data from a system memory to a cache for a direct memory access (DMA) mechanism in a computer system, the apparatus comprising:
means for setting up a DMA mechanism for a processor;
means for detecting a load access pattern of the DMA mechanism;
means for predicting at least one potential load of data based on the load access pattern; and
means for in response to the prediction, prefetching the data from a system memory to a cache before a DMA command requests the data.
14. The apparatus of claim 13 , further comprising means for, in response to a DMA load request of the data, loading the data from the cache.
15. The apparatus of claim 13 , wherein the computer system includes a plurality of processors sharing the cache, the apparatus further comprising means for loading the data from the cache to one or more of the plurality of processors.
16. The apparatus of claim 14 , further comprising means for issuing the DMA load request of the data.
17. The apparatus of claim 13 , wherein the load access pattern includes a pattern of consecutively loading two or more pieces of data adjacently stored in a logical address space.
18. The apparatus of claim 17 , wherein the means for predicting at least one potential load of data based on the load access pattern comprises means for predicting a potential load of a first piece of data after a DMA load request of a second piece of data stored adjacently to the first piece of data in a logical address space.
19. The apparatus of claim 13 , wherein the processor includes a local store, and wherein the data is loaded from the cache to the local store of the processor.
20. A computer program product for prefetching data from a system memory to a cache for a direct memory access (DMA) mechanism in a computer system, the computer program product having a medium with a computer program embodied thereon, the computer program comprising:
computer program code for setting up a DMA mechanism for a processor;
computer program code for detecting a load access pattern of the DMA mechanism;
computer program code for predicting at least one potential load of data based on the load access pattern; and
computer program code for, in response to the prediction, prefetching the data from a system memory to a cache before a DMA command requests the data.
21. The computer program product of claim 20 , the computer program further comprising computer program code for, in response to a DMA load request of the data, loading the data from the cache.
22. The computer program product of claim 20 , wherein the computer system includes a plurality of processors sharing the cache, the computer program further comprising computer program code for loading the data from the cache to one or more of the plurality of processors.
23. The computer program product of claim 21 , the computer program further comprising computer program code for issuing the DMA load request of the data.
24. The computer program product of claim 20 , wherein the load access pattern includes a pattern of consecutively loading two or more pieces of data adjacently stored in a logical address space.
25. The computer program product of claim 24 , wherein the computer program code for predicting at least one potential load of data based on the load access pattern comprises computer program code for predicting a potential load of a first piece of data after a DMA load request of a second piece of data stored adjacently to the first piece of data in a logical address space.
26. The computer program product of claim 20 , wherein the processor includes a local store, and wherein the data is loaded from the cache to the local store of the processor.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/401,411 US20040193754A1 (en) | 2003-03-27 | 2003-03-27 | DMA prefetch |
US11/057,454 US7010626B2 (en) | 2003-03-27 | 2005-02-14 | DMA prefetch |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/401,411 US20040193754A1 (en) | 2003-03-27 | 2003-03-27 | DMA prefetch |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/057,454 Continuation US7010626B2 (en) | 2003-03-27 | 2005-02-14 | DMA prefetch |
Publications (1)
Publication Number | Publication Date |
---|---|
US20040193754A1 true US20040193754A1 (en) | 2004-09-30 |
Family
ID=32989444
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/401,411 Abandoned US20040193754A1 (en) | 2003-03-27 | 2003-03-27 | DMA prefetch |
US11/057,454 Expired - Fee Related US7010626B2 (en) | 2003-03-27 | 2005-02-14 | DMA prefetch |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/057,454 Expired - Fee Related US7010626B2 (en) | 2003-03-27 | 2005-02-14 | DMA prefetch |
Country Status (1)
Country | Link |
---|---|
US (2) | US20040193754A1 (en) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050027899A1 (en) * | 2003-07-31 | 2005-02-03 | International Business Machines Corporation | Cacheable DMA |
US20050086040A1 (en) * | 2003-10-02 | 2005-04-21 | Curtis Davis | System incorporating physics processing unit |
US20050216610A1 (en) * | 2004-03-25 | 2005-09-29 | International Business Machines Corporation | Method to provide cache management commands for a DMA controller |
US20060265202A1 (en) * | 2005-05-09 | 2006-11-23 | Muller-Fischer Matthias H | Method of simulating deformable object using geometrically motivated model |
US20070041403A1 (en) * | 2005-08-19 | 2007-02-22 | Day Michael N | System and method for communicating instructions and data between a processor and external devices |
US20070043936A1 (en) * | 2005-08-19 | 2007-02-22 | Day Michael N | System and method for communicating with a processor event facility |
US20070079018A1 (en) * | 2005-08-19 | 2007-04-05 | Day Michael N | System and method for communicating command parameters between a processor and a memory flow controller |
WO2007020274A3 (en) * | 2005-08-19 | 2007-04-19 | Ibm | System and method for communicating instructions and data between a processor and external devices |
US20080282058A1 (en) * | 2007-05-10 | 2008-11-13 | Monier Maher | Message queuing system for parallel integrated circuit architecture and related method of operation |
US20100042786A1 (en) * | 2008-08-14 | 2010-02-18 | International Business Machines Corporation | Snoop-based prefetching |
US10299161B1 (en) | 2010-07-26 | 2019-05-21 | Seven Networks, Llc | Predictive fetching of background data request in resource conserving manner |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7437517B2 (en) * | 2005-01-11 | 2008-10-14 | International Business Machines Corporation | Methods and arrangements to manage on-chip memory to reduce memory latency |
US8112755B2 (en) * | 2006-06-30 | 2012-02-07 | Microsoft Corporation | Reducing latencies in computing systems using probabilistic and/or decision-theoretic reasoning under scarce memory resources |
US7831766B2 (en) * | 2006-12-22 | 2010-11-09 | Comm Vault Systems, Inc. | Systems and methods of data storage management, such as pre-allocation of storage space |
US7813339B2 (en) * | 2007-05-02 | 2010-10-12 | Tehuti Networks Ltd. | Direct assembly of a data payload in an application memory |
US8423720B2 (en) * | 2007-05-10 | 2013-04-16 | International Business Machines Corporation | Computer system, method, cache controller and computer program for caching I/O requests |
US9063938B2 (en) | 2012-03-30 | 2015-06-23 | Commvault Systems, Inc. | Search filtered file system using secondary storage, including multi-dimensional indexing and searching of archived files |
US9639297B2 (en) | 2012-03-30 | 2017-05-02 | Commvault Systems, Inc | Shared network-available storage that permits concurrent data access |
US9547459B1 (en) * | 2013-06-27 | 2017-01-17 | EMC IP Holding Company LLC | Techniques for data relocation based on access patterns |
US10169121B2 (en) | 2014-02-27 | 2019-01-01 | Commvault Systems, Inc. | Work flow management for an information management system |
US9898213B2 (en) | 2015-01-23 | 2018-02-20 | Commvault Systems, Inc. | Scalable auxiliary copy processing using media agent resources |
US10313243B2 (en) | 2015-02-24 | 2019-06-04 | Commvault Systems, Inc. | Intelligent local management of data stream throttling in secondary-copy operations |
US11422938B2 (en) | 2018-10-15 | 2022-08-23 | Texas Instruments Incorporated | Multicore, multibank, fully concurrent coherence controller |
US11372645B2 (en) * | 2020-06-12 | 2022-06-28 | Qualcomm Incorporated | Deferred command execution |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6178533B1 (en) * | 1997-06-30 | 2001-01-23 | Sun Microsystems, Inc. | Method and system for design verification |
US6182111B1 (en) * | 1997-05-15 | 2001-01-30 | Hitachi, Ltd. | Method and system for managing distributed data |
US6205409B1 (en) * | 1998-06-26 | 2001-03-20 | Advanced Micro Devices, Inc. | Predictive failure monitoring system for a mass flow controller |
US6247094B1 (en) * | 1997-12-22 | 2001-06-12 | Intel Corporation | Cache memory architecture with on-chip tag array and off-chip data array |
US6401193B1 (en) * | 1998-10-26 | 2002-06-04 | Infineon Technologies North America Corp. | Dynamic data prefetching based on program counter and addressing mode |
US6693846B2 (en) * | 2002-05-24 | 2004-02-17 | Infineon Technologies Ag | Command controller for an integrated circuit memory device and test circuitry thereof |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08263424A (en) * | 1995-03-20 | 1996-10-11 | Fujitsu Ltd | Computer system |
US5953538A (en) * | 1996-11-12 | 1999-09-14 | Digital Equipment Corporation | Method and apparatus providing DMA transfers between devices coupled to different host bus bridges |
US6658537B2 (en) * | 1997-06-09 | 2003-12-02 | 3Com Corporation | DMA driven processor cache |
US6636906B1 (en) * | 2000-04-28 | 2003-10-21 | Hewlett-Packard Development Company, L.P. | Apparatus and method for ensuring forward progress in coherent I/O systems |
EP1182561B1 (en) * | 2000-08-21 | 2011-10-05 | Texas Instruments France | Cache with block prefetch and DMA |
US20030154349A1 (en) * | 2002-01-24 | 2003-08-14 | Berg Stefan G. | Program-directed cache prefetching for media processors |
US6842822B2 (en) * | 2002-04-05 | 2005-01-11 | Freescale Semiconductor, Inc. | System and method for cache external writing |
-
2003
- 2003-03-27 US US10/401,411 patent/US20040193754A1/en not_active Abandoned
-
2005
- 2005-02-14 US US11/057,454 patent/US7010626B2/en not_active Expired - Fee Related
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6182111B1 (en) * | 1997-05-15 | 2001-01-30 | Hitachi, Ltd. | Method and system for managing distributed data |
US6178533B1 (en) * | 1997-06-30 | 2001-01-23 | Sun Microsystems, Inc. | Method and system for design verification |
US6247094B1 (en) * | 1997-12-22 | 2001-06-12 | Intel Corporation | Cache memory architecture with on-chip tag array and off-chip data array |
US6205409B1 (en) * | 1998-06-26 | 2001-03-20 | Advanced Micro Devices, Inc. | Predictive failure monitoring system for a mass flow controller |
US6401193B1 (en) * | 1998-10-26 | 2002-06-04 | Infineon Technologies North America Corp. | Dynamic data prefetching based on program counter and addressing mode |
US6693846B2 (en) * | 2002-05-24 | 2004-02-17 | Infineon Technologies Ag | Command controller for an integrated circuit memory device and test circuitry thereof |
Cited By (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7200689B2 (en) | 2003-07-31 | 2007-04-03 | International Business Machines Corporation | Cacheable DMA |
US20050027899A1 (en) * | 2003-07-31 | 2005-02-03 | International Business Machines Corporation | Cacheable DMA |
US20050086040A1 (en) * | 2003-10-02 | 2005-04-21 | Curtis Davis | System incorporating physics processing unit |
US7657667B2 (en) | 2004-03-25 | 2010-02-02 | International Business Machines Corporation | Method to provide cache management commands for a DMA controller |
US20050216610A1 (en) * | 2004-03-25 | 2005-09-29 | International Business Machines Corporation | Method to provide cache management commands for a DMA controller |
US7650266B2 (en) | 2005-05-09 | 2010-01-19 | Nvidia Corporation | Method of simulating deformable object using geometrically motivated model |
US20060265202A1 (en) * | 2005-05-09 | 2006-11-23 | Muller-Fischer Matthias H | Method of simulating deformable object using geometrically motivated model |
US7500039B2 (en) | 2005-08-19 | 2009-03-03 | International Business Machines Corporation | Method for communicating with a processor event facility |
US7778271B2 (en) | 2005-08-19 | 2010-08-17 | International Business Machines Corporation | Method for communicating instructions and data between a processor and external devices |
US7386636B2 (en) | 2005-08-19 | 2008-06-10 | International Business Machines Corporation | System and method for communicating command parameters between a processor and a memory flow controller |
US20080244200A1 (en) * | 2005-08-19 | 2008-10-02 | International Business Machines Corporation | System for Communicating Command Parameters Between a Processor and a Memory Flow Controller |
US8024489B2 (en) | 2005-08-19 | 2011-09-20 | International Business Machines Corporation | System for communicating command parameters between a processor and a memory flow controller |
US20080288757A1 (en) * | 2005-08-19 | 2008-11-20 | International Business Machines Corporation | Communicating Instructions and Data Between a Processor and External Devices |
JP2009505258A (en) * | 2005-08-19 | 2009-02-05 | インターナショナル・ビジネス・マシーンズ・コーポレーション | System and method for communicating instructions and data between a processor and an external device |
US20070041403A1 (en) * | 2005-08-19 | 2007-02-22 | Day Michael N | System and method for communicating instructions and data between a processor and external devices |
US20090217300A1 (en) * | 2005-08-19 | 2009-08-27 | International Business Machines Corporation | Communicating with a Processor Event Facility |
US7930457B2 (en) | 2005-08-19 | 2011-04-19 | International Business Machines Corporation | Channel mechanisms for communicating with a processor event facility |
US20070079018A1 (en) * | 2005-08-19 | 2007-04-05 | Day Michael N | System and method for communicating command parameters between a processor and a memory flow controller |
US20070043936A1 (en) * | 2005-08-19 | 2007-02-22 | Day Michael N | System and method for communicating with a processor event facility |
US7869459B2 (en) | 2005-08-19 | 2011-01-11 | International Business Machines Corporation | Communicating instructions and data between a processor and external devices |
WO2007020274A3 (en) * | 2005-08-19 | 2007-04-19 | Ibm | System and method for communicating instructions and data between a processor and external devices |
US7627744B2 (en) | 2007-05-10 | 2009-12-01 | Nvidia Corporation | External memory accessing DMA request scheduling in IC of parallel processing engines according to completion notification queue occupancy level |
US20080282058A1 (en) * | 2007-05-10 | 2008-11-13 | Monier Maher | Message queuing system for parallel integrated circuit architecture and related method of operation |
US20100042786A1 (en) * | 2008-08-14 | 2010-02-18 | International Business Machines Corporation | Snoop-based prefetching |
US8200905B2 (en) * | 2008-08-14 | 2012-06-12 | International Business Machines Corporation | Effective prefetching with multiple processors and threads |
US8543767B2 (en) | 2008-08-14 | 2013-09-24 | International Business Machines Corporation | Prefetching with multiple processors and threads via a coherency bus |
US10299161B1 (en) | 2010-07-26 | 2019-05-21 | Seven Networks, Llc | Predictive fetching of background data request in resource conserving manner |
Also Published As
Publication number | Publication date |
---|---|
US7010626B2 (en) | 2006-03-07 |
US20050144337A1 (en) | 2005-06-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7010626B2 (en) | DMA prefetch | |
US6578130B2 (en) | Programmable data prefetch pacing | |
US8140768B2 (en) | Jump starting prefetch streams across page boundaries | |
JP3175675B2 (en) | Prefetch control device | |
US9208096B2 (en) | Cache pre-fetching responsive to data availability | |
EP2778932B1 (en) | Communicating prefetchers in a microprocessor | |
US6718454B1 (en) | Systems and methods for prefetch operations to reduce latency associated with memory access | |
US8074029B2 (en) | Processor equipped with a pre-fetch function and pre-fetch control method | |
US20080034146A1 (en) | Systems and Methods for Transactions Between Processor and Memory | |
US20040003179A1 (en) | Pre-fetch control device, data processing apparatus and pre-fetch control method | |
US7200689B2 (en) | Cacheable DMA | |
TWI497295B (en) | Computer program product for caching data | |
US9483406B2 (en) | Communicating prefetchers that throttle one another | |
US20090106498A1 (en) | Coherent dram prefetcher | |
US6715035B1 (en) | Cache for processing data in a memory controller and a method of use thereof to reduce first transfer latency | |
US20050216610A1 (en) | Method to provide cache management commands for a DMA controller | |
CN1910560A (en) | System and method for canceling write back operation during simultaneous snoop push or snoop kill operation in write back caches | |
US20040039878A1 (en) | Processor prefetch to match memory bus protocol characteristics | |
US20110320725A1 (en) | Dynamic mode transitions for cache instructions | |
US7555609B2 (en) | Systems and method for improved data retrieval from memory on behalf of bus masters | |
US6925535B2 (en) | Program control flow conditioned on presence of requested data in cache memory | |
JP2001249846A (en) | Cache memory device and data processing system | |
US8250309B2 (en) | Control of data accesses to a cache in data processing | |
US20050050280A1 (en) | Data accessing method and system for processing unit | |
EP0488566A2 (en) | Method and apparatus for fast page mode selection |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: INTERNATIONAL BUSINESS MACHINES CORPORATION, NEW Y Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:KAHLE, JAMES ALLAN;REEL/FRAME:013926/0758 Effective date: 20030325 |
|
STCB | Information on status: application discontinuation |
Free format text: EXPRESSLY ABANDONED -- DURING EXAMINATION |
|
AS | Assignment |
Owner name: INTEL CORPORATION, CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:INTERNATIONAL BUSINESS MACHINES CORPORATION;REEL/FRAME:030228/0415 Effective date: 20130408 |