CN110990062A - Instruction prefetching filtering method - Google Patents

Instruction prefetching filtering method Download PDF

Info

Publication number
CN110990062A
CN110990062A CN201911184479.8A CN201911184479A CN110990062A CN 110990062 A CN110990062 A CN 110990062A CN 201911184479 A CN201911184479 A CN 201911184479A CN 110990062 A CN110990062 A CN 110990062A
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.)
Granted
Application number
CN201911184479.8A
Other languages
Chinese (zh)
Other versions
CN110990062B (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)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (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 ports of instruction prefetch inquiry and other instruction cache related operations, improve the utilization rate of the instruction cache 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 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.
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 the Cache line is eliminated every time when the instruction Cache is filled, the eliminated Cache line address is used for inquiring the instruction pre-fetching filtering device, and the effective bit of the corresponding Cache line in the hit page is 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 of 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 organizing and managing 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 filter 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 second-level 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 a basic page size of 4KB and a Cache line size of 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 directly allocated, otherwise, an entry is evicted 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 the basic page and the buffering depth of the instruction prefetching filter device is the same as the number of entries of the instruction stream TLB, a page fault exception is bound to occur when a subsequent instruction fetch accesses the prefetched Cache line. 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 prefetch inquiry is not hit, although the corresponding basic page is not loaded into the instruction prefetch filter device, the corresponding page table is not loaded into the instruction stream TLB, and the page missing exception does not necessarily occur when the prefetched Cache line is accessed by a subsequent instruction fetch, the prefetch inquiry result of the instruction prefetch filter device can be used as the condition for triggering the instruction stream page table entry prefetch.
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.
Since 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 refresh) 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 buffers 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.
Whenever an instruction fetch query misses, the Cache line is not in the instruction Cache, nor must it be 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 effective 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 effective 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 pre-fetching 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 performed. 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 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.
3. The method according to claim 1, wherein when instruction prefetching is triggered, the instruction prefetching filter is queried using a prefetch page base address, if the hit indicates that the page is loaded, then an offset value in the page is used to look up a Cache line valid bit vector, if the Cache line is loaded, no prefetching is issued, otherwise, 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 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.
5. The method according to claim 1, wherein if the instruction fetch query is missing, when the instruction Cache initiates an instruction fetch request to the next-level storage system, the instruction fetch address of the missing is used to query the instruction prefetch filtering apparatus, if the instruction Cache is hit, the valid location of the Cache line at the offset corresponding to the entry is hit, otherwise, a new filtering buffer entry is allocated and the valid location of the Cache line at the corresponding location is marked to indicate 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 true CN110990062A (en) 2020-04-10
CN110990062B 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)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004334773A (en) * 2003-05-12 2004-11-25 Hitachi Ltd Information processing device
CN101187863A (en) * 2006-11-17 2008-05-28 国际商业机器公司 Data processing system, processor and method of data processing
CN102446087A (en) * 2010-10-12 2012-05-09 无锡江南计算技术研究所 Instruction prefetching method and device
CN104252425A (en) * 2013-06-28 2014-12-31 华为技术有限公司 Management method for instruction cache and processor

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004334773A (en) * 2003-05-12 2004-11-25 Hitachi Ltd Information processing device
CN101187863A (en) * 2006-11-17 2008-05-28 国际商业机器公司 Data processing system, processor and method of data processing
CN102446087A (en) * 2010-10-12 2012-05-09 无锡江南计算技术研究所 Instruction prefetching method and device
CN104252425A (en) * 2013-06-28 2014-12-31 华为技术有限公司 Management method for instruction cache and processor

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
李伟立等: "应用预取策略的行缓冲指令Cache设计", 《微电子学与计算机》 *

Also Published As

Publication number Publication date
CN110990062B (en) 2023-03-28

Similar Documents

Publication Publication Date Title
US11314647B2 (en) Methods and systems for managing synonyms in virtually indexed physically tagged caches
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
JP3618385B2 (en) Method and system for buffering data
US6912628B2 (en) N-way set-associative external cache with standard DDR memory devices
US10380030B2 (en) Caching of virtual to physical address translations
US8195881B2 (en) System, method and processor for accessing data after a translation lookaside buffer miss
US6782453B2 (en) Storing data in memory
US20030217230A1 (en) Preventing cache floods from sequential streams
US20160140042A1 (en) Instruction cache translation management
US9524232B2 (en) Inter-core cooperative TLB prefetchers
WO2000045270A1 (en) Techniques for improving memory access in a virtual memory system
EP1196850A1 (en) Techniques for improving memory access in a virtual memory system
JPH07129471A (en) Computer system containing main memory and pre-fetch cache and operation method thereof
US6175906B1 (en) Mechanism for fast revalidation of virtual tags
US20030200395A1 (en) Interleaved n-way set-associative external cache
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
US7117312B1 (en) Mechanism and method employing a plurality of hash functions for cache snoop filtering
US7325102B1 (en) Mechanism and method for cache snoop filtering
US7356650B1 (en) Cache apparatus and method for accesses lacking locality
US20140289469A1 (en) Processor and control method of processor
US20220398198A1 (en) Tags and data for caches
WO2018100363A1 (en) Memory address translation
CN110990062B (en) Instruction prefetching filtering method
CN111198827B (en) Page table prefetching method and device

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