Data prefetching apparatus in a data processing system and method therefor
IPC분류정보
국가/구분
United States(US) Patent
등록
국제특허분류(IPC7판)
G06F-012/00
출원번호
US-0132918
(2002-04-26)
발명자
/ 주소
Venkumahanti, Suresh
Snyder, Michael Dean
출원인 / 주소
Freescale Semiconductor, Inc.
대리인 / 주소
Hill Daniel D.
인용정보
피인용 횟수 :
22인용 특허 :
6
초록▼
A data processing system ( 20 ) is able to perform parameter-selectable prefetch instructions to prefetch data for a cache ( 38 ). When attempting to be backward compatible with previously written code, sometimes performing this instruction can result in attempting to prefetch redundant data by pref
A data processing system ( 20 ) is able to perform parameter-selectable prefetch instructions to prefetch data for a cache ( 38 ). When attempting to be backward compatible with previously written code, sometimes performing this instruction can result in attempting to prefetch redundant data by prefetching the same data twice. In order to prevent this, the parameters of the instruction are analyzed to determine if such redundant data will be prefetched. If so, then the parameters are altered to avoid prefetching redundant data. In some of the possibilities for the parameters of the instruction, the altering of the parameters requires significant circuitry so that an alternative approach is used. This alternative but slower approach, which can be used in the same system with the first approach, detects if the line of the cache that is currently being requested is the same as the previous request. If so, the current request is not executed.
대표청구항▼
1. A data processing system for prefetching data for loading into a cache in response to a parameter-selectable prefetch instruction, comprising:detection means for detecting if the parameter-selectable prefetch instruction has parameters that indicate that a portion of the data is to be prefetched
1. A data processing system for prefetching data for loading into a cache in response to a parameter-selectable prefetch instruction, comprising:detection means for detecting if the parameter-selectable prefetch instruction has parameters that indicate that a portion of the data is to be prefetched at least twice for the cache during a prefetch operation specified by the parameter-selectable prefetch instruction; andat least one of the following:modification means for altering the parameters of the parameter-selectable prefetch instruction to avoid prefetching the data at least twice during the prefetch operation; andprevention means for preventing the prefetching of the data at least twice by the parameter-selectable prefetch instruction during the prefetch operation. 2. The data processing system of claim 1, wherein:the data processing system comprises the modification means; andthe detection means compares the parameters to predetermined parameter sets that are known to select redundant data. 3. The data processing system of claim 2, wherein the modification means comprises substitute parameters corresponding to each of the predetermined parameter sets. 4. The data processing system of claim 1 comprising the modification means and the prevention means. 5. A data processing system for prefetching data for loading into a cache in response to a parameter-selectable prefetch instruction, comprising:detection means for determining if the parameter-selectable instruction has a first programmed condition that causes fetching of redundant data during a prefetch operation; andexecution means, coupled to the detection means, for executing the instruction by generating cache line requests, in response to the parameter-selectable prefetch instruction, that are mutually exclusive in order to avoid fetching redundant data during the same prefetch operation. 6. The data processing system of claim 5, wherein the execution means comprises modification means for altering the parameters of the parameter-selectable prefetch instruction to avoid prefetching redundant data. 7. The data processing system of claim 6, wherein the detection means compares the parameters to predetermined parameter sets that are known to select redundant data. 8. The data processing system of claim 7, wherein the modification means comprisessubstitute parameters corresponding to each of the predetermined parameter sets. 9. The data processing system of claim 5, wherein the execution means comprises prevention means for preventing a request for a line in the cache if a previous request for the line in the cache by the parameter-selectable prefetch instruction was made during the prefetch operation. 10. The data processing system of claim 5, wherein the execution means comprises prevention means for preventing a request for a line in the cache if an immediately preceding request was for the line in the cache during prefetch operation. 11. The data processing system of claim 5, wherein the execution means comprises:prevention means for preventing a request for a line in the cache if a previous request for the line in the cache by the parameter-selectable prefetch instruction was made during the prefetch operation; andmodification means for altering the parameters of the parameter-selectable prefetch instruction to avoid prefetching redundant data during the prefetch operation. 12. In a data processing system, a method for prefetching blocks of data for loading into a cache in response to a parameter-selectable prefetch instruction, comprising:determining if the parameter-selectable prefetch instruction has a first programmed condition that causes fetching of at least a portion of a prefetched block of data at least twice during prefetching of the block data; andexecuting the parameter-selectable prefetch instruction by generating cache line requests, in response to the parameter-selectable prefetch instruction, that are mutually exclusive in order to avoid fetching the at least a portion of the prefetched block of data at least twice. 13. The method of claim 12, wherein the step of executing comprises modifying the parameters of the parameter-selectable prefetch instruction to avoid prefetching the at least a portion of the prefetched block of data at least twice. 14. The method of claim 13, wherein the step of determining comprises comparing the parameters to predetermined parameter sets that are known to select redundant data. 15. The method of claim 14, wherein the step of modifying comprises substituting parameters corresponding to each of the predetermined parameter sets. 16. The method of claim 12, wherein the step of executing comprises preventing a request for a line in the cache if a previous request for the line in the cache by the parameter-selectable prefetch instruction was made. 17. The method of claim 12, wherein the step of executing comprises preventing a request for a line in the cache if an immediately preceding request was for the line in the cache. 18. The method of claim 12, wherein the parameters comprise a stride and the lines of the cache have a length, wherein the step of executing comprises:modifying the parameters of the parameter-selectable prefetch instruction to avoid prefetching redundant data if the length exceeds the stride; andpreventing a request for a line in the cache if a previous request for the line in the cache by the parameter-selectable prefetch instruction was made. 19. In a data processing system, a method for prefetching data for loading into a cache, which has a line length, in response to a parameter-selectable prefetch instruction, which has a stride parameter, comprising:receiving the parameter-selectable prefetch instruction;detecting if the line length exceeds the stride parameter of the received parameter-selectable prefetch instruction;modifying the stride parameter to equal the line length if the line length exceeds the stride parameter of the received parameter-selectable prefetch instruction to form a modified parameter-selectable prefetch instruction; andexecuting the modified parameter-selectable prefetch instruction. 20. The method of claim 19, wherein:the parameter-selectable prefetch instruction further has a number-of-blocks parameter; andthe step of modifying further comprises modifying the number-of-blocks parameter if the line length exceeds the stride parameter of the received parameter-selectable prefetch instruction. 21. The method of claim 20, further comprising:preventing a request for a line in the cache if a previous request for the line in the cache by the parameter-selectable prefetch instruction was made.
연구과제 타임라인
LOADING...
LOADING...
LOADING...
LOADING...
LOADING...
이 특허에 인용된 특허 (6)
Scales ; III Hunter Ledbetter ; Diefendorff Keith Everett ; Olsson Brett ; Dubey Pradeep Kumar ; Hochsprung Ronald Ray ; Beavers Bradford Byron ; Burgess Bradley G. ; Snyder Michael Dean ; May Cathy , Data processing system for processing vector data and method therefor.
Snyder Michael Dean ; Patel Rajesh, Mechanism for sharing data cache resources between data prefetch operations and normal load/store operations in a data processing system.
Arimilli, Lakshminarayana B.; Arimilli, Ravi K.; Lewis, Jerry D.; Maule, Warren E., Interconnect operation indicating acceptability of partial data delivery.
Arimilli, Ravi K.; Cascaval, Gheorghe C.; Sinharoy, Balaram; Speight, William E.; Zhang, Lixin, Sourcing differing amounts of prefetch data in response to data prefetch requests.
Frey, Bradly George; Guthrie, Guy Lynn; May, Cathy; Rajamony, Ramakrishnan; Sinharoy, Balaram; Starke, William John; Szwed, Peter Kenneth, Specifying an access hint for prefetching partial cache block data in a cache hierarchy.
Griswell, Jr., John Barry; Le, Hung Qui; O'Connell, Francis Patrick; Starke, William J.; Stuecheli, Jeffrey Adam; Williams, Albert Thomas, Store stream prefetching in a microprocessor.
Cummings, David W.; Guthrie, Guy L.; Shen, Hugh; Starke, William J.; Williams, Derek E.; Williams, Phillip G., Updating partial cache lines in a data processing system.
Arimilli, Ravi K.; Cascaval, Gheorghe C.; Sinharoy, Balaram; Speight, William E.; Zhang, Lixin, Varying an amount of data retrieved from memory based upon an instruction hint.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.