当前位置: 首页 > 专利查询>英特尔公司专利>正文

持久性存储屏障处理器、方法、系统和指令技术方案

技术编号:15190639 阅读:98 留言:0更新日期:2017-04-19 23:15
一方面的一种处理器包括对持久性存储屏障指令解码的解码单元。所述处理器还包括与解码单元耦合的存储器子系统模块。所述存储器子系统模块响应于持久性存储屏障指令而确保:在将所有后续存储指令的数据持久性地存储在持久性存储装置中之前将与持久性存储屏障指令对应的给定数据持久性地存储在持久性存储装置中。后续存储指令在原始程序次序中出现在持久性存储屏障指令之后。还公开了其他处理器、方法、系统和制品。

【技术实现步骤摘要】
【国外来华专利技术】
本文描述的实施例一般地涉及存储数据。特别地,本文描述的实施例一般地涉及在持久性存储器中存储数据。
技术介绍
处理器通常可操作来执行指令以访问存储器。例如,处理器可以执行加载指令以从主存储器加载或读取数据,和/或执行存储指令以将数据写入或以其他方式存储到主存储器。加利福利亚圣克拉拉的Intel公司在2014年6月发布的订单编号为325462-051US的Intel®64和IA-32架构软件开发者手册联合卷:1、2A、2B、2C、3A、3B和3C描述了用于对存储操作串行化的SFENCE(存储屏障(fence))指令。SFENCE指令可以对在SFENCE指令之前发出的所有存储到存储器指令实行串行化操作。该串行化操作可以保证在程序次序中在SFENCE指令前面的每个存储指令在跟随在SFENCE指令之后的任何存储指令之前变成是全局可见的。附图说明本专利技术可以通过参考以下描述和附图来最佳地理解,附图用于图示实施例。在附图中:图1是其中可以实现本专利技术实施例的计算机系统的实施例的框图。图2是可操作来实行持久性存储屏障指令的实施例的处理器的实施例的框图。图3是实行持久性存储屏障指令的实施例的方法的实施例的方框流程图。图4是具有持久性存储屏障缓冲器的示例实施例的存储器子系统模块的示例实施例的框图。图5是用于持久性存储屏障缓冲器的高速缓存行的示例实施例的框图,所述持久性存储屏障缓冲器具有与不同的持久性存储屏障指令对应的数据。图6是具有数据和写入前(writeahead)日志的持久性存储器的实施例的框图。图7是在没有本文所公开的持久性存储屏障指令的情况下实行的写入前记录日志(logging)的一种可能方法的方框流程图。图8是利用持久性存储屏障指令的实施例实行的写入前记录日志的方法的示例实施例的方框流程图。图9是图示用于持久性存储屏障缓冲器的实施例的各种合适位置的框图。图10A是图示有序流水线的实施例和寄存器重命名乱序发出/执行流水线的实施例的框图。图10B是包括耦合到执行引擎单元的前端单元并且二者都耦合到存储器单元的处理器核的实施例的框图。图11A是单个处理器核连同其到管芯上互连网络的连接并且具有其2级(L2)高速缓存的本地子集的实施例的框图。图11B是图11A的处理器核的部分的放大视图的实施例的框图。图12是可以具有多于一个核、可以具有集成存储器控制器并且可以具有集成图形的处理器的实施例的框图。图13是计算机架构的第一实施例的框图。图14是计算机架构的第二实施例的框图。图15是计算机结构的第三实施例的框图。图16是片上系统架构的实施例的框图。图17是根据本专利技术的实施例的将源指令集中的二进制指令转换成目标指令集中的二进制指令的软件指令转换器的使用的框图。具体实施方式本文公开了持久性存储屏障指令、用于执行指令的处理器、当处理或执行指令时处理器所实行的方法,以及并入用于处理或执行这些指令的一个或多个处理器的系统。在下面的描述中,阐述了许多具体细节(例如,具体指令操作、处理器配置、微架构细节、操作序列、指令的使用等)。然而,实施例可以在没有这些具体细节的情况下被实践。在其他实例中,公知的电路、结构和技术尚未被详细示出以避免混淆对本说明书的理解。图1是其中可以实现本专利技术的实施例的计算机系统100的实施例的框图。计算机系统包括处理器102、可选的易失性或其他方式的非持久性存储装置122以及非易失性或其他方式的持久性存储装置124。非持久性存储装置122是可选的不是必需的。处理器可以通过一个或多个互连结构120(诸如例如一个或多个总线或其他互连、一个或多个集线器或其他芯片组组件、它们的组合等)与非持久性存储装置122和持久性存储装置124耦合。本领域中已知的将处理器与易失性和非易失性存储器耦合的各种方式是合适的。易失性存储器表示当未施加电力时丢失其内容的存储器或存储装置类型。相对的,非易失性存储器表示当未施加电力时能够在长持续时间内保留其内容的存储器或存储装置类型。例如,甚至在没有电力数周、数月或数年之后,也可以从非易失性存储器读取数据。合适类型的非持久性存储装置的示例包括但不限于动态随机存取存储器(DRAM)和其他形式的RAM,包括将来开发出的类型。合适类型的持久性存储装置的示例包括但不限于硬盘、磁带、其他类型的磁存储设备、闪速存储器、各种类型的只读存储器(ROM)、光盘、铁电RAM(F-RAM)和磁阻RAM,以及将来开发出的其他类型。在一些实施例中,非持久性存储装置122和持久性存储装置124二者可以可选地一起或共同地用作主要存储装置并且二者可以是对处理器可访问的(例如,由处理器可寻址的)。在其他实施例中,非持久性存储装置122可以可选地被省略,并且持久性存储装置124可以用作是对处理器可访问的(例如由处理器可寻址的)主要存储装置。在再其他实施例中,非持久性存储装置122可以被部署为主要存储装置(例如,主存储器)并且持久性存储装置可以部署为辅助或后援存储装置,但是持久性存储装置可以对处理器是可访问的(例如由处理器可寻址的)。处理器102具有指令集104。指令集是处理器的指令集架构(ISA)的部分,并且包括处理器可操作来执行的原生指令。指令集的指令表示被提供给处理器以供执行的宏指令、汇编语言指令、或机器级指令,其与微指令或已经从指令集的此类指令解码的其他指令是相反的。如所示,指令集可以包括一个或多个加载指令106,用于从非持久性和/或持久性存储装置加载或读取数据。指令集还包括一个或多个存储指令108,用于将数据移动到、写入或以其他方式存储在非持久性和/或持久性存储装置中。处理器具有用于处理指令集的指令的流水线112。通过示例的方式,流水线可以包括取出指令的取出指令单元、对指令进行解码的解码单元、执行经解码的指令的一个或多个执行单元等。本领域中已知的各种不同的处理器流水线设计是合适的。本专利技术的范围不限于任何已知的流水线设计。处理器还具有与非持久性和/或持久性存储装置对接的存储器子系统114。存储器子系统可以包括一个或多个高速缓存118(例如,一级或多级高速缓存)。例如,某些处理器具有组合的1级(L1)指令和数据高速缓存和2级(L2)数据高速缓存,1级(L1)指令和数据高速缓存离流水线相对较近和/或离持久性存储装置较远,2级(L2)数据高速缓存离流水线相对较远和/或离持久性存储装置较近。其他处理器可以具有单级高速缓存,或者三级或更多不同级高速缓存。每个高速缓存可以保持指令和/或数据,如对于具体实现所期望的。对于(一个或多个)高速缓存118的一个原因是帮助减少处理器对非持久性和/或持久性存储装置中的数据的访问的等待时间。对非持久性和/或持久性存储装置中的数据的访问一般趋向于比对(一个或多个)高速缓存中的数据的访问显著更慢。例如,通常来说,对(一个或多个)高速缓存中的数据的访问花费不多于几个处理器时钟周期,而对主要存储装置中的数据的访问可能代表性地花费从数十到数百个时钟周期。结果,为了帮助改进性能,处理器可以将某些数据(例如,具有空间和/或时间局部性的数据)从非持久性和/或持久性存储装置引入到(一个或多个)高速缓存中,使得如果在不远将来再次需要相同数据,可以从(一个或多个)高速缓存快速地访问它而不是从非本文档来自技高网...
持久性存储屏障处理器、方法、系统和指令

【技术保护点】
一种处理器,包括:对持久性存储屏障指令解码的解码单元;以及与解码单元耦合的存储器子系统模块,所述存储器子系统模块响应于持久性存储屏障指令而确保:在将所有后续存储指令的数据持久性地存储在持久性存储装置中之前,将与持久性存储屏障指令对应的给定数据持久性地存储在持久性存储装置中,所述后续存储指令在原始程序次序中出现在持久性存储屏障指令之后。

【技术特征摘要】
【国外来华专利技术】2014.09.26 US 14/4981781.一种处理器,包括:对持久性存储屏障指令解码的解码单元;以及与解码单元耦合的存储器子系统模块,所述存储器子系统模块响应于持久性存储屏障指令而确保:在将所有后续存储指令的数据持久性地存储在持久性存储装置中之前,将与持久性存储屏障指令对应的给定数据持久性地存储在持久性存储装置中,所述后续存储指令在原始程序次序中出现在持久性存储屏障指令之后。2.如权利要求1所述的处理器,其中所述持久性存储屏障指令包括存储和持久性存储屏障指令,其指示具有给定数据的源操作数并且其指示其中要存储给定数据的持久性存储装置中的位置。3.如权利要求1所述的处理器,其中所述给定数据要被包括在存储指令的源操作数中,其暗指持久性存储屏障指令将是在原始程序次序中紧接在持久性存储屏障指令之前和紧接在持久性存储屏障指令之后中的一个。4.如权利要求1所述的处理器,其中所述存储器子系统模块响应于持久性存储屏障指令不确保:在后续存储指令的数据之前将所有在先存储指令的数据持久性地存储在持久性存储装置中,所述在先存储指令在原始程序次序中出现在持久性存储屏障指令之前。5.如权利要求1所述的处理器,进一步包括一个或多个高速缓存的集合,并且其中所述存储器子系统模块响应于持久性存储屏障指令而使得给定数据绕过一个或多个高速缓存的集合。6.如权利要求1到5中任一项所述的处理器,进一步包括持久性存储屏障缓冲器,并且其中所述存储器子系统模块响应于持久性存储屏障指令而使得给定数据被存储在持久性存储屏障缓冲器中。7.如权利要求6所述的处理器,进一步包括持久性存储屏障缓冲器管理单元,其在从高速缓存移除高速缓存行之前,基于指示从高速缓存移除该高速缓存行的意图的信号而将至少一个高速缓存行从持久性存储屏障缓冲器存储到持久性存储装置。8.如权利要求6所述的处理器,其中所述持久性存储屏障缓冲器包括写入组合缓冲器,所述写入组合缓冲器允许与第二持久性存储屏障指令对应的第二数据被存储在持久性存储屏障缓冲器的与给定数据相同的高速缓存行中。9.如权利要求6所述的处理器,其中处理器的指令集不包括用于从持久性存储屏障缓冲器读取数据的用户级加载指令。10.如权利要求6所述的处理器,其中所述持久性存储屏障缓冲器不实现高速缓存一致性协议。11.如权利要求1到5中任一项所述的处理器,其中所述处理器在要在互连上传输的一个或多个周期的公共集合中将具有给定数据和与第二持久性存储屏障指令对应的第二数据的高速缓存行存储到持久性存储装置,所述互连用于将处理器与持久性存储装置耦合。12.一种在处理器中的方法,包括:接收持久性存储屏障指令;以及响应于持久性存储屏障指令而确保:在将所有后续存储指令的数据持久性地存储在持久性存储装置中之前,将与持久性存储屏障指令对应的给定数据持久性地存储在持久性存储装置中,所述后续存储指令在原始程序次序中出现在持久性存储屏障指令之后。13.如权利要求12所述的方法,其中接收指令包括接收存储和持久性存储屏障指令,其指示具有...

【专利技术属性】
技术研发人员:王诚吴佑峰RM桑卡兰
申请(专利权)人:英特尔公司
类型:发明
国别省市:美国;US

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

1