进行阶层式高速缓存系统回存且无效的处理器以及方法技术方案

技术编号:35023872 阅读:46 留言:0更新日期:2022-09-24 22:54
本发明专利技术提供一种进行阶层式高速缓存系统回存且无效的处理器以及方法。该处理器,具有指定核内阶层进行阶层式高速缓存系统回存且无效的功能。响应以当下核心内指定阶层的高速缓存内容为目标、而对一阶层式高速缓存系统进行回存且无效的一指令集架构的一指令,处理器上第一核心的解码器基于微码存储器存储的微码,转换出多条微指令。根据该等微指令,一指定请求通过该第一核心的一内存顺序缓存区传递给该阶层式高速缓存系统,令该阶层式高速缓存系统辨识出该第一核心指定阶层所涉及的高速缓存行,将其中处于一修正状态的高速缓存行回存一系统内存,且不论是否为该修正状态,将辨识出的高速缓存行完整自该阶层式高速缓存系统无效。统无效。统无效。

【技术实现步骤摘要】
进行阶层式高速缓存系统回存且无效的处理器以及方法


[0001]本申请涉及处理器的阶层式高速缓存系统(hierarchical cache system)的管理技术。

技术介绍

[0002]计算机系统中,存储器可有阶层之分。较上阶层的存储器拥有较高的速度、较低延迟性,但容量较小。大部分计算机系统的存储器阶层有以下四层(上层至下层排序):寄存器(registers);高速缓存存储器(cache memory);系统内存(主存储器,如DRAM);以及磁盘(SSD或HD)。
[0003]特别是,高速缓存存储器也可以阶层设计,根据存取的快至慢排列,包括:第一级高速缓存(L1)、第二级高速缓存(L2)、以及第三级高速缓存(L3,又称最末级高速缓存存储器,last level cache,简称LLC)。如此阶层式高速缓存系统的管理将显著影响系统效能。
[0004]如何有效管理阶层式高速缓存系统为处理器设计一项重要议题。

技术实现思路

[0005]本申请提出一种阶层式高速缓存系统(hierarchical cache system)的管理技术。
[0006]根据本申请一种实施方式实现的一处理器包括一第一核心、以及耦接该第一核心的一最末级高速缓存存储器。该第一核心包括一微码存储器、一解码器、一内存顺序缓存区(memory ordering buffer,简称MOB)、一第一级高速缓存存储器(L1)、以及一第二级高速缓存存储器(L2)。该第一级高速缓存存储器、该第二级高速缓存存储器、该最末级高速缓存存储器、以及共用该最末级高速缓存存储器的其它核心的核内高速缓存存储器组合成一阶层式高速缓存系统。响应以当下核心内指定阶层的高速缓存内容为目标、而对该阶层式高速缓存系统进行回存且无效的一指令集架构(Instruction Set Architecture,简称ISA)的一指令,该解码器基于该微码存储器存储的一微码,转换出多条微指令。根据该等微指令,一指定请求通过该内存顺序缓存区传递给该阶层式高速缓存系统,令该阶层式高速缓存系统辨识出该第一核心指定阶层所涉及的高速缓存行,将其中处于一修正状态的高速缓存行回存一系统内存,且不论是否为该修正状态,将辨识出的高速缓存行完整自该阶层式高速缓存系统无效。
[0007]一种实施方式中,该指令指定以当下核心的第一级高速缓存存储器的高速缓存内容为目标、而对该阶层式高速缓存系统进行回存且无效。
[0008]一种实施方式中,该指令指定以当下核心的第一级、以及第二级高速缓存存储器的高速缓存内容为目标、而对该阶层式高速缓存系统进行回存且无效。
[0009]本申请亦提出一种指定核内阶层进行阶层式高速缓存系统回存且无效的方法,包括:提供一指令集架构的一指令给一处理器的一第一核心,该指令以当下核心内指定阶层的高速缓存内容为目标、而对一阶层式高速缓存系统进行回存且无效,其中,该阶层式高速
缓存系统包括该第一核心的一第一级高速缓存存储器、以及一第二级高速缓存存储器,且包括该处理器的一最末级高速缓存存储器,还包括该处理器中、共用该最末级高速缓存存储器的其它核心的核内高速缓存存储器;令该第一核心的一解码器基于一微码存储器存储的一微码,自该指令转换出多条微指令;且根据该等微指令,将一指定请求通过该第一核心的一内存顺序缓存区传递给该阶层式高速缓存系统,令该阶层式高速缓存系统辨识出该第一核心指定阶层所涉及的高速缓存行,将其中处于一修正状态的高速缓存行回存一系统内存,且不论是否为该修正状态,将辨识出的高速缓存行完整自该阶层式高速缓存系统无效。
[0010]下文特举实施例,并配合附图,详细说明本
技术实现思路

