CN115543869A - 多路组相连高速缓冲存储器及其访问方法、计算机设备 - Google Patents

多路组相连高速缓冲存储器及其访问方法、计算机设备 Download PDF

Info

Publication number
CN115543869A
CN115543869A CN202211205274.5A CN202211205274A CN115543869A CN 115543869 A CN115543869 A CN 115543869A CN 202211205274 A CN202211205274 A CN 202211205274A CN 115543869 A CN115543869 A CN 115543869A
Authority
CN
China
Prior art keywords
data
module
access
cache
access request
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.)
Pending
Application number
CN202211205274.5A
Other languages
English (en)
Inventor
段楠
吴志伟
梅�明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Yunbao Chuangxin Intelligent Technology Co ltd
Original Assignee
Shanghai Yunbao Chuangxin Intelligent Technology 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 Shanghai Yunbao Chuangxin Intelligent Technology Co ltd filed Critical Shanghai Yunbao Chuangxin Intelligent Technology Co ltd
Priority to CN202211205274.5A priority Critical patent/CN115543869A/zh
Publication of CN115543869A publication Critical patent/CN115543869A/zh
Pending legal-status Critical Current

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/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0811Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5022Mechanisms to release resources
    • 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

本发明涉及一种多路组相连高速缓冲存储器及其访问方法、计算机设备,包括控制器、地址管理模块、数据存储模块和命中判断模块;所述数据存储模块包括多个第一静态随机存取存储器,每个第一静态随机存取存储器包括m个存储单元;每一路包括多个缓存行,每个缓存行的数据按高低位顺序被划分为m个类别的数据子块;每一路的m个类别的数据子块分别存储于m个第一静态随机存取存储器,且每一路的同个类别的多个数据子块存储于同一个存储单元中;每个第一静态随机存取存储器的m个存储单元所存储的数据子块的类别均不相同;m大于0。通过本发明,能够解决目前小容量的Cache中DATA‑SRAM的SRAM的row利用率低的技术问题。

Description

