对预留给处理器逻辑使用的存储器的访问类型保护的制作方法

文档序号:8501120阅读:329来源:国知局
对预留给处理器逻辑使用的存储器的访问类型保护的制作方法
【专利说明】对预留给处理器逻辑使用的存储器的访问类型保护
[0001] 背景
[0002] 领域
[0003] 各实施例涉及处理器领域。具体而言,各实施例涉及用于限制对存储器的某些部 分的访问的的处理器的领域。
[0004] 背景信息
[0005] 某些处理器具有预留物理存储器的一部分供处理器的固件,或其他管芯上的处理 器逻辑使用,但不供在处理器中执行的软件使用的机制。作为示例,物理存储器的该部分可 以由处理器的固件、基本输入/输出系统(BIOS)配置,或以别的方式配置。在操作过程中, 该机制可以监测对物理存储器的该部分的意图的(attempted)访问,并判断是否应该允许 该意图的访问。在这样的处理器中,对物理存储器的该部分的保护基于意图的访问的操作 模式(例如,是管芯上的处理器逻辑还是软件正在意图访问)。如果意图的访问来自于管芯 上的处理器逻辑,则它们可以被允许,或者如果意图的访问来自于在处理器中执行的软件, 则它们可能不被允许。
[0006] 附图的若干视图的简述
[0007] 可以通过参考用来说明本发明的各实施例的下列描述和附图来理解本发明。在附 图中:
[0008] 图1是包括处理器和存储器的计算机系统的实施例的框图。
[0009] 图2A是带有显式访问类型的访问类型保护的存储器规范寄存器的实施例的框 图。
[0010] 图2B是带有隐式访问类型的访问类型保护的存储器规范寄存器的实施例的框 图。
[0011] 图3是检查并限制对操作模式及访问类型保护的存储器的访问的方法的详细示 例实施例的方框流程图。
[0012] 图4是预留存储器保护逻辑的实施例的框图。
[0013] 图5是一组访问类型保护的存储器的实施例的框图。
[0014] 图6是具有TLB的实施例的处理器的框图,TLB具有访问类型检查和实施逻辑。
[0015] 图7示出了具有条目的TLB,条目具有常规分页属性比特和逻辑以重新使用常规 分页属性比特,但是带有对于物理访问的不同的解释。
[0016] 图8示出了具有条目的TLB,条目具有常规分页属性比特和额外的比特以指定存 储器访问类型和逻辑以使用额外的比特来进行物理访问。
[0017] 图9A是示出根据本发明的各实施例的示例性有序流水线和示例性的寄存器重命 名的无序发布/执行流水线的框图。
[0018] 图9B是示出根据本发明的各实施例的要包括在处理器中的有序架构核的示例性 实施例和示例性的寄存器重命名的无序发布/执行架构核的框图。
[0019] 图10A是根据本发明的各实施例的单个处理器核的框图,以及其与管芯上的互连 网络的连接以及其第2级(L2)高速缓存的本地子集。
[0020] 图10B是根据本发明的实施例的图10A中的处理器核的一部分的展开图。
[0021] 图11是根据本发明的各实施例的可以具有一个以上的核,可以具有集成的存储 器控制器,并可以具有集成的图形器件的处理器的框图。
[0022] 图12,所示是根据本发明一实施例的系统的框图。
[0023] 图13,所示是根据本发明的一个实施例的第一更具体的示例性系统的框图。
[0024] 图14,所示是根据本发明的一个实施例的第二更具体的示例性系统的框图。
[0025] 图15,所示是根据本发明一实施例的SoC的框图。
[0026] 图16是根据本发明的各实施例的对照使用软件指令转换器将源指令集中的二进 制指令转换成目标指令集中的二进制指令的框图。
【具体实施方式】
[0027] 在以下描述中,阐述了大量具体细节(例如,具体寄存器内容和布局、具体逻辑实 现、具体操作序列、具体逻辑分区/集成细节、系统组件的类型和相互关系,等等)。然而,应 该理解,本发明的各实施例可以在没有这些具体细节的情况下实施。在其他情况下,没有详 细示出已知的电路、结构,以及技术,以便不至于使对本描述的理解变得模糊。
[0028] 如背景部分所描述的仅基于意图的访问(attempted access)的操作模式(例如, 是管芯上的处理器逻辑还是软件正在意图访问)来限制对物理存储器的一部分的意图的 访问,此举的一个局限性在于没有考虑意图的访问的访问类型(例如,意图的访问是读取、 写入、还是执行等等)。结果,计划或期望具有一种类型的被允许的访问的物理存储器的一 部分相反可能被另一,不同的非计划的(non-intended)访问类型访问。例如,物理存储器 的计划作为只读被访问的一部分可能相反被写入和/或从该部分执行。管芯上的处理器逻 辑可能能够执行这样的非计划的类型的访问,即使基于操作模式的检查和保护机制在适当 地起作用。另外,除管芯上的处理器逻辑以外的实体,例如,在处理器中执行的软件,如果基 于操作模式的检查和保护机制被破坏(例如,被缺陷、恶意软件、窜改等等),则可能能够执 行这样的非计划的类型的访问。在这样的情况下,可能违反了对于物理存储器的这些部分 的计划的或所期望的访问类型。
[0029] 此处公开了能够用于(operable to)至少部分地基于意图的访问的访问类型,保 护存储器的为管芯上的处理器逻辑所预留的某些部分的处理器、方法,以及系统。有利地, 这些处理器、方法,以及系统可以帮助提高总体安全性。基于意图的访问的类型,限制对存 储器的某些部分的意图的访问,可以帮助进一步保护存储器的某些部分,甚至防止管芯上 的处理器逻辑的访问。这可以帮助实施最小特权原则,其中,每一个实体只被允许做它实现 其计划的任务需要做的事情,而不能做别的。另外,这还可以帮助提供纵深防御(defense in depth),其中,即使操作模式检查和保护机制被破坏,访问类型检查和保护机制也可以 帮助提供另一级别的防御。
[0030] 图1是包括处理器101和存储器115的计算机系统100的实施例的框图。处理器 和存储器通过常规耦合机制114(例如,通过一个或多个总线、中枢、存储器控制器、芯片组 组件等等),耦合,或以别的方式彼此进行通信。存储器表示物理存储器,并可包括一个或多 个不同的存储器设备,和/或一个或多个不同类型的存储器。
[0031] 在某些实施例中,处理器可以是通用处理器(例如,用于台式机、膝上型计算机、 服务器等计算机的类型的)。替换地,处理器可以是专用处理器。合适的专用的处理器的示 例包括,但不仅限于,通信处理器、网络处理器、密码处理器、图形处理器、协处理器、嵌入式 处理器、数字信号处理器OSP)以及控制器(例如,微控制器),仅举几个例子而已。
[0032] 再次参考图1,存储器包括软件116。软件可包括,例如,一个或多个操作系统 (0S)、一个或多个应用程序等等。在操作过程中,软件的一部分可以作为执行软件102在 处理器上执行。执行软件可包括从软件116加载并在处理器上执行(例如,被调度、解码、 执行等等)的宏指令或指令集架构(ISA)级别指令。ISA级别指令是ISA的一部分。ISA 表示涉及编程的处理器的架构的一部分,通常包括处理器的原生指令、架构寄存器、数据类 型、寻址模式等等。ISA与微架构不同,微架构一般表示被选择用于实现ISA的特定处理器 设计技术。执行软件可以使用存储器子集117,该存储器子集117是存储器115的被允许被 执行软件使用的一部分。
[0033] 处理器101包括管芯上的处理器逻辑103。管芯上的处理器逻辑是固定的,常驻 的,或持久性在管芯上(例如,与从存储器115加载到处理器中的软件指令相反)。通常,管 芯上的处理器逻辑在处理器上存在,甚至在处理器被断电的情况下,在引导之前,和/或在 完成制造时。合适的管芯上的处理器逻辑的示例包括,但不仅限于,处理器固件、处理器硬 件(例如,集成电路)、处理器的其他管芯上的永久性的逻辑,或其组合。作为示例,固件可 包括处理器的永久性和/或非易失性存储器(例如,R0M、EPR0M、闪存,等等)以及存储在持 久性和/或非易失性存储器中的指令(例如,微代码、微指令、微架构指令、比ISA级别指令 更靠近处理器的电路/微架构的级别的指令)的组合。
[0034] 预留(reserved)存储器118(其是存储器115的一部分)的实施例被预留以供管 芯上的处理器逻辑103使用,但不供执行软件102使用。在某些实施例中,管芯上的处理器 逻辑可以被允许访问并使用预留存储器,但是,执行软件可能不被允许访问或使用预留存 储器。管芯上的处理器逻辑是全部的管芯上的处理器逻辑的特定子集,诸如,例如,特定的 管芯上的安全性相关的逻辑,该逻辑单独地被计划为使用操作模式保护的存储器。存储器 115还包括被基于访问的类型而保护的访问类型保护的存储器119。如图所示,在某些实施 例中,访问类型保护的存储器是预留存储器的一部分。在这样的实施例中,可以基于操作模 式(例如,管芯上的处理器逻辑是否是访问的源)以及基于访问的类型二者来保护访问类 型保护的存储器。在其他实施例中,访问类型保护的存储器,或其一部分,不必是操作模式 保护的存储器。如图所示,在某些实施例中,访问类型保护的存储器可包括不同类型的访问 类型保护的存储器,诸如,例如,读取保护的存储器120、写入保护的存储器121,以及执行 保护的存储器122。还可构想其他类型的访问类型保护的存储器(例如,写入和执行、读取 和写入保护的,两种或更多种类型的访问的其他组合,等等)。
[0035] 在某些实施例中,处理器可包括一个或多个预留存储器规范寄存器110,它们能够 用于指定预留存储器118的一个或多个属性。合适的属性的示例包括,但不仅限于,预留存 储器的位置、预留存储器的大小、预留存储器有效还是无效(例如,启动或关闭),预留存储 器规范寄存器是否被锁定,等等。在某些情况下,预留存储器规范寄存器可以指定预留存储 器的范围,并可以被称为范围寄存器。
[0036] 在某些实施例中,一个或多个预留存储器规范寄存器110可以可任选地包括对应 于访问类型保护的存储器119的允许的访问类型信息111。允许的访问类型信息可以指示 对于访问类型保护存储器的一种或多种允许的类型的访问。如此处所使用的,指示允许的 类型的访问包括显式地指定允许的类型的访问,隐式地指示允许的类型的访问,通过显式 地指定非允许的类型的访问间接地指定允许的类型的访问,以及其组合。在某些实施例中, 对于不同的访问类型保护的存储器(例如,对于读取保护的存储器120、写入保护的存储器 121,以及执行保护的存储器122中的每一个)可以有允许的访问类型指示信息111和/或 不同的预留存储器规范寄存器110的不同的集合。
[0037] 如图所示,预留存储器规范寄存器可以可任选地被包括在处理器的一组配置寄存 器108中。可另选地,可以在其他位置(例如,在管芯上的处理器逻辑中、存储器管理单元 (未示出),或在别处)指定如前所述的属性。作为示例,预留存储器规范寄存器可以由基 本输入/输出系统(BIOS)、固件配置,或以别的方式配置。可另选地,并非显式地指定或配 置,如前所述的属性中的一个或多个可以是隐式的(例如,预留存储器的位置可以是预定 义的或以别的方式为隐式的,存储器部分的允许的访问类型可以是预定义的或以别的方式 隐式的,等等)。
[0038] 在操作过程中,处理器可以监测对预留存储器118的意图的访问,并判定是否将 允许该意图的访问。处理器包括预留存储器保护逻辑104的实施例。预留存储器保护逻辑 通常是处理器的管芯上的逻辑,例如,硬件、固件,或其组合。在某些实施例中,预留存储器 保护逻辑可以驻留在存储器管理子系统中(例如,在页未命中(page miss)处理程序中,在 加载/存储单元中,等等)。来自管芯上的处理器逻辑103的访问以及来自执行软件102的 访问可以各自都具有对应的访问地址。例如,这样的访问地址可以对应于意图进行访问的 指令(例如,宏指令和/或微指令)。作为示例,加载微指令可以指定预留存储器中的物理 地址。预留存储器保护逻辑104可以知道预留存储器118的位置以及大小。例如,预留存 储器保护逻辑可以从预留存储器规范寄存器110接收预留存储器的位置以及大小。预留存 储器保护逻辑可以判定意图的访问的访问地址是否在预留存储器内。如果访问地址在预留 存储器和/或访问类型保护的存储器内,那么,可以使用操作模式检查逻辑105和/或访问 类型检查逻辑106来判定意图的访问是否应该被允许或阻止。
[0039] 预留存储器保护逻辑包括操作模式检查逻辑105。操作模式检查逻辑可以能够用 于基于意图的访问的操作模式,允许或阻止对预留存储器的访问。在某些实施例中,操作模 式可以指示意图的访问
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1