Microprocessor circuits, systems, and methods using a combined writeback queue and victim cache
First Claim
Patent Images
1. A microprocessor, comprising:
- a central processor unit core operable to write information during a write cycle;
a cache circuit coupled to said central processor unit core and operable to evict information;
a combined storage queue coupled to said central processor unit core and said cache circuit, comprising a set of logical storage blocks, wherein each of said set of logical storage blocks is operable to store information selected from either information written by said central processor unit core or information evicted by said cache circuits, said combined storage queue maintaining an indication whether information stored in a logical storage block is information written by said central processor unit core or information evicted by said cache circuit;
selection circuitry for routing information written by said central processor unit core or information evicted by said cache circuit into said combined storage queue on a first-in-first-out basis, said selection circuitry;
responsive to receiving additional information written by said central processor unit core and detecting that each of said set of logical storage blocks stores information, routing said additional information to be stored in said set of logical storage blocks and overwriting from said set of logical storage blocks a least recently stored block of evicted cache information, andresponsive to receiving additional information evicted by said cache circuit and detecting that each of said set of logical storage blocks stores information, routing said additional information to be stored in said set of logical storage blocks and overwriting from said set of logical storage blocks a least recently stored block of evicted cache information.
1 Assignment
0 Petitions
Accused Products
Abstract
A microprocessor (10) comprising a central processor unit core (12) operable to write information during a write cycle and a cache circuit (18) coupled to the central processor unit core and operable to evict information. The microprocessor further includes a combined storage queue (16) coupled to the central processor unit core and to the cache circuit. The combined storage queue includes a set of logical storage blocks (22c) which is operable to store both information written by the central processor unit core and information evicted by the cache circuit. Other circuits, systems, and methods are also disclosed and claimed.
-
Citations
32 Claims
-
1. A microprocessor, comprising:
-
a central processor unit core operable to write information during a write cycle; a cache circuit coupled to said central processor unit core and operable to evict information; a combined storage queue coupled to said central processor unit core and said cache circuit, comprising a set of logical storage blocks, wherein each of said set of logical storage blocks is operable to store information selected from either information written by said central processor unit core or information evicted by said cache circuits, said combined storage queue maintaining an indication whether information stored in a logical storage block is information written by said central processor unit core or information evicted by said cache circuit; selection circuitry for routing information written by said central processor unit core or information evicted by said cache circuit into said combined storage queue on a first-in-first-out basis, said selection circuitry; responsive to receiving additional information written by said central processor unit core and detecting that each of said set of logical storage blocks stores information, routing said additional information to be stored in said set of logical storage blocks and overwriting from said set of logical storage blocks a least recently stored block of evicted cache information, and responsive to receiving additional information evicted by said cache circuit and detecting that each of said set of logical storage blocks stores information, routing said additional information to be stored in said set of logical storage blocks and overwriting from said set of logical storage blocks a least recently stored block of evicted cache information. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A microprocessor, comprising:
-
a central processor unit core operable to write information during a write cycle; a cache circuit coupled to said central processor unit core and operable to evict information; a combined storage queue coupled to said central processor unit core and said cache circuit, comprising a set of logical storage blocks, wherein each of said set of logical storage blocks is operable to store information selected from either information written by said central processor unit core or information evicted by said cache circuit; wherein said set of logical storage blocks comprises a first set of logical storage blocks operable to store both information written by said central processor unit core and information evicted by said cache circuit; and wherein said combined storage queue further comprises; a second set of logical storage blocks, wherein each of said second set of logical storage blocks is operable to store only information written by said central processor unit core; and a third set of logical storage blocks, wherein each of said third set of logical storage blocks is operable to store only information evicted by said cache circuit. - View Dependent Claims (9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. A microprocessor, comprising:
-
a central processor unit core operable to write information during a write cycle; a cache circuit coupled to said central processor unit core and operable to evict information; a combined storage queue coupled to said central processor unit core and said cache circuit, comprising a set of logical storage blocks, wherein each of said set of logical storage blocks is operable to store information selected from either information written by said central processor unit core or information evicted by said cache circuit; wherein said set of logical storage blocks comprises a first set of logical storage blocks operable to store both information written by said central processor unit core and information evicted by said cache circuit; and wherein said set of logical storage blocks further comprises a second set of logical storage blocks, wherein each of said second set of logical storage blocks is operable to store only information written by said central processor unit core. - View Dependent Claims (22, 23, 24, 25)
-
-
26. A microprocessor having an architected state, said microprocessor comprising:
-
a central processor unit core operable to write information during a write cycle, wherein said information is actual writeback information to affect said architected state of said microprocessor; a cache circuit coupled to said central processor unit core and operable to evict information; and a combined storage queue coupled to said central processor unit core and said cache circuit, comprising; a first set of logical storage blocks, wherein each of said set of logical storage blocks is operable to store information selected from either said information written by said central processor unit core or information evicted by said cache circuit; and a second set of logical storage blocks, wherein each of said second set of logical storage blocks is operable to store only said information written by said central processor unit core; selection circuitry for routing said information written by said central processor unit core for storage into said first and second sets of logical storage blocks; wherein each of said first and second sets of logical storage blocks is operable to store information equal to or less than a predetermined number of bytes; wherein, responsive to receiving additional information written by said central processor unit core less than said predetermined number of bytes, said selection circuitry determines whether said combined storage queue is already storing a corresponding block of information which maps to a same block address as said additional information; and wherein, responsive to said selection circuitry determining that said combined storage queue is already storing said corresponding block of information, said selection circuitry routes said additional information to overwrite selected bytes of said corresponding block of information. - View Dependent Claims (27, 28, 29)
-
-
30. A microprocessor, comprising:
-
a central processor unit core operable to write information during a write cycle, said information including actual information in response to execution of an instruction intended to take effect upon an architected state of the microprocessor and speculative information in response to a speculatively executed instruction; a cache circuit coupled to said central processor unit core and operable to evict information; a combined storage queue coupled to said central processor unit core and said cache circuit, comprising a set of logical storage blocks, wherein each of said set of logical storage blocks is operable to store information selected from either actual information written by said central processor unit core, speculative information written by said central processor unit core or information evicted by said cache circuit; a memory system higher in hierarchical level than said combined storage queue and for storing information, wherein said set of logical storage blocks storing information evicted by said cache circuit are mapped to locations in said memory system; and wherein said combined storage queue maintains an indication whether information written by said central processor unit core is actual information or speculative information; and selection circuitry for routing information written by said central processor unit core or information evicted by said cache circuit into said combined storage queue on a first-in-first-out basis, responsive to receiving additional information written by said central processor unit core or information evicted by said cache circuit and upon determining that information written by said central processor unit core stored in a particular logical block is to be evicted said selection circuitry; evicting said information and writing said information to said higher level memory system if said information is actual information, and evicting said information without writing to said higher level memory system if said information is speculative information. - View Dependent Claims (31, 32)
-
Specification