用于缓存一致性的可重构的缓存架构及方法技术

技术编号:24179231 阅读:31 留言:0更新日期:2020-05-16 05:51
本发明专利技术提供一种用于在一可重构的缓存架构中的缓存一致性的方法。所述方法包括:接收一存储器存取命令,其中所述存储器存取命令包括一存储器的至少一地址,以便进行存取;基于所述存储器存取命令来确定至少一存取参数;及部分基于所述至少一存取参数及所述地址来确定一目标缓存箱,所述目标缓存箱用于服务所述存储器存取命令。

A reconfigurable cache architecture and method for cache consistency

【技术实现步骤摘要】
【国外来华专利技术】用于缓存一致性的可重构的缓存架构及方法相关申请的交叉引用本申请主张2017年8月3号提交的美国临时申请第62/540,854号的权益,其内容通过引用并入本文中。
本公开通常有关于多个存储器架构,更具体地,是有关于多个被嵌入的计算架构及多个可重构的计算架构。
技术介绍
在具有用于各个处理器的一单独的缓存存储器的一共享的存储器多核心处理器中,可具有许多共享数据的副本:在主要存储器中的一副本,及在每个处理器的一本地缓存中的一副本,所述处理器请求所述数据的一副本。当所述多个数据副本的其中一个被改变时,其他的副本必须反映此改变。缓存一致性为需要多个本地缓存的共享资源数据的均匀性。当在一系统中的多个客户端(例如,多个处理器核心)维持一共用的存储器资源的多个本地缓存时,不一致的数据可能会产生多个问题,例如,所述多个本地缓存具有一单一地址位置的不同数值。图1显示出用于实施缓存一致性的一示例性常规架构100。每个处理器核心110-1至110-M(为了多个简化目的,下文个别称为一处理器核心110,并统称为多个处理器核心110)与一对应的本地缓存120-1至120-M(为了多个简化目的,下文个别称为一本地缓存120,并统称为多个本地缓存120)有关。所有的核心处理器110及它们对应的本地缓存120均存取了一共享的存储器130。由于所述存储器130是通过所述多个处理器核心110(及它们各自的本地缓存120)来被共享,因此在存取所述共享的存储器130时,为了加速数据的存取,一处理器核心(例如所述核心110-1)通常需要将一数据块从所述共享的存储器130复制到其本身的缓存(例如所述缓存120-1)。当多个处理器核心110存取所述共享的存储器130时,在所有的这种处理器核心110的所述多个本地缓存120中存在有所述共享的存储器130中的所述数据块的一副本。为了维持所述多个副本的一致性,需要一缓存一致性机构(CCM)来管理数据共享。具体地,当在一共享的数据块或所述共享的数据块的一副本上进行一写入(或存储)运作时,一写入无效的运作被发送至存储有所述共享的数据块的一副本的一处理器核心110,以避免一数据不一致的问题。为了维持缓存一致性,所述机构125记录一数据块(或一数据块间隔)的一缓存状态。所述数据块(或所述数据块间隔)的所述缓存状态可包括所述数据块(或所述数据块间隔)的一存取类型或一共享者。在多个常规架构中所利用的所述缓存一致性机构125以一管线的方式来运作。如此一来,很大部分的处理时间花费在将数据从所述存储器130的一区域移动至所述(多个)本地缓存120,以及从一本地缓存120移动至另一个本地缓存。另外,图1所显示的缓存的所述常规架构本质上为静态的,因此,由于所述静态的管线运作无法绝对符合每个用例,因此会发生某些效率低下的情况。通过使用一可重构的缓存架构也可解决一共享的存储器资源的限制。通常,这种架构在硬件级别上支持动态的缓存划分。一重构的缓存架构通程被设计用以允许多个核心处理器动态地分配缓存资源,同时保证在多个即时任务之间的严格的缓存隔离。多个可重构的缓存架构的主要目标在于通过使用直接的寻址映射来降低功率。然而,这种架构无法改善存储器存取的延迟时间。因此,提供一种克服上述的多个缺陷的一处理架构将是有利的。
技术实现思路
以下为本公开的多个示例实施例的一概述。提供此概述是为了方便读者提供对这样的实施例的一基本理解,并且不完全限定本公开的广度。此概述并非所有预期的实施例的一详尽的概述,并且既不旨在辨识所有实施例的关键或重要的元件,也不旨在描绘任何或所有方面的范围。其唯一的目的在于以简化的形式呈现出一个或多个实施例的一些概念,以作为之后呈现出的更详细的描述的一序言。为了方便起见,术语“一些实施例”在本文中可用来指本公开的一单一的实施例或多个实施例。本文所公开的一些实施例包括一种用于在一可重构的缓存架构中的缓存一致性的方法。所述方法包含:接收一存储器存取命令,其中所述存储器存取命令包括一存储器的至少一地址,以便进行存取;基于所述存储器存取命令来确定至少一存取参数;及部分基于所述至少一存取参数及所述地址来确定一目标缓存箱(cachebin),所述目标缓存箱用于服务所述存储器存取命令。本文所公开的一些实施例包括一种可重构的缓存架构,所述可重构的缓存架构包含:一存储器;及多个缓存节点,耦接至所述存储器,其中每个缓存节点被划分成多个缓存箱,其中基于一存取参数来确定对所述多个缓存箱的任何缓存箱的存取。附图说明在说明书的结论处的多个权利要求中特别指出且明确地要求保护本文所公开的主题。通过以下与多个附图结合的详细描述,本专利技术的前述及其他的目的、特征及优势将变得显而易见。图1为展示出一常规的缓存一致性架构的一示意图;图2为根据一实施例的一可重构的系统架构的一示意图;图3A至3C为根据一实施例的一可重构的缓存架构的多个示意图;图4为根据一实施例的耦接至一可重构的缓存架构的多个I/O外围单元的一示意图;及图5为根据一实施例说明了一种用于一可重构的缓存中的一缓存一致性的方法的一流程图。具体实施方式一般而言,在本申请的说明书所做出的多个陈述不一定限制各种要求保护的实施例中的任何一个。并且,一些陈述可适用于一些专利技术特征,但不适用于其他特征。通常,除非另有指示,否则单数元件可为复数形式,反之亦然,而不会失去一般性。在多个附图中,相似的数字指的是通过多个视图的相似的部分。图2说明根据一实施例的一处理架构200的一示例示意图,所述示例示意图展示出一可重构的缓存的运作。在一实施例中,所述处理架构200包括一处理电路210,所述处理电路通过一接口或总线240来耦接至一存储器220。一输入/输出(IO)及多个外围单元230也连接至所述接口或总线240,以便允许多个特定的功能、对多个外部元件的存取,或两者兼具。所述I/O及多个外围单元230可与一外围组件互连(PCI),或PCI快速(PCIExpress(PCIe))总线、多个协处理器、多个网络控制器等接合(未显示)。应当理解的是,PCIe总线能够连接至其他的外围装置。所述存储器220耦接至多个缓存节点225-1至225-n(为了多个简化目的,下文个别称为一缓存节点,并统称为多个缓存节点)。每个缓存节点225配置用以存储通过所述处理电路210所处理过的数据,并将数据加载至所述处理电路210。通常,通过多个存储器存取命令,例如存储(或写入)、加载(或读取),来对所述多个缓存节点225进行存取。通过使用高速静态RAM(SRAM)、动态RAM(DRAM)等可实现每个缓存节点225。在一实施例中,每个缓存节点225可被逻辑地划分成多个缓存箱(cachebin)(图2中未显示),如以下在本文中所详细讨论。所述处理电路210可为任何的处理装置或计算装置,例如,但不限于,一中央处理单元(CPU)、一现场可编程门阵列(FPGA)、一图形处理单元(GPU)、一本文档来自技高网
...

