CN104572499A - Data cache access device - Google Patents

Data cache access device Download PDF

Info

Publication number
CN104572499A
CN104572499A CN201410843407.0A CN201410843407A CN104572499A CN 104572499 A CN104572499 A CN 104572499A CN 201410843407 A CN201410843407 A CN 201410843407A CN 104572499 A CN104572499 A CN 104572499A
Authority
CN
China
Prior art keywords
address
data
list item
access
cache
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
CN201410843407.0A
Other languages
Chinese (zh)
Other versions
CN104572499B (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.)
Hangzhou C Sky Microsystems Co Ltd
Original Assignee
Hangzhou C Sky Microsystems Co Ltd
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 Hangzhou C Sky Microsystems Co Ltd filed Critical Hangzhou C Sky Microsystems Co Ltd
Priority to CN201410843407.0A priority Critical patent/CN104572499B/en
Publication of CN104572499A publication Critical patent/CN104572499A/en
Application granted granted Critical
Publication of CN104572499B publication Critical patent/CN104572499B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

A data cache access device comprises an access record chart, an address comparing unit, an access control unit, a stack pointer detecting unit and an establishment control unit, wherein the access record chart comprises n items and is used for memorizing data addresses and position information of the data addresses in a data cache; the address comparing unit is used for respectively comparing an inputted data address to addresses of all the items so as to generate hit information of the n items; the access control unit is used for visiting the access record charge according to the hit information, acquiring corresponding position information and generating access control signals on the data cache; the stack pointer detecting unit is used for performing stack pointer examination on the inputted data address and generating stack access indicator signals; the establishment control unit is used for controlling establishment of the items of the access record chart; the position information of the access record chart in the data cache is recorded by a cache behavior unit; and each item of the access record chart memorizes position information of M adjacent cache rows, and M is an integer. By the data cache access device, power consumption is reduced effectively, and the performance of a processor is improved.

Description

A kind of access means of data cache
Technical field
The invention belongs to field of microprocessors, relate to a kind of access means of data cache, especially a kind of access means reducing data cache power consumption.
Background technology
In processor system, usually between processor and primary memory, set up high-speed cache, to reduce the access to primary memory, improve the storage speed of data, thus promote the overall performance of storer.
With reference to shown in Fig. 1, the consideration of combination property and power consumption aspect, the data cache that processor adopts k road-group to be connected usually: read data is operated, processor is the k circuit-switched data array of visit data high-speed cache and tag array simultaneously, then according to judging whether that can choose a circuit-switched data from k circuit-switched data array returns with the comparative result of k road sign label; For the operation writing data, then obtain its positional information in the caches by access tag array, determine whether data to be write k circuit-switched data array Zhong mono-tunnel according to this information.But this traditional access mode, regardless of the hit rate of high-speed cache, each accessing operation all inevitably needs to conduct interviews to all the other unwanted data in (k-1) road or label.Because the data array of high-speed cache and tag array are all using SRAM as physical store carrier, conduct interviews to it all needs the enable SRAM of voltage driven at every turn, and this k selects the access mode of 1 to considerably increase the power consumption of access cache.
Summary of the invention
In order to the power consumption overcoming the access means of data with existing high-speed cache is comparatively large, the deficiency of limiting processor performance, the invention provides a kind of effective reduction power consumption, promote the access means of the data cache of processor performance.
The technical solution adopted for the present invention to solve the technical problems is:
An access means for data cache, described access means comprises:
Visitor Logs table, comprises n list item, and for data memory address and the positional information in data cache thereof, n is integer;
Address comparing unit, is made up of n comparer, the data address of input is compared respectively with the address of all list items in Visitor Logs table, produces the hit information of n list item;
Access control unit, is connected to the output terminal of address comparing unit, and according to the hit information of address comparing unit, access record sheet also obtains corresponding positional information, produces the access control signal to data cache;
Stack pointer detecting unit, for carrying out the inspection of stack pointer to the data address of input, produces the indicator signal of heap stack addressing;
Create control module, be connected to the output terminal of address comparing unit and stack pointer detecting unit, the list item for access control record sheet creates;
Visitor Logs table records its positional information in data cache in units of cache lines, and the positional information of list item memory M the neighbor cache row of each Visitor Logs table, M is integer.
Further, described access means also comprises: feedback unit, for controlling the positional information write-access record sheet whether this data address access cache inputted obtained according to the Output rusults of address comparing unit.
Further again, described access means also comprises: empty control module, and for emptying of access control record sheet content, it is invalid namely all list items to be set to, empty unit and can empty Visitor Logs table in the following two cases, comprising: (1) data cache there occurs backfill behavior; (2) virtual address is to the mapping relations change of physical address.
Empty the write permission of control module to Visitor Logs table the highest, when emptying unit and needing the information emptying Visitor Logs table, establishment control module and the write operation of feedback unit to Visitor Logs table all lost efficacy.
The list item of described Visitor Logs table by significance bit field, address field, location information field and lock field four part form: whether described significance bit field characterizes information that this list item is deposited effective; Described address field for characterizing the address information of cache line, and compares with the data address of input; Described location information field comprises M sub-information, stores corresponding M cache line positional information in the caches respectively; Whether described lock field characterizes this list item and can be replaced.
When the data address of the Output rusults display input of described address comparing unit is inequal with the address of any effective list item, described establishment control module is then chosen a list item and is created in Visitor Logs table, namely the data address of input is write the address field of this list item, the significance bit field of this list item has been put, location information field is removed simultaneously.
If when storehouse detecting unit detects that the data address of input is stack pointer, lock field put, represent that this list item will retain always, described establishment control module no longer will be chosen this list item and create.
The Input Address of described address comparing unit and be virtual address stored in the address of Visitor Logs table.
For the data cache of k road-set associative, positional information record in the list item of Visitor Logs table be the positional information of physical address in k road-set associative data cache corresponding to the address of this list item, this information obtains after the k road tag access and label of the complete paired data high-speed cache in this address, is write in the sub-information of correspondence of the location information field of this list item by feedback unit.
Before the data address visit data high-speed cache of input, it is equal with the address of a certain effective list item that access control unit can detect the data address that whether it meets following two condition: a simultaneously, the Output rusults display of address comparing unit inputs; The positional information of b, this list item shows a certain road that physical address corresponding to this table entry address is arranged in data cache;
If two conditions meet simultaneously, for the read request of data cache, access control unit only opens the circuit-switched data array in Visitor Logs list item corresponding to Input Address in high-speed cache pointed by positional information, closes all the other (K-1) circuit-switched data arrays and k road tag array; For the write request of data cache, access control unit then can close total data array and tag array, directly obtains the positional information of this Input Address;
If when two conditions meet time different, for the read request of data cache, access control unit then can open total data array and tag array, and for the write request of data cache, access control unit then can open k road tag array.
Beneficial effect of the present invention is mainly manifested in: effectively reduce power consumption, promote processor performance.
Accompanying drawing explanation
Fig. 1 is the addressing machine drawing of traditional reading k road-set associative cache data.
Fig. 2 is a kind of access means structure block schematic diagram of data cache.
Fig. 3 is the structure composition instance graph of Visitor Logs table.
Fig. 4 is address comparing unit structure example figure.
Fig. 5 is the instance graph that access control unit controls cache access enable signal.
Embodiment
Below in conjunction with accompanying drawing, the invention will be further described.
With reference to Fig. 2 ~ Fig. 4, a kind of access means of data cache, comprising: Visitor Logs table, address comparing unit, access control unit, stack pointer detecting unit, creates control module, feedback unit and empty control module.Wherein:
Visitor Logs table is a form comprising n list item, the address of log history access and positional information in data cache thereof, by establishment control module, and stack pointer detecting unit, feedback unit and empty unit and jointly safeguard.
Address comparing unit comprises limited comparer, is compared the address of recording in the data address of input and Visitor Logs table, comparative result is exported to access control unit, creating unit and feedback unit.
Access control unit controls the access enabled signal of high-speed cache according to positional information corresponding in the Output rusults of address comparing unit and Visitor Logs table.
Whether the data address that stack pointer detecting unit detects input is a stack pointer access, and testing result is exported to establishment control module.
Create control module and comprise an establishment pointer, point to a certain list item of Visitor Logs table all the time, create the establishment of the output control Visitor Logs table that control module returns according to address comparing unit and stack pointer detecting unit.
Feedback unit controls the positional information write-access record sheet whether this data address access cache inputted obtained according to the Output rusults of address comparing unit.
Empty emptying of control module access control record sheet content, it is invalid namely all list items to be set to.Empty unit and can empty Visitor Logs table in the following two cases, comprising: (1) data cache there occurs backfill behavior; (2) virtual address is to the mapping relations change of physical address.
Empty the write permission of control module to Visitor Logs table the highest, when emptying unit and needing the information emptying Visitor Logs table, establishment control module and the write operation of feedback unit to Visitor Logs table all lost efficacy.
With reference to shown in Fig. 3, for the composition of Visitor Logs table implements illustration.Visitor Logs table has n list item, and the information of each list item comprises four: significance bit, address, positional information and locking bit.Whether significance bit characterizes information that this list item is deposited effective; Address is used for comparing with the data address of input; Positional information comprises M sub-information, stores the positional information of a corresponding M adjacent cache lines respectively; Whether locking bit characterizes this list item and can be replaced.
In the present embodiment, the bit wide of significance bit field is 1, represents with vld, and vld=1 represents that list item is effective, and vld=0 represents invalid.Emptying unit when emptying by the active position 0 of all list items of Visitor Logs table, creating control module and will creating the active position 1 of the list item of pointed when creating.
Visitor Logs table records its positional information in data cache in units of cache lines, a list item can record the positional information of M adjacent cache lines, this M adjacent cache lines forms a cache blocks, and creating unit intercepts when creating in the data address of input and represents one section of the cache blocks address field being deposited into the list item creating pointed.In the present embodiment, the address field of list item represents with addr.
In location information field, the bit wide of every sub-information is k, is cleared when list item creates, and is updated in certain sub-information in this region, by the data address index of input subsequently by feedback unit by the positional information result of corresponding reference address access cache.In the present embodiment, positional information represents with P [M-1:0] [k-1:0], wherein [M-1:0] represents M sub-information, [k-1:0] represents the positional information that a sub-information records, when in this k position, a certain position is 1, then the corresponding cache lines representing this list item record is arranged in correspondence one tunnel of k road-set associative data cache.
In the present embodiment, the bit wide of locking bit field is 1, represents with lock, and lock=1 represents that this list item is locked, and needs to retain always, creates control module and new address can not be write this list item; Lock=0 represents that this list item is not locked, and creates control module and new address can be write this list item.
With reference to shown in Fig. 4, it is the enforcement illustration of the composition of address comparing unit.The data address of input is before access cache, be introduced into address comparing unit, compare with the address of list items all in Visitor Logs table, determine that whether it is equal with a certain effective list item of Visitor Logs table, this comparative result will return to access control unit, create control module and feedback unit.In the present embodiment, the result the returned one-hot encoding match [n-1:0] of n position represents, when the reference address inputted is equal with certain table entry address of Visitor Logs table and this list item is effective, is then 1 by this position of match [n-1:0], otherwise is set to 0.
When creating unit detects that the comparative result display Input Address that address comparing unit exports is inequal with the effective address of any history access record table list item, namely match [n-1:0] is 0 entirely in the present embodiment, creating control module then creates in the address area of the Visitor Logs table list item pointed by pointer by Input Address write, and the active position of list item is risen, positional information resets.Create pointer simultaneously and will need the list item of write when pointing to and create list item next time.The maintenance mechanism that in the present embodiment, list item is replaced is fifo algorithm.
When feedback unit detects that the comparative result display Input Address that address comparing unit exports is inequal with the effective address of any history access record table list item, feedback unit then conducts interviews hit information updating obtained in corresponding list item this visit address to high-speed cache.
With reference to shown in Fig. 5, it is an enforcement illustration of access control unit.When access control unit detects the address of comparative result display access matching addresses in address to a certain effective list item of access record sheet, and this address of sub-information displaying corresponding in the positional information of this list item is arranged in a certain road of data cache, access control unit then can only that circuit-switched data array enable, and not enable k road tag array and all the other k-1 circuit-switched data arrays.And when above condition not exclusively meets, then still access mode traditionally, open the enable signal of k circuit-switched data or label according to access type (read/write) simultaneously, when being specially access type for reading, open the enable signal of k circuit-switched data and tag array simultaneously, when access type is for writing, open the enable signal of k road tag array.
In the present embodiment when the xth position of match [n-1:0] is 1, then choose sub-information Px [y] [k-1:0] of the positional information of an xth list item, wherein y represents that the positional information of the data address of input is stored in y sub-information.The enable signal that definition tag_en [k-1:0] is tag array, the enable signal that data_en [k-1:0] is data array, when certain position of enable signal is 1, characterizes and opens corresponding array, otherwise close closed array.If when a certain position of Px [y] [k-1:0] is 1, for read access request, then tag_en [k-1:0] is set to full 0, data_en [k-1:0] is set to the value of Px [y] [k-1:0] that select, for write access request, then tag_en [k-1:0] and data_en [k-1:0] are set to full 0, and data are write in subsequent operation in the data array of specifying by the value of preserving Px [y] [k-1:0].If comparative result match [n-1:0] is 0 or positional information Px [y] [k-1:0] that select when being 0 entirely entirely, for read access request, then tag_en [k-1:0] and data_en [k-1:0] are set to complete 1, for write access request, then tag_en [k-1:0] is set to complete 1, data_en [k-1:0] is set to full 0, in subsequent operation, label is compared to obtain the Target Aerial Array positional information that data write back.

Claims (10)

1. an access means for data cache, is characterized in that: described access means comprises:
Visitor Logs table, comprises n list item, and for data memory address and the positional information in data cache thereof, n is integer;
Address comparing unit, is made up of n comparer, the data address of input is compared respectively with the address of all list items in Visitor Logs table, produces the hit information of n list item;
Access control unit, is connected to the output terminal of address comparing unit, and according to the hit information of address comparing unit, access record sheet also obtains corresponding positional information, produces the access control signal to data cache;
Stack pointer detecting unit, for carrying out the inspection of stack pointer to the data address of input, produces the indicator signal of heap stack addressing;
Create control module, be connected to the output terminal of address comparing unit and stack pointer detecting unit, the list item for access control record sheet creates;
Visitor Logs table records its positional information in data cache in units of cache lines, and the positional information of list item memory M the neighbor cache row of each Visitor Logs table, M is integer.
2. the access means of data cache as claimed in claim 1, it is characterized in that: described access means also comprises: feedback unit, for controlling the positional information write-access record sheet whether this data address access cache inputted obtained according to the Output rusults of address comparing unit.
3. the access means of data cache as claimed in claim 1 or 2, it is characterized in that: described access means also comprises: empty control module, for emptying of access control record sheet content, namely it is invalid all list items to be set to, empty unit and can empty Visitor Logs table in the following two cases, comprising: (1) data cache there occurs backfill behavior; (2) virtual address is to the mapping relations change of physical address.
4. the access means of data cache as claimed in claim 3, it is characterized in that: empty the write permission of control module to Visitor Logs table the highest, when emptying unit and needing the information emptying Visitor Logs table, establishment control module and the write operation of feedback unit to Visitor Logs table all lost efficacy.
5. the access means of data cache as claimed in claim 1 or 2, is characterized in that: the list item of described Visitor Logs table by significance bit field, address field, location information field and lock field four part form: whether described significance bit field characterizes information that this list item is deposited effective; Described address field for characterizing the address information of cache line, and compares with the data address of input; Described location information field comprises M sub-information, stores corresponding M cache line positional information in the caches respectively; Whether described lock field characterizes this list item and can be replaced.
6. the access means of data cache as claimed in claim 5, it is characterized in that: when the data address of the Output rusults display input of described address comparing unit is inequal with the address of any effective list item, described establishment control module is then chosen a list item and is created in Visitor Logs table, namely the data address of input is write the address field of this list item, the significance bit field of this list item has been put, location information field is removed simultaneously.
7. the access means of data cache as claimed in claim 6, it is characterized in that: if when storehouse detecting unit detects that the data address of input is stack pointer, lock field put, represented that this list item will retain always, described establishment control module no longer will be chosen this list item and create.
8. the access means of data cache as claimed in claim 1 or 2, is characterized in that: the Input Address of described address comparing unit and be virtual address stored in the address of Visitor Logs table.
9. the access means of data cache as claimed in claim 2, it is characterized in that: for the data cache of k road-set associative, positional information record in the list item of Visitor Logs table be the positional information of physical address in k road-set associative data cache corresponding to the address of this list item, this information obtains after the k road tag access and label of the complete paired data high-speed cache in this address, is write in the sub-information of correspondence of the location information field of this list item by feedback unit.
10. the access means of data cache as claimed in claim 1 or 2, it is characterized in that: before the data address visit data high-speed cache of input, it is equal with the address of a certain effective list item that access control unit can detect the data address that whether it meets following two condition: a simultaneously, the Output rusults display of address comparing unit inputs; The positional information of b, this list item shows a certain road that physical address corresponding to this table entry address is arranged in data cache;
If two conditions meet simultaneously, for the read request of data cache, access control unit only opens the circuit-switched data array in Visitor Logs list item corresponding to Input Address in high-speed cache pointed by positional information, closes all the other (K-1) circuit-switched data arrays and k road tag array; For the write request of data cache, access control unit then can close total data array and tag array, directly obtains the positional information of this Input Address;
If when two conditions meet time different, for the read request of data cache, access control unit then can open total data array and tag array, and for the write request of data cache, access control unit then can open k road tag array.
CN201410843407.0A 2014-12-30 2014-12-30 A kind of access mechanism of data high-speed caching Active CN104572499B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410843407.0A CN104572499B (en) 2014-12-30 2014-12-30 A kind of access mechanism of data high-speed caching

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410843407.0A CN104572499B (en) 2014-12-30 2014-12-30 A kind of access mechanism of data high-speed caching

Publications (2)

Publication Number Publication Date
CN104572499A true CN104572499A (en) 2015-04-29
CN104572499B CN104572499B (en) 2017-07-11

Family

ID=53088621

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410843407.0A Active CN104572499B (en) 2014-12-30 2014-12-30 A kind of access mechanism of data high-speed caching

Country Status (1)

Country Link
CN (1) CN104572499B (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108519858A (en) * 2018-03-22 2018-09-11 雷科防务(西安)控制技术研究院有限公司 Storage chip hardware hits method
CN110362506A (en) * 2019-03-20 2019-10-22 上海兆芯集成电路有限公司 Cache memory and the method wherein realized
CN114528229A (en) * 2022-04-21 2022-05-24 飞腾信息技术有限公司 Cache data access method and device and electronic equipment

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002057906A3 (en) * 2001-01-18 2002-11-07 Infineon Technologies Ag Microprocessor circuit with auxiliary register bank
CN1619511A (en) * 2004-01-16 2005-05-25 智慧第一公司 Microprocessor and apparatus for performing fast speculative load operation
CN101178690A (en) * 2007-12-03 2008-05-14 浙江大学 Design method of low-power consumption high performance high speed scratch memory
CN101533371A (en) * 2008-03-12 2009-09-16 Arm有限公司 Cache accessing using a micro tag
CN102722451A (en) * 2012-06-25 2012-10-10 杭州中天微***有限公司 Device for accessing cache by predicting physical address

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002057906A3 (en) * 2001-01-18 2002-11-07 Infineon Technologies Ag Microprocessor circuit with auxiliary register bank
CN1619511A (en) * 2004-01-16 2005-05-25 智慧第一公司 Microprocessor and apparatus for performing fast speculative load operation
CN101178690A (en) * 2007-12-03 2008-05-14 浙江大学 Design method of low-power consumption high performance high speed scratch memory
CN101533371A (en) * 2008-03-12 2009-09-16 Arm有限公司 Cache accessing using a micro tag
CN102722451A (en) * 2012-06-25 2012-10-10 杭州中天微***有限公司 Device for accessing cache by predicting physical address

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108519858A (en) * 2018-03-22 2018-09-11 雷科防务(西安)控制技术研究院有限公司 Storage chip hardware hits method
CN108519858B (en) * 2018-03-22 2021-06-08 雷科防务(西安)控制技术研究院有限公司 Memory chip hardware hit method
CN110362506A (en) * 2019-03-20 2019-10-22 上海兆芯集成电路有限公司 Cache memory and the method wherein realized
CN114528229A (en) * 2022-04-21 2022-05-24 飞腾信息技术有限公司 Cache data access method and device and electronic equipment

Also Published As

Publication number Publication date
CN104572499B (en) 2017-07-11

Similar Documents

Publication Publication Date Title
US10706101B2 (en) Bucketized hash tables with remap entries
US20160098353A1 (en) Methods and systems for memory de-duplication
CN104731717B (en) Storage arrangement and storage management method
US7783859B2 (en) Processing system implementing variable page size memory organization
CN105630703A (en) Method for controlling access of cache through using programmable hashing address and related cache controller
JPH0668735B2 (en) Cache memory
US8661179B2 (en) Cache memory architecture having reduced tag memory size and method of operation thereof
CN103942161B (en) Redundancy elimination system and method for read-only cache and redundancy elimination method for cache
CN103678169A (en) Method and system for efficiently utilizing solid-state disk for caching
CN110196757A (en) TLB filling method, device and the storage medium of virtual machine
CN100377117C (en) Method and device for converting virtual address, reading and writing high-speed buffer memory
CN101645043A (en) Methods for reading and writing data and memory device
KR101474842B1 (en) Method for replacing cache memory blocks with for lower amount of write traffic and information processing apparatus having cache subsystem using the same
CN103019959B (en) A kind of instruction cache
GB2581938A (en) Configuration state registers grouped based on functional affinity
CN104572499A (en) Data cache access device
US20110238946A1 (en) Data Reorganization through Hardware-Supported Intermediate Addresses
CN102354301B (en) Cache partitioning method
US7472226B1 (en) Methods involving memory caches
CN102650972B (en) Date storage method, Apparatus and system
CN101930344B (en) Determine the data storage protocols of the project storing in link data reservoir and rewrite
US20140013054A1 (en) Storing data structures in cache
EP1807767A1 (en) A virtual address cache and method for sharing data stored in a virtual address cache
US20140122807A1 (en) Memory address translations
CN104424132A (en) High-performance instruction cache system and method

Legal Events

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