用于相干及非相干存储器请求的仲裁方案制造技术

技术编号:34977820 阅读:18 留言:0更新日期:2022-09-21 14:19
系统中的处理器响应于具有多个条目的相干存储器请求缓冲器来存储来自客户端模块的相干存储器请求,且响应于具有多个条目的非相干存储器请求缓冲器来存储来自所述客户端模块的非相干存储器请求。所述客户端模块对相干存储器请求及非相干存储器请求进行缓冲,并基于所述处理器或其高速缓存中的一者的一个或多个条件来释放所述存储器请求。基于与所述相干存储器缓冲器相关联的第一水印以及与所述非相干存储器缓冲器相关联的第二水印,将所述存储器请求释放到中央数据结构并进入所述系统中。统中。统中。

【技术实现步骤摘要】
【国外来华专利技术】用于相干及非相干存储器请求的仲裁方案

技术介绍

[0001]为了高效利用计算机资源,服务器或其他处理系统可实施虚拟化计算环境,其中处理系统并发地执行多个虚拟机或访客端。将处理系统的资源以时分复用或其他仲裁的方式提供给访客端,使得资源对于每一访客端来说显现为专用的一组硬件资源。然而,访客端的并发执行会使每一访客端容易受到未经授权的访问。为了保护私有访客端信息,基于虚拟化的安全(VBS)及其他虚拟化安全机制对处理系统提出了安全要求,包括地址转译要求。举例来说,除了由访客端操作系统执行的地址转译以外,VBS要求管理程序或其他访客端管理器为虚拟寻址提供额外地址转译层。然而,这些地址转译需求可大大增加整个处理系统的存储器业务量,包括增加相干性探测业务量,由此非所期望地增加了系统的功率消耗,同时也降低了整体处理效率。
附图说明
[0002]通过参考附图,可更好地理解本公开,并且其众多特征及优点对所属领域的技术人员来说变得显而易见。在不同附图中使用相同参考符号指示类似或等同物品。
[0003]图1是根据一些实施方案的具有相干及非相干批量控制器的系统的框图。
[0004]图2是图解说明根据一些实施方案的用于相干转译请求的仲裁方案的方法的时序图。
[0005]图3是根据一些实施方案的单独的相干及非相干存储器带宽监视器的框图。
[0006]图4是图解说明根据一些实施方案的用于相干及非相干存储器请求的仲裁方案的方法的流程图。
[0007]图5是根据一些实施方案的图1的系统的处理器的框图。
[0008]图6是根据一些实施方案的相干及非相干控制器的框图。
[0009]图7是根据一些实施方案的支持多个直接存储器访问(DMA)客户端的客户端装置的框图。
[0010]图8是根据一些实施方案的地址转译系统的框图。
具体实施方式
[0011]图1到图8公开了用于通过针对相干及非相干存储器业务而实施单独缓冲器及水印阈值来管理处理系统的互连之上的存储器业务的技术。由此,处理系统以不同速率并取决于不同处理系统条件(例如接收业务的处理器核心是否处于低功率状态)来提供不同类型的业务(也就是说,相干及非相干请求)。通过这样做,可降低整体系统功率消耗并提高存储器性能。
[0012]为了进行图解说明,在一些实施方案中,处理系统采用互连在不同系统模块之间(例如在系统中的中央处理单元(CPU)、图形处理单元(GPU)与系统存储器之间)携载存储器业务,包括存储器访问请求及相干性探测。GPU是在系统中生成存储器请求的客户端模块或客户端装置的一个实例。存储器“请求”及“探测”在本文中被同义地使用,其中“探测”及“相
干性探测”的使用通常是指涉及确定特定存储器值(存储器位置中的数据)的相干性状态或者携载相干性状态连同用于读取及写入存储器活动的数据的存储器请求。广义上将存储器业务归为两个种类:需要在不同系统模块之间维持相干性的相干存储器业务;以及不需要维持相干性的非相干业务。举例来说,以CPU与GPU之间共享的页表为目标的存储器请求是相干业务,因为必须在CPU与GPU的本地高速缓存之间维持相干性,以确保执行程序的正常运行。相比来说,仅由GPU访问的目标帧缓冲器数据的存储器访问是非相干业务,因为其他系统模块不访问帧缓冲器数据。相干存储器业务趋向于生成若干个相干性探测,其中在访问给定的一组数据之前,系统模块的存储器控制器根据指定相干性协议来确定其他系统模块处的数据的相干性状态。然而,服务于这些相干性探测会消耗系统功率,例如通过要求CPU(或一个或多个其他模块)退出低功率状态以便服务于相干性探测。
[0013]为了降低功率消耗,处理系统施行通信协议,其中取决于CPU或其一部分的功率状态,以分组或“断续”方式将存储器业务提供给CPU。举例来说,当CPU处于低功率模式时,在知道或不知道低功率模式的情况下,处理系统将存储器业务保存在缓冲器中,直到阈值量的业务未决为止。阈值量在本文中称为“水印”或“水印阈值”。通过保存存储器业务直到达到水印为止,业务在CPU、高速缓存、互连等等处得到更高效处理。然而,因为非相干存储器业务不生成相干性探测,所以非相干存储器业务在随时间的功率消耗方面对CPU不具有相同影响,使得对非相干存储器业务使用较低水印级别更高效,如本文中进一步所描述。因此,使用本文中所描述的技术,处理系统对相干及不相干存储器业务采用不同缓冲器及对应不同水印,由此提高处理效率。对所有存储器业务使用传统共享构造会导致跨越客户端模块以及相干存储器业务与非相干存储器业务之间的性能降低,这就是为什么对个别类型业务的门控是针对每个客户端模块单独执行的原因。
[0014]图1是代表电子装置执行若干组指令(例如,计算机程序的指令、操作系统过程的指令)以执行任务的处理系统100的框图。因此,在不同实施方案中,将处理系统100合并到各种不同类型的电子装置中的一者中,例如桌上型计算机、膝上型计算机、服务器、智能手机、平板电脑、游戏控制台、电子书阅读器等等。为了支持对若干组指令的执行,处理系统100包括中央处理单元(CPU)110、系统存储器130、第一客户端模块140及第二客户端模块150。CPU 110是根据指定指令架构(例如x86架构或基于ARM的架构)来执行通用指令的处理单元。客户端模块140及150是代表CPU 110执行指定操作的模块,例如额外处理单元、引擎等等。举例来说,在一些实施方案中,客户端模块140是执行图形及矢量处理操作的图形处理单元(GPU),并且客户端模块150是代表其自身、CPU 110或一个或多个其他装置执行输入及输出操作的输入/输出(I/O)引擎。系统存储器130中的指令包括CPU指令133及GPU指令134中的一者或多者。
[0015]为了进一步支持指令的执行,处理系统100包括具有若干个层级的存储器阶层,其中每一层级对应于不同的一组存储器模块。在所图解说明的实例中,存储器阶层包括系统存储器130及CPU 110处的第三层级(L3)高速缓存112。在一些实施方案中,存储器阶层包括额外层级,例如在CPU 110及客户端模块140、150中的一者或多者处的第一层级(L1)高速缓存及第二层级(L2)高速缓存。
[0016]为了访问存储器阶层,装置(CPU 110及客户端模块140、150中的任一者)生成存储器访问请求,例如将数据写入到存储器位置的写入请求或者从存储器位置检索数据的读取
请求。每一存储器访问请求包括指示请求所针对的数据的存储器位置的存储器地址。在一些实施方案中,利用虚拟地址来生成存储器请求,所述虚拟地址指示由正被执行的计算机程序使用的虚拟地址空间中的存储器位置。如本文中进一步所描述,处理系统100将虚拟地址转译成物理地址,以识别及访问存储请求所针对的数据的物理存储器位置。为了处理存储器访问请求,CPU 110包括存储器控制器113,并且系统存储器130包括存储器控制器131。类似地,客户端模块140及150包括可操作以处理存储器访问请求的存储器管理器145及155。
[0本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种处理器,其包括:相干存储器请求缓冲器,其具有用以存储来自客户端模块的相干存储器请求的多个条目;非相干存储器请求缓冲器,其具有用以存储来自所述客户端模块的非相干存储器请求的多个条目;及所述客户端模块,其被配置为:在所述相干存储器请求缓冲器中对相干存储器请求进行缓冲;在所述非相干存储器请求缓冲器中对非相干存储器请求进行缓冲;且基于与所述相干存储器请求缓冲器相关联的第一水印以及与所述非相干存储器请求缓冲器相关联的第二水印,将多个所述请求从所述相干存储器请求缓冲器及所述非相干存储器请求缓冲器中的一者释放到中央数据结构及系统中的一者,所述第一水印不同于所述第二水印。2.根据权利要求1所述的处理器,其中所述客户端模块被进一步配置为:接收处理器核心处于指定功率状态的指示;且基于所述接收的指示,开始对所述相干存储器请求进行缓冲并对所述非相干存储器请求进行缓冲。3.根据权利要求1或2所述的处理器,其进一步包括:客户端模块存储器;一组存储器地址表;及存储器管理器,其用作表遍历器,所述表遍历器用于使用所述一组存储器地址表将所述相干存储器请求及所述非相干存储器请求中的至少一者的客户端模块虚拟存储器地址转译成所述客户端模块存储器的物理客户端模块存储器地址。4.根据前述权利要求中任一项所述的处理器,其中:所述非相干存储器请求包括非相干预取存储器请求。5.根据前述权利要求中任一项所述的处理器,其中:将基于与基于虚拟化的安全(VBS)机制相关联的第一存储器地址转译及第二存储器地址转译来转译所述非相干存储器请求中的每一者。6.根据前述权利要求中任一项所述的处理器,其中所述客户端模块被进一步配置为:当以下各项中的至少一者时释放所述多个请求:所述第一水印指示所述相干存储器请求缓冲器中的第一数目的经缓冲相干存储器请求超过相干水印阈值;及所述第二水印指示在接收到处理器核心处于低功率状态的信号之后,所述非相干存储器请求缓冲器中的第二数目的经缓冲非相干存储器请求超过非相干水印阈值。7.根据前述权利要求中任一项所述的处理器,其中所述客户端模块被进一步配置为:基于相干存储器请求活动的量,限制从所述相干存储器请求缓冲器释放的相干存储器请求的数目。8.一种系统,其包括:相干存储器请求缓冲器,其具有用以存储来自客户端模块的相干存储器请求的多个条目;
非相干存储器请求缓冲器,其具有用以存储来自所述客户端模块的非相干存储器请求的多个条目;及所述客户端模块,其被配置为:在所述相干存储器请求缓冲器中对相干存储器请求进行缓冲;在所述非相干存储器请求缓冲器中对非相干存储器请求进行缓冲;相对于相干水印阈值来监视所述相干存储器请求缓冲器中的相干存储器请求的相干水印;相对于非相干水印阈值来监视所述非相干存储器请求缓冲器中的非相干存储器请求的非相干水印;且基于所述相干水印及所述非相干水印,在同一批量中释放来自所述非相干存储器请求缓冲器的第一组非相干存储器请求以及来自所述相干存储器请求缓冲器的第二组相干存储器请求。9.根据权利要求8所述的系统,其中所述客户端模块被进一步配置为:响应于指...

【专利技术属性】
技术研发人员:索努
申请(专利权)人:超威半导体公司
类型:发明
国别省市:

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

1