【技术保护点】
1.一种用于在一可重构的缓存架构中的缓存一致性的方法,其特征在于:所述方法包含︰/n接收一存储器存取命令,其中所述存储器存取命令包括一存储器的至少一地址,以便进行存取;/n基于所述存储器存取命令来确定至少一存取参数;及/n部分基于所述至少一存取参数及所述地址来确定一目标缓存箱,所述目标缓存箱用于服务所述存储器存取命令。/n

【技术特征摘要】
【国外来华专利技术】20170803 US 62/540,8541.一种用于在一可重构的缓存架构中的缓存一致性的方法,其特征在于:所述方法包含︰
接收一存储器存取命令,其中所述存储器存取命令包括一存储器的至少一地址,以便进行存取;
基于所述存储器存取命令来确定至少一存取参数;及
部分基于所述至少一存取参数及所述地址来确定一目标缓存箱,所述目标缓存箱用于服务所述存储器存取命令。


2.如权利要求1所述的方法,其特征在于:所述目标缓存箱为至少一缓存代码的至少一部分。


3.如权利要求1所述的方法,其特征在于:所述可重构的缓存架构包括多个缓存节点,所述多个缓存节点耦接至所述存储器,其中每个缓存节点被划分成多个缓存箱,其中所述目标缓存箱为所述多个缓存箱的其中一个。


4.如权利要求3所述的方法,其特征在于:每个缓存箱被包括在所述多个缓存节点的一个别的缓存节点中。


5.如权利要求3所述的方法,其特征在于:所述方法进一步包含:
基于对所述缓存节点的个别的所述多个缓存箱的利用来动态地将每个缓存节点划分成至少两个缓存箱。


6.如权利要求5所述的方法,其特征在于:所述方法进一步包含:
将每个缓存节点初始划分成一预定数量的缓存箱;
相对于每个缓存箱的使用来收集统计资料;及
基于所述收集到的统计资料来将每个缓存节点的所述初始划分进行重新配置。


7.如权利要求6所述的方法,其特征在于:在每次执行迭代之后,对每个缓存节点的所述划分进行所述重新配置。


8.如权利要求6所述的方法,其特征在于:所述方法进一步包含:
动态地将更多的缓存存储分配给所述多个缓存箱的至少一个。


9.如权利要求1所述的方法,其特征在于:所述至少一存取命令包括以下任一个的一单一标识:一物理实体及一逻辑实体。


10.如权利要求9所述的方法,其特征在于:所述物理实体为以下任一种:一处理核心或所述存储器的一共享部分。


11.如权利要求10所述的方法,其特征在于:所述逻辑实体为以下任一种:一进程或一线程。


12.如权利要求9所述的方法,其特征在于:所述至少一存取参数包括以下至少一种:一进程ID、一处理核心ID、一线程ID或一缓存箱。


13.如权利要求12所述的方法,其特征在于:所述确定进一步包含:
确定所述存储器存取命令是否与一逻辑实体有关;及
当确定所述存储器存取命令与一逻辑实体有关时,将所述存取参数设置为一逻辑实体标识符。


14.如权利要求12所述的方法,其特征在于:所述确定进一步包含:
确定所述存储器存取命令是否与一物理实体有关;及
当确定所述存储器存取命令与一物理实体有关时,将所述存取参数设置为一物理实体标识符。


15.如权利要求13所述的方法,其特征在于:所述方法进一步包含:
确定至少一...

【专利技术属性】
技术研发人员:埃拉德·拉兹
申请(专利权)人:涅克斯硅利康有限公司
类型:发明
国别省市:以色列;IL

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1