附图说明
[0011]图1根据本申请一种实施方式图解多核心的一处理器100,包括四核心core_1、core_2、core_3以及core_4;
[0012]图2为方框图,根据本专利技术一种实施方式图解一处理器200以及其上的一核心core_1;
[0013]图3A图解核内高速缓存表222的一种实施方式,条列代表各高速缓存行的存储器地址在核心core_1的第一级高速缓存存储器L1的状态;
[0014]图3B图解探听表格224的一种实施方式,条列代表各高速缓存行的存储器地址在最末级高速缓存存储器LLC/L3、以及不同核心core_1~core_4的状态;
[0015]图4为流程图,图解以探听表格224的查表实现指令L1_WBINVD(或包括同样功能的其它指令);
[0016]图5为流程图,图解以核内高速缓存表222的查表实现指令L1_WBINVD(或包括同样功能的其它指令);
[0017]图6A以及图6B举例说明本申请指令L1_WBINVD(或包括同样功能的其它指令)的效果;
[0018]图7为流程图,图解以探听表格224的查表实现指令CORE_WBINVD(或包括同样功能的其它指令);且
[0019]图8佐以图6A举例说明本申请指令CORE_WBINVD(或包括同样功能的其它指令)的效果
具体实施方式
[0020]以下叙述列举本专利技术的多种实施例。以下叙述介绍本专利技术的基本概念,且并非意图限制本
技术实现思路
。实际专利技术范围应依照权利要求书来界定。
[0021]本申请特别讨论阶层式高速缓存系统的回存且无效(writing back and invalidation)。一种传统技术是以多个核心共用的最末级高速缓存存储器(LLC)为粒度进行高速缓存内容的回存且无效;最末级高速缓存存储器(LLC)涉及的所有高速缓存行中,修正(modified)过的高速缓存行须先存回系统内存,且不论修正与否,都全数自阶层式高速缓存系统(包括所有核心的核内高速缓存存储器、以及所有核心共用的该最末级块取存储器LLC)无效。另一种传统技术是以高速缓存行(cache line)为粒度进行高速缓存内容的回存且无效;一次处理单条高速缓存行。该条高速缓存行若修正过则须回存系统内存,且不论
修正与否,该条高速缓存行都自阶层式高速缓存系统(包括所有核心的核内高速缓存存储器、以及所有核心共用的该最末级块取存储器LLC)无效。然而,传统的处理粒度并不适合所有应用。
[0022]例如,多核处理器中,缓存漏洞出现时,软件有将当下核心的核内高速缓存存储器的高速缓存内容回存且无效的需求;此状况事实上不需要刷回其它核心独占的高速缓存内容,但传统技术并没有对应解决方案。若以多个核心共用的最末级高速缓存存储器(LLC)为粒度进行高速缓存内容的回存且无效,其它核心的执行速度会受影响。若以高速缓存行(cache line)为粒度进行高速缓存内容的回存且无效,则必须以软件进行复杂的逻辑运算,方能决定是要指定哪些高速缓存行进行处理;软件可能判断错误,仍会发生冗余的回存且无效。
[0023]本申请提供的方案可以当下核心的指定阶层的高速缓存内容为目标,即指定当下核心的第一级高速缓存存储器L1、或指定当下核心的第一级以及第二级高速缓存存储器L1以及L2的高速本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种处理器,该处理器用于指定核内阶层进行阶层式高速缓存系统回存且无效,该处理器包括:第一核心,包括解码器、内存顺序缓存区、第一级高速缓存存储器;以及最末级高速缓存存储器,耦接该第一核心;其中:根据以该第一核心指定阶层的高速缓存内容为目标、对阶层式高速缓存系统进行回存且无效的指令集架构的指令,该解码器转换出多条微指令,其中,该阶层式高速缓存系统包括该第一级高速缓存存储器、该最末级高速缓存存储器、以及共用该最末级高速缓存存储器的其它核心的核内高速缓存存储器;根据所述微指令,将指定请求通过该内存顺序缓存区传递给该阶层式高速缓存系统,令该阶层式高速缓存系统辨识出该第一核心指定阶层所涉及的高速缓存行,将其中处于修正状态的高速缓存行回存系统内存,将辨识出的该高速缓存行自该阶层式高速缓存系统无效。2.如权利要求1所述的处理器,其中:该指令指定以该第一核心的第一级高速缓存存储器的高速缓存内容为目标、对该阶层式高速缓存系统进行回存且无效。3.如权利要求2所述的处理器,其中:通过该内存顺序缓存区传递给该阶层式高速缓存系统的该指定请求,驱动该第一核心的该第一级高速缓存存储器返还存储器地址给该内存顺序缓存区,返还的存储器地址对应该第一核心的该第一级高速缓存存储器所高速缓存的高速缓存行。4.如权利要求3所述的处理器,还包括:探听表格,载于该第一核心外的存储空间,条列各存储器地址在不同核心的状态,该状态包括该修正状态、独占状态、共享状态、以及无效状态。5.如权利要求4所述的处理器,其中:该内存顺序缓存区将该第一核心的该第一级高速缓存存储器返还的各存储器地址搭配回存且无效请求,传递给该探听表格进行查表;该各存储器地址搭配探听请求,根据该探听表格的查表结果,传递给该阶层式高速缓存系统;该阶层式高速缓存系统将被探听的高速缓存行中,为该修正状态的高速缓存行载入总线,将被探听的高速缓存行自该阶层式高速缓存系统无效,其中,该总线组建供该系统内存以及该处理器之间的通信;以及该总线将载入的高速缓存行写入该系统内存。6.如权利要求2所述的处理器,还包括:核内高速缓存表,载于该第一核心的存储空间,属该阶层式高速缓存系统,条列各存储器地址在该第一核心的该第一级高速缓存存储器的状态,该状态包括该修正状态、独占状态、共享状态、以及无效状态。7.如权利要求6所述的处理器,其中:根据该指定请求,该阶层式高速缓存系统查表该核内高速缓存表,辨识出该第一核心的该第一级高速缓存存储器中为该修正状态的高速缓存行,将该高速缓存行载入总线,其
中,该总线组建供该系统内存以及该处理器之间的通信;该阶层式高速缓存系统查表该核内高速缓存表还辨识出该第一核心的该第一级高速缓存存储器所高速缓存的所有高速缓存行,且将该阶层式高速缓存系统无效;以及该总线将载入的高速缓存行写入该系统内存。8.如权利要求1所述的处理器,其中该处理器还包括第二级高速缓存存储器,该阶层式高速缓存系统还包括该第二级高速缓存存储器,该指令指定以当下核心的第一级、以及第二级高速缓存存储器的高速缓存内容为目标、对该阶层式高速缓存系统进行回存且无效。9.如权利要求1所述的处理器,其中还包括微码存储器,该解码器根据该微码存储器存储的微码,转换出多条微指令。10.如权利要求1所述的处理器,其中:该指令指定以该第一核心的该第一级高速缓存存储器的高速缓存内容为目标、对该阶层式高速缓存系统进行回存且无效。11.如权利要求10所述的处理器,还包括:探听表格,载于该第一核心外的存储空间,条列代表不同高速缓存行的多个存储器地址在不同核心的状态,该状态包括该修正状态、独占状态、共享状态、以及无效状态。12.如权利要求11所述的处理器,其中:该指定请求通过该内存顺序缓存区传递给该最末级高速缓存存储器;相应该指定请求来源的该第一核心,该最末级高速缓存存储器判别回存且无效目标是该第一核心的所有核内高速缓存存储器的高速缓存内容,并查表该探听表格,将该第一核心中、为该修正状态的存储器地址所对应的高速缓存行载入总线,其中,该总线组建供该系统内存以及该处理器之间的通信;该最末级高速缓存存储器发出探听请求,将回存且无效该阶层式高速缓存系统;以及该总线将载入的高速缓存行写入该系统内存。13.一种方法,该方法...

【专利技术属性】
技术研发人员:王惟林管应炳秦岳
申请(专利权)人:上海兆芯集成电路有限公司
类型:发明
国别省市:

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

1