Method and apparatus for resolving additional load misses and page table walks under orthogonal stalls in a single pipeline processor
First Claim
1. A data cache in an in-order single instruction issue microprocessor, the data cache comprising:
- a cache memory, for storing data;
at least one buffer, for storing state information regarding a plurality of instructions in the data cache upon detection of a stall condition in the in-order single-issue microprocessor; and
control logic, coupled to said buffer and said cache memory, configured to detect said stall condition, to save in response thereto said state information in said buffer, and to determine during said stall condition whether data specified by one or more of said plurality of instructions is missing in said cache memory.
3 Assignments
0 Petitions
Accused Products
Abstract
A data cache in an in-order single-issue microprocessor that detects cache misses generated by instructions behind a stalled instruction in the microprocessor pipeline and issues memory requests on the processor bus for the missing data so as to overlap with resolution of the stalled instruction, which may also be a cache miss, is provided. The data cache has pipeline stages that parallel portions of the main pipeline in the microprocessor. The data cache employs replay buffers to save the state, i.e., instructions and associated data addresses, of the parallel data cache stages so that instructions above the stalled instruction can continue to proceed down through the data cache and access the cache memory to generate cache misses. The data cache restores the data cache pipeline stages upon detection that stall will terminate. The data cache also detects TLB misses generated by instructions subsequent to the stalled instruction and overlaps page table walks with the stall resolution.
-
Citations
35 Claims
-
1. A data cache in an in-order single instruction issue microprocessor, the data cache comprising:
-
a cache memory, for storing data;
at least one buffer, for storing state information regarding a plurality of instructions in the data cache upon detection of a stall condition in the in-order single-issue microprocessor; and
control logic, coupled to said buffer and said cache memory, configured to detect said stall condition, to save in response thereto said state information in said buffer, and to determine during said stall condition whether data specified by one or more of said plurality of instructions is missing in said cache memory. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. A data cache in an in-order single instruction issue microprocessor, the data cache comprising:
-
a translation lookaside buffer (TLB), for storing physical memory addresses;
at least one buffer, for storing state information regarding a plurality of instructions in the data cache upon detection of a stall condition in the in-order single-issue microprocessor; and
control logic, coupled to said buffer and said TLB, configured to detect said stall condition, to save in response thereto said state information in said buffer, and to determine during said stall condition whether a physical address associated with one or more of said plurality of instructions is missing in said TLB. - View Dependent Claims (21)
-
-
22. A single-issue in-order pipelined microprocessor for accessing data stored in a memory coupled to the microprocessor by a bus, the microprocessor comprising:
-
a plurality of buffers, configured to receive data from the memory on the bus; and
a data cache, coupled to said plurality of buffers, configured to determine whether one or more instructions following a stalled instruction in the microprocessor pipeline specify data missing in the data cache;
wherein said data cache is further configured to allocate one or more of said plurality of buffers to receive said missing data and to issue one or more requests on the bus for said missing data during resolution of said stalled instruction. - View Dependent Claims (23, 24, 25, 26, 27, 29, 30, 31, 32, 33, 34, 35)
-
-
28. A method for resolving misses of a data cache in a single-issue in-order pipelined microprocessor during stalls of the microprocessor pipeline, the method comprising:
-
detecting a stall condition in said pipeline generated by an instruction issued by the single-issue microprocessor;
saving state information associated with a plurality of instructions issued subsequent to said instruction in response to said detecting said stall condition; and
determining whether one or more of said plurality of instructions specifies data missing in the data cache during said stall condition.
-
Specification