处理器及其操作方法、以及计算机可读存储介质技术

技术编号:13380250 阅读:27 留言:0更新日期:2016-07-21 11:38
一种处理器,包含多个处理核与由该多个处理核共用的一快取存储器。该快取存储器包含一合并引擎,用以自该多个处理核中的各个处理核接收一个别请求,并据此执行与该快取存储器相关的一操作。该合并引擎将来自该多个处理核中两个或更多个处理核的多个个别请求合并为一合并后请求。该合并引擎通过执行一单一操作来执行该合并后请求,并于该单一操作完成时,通知该多个处理核中的两个或更多个处理核,其个别请求已经完成。

【技术实现步骤摘要】
【国外来华专利技术】处理器及其操作方法、以及计算机可读存储介质交叉引用相关的申请本申请主张申请日为2014年9月18日的美国专利第62/052,387号临时申请的国际优先权。该优先权的全文并入本申请以供参考。
本专利技术关于一种处理器及其操作方法,特别是关于一种适用于管理快取存储器合并请求的处理器及其操作方法。
技术介绍
近年来,随着快取存储器快取空间规格的增加,执行快取存储器管理操作所需要的时间愈来愈长。举例而言,对快取空间规格为四百万字节的大型快取存储器执行一个回写无效(writebackinvalidation)操作所需要的时间可能长到对该快取存储器的处理器的其他运作带来干扰。在由多个处理核共用一快取存储器的情况下,若该些处理核在短时间内提出多个快取存储器管理操作请求,上述干扰会更加恶化。此外,对现行处理器来说,诊断错误非常的困难,要诊断与快取存储器相关的错误尤其困难。原因在于,快取存储器中可能储存有大量且相当复杂的数据,尤其是在多个处理核共用快取存储器的情况。一般而言,开发人员可用的主要除错工具为设计处理器时所用的模拟软件或模拟器。开发人员可将处理器(包含快取存储器)的初始状态提供给模拟器。根据此初始处理器状态,模拟器开始执行一目标程序,直到出现程序漏洞。开发人员得以回顾模拟器的执行历史记录来判断何时发生错误,以及是哪一个元件导致错误。
技术实现思路
本专利技术的一范畴在于提供一种处理器。该处理器包含多个处理核以及由该多个处理核共用的一快取存储器。该快取存储器包含一合并引擎,用以自该多个处理核中的各个处理核接收一个别请求,并据此执行与该快取存储器相关的一操作。该合并引擎将来自该多个处理核中两个或更多个处理核的多个个别请求合并为一合并后请求。针对该合并后请求,该合并引擎执行一单一操作,并于该单一操作完成时,个别通知该多个处理核中的两个或更多个处理核,其个别请求已经完成。本专利技术的另一范畴在于提供用于一处理器的操作方法。该处理器具有多个处理核与一快取存储器。该快取存储器由该多个处理核共用。该方法包含利用该快取存储器自该多个处理核中的各个处理核接收一个别请求,以执行相关于该快取存储器的一操作。该方法亦包含合并来自该多个处理核中的两个或更多个处理核的该些个别请求为一合并后请求。该方法亦包含通过执行一单一操作以执行该合并后请求,以及于该单一操作完成时,个别通知该多个处理核中的两个或更多个处理核,其个别请求已经完成。本专利技术的另一范畴在于提供一计算机程序产品。该计算机程序产品被编码于供运算装置使用的至少一非暂态计算机可使用介质中。该计算机程序产品包含储存于该介质中用以配合一处理器的计算机可使用程序码。该计算机可使用程序码包含用以配合多个处理核的第一程序码,以及用以配合该多个处理核共用的一快取存储器的第二程序码。该快取存储器包含一合并引擎,用以自该多个处理核中的各个处理核接收一个别请求,并执行相关于该快取存储器的一操作。该合并引擎合并来自该多个处理核中的两个或更多个处理核的该些个别请求为一合并后请求。为执行该合并后请求,该合并引擎执行一单一操作,并于该单一操作完成时个别通知该多个处理核中的两个或更多个处理核,其个别请求已经完成。附图说明图1呈现一处理器的功能方块图。图2呈现图1中的系统总线的局部功能方块图。图3呈现图1中的末级快取存储器中的一快取项目的示意图。图4根据一集合相联实施例呈现图1中的末级快取存储器中的一集合的示意图。图5为图1中的末级快取存储器呈现一个更详细的功能方块图。图6呈现图5中的合并引擎请求表的一示意图。图7呈现图1中的处理器的一操作流程图。图8呈现图1中的处理器在另一实施例中的操作流程图。图9呈现图1中的处理器于执行图7、图8中步骤706的诊断回写程序其流程的更多操作细节。图10呈现图1中的处理器于一实施例中将末级快取存储器的一快取项目写至总线的操作细节。图11呈现图1中的处理器于另一实施例中将末级快取存储器的一快取项目写至总线的操作细节。图12呈现图1中的处理器自一核/服务处理器接收一请求并可能将该请求与来自其他核/服务处理器的请求进行合并的操作流程图。图13呈现图1中的处理器于执行一请求时的操作流程图。图14呈现图1中的处理器于一处理核取消一合并引擎请求时的操作流程图。图15为当一处理核取消所有对于合并引擎的请求时图1中的处理器的运作流程图。具体实施方式以下将以实施例说明根据本专利技术的处理器如何执行一诊断回写程序,其中,该处理器的一快取存储器在未令其快取列状态无效的状况下将其所有的标签与快取列状态写出至一系统总线。此程序有助于为处理器(尤其是快取存储器)除错及/或增进其效能。图1呈现一处理器100的功能方块图。处理器100为一多核处理器,其中包含多个处理核102、一总线接口单元108与一共用的末级快取存储器106。于图1的实施例中,处理器100包含四个处理核,分别被标示为处理核0102-0、处理核1102-1、处理核2102-2、处理核3102-3,以下统称处理核102。处理核0102-0、1102-1、2102-2、3102-3各自通过接口112-0、112-1、112-2、112-3(统称接口112)存取末级快取存储器106。总线接口单元108则是通过接口112-4存取末级快取存储器106。处理器100为一较大运算系统(未绘示)的一部分,该运算系统可包含系统存储器与周边装置(亦未绘示);末级快取存储器106可通过总线接口单元108、系统总线124与该运算系统沟通。虽然图1所绘示的处理器100包含四个处理核102,本专利技术的概念可应用于包含其他数量的处理核102的实施例,并令该些处理核102皆共用末级快取存储器106。处理核0102-0、1102-1、2102-2、3102-3各自包含一私有快取存储器104-0、104-1、104-2、104-3(统称私有快取存储器104)。在一实施例中,私有快取存储器104小于末级快取存储器106且具有相对较短的存取延迟。于一实施例中,私有快取存储器104包含一第一级(level-1)指令快取存储器与一第一级数据快取存储器。处理核102可包含但不限于下列功能单元:指令取得单元、分支指令预测单元、指令解码器、指令转译器、微指令/结构式/非结构式暂存器集合、重新命名单元、重新排序暂存器、保留站、指令发送器,以及多个执行单元。该多个执行单元可包含整数运算单元、浮点运算单元、介质单元、分支单元、载入单元与储存单元。多种微架构可被包含在处理核102内。举例而言,处理核102可为超纯量(superscalar)处理器或纯量处理器,可依序或不依序执行指令。于一实施例中,处理核102大致符合x86指令集架构。须说明的是,处理核102不限于特定指令集架构,且可包含其他存储器请求代理电路,例如绘图处理单元(GPU)或可规划化逻辑门阵列(fieldprogrammablegatearray,FPGA)。各处理核102的微指令包含除错程序,以下称追踪程序。追踪程序可响应于多种事件针对各处理核102启动,例如:(1)一处理核102停止响应,亦即该处理核102被占用但经过多个时脉周期皆未响应任何指令;(2)一处理核102自存储器中的不可快取的区域载入数据;(3)处理器100发生温度变化;(4)操作本文档来自技高网...

