在计算系统内刷新快取内容的方法与用于刷新快取内容的系统技术方案

技术编号:18083752 阅读:36 留言:0更新日期:2018-05-31 12:19
本发明专利技术提供一种在计算系统内刷新快取内容的方法与用于刷新快取内容的系统。本发明专利技术提供一种在计算系统内刷新快取内容的方法,该计算系统包含多个簇,每个簇包含多个处理器,该方法包含:通过一快取维护硬件引擎从一处理器接收一请求,来刷新该快取内容到存储器;通过该快取维护硬件引擎产生命令,来刷新该快取内容,以从该多个处理器移除产生该多个命令的工作负荷;以及发送该多个命令给该多个簇,其中每个命令指定一物理地址,该物理地址标示要被刷新的一快取线。本发明专利技术的在计算系统内刷新快取内容的方法与用于刷新快取内容的系统能够减少快取刷新导致的延迟。

【技术实现步骤摘要】
在计算系统内刷新快取内容的方法与用于刷新快取内容的系统
本专利技术的实施例是关于一种计算系统内的存储器管理,更具体地,是关于多核计算系统内的快取刷新机制(cacheflushingmechanism)。
技术介绍
在一个多核计算系统内,每个核心都具有自己的快取来储存数据的拷贝,这份数据也储存在系统存储器内。一个快取是一个比系统存储器更小、更快的存储器,一般位于处理器的同个芯片上。快取通过降低芯片外存储器存取而提升系统性能。大多数处理器有独立的指令快取与数据快取。数据快取一般具有多级的层级组织,更小更快的快取有更大更慢的快取作为后备。一般来说,在存取到芯片外的系统存储器之前,多级快取的存取首先检查最快的level-1(L1)快取;如果L1有错失/没命中(miss),然后检查下个次快的level-2(L2)快取,如此继续。一个常用的快取维护策略叫做“回写(write-back)”策略。在回写策略中,处理器只更新在本地快取中的数据项目。对系统存储器的写入被延迟到包含数据项目的快取线(cacheline)要被另一个快取线替代的时候。在回写操作之前,快取内容可能会比保存在系统存储器中的内容较新且不一致。快取与系统存储器之间的数据一致性可以通过将快取中的内容刷新(即回写)到系统存储器中实现。除了快取线替代,快取线可根据快取刷新命令回写到系统存储器中。在直接存储器(direct-memoryaccess,DMA)设备存取要求一个区块的数据时需要快取刷新,例如当视频处理器上运行的多媒体应用想要从系统存储器读取最新数据时。可是,需要存储器数据的应用可能需要等待快取刷新操作完成。所以,快取刷新导致的延迟影响了用户的体验。因此,需要改善快取刷新的性能。
技术实现思路
因此,本专利技术为了解决快取刷新导致的延迟的技术问题,特提供一种新的在计算系统内刷新快取内容的方法与用于刷新快取内容的系统。本专利技术提供一种在计算系统内刷新快取内容的方法,该计算系统包含多个簇,每个簇包含多个处理器,该方法包含:通过一快取维护硬件引擎从一处理器接收一请求,来刷新该快取内容到存储器;通过该快取维护硬件引擎产生命令,来刷新该快取内容,以从该多个处理器移除产生该多个命令的工作负荷;以及发送该多个命令给该多个簇,其中每个命令指定一物理地址,该物理地址标示要被刷新的一快取线。本专利技术另提供一种用于刷新快取内容的系统,该系统包含:多个簇,每个簇包含多个处理器与多个快取;存储器,通过快取一致性互连耦接到该多个簇;以及快取维护硬件引擎,用于:从该多个处理器中的一个接收请求来刷新该快取内容到该存储器;产生多个命令来刷新该快取内容,从而从该多个处理器移除产生该多个命令的工作负荷;以及发送该多个命令或使该多个命令发送到该多个簇,每个命令指定一个物理地址,该物理地址标示要被刷新的一快取线。本专利技术的在计算系统内刷新快取内容的方法与用于刷新快取内容的系统能够减少快取刷新导致的延迟。本专利技术的这些及其他的目的对于本领域的技术人员来说,在阅读了下述优选实施例的详细说明以后是很容易理解和明白的,所述优选实施例通过多幅图予以揭示。附图说明图1显示根据本专利技术一实施例的多处理器计算系统100的结构示意图。图2显示根据本专利技术一实施例的产生快取刷新命令的方法200的流程图。图3显示根据本专利技术另一实施例的多处理器计算系统300的结构示意图。图4显示根据本专利技术另一实施例的产生快取刷新命令的方法400的流程图。图5A显示确定一个给定物理地址是否存在探听过滤器380中的例子。图5B显示探听过滤器380的另一例子。图5C显示探听过滤器380的又一例子。图6显示根据本专利技术一实施例的整个系统刷新的方法600的流程图。图7显示根据本专利技术一实施例的计算系统内快取刷新的方法700的流程图。具体实施方式本说明书及权利要求书使用了某些词语代指特定的组件。本领域的技术人员可理解的是,制造商可能使用不同的名称代指同一组件。本文件不通过名字的差别,而通过功能的差别来区分组件。在以下的说明书和权利要求书中,词语“包括”是开放式的,因此其应理解为“包括,但不限于...”。需要注意的是,这里描述的“多核处理器计算系统”是一个“多核心处理器系统”。在一个实施例中,每个处理器可包含一个或多个核心。在另一个实施例中,每个处理器等同于一个核心。这里的处理器可包含中央处理器(CPU),图像处理器(GPU),数字信号处理器(DSP),多媒体处理器,以及任何可存取系统存储器的处理器。一个簇(cluster)可实施为包含一个或多个处理器的一组处理器。需要注意的是,这里的术语“快取刷新”是指把脏的(即修改过的)快取数据条目(cachedataentries)写入到系统存储器内。这里的术语“系统存储器”等于主存储器,例如动态随机存取存储器(DRAM)或其他易失性或非易失性存储器设备。快取数据条目在被回写到系统存储器之后可被标记为无效(invalidated)或分享的(shared),这取决于系统的具体实施。快取线(cacheline)指快取中一个固定尺寸的数据区块,这是一个系统存储器与快取之间数据传输的基本单元。在一个实施例中,系统存储器的物理地址可包含第一部分与第二部分。一个快取线可通过系统存储器物理地址的第一部分来示别(identify)。系统存储器物理地址的第二部分(也被叫做偏移)可标示快取线内的一个数据字节。在后面的说明中,与快取维护操作(cachemaintenanceoperations)有关的术语“物理地址”是指系统存储器物理地址的第一部分。系统存储器物理地址的第一部分与第二部分的比特数量可以因系统不同而不同。本专利技术的实施例提供一种快取维护硬件引擎(也被叫做快取维护(cachemaintenance,CM)引擎)来有效将快取内容刷新到系统存储器中。CM引擎是一个专用的硬件单元,用来执行快取维护操作,包含产生命令来刷新快取内容。当一个处理器或在处理器上运行的应用决定刷新快取内容时,处理器发送一个请求给CM引擎。根据该请求,CM引擎产生命令来刷新快取内容,一次一个快取线,使得产生命令的工作负荷从处理器移除。处理器的请求可指示一个范围的物理地址被从快取刷新,或者指示所有快取都全被刷新。当CM引擎产生命令时,处理器可继续执行有用的任务而不需要等待命令产生并发出。图1显示根据本专利技术一实施例的多处理器计算系统100的结构示意图。计算系统100包含一个或多个簇110,每个簇110还包含一个或多个处理器112。每个簇110可通过快取一致性互连(cachecoherenceinterconnect,CCI)140与存储器控制器150连接来存取系统存储器130。在一些实施例中,不同的簇110可包含不同类型的处理器112。在一个实施例中,CCI140与存储器控制器150之间的通信链接,以及存储器控制器150与系统存储器130之间的通信链接,使用高性能、高时钟频率的协议;例如先进可扩展接口(AdvancedeXtensibleInterface,AXI)协议。在一个实施例中,所有的簇110使用支持系统广泛一致性(systemwidecoherency)的协议与CCI140通信,例如AXI一致性扩展(AXICoherencyExtensions,ACE)协议本文档来自技高网
...
在计算系统内刷新快取内容的方法与用于刷新快取内容的系统

