基于每指令的选择性保护存储器访问的制作方法

文档序号:6456689阅读:155来源:国知局
专利名称:基于每指令的选择性保护存储器访问的制作方法
技术领域
本公开总体上涉及处理设备,尤其涉及处理设备中的存储器访问。
背景技术
如果所参考的存储器存在并且没有缺陷,以及如果对其的单个访 问的结果与对其的多个相同访问的结果难以区分,则该存储器被称为 "表现很好"。可以将数据和指令从表现很好的存储器中无序取出,而 不会引起不期望的副作用。输入/输出(I/O)设备的控制寄存器和不存 在的存储器位置典型地不被认为是"表现很好"的,这是由于对这样
的存储设备的无序访问可能会导致I/O设备执行非预期的操作。另一个 "表现不好"的存储器例子是对先进先出缓冲器(FIFO)的访问,其中 对该FIFO的访问动作导致该FIFO弹出所提供的值。在这种情况下, 由于不同的值接着将出现在FIFO中,该访问不能被重复或被无序提供。
为适应"表现不好"的存储器,许多处理系统实现保护访问策略, 借此在允许发出对保护存储器位置的存储器访问之前必须一律无例外 地完成所有之前发出的存储器访问,因此防止了对该保护存储器位置 的无序访问。在常规系统中,将存储器位置逐页确定为保护或非保护 的。然而,在大多数实现方式中,表现不好的存储器位置仅构成存储 器页的一小部分。因此,即使对该存储器页的绝大部分存储器访问是 对表现很好的存储器位置的访问,但对被标识为保护的存储器页的任 何存储器位置的任何存储器访问是作为保护存储器访问来执行的,因 此在对表现很好的存储器位置的存储器访问进行处理期间导致明显的 延迟,其从而降低了系统的性能。因此, 一种用来实现保护存储器访 问的改进技术将是有利的。