【技术保护点】
一种处理器,包含:多个处理核;以及一快取存储器,由该多个处理核共用,其中该快取存储器包含一合并引擎,用以自该多个处理核中的各个处理核接收一个别请求,并据此执行与该快取存储器相关的一操作;其中该合并引擎将来自该多个处理核中两个或更多个处理核的多个个别请求合并为一合并后请求,该合并引擎通过执行一单一操作来执行该合并后请求,并于该单一操作完成时,通知该多个处理核中的两个或更多个处理核其个别请求已经完成。

【技术特征摘要】
【国外来华专利技术】2014.09.18 US 62/052,3871.一种处理器,包含:多个处理核;以及一集合相联快取存储器,具有多个关联路且由该多个处理核共用,其中该快取存储器包含一合并引擎,该合并引擎用以接收来自该多个处理核中的各个处理核的各自请求以执行对该快取存储器的快取管理操作;其中该合并引擎将来自该多个处理核中两个或更多个处理核的各自请求合并为一合并后请求,该合并引擎通过执行一单一快取管理操作来执行该合并后请求,并于对该快取存储器的该单一快取管理操作完成时,通知该多个处理核中的该两个或更多个处理核的每一处理核其各自请求已经完成;其中,该快取存储器包含多个快取项目,每一个快取项目包含用以存放一快取列及该快取列的相关状态的储存;以及对该快取存储器的快取管理操作包含使该合并引擎检查该快取存储器的多个关联路的至少一关联路的多个快取项目中每一快取项目的快取列状态。2.根据权利要求1所述的处理器,其中,对该快取存储器的快取管理操作包含使该合并引擎将该快取存储器中每一被修改过的快取列回写至一系统存储器。3.根据权利要求1所述的处理器,其中,对该快取存储器的快取管理操作包含一诊断回写操作。4.根据权利要求1所述的处理器,其中,对该快取存储器的快取管理操作包含一回写无效操作。5.根据权利要求1所述的处理器,其中,对该快取存储器的快取管理操作包含重设该快取存储器的快取空间规格的一操作。6.根据权利要求5所述的处理器,其中,每一各自请求分别指定该快取存储器的相应的新快取空间规格;以及当该合并引擎执行该单一快取管理操作以重设该快取存储器的快取空间规格时,该合并引擎将该快取存储器的快取空间规格重设为由所述各自请求中的一最新请求所指定的新快取空间规格。7.根据权利要求1所述的处理器,其中,该多个处理核的每一个处理核包含一私有快取存储器;以及对该快取存储器的快取管理操作包含一请求,该请求用以自所述私有快取存储器中的一个或多个私有快取存储器窥探出该快取存储器中每一修改过的快取列,并使该一个或多个私有快取存储器无效。8.根据权利要求7所述的处理器,其中,每一各自请求指定该多个处理核的一相应集合,该相应集合中的处理核所具有的私有快取存储器将被窥探;以及该合并引擎窥探一母集合中的多个处理核的各处理核所具有的私有快取存储器,其中该母集合为所述各自请求中所指定的相应集合的合集。9.根据权利要求1所述的处理器,其中,该多个处理核中的一个处理核传送一通知至该合并引擎以取消该处理核的各自请求;以及若该合并引擎在收到该通知之前尚未开始处理该合并后请求,则该合并引擎针对请求被合并至该合并后请求的多个处理核中其余的两个或更多个处理核执行该单一快取管理操作,并通知该多个处理核中的该一个处理核其各自请求未被完成而是被取消...

【专利技术属性】
技术研发人员:道格拉斯·R·瑞德
申请(专利权)人:上海兆芯集成电路有限公司
类型:发明
国别省市:上海;31

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

1