发明名称 Data store and method of allocating data to the data store
摘要 A data store has a data array for storing data values and a tag array for storing tag values for tracking which data values are stored in the data array. The associativity of the data array is greater than the associativity of the tag array. This means that fewer tag entries need to be accessed on each data access than in a conventional data store, reducing power consumption.
申请公布号 US9176856(B2) 申请公布日期 2015.11.03
申请号 US201313936749 申请日期 2013.07.08
申请人 ARM Limited 发明人 Tune Andrew David
分类号 G06F12/02;G06F12/08 主分类号 G06F12/02
代理机构 Nixon & Vanderhye P.C. 代理人 Nixon & Vanderhye P.C.
主权项 1. A data store for storing data comprising: a data array comprising a plurality of data entries for storing data values; a tag array comprising a plurality of tag entries for storing tag values for tracking which data values are stored in the data array; and control circuitry configured to control allocation of a data value to said data array and a corresponding tag value to said tag array to: (a) allocate said data value to a selected data entry of a corresponding data set of N data entries of said data array, where N is an integer which is less than the total number of data entries of said data array, said corresponding data set selected based on an address of said data value, wherein said data value cannot be allocated to a data entry not in said corresponding data set; (b) allocate said corresponding tag value to a selected tag entry of a corresponding tag set of M tag entries of said tag array, where M is an integer and M<N, said corresponding tag set selected based on said address of said data value, wherein said tag value cannot be allocated to a tag entry not in said corresponding tag set; and (c) store in said selected tag entry a pointer identifying which data entry of said corresponding data set is said selected data entry, wherein in response to an access request for accessing from said data array a target data value identified by a target address, said control circuitry is configured to perform a first tag lookup for reading the tag values from each of the corresponding tag set of M tag entries selected based on said target address, and to determine whether the data array stores said target data value by comparing a tag portion of the target address with each of said read tag values, when none of the read tag values corresponds to said tag portion of said target address, then said control circuitry is configured to perform said allocation for allocating said target data value to said data array and said tag portion of said target address to said tag array, and said selected data entry already stores a data value which needs to be written back to memory and the tag entry corresponding to the data value already stored in said selected data entry is from a different tag set to the tag set read in said first tag lookup, then said control circuitry is configured to perform a second tag lookup for said different tag set to read the tag value corresponding to said data value already stored in said selected data entry.
地址 Cambridge GB