Claims
- 1. A data processor comprising:
an instruction execution pipeline comprising N processing stages and a memory cache having a plurality of storage lines at which data is storable; and a cache flush apparatus coupled to permit access thereof to storage lines of the memory cache of said instruction execution pipeline, said cache flush apparatus selectably operable to purge at least a selected portion of the memory cache of said instruction execution pipeline.
- 2. The data processor as set forth in claim 1 wherein the memory cache comprises a data cache at which data is stored and wherein said cache flush apparatus is selectably operable to purge at least a selected storage line of the data cache.
- 3. The data processor as set forth in claim 1 wherein the memory cache comprises an instruction cache at which instructions are stored at the storage lines thereof and wherein said cache flush apparatus is selectably operable to purge at least an instruction stored on at least a selected one of the storage lines of the instruction cache.
- 4. The data processor as set forth in claim 3 wherein said cache flush apparatus purges the instruction cache prior to loading of executable code formed of instructions at the storage lines of the instruction cache which forms the memory cache.
- 5. The data processor as set forth in claim 1 wherein said cache flush apparatus purges the at least the selected portion of the memory cache by writing data of arbitrary, selected values to at least a selected storage line of the memory cache.
- 6. The data processor as set forth in claim 5 wherein the arbitrary, selected values written by said cache flush apparatus to the at least the selected storage line of the memory cache comprise binary values generated at said cache flush apparatus.
- 7. The data processor as set forth in claim 6 wherein said cache flush apparatus further comprises a bit-value generator for generating the bits written to the at least the selected storage line of the memory cache.
- 8. The data processor as set forth in claim 7 wherein said cache flush apparatus further comprises a selector, said selector for selecting to which of the at least the selected storage line that the bits of the arbitrary, selected values are to be written.
- 9. The data processor as set forth in claim 8 wherein the storage lines are identified by addresses and wherein said selector selects to which addresses of the memory cache that the bit-value generator writes the binary values generated thereat.
- 10. The data processor as set forth in claim 1 wherein the memory cache comprises an instruction cache and wherein the binary values generated at said cache flush apparatus are of values representative of a jump command when executed by said instruction execution pipeline.
- 11. A processing system comprising:
a data processor; a memory coupled to said data processor; a plurality of memory-mapped peripheral circuits coupled to said data processor for performing selected functions in association with said data processor, wherein said data processor comprises:
an instruction execution pipeline comprising N processing stages and a memory cache having a plurality of storage lines at which data is storable; and a cache flush apparatus coupled to permit access thereof to storage lines of the memory cache of said instruction execution pipeline, said cache flush apparatus selectably operable to purge at least a selected portion of the memory cache of said instruction execution pipeline.
- 12. The processing system as set forth in claim 11 wherein the memory cache comprises a data cache at which data is stored and wherein said cache flush apparatus is selectably operable to purge at least a selected storage line of the data cache.
- 13. The processing system as set forth in claim 11 wherein the memory cache comprises an instruction cache at which instructions are stored at the storage lines thereof and wherein said cache flush apparatus is selectably operable to purge at least an instruction stored on at least a selected one of the storage lines of the instruction cache.
- 14. The processing system as set forth in claim 11 wherein said cache flush apparatus purges the at least the selected portion of the memory cache by writing data of arbitrary, selected values to at least a selected storage line of the memory cache.
- 15. The processing system as set forth in claim 14 wherein the arbitrary values, selected values written by said cache flush apparatus to the at least the selcted storage line of the memory cache comprise binary values generated at said cache flush apparatus.
- 16. The processing system as set forth in claim 15 wherein said cache flush apparatus further comprises a bit-value generator for generating the bits written to the at least the selected storage line of the memory cache.
- 17. The processing system as set forth in claim 16 wherein said cache flush apparatus further comprises a selector, said selector for selecting to which of the at least the selected storage line that the bits of the arbitrary, selected values are to be written.
- 18. The processing system as set forth in claim 17 wherein the storage lines are identified by addresses and wherein said selector selects to which addresses of the memory cache that the bit-value generator writes the binary values generated thereat.
- 19. The processing system as set forth in claim 11 wherein the memory cache comprises an instruction cache and wherein the binary values generated at said cache flush apparatus are of values representative of a jump command when executed by said instruction execution pipeline.
- 20. For use in a data processor comprising an instruction execution pipeline comprising N processing stages, a method of flushing a data cache associated with said data processor, said method comprising:
selecting at least a portion of the data cache at which to flush existing values cached thereat; generating selected, arbitrary values at a location separate from the data cache; and writing the selected arbitrary values generated during said operation of generating to the at least the portion of the data cache, thereby flushing the existing values cached at the portion of the data cache selected during said operation of selecting.
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] The present invention is related to those disclosed in the following United States patent applications:
[0002] 1. Ser. No. ______ [Docket No. 00-BN-051], filed concurrently herewith, entitled “SYSTEM AND METHOD FOR EXECUTING VARIABLE LATENCY LOAD OPERATIONS IN A DATA PROCESSOR”;
[0003] 2. Ser. No. ______ [Docket No. 00-BN-052], filed concurrently herewith, entitled “PROCESSOR PIPELINE STALL APPARATUS AND METHOD OF OPERATION”;
[0004] 3. Ser. No. ______ [Docket No. 00-BN-054], filed concurrently herewith, entitled “CIRCUIT AND METHOD FOR SUPPORTING MISALIGNED ACCESSES IN THE PRESENCE OF SPECULATIVE LOAD INSTRUCTIONS”;
[0005] 4. Ser. No. ______ [Docket No. 00-BN-055], filed concurrently herewith, entitled “BYPASS CIRCUITRY FOR USE IN A PIPELINED PROCESSOR”;
[0006] 5. Ser. No. ______ [Docket No. 00-BN-056], filed concurrently herewith, entitled “SYSTEM AND METHOD FOR EXECUTING CONDITIONAL BRANCH INSTRUCTIONS IN A DATA PROCESSOR”;
[0007] 6. Ser. No. ______ [Docket No. 00-BN-057], filed concurrently herewith, entitled “SYSTEM AND METHOD FOR ENCODING CONSTANT OPERANDS IN A WIDE ISSUE PROCESSOR”;
[0008] 7. Ser. No. ______ [Docket No. 00-BN-058], filed concurrently herewith, entitled “SYSTEM AND METHOD FOR SUPPORTING PRECISE EXCEPTIONS IN A DATA PROCESSOR HAVING A CLUSTERED ARCHITECTURE”;
[0009] 8. Ser. No. ______ [Docket No. 00-BN-059], filed concurrently herewith, entitled “CIRCUIT AND METHOD FOR INSTRUCTION COMPRESSION AND DISPERSAL IN WIDE-ISSUE PROCESSORS”;
[0010] 9. Ser. No. ______ [Docket No. 00-BN-066], filed concurrently herewith, entitled “SYSTEM AND METHOD FOR REDUCING POWER CONSUMPTION IN A DATA PROCESSOR HAVING A CLUSTERED ARCHITECTURE”; and
[0011] 10. Ser. No. ______ [Docket No. 00-BN-067], filed concurrently herewith, entitled “INSTRUCTION FETCH APPARATUS FOR WIDE ISSUE PROCESSORS AND METHOD OF OPERATION”.
[0012] The above applications are commonly assigned to the assignee of the present invention. The disclosures of these related patent applications are hereby incorporated by reference for all purposes as if fully set forth herein.