【技术保护点】
一种在计算系统内刷新快取内容的方法,该计算系统包含多个簇,每个簇包含多个处理器,该方法包含:通过一快取维护硬件引擎从一处理器接收一请求,来刷新该快取内容到存储器;通过该快取维护硬件引擎产生命令,来刷新该快取内容,以从该多个处理器移除产生该多个命令的工作负荷;以及发送该多个命令给该多个簇,其中每个命令指定一物理地址,该物理地址标示要被刷新的一快取线。

【技术特征摘要】
2016.11.22 US 62/425,168;2017.06.12 US 15/620,7941.一种在计算系统内刷新快取内容的方法,该计算系统包含多个簇,每个簇包含多个处理器,该方法包含:通过一快取维护硬件引擎从一处理器接收一请求,来刷新该快取内容到存储器;通过该快取维护硬件引擎产生命令,来刷新该快取内容,以从该多个处理器移除产生该多个命令的工作负荷;以及发送该多个命令给该多个簇,其中每个命令指定一物理地址,该物理地址标示要被刷新的一快取线。2.如权利要求1所述的在计算系统内刷新快取内容的方法,其特征在于,该请求指定要被刷新的物理地址范围,该方法还包含:通过该快取维护硬件引擎发送每个命令给该多个簇的一个或多个,其中每个命令指定该物理地址范围内的一个物理地址。3.如权利要求1所述的在计算系统内刷新快取内容的方法,其特征在于,发送该多个命令的步骤还包含:回应于一个命令指定的给定物理地址在探听过滤器内的确定,发送该命令给包含由该给定物理地址标示的该快取线的对应的一个或多个簇,其中该探听过滤器是连接该快取到该存储器的快取一致性互连的一部分。4.如权利要求3所述的在计算系统内刷新快取内容的方法,其特征在于,发送该多个命令的步骤还包含:通过该探听过滤器从该快取维护硬件引擎接收该多个命令;以及通过该探听过滤器仅转发指定在该探听过滤器中储存的物理地址的该多个命令。5.如权利要求3所述的在计算系统内刷新快取内容的方法,其特征在于,发送该多个命令的步骤还包含:通过该探听过滤器中的多个过滤器库从该快取维护硬件引擎接收该多个命令,每个过滤器库负责该存储器的一部分物理地址空间;以及通过并行的该多个过滤器库仅转发指定在该多个过滤器库中储存的物理地址的该多个命令。6.如权利要求1所述的在计算系统内刷新快取内容的方法,其特征在于,发送该多个命令的步骤还包含:通过该快取维护硬件引擎,存取探听过滤器内储存的物理地址,其中该探听过滤器是连接该多个簇到该存储器的快取一致性互连的一部分;以及发送指定该探听过滤器中储存的一个物理地址的命令,以回应于该储存的物理地址落入由该请求指定的物理地址范围内的确认。7.如权利要求1所述的在计算系统内刷新快取内容的方法,其特征在于,该请求指定整个系统刷新,该方法更包含:通过该快取维护硬件引擎存取在该探听过滤器内储存的物理地址,其中该探听过滤器是连接该多个簇到该存储器的快取一致性互连的一部分;发送该多个命令来刷新由该储存的物理地址标示的该快取内容。8.如权利要求1所述的在计算系统内刷新快取内容的方法,其特征在于,该快取维护硬件引擎是该多个处理器中至少一个的协处理器,并位于该多个簇中的至少一个内。9.如权利要求1所述的在计算系统内刷新快取内容的方法,其特征在于,该快取维护硬件引擎是快取一致性互连的一部分。10.如权利要求1所述...

【专利技术属性】
技术研发人员:吴明儒林建宏许嘉豪萧丕承王绍宇
申请(专利权)人:联发科技股份有限公司
类型:发明
国别省市:中国台湾,71

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

1