多路组相连高速缓冲存储器及其访问方法、计算机设备
技术领域
本发明涉及计算机技术领域,具体涉及一种多路组相连高速缓冲存储器及其访问方法、计算机设备。
背景技术
如图1所示,目前多路组相连高速缓冲存储器(Cache)包括标签存储器(TAG-SRAM)和数据存储器(DATA-SRAM),所述TAG-SRAM为用于存放数据标签的一个存储器,所述DATA-SRAM为用于存放数据的一个存储器,所述TAG-SRAM和所述DATA-SRAM均由多个路(way)组成,每个way由一个静态随机存取存储器(SRAM)构成;其中,SRAM的参数包括row数和colum数,所述row数由Cache结构的组数(sets)决定,所述colum数由TAG-SRAM和DATA-SRAM的数据位宽决定。
然而,在实际场景下,由于制造工艺限制,一个SRAM的row数有最小值限制,因此,对于一个小容量(size)的Cache,其sets往往小于SRAM的row数最小值,这会导致SRAM的部分row未使用,增加了芯片的面积和成本。针对这一问题,为了提高SRAM的row的利用率,如图2所示,部分技术人员将不同的路(way)的多个SRAM拼接到一个SRAM中,该方法虽然能够提高SRAM的row的利用率,但其缺陷是每次仅能读取一个way的数据,读取DATA-SRAM的数据时需要多个循环(cycle)才能将多个way的数据读取,降低了Cache性能。
综上,目前小容量的Cache结构无论采用图1或图2的设计结构,均存在一定的缺陷,因此,小容量的Cache结构设计还有待进一步改进。
发明内容
本发明的目的在于提出一种多路组相连高速缓冲存储器及其访问方法、计算机设备,以解决目前小容量的Cache中DATA-SRAM的SRAM的row利用率低的技术问题。
为实现上述目的,本发明的实施例提出一种多路组相连高速缓冲存储器,包括控制器、地址管理模块、数据存储模块和命中判断模块;所述数据存储模块包括多个第一静态随机存取存储器,每个第一静态随机存取存储器包括m个存储单元;每一路包括多个缓存行,每个缓存行的数据按高低位顺序被划分为m个类别的数据子块;每一路的m个类别的数据子块分别存储于m个第一静态随机存取存储器,且每一路的同个类别的多个数据子块存储于同一个存储单元中;每个第一静态随机存取存储器的m个存储单元所存储的数据子块的类别均不相同;m大于0;
其中:
所述控制器,用于接收处理器的访问请求,根据所述访问请求控制所述地址管理模块输出目标缓存行的标记给所述命中判断模块,并根据所述访问请求控制所述数据存储模块输出对应类别的所有数据子块给所述命中判断模块;
所述判断模块,用于根据所述目标缓存行的标记以及所述数据存储模块输出的对应类别的所有数据子块确定是否命中数据,若是,则将命中的数据子块输出给所述处理器,若否,则发送未命中信号给所述控制器。
优选地,m=每一路缓存行的大小/所述处理器在一个时钟周期内与所述高速缓冲存储器之间交互的数据总线的大小。
优选地,m为2;每个第一静态随机存取存储器包括第一存储单元和第二存储单元,每个缓存行的数据按高低位顺序被平均划分为高位类别和低位类别的数据子块。
优选地,m为4;每个第一静态随机存取存储器包括第一存储单元、第二存储单元、第三存储单元和第四存储单元,每个缓存行的数据按高低位顺序被平均划分为最高位类别、次高位类别、次低位类别和最低位类别的数据子块。
优选地,所述地址管理模块包括多个第二静态随机存取存储器,每个所述第二静态随机存取存储器用于存储一路的多个缓存行的地址及其标识。
优选地,所述控制器,还用于当接收到所述未命中信号时,所述控制器将所述访问请求发送至主存储器,并接收所述主存储器返回的m个数据子块,将该m个数据子块存储至所述数据存储模块。
本发明的实施例还提出一种高速缓冲存储器的访问方法,所述方法基于上述的多路组相连高速缓冲存储器实现,所述方法包括:
所述控制器接收处理器的访问请求,根据所述访问请求控制所述地址管理模块输出目标缓存行的标记给所述命中判断模块,并根据所述访问请求控制所述数据存储模块输出对应类别的所有数据子块给所述命中判断模块;
所述判断模块根据所述目标缓存行的标记以及所述数据存储模块输出的对应类别的所有数据子块确定是否命中数据,若是,则将命中的数据子块输出给所述处理器,若否,则发送未命中信号给所述控制器。
优选地,所述根据所述访问请求控制所述地址管理模块输出目标缓存行的标记给所述命中判断模块,包括:
所述控制器对所述访问请求进行解析得到访问地址,并将所述访问地址发送给所述地址管理模块;
所述地址管理模块接收所述访问地址,根据所述访问地址确定目标缓存行的标记,并将所述目标缓存行的标记输出至所述判断模块。
优选地,所述根据所述访问请求控制所述数据存储模块输出对应类别的所有数据子块给所述命中判断模块,包括:
所述控制器对所述访问请求进行解析得到访问地址,并将所述访问地址发送给所述数据存储模块;
所述数据存储模块根据所述访问地址确定要读取的数据子块的类别,并将所述多个第一静态随机存取存储器中存储的与该类别匹配的数据子块均输出至所述判断模块。
优选地,所述方法还包括:
当所述控制器接收到所述未命中信号时,所述控制器将所述访问请求发送至主存储器,并接收所述主存储器返回的m个数据子块,将该m个数据子块存储至所述数据存储模块。
本发明的实施例还提出一种计算机设备,包括处理器、主存储器和上述的多路组相连高速缓冲存储器,所述处理器分别与所述主存储器、所述多路组相连高速缓冲存储器连接,所述主存储器与所述多路组相连高速缓冲存储器连接,所述处理器用于向所述多路组相连高速缓冲存储器发送所述访问请求;所述主存储器用于接收所述多路组相连高速缓冲存储器发送的访问请求,并将所述访问请求对应的访问数据发送给所述多路组相连高速缓冲存储器和所述处理器。
本发明的实施例具有以下有益效果:
本发明的实施例提出了新颖的DATA-SRAM结构,该DATA-SRAM结构即上述数据存储模块,包括多个第一静态随机存取存储器SRAM_1,每个SRAM_1均包括m个存储单元;可以理解的是,每一路包括多个缓存行Cacheline,在本发明实施例中,每个缓存行的数据按高低位顺序被平均划分为m个类别的数据子块,例如一个缓存行的高位一半数据和低位一半数据分别被划分两个不同类别的数据子块;其中,每一路的m个类别的数据子块分别存储于m个第一静态随机存取存储器,且每一路的同个类别的多个数据子块存储于同一个存储单元中,每个第一静态随机存取存储器的m个存储单元所存储的数据子块的类别均不相同;基于本发明实施例的设计,由于采用了多路组相连结构,一个SRAM能够存储多路数据,因此能够提高DATA-SRAM中SRAM的row的利用率,适用于小容量的Cache;同时,不同路的多个缓存行的同类别的数据子块可以被同时读取,不会影响Cache的性能。
本发明的实施例的其它特征和优点将在随后的说明书中阐述。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为背景技术中提及的一种Cache的结构示意图。
图2为背景技术中提及的另一种Cache的结构示意图。
图3为本发明的实施例中的一种多路组相连Cache的数据存储器的结构示意图。
图4为本发明的实施例中的一种多路组相连Cache的数据存储器的第一种示例的结构图。
图5为本发明的实施例中的一种多路组相连Cache的数据存储器的第二种示例的结构图。
图6为本发明的实施例中的一种高速缓冲存储器的访问方法的流程图。
图7为本发明的实施例中的一种计算机设备的结构示意图。
具体实施方式
以下将参考附图详细说明本公开的各种示例性实施例、特征和方面。另外,为了更好的说明本发明,在下文的具体实施例中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本发明同样可以实施。在一些实例中,对于本领域技术人员熟知的手段未作详细描述,以便于凸显本发明的主旨。
参阅图3,本发明的一实施例提出一种多路组相连高速缓冲存储器Cache,包括控制器、地址管理模块、数据存储模块DATA-SRAM和命中判断模块;所述数据存储模块DATA-SRAM包括多个第一静态随机存取存储器SRAM_1,每个SRAM_1包括m个存储单元;每一路包括多个缓存行Cacheline,每个Cacheline的数据按高低位顺序被划分为m个类别的数据子块;每一路的m个类别的数据子块分别存储于m个SRAM_1,且每一路的同个类别的多个数据子块存储于同一个存储单元中;每个第一静态随机存取存储器的m个存储单元所存储的数据子块的类别均不相同;m大于0;
所述控制器,用于接收处理器的访问请求,根据所述访问请求控制所述地址管理模块输出目标缓存行的标记给所述命中判断模块,并根据所述访问请求控制所述数据存储模块输出对应类别的所有数据子块给所述命中判断模块;
具体而言,所述控制器用于对所述访问请求进行解析得到访问地址,并根据所述访问地址发送给所述地址管理模块和所述数据存储模块;所述地址管理模块用于接收所述访问地址,根据所述访问地址确定目标缓存行的标记,并将所述目标缓存行的标记输出至所述判断模块;所述数据存储模块用于根据所述访问地址确定要读取的数据子块的类别,并将所述多个第一静态随机存取存储器中存储的与该类别匹配的数据子块均输出至所述判断模块;
所述判断模块,用于根据所述目标缓存行的标记以及所述数据存储模块输出的对应类别的所有数据子块确定是否命中数据,若是,则将命中的数据子块输出给所述处理器,若否,则发送未命中信号给所述控制器;
具体而言,所述数据存储模块仅输出其中一个类别的所有数据字块,所述判断模块将该一个类别的所有数据字块与所述目标缓存行的标记进行匹配,如果匹配成功,则命中数据,即所述数据存储模块中存储有目标Cacheline的数据,读取数据成功,如果匹配识别,则没有命中数据,即所述数据存储模块中没有存储目标Cacheline的数据,读取数据失败;
更具体地,传统Cache的DATA-SRAM的设计原则不能把一个路way的高位数据和低位数据放在一个SRAM中,一个缓存行的数据可以视为是一个数据块,外部处理器在读取数据时,并非需要完整的一个Cacheline的数据,因此,本实施例中根据Cacheline的数据的高低位顺序对其数据进行平均划分为m个数据子块,例如一个16位的Cacheline数据,左边8位为高位数据,右边8位为低位数据,可以将其平均划分为2个数据子块,则该2个数据子块分别包括左边8位和右边8位的数据,分别对应2个不同的类别;也可以将其平均划分为4个数据子块,则该4个数据子块分别包括高位数据的前4位、高位数据的后4位、低位数据的前4位、低位数据的后4位,分别对应4个不同的类别;
具体地,经过上述的数据划分之后,假设每一路有n个缓存行,则每一路有m个类别的数据子块,每一个类别有n个数据子块,则该n个数据子块会被存储在一个SRAM_1的同一个存储单元中,而且不同类别的数据子块存储在不同的SRAM_1,这样能够提高小size的Cache中DATA-SRAM的row的利用率;并且,为了确保每次能够同时读取不同路的多个缓存行的同类别的数据子块,避免影响Cache的性能,本发明实施例中,每一个SRAM_1的m个存储单元所存储的n个数据子块所对应的类别都是不同的。
在一些实施例中,m=每一路缓存行的大小/所述处理器在一个时钟周期内与所述高速缓冲存储器之间交互的数据总线的大小,其中处理器在一个时钟周期内与所述高速缓冲存储器之间交互的数据总线的大小即bus master data size。
具体而言,在Cache设计中,为了提高Cache命中率,cacheline size通常是busmaster data size的m倍,m为大于等于1的整数,优选为2;本实施例中m的值取决于缓存行大小和总线主控数据大小,所述缓存行大小即Cacheline size,所述总线主控数据大小即bus master data size;需说明的是,在本发明实施例中,以bus master data size为粒度对Cacheline的数据进行划分,使得CPU在访问Cache时可准确访问对应粒度的数据,有利于降低功耗。
在一些实施例中,m为2;每个第一静态随机存取存储器包括第一存储单元和第二存储单元,每个缓存行的数据按高低位顺序被平均划分为高位类别和低位类别的2个数据子块。
具体而言,所述m等于2,即Cachelinesize是bus master data size的2倍;其中,每一Cacheline的数据按高低位顺序被平均划分为高位数据和低位数据两部分,即高位一半数据和低位一半数据,分别对应高位类别和低位类别;每一路的高位类别和低位类别的多个数据字块分别存储于2个不同的SRAM_1中;如图4所示,图4中H表示高位类别,L表示低位类别,图4中每一个SRAM_1的第一存储单元存储一路的高位类别的多个数据子块,例如WAY0_H,表示第0路的高位类别的多个数据子块;第二存储单元存储另一路的低位类别的多个数据子块,例如WAY1_L,表示第1路的低位类别的多个数据子块;进一步地,每一路的高位类别和低位类别的多个数据子块分别存储在不同的SRAM_1中,例如第0路的高位类别的多个数据子块WAY0_H和低位类别的多个数据子块WAY0_L,本发明实施例将任意两个路的数据拼接到一个SRAM_1中,可以提高SRAM的row利用率。
在一些实施例中,m为4;每个第一静态随机存取存储器包括第一存储单元、第二存储单元、第三存储单元和第四存储单元,每个缓存行的数据按高低位顺序被平均划分为最高位类别、次高位类别、次低位类别和最低位类别的4个数据子块。
具体而言,所述m等于4,即Cachelinesize是bus master data size的4倍;其中,每一Cacheline的数据按高低位顺序被依次平均划分最高位数据、次高位数据、次低位数据和最低位数据4个数据字块,4个数据字块的位宽相同,分别对应最高位类别、次高位类别、次低位类别和最低位类别4个类别,每一路的最高位类别、次高位类别、次低位类别和最低位类别的多个数据字块分别存储于4个不同的SRAM_1中;如图5所示,图5中HH表示最高位类别,HL表示次高位类别,LH表示次低位类别,LL表示最低位类别;图5中每一个SRAM_1的第一存储单元、第二存储单元、第三存储单元和第四存储单元分别存储4路数据子块,且该4路数据子块的类别均不相同,例如,图5的一个SRAM_1,其第一存储单元存储第0路的最高位类别的多个数据子块WAY0_HH,其第二存储单元存储第1路的最低位类别的多个数据子块WAY1_LL,其第三存储单元存储第2路的次高位类别的多个数据子块WAY2_LH,其第四存储单元存储第3路的次高位类别的多个数据子块WAY3_HL,本发明实施例将任意4个路的数据拼接到一个SRAM_1中,可以提高SRAM的row利用率。
在一些实施例中,所述地址管理模块包括多个第二静态随机存取存储器SRAM_2,每个所述第二静态随机存取存储器SRAM_2用于存储一路的多个缓存行的地址及其标识;
具体而言,所述地址管理模块接收所述访问地址,将所述访问地址与多个SRAM_2存储的地址进行比较,如果存在与所述访问地址匹配的目标地址,则获取该目标地址所对应的标识,确定为目标缓存行的标记,并将所述目标缓存行的标记输出至所述判断模块。
在一些实施例中,所述控制器,还用于当接收到所述未命中信号时,所述控制器将所述访问请求发送至主存储器,并接收所述主存储器返回的m个数据子块,将该m个数据子块存储至所述数据存储模块;
具体而言,本实施例中外部CPU在访问Cache时,其访问的只是1/m的Cacheline的数据,即1个数据子块,在未命中数据时,所述控制器从所述主存储器读取m个数据子块,不仅包含当前CPU要访问的1个数据子块,还包含了对应Cacheline的其他数据子块,会一并存储到所述数据存储模块的SRAM_1中,一般来说,CPU访问数据的顺序是连续的,因此,相当于提前将CPU即将要访问的数据子块准备好了,提高下一次数据子块访问的命中率,提高数据读取的效率,提高Cache的性能。
参阅图6,本发明的另一实施例还提出一种高速缓冲存储器的访问方法,所述方法基于上述实施例所述的多路组相连高速缓冲存储器实现,所述方法包括以下步骤:
步骤S1、所述控制器接收处理器的访问请求,根据所述访问请求控制所述地址管理模块输出目标缓存行的标记给所述命中判断模块,并根据所述访问请求控制所述数据存储模块输出对应类别的所有数据子块给所述命中判断模块;
步骤S2、所述判断模块根据所述目标缓存行的标记以及所述数据存储模块输出的对应类别的所有数据子块确定是否命中数据,若是,则将命中的数据子块输出给所述处理器,若否,则发送未命中信号给所述控制器。
在一些实施例中,在所述步骤S1中,根据所述访问请求控制所述地址管理模块输出目标缓存行的标记给所述命中判断模块,包括:
所述控制器对所述访问请求进行解析得到访问地址,并将所述访问地址发送给所述地址管理模块;
所述地址管理模块接收所述访问地址,根据所述访问地址确定目标缓存行的标记,并将所述目标缓存行的标记输出至所述判断模块。
在一些实施例中,在所述步骤S1中,根据所述访问请求控制所述数据存储模块输出对应类别的所有数据子块给所述命中判断模块,包括:
所述控制器对所述访问请求进行解析得到访问地址,并将所述访问地址发送给所述数据存储模块;
所述数据存储模块根据所述访问地址确定要读取的数据子块的类别,并将所述多个第一静态随机存取存储器中存储的与该类别匹配的数据子块均输出至所述判断模块。
在一些实施例中,所述方法还包括:
步骤S3、当所述控制器接收到所述未命中信号时,所述控制器将所述访问请求发送至主存储器,并接收所述主存储器返回的m个数据子块,将该m个数据子块存储至所述数据存储模块。
需说明的是,本实施例的方法与上述实施例的多路组相连高速缓冲存储器对应,因此,本实施例的方法的技术细节、有益效果等未详述的部分可以参阅上述实施例的多路组相连高速缓冲存储器获得,此处不进行赘述。
参阅图7,本发明的又一实施例还提出一种计算机设备,包括处理器CPU、主存储器和上述的多路组相连高速缓冲存储器Cache,所述处理器分别与所述主存储器、所述多路组相连高速缓冲存储器连接,所述主存储器与所述多路组相连高速缓冲存储器连接,所述主存储器为双倍速率同步动态随机存储器DDR。
需说明的是,本实施例的计算机设备中的处理器、主存储器和多路组相连高速缓冲存储器之间的交互,可以参阅上述实施例的方法和多路组相连高速缓冲存储器获得,此处不进行赘述。
通过以上各实施例的描述可知,本发明的各实施例具有以下优点:
本发明的各实施例提出了新颖的DATA-SRAM结构,该DATA-SRAM结构即上述数据存储模块,包括多个第一静态随机存取存储器SRAM_1,每个SRAM_1均包括m个存储单元;可以理解的是,每一路包括多个缓存行Cacheline,在本发明的各实施例中,每个缓存行的数据按高低位顺序被平均划分为m个类别的数据子块,例如一个缓存行的高位一半数据和低位一半数据分别被划分两个不同类别的数据子块;其中,每一路的m个类别的数据子块分别存储于m个第一静态随机存取存储器,且每一路的同个类别的多个数据子块存储于同一个存储单元中,每个第一静态随机存取存储器的m个存储单元所存储的数据子块的类别均不相同;基于本发明的各实施例的设计,由于采用了多路组相连结构,一个SRAM能够存储多路数据,因此能够提高DATA-SRAM中SRAM的row的利用率,适用于小容量的Cache;同时,不同路的多个缓存行的同类别的数据子块可以被同时读取,不会影响Cache的性能。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

