CN110990062B - Instruction prefetching filtering method - Google Patents

Instruction prefetching filtering method Download PDF

Info

Publication number
CN110990062B
CN110990062B CN201911184479.8A CN201911184479A CN110990062B CN 110990062 B CN110990062 B CN 110990062B CN 201911184479 A CN201911184479 A CN 201911184479A CN 110990062 B CN110990062 B CN 110990062B
Authority
CN
China
Prior art keywords
instruction
cache
prefetching
cache line
page
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201911184479.8A
Other languages
Chinese (zh)
Other versions
CN110990062A (en
Inventor
王国澎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SHANGHAI HIGH-PERFORMANCE INTEGRATED CIRCUIT DESIGN CENTER
Original Assignee
SHANGHAI HIGH-PERFORMANCE INTEGRATED CIRCUIT DESIGN CENTER
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by SHANGHAI HIGH-PERFORMANCE INTEGRATED CIRCUIT DESIGN CENTER filed Critical SHANGHAI HIGH-PERFORMANCE INTEGRATED CIRCUIT DESIGN CENTER
Priority to CN201911184479.8A priority Critical patent/CN110990062B/en
Publication of CN110990062A publication Critical patent/CN110990062A/en
Application granted granted Critical
Publication of CN110990062B publication Critical patent/CN110990062B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3802Instruction prefetching
    • G06F9/3814Implementation provisions of instruction buffers, e.g. prefetch buffer; banks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

The invention relates to a method for filtering instruction prefetching.A filtering device for instruction prefetching is arranged between an instruction Cache and a next-level storage system, and comprises a filtering buffer of a plurality of entries, wherein the filtering buffer of each entry corresponds to a basic page and is used for recording and tracking Cache lines loaded into the instruction Cache in the basic page; and directly inquiring the instruction prefetching filter device when the instruction stream is prefetched every time to check whether the prefetched Cache line is in the instruction Cache or not, and then determining whether to send an instruction prefetching request to a next-level storage system or not according to an inquiry result. The invention can avoid contention of the operation contention port related to the instruction prefetch inquiry and other instruction caches, improve the utilization rate of the instruction caches and further improve the performance of the processor.

Description

Instruction prefetching filtering method
Technical Field
The invention relates to the technical field of modern microprocessor design, in particular to a method for filtering instruction prefetching.
Background
Instruction caching is a key resource in modern high-performance processors, and the design of an instruction fetching pipeline mainly goes around the instruction caching. In order to improve the utilization rate of the instruction Cache and reduce instruction fetching inquiry missing, an instruction prefetching technology is often adopted to load the instruction Cache line to be used into the instruction Cache in advance. Before sending out a prefetch request, whether a prefetched Cache line is in an instruction Cache or not is firstly determined, so that the instruction Cache needs to be inquired by using a prefetch address, and if the prefetched Cache line is loaded, the prefetch request does not need to be sent out.
The instruction cache capacity in the high-performance processor is large, the high-performance processor is usually realized by adopting a customized array, the instruction Tag and the instruction data are divided into two arrays due to different functions, and the number of read-write ports is limited. Because the fetch query is on the critical path of the instruction pipeline, the fetch query is required in each cycle, and the high-performance processor usually requires the instruction data to be read within 1 cycle, the fetch query is usually provided with a dedicated port to ensure that the fetch query is not interfered or interrupted. In addition to the fetch query, the instruction cache is also capable of handling coherency requests, prefetch queries, instruction fills (writes), flushes, etc. at the same time, which are infrequent relative to the fetch query and therefore share 1 port. In order to ensure that the instruction cache function is normally completed, the processing priority of the prefetch query is the lowest, so when an instruction cache port conflict occurs, a prefetch request may not be issued, and therefore prefetching cannot be fully utilized to improve the hit rate of the instruction cache.
In summary, the handling of instruction prefetching is limited by the number of ports in the instruction cache, and prefetching has to be aborted in the event of a conflict with other high priority requests. Due to the considerations of the cost of logic implementation and the cost of physical implementation, adding ports to the instruction Cache is not cost effective.
Disclosure of Invention
The technical problem to be solved by the present invention is to provide a method for filtering instruction prefetching, which avoids contention of ports between prefetching query and other instruction cache operations, improves instruction cache utilization, and further improves processor performance.
The technical scheme adopted by the invention for solving the technical problems is as follows: the method comprises the steps that an instruction prefetching filtering device is arranged between an instruction Cache and a next-level storage system, and the instruction prefetching filtering device comprises a plurality of filtering buffers of entries, wherein each filtering buffer of an entry corresponds to a basic page and is used for recording and tracking Cache lines loaded into the instruction Cache in the basic page; and directly inquiring the instruction prefetching filtering device during prefetching every time to check whether the prefetched Cache line is in the instruction Cache or not, and then determining whether to send an instruction prefetching request to a next-level storage system or not according to an inquiry result.
The filtering buffer of each entry is provided with an effective bit, a virtual page base address, a physical page base address, a process number and a thread number; and the filtering buffer of each entry also sets a Cache line effective bit vector as an indication mark of the loaded Cache line in the page, and the Cache lines in the basic page correspond to the effective bit indication vectors one by one.
When instruction prefetching is triggered, a prefetching page base address is used for inquiring the instruction prefetching filter device, if the page is hit to indicate that the page is loaded, an offset value in the page is used for checking a Cache line effective bit vector, if the Cache line is loaded, prefetching is not required to be sent, otherwise, prefetching is sent; if not, the Cache line is not in the instruction Cache, and prefetching is sent out; when the prefetch is sent out, the state of the instruction prefetch filtering device is updated according to the previous query result, if the Cache line is hit, the effective position of the Cache line at the offset corresponding to the hit entry is started, otherwise, a new filtering buffer entry is distributed and the effective position of the Cache line at the corresponding position is started, which indicates that the Cache line is loaded.
When the instruction prefetching query is not hit, the basic page where the prefetching target is located is not loaded, if the operating system uses the basic page and the buffer depth of the instruction prefetching filtering device is the same as the number of entries of the instruction stream TLB, the instruction stream page table prefetching is performed by using the query result of the instruction prefetching filtering device; if the operating system uses a large page or the instruction prefetching filtering buffer depth is smaller than the number of the instruction stream TLB entries, the prefetching inquiry result of the instruction prefetching filtering device is used as a condition for triggering the prefetching of the instruction stream page table entries.
If the instruction Cache queries the missing, when the instruction Cache initiates an instruction request to a next-level storage system, the instruction Cache queries the instruction prefetching filter device by using the missing instruction address, if the instruction Cache queries the missing instruction address, the effective position of the Cache line at the offset corresponding to the entry is hit, otherwise, a new filtering buffer entry is allocated, and the effective position of the Cache line at the corresponding position is marked to indicate that the Cache line is loaded.
When Cache lines are eliminated due to the fact that the instruction Cache is filled, the eliminated Cache line addresses are used for inquiring the instruction prefetching filtering device, and the corresponding Cache line effective bits in the hit page are cleared to be 0.
Synchronously refreshing the instruction pre-fetching filter device when a refreshing request exists; for instruction cache refreshing, if the instruction cache refreshing is full refreshing, all the instruction prefetch filtering buffer entries are invalidated; if the Cache line is refreshed, the refreshing address is used for inquiring the instruction prefetching filter device, when the Cache line is hit and the corresponding Cache line is valid, the valid bit is cleared to be 0, otherwise, no operation is performed; for instruction stream TLB refreshing, the effective bit of the hit page is cleared to 0 by using a refreshing address to query the instruction prefetching filter device.
When Cache consistency invalidation request exists, the consistency request address is used for simultaneously inquiring the instruction Cache and the instruction prefetching filtering device, when the instruction Cache is hit, a hit Cache line is invalidated, and meanwhile, the corresponding Cache line valid position in a hit entry of the instruction prefetching filtering device is invalidated; if the instruction cache is missed, no operation is performed.
Advantageous effects
Due to the adoption of the technical scheme, compared with the prior art, the invention has the following advantages and positive effects: the invention can track the Cache line state loaded in the instruction Cache in real time and decouple the dependence of the instruction prefetch inquiry on the instruction Cache, thereby being convenient to carry out prefetch inquiry, filtering redundant prefetch and preventing the prefetch from being interfered by other instruction Cache operations and being incapable of being sent out, thereby improving the utilization rate of the instruction Cache. The instruction prefetching query result can also guide the prefetching of the instruction flow page table entry so as to reduce the instruction flow page missing times and further improve the processor performance. In addition, the invention is managed according to basic page organization, and the page only corresponds to one effective bit vector, although the synchronous operation with the instruction cache has some overhead, the realization is simpler.
Drawings
FIG. 1 is a schematic diagram of the location of an instruction prefetch filter apparatus in a system according to the present invention;
FIG. 2 is a flow chart of the query of the instruction prefetch filter apparatus according to the present invention;
FIG. 3 is a diagram of an instruction prefetch filter apparatus directing instruction stream TLB prefetching according to the present invention.
Detailed Description
The invention will be further illustrated with reference to the following specific examples. It should be understood that these examples are for illustrative purposes only and are not intended to limit the scope of the present invention. Further, it should be understood that various changes or modifications of the present invention may be made by those skilled in the art after reading the teaching of the present invention, and such equivalents may fall within the scope of the present invention as defined in the appended claims.
The embodiment of the invention relates to an instruction prefetching filtering method, wherein an instruction prefetching filtering device is arranged between an instruction cache and a next-level storage system, the instruction prefetching filtering device is closely interacted with the instruction cache and the next-level storage system, and the position of the instruction prefetching filtering device in the system is shown in figure 1. The instruction pre-fetching filtering device is used for carrying out organization management by taking a basic page as a unit and is provided with a filtering buffer of a plurality of items. The filtering buffer of each entry corresponds to a basic page and is used for recording and tracking Cache lines loaded into the instruction Cache in the basic page, and the whole instruction pre-fetching filtering device records all the Cache lines loaded into the instruction Cache. The instruction pre-fetching filtering device adopts a fully-associative structure, and is directly inquired during pre-fetching each time to check whether a pre-fetched Cache line is in an instruction Cache or not, and then whether an instruction pre-fetching request is sent to a secondary Cache or a next-level memory bank or not is determined according to an inquiry result.
Table 1 shows the settings of the contents of the filter buffer entry in the instruction prefetch filter apparatus according to this embodiment. The filtering buffer of each entry is provided with a valid bit which indicates whether the current page is loaded or not; the filtering buffer records information such as a virtual page base address, a process number, a thread number, a physical page base address and the like of a loaded page so as to facilitate the hit judgment during the prefetching query, the instruction Cache elimination query, the refreshing query and the Cache consistency request query; and the filtering buffer of each entry is also provided with a Cache line valid bit vector ValidVec as an indication mark of the loaded Cache line in the page, the basic page comprises a plurality of Cache lines, and the valid bit indicates the number of bits of the vector and corresponds to the Cache lines one by one. Assuming that the basic page size is 4KB and the Cache line size is 128B, the Cache line valid bit vector ValidVec has 32 bits in total.
Figure BDA0002292084610000041
Table 1 table of contents of filter buffer entries of instruction prefetch filter apparatus
The query judgment process of the instruction prefetch filter apparatus is shown in fig. 2, and first, corresponding hit judgment is performed according to the address type carried by the query request. If the virtual address is the virtual address, the virtual page base address VPageTag, the process number UPN and the thread number Tid need to be compared, if the virtual address is the physical address, the virtual page base address VPageTag only needs to be compared, and if the contents are matched and the item is effective, the virtual address is hit. If not, the inquired Cache line is not in the instruction Cache, if the Cache line is hit, the valid bit vector ValidVec of the Cache line is inquired in the hit entry according to the offset value in the page, if the valid bit mark of the Cache line at the corresponding position is valid, the inquired Cache line is in the instruction Cache, otherwise, the Cache line is not loaded in the instruction Cache.
After the prefetch request is successfully sent to the next-level storage system, the prefetched Cache line needs to be registered in the instruction prefetch filter device. According to the previous query result, if the prefetch request of the instruction prefetch filter device is missed, a buffer entry is newly allocated. At this point, if there are free entries, they can be allocated directly, otherwise, an entry is eliminated using the LRU algorithm. After the buffer entries are allocated, filling out the virtual page address, the process number, the thread number and the physical page address (the physical page address is obtained by querying the instruction TLB) of the prefetch Cache line, setting the valid bit, and starting the Cache line valid position of the corresponding position in the ValidVec. If the prefetch query hits the filter buffer, the Cache line valid location at the corresponding location in the hit entry ValidVec is directly started, indicating that the Cache line has been loaded.
The prefetch query results of the instruction prefetch filter may be used to direct the prefetching of instruction stream page table entries, as shown in FIG. 3. When the instruction prefetch inquiry does not hit, the corresponding basic page is not loaded in the instruction prefetch filter device. If the operating system uses a basic page and the buffering depth of the instruction prefetching filtering device is the same as the number of entries of the instruction stream TLB, a page fault exception is bound to occur when the prefetched Cache line is accessed by a subsequent instruction fetching. In this case, the instruction prefetch filter not only tracks the loaded instruction cache line, but also records the loaded instruction flow page table entry, so that the prefetch of the instruction flow page table entry can be performed using the prefetch lookup result of the instruction prefetch filter. When the operating system uses large page mode, one page table entry may correspond to multiple base pages. When the instruction prefetching query is not hit, although the corresponding basic page is not loaded into the instruction prefetching filtering device, the corresponding page table is not loaded into the instruction stream TLB, and a page missing exception does not necessarily occur when a subsequent instruction is accessed to the prefetched Cache line, the prefetching query result of the instruction prefetching filtering device can be used as a condition for triggering the prefetching of the instruction stream page table entry.
Therefore, for the condition that the prefetch query filtering buffer is not hit, the basic page where the prefetch Cache line is located is not loaded, and at the moment, the page prefetching can be performed by utilizing the query result of the instruction prefetch filtering device according to specific needs and implementation, so that the instruction stream page missing frequency is reduced, and the performance of the processor is further improved.
Because the instruction prefetching filtering buffer tracks and records all loaded Cache lines in the instruction Cache, when operations (including filling, elimination, consistency invalidation request and refreshing) affecting the state of the instruction Cache are executed, the instruction prefetching filtering buffer needs to be updated synchronously, and the state of the two is guaranteed to be consistent all the time. Therefore, the instruction prefetching filter device and the instruction Cache are always kept synchronous during operation, and Cache lines loaded in the instruction Cache are indicated in real time. The synchronous operation between the instruction Cache and the instruction pre-fetching filtering device comprises the operations of instruction fetch missing registration, cache line elimination synchronization, refreshing synchronization and Cache consistency synchronization.
When the instruction fetch query is missing, the Cache line is not in the instruction Cache, and is not in the instruction prefetch filter. When an instruction Cache initiates an instruction fetching request to a lower-level storage system, a missing instruction fetching address is used for inquiring the instruction prefetching filtering device, if the instruction is hit, the valid position of a Cache line at the offset corresponding to the ValidVec of a hit entry is started, otherwise, a new filtering buffering entry is distributed, and the valid position 1 of the Cache line at the corresponding position in the ValidVec is used for indicating that the Cache line is loaded. When in allocation, if a free entry is available, the allocation can be directly carried out, otherwise, an entry is replaced by using an LRU algorithm.
When the Cache line is eliminated every time when the instruction Cache is filled, the eliminated Cache line physical address is used for inquiring the instruction prefetching filtering device, and if the instruction is hit, the Cache line effective bit corresponding to the ValidVec in the hit page is cleared to be 0.
When Cache consistency invalidation request exists, the consistency request address is used for simultaneously inquiring the instruction Cache and the instruction prefetching filtering device, and the Cache consistency request from the next-level storage system uses the physical address. When the Cache of the instruction is hit, the hit Cache line is invalid, at the moment, the instruction prefetching filter device is also hit, and the Cache line valid position corresponding to the ValidVec in the hit entry is invalid; otherwise, if the instruction cache is not hit, no operation is performed.
When a refresh request is sent, no matter the command cache is refreshed or the command stream TLB is refreshed, the command pre-fetching filter device is synchronously refreshed, and the refreshing generally adopts virtual addresses. For instruction cache refreshing, if the instruction cache refreshing is full refreshing, all the instruction prefetch filtering buffer entries are invalidated; if the Cache line is refreshed, the refreshing address is used for inquiring the instruction prefetching filtering device, when the Cache line is hit and the corresponding Cache line is valid, the valid bit is cleared to be 0, otherwise, no operation is carried out. For instruction flow TLB refreshing, the instruction prefetching filter device is queried by using a refreshing address, a plurality of pages can be hit in a large page mode, and valid bits of all the hit pages are cleared to be 0.
The Cache line state loaded in the instruction Cache can be tracked in real time, the dependence of the instruction prefetching query on the instruction Cache is decoupled, therefore, the prefetching query can be conveniently carried out, the redundant prefetching is filtered, the phenomenon that the prefetching cannot be sent out due to the interference of other instruction Cache operations is prevented, and the instruction Cache utilization rate is improved. The instruction prefetching query result can also guide the prefetching of the instruction flow page table entry so as to reduce the instruction flow page missing times and further improve the processor performance. In addition, the invention is managed according to basic page organization, and the page only corresponds to one effective bit vector, although the synchronous operation with the instruction cache has some overhead, the realization is simpler.

Claims (8)

1. A method for filtering instruction prefetching is characterized in that an instruction prefetching filtering device is arranged between an instruction Cache and a next-level storage system, and the instruction prefetching filtering device comprises a plurality of filtering buffers of entries, wherein each filtering buffer of an entry corresponds to a basic page and is used for recording and tracking Cache lines loaded into the instruction Cache in the basic page; and directly inquiring the instruction prefetching filter device during prefetching every time to check whether the prefetched Cache line is in the instruction Cache or not, and then determining whether to send an instruction prefetching request to a next-level storage system or not according to an inquiry result.
2. The instruction prefetch filtering method of claim 1, wherein the filter buffer of each entry is provided with a valid bit, a virtual page base address, a physical page base address, a process number, and a thread number; and the filtering buffer of each entry also sets the effective bit vector of the Cache line as an indication mark of the Cache line loaded in the page, and the Cache lines in the basic page correspond to the effective bit indication vectors one by one.
3. The method of claim 1, wherein when instruction prefetching is triggered, the instruction prefetching filtering apparatus is queried using a prefetching page base address, if the hit indicates that the page has been loaded, then an offset value in the page is used to look up a Cache line valid bit vector, if the Cache line has been loaded, the prefetching is not required to be issued, otherwise, the prefetching is issued; if not, the Cache line is not in the instruction Cache, and prefetching is sent out; when the prefetch is sent out, the state of the instruction prefetch filtering device is updated according to the previous query result, if the Cache line is hit, the effective position of the Cache line at the offset corresponding to the hit entry is started, otherwise, a new filtering buffer entry is distributed and the effective position of the Cache line at the corresponding position is started, which indicates that the Cache line is loaded.
4. The method as claimed in claim 3, wherein when the instruction prefetch query is not hit, the basic page where the prefetch target is located is not loaded yet, and if the operating system uses the basic page and the buffer depth of the instruction prefetch filter is the same as the number of entries of the instruction stream TLB, the instruction stream page table prefetch is performed using the query result of the instruction prefetch filter; if the operating system uses large pages or the filtering buffer depth of the instruction prefetching is smaller than the number of the TLB entries of the instruction stream, the prefetching inquiry result of the instruction prefetching filtering device is used as a condition for triggering the prefetching of the entry of the instruction stream page table.
5. The method according to claim 1, wherein if the instruction fetch query misses, when the instruction Cache initiates an instruction fetch request to a next-level storage system, the instruction fetch address missing is used to query the instruction prefetch filtering apparatus, if the instruction Cache hits, a Cache line valid location at an offset corresponding to the entry is hit, otherwise, a new filtering buffer entry is allocated and a Cache line valid location at a corresponding location is marked, indicating that the Cache line is loaded.
6. The method of claim 1, wherein each time Cache line eviction is caused by filling the instruction Cache, the evicted Cache line address is used to query the instruction prefetch filtering device, and the corresponding Cache line valid bit in the hit page is cleared to 0.
7. The method of claim 1, wherein the instruction prefetch filter means is refreshed synchronously whenever there is a refresh request; for instruction cache refreshing, if the instruction cache refreshing is full refreshing, all the instruction prefetch filtering buffer entries are invalidated; if the Cache line is refreshed, the refreshing address is used for inquiring the instruction prefetching filter device, when the Cache line is hit and the corresponding Cache line is valid, the valid bit is cleared to be 0, otherwise, no operation is performed; for instruction stream TLB refreshing, the effective bit of the hit page is cleared to 0 by using a refreshing address to query the instruction prefetching filter device.
8. The method according to claim 1, wherein when there is a Cache coherence invalidation request, the coherence request address is used to query the instruction Cache and the instruction prefetching filter at the same time, when the instruction Cache is hit, the hit Cache line is invalidated, and the corresponding Cache line valid location in the hit entry of the instruction prefetching filter is invalidated; if the instruction cache is missed, no operation is performed.
CN201911184479.8A 2019-11-27 2019-11-27 Instruction prefetching filtering method Active CN110990062B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911184479.8A CN110990062B (en) 2019-11-27 2019-11-27 Instruction prefetching filtering method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911184479.8A CN110990062B (en) 2019-11-27 2019-11-27 Instruction prefetching filtering method

Publications (2)

Publication Number Publication Date
CN110990062A CN110990062A (en) 2020-04-10
CN110990062B true CN110990062B (en) 2023-03-28

Family

ID=70087542

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911184479.8A Active CN110990062B (en) 2019-11-27 2019-11-27 Instruction prefetching filtering method

Country Status (1)

Country Link
CN (1) CN110990062B (en)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3811140B2 (en) * 2003-05-12 2006-08-16 株式会社日立製作所 Information processing device
US7707396B2 (en) * 2006-11-17 2010-04-27 International Business Machines Corporation Data processing system, processor and method of data processing having improved branch target address cache
CN102446087B (en) * 2010-10-12 2014-02-26 无锡江南计算技术研究所 Instruction prefetching method and device
CN104252425B (en) * 2013-06-28 2017-07-28 华为技术有限公司 The management method and processor of a kind of instruction buffer

Also Published As

Publication number Publication date
CN110990062A (en) 2020-04-10

Similar Documents

Publication Publication Date Title
US11314647B2 (en) Methods and systems for managing synonyms in virtually indexed physically tagged caches
US11360905B2 (en) Write merging on stores with different privilege levels
US10248572B2 (en) Apparatus and method for operating a virtually indexed physically tagged cache
US10019369B2 (en) Apparatuses and methods for pre-fetching and write-back for a segmented cache memory
US10380030B2 (en) Caching of virtual to physical address translations
US20030217230A1 (en) Preventing cache floods from sequential streams
US20030200404A1 (en) N-way set-associative external cache with standard DDR memory devices
US9524232B2 (en) Inter-core cooperative TLB prefetchers
US20160140042A1 (en) Instruction cache translation management
EP1196850A1 (en) Techniques for improving memory access in a virtual memory system
US6175906B1 (en) Mechanism for fast revalidation of virtual tags
US7117312B1 (en) Mechanism and method employing a plurality of hash functions for cache snoop filtering
US7325102B1 (en) Mechanism and method for cache snoop filtering
EP2866148B1 (en) Storage system having tag storage device with multiple tag entries associated with same data storage line for data recycling and related tag storage device
EP0752662A1 (en) Method and apparatus for tagging a multi-way associative cache
US20140289469A1 (en) Processor and control method of processor
US10831673B2 (en) Memory address translation
US10853262B2 (en) Memory address translation using stored key entries
CN110990062B (en) Instruction prefetching filtering method
US20220398198A1 (en) Tags and data for caches
CN111198827B (en) Page table prefetching method and device
JP7311959B2 (en) Data storage for multiple data types
JPH086852A (en) Cache control method
WO2000045270A1 (en) Techniques for improving memory access in a virtual memory system

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant