CN102662868A - Dynamic group association cache device for processor and access method thereof - Google Patents

Dynamic group association cache device for processor and access method thereof Download PDF

Info

Publication number
CN102662868A
CN102662868A CN2012101342045A CN201210134204A CN102662868A CN 102662868 A CN102662868 A CN 102662868A CN 2012101342045 A CN2012101342045 A CN 2012101342045A CN 201210134204 A CN201210134204 A CN 201210134204A CN 102662868 A CN102662868 A CN 102662868A
Authority
CN
China
Prior art keywords
cache
cache blocks
buffer memory
blocks
enable
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
CN2012101342045A
Other languages
Chinese (zh)
Other versions
CN102662868B (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.)
Huawei Technologies Co Ltd
Institute of Computing Technology of CAS
Original Assignee
Institute of Computing Technology of CAS
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 Institute of Computing Technology of CAS filed Critical Institute of Computing Technology of CAS
Priority to CN201210134204.5A priority Critical patent/CN102662868B/en
Publication of CN102662868A publication Critical patent/CN102662868A/en
Priority to EP13784394.2A priority patent/EP2743834B1/en
Priority to PCT/CN2013/075092 priority patent/WO2013163956A1/en
Priority to US14/328,173 priority patent/US9880937B2/en
Application granted granted Critical
Publication of CN102662868B publication Critical patent/CN102662868B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/0864Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using pseudo-associative means, e.g. set-associative or hashing
    • 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/0893Caches characterised by their organisation or structure
    • G06F12/0895Caches characterised by their organisation or structure of parts of caches, e.g. directory or tag array
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3275Power saving in memory, e.g. RAM, cache
    • 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/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • G06F12/0831Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means
    • G06F12/0833Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means in combination with broadcast means (e.g. for invalidation or updating)
    • 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/0891Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using clearing, invalidating or resetting means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/60Details of cache memory
    • G06F2212/601Reconfiguration of cache memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/60Details of cache memory
    • G06F2212/6032Way prediction in set-associative cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/62Details of cache specific to multiprocessor cache arrangements
    • G06F2212/621Coherency control relating to peripheral accessing, e.g. from DMA or I/O device
    • 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
    • Y02BCLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO BUILDINGS, e.g. HOUSING, HOUSE APPLIANCES OR RELATED END-USER APPLICATIONS
    • Y02B70/00Technologies for an efficient end-user side electric power management and consumption
    • Y02B70/10Technologies improving the efficiency by using switched-mode power supplies [SMPS], i.e. efficient power electronics conversion e.g. power factor correction or reduction of losses in power supplies or efficient standby modes
    • 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 provides a dynamic group association cache device for a processor. The device firstly judges the effective bit of each cache block in a cache group to be accessed during a reading access, sets the enabled bit of the cache route at which the cache block is located according to the effective bit of each cache block, reads the effective cache block and compares the marked segment in the access address with the marked block of each cache block; and if hitting the target, the device reads the data from the data block of the cache block hitting the target according to the offset segment in the access address. In the procedure executing process, the device dynamically changes the degree of association of the cache device and filters the reading operation of ineffective cache blocks, thereby effectively reducing the power consumption of cache under the condition that the design complexity is basically not increased and the performance of the processor is not affected, so that the power consumption of the whole processor is lowered.

Description

The dynamic group that is used for processor link caching device and access method thereof
Technical field
The present invention relates to the processor design, relate in particular to the cache design of processor.
Background technology
For a long time, in order to alleviate " storage wall " problem between processor and the internal memory, that is, the processing speed of processor is counted speed much larger than the confession of internal memory, causes processor often to be in " hunger " and waiting status, and high-speed cache has been used in the structure of processor.The high-speed cache of processor utilizes the principle of locality of program memory access; Comprising temporal locality---the memory address of being visited is visited within a short period of time once more; And spatial locality---certain memory address is visited; The memory address of closing on it also can be visited in the short period of time, has remedied the gaps between their growth rates of processor and internal memory, thereby has improved performance of processors greatly.Generally say, for most programs, on a given processor structure, bigger caching device often also can demonstrate higher program feature.Therefore, in recent years, the high-speed cache of processor is done bigger and bigger, and the multi-level buffer structure of 2 grades even 3 grades also is widely used.In the polycaryon processor structure, also usually be furnished with privately owned buffer memory (only being used) and shared buffer memory (being shared use) by a plurality of processor cores by single processor core.
Yet the power consumption of buffer storage is also increasing thereupon, and the ratio that in entire process device system power dissipation, accounts for is increasingly high, have in addition reached 40%-50%.Power consumption is the very important problem of current processor design field, and too high power consumption can be brought problems such as chip cooling and stability.Therefore, reduce the power consumption of the high-speed cache of one of most important parts, can effectively reduce the total power consumption of processor system as processor.Yet the method for existing reduction high-speed cache power consumption perhaps needs the support of software; Perhaps the loss with performance is a cost; Perhaps introduce too much hardware spending, increased implementation complexity.
Summary of the invention
Therefore, the objective of the invention is to solve the problems of the technologies described above, a kind of dynamic group that is used for processor caching device that links is provided, can under the situation that does not reduce processor performance, reduce the overall power of processor.
The objective of the invention is to realize through following technical scheme:
On the one hand, the invention provides a kind of dynamic group that is used for processor caching device that links, this device comprises:
A plurality of cache way, each cache way contains the cache blocks of equal number, and each cache blocks comprises tag block and data block; And
It is effectively or invalid that the list cell of the significance bit of record buffer memory piece, the significance bit of said cache blocks are used to indicate cache blocks.
In the technique scheme, said list cell is independent of the SRAM that realizes tag block array or data block array.Said list cell can be to adopt register file to realize.
In the technique scheme;, processor, and the enable bit of the cache way at this cache blocks place is set according to the significance bit of each cache blocks when carrying out read access to said device at first through checking that said list cell obtains the significance bit of each cache blocks in the buffer memory group to be visited; Read valid cache piece in the buffer memory group then, and sense data in the data block of the valid cache piece of the coupling of the marker field from its tag block and memory access address.
In the technique scheme, for invalid cache blocks, the enable bit of the cache way at this cache blocks place is set to not enable; For effective cache blocks, the enable bit of the cache way at this cache blocks place is set to enable.
On the other hand, the invention provides a kind of method that device in the technique scheme is carried out read access, said method comprises:
(1) locatees buffer memory group to be visited according to the index segment of memory access address;
(2) through checking that said list cell obtains the significance bit of each cache blocks in the said buffer memory group;
(3) enable bit of the residing cache way of this cache blocks is set according to the significance bit of each cache blocks in the said buffer memory group;
(4) read valid cache piece in the buffer memory group, and sense data in the data block of the valid cache piece of the coupling of the marker field from its tag block and memory access address.
In the said method, if be checked through cache blocks all in the buffer memory group to be visited when all invalid, can directly send disappearance message in step (2).
In the said method, for the cache blocks that is in disarmed state, the enable bit of its residing cache way is set to not enable in step (3); For the cache blocks that is in effective status, the enable bit of its residing cache way is set to enable;
In the said method, said step (4) can comprise the following steps:
Read valid cache piece in the buffer memory group;
The marker field in the memory access address and the tag block of each cache blocks of being read are compared;
If hit,, from the data block of corresponding cache blocks, select data to write back then according to the offset segment of memory access address; If miss, then send disappearance message.
Compared with prior art, the invention has the advantages that:
, each read access dynamically changes the degree of association of caching device when taking place; The cache way at invalid cache piece place is when read operation takes place in buffer memory group; To not be enabled, thereby effectively reduced the dynamic power consumption that buffer storage causes owing to read operation in the read-write process.Therefore, can not increase design complexities basically and influence under the situation of processor performance, effectively reducing the power consumption of processor cache.
Description of drawings
Followingly the embodiment of the invention is described further with reference to accompanying drawing, wherein:
Fig. 1 is an example structure synoptic diagram of existing set associative cache device;
Fig. 2 is the access process synoptic diagram of existing set associative cache device;
Fig. 3 is that the set associative cache device is in the executory view of program;
Fig. 4 is the structural representation of the caching device that links according to the dynamic group that is used for processor of the embodiment of the invention;
Fig. 5 is to the read access schematic flow sheet according to the set associative cache device of the embodiment of the invention.
Embodiment
In order to make the object of the invention, technical scheme and advantage are clearer, pass through specific embodiment to further explain of the present invention below in conjunction with accompanying drawing.Should be appreciated that specific embodiment described herein only in order to explanation the present invention, and be not used in qualification the present invention.
The power consumption of high-speed cache is divided into dynamic power consumption and quiescent dissipation.Dynamic power consumption is meant capacitor charge and discharge power consumption and short-circuit dissipation, mainly is when high-speed cache is carried out read-write operation, to be caused by the upset of circuit.Quiescent dissipation is meant the leakage current power consumption, is the power consumption of circuit state when stablizing.
According to SPEC (The Standard Performance Evaluation Corporation; Standard performance assessment company) analytic statistics of CPU2000 test procedure; Nearly 1/3rd instruction is access instruction or relates to accessing operation in the program, and read operation approximately is 2 times of write operation.In addition, when a write operation takes place, at first to read corresponding cache blocks, see and whether hit determine whether carry out write operation according to whether hitting.So each write operation also is attended by a read operation and takes place.This shows that read operation is the most important dynamic power consumption of buffer storage source.
Existing cache structure can be divided into the buffer memory that directly links, three kinds of fully-associative buffer storage and set associative buffer memorys.The set associative buffer memory improves hit rate, and has less query time than fully-associative buffer storage owing to can effectively reduce the conflict inefficacy than the buffer memory that directly links, thereby is used the most widely.Fig. 1 has provided existing set associative buffer structure synoptic diagram.Fig. 1 shows the buffer structure of one 4 road set associative, comprises 4 cache way: cache way 0, cache way 1, cache way 2, cache way 3.Wherein each cache way contains the cache blocks (for example: 128) of equal number, and each cache blocks is made up of mark (tag) section and data (data) section (also can be called tag piece and data piece) two parts.Memory access address (32 bit address) is divided into mark (tag) section, index (index) section and skew (offset) section.The buffer memory group is linked by the cache blocks that is in same index in each cache way and constitutes.In the buffer structure of 4 road set associatives shown in Figure 1, a buffer memory group is made up of 4 cache blocks.Like the dash area of Fig. 1, by the 0 the tunnel, the associative sets (set) that the cache blocks that is in same index index in the the 1 tunnel, the 2 tunnel, the 3 tunnel is formed is exactly the buffer memory group.For example, by tag1 and the data1 in the tag0 in the cache way 0 and data0, the cache way 1, tag2 in the cache way 2 and data2 form, the link buffer memory group of composition of the tag3 in the cache way 3 and data3.
Fig. 2 has provided the browsing process signal of buffer structure shown in Figure 1.Visit to caching device is a unit with the buffer memory group, that is to say that read and write access all occurs on the buffer memory group, promptly each cache blocks of the different cache way of same index index is operated.As shown in Figure 2, each cache way comprises tag array (for example, can comprise 128 tag pieces) and data array (for example, can comprise 128 data pieces).In particular hardware realized, tag array or data array can be implemented as the SRAM piece, and said SRAM piece contains the enable control bit, when enable is 1 (high some position), can this SRAM piece be read and write; And visit when taking place, the enable position is 0 (dragging down).
Traditional memory access flow process mainly may further comprise the steps:
A) after generating the memory access address, (current potential is drawn high) all put in the enable position of all cache way;
B) arrive concrete certain buffer memory group (for example, if having 128 buffer memory groups, then index is 7bits) through the index segment index of memory access address;
C) read each cache blocks in the respective cache group (comprising tag piece and data piece) and effective marker position (valid/invalid position) thereof;
D) the tag section of reference address is compared with each tag piece of being read, and the effective marker position (also can be called for short significance bit) of cache blocks is checked; If it is effective to hit (be tag coupling) and significance bit, then from corresponding data piece, select data to operate, if miss then send disappearance message according to the offset section in the reference address.
For example; When a read operation takes place; The index section of memory access address is used to the buffer memory group that index will be visited; The tag section of memory access address is used to the tag comparison with each cache blocks from the buffer memory group of being read, if hit and the data of cache blocks effectively then from the corresponding data piece of this cache blocks, select the data (like 8bytes wherein) of needs according to the offset section of memory access address, and write back register.
In above-mentioned memory access process, the buffer memory group is the base unit of index, when each visit takes place, needs all cache way of visit.In buffer structure shown in Figure 1, the buffer memory group is by constituting from the cache blocks in 4 cache way, and therefore when each visit took place, needing the buffer memory way of visit was 4, and the degree of association that is to say this buffer structure is 4.Wherein, when degree of association refers to that each visit takes place, need the buffer memory way of visit.Degree of association is big more, and the cache blocks that the cache blocks that explanation will be read maybe need mate (like the tag coupling) is many more, so power consumption is also big more.
Yet in fact, when read operation each time took place, the data of each cache way not all were effective also in the buffer memory group that visit.Fig. 3 has provided the synoptic diagram that set associative is buffered in a program executory example states.As shown in Figure 3, wherein in each cache way, black block representes it is valid data, and blank block is represented invalid data.For example for the buffer structure of one 4 road set associative, when a read access takes place, in the buffer memory group that visit; Perhaps 4 circuit-switched data are effective entirely, and perhaps 3 circuit-switched data are effective, and perhaps 2 circuit-switched data are effective; Perhaps have only 1 circuit-switched data effective, even the data on all roads are all invalid.Cause data are invalid in the cache blocks the reason can be for example: a) this cache blocks also be initialised, but can be initialised soon; B) procedure time locality and spatial locality are fine, and some cache blocks can not be initialised in the long period; C) this cache blocks was filled, but data have been disabled.Invalid (invalid) message as perhaps in multi-core environment, sending out through other processor through DMA (Direct Memory Access, direct memory access) operation in the monokaryon environment all can deactivate the data of certain cache blocks.
The inventor analyzes discovery through the SPEC CPU2000 test procedure to random choose, and in the different programs implementation, approximately the read operation of 30%-70% is the read operation to the invalid cache road, has produced a lot of unnecessary dynamic power consumptions thus.
Fig. 4 has provided the link structural representation of caching device of the dynamic group that is used for processor according to an embodiment of the invention.Wherein the significance bit of cache blocks is that to come record, the significance bit of said cache blocks to be used to indicate cache blocks through list cell (like the valid among Fig. 4 table) be effectively or invalid.When cache blocks was inserted data for the first time, (for example, being made as 1) put in this cache blocks corresponding effective marker position (abbreviation significance bit) in the valid table.When cache blocks was not received in data, the effective marker position was invalid (for example, being made as 0).It is rearmounted for invalid that data in the cache blocks also can write back internal memory by this processor core; Or be changed to by invalid message from other processor core or DMA invalid.In the present embodiment, this list cell (being called for short the valid table) is to adopt register file to realize, is independent of the SRAM (static RAM) that realizes tag array (also can be called the tag block array) or data array (also can be called the data block array).That is to say that this list cell is not implemented in together with the SRAM of tag array or data array or do not use identical SRAM with tag array or data array.
As shown in Figure 4, when read access took place, this device at first, was checked the significance bit of each cache blocks in this buffer memory group after the index section through the memory access address navigates to certain concrete buffer memory group.For example through checking that valid shown in Figure 4 shows to judge whether the data of each cache blocks are effective.Then; The enable bit (enable/disable position) of the residing cache way of cache blocks is set according to judged result; When finding certain cache blocks invalid (invalid), the enable bit of the residing cache way of this cache blocks is set to not enable (disable) (just current potential being dragged down or place 0); On the contrary, when cache blocks effectively when (valid), the enable bit of the residing cache way of this cache blocks is set to enable (enable) (just current potential being drawn high or place 1).
Then; This device just can only read effective cache blocks when reading each cache blocks of buffer memory group; And the tag section of memory access address and the tag piece of being read compared, if any hitting (being the tag coupling), then according to the offset section of memory access address; Select (like 8bytes wherein) to write back to respective data blocks (like 32bytes).If do not hit, then send disappearance message.Like this;, each read access dynamically changes the degree of association of caching device when taking place; The cache way at invalid cache piece place will not be enabled when read operation takes place, thereby effectively reduce the dynamic power consumption that buffer storage causes owing to read operation in the read-write process.
Fig. 5 has provided the link read access schematic flow sheet of caching device of the dynamic group that is used for processor according to the embodiment of the invention.This read access flow process mainly may further comprise the steps:
(1) after calculating the memory access address, according to the index section location buffer memory group to be visited of memory access address;
(2) in valid table each cache blocks in the inspection buffer memory group to be visited effectively and disarmed state; If during inspection valid, find that the significance bit of all cache blocks is all invalid, then directly send disappearance message.
(3) enable bit of the residing cache way of this cache blocks is set according to the significance bit of each cache blocks; For example, for the cache blocks that is in disarmed state, the enable bit of its residing cache way is set to not enable, thereby masks the visit to the invalid cache piece; For the cache blocks that is in effective status, the enable bit of its residing cache way is set to enable.
(4) read effective cache blocks (comprising tag piece and data piece) in the buffer memory group,
(5) the tag section in the memory access address and the tag piece of each cache blocks of being read are compared,, then, select data to write back from respective data blocks according to the offset section of memory access address if hit; If miss, then outwards send out disappearance message.
It is thus clear that, in an embodiment of the present invention, to said caching device read operation the time,, and when visit, the cache way invalid (disable) at invalid cache piece place is fallen through the invalid cache blocks of precheck, to reduce the visit of cache way, reduce power consumption.
Should point out that the set associative cache device of the foregoing description only is illustrational purpose, rather than limits.That is to say in caching device of the present invention not restriction of quantity to cache way, can be multichannel set associative buffer memory arbitrarily, and wherein cache blocks size is not had particular restriction, and the size of buffer storage itself is not had particular restriction yet.
Though the present invention is described through preferred embodiment, yet the present invention is not limited to described embodiment here, also comprises various changes and the variation done without departing from the present invention.

Claims (9)

1. a dynamic group that is used for processor caching device that links, said device comprises:
A plurality of cache way, each cache way contains the cache blocks of equal number, and each cache blocks comprises tag block and data block; And
It is effectively or invalid that the list cell of the significance bit of record buffer memory piece, the significance bit of said cache blocks are used to indicate cache blocks.
2. device as claimed in claim 1, wherein said list cell are independent of the SRAM that realizes tag block array or data block array.
3. device according to claim 2, said list cell are to adopt register file to realize.
4. device according to claim 3; Wherein,, processor, and the enable bit of the cache way at this cache blocks place is set according to the significance bit of each cache blocks when carrying out read access to said device at first through checking that said list cell obtains the significance bit of each cache blocks in the buffer memory group to be visited; Read valid cache piece in the buffer memory group then, and sense data in the data block of the valid cache piece of the coupling of the marker field from its tag block and memory access address.
5. device according to claim 4, wherein for invalid cache blocks, the enable bit of the cache way at this cache blocks place is set to not enable; For effective cache blocks, the enable bit of the cache way at this cache blocks place is set to enable.
One kind to as the described device of the above-mentioned arbitrary claim method of carrying out read access, said method comprises:
(1) locatees buffer memory group to be visited according to the index segment of memory access address;
(2) through checking that said list cell obtains the significance bit of each cache blocks in the said buffer memory group;
(3) enable bit of the residing cache way of this cache blocks is set according to the significance bit of each cache blocks in the said buffer memory group;
(4) read valid cache piece in the buffer memory group, and sense data in the data block of the valid cache piece of the coupling of the marker field from its tag block and memory access address.
7. method according to claim 6 if be checked through cache blocks all in the buffer memory group to be visited when all invalid, is directly sent disappearance message in step (2).
8. method according to claim 6, for the cache blocks that is in disarmed state, the enable bit of its residing cache way is set to not enable in step (3); For the cache blocks that is in effective status, the enable bit of its residing cache way is set to enable.
9. method according to claim 6, said step (4) may further comprise the steps:
Read valid cache piece in the buffer memory group;
The marker field in the memory access address and the tag block of each cache blocks of being read are compared;
If hit,, from the data block of corresponding cache blocks, select data to write back then according to the offset segment of memory access address; If miss, then send disappearance message.
CN201210134204.5A 2012-05-02 2012-05-02 For the treatment of dynamic group associative cache device and the access method thereof of device Active CN102662868B (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201210134204.5A CN102662868B (en) 2012-05-02 2012-05-02 For the treatment of dynamic group associative cache device and the access method thereof of device
EP13784394.2A EP2743834B1 (en) 2012-05-02 2013-05-02 Dynamic set-associative cache apparatus for processor and visiting method thereof
PCT/CN2013/075092 WO2013163956A1 (en) 2012-05-02 2013-05-02 Dynamic set-associative cache apparatus for processor and visiting method thereof
US14/328,173 US9880937B2 (en) 2012-05-02 2014-07-10 Dynamic set associative cache apparatus for processor and access method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210134204.5A CN102662868B (en) 2012-05-02 2012-05-02 For the treatment of dynamic group associative cache device and the access method thereof of device

Publications (2)

Publication Number Publication Date
CN102662868A true CN102662868A (en) 2012-09-12
CN102662868B CN102662868B (en) 2015-08-19

Family

ID=46772364

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210134204.5A Active CN102662868B (en) 2012-05-02 2012-05-02 For the treatment of dynamic group associative cache device and the access method thereof of device

Country Status (4)

Country Link
US (1) US9880937B2 (en)
EP (1) EP2743834B1 (en)
CN (1) CN102662868B (en)
WO (1) WO2013163956A1 (en)

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102999443A (en) * 2012-11-16 2013-03-27 广州优倍达信息科技有限公司 Management method of computer cache system
WO2013163956A1 (en) * 2012-05-02 2013-11-07 华为技术有限公司 Dynamic set-associative cache apparatus for processor and visiting method thereof
CN103729306A (en) * 2012-10-11 2014-04-16 德州仪器公司 Multi CPU invalidate operation bypass through address range check
WO2015067195A1 (en) * 2013-11-08 2015-05-14 上海芯豪微电子有限公司 Reconfigurable cache organization structure
CN104657285A (en) * 2013-11-16 2015-05-27 上海芯豪微电子有限公司 System and method for caching data
CN104750423A (en) * 2013-12-25 2015-07-01 中国科学院声学研究所 Method and device for optimizing PCM (Phase Change Memory) write
CN104778130A (en) * 2015-04-28 2015-07-15 杭州中天微系统有限公司 Out-kernel high-speed cache device with flexible configurable support capacity and set degree of association
CN105005537A (en) * 2015-08-13 2015-10-28 广州优倍达信息科技有限公司 Management method for cache system of computer
CN105068942A (en) * 2015-08-13 2015-11-18 广州优倍达信息科技有限公司 Management method for computer cache system
CN105095114A (en) * 2015-08-13 2015-11-25 广州优倍达信息科技有限公司 Management method for computer cache system
CN105094953A (en) * 2014-05-09 2015-11-25 华为技术有限公司 Data access method and apparatus
CN105701022A (en) * 2014-12-14 2016-06-22 上海兆芯集成电路有限公司 Cache memory budgeted by chunks based on memory access type
CN106776366A (en) * 2016-11-18 2017-05-31 华为技术有限公司 Address access method and device
WO2019104978A1 (en) * 2017-11-30 2019-06-06 华为技术有限公司 Cache address mapping method and related device
CN111259384A (en) * 2020-01-17 2020-06-09 中国科学院计算技术研究所 Processor transient attack defense method based on cache random invalidation
US10901640B2 (en) 2015-06-02 2021-01-26 Huawei Technologies Co., Ltd. Memory access system and method
CN116150046A (en) * 2023-04-21 2023-05-23 无锡沐创集成电路设计有限公司 Cache circuit

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9513904B2 (en) * 2013-10-15 2016-12-06 Mill Computing, Inc. Computer processor employing cache memory with per-byte valid bits
KR20200008759A (en) * 2018-07-17 2020-01-29 에스케이하이닉스 주식회사 Cache memory amd memory system including the same, eviction method of cache memory
GB2578924B (en) * 2018-11-14 2021-09-29 Advanced Risc Mach Ltd An apparatus and method for controlling memory accesses
US10908915B1 (en) 2019-07-31 2021-02-02 Micron Technology, Inc. Extended tags for speculative and normal executions
US11200166B2 (en) 2019-07-31 2021-12-14 Micron Technology, Inc. Data defined caches for speculative and normal executions
US11010288B2 (en) * 2019-07-31 2021-05-18 Micron Technology, Inc. Spare cache set to accelerate speculative execution, wherein the spare cache set, allocated when transitioning from non-speculative execution to speculative execution, is reserved during previous transitioning from the non-speculative execution to the speculative execution
US10915326B1 (en) 2019-07-31 2021-02-09 Micron Technology, Inc. Cache systems and circuits for syncing caches or cache sets
US11048636B2 (en) 2019-07-31 2021-06-29 Micron Technology, Inc. Cache with set associativity having data defined cache sets
US11194582B2 (en) 2019-07-31 2021-12-07 Micron Technology, Inc. Cache systems for main and speculative threads of processors
US20210365204A1 (en) * 2020-05-20 2021-11-25 Micron Technology, Inc. Sort in memory using index and key tables

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1819544A (en) * 2005-01-05 2006-08-16 华为技术有限公司 Buffer management based on bitmap list
CN101533371A (en) * 2008-03-12 2009-09-16 Arm有限公司 Cache accessing using a micro tag
CN102216904A (en) * 2008-11-18 2011-10-12 飞思卡尔半导体公司 Programmable error actions for a cache in a data processing system
CN102306092A (en) * 2011-07-29 2012-01-04 北京北大众志微系统科技有限责任公司 Method and device for realizing instruction cache path selection in superscaler processor

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5860110A (en) * 1995-08-22 1999-01-12 Canon Kabushiki Kaisha Conference maintenance method for cache memories in multi-processor system triggered by a predetermined synchronization point and a predetermined condition
US6041396A (en) * 1996-03-14 2000-03-21 Advanced Micro Devices, Inc. Segment descriptor cache addressed by part of the physical address of the desired descriptor
US6378047B1 (en) * 1997-07-07 2002-04-23 Micron Technology, Inc. System and method for invalidating set-associative cache memory with simultaneous set validity determination
US6185657B1 (en) * 1998-04-20 2001-02-06 Motorola Inc. Multi-way cache apparatus and method
EP1182565B1 (en) * 2000-08-21 2012-09-05 Texas Instruments France Cache and DMA with a global valid bit
CN1165000C (en) * 2001-12-20 2004-09-01 中国科学院计算技术研究所 Microprocessor high speed buffer storage method of dynamic index
US20070043965A1 (en) * 2005-08-22 2007-02-22 Intel Corporation Dynamic memory sizing for power reduction
US8156357B2 (en) * 2009-01-27 2012-04-10 Freescale Semiconductor, Inc. Voltage-based memory size scaling in a data processing system
CN102662868B (en) * 2012-05-02 2015-08-19 中国科学院计算技术研究所 For the treatment of dynamic group associative cache device and the access method thereof of device
US9003130B2 (en) * 2012-12-19 2015-04-07 Advanced Micro Devices, Inc. Multi-core processing device with invalidation cache tags and methods

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1819544A (en) * 2005-01-05 2006-08-16 华为技术有限公司 Buffer management based on bitmap list
CN101533371A (en) * 2008-03-12 2009-09-16 Arm有限公司 Cache accessing using a micro tag
CN102216904A (en) * 2008-11-18 2011-10-12 飞思卡尔半导体公司 Programmable error actions for a cache in a data processing system
CN102306092A (en) * 2011-07-29 2012-01-04 北京北大众志微系统科技有限责任公司 Method and device for realizing instruction cache path selection in superscaler processor

Cited By (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013163956A1 (en) * 2012-05-02 2013-11-07 华为技术有限公司 Dynamic set-associative cache apparatus for processor and visiting method thereof
US9880937B2 (en) 2012-05-02 2018-01-30 Huawei Technologies Co., Ltd. Dynamic set associative cache apparatus for processor and access method thereof
CN103729306A (en) * 2012-10-11 2014-04-16 德州仪器公司 Multi CPU invalidate operation bypass through address range check
CN103729306B (en) * 2012-10-11 2019-01-08 德州仪器公司 The method and data processing equipment of cache block invalidation
CN102999443A (en) * 2012-11-16 2013-03-27 广州优倍达信息科技有限公司 Management method of computer cache system
CN102999443B (en) * 2012-11-16 2015-09-09 广州优倍达信息科技有限公司 A kind of management method of Computer Cache system
CN104636268A (en) * 2013-11-08 2015-05-20 上海芯豪微电子有限公司 Reconfigurable caching organization structure
CN104636268B (en) * 2013-11-08 2019-07-26 上海芯豪微电子有限公司 The restructural caching product of one kind and method
WO2015067195A1 (en) * 2013-11-08 2015-05-14 上海芯豪微电子有限公司 Reconfigurable cache organization structure
CN104657285A (en) * 2013-11-16 2015-05-27 上海芯豪微电子有限公司 System and method for caching data
CN104657285B (en) * 2013-11-16 2020-05-05 上海芯豪微电子有限公司 Data caching system and method
CN104750423A (en) * 2013-12-25 2015-07-01 中国科学院声学研究所 Method and device for optimizing PCM (Phase Change Memory) write
CN104750423B (en) * 2013-12-25 2018-01-30 中国科学院声学研究所 The method and apparatus that a kind of optimization PCM internal memories are write
CN105094953A (en) * 2014-05-09 2015-11-25 华为技术有限公司 Data access method and apparatus
CN105094953B (en) * 2014-05-09 2018-09-07 华为技术有限公司 Data access method and device
CN105701022B (en) * 2014-12-14 2019-06-11 上海兆芯集成电路有限公司 Set associative cache
CN105701022A (en) * 2014-12-14 2016-06-22 上海兆芯集成电路有限公司 Cache memory budgeted by chunks based on memory access type
CN104778130A (en) * 2015-04-28 2015-07-15 杭州中天微系统有限公司 Out-kernel high-speed cache device with flexible configurable support capacity and set degree of association
CN104778130B (en) * 2015-04-28 2018-05-22 杭州中天微系统有限公司 A kind of outer caching device of core for supporting capacity and set association that can flexibly match somebody with somebody
US10901640B2 (en) 2015-06-02 2021-01-26 Huawei Technologies Co., Ltd. Memory access system and method
CN105005537A (en) * 2015-08-13 2015-10-28 广州优倍达信息科技有限公司 Management method for cache system of computer
CN105095114A (en) * 2015-08-13 2015-11-25 广州优倍达信息科技有限公司 Management method for computer cache system
CN105068942A (en) * 2015-08-13 2015-11-18 广州优倍达信息科技有限公司 Management method for computer cache system
CN106776366B (en) * 2016-11-18 2019-11-22 华为技术有限公司 Address access method and device
CN106776366A (en) * 2016-11-18 2017-05-31 华为技术有限公司 Address access method and device
WO2019104978A1 (en) * 2017-11-30 2019-06-06 华为技术有限公司 Cache address mapping method and related device
US11256630B2 (en) 2017-11-30 2022-02-22 Huawei Technologies Co., Ltd. Cache address mapping method and related device
CN111259384A (en) * 2020-01-17 2020-06-09 中国科学院计算技术研究所 Processor transient attack defense method based on cache random invalidation
CN111259384B (en) * 2020-01-17 2022-06-14 中国科学院计算技术研究所 Processor transient attack defense method based on cache random invalidation
CN116150046A (en) * 2023-04-21 2023-05-23 无锡沐创集成电路设计有限公司 Cache circuit
CN116150046B (en) * 2023-04-21 2023-07-14 无锡沐创集成电路设计有限公司 Cache circuit

Also Published As

Publication number Publication date
US9880937B2 (en) 2018-01-30
US20140344522A1 (en) 2014-11-20
EP2743834A4 (en) 2014-11-26
CN102662868B (en) 2015-08-19
EP2743834B1 (en) 2017-06-28
WO2013163956A1 (en) 2013-11-07
EP2743834A1 (en) 2014-06-18

Similar Documents

Publication Publication Date Title
CN102662868A (en) Dynamic group association cache device for processor and access method thereof
CN101088075B (en) System and method for non-uniform cache in a multi-core processor
KR101902650B1 (en) Sanitize-aware dram controller
CN108427647A (en) Read the method and mixing memory module of data
CN106528454B (en) A kind of memory system caching method based on flash memory
KR20190011257A (en) Shadow tag memory for monitoring the state of cache lines at different cache levels
CN102859504B (en) Copy the method and system of data and obtain the method for data trnascription
US8583873B2 (en) Multiport data cache apparatus and method of controlling the same
CN105095116A (en) Cache replacing method, cache controller and processor
CN102637147A (en) Storage system using solid state disk as computer write cache and corresponding management scheduling method
US20130173834A1 (en) Methods and apparatus for injecting pci express traffic into host cache memory using a bit mask in the transaction layer steering tag
CN103076992A (en) Memory data buffering method and device
US20210173789A1 (en) System and method for storing cache location information for cache entry transfer
CN107015923A (en) Uniformity for managing snoop operations is interconnected and data processing equipment including it
US9063667B2 (en) Dynamic memory relocation
CN102110073A (en) Replacement device and method for chip shared cache and corresponding processor
CN102880467A (en) Method for verifying Cache coherence protocol and multi-core processor system
US20170046278A1 (en) Method and apparatus for updating replacement policy information for a fully associative buffer cache
CN108519858B (en) Memory chip hardware hit method
CN105095104A (en) Method and device for data caching processing
CN108537719A (en) A kind of system and method improving graphics processing unit performance
WO2023093335A1 (en) Data processing circuit, artificial intelligence chip, and data processing method and apparatus
CN109478163B (en) System and method for identifying a pending memory access request at a cache entry
CN104346295A (en) Cache refreshing method and device
CN103176753A (en) Storage device and data management method of storage device

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: HUAWEI TECHNOLOGY CO., LTD.

Effective date: 20121219

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20121219

Address after: 100190 Haidian District, Zhongguancun Academy of Sciences, South Road, No. 6, No.

Applicant after: Institute of Computing Technology, Chinese Academy of Sciences

Applicant after: Huawei Technologies Co., Ltd.

Address before: 100190 Haidian District, Zhongguancun Academy of Sciences, South Road, No. 6, No.

Applicant before: Institute of Computing Technology, Chinese Academy of Sciences

C14 Grant of patent or utility model
GR01 Patent grant