CN108959125A - Storage access method and device supporting rapid data acquisition - Google Patents

Storage access method and device supporting rapid data acquisition Download PDF

Info

Publication number
CN108959125A
CN108959125A CN201810714927.XA CN201810714927A CN108959125A CN 108959125 A CN108959125 A CN 108959125A CN 201810714927 A CN201810714927 A CN 201810714927A CN 108959125 A CN108959125 A CN 108959125A
Authority
CN
China
Prior art keywords
cache
access
data
storage
quick
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
CN201810714927.XA
Other languages
Chinese (zh)
Other versions
CN108959125B (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.)
National University of Defense Technology
Original Assignee
National University of Defense Technology
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 National University of Defense Technology filed Critical National University of Defense Technology
Priority to CN201810714927.XA priority Critical patent/CN108959125B/en
Publication of CN108959125A publication Critical patent/CN108959125A/en
Application granted granted Critical
Publication of CN108959125B publication Critical patent/CN108959125B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0877Cache access modes
    • 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

Abstract

The invention discloses a storage access method and a device supporting quick data acquisition, wherein the method comprises the steps of detecting storage accesses using the same base address register to access the same Cache line, putting the Cache lines read by the storage accesses into a quick access Cache, inquiring the quick access Cache by using the number of the base address register to acquire data, skipping address conversion and accessing the Cache, and shortening storage access delay; the storage access device supporting the rapid data acquisition comprises a rapid access cache, a rapid access judgment logic, a data write-back module and a rapid access tracking unit. The invention has the advantages of reducing data access delay, reducing storage access power consumption and being flexible and convenient to use.

Description

A kind of storage access method that supporting data quick obtaining and device
Technical field
The present invention relates to microprocessor field of storage, and in particular to a kind of storage access method for supporting data quick obtaining And device.
Background technique
In microprocessor Design, storage access component is the key points and difficulties of design, and storage unit needs to be implemented instruction system Data acquisition and store instruction in system provide the data source of operation, and the data that operation is completed for other instruction units It is stored in memory." storage wall " problem as caused by speed difference is got worse between processor core and storage system, Namely memory system data supplies the data processing speed for being difficult to adapt to processor core, and storage unit is mentioned as system performance " bottleneck " risen.Alleviate storage pressure by Multi-Level Cache in the design of the storage access component of present microprocessor, reduces The delay of data acquisition.
As shown in Figure 1, storage access data acquisition generally will by virtual address generate, virtual address translation at Physical address (access TLB), access Cache, judges whether that hit, data such as write back at the stages at Cache access arbitration.This column Operation needs multiple clock cycle, and common integer arithmetic arithmetic operation generally only needs 1 clock cycle, so storage is visited Ask that delay optimization is still the key that processor performance is promoted.In processor design, storage can be optimized in several ways and visited The delay asked, for example, can be visiting by virtual address by the way that Cache is designed as virtual address addressing, physical address tag Cache is asked, so that the access of TLB and Cache to be accessed to parallel, reduction access Cache bring delay.But even if at this Under the design of sample, there is still a need for 3 ~ 4 periods to return in the case where level-one Cache is hit for current main-stream high-performance processor Data.
Storage access delay the reason of can not further compressing be can be accessed after virtual address to be waited generates Cache and TLB.Cache body is generally bigger simultaneously, delay needed for can not further compressing access.
Summary of the invention
The technical problem to be solved in the present invention: in view of the above problems in the prior art, a kind of support data is provided and are quickly obtained The storage access method and device taken, the present invention have can reduce data access delay, reduce storage access power consumption, using spirit Convenient advantage living.
In order to solve the above-mentioned technical problem, the technical solution adopted by the present invention are as follows:
A kind of storage access method for supporting data quick obtaining, implementation steps include:
1) base address of tracking storage access and Cache row information, and quick access cache is inquired according to base address register number In all items, whether in quick access cache have the item of hit, if the item not hit, is jumped if being determined by comparing register number Turn to execute step 4);Otherwise execution step 2 is jumped;
2) data of hit item in quick access cache are read, the content of hit item storage includes in the quick access cache Significance bit, register number, virtual address and the Cache of storage data;
3) by address generating module generate virtual address and the Cache row read in quick access cache virtual address into Row compares, if address unanimously if determine the data that are read in quick access cache be correctly, directly will be slow in quick access The data for depositing reading write result into destination register, jump execution step 1);If address is inconsistent, execution step is jumped 4);
4) common TLB and Cache access are carried out, data are read in Cache and are written in destination register, according to Cache access updates the Storage Item in quick access cache;Jump execution step 1).
Preferably, include: according to the detailed step that Cache access updates the Storage Item in quick access cache in step 4)
4.1) base address register number and Cache line number of current Cache access are tracked;
4.2) information in the address trace caching of base address register number and local that current Cache is accessed is compared, Matched cache item is judged whether there is, executes step 4.3) if there is matched cache item then jumps;Else if not having Matched cache item, which then jumps, executes step 4.6);
4.3) the Cache line number of Cache line number and matched cache item that current Cache is accessed is compared, judgement is It is no to there is Cache line number also matched cache item then to jump execution step if there is Cache line number also matched cache item 4.4);Otherwise, it if without Cache line number also matched cache item, jumps and executes step 4.5);
4.4) any operation is not done;Terminate and exits;
4.5) the Cache line number of matched cache item current Cache is revised as in local address trace caching to access Cache line number;Terminate and exits;
4.6) cache entry is newly distributed in local address trace caching, and current by being written in newly assigned cache entry The base address register number and Cache line number of Cache access;Terminate and exits.
The present invention also provides a kind of storage access mechanisms for supporting data quick obtaining, including supporting data quick obtaining The microprocessor of access function is stored, microprocessor is programmed to perform the storage access side that the present invention supports data quick obtaining The step of method.
The present invention also provides a kind of storage access mechanisms for supporting data quick obtaining, comprising:
Quick access cache, including register number CL Compare Logic and multiple cache entries, register number CL Compare Logic when storage accesses Multiple cache entries are searched using base address register number, determine the corresponding cache entry of current base address register number, then from correspondence Cache entry in read data, including significance bit, register number, virtual address and the Cache of storage data;
Quickly access decision logic is read virtual address that address generating module generates and in quick access cache The virtual address of Cache row is compared, if address unanimously if determine the data that are read in quick access cache be correctly, Otherwise determine that the data read in quick access cache are incorrect;
Data write back module, and the data for reading in determining quick access cache directly will be in quick access cache when correct The data of middle reading write result into destination register, and the data read in determining quick access cache carry out general when incorrect Logical TLB and Cache access is read data in Cache and is written in destination register;
Quickly access tracking cell, for updating the Storage Item in quick access cache according to Cache access
Compared to the prior art, the present invention has an advantage that
1, reduce the delay of data acquisition.Quick access cache is accessed by register number, without virtual address or physically Location.Can be parallel with address-generation unit, by obtaining data from quick access cache, can be accessed to avoid TLB and Cache Delay, in the case where hit quickly access storage, the most fast data for only needing 1 clock cycle that can get needs, from And data acquisition operations can save 1 ~ 3 clock cycle.
2, reduce data access power consumption.Since quick access cache only deposits a small amount of data (several hundred bytes), with access The tens of thousands of bytes of Cache() it compares, in the event of a hit, the power consumption of access substantially reduces.
3, using flexible.Since quick access method of the invention can not modify the reading data road of original storage access Diameter can be realized by increasing corresponding module on the basis of existing component, can be widely applied to different structure Storage unit.
Detailed description of the invention
Fig. 1 is the structural schematic diagram of existing storage unit.
Fig. 2 is the basic implementation process diagram of present invention method.
Fig. 3 is the structural schematic diagram implemented on existing storage unit using the present invention.
Fig. 4 is quickly access cache and quickly access decision logic structural schematic diagram in the embodiment of the present invention.
Fig. 5 is the structural schematic diagram of quick access cache item in the embodiment of the present invention.
Specific embodiment
As shown in Fig. 2, the implementation steps of the storage access method of the present embodiment support data quick obtaining include:
1) base address of tracking storage access and Cache row information, and quick access cache is inquired according to base address register number In all items, whether in quick access cache have the item of hit, if the item not hit, is jumped if being determined by comparing register number Turn to execute step 4);Otherwise execution step 2 is jumped;
2) data of hit item in quick access cache are read, the content of hit item storage includes in the quick access cache Significance bit, register number, virtual address and the Cache of storage data;
3) by address generating module generate virtual address and the Cache row read in quick access cache virtual address into Row compares, if address unanimously if determine the data that are read in quick access cache be correctly, directly will be slow in quick access The data for depositing reading write result into destination register, jump execution step 1);If address is inconsistent, execution step is jumped 4);
4) common TLB and Cache access are carried out, data are read in Cache and are written in destination register, according to Cache access updates the Storage Item in quick access cache;Jump execution step 1).
In the present embodiment, the detailed step of the Storage Item in quick access cache is updated in step 4) according to Cache access Include:
4.1) base address register number and Cache line number of current Cache access are tracked;
4.2) information in the address trace caching of base address register number and local that current Cache is accessed is compared, Matched cache item is judged whether there is, executes step 4.3) if there is matched cache item then jumps;Else if not having Matched cache item, which then jumps, executes step 4.6);
4.3) the Cache line number of Cache line number and matched cache item that current Cache is accessed is compared, judgement is It is no to there is Cache line number also matched cache item then to jump execution step if there is Cache line number also matched cache item 4.4);Otherwise, it if without Cache line number also matched cache item, jumps and executes step 4.5);
4.4) any operation is not done;Terminate and exits;
4.5) the Cache line number of matched cache item current Cache is revised as in local address trace caching to access Cache line number;Terminate and exits;
4.6) cache entry is newly distributed in local address trace caching, and current by being written in newly assigned cache entry The base address register number and Cache line number of Cache access;Terminate and exits.
The present embodiment also provides a kind of storage access mechanism for supporting data quick obtaining, including supports data quick obtaining Storage access function microprocessor, the microprocessor be programmed to perform the present embodiment support data quick obtaining storage The step of access method, can equally reduce the delay of storage access, reduce the power consumption of storage access, and with using flexible Feature.
As shown in figure 3, the present embodiment also provides a kind of storage access mechanism for supporting data quick obtaining, comprising:
Quick access cache, including register number CL Compare Logic and multiple cache entries, register number CL Compare Logic when storage accesses Multiple cache entries are searched using base address register number, determine the corresponding cache entry of current base address register number, then from correspondence Cache entry in read data, including significance bit, register number, virtual address and the Cache of storage data;
Quickly access decision logic is read virtual address that address generating module generates and in quick access cache The virtual address of Cache row is compared, if address unanimously if determine the data that are read in quick access cache be correctly, Otherwise determine that the data read in quick access cache are incorrect;
Data write back module, and the data for reading in determining quick access cache directly will be in quick access cache when correct The data of middle reading write result into destination register, and the data read in determining quick access cache carry out general when incorrect Logical TLB and Cache access is read data in Cache and is written in destination register;
Quickly access tracking cell, for updating the Storage Item in quick access cache according to Cache access.
As shown in figure 3, the present invention and existing storage unit are loose couplings, can neatly be applied to various types of On existing storage unit.By increasing corresponding logic, i.e. support data quick obtaining on existing component, do not influence existing The access of storage unit, and when not needing data quick obtaining mode, it can close at any time.
The quickly base address of access tracking cell tracking storage access and Cache row information.Basic structure is comprising multiple The caching of item, each content are base address register number and Cache line number.When the tracking to access every time judges, lead to It crosses base address register number and searches corresponding cache entry, then read corresponding Cache row number information.If not finding corresponding Base address register number then newly distributes an item, and the base address register number and Cache line number of current accessed is written.If looking into To corresponding base address register number, and Cache line number mismatches, then modifies the Cache line number in caching.As base address is deposited Device number and Cache line number can match, then do not do any operation.
As shown in figure 4, quickly the structure of access cache includes register number CL Compare Logic and multiple cache entries, storage access When, the lookup of cache entry is carried out using base address register number, determines the corresponding cache entry of current base address register number, then from Information is read in cache entry.The content of each cache entry is as shown in figure 5, storage includes significance bit, Cache row data, Cache row Virtual address.Quickly access decision logic compares the virtual address of the virtual address and current accessed that save in fast cache, sentences Whether the data in disconnected fast cache hit, and specific implementation is a simple address comparison logic, as shown in Figure 4.
The above is only a preferred embodiment of the present invention, protection scope of the present invention is not limited merely to above-mentioned implementation Example, all technical solutions belonged under thinking of the present invention all belong to the scope of protection of the present invention.It should be pointed out that for the art Those of ordinary skill for, several improvements and modifications without departing from the principles of the present invention, these improvements and modifications It should be regarded as protection scope of the present invention.

Claims (4)

1. a kind of storage access method for supporting data quick obtaining, it is characterised in that implementation steps include:
1) base address of tracking storage access and Cache row information, and quick access cache is inquired according to base address register number In all items, whether in quick access cache have the item of hit, if the item not hit, is jumped if being determined by comparing register number Turn to execute step 4);Otherwise execution step 2 is jumped;
2) data of hit item in quick access cache are read, the content of hit item storage includes in the quick access cache Significance bit, register number, virtual address and the Cache of storage data;
3) by address generating module generate virtual address and the Cache row read in quick access cache virtual address into Row compares, if address unanimously if determine the data that are read in quick access cache be correctly, directly will be slow in quick access The data for depositing reading write result into destination register, jump execution step 1);If address is inconsistent, execution step is jumped 4);
4) common TLB and Cache access are carried out, data are read in Cache and are written in destination register, according to Cache access updates the Storage Item in quick access cache;Jump execution step 1).
2. the storage access method according to claim 1 for supporting data quick obtaining, which is characterized in that root in step 4) Include: according to the detailed step that Cache access updates the Storage Item in quick access cache
4.1) base address register number and Cache line number of current Cache access are tracked;
4.2) information in the address trace caching of base address register number and local that current Cache is accessed is compared, Matched cache item is judged whether there is, executes step 4.3) if there is matched cache item then jumps;Else if not having Matched cache item, which then jumps, executes step 4.6);
4.3) the Cache line number of Cache line number and matched cache item that current Cache is accessed is compared, judgement is It is no to there is Cache line number also matched cache item then to jump execution step if there is Cache line number also matched cache item 4.4);Otherwise, it if without Cache line number also matched cache item, jumps and executes step 4.5);
4.4) any operation is not done;Terminate and exits;
4.5) the Cache line number of matched cache item current Cache is revised as in local address trace caching to access Cache line number;Terminate and exits;
4.6) cache entry is newly distributed in local address trace caching, and current by being written in newly assigned cache entry The base address register number and Cache line number of Cache access;Terminate and exits.
3. a kind of storage access mechanism for supporting data quick obtaining, which is characterized in that including supporting depositing for data quick obtaining The microprocessor of access function is stored up, the microprocessor is programmed to perform support data quick obtaining as claimed in claim 1 or 2 Storage access method the step of.
4. a kind of storage access mechanism for supporting data quick obtaining characterized by comprising
Quick access cache, including register number CL Compare Logic and multiple cache entries, register number CL Compare Logic when storage accesses Multiple cache entries are searched using base address register number, determine the corresponding cache entry of current base address register number, then from correspondence Cache entry in read data, including significance bit, register number, virtual address and the Cache of storage data;
Quickly access decision logic is read virtual address that address generating module generates and in quick access cache The virtual address of Cache row is compared, if address unanimously if determine the data that are read in quick access cache be correctly, Otherwise determine that the data read in quick access cache are incorrect;
Data write back module, and the data for reading in determining quick access cache directly will be in quick access cache when correct The data of middle reading write result into destination register, and the data read in determining quick access cache carry out general when incorrect Logical TLB and Cache access is read data in Cache and is written in destination register;
Quickly access tracking cell, for updating the Storage Item in quick access cache according to Cache access.
CN201810714927.XA 2018-07-03 2018-07-03 Storage access method and device supporting rapid data acquisition Active CN108959125B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810714927.XA CN108959125B (en) 2018-07-03 2018-07-03 Storage access method and device supporting rapid data acquisition

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810714927.XA CN108959125B (en) 2018-07-03 2018-07-03 Storage access method and device supporting rapid data acquisition

Publications (2)

Publication Number Publication Date
CN108959125A true CN108959125A (en) 2018-12-07
CN108959125B CN108959125B (en) 2021-08-06

Family

ID=64485124

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810714927.XA Active CN108959125B (en) 2018-07-03 2018-07-03 Storage access method and device supporting rapid data acquisition

Country Status (1)

Country Link
CN (1) CN108959125B (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111651379A (en) * 2020-04-29 2020-09-11 中国科学院计算技术研究所 DAX equipment address translation caching method and system
CN111651400A (en) * 2020-05-29 2020-09-11 西安微电子技术研究所 Storage space access method and system with matching query index structure
CN112527697A (en) * 2020-05-11 2021-03-19 大唐半导体科技有限公司 Data exchange controller of Cache RAM and Retention RAM and implementation method
CN114546495A (en) * 2021-09-03 2022-05-27 北京睿芯众核科技有限公司 Method and system for checking address attribute of RISC-V architecture processor

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030217237A1 (en) * 2002-05-15 2003-11-20 Internation Business Machines Corporation Selective memory controller access path for directory caching
CN104583976A (en) * 2012-08-18 2015-04-29 高通科技公司 System translation look-aside buffer with request-based allocation and prefetching
CN106802788A (en) * 2012-03-30 2017-06-06 英特尔公司 Method and apparatus for processing the SHAs of SHA 2
CN107250997A (en) * 2015-02-20 2017-10-13 高通股份有限公司 Selective translation lookaside register is searched and page fault

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030217237A1 (en) * 2002-05-15 2003-11-20 Internation Business Machines Corporation Selective memory controller access path for directory caching
CN106802788A (en) * 2012-03-30 2017-06-06 英特尔公司 Method and apparatus for processing the SHAs of SHA 2
CN104583976A (en) * 2012-08-18 2015-04-29 高通科技公司 System translation look-aside buffer with request-based allocation and prefetching
CN107250997A (en) * 2015-02-20 2017-10-13 高通股份有限公司 Selective translation lookaside register is searched and page fault

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ZHONG ZHENG 等: "Tag Check Elision", 《 IN PROCEEDINGS OF THE 2014 INTERNATIONAL SYMPOSIUM ON LOW POWER ELECTRONICS AND DESIGN》 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111651379A (en) * 2020-04-29 2020-09-11 中国科学院计算技术研究所 DAX equipment address translation caching method and system
CN111651379B (en) * 2020-04-29 2023-09-12 中国科学院计算技术研究所 DAX equipment address conversion caching method and system
CN112527697A (en) * 2020-05-11 2021-03-19 大唐半导体科技有限公司 Data exchange controller of Cache RAM and Retention RAM and implementation method
CN111651400A (en) * 2020-05-29 2020-09-11 西安微电子技术研究所 Storage space access method and system with matching query index structure
CN111651400B (en) * 2020-05-29 2023-05-02 西安微电子技术研究所 Storage space access method and system with matching query index structure
CN114546495A (en) * 2021-09-03 2022-05-27 北京睿芯众核科技有限公司 Method and system for checking address attribute of RISC-V architecture processor
CN114546495B (en) * 2021-09-03 2022-12-20 北京睿芯众核科技有限公司 Method and system for checking address attribute of RISC-V architecture processor

Also Published As

Publication number Publication date
CN108959125B (en) 2021-08-06

Similar Documents

Publication Publication Date Title
EP3238074B1 (en) Cache accessed using virtual addresses
US10019369B2 (en) Apparatuses and methods for pre-fetching and write-back for a segmented cache memory
CN108959125A (en) Storage access method and device supporting rapid data acquisition
CN100478918C (en) Segmental high speed cache design method in microprocessor and segmental high speed cache
US10025720B2 (en) Cache organization and method
JP3618385B2 (en) Method and system for buffering data
US6023747A (en) Method and system for handling conflicts between cache operation requests in a data processing system
US8370575B2 (en) Optimized software cache lookup for SIMD architectures
US20080052488A1 (en) Method for a Hash Table Lookup and Processor Cache
CN106294212B (en) Region-based techniques for accurate prediction of memory accesses
CN103729306B (en) The method and data processing equipment of cache block invalidation
CN105975405B (en) Processor and make the method that processor works
CN103198026A (en) Instruction cache power reduction
US20100011165A1 (en) Cache management systems and methods
US20150026410A1 (en) Least recently used (lru) cache replacement implementation using a fifo
CN109918131B (en) Instruction reading method based on non-blocking instruction cache
US20100250842A1 (en) Hybrid region cam for region prefetcher and methods thereof
US7356650B1 (en) Cache apparatus and method for accesses lacking locality
CN107122128B (en) Data storage
US20040243764A1 (en) Tag array access reduction in a cache memory
US7010649B2 (en) Performance of a cache by including a tag that stores an indication of a previously requested address by the processor not stored in the cache
JP3929872B2 (en) Cache memory, processor and cache control method
CN101930344B (en) Determine the data storage protocols of the project storing in link data reservoir and rewrite
US20140013054A1 (en) Storing data structures in cache
CN112148639A (en) High-efficiency small-capacity cache memory replacement method and 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