通过参考所附附图,可以更容易地理解本公开,并且其众多特征 和优点对本领域技术人员来说是很明显的。
图1是图示依照本公开至少一个实施例的数据处理系统的示图。
图2是图示依照本公开至少一个实施例的图1的数据处理系统的 处理器设备的示图。
图3是图示依照本公开至少一个实施例的具有保护访问说明符的 存储器访问指令的示例格式的示图。
图4是图示依照本公开至少一个实施例的基于存储器访问指令的 保护访问说明符对用于存储器访问的保护访问策略进行配置的方法的 流程图。
在不同附图中使用的相同附图标记来表示类似或者相同的项目。
具体实施例方式
依照本公开的一个方面, 一种方法包括在处理设备接收存储器 访问指令,其中该指令包括代表保护访问策略的保护访问说明符。该
方法进一步包括在处理设备执行由根据保护访问策略的存储器访问 指令所表示的存储器访问。
依照本公开的另一个方面, 一种处理设备包括处理器核心,其 被配置为基于存储器访问指令的保护访问说明符来确定用于存储器访 问指令的保护访问策略。该处理设备进一步包括存储器管理单元, 其被配置为基于该保护访问策略来促进由该存储器访问指令表示的存 储器访问。
图1图示了一种依照本公开的至少一个实施例的、利用基于每指 令而调整的保护访问策略的数据处理系统100。在所描绘的例子中,该 数据处理系统100包括处理设备102、系统存储器设备104 (例如,随 机访问存储器(RAM)),以及经由总线108连接的一个或多个输入/ 输出设备106。该处理设备102包括处理器核心110、存储器管理单元
6(MMU) 112、高速缓存114、以及经由总线118互连的总线接口单元 (BIU) 116,其中该BIU 116在总线118和总线108之间充当接口。
在操作中,处理设备102使用处理器核心110执行指令,由此可 以从高速缓存114、系统存储器设备104、 1/0设备106、或其它源中访 问指令数据和操作数据,并且能经由BIU 116提供由该指令执行产生 的数据以存储在系统存储器设备104中或提供给I/0设备106。为了加 快对处理设备102外部的设备(例如,系统存储器设备104和I/O设备 106)的存储器访问,高速缓存114可以用于高速缓存指令数据和相关 数据。
MMU 112控制对高速缓存114的访问以及对处理设备102外部的 设备(包括系统存储器设备104和I/O设备106)的存储器访问。MMU 112能够将系统存储器设备104和1/0设备106的总线接口映射至相应 的存储器地址(例如,虚拟存储器地址),因此将所有对外部设备的 访问当作 一 个存储器访问。为了减小破坏性存储器访问的可能性, MMU112实现用于存储器访问的保护访问策略。在一个实施例中,该 MMU112可以被配置成使得每个标识的存储器区域(例如,存储器的 页)具有静态、或默认、保护访问策略,其可以包括保护有效访问 策略,借此将对标识区域的存储器访问当作保护存储器访问;或者保 护无效访问策略,借此将对标识区域的存储器访问当作非保护存储器 访问。
作为实现默认的基于存储器区域的保护访问策略的补充或替代, 在一个实施例中,处理设备102被配置为实现保护访问策略,或者基 于每指令来调整所实现的保护访问策略。因此,在一个实施例中,当 执行由存储器访问指令表示的存储器访问时, 一些或所有存储器访问 指令(例如,加载和存储指令)可以包括或引用代表要被实现的保护 访问策略的保护访问说明符。该保护访问说明符能够标识要被实现的 具体保护访问策略(例如, 一个保护访问说明符,具有指示保护有效
7访问策略的第一值或指示保护无效访问策略的第二值)。可选地,为 了执行存储器访问,该保护访问说明符可以将用于与该存储器访问相 关的存储器区域处的默认保护访问策略指定为被重写、或被"翻转"。 作为说明,具有第一状态的保护访问说明符能够指示将为存储器访问
维持默认保护访问策略,而具有第二状态的保护访问说明符能够指示 将为存储器访问实现相反的保护访问策略(例如,从保护有效访问策 略切换为保护无效访问策略,或反之亦然)。
为了实现每指令保护访问策略,在一个实施例中,处理器核心110 被配置为在处理存储器访问指令期间标识用于存储器访问指令的保护
访问说明符,并且向MMU 112提供代表由该保护访问说明符标识的保 护访问策略的保护访问控制指示符120。作为说明,可以将该保护访问 说明符作为位字段实现在存储器访问指令中,以存储代表将为该存储 器访问指令实现的保护访问策略的值。因此,在解码该存储器访问指 令期间,该位字段的值可用于为保护访问控制指示符120配置特定状 态。
MMU 112被配置为接收保护访问控制指示符120以及为了执行由
存储器访问指令所表示的存储器访问而实现所指示的保护访问策略。 在一个实施例中,MMU 112将保护访问控制指示符120和静态属性(例
如,相应页的静态保护属性)结合在一起以确定最终的保护策略。该 保护访问控制指示符120能够连同用于每个请求的存储器访问的相应 的虚拟地址一起被提供。
图2图示了依据本公开至少一个实施例、与保护访问控制指示符 120相关的图1中的处理器核心110的一部分的例子。在所描绘的例子 中,该处理器核心110包括指令解码器202,其被配置为经由总线118 (图1)接收指令以及将保护访问控制指示符120提供至MMU 112 (图 1)。处理器核心110还包括连接至指令编码器202的执行单元204, 和连接至指令解码器202和执行单元204的控制电路206。控制电路
8206包括电路来控制指令解码器202和执行单元204所进行的指令的解 码和执行。
在操作中,指令解码器202从指令缓冲器(未示出)接收指令。 每个指令被解码,并且随后相应地由执行单元204执行。如果指令解 码器202解码包括或引用保护访问说明符的存储器访问指令,则指令 解码器202将保护访问控制指示符120作为存储器访问请求的一部分 提供至MMU112,由此该保护访问控制指示符120的状态是基于由该 保护访问说明符所指示的状态的。执行单元204和控制电路206的操 作是本领域公知的,在此将不再详细介绍。由于指令解码器202的其 余部分可以以本领域公知的方式操作,因此仅仅在用于描述保护访问 控制指示符120的产生的必要的范围内描述指令解码器202的操作。
图3图示了依照本公开至少一个实施例的存储器访问指令300的 示例格式。存储器访问指令300包括操作码字段302、源寄存器(RS) 字段304、基地址寄存器(RA)字段306、子操作码字段308、保护访 问说明符字段310、以及位移字段312。存储在操作码字段302和子操 作码字段308中的值用于指示存储器访问指令的特定类型。对于存储 类型的存储器访问指令,存储在RS字段304中的值指示其中包括将要 被存储于外部设备(诸如图1中的系统存储设备104)的数据的寄存器 (诸如图1中处理设备102的一个通用寄存器)。存储在RA字段306 的值和存储在位移字段312的值的组合被用来指示外部设备的存储器 地址,其中由存储在RS字段304中的值所指示的该寄存器中的数据将 被存储或提供至该存储器地址。例如,RA字段306中的值可以指示存 储基地址值的处理设备102的其中一个通用寄存器。存储在位移字段 312中的值(在一个实施例中,其可以是一个正值或负值)随后被添加 至基地址值从而提供该存储器访问指令的目的地存储器地址。对于加 载类型的存储器访问指令,存储在RS字段304中的值指示其中将存储 来自存储器的数据的寄存器(诸如图1中处理设备102的通用寄存器)。 存储在RA字段306中的值和存储在位移字段312中的值的组合被用来指示从系统存储设备104中何处访问数据。例如,RA字段306中的值 可以指示存储基地址值的处理设备102的其中一个通用寄存器。存储 在位移字段312中的值(在一个实施例中,其可以是正值或负值)随 后被添加至基地址值,从而提供该加载类型的存储器访问指令的源地 址。
存储器访问指令300还包括保护访问说明符。在一个实施例中, 该保护访问说明符可以被实现为存储器访问指令300中的单独字段, 诸如保护访问说明符字段310。在另一个实施例中,保护访问说明符可 以被实现为存储器访问指令300另一个字段的一部分,例如,通过过 载操作码字段302、子操作码字段308、或两者的组合,或者,例如, 通过使用位移字段312、 RS字段304、或RA字段306的位。注意到, 尽管示出了具有保护访问说明符的存储器访问指令的特定示例格式, 但在不脱离本公开公开的范围的情况下,该存储器访问指令可以具有 各种格式并且可以使用任何其它类型的寻址模式。
在一个实施例中,包括在存储器访问指令300中的保护访问说明 符允许指示将用于该存储器访问指令300的保护访问策略。例如,如 果该保护访问说明符字段310是单个位,则该位的第一个值(即,状 态)可以指示将使用保护有效访问策略或保护无效访问策略中的一个, 而该位的第二个值可以指示将使用保护有效访问策略或保护无效访问 策略的另一个。可替换地,该位的第一个值可以指示在存储器访问指 令300的执行期间用于访问存储器区域处的默认保护访问策略将被维 持,而该位的第二个值可以指示该默认保护访问策略将被重写(例如, 从保护有效访问策略翻转成保护无效访问策略,反之亦然)。以这种 方式,包括保护访问说明符的存储器访问指令可以使MMU 112实现与 同样包括保护访问说明符的不同存储器访问指令不同的保护访问策 略。
图4图示了依照本公开至少一个实施例、基于启动存储器访问的指令的保护访问说明符而执行存储器访问的示例方法400。为了便于讨
论,参照图1-3的实施例描述方法400。
方法400在框402开始,由此在处理设备102的处理器核心110
处接收具有保护访问说明符的存储器访问指令,诸如存储器访问指令 300 (图3),用于执行。在框404,在例如对存储器访问指令进行解 码期间,基于指令内的保护访问说明符,来确定为了由指令所表示的 存储器访问的性能将要实现的保护访问策略。如上所述,保护访问说 明符可以被实现为存储器访问指令的一个或多个字段的一位或多个 位,由此由该一个或多个位所表示的值可以标识特定的保护访问策略 (例如,保护有效访问策略或保护无效访问策略)。可替换地,由一个 位或多个位表示的值可以标识用于所涉及的存储器部分的默认保护访 问策略将被维持还是被重写,其中该默认保护访问策略可以由存储在 MMU 112中的一个或多个页属性位所提供并且与存储器位置地址相 关。
在确定了保护访问说明符后,在框406,处理设备102的MMU 112 被配置为实现在框404所确定的保护访问策略。在一个实施例中,处 理器核心110基于保护访问说明符将保护访问控制指示符120配置为 具有特定状态。作为说明,当保护访问说明符具有用于指示保护无效 访问策略的第一个值(例如,逻辑"O")时,保护访问控制指示符120 被配置为具有第一状态(例如,逻辑"O")以指引MMU 112将相应的 存储器访问处理为非保护访问。相反地,当保护访问说明符具有用于 指示保护有效访问策略的第二个值(例如,逻辑"l")时,保护访问控 制指示符120被配置为具有第二状态(例如,逻辑"l"),以指引MMU 112将相应的存储器访问处理为保护访问。
基于所标识的配置,在框408, MMU112处理由存储器访问指令 所表示的存储器访问。如果存储器访问被标识为保护存储器访问,则 MMU112、处理器核心IIO、以及BIU 116相互协作以确保,仅在之前的访问或指令没有或不会引起将潜在地导致该保护存储器访问被放弃 或中止的意外情况下,才会执行该存储器访问。如果存储器访问是非
保护的,则MMU 112和BIU 116可能会使该存储器访问被无序地或以 推测方式执行,因此,如果需要延迟以确定在该存储器访问指令之前 的所有在前的指令的异常状态,则通过允许在此之前开始和结束该存 储器访问,来潜在地提高性能。因此,与那些"表现很好"的存储器 区域相比,基于指令的说明符的使用允许对"表现不好"的存储器区 域的存储器访问的顺序和推测进行细粒度控制。因为由单个页面属性 映射的存储器页面的一个或多个位置可能不需要严格的顺序,即使该 存储器页面的其它位置需要严格的顺序、非推测处理,针对访问存储 器的这些不同位置的不同的存储器访问指令来使用不同的基于指令的 保护属性说明符,相比使用在常规MMU中利用的单页面规格可以得 到更好的吞吐量和处理性能。因此,方法400的流程提供了一种可以 如何使用存储器访问指令的保护访问说明符而基于每指令而不是、或 另外地基于每页面或每段来配置用于存储器访问指令的保护访问策略 的示例。
在本文档中,诸如"第一"和"第二"之类的关系术语等,可以 仅仅用于将一个实体或动作与另一个实体或动作相区分,而不是要求 或暗示在这些实体和动作之间的任何实际的这样的关系或顺序。术语 "包括"、"包含",或任何其的相应变体,是为了覆盖非独占的包含, 使得包含元素列表的处理、方法、制品或装置包含不仅包含这些元素, 而是可以包括未明确列出的以及对这些处理、方法、制品或装置为固 有的其他元素。之前为"包括"的元素,除非有更多的限制,不排除 在包括该元素的处理、方法、制品或装置之外存在附加的相同元素。
在此使用的术语"另一个",被定义为至少第二或更多个。如此 处使用的,术语"包括"、"具有"、或其任何变体,被定义为包含。 参照光电技术,在此使用的术语"耦合",被定义为连接,尽管无需 直接相连,以及无需机械相连。当表示将信号、状态位、或类似装置分别呈现为其逻辑真或逻辑 假的状态时,使用术语"断言"或"设置"和"否定"(或"取消断 言"或"清除")。如果逻辑真状态是逻辑电平1,则逻辑假状态是逻 辑电平0。并且,如果逻辑真状态是逻辑电平O,则逻辑假状态是逻辑 电平1。
在此使用的术语"总线"用于表示可用于传递一个或多个不同类 型的信息,诸如数据、地址、控制、或状态,的多个信号或导体
(conductor)。可以将在此所讨论的导体阐述或描述为单个导体、多个 导体、单向导体、或双向导体。然而,不同的实施例可以改变导体的
具体实施。例如,可以使用单独的单向导体而不是双向导体,反之亦 然。而且,也可以用以串行或时分方式传递多个信号的单独导体来代 替多个导体。同样地,可以将承载多个信号的单个导体分割为承载这
些信号的子集的各个不同的导体。因此,对于传递信号存在多个选项。
结合在此披露的说明书和公开的实践,本公开的其它实施例、使 用方法和优点对本领域的技术人员来说将是显而易见的。应当注意, 说明书和附图仅是示例性的,本公开的范围相应地旨在由所附权利要 求和其等效方案来限定。
1权利要求
1.一种方法,包括在处理设备接收存储器访问指令,其中该存储器访问指令包括代表保护访问策略的保护访问说明符;以及在所述处理设备执行由根据所述保护访问策略的所述存储器访问指令所表示的存储器访问。
2. 如权利要求l所述的方法,其中执行存储器访问包括 解码所述存储器访问指令以确定所述保护访问说明符; 基于所述保护访问说明符确定所述保护访问策略;以及 配置所述处理设备以实现所述保护访问策略;以及 响应于对所述处理设备的配置而执行所述存储器访问指令。
3. 如权利要求2所述的方法,其中解码所述存储器访问指令以确 定所述保护访问说明符包括解码所述存储器访问指令的操作码字段 的位以确定所述保护访问说明符。
4. 如权利要求2所述的方法,其中解码所述存储器访问指令以确 定所述保护访问说明符包括解码所述存储器访问指令的位移字段的 位以确定所述保护访问说明符。
5. 如权利要求l所述的方法,其中执行存储器访问包括 响应于所述保护访问说明符具有第一状态而执行保护存储器访问。
6. 如权利要求5所述的方法,其中执行存储器访问包括 响应于所述保护访问说明符具有第二状态而执行非保护存储器访问。
7. 如权利要求l所述的方法,其中执行存储器访问包括 响应于所述保护访问说明符具有选择状态而执行非保护存储器访问。
8. 如权利要求l所述的方法,进一步包括响应于所述保护访问说明符具有第一状态而为包括与所述存储器 访问指令相关的存储器位置的存储器区域重写默认保护访问策略。
9. 如权利要求8所述的方法,进一步包括响应于所述保护访问说明符具有第二状态而为所述存储器区域维 持所述默认保护访问策略。
10. 如权利要求l所述的方法,进一步包括响应于所述保护访问说明符具有选择状态而为包括与所述存储器 访问指令相关的存储器位置的存储器区域维持默认保护访问策略。
11. 一种处理设备,包括处理器核心,被配置为基于存储器访问指令的保护访问说明符来 确定用于所述存储器访问指令的保护访问策略;以及存储器管理单元,被配置为基于所述保护访问策略来促进由所述 存储器访问指令表示的存储器访问。
12. 如权利要求ll所述的处理设备,其中所述处理器核心包括 指令解码器,被配置为解码所述存储器访问指令以确定由所述保护访问说明符所表示的所述保护访问策略以及提供保护访问控制指示 符供所述存储器管理单元接收。
13. 如权利要求12所述的处理设备,其中所述存储器管理单元被 配置为响应于所述保护访问控制指示符具有第一状态而实现用于存储 器事务的第一保护访问策略。
14. 如权利要求13所述的处理设备,其中所述存储器管理单元被 配置为响应于所述保护访问控制指示符具有第二状态而实现用于所述 存储器事务的第二保护访问策略。
15. 如权利要求14所述的处理设备,其中所述第一保护访问策略 包括保护有效访问策略,并且所述第二保护访问策略包括保护无效访 问策略。
16. 如权利要求ll所述的处理设备,其中所述存储器管理单元被 配置为响应于所述保护访问说明符具有第一状态而为包括与该存储器 访问指令相关的存储器位置的存储器区域重写默认保护访问策略。
17. 如权利要求16所述的处理设备,其中所述存储器管理单元被 配置为响应于所述保护访问说明符具有第二状态而为所述存储器区域 维持所述默认保护访问策略。
18. 如权利要求ll所述的处理设备,其中所述保护访问说明符包 括所述存储器访问指令的操作码字段的位。
19. 如权利要求18所述的处理设备,其中所述保护访问说明符包 括所述存储器访问指令的位移字段的位。
全文摘要
一种方法包括在处理设备接收存储器访问指令(402),其中该指令包括代表保护访问策略的保护访问说明符。该方法进一步包括在处理设备执行由根据保护访问策略的存储器访问指令所表示的存储器访问(408)。处理设备(100)包括处理器核心(110),其被配置为基于存储器访问指令(300)的保护访问说明符(310)确定用于存储器访问指令的保护访问策略。处理设备(100)进一步包括存储器管理单元(112),其被配置为基于保护访问策略促进由该存储器访问指令表示的存储器访问。
文档编号G06F12/00GK101558389SQ200780045980
公开日2009年10月14日 申请日期2007年12月12日 优先权日2007年1月3日
发明者威廉·C·莫耶, 查弗里·W·斯科特 申请人:飞思卡尔半导体公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1