CN115794670A - 一种缓存系统及其管理方法 - Google Patents
一种缓存系统及其管理方法 Download PDFInfo
- Publication number
- CN115794670A CN115794670A CN202211598805.1A CN202211598805A CN115794670A CN 115794670 A CN115794670 A CN 115794670A CN 202211598805 A CN202211598805 A CN 202211598805A CN 115794670 A CN115794670 A CN 115794670A
- Authority
- CN
- China
- Prior art keywords
- cache
- module
- consistency
- processing
- coherency
- 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
Links
Images
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明公开了一种缓存系统及其管理方法。缓存系统包括:至少两个处理内核、一致性控制模块、一致性处理模块和缓存模块;所述处理内核通过协议总线与一致性控制模块连接;一致性控制模块分别与所述一致性处理模块和所述缓存模块连接;所述一致性处理模块与所述缓存模块连接;所述一致性处理模块用于当所述缓存模块配置为非一致性高速缓存时,对所述缓存模块进行一致性处理;所述一致性控制模块用于当所述缓存模块配置为一致性高速缓存时,对所述一致性处理模块进行无效处理。本发明提供一种缓存系统及其管理方法,根据实际需求灵活改变芯片的缓存配置,提高系统缓存配置的灵活性。
Description
技术领域
本发明实施例涉及内存扩展技术领域,尤其涉及一种缓存系统及其管理方法。
背景技术
现有的开源缓存(cache)设计中,TLSimpleL2是最简单的L2/LLC设计,但其不支持一致性处理,不能处理多核场景;而对比于TLSimpleL2,TLComplexL2改进了延迟和吞吐,但是它依然不支持一致性处理;BlockInclusiveCache作为开源的性能最好的一款cache设计,它支持一致性,但是仅支持对上一致性处理,不支持对下一致性处理,不能处理来自下一级cache的一致性失效请求,在一定程度上也先限制了其使用场景。
发明内容
本发明提供一种缓存系统及其管理方法,根据实际需求灵活改变芯片的缓存配置,提高系统缓存配置的灵活性。
第一方面,本发明实施例提供一种缓存系统,包括:至少两个处理内核、一致性控制模块、一致性处理模块和缓存模块;
所述处理内核通过协议总线与一致性控制模块连接;一致性控制模块分别与所述一致性处理模块和所述缓存模块连接;所述一致性处理模块与所述缓存模块连接;所述一致性处理模块用于当所述缓存模块配置为非一致性高速缓存时,对所述缓存模块进行一致性处理;所述一致性控制模块用于当所述缓存模块配置为一致性高速缓存时,对所述一致性处理模块进行无效处理。
可选的,所述缓存模块包括一致性控制单元和一致性处理单元;
所述一致性控制单元与所述一致性控制模块连接;所述一致性控制单元与所述一致性处理单元连接;当所述缓存模块配置为一致性高速缓存时,所述一致性控制单元用于在所述一致性控制模块对所述一致性处理模块进行无效处理之后,不对所述一致性处理单元进行无效处理;所述一致性处理单元用于执行一致性处理。
可选的,当所述缓存模块配置为非一致性高速缓存时,所述一致性控制单元用于在所述一致性控制模块不对所述一致性处理模块进行无效处理后,对所述一致性处理单元进行无效处理。
可选的,所述协议总线为TileLink总线。
可选的,根据所述协议总线,所述缓存模块被配置为所述一致性高速缓存时,所述缓存模块设置有A通路、B通路、C通路、D通路和E通路。
可选的,所述的缓存系统,还包括自定义输入输出模块;
所述自定义输入输出模块通过所述协议总线与所述处理内核连接。
可选的,所述的缓存系统,还包括片上调试单元,所述片上调试单元通过所述协议总线与所述处理内核连接。
第二方面,本发明实施例提供一种缓存系统的管理方法,由本发明实施例提供的任意所述的缓存系统执行,包括:
当所述缓存模块配置为非一致性高速缓存时,所述一致性控制模块不对所述一致性处理模块进行无效处理;所述一致性处理模块对所述缓存模块进行一致性处理;
当所述缓存模块配置为一致性高速缓存时,所述一致性控制模块对所述一致性处理模块进行无效处理。
可选的,所述缓存模块包括一致性控制单元和一致性处理单元;
所述方法包括:
当所述缓存模块配置为一致性高速缓存时,所述一致性控制单元在所述一致性控制模块对所述一致性处理模块进行无效处理之后,不对所述一致性处理单元进行无效处理;所述一致性处理单元执行一致性处理。
可选的,当所述缓存模块配置为非一致性高速缓存时,所述一致性控制单元在所述一致性控制模块不对所述一致性处理模块进行无效处理后,对所述一致性处理单元进行无效处理。
本发明实施例的技术方案,通过在一致性处理模块的上游增加一致性控制模块,根据缓存模块的配置类型,利用一致性控制模块对或不对一致性处理模块进行无效处理,从而可以根据需求集成三级高速缓存提升芯片的性能,根据实际需求灵活改变芯片的缓存配置,提高系统缓存配置的灵活性。
附图说明
图1为本发明实施例提供的一种缓存系统的结构示意图。
图2为本发明实施例提供的又一种缓存系统的结构示意图。
图3为本发明实施例提供的又一种缓存系统的结构示意图。
图4为本发明实施例提供的又一种缓存系统的结构示意图。
图5为本发明实施例提供的一种缓存系统的管理方法。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在现有的缓存设计中多核处理设备在其协议总线下存在缓存一致性的处理模块,保证内存访问的一致性,缓存一致性的处理模块可连接到与该多核处理设备配套的二级高速缓存,数据流经过处理模块后完成缓存一致性处理,再到二级高速缓存时只需要简单的读写操作。此设计对二级高速缓存有一定限制,二级高速缓存只能是不支持缓存一致性的cache,只能作为末级缓存,无法再增加三级高速缓存,影响芯片性能的提升。
图1为本发明实施例提供的一种缓存系统的结构示意图,参见图1,包括:至少两个处理内核110、一致性控制模块120、一致性处理模块130和缓存模块140;
处理内核110通过协议总线150与一致性控制模块120连接;一致性控制模块120分别与一致性处理模块130和缓存模块140连接;一致性处理模块130与缓存模块140连接;一致性处理模块130用于当缓存模块140配置为非一致性高速缓存时,对缓存模块140进行一致性处理;一致性控制模块120用于当缓存模块140配置为一致性高速缓存时,对一致性处理模块130进行无效处理。
具体的,当处理器存在多个处理内核110,会存在缓存一致性问题,一致性处理模块130通过协议总线150连接配套的缓存模块140,通过一致性处理可以保证数据的一致性,示例性的,协议总线150可以采用TileLink总线。其中,一致性处理是服务于访存的读写操作的,目的是保证读写正确。一致性处理的处理过程,可以采用基于目录的cache一致性策略。在一致性处理模块130的上游增加一致性控制模块120,利用一致性控制模块120对一致性处理模块130进行无效处理,从而可以根据配置的缓存模块140的类型灵活改变芯片配置。
示例性的,缓存系统的工作过程:当缓存模块140配置为一致性高速缓存时,一致性控制模块120对一致性处理模块130进行无效处理,因此可以忽略一致性处理模块130的功能,直接使数据流经过协议总线150到达缓存模块140,由于缓存模块140被配置为一致性高速缓存,因此可以利用缓存模块140完成一致性处理。若缓存模块140支持对下一致性处理,还可集成三级高速缓存,可极大的提升芯片的性能。当缓存模块140配置为非一致性高速缓存时,一致性控制模块120不对一致性处理模块130进行无效处理,因此,数据流经过一致性处理模块130,由一致性处理模块130完成缓存一致性处理,缓存模块140仍可以正确执行读写操作,因此,缓存系统可控制一致性控制模块120的功能,根据实际需求灵活改变芯片的缓存配置,从而实现正确功能,提高系统缓存配置的灵活性。
本发明实施例的技术方案,通过在一致性处理模块的上游增加一致性控制模块,根据缓存模块的配置类型,利用一致性控制模块对或不对一致性处理模块进行无效处理,从而可以根据需求集成三级高速缓存提升芯片的性能,根据实际需求灵活改变芯片的缓存配置,提高系统缓存配置的灵活性。
图2为本发明实施例提供的又一种缓存系统的结构示意图,参见图2,缓存模块140包括一致性控制单元141和一致性处理单元142;
一致性控制单元141与一致性控制模块120连接;一致性控制单元141与一致性处理单元142连接;
当缓存模块140配置为一致性高速缓存时,一致性控制单元141用于在一致性控制模块120对一致性处理模块130进行无效处理之后,不对一致性处理单元142进行无效处理;一致性处理单元142用于执行一致性处理。
具体的,缓存模块140内配置一致性控制单元141和一致性处理单元142,因此,一致性控制模块120可对缓存一致性处理模块130进行无效处理,数据流经过协议总线150直接到达缓存模块140,此时对缓存模块140的应用有更多的选择,在支持缓存一致性的高速缓存中,利用一致性控制单元141对一致性处理单元142进行无效处理,可以灵活的改变缓存模块140的配置类型。示例性的,配置过程为:当一致性控制模块120对其控制的一致性处理模块130进行无效处理,一致性控制单元141不用对其控制的一致性处理单元142进行无效处理,此时缓存模块140可选用一些高性能缓存,还可集成三级高速缓存。
可选的,当缓存模块140配置为非一致性高速缓存时,一致性控制单元141用于在一致性控制模块120不对一致性处理模块130进行无效处理后,对一致性处理单元142进行无效处理。
具体的,当一致性控制模块120没有对其控制的一致性处理模块130进行无效处理时,则可选择一致性控制单元141对其控制的一致性处理单元142进行无效处理,以使一致性功能正确,此时缓存模块140只执行一些基本的读写操作。通过一致性控制模块120和一致性控制单元141的对其控制的一致性处理模块130和一致性处理单元142进行无效处理,可根据需求灵活的改变缓存的配置类型,提高系统配置灵活性。
可选的,协议总线150为TileLink总线。具体的,TileLink是一个协议框架,设计为多个缓存一致性策略的基板。其目的是将通信网络的设计和缓存控制器的实现与一致性协议本身的设计分离开来,使各个内存系统组件更加易于验证。同时,可用于建立可扩展的、层次化结构的和点对点的网络,为任意数量的缓存或非缓存主设备提供一致性的访问,支持从单一简单外设到高吞吐量的复杂多外设的所有通讯需求。
可选的,根据协议总线150,缓存模块140被配置为一致性高速缓存时,缓存模块140设置有A通路、B通路、C通路、D通路和E通路。
具体的,缓存模块140根据TileLink总线定义了五个逻辑上相互独立的通道,任何访存操作都需要两个最基本的通道,A通路用于传送一个请求,访问指定的地址范围或对数据进行缓存操作,B通路用于传输一个请求,对已缓存的某个地址上的数据进行访问或是写回操作,C通路用于响应B通路的请求,传送一个数据或是应答消息,D通路用于向最初的请求者传送一个数据回复响应或是应答消息,E通路用于传输来自最初请求者的缓存块传输的最终应答,用于序列化。
图3为本发明实施例提供的又一种缓存系统的结构示意图,参见图3,缓存系统,还包括自定义输入输出模块310;
自定义输入输出模块310通过协议总线150与处理内核110连接。
具体的,自定义输入输出模块310包括自定义指令集扩展、自定义协处理器、自定义加速器、自定义I/O、时钟端口、时钟/复位端口和SD card等扩展等,接入缓存系统可以根据需求实现灵活配置。
可选的,缓存系统,还包括片上调试单元,片上调试单元通过协议总线150与处理内核110连接。
示例性的,图4为本发明实施例提供的又一种缓存系统的结构示意图,参见图4,缓存系统是基于Freedom U500,其中,Freedom U500是sifive实现的一款基于RISC-V架构的开源SoC,其可以包括一个SiFive U5核心处理器,带有1-8个64位RISC-V处理内核、中断控制器、片上调试单元和ROM接口,此外还支持自定义指令集扩展、自定义协处理器、自定义加速器、自定义I/O、时钟端口、时钟/复位端口和SD card等扩展,都可以根据需求实现灵活配置。还可以配置共享的二级高速缓存、DDR3/DDR4 DRAM通道、双模PCIe Gen 3.0、千兆以太网、USB 3.0、以及外围设备的选择。
图5为本发明实施例提供的一种缓存系统的管理方法,本实施例可适用于缓存系统应用情况,该方法可以由缓存系统来执行,该装置可采用硬件和/或软件的方式来实现。该方法具体包括如下步骤:
S110、当缓存模块配置为非一致性高速缓存时,一致性控制模块120不对一致性处理模块130进行无效处理;一致性处理模块130对缓存模块140进行一致性处理;
具体的,当缓存模块140配置为非一致性高速缓存时,一致性控制模块120不对一致性处理模块130进行无效处理,因此,数据流经过一致性处理模块130,由一致性处理模块130完成缓存一致性处理,缓存模块140仍可以正确执行读写操作,因此,缓存系统可控制一致性控制模块的功能,根据实际需求灵活改变芯片的缓存配置,从而实现正确功能,提高系统缓存配置的灵活性。
S120、当缓存模块配置为一致性高速缓存时,一致性控制模块120对一致性处理模块130进行无效处理。
具体的,当缓存模块140配置为一致性高速缓存时,一致性控制模块120对一致性处理模块130进行无效处理,因此可以忽略一致性处理模块130的功能,直接使数据流经过协议总线150到达缓存模块140,由于缓存模块140被配置为一致性高速缓存,因此可以利用缓存模块140完成一致性处理。若缓存模块140支持对下一致性处理,还可集成三级高速缓存,可极大的提升芯片的性能。
可选的,缓存模块140包括一致性控制单元141和一致性处理单元142;
方法包括:
当缓存模块140被配置为一致性高速缓存时,一致性控制单元141在一致性控制模块120对一致性处理模块130进行无效处理之后,不对一致性处理单元142进行无效处理;一致性处理单元142执行一致性处理。
具体的,一致性控制模块120对缓存一致性处理模块130进行无效处理,数据流经过协议总线150直接到达缓存模块140,此时对缓存模块140的应用有更多的选择,在支持缓存一致性的缓存模块140中,利用一致性控制单元141对一致性处理单元142进行无效处理,可以灵活的改变缓存模块140的配置类型。示例性的,配置过程为:当一致性控制模块120对其控制的一致性处理模块130进行无效处理,一致性控制单元141不用对其控制的一致性处理单元142进行无效处理,此时,缓存模块140可选用一些高性能的缓存,对下还可集成三级高速缓存。
可选的,当缓存模块140被配置为非一致性高速缓存时,一致性控制单元141在一致性控制模块120不对一致性处理模块130进行无效处理后,对一致性处理单元142进行无效处理。
具体的,当一致性控制模块120没有对其控制的一致性处理模块130进行无效处理时,则可选择一致性控制单元141对其控制的一致性处理单元142进行无效处理,以使一致性功能正确,此时缓存模块140只执行一些基本的读写操作。通过一致性控制模块120和一致性控制单元141的对其控制的一致性处理模块和一致性处理单元进行无效处理,可根据需求灵活的改变缓存的配置类型,提高系统配置灵活性。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种缓存系统,其特征在于,包括:至少两个处理内核、一致性控制模块、一致性处理模块和缓存模块;
所述处理内核通过协议总线与一致性控制模块连接;一致性控制模块分别与所述一致性处理模块和所述缓存模块连接;所述一致性处理模块与所述缓存模块连接;所述一致性处理模块用于当所述缓存模块配置为非一致性高速缓存时,对所述缓存模块进行一致性处理;所述一致性控制模块用于当所述缓存模块配置为一致性高速缓存时,对所述一致性处理模块进行无效处理。
2.根据权利要求1所述的缓存系统,其特征在于,所述缓存模块包括一致性控制单元和一致性处理单元;
所述一致性控制单元与所述一致性控制模块连接;所述一致性控制单元与所述一致性处理单元连接;当所述缓存模块配置为一致性高速缓存时,所述一致性控制单元用于在所述一致性控制模块对所述一致性处理模块进行无效处理之后,不对所述一致性处理单元进行无效处理;所述一致性处理单元用于执行一致性处理。
3.根据权利要求2所述的缓存系统,其特征在于,当所述缓存模块配置为非一致性高速缓存时,所述一致性控制单元用于在所述一致性控制模块不对所述一致性处理模块进行无效处理后,对所述一致性处理单元进行无效处理。
4.根据权利要求2-3任一项所述的缓存系统,其特征在于,所述协议总线为TileLink总线。
5.根据权利要求4所述的缓存系统,其特征在于,根据所述协议总线,所述缓存模块被配置为所述一致性高速缓存时,所述缓存模块设置有A通路、B通路、C通路、D通路和E通路。
6.根据权利要求1所述的缓存系统,其特征在于,还包括自定义输入输出模块;
所述自定义输入输出模块通过所述协议总线与所述处理内核连接。
7.根据权利要求1所述的缓存系统,其特征在于,还包括片上调试单元,所述片上调试单元通过所述协议总线与所述处理内核连接。
8.一种缓存系统的管理方法,由权利要求1-5任一所述的缓存系统执行,其特征在于,包括:
当所述缓存模块配置为非一致性高速缓存时,所述一致性控制模块不对所述一致性处理模块进行无效处理;所述一致性处理模块对所述缓存模块进行一致性处理;
当所述缓存模块配置为一致性高速缓存时,所述一致性控制模块对所述一致性处理模块进行无效处理。
9.根据权利要求8所述的缓存系统的管理方法,其特征在于,所述缓存模块包括一致性控制单元和一致性处理单元;
所述方法包括:
当所述缓存模块配置为一致性高速缓存时,所述一致性控制单元在所述一致性控制模块对所述一致性处理模块进行无效处理之后,不对所述一致性处理单元进行无效处理;所述一致性处理单元执行一致性处理。
10.根据权利要求9所述的缓存系统的管理方法,其特征在于,当所述缓存模块配置为非一致性高速缓存时,所述一致性控制单元在所述一致性控制模块不对所述一致性处理模块进行无效处理后,对所述一致性处理单元进行无效处理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211598805.1A CN115794670A (zh) | 2022-12-12 | 2022-12-12 | 一种缓存系统及其管理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211598805.1A CN115794670A (zh) | 2022-12-12 | 2022-12-12 | 一种缓存系统及其管理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115794670A true CN115794670A (zh) | 2023-03-14 |
Family
ID=85419719
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211598805.1A Pending CN115794670A (zh) | 2022-12-12 | 2022-12-12 | 一种缓存系统及其管理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115794670A (zh) |
-
2022
- 2022-12-12 CN CN202211598805.1A patent/CN115794670A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6746572B2 (ja) | ノンブロッキング高性能トランザクションクレジットシステムを備えるマルチコアバスアーキテクチャ | |
US6918012B2 (en) | Streamlined cache coherency protocol system and method for a multiple processor single chip device | |
JP3849951B2 (ja) | 主記憶共有型マルチプロセッサ | |
US7228389B2 (en) | System and method for maintaining cache coherency in a shared memory system | |
US7941610B2 (en) | Coherency directory updating in a multiprocessor computing system | |
JP4764360B2 (ja) | メモリ属性を用いるための技術 | |
CN101430664B (zh) | 一种多处理器系统及Cache一致性消息传输方法 | |
US8904045B2 (en) | Opportunistic improvement of MMIO request handling based on target reporting of space requirements | |
US20090006668A1 (en) | Performing direct data transactions with a cache memory | |
US10402330B2 (en) | Adaptive coherence for latency-bandwidth tradeoffs in emerging memory technologies | |
US7685373B2 (en) | Selective snooping by snoop masters to locate updated data | |
US10949292B1 (en) | Memory interface having data signal path and tag signal path | |
CN114580344A (zh) | 测试激励生成方法、验证方法、验证系统及相关设备 | |
US20220114098A1 (en) | System, apparatus and methods for performing shared memory operations | |
US7991966B2 (en) | Efficient usage of last level caches in a MCMP system using application level configuration | |
CN116049034A (zh) | 一种多核处理器系统的缓存一致性的验证方法及装置 | |
US20070073977A1 (en) | Early global observation point for a uniprocessor system | |
US6412047B2 (en) | Coherency protocol | |
US9372795B2 (en) | Apparatus and method for maintaining cache coherency, and multiprocessor apparatus using the method | |
US9448937B1 (en) | Cache coherency | |
US5652915A (en) | System for controlling mode of operation of a data cache based on storing the DMA state of blocks by setting the DMA state to stall | |
CN115794670A (zh) | 一种缓存系统及其管理方法 | |
US7073004B2 (en) | Method and data processing system for microprocessor communication in a cluster-based multi-processor network | |
US10482015B2 (en) | Ownership tracking updates across multiple simultaneous operations | |
US11048626B1 (en) | Technology to ensure sufficient memory type range registers to fully cache complex memory configurations |
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 |