发明名称 Method for storing modified instruction data in a shared cache
摘要 A processor may include a cache configured to store instructions and memory data for the processor. The cache may store instructions in which a relative address, such as for a branch instruction has been calculated, such that the instruction stored in the cache is modified from how the instruction is stored in main memory. The cache may include additional information in the tag to identify an instruction entry versus a memory data entry. When receiving a cache request, the cache may look at a type tag in addition to an address tag to determine if the request is a hit or a miss based upon the request being for an instruction from an instruction fetch unit or for memory data from a memory management unit. A cache entry may be invalidated and evicted if the address matches but the data type does not match.
申请公布号 US9405690(B2) 申请公布日期 2016.08.02
申请号 US201313961417 申请日期 2013.08.07
申请人 Oracle International Corporation 发明人 Luttrell Mark A
分类号 G06F12/08 主分类号 G06F12/08
代理机构 Meyertons Hood Kivlin Kowert & Goetzel 代理人 Meyertons Hood Kivlin Kowert & Goetzel
主权项 1. An apparatus, comprising: a memory configured to store a plurality of entries, wherein each entry of the plurality of entries includes a data portion and a tag portion, wherein the tag portion includes at least an address tag and a type indicator, wherein the type indicator has a value indicative of a type of data stored in the data portion; a control circuit coupled to the memory and to a processor, wherein the control circuit is configured to: receive an instruction request, from the processor, for instruction data at a given address within a storage device;retrieve, in response to a determination that the instruction data corresponding to the given address is omitted from the plurality of entries, the instruction data from a higher-level memory;modify an address value included in the retrieved instruction data for use by the processor;store the retrieved instruction data, including the modified address value, in a given entry;set the address tag in the tag portion of the given entry to correspond to the given address;set the value of the type indicator in the tag portion of the given entry to indicate that instruction-type data is stored in the given entry;receive a non-instruction request to retrieve non-instruction data at the given address where the instruction data is currently stored;determine that the data corresponding to the given address has been stored in the given entry of the plurality of entries dependent upon the address tag in the tag portion of the given entry; andinvalidate the given entry in response to a determination that the value of the type indicator in the tag portion of the given entry indicates that instruction-type data is stored in the given entry.
地址 Redwood Shores CA US