Claims (11)

1.一种多路组相连高速缓冲存储器,其特征在于,包括控制器、地址管理模块、数据存储模块和命中判断模块;所述数据存储模块包括多个第一静态随机存取存储器,每个第一静态随机存取存储器包括m个存储单元;所述高速缓冲存储器的每一路包括多个缓存行,每个缓存行的数据按高低位顺序被划分为m个类别的数据子块;每一路的m个类别的数据子块分别存储于m个第一静态随机存取存储器,且每一路的同个类别的多个数据子块存储于同一个存储单元中;每个第一静态随机存取存储器的m个存储单元所存储的数据子块的类别均不相同;m大于0;
其中:
所述控制器,用于接收处理器的访问请求,根据所述访问请求控制所述地址管理模块输出目标缓存行的标记给所述命中判断模块,并根据所述访问请求控制所述数据存储模块输出对应类别的所有数据子块给所述命中判断模块;
所述判断模块,用于根据所述目标缓存行的标记以及所述数据存储模块输出的对应类别的所有数据子块确定是否命中数据,若是,则将命中的数据子块输出给所述处理器,若否,则发送未命中信号给所述控制器。
2.根据权利要求1所述的多路组相连高速缓冲存储器,其特征在于,m=每一路缓存行的大小/所述处理器在一个时钟周期内与所述高速缓冲存储器之间交互的数据总线的大小。
3.根据权利要求1所述的多路组相连高速缓冲存储器,其特征在于,m为2;每个第一静态随机存取存储器包括第一存储单元和第二存储单元,每个缓存行的数据按高低位顺序被平均划分为高位类别和低位类别的数据子块。
4.根据权利要求1所述的多路组相连高速缓冲存储器,其特征在于,m为4;每个第一静态随机存取存储器包括第一存储单元、第二存储单元、第三存储单元和第四存储单元,每个缓存行的数据按高低位顺序被平均划分为最高位类别、次高位类别、次低位类别和最低位类别的数据子块。
5.根据权利要求1所述的多路组相连高速缓冲存储器,其特征在于,所述地址管理模块包括多个第二静态随机存取存储器,每个所述第二静态随机存取存储器用于存储一路的多个缓存行的地址及其标识。
6.根据权利要求1所述的多路组相连高速缓冲存储器,其特征在于,所述控制器,还用于当接收到所述未命中信号时,所述控制器将所述访问请求发送至主存储器,并接收所述主存储器返回的m个数据子块,将该m个数据子块存储至所述数据存储模块。
7.一种高速缓冲存储器的访问方法,其特征在于,所述方法基于权利要求1-6中任一项所述的多路组相连高速缓冲存储器实现,所述方法包括:
所述控制器接收处理器的访问请求,根据所述访问请求控制所述地址管理模块输出目标缓存行的标记给所述命中判断模块,并根据所述访问请求控制所述数据存储模块输出对应类别的所有数据子块给所述命中判断模块;
所述判断模块根据所述目标缓存行的标记以及所述数据存储模块输出的对应类别的所有数据子块确定是否命中数据,若是,则将命中的数据子块输出给所述处理器,若否,则发送未命中信号给所述控制器。
8.如权利要求7所述的高速缓冲存储器的访问方法,其特征在于,所述根据所述访问请求控制所述地址管理模块输出目标缓存行的标记给所述命中判断模块,包括:
所述控制器对所述访问请求进行解析得到访问地址,并将所述访问地址发送给所述地址管理模块;
所述地址管理模块接收所述访问地址,根据所述访问地址确定目标缓存行的标记,并将所述目标缓存行的标记输出至所述判断模块。
9.如权利要求7所述的高速缓冲存储器的访问方法,其特征在于,所述根据所述访问请求控制所述数据存储模块输出对应类别的所有数据子块给所述命中判断模块,包括:
所述控制器对所述访问请求进行解析得到访问地址,并将所述访问地址发送给所述数据存储模块;
所述数据存储模块根据所述访问地址确定要读取的数据子块的类别,并将所述多个第一静态随机存取存储器中存储的与该类别匹配的数据子块均输出至所述判断模块。
10.如权利要求7所述的高速缓冲存储器的访问方法,其特征在于,所述方法还包括:
当所述控制器接收到所述未命中信号时,所述控制器将所述访问请求发送至主存储器,并接收所述主存储器返回的m个数据子块,将该m个数据子块存储至所述数据存储模块。
11.一种计算机设备,其特征在于,包括处理器、主存储器和权利要求1-6中任一项所述的多路组相连高速缓冲存储器,其中:
所述处理器用于向所述多路组相连高速缓冲存储器发送所述访问请求;
所述主存储器用于接收所述多路组相连高速缓冲存储器发送的访问请求,并将所述访问请求对应的访问数据发送给所述多路组相连高速缓冲存储器和所述处理器。
CN202211205274.5A 2022-09-30 2022-09-30 多路组相连高速缓冲存储器及其访问方法、计算机设备 Pending CN115543869A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211205274.5A CN115543869A (zh) 2022-09-30 2022-09-30 多路组相连高速缓冲存储器及其访问方法、计算机设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211205274.5A CN115543869A (zh) 2022-09-30 2022-09-30 多路组相连高速缓冲存储器及其访问方法、计算机设备

Publications (1)

Publication Number Publication Date
CN115543869A true CN115543869A (zh) 2022-12-30

Family

ID=84732388

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211205274.5A Pending CN115543869A (zh) 2022-09-30 2022-09-30 多路组相连高速缓冲存储器及其访问方法、计算机设备

Country Status (1)

Country Link
CN (1) CN115543869A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116821011A (zh) * 2023-08-24 2023-09-29 摩尔线程智能科技(北京)有限责任公司 参数确定及数据读写方法、处理器、装置、计算机设备

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116821011A (zh) * 2023-08-24 2023-09-29 摩尔线程智能科技(北京)有限责任公司 参数确定及数据读写方法、处理器、装置、计算机设备
CN116821011B (zh) * 2023-08-24 2023-12-19 摩尔线程智能科技(北京)有限责任公司 参数确定及数据读写方法、处理器、装置、计算机设备

Similar Documents

Publication Publication Date Title
CN109983536B (zh) 响应标签匹配命令的存储电路
US6608793B2 (en) Efficient management method of memory cell array
CN109582214B (zh) 数据访问方法以及计算机系统
US6845024B1 (en) Result compare circuit and method for content addressable memory (CAM) device
JP2013140592A (ja) メモリ特性情報を保存する半導体メモリ装置、それを含むメモリモジュール、メモリシステム及び半導体メモリ装置の動作方法
CN110018971B (zh) 缓存替换技术
WO2018090255A1 (zh) 内存访问技术
CN115543869A (zh) 多路组相连高速缓冲存储器及其访问方法、计算机设备
CN116501249A (zh) 一种减少gpu内存重复数据读写的方法及相关设备
US20020108015A1 (en) Memory-access management method and system for synchronous dynamic Random-Access memory or the like
US11188467B2 (en) Multi-level system memory with near memory capable of storing compressed cache lines
US20060277352A1 (en) Method and system for supporting large caches with split and canonicalization tags
US9496009B2 (en) Memory with bank-conflict-resolution (BCR) module including cache
US20040078544A1 (en) Memory address remapping method
CN115981555A (zh) 一种数据处理方法、装置、电子设备及介质
US8639879B2 (en) Sorting movable memory hierarchies in a computer system
US8484411B1 (en) System and method for improving access efficiency to a dynamic random access memory
US7174418B2 (en) Semiconductor memory device for enhancing refresh operation in high speed data access
CN109388344B (zh) 一种基于带宽扩展交叉编址的双端口sram访问控制系统及方法
CN109117388B (zh) 针对内存端缓存的数据动态旁路装置及方法
TWI721660B (zh) 控制資料讀寫裝置與方法
US8521951B2 (en) Content addressable memory augmented memory
CN112988074B (zh) 一种存储系统管理软件适配方法及装置
US20230026824A1 (en) Memory system for accelerating graph neural network processing
CN115620772B (zh) 访问字线的方法及字线解码电路结构

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