7318125

Runtime Selective Control of Hardware Prefetch Mechanism

PublishedJanuary 8, 2008
Assigneenot available in USPTO data we have
Technical Abstract

Patent Claims
25 claims

Legal claims defining the scope of protection, as filed with the USPTO.

1

1. A method, comprising: receiving a first process, comprising successive computational phases, to be executed by a processor in a data processing system; assigning the first process to run on a first processor; determining a first prefetch status for the first process at each of successive times when the first process is running, wherein each determined first prefetch status indicates whether hardware prefetch should be enabled or disabled for a next following computational phase of the first process; setting a first hardware prefetch state on the first processor based on each determined first prefetch status to correspondingly enable or disable said hardware prefetch; receiving a second process, comprising successive computational phases, to be executed by a processor in the data processing system; assigning the second process to run on a second processor; determining a second prefetch status for the second process at each of successive times when the second process is running, wherein each determined second prefetch status indicates whether hardware prefetch should be enabled or disabled for a next following computational phase of the second process; and setting a second hardware prefetch state on the second processor based on each determined second prefetch status, to correspondingly enable or disable said hardware prefetch.

2

2. The method of claim 1 , wherein a hardware prefetch of each processor of said data processing system is individually enabled or disabled, selectively.

3

3. The method of claim 1 , wherein determining a prefetch status includes examining a prefetch status indicator in a given process.

4

4. The method of claim 3 , wherein the prefetch status indicator is a bit in a machine status word.

5

5. The method of claim 1 , wherein setting a hardware prefetch state on a given processor includes writing a machine status word to a machine status register in the given processor.

6

6. The method of claim 1 , further comprising: context-switching the second process to run on the first processor.

7

7. The method of claim 5 , wherein the the machine status word is included in a context block of the given process.

8

8. The method of claim 1 , wherein hardware prefetch is enabled for the first processor and disabled for the second processor.

9

9. The method of claim 1 , wherein determining a prefetch status for a given process includes receiving a system call from the given process.

10

10. The method of claim 1 , wherein determining a prefetch status for a given process and setting a hardware prefetch state on a given processor are performed by a performance monitor in the given processor.

11

11. The method of claim 10 , wherein the performance monitor determines performance statistics for the given process and determines whether hardware prefetch should be enabled for the given process based on the performance statistics.

12

12. A data processing system, comprising: at least one processor; and an operating system running on the at least one processor, wherein the operating system receives a first process, assigns the first process to run on a first processor, determines a first prefetch status for the first process at each of successive times when the first process is running, wherein each determined first prefetch status indicates whether hardware prefetch should be enabled or disabled for the next following computational phase of the first process, sets a first hardware prefetch state on the first processor based on each determined first prefetch status, to correspondingly enable or disable said hardware prefetch; receives a second process, assigns the second process to run on a second processor, determines a second prefetch status for the second process at each of successive times when the second process is running, wherein each determined second prefetch status indicates whether hardware prefetch should be enabled or disabled for a next following computational phase of the second process, and sets a second hardware prefetch state on the second processor based on each determined second prefetch status, to correspondingly enable or disable said hardware prefetch.

13

13. The data processing system of claim 12 , wherein a hardware prefetch of each processor of said data processing system is individually enabled or disabled, selectively.

14

14. The data processing system of claim 12 , wherein the operating system determines the prefetch status by examining a prefetch status indicator in a given process.

15

15. The data processing system of claim 14 , wherein the prefetch status indicator is a bit in a machine status word.

16

16. The data processing system of claim 15 , wherein the operating system sets a hardware prefetch state on a given processor by writing the machine status word to a machine status register in the given processor.

17

17. The data processing system of claim 12 , wherein the first prefetch status is enabled and the second prefetch status is disabled.

18

18. The data processing system of claim 15 , wherein the machine status word is included in a context block of the given process.

19

19. The data processing system of claim 12 , wherein hardware prefetch is enabled for the first processor and disabled for the second processor.

20

20. The data processing system of claim 12 , wherein the operating system determines a prefetch status for a given process by receiving a system call from the given process.

21

21. A computer program product, embedded in a computer readable recordable media and executable by a data processing system, comprising: instructions for receiving a first process, comprising successive computational phases, to be executed by a processor in a data processing system; instructions for assigning the first process to run on a first processor; instructions for determining a first prefetch status for the first process at each of successive times when the first process is running, wherein each determined first prefetch status indicates whether hardware prefetch should be enabled or disabled for a next following computational phase of the first process; instructions for setting a first hardware prefetch state on the first processor based on each determined first prefetch status, to correspondingly enable or disable said hardware prefetch; instructions for receiving a second process , comprising successive computational phases, to be executed by a processor in the data processing system; instructions for assigning the second process to run on a second processor; instructions for determining a second prefetch status for the second process at each of successive times when the second process is running, wherein each determined second prefetch status indicates whether hardware prefetch should be enabled or disabled for a next following computational phase of the second process; and instructions for setting a second hardware prefetch state on the second processor based on each determined second prefetch status, to correspondingly enable or disable said hardware prefetch.

22

22. The computer program product of claim 21 , wherein a hardware prefetch of each processor of said data processing system is individually enabled or disabled, selectively.

23

23. The computer program product of claim 21 , wherein determining a prefetch status includes examining a prefetch status indicator in a given process.

24

24. The computer program product of claim 23 , wherein the prefetch status indicator is a bit in a machine status word.

25

25. The computer program product of claim 21 , wherein setting a hardware prefetch state on a given processor includes writing a machine status word to a machine status register in the given processor.

Patent Metadata

Filing Date

Unknown

Publication Date

January 8, 2008

Inventors

Men-Chow Chiang
Kaivalya M. Dixit
Sujatha Kashyap

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “RUNTIME SELECTIVE CONTROL OF HARDWARE PREFETCH MECHANISM” (7318125). https://patentable.app/patents/7318125

© 2026 Patentable. All rights reserved.

Patentable is a research and drafting-assistant tool, not a law firm, and does not provide legal advice. Documents we generate are drafts for review by a licensed patent attorney.

RUNTIME SELECTIVE CONTROL OF HARDWARE PREFETCH MECHANISM — Men-Chow Chiang | Patentable