根据硬件模式和安全标志限制用于指令读取的存储器区域的制作方法

上传人:ting****789 文档编号:310010652 上传时间:2022-06-14 格式:DOCX 页数:4 大小:20.71KB
返回 下载 相关 举报
根据硬件模式和安全标志限制用于指令读取的存储器区域的制作方法_第1页
第1页 / 共4页
亲,该文档总共4页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《根据硬件模式和安全标志限制用于指令读取的存储器区域的制作方法》由会员分享,可在线阅读,更多相关《根据硬件模式和安全标志限制用于指令读取的存储器区域的制作方法(4页珍藏版)》请在金锄头文库上搜索。

1、根据硬件模式和安全标志限制用于指令读取的存储器区域的制作方法专利名称:根据硬件模式和安全标志限制用于指令读取的存储器区域的制作方法技术领域:本发明涉及数据处理系统的领域。更具体地,本发明涉及具有操作的多种硬件模式的数据处理系统以及根据当前硬件模式来控制存储器访问。背景技术:已知提供了其中处理器具有操作的多种硬件模式的数据处理系统。例如,处理器可以包括特权模式和用户模式的硬件模式来操作。还可能存在用于其它目的的另外的硬件模式。特权模式通常将用于更可信的程序代码,例如操作系统内核,并且将访问比处理器以用户模式操作时更多的存储器区域。用户模式通常将用于不那么可信的程序,例如应用程序。以该方式,可通过

2、使用存储器管理单元或存储器保护单元来防止程序对预定存储器区域的恶意或意外访问,所述存储器管理单元或存储器保护单元对处理器操作的当前模式敏感,并且如果处理器不在特权模式中则防止对存储器预定区域的访问。这种系统内的模型 是相比于用户模式,操作的特权模式可访问更多的系统资源,例如存储器内的区域。可出现的一种类型的恶意安全攻击或者不幸的错误操作是,当在特权模式中运行时,使得系统不适当地执行在用户模式中可写的存储器区域内存储的程序指令。作为一个示例,以该方式,人们可将恶意程序指令写入到在用户模式中可访问的存储器区域并且然后将处理器切换到特权模式,在该模式中当执行从用户模式中可访问的存储器区域读取的恶意程

3、序指令时,可访问存储器的安全区域。发明内容从一个方面来看,本发明提供了用于处理数据的设备,该设备包括处理器,响应于程序指令的流来执行处理操作;和存储器控制电路,连接到所述处理器和存储器并且被配置为控制所述处理器对所述存储器的访问;其中所述处理器具有操作的多种硬件模式,至少包括第一模式和第二模式;所述存储器控制电路控制对所述存储器的访问,以使得(i)当所述处理器处于所述第一模式中时,所述存储器控制电路允许对所述存储器第一部分的写入访问并且至少不允许对所述存储器第二部分的写入访问;以及(ii)当所述处理器处于所述第二模式中时,所述存储器控制电路允许对所述存储器的所述第一部分的写入访问并且允许对所述

4、存储器的第二部分的写入访问;并且所述存储器控制电路响应于具有设置值的安全标志来防止在所述第二模式中所述处理器从所述存储器的所述第一部分读取程序指令以用于由所述处理器执行。本技术认识到实际上对系统来说,当在特权模式中从可在用户模式中写入的存储器区域读取程序指令时,合理地执行那些程序指令是没什么理由的。要在特权模式中执行的代码通常存储在仅可在特权模式中写入的存储器内。这防止了要在特权模式中执行的程序指令被不适当地意外改变以及被恶意地改变。因此,本技术通过使用存储器控制电路防止在特权模式中处理器从可在用户模式中被写入的存储器区域读取程序指令以用于执行,来反对该领域中通常的技术偏见,即相比于用户模式给

5、予特权模式更多的访问权限。存储器控制电路的该动作可通过安全标志被全面开启和关闭,以使得硬件能够支持其中设计者希望在特权模式中执行被存储在用户模式中可写入的存储器区域内的程序指令的系统,同时提供了简单的方式来用安全标志关闭该能力,该安全标志控制了通过存储器控制电路提供的硬件实施机制。将会理解,在上面,硬件模式已被称为特权模式和用户模式,但是本技术不限于在具有这些模式的系统内使用并且可被更通常地用在具有第一模式和第二模式的系统内,其中第二模式相比于第一模式可访问更多的存储器区域,然而选择性地防止第二模式执行从可在第一模式中被写入的存储器区域读取的程序指令。存储器控制电路可响应于控制数据来将存储器内

6、的一个或多个存储器地址区域识别为第一部分的一部分,并且将存储器内的一个或多个存储器地址区域识别为第二部分的一部分。因此,第一部分和第二部分在存储器中不需要相邻并且可由存储器控制电路读取的控制数据来定义。在某些实施例中,这可以是由存储器管理单元读取的存储器页表数据。本技术在其中第一模式是用于执行应用程序的用户模式并且第二模式是至少用于执行操作系统内核程序的特权模式的系统中特别有用。当安全标志具有设置值时,第二模式中操作的处理器可由存储器控制电路允许从存储器的第一部分读取数据值,这是因为这些数据值不被作为要被执行的指令获取,而是作为要被操纵的数据值而被获取到数据路径内。将会理解,存储器控制电路可采

7、取各种不同的形式。存储器控制电路的某些示例是存储器管理单元和存储器保护单元。当处理器在第二模式中时,安全标志可在程序指令控制下被便利地写入,并且当处理器在第一模式中时,安全标志不能在程序指令控制下被写入。以该方式,安全标志提供的安全性不能当在第一模式中操作时通过改变安全标志的值来规避。从另一方面看,本发明提供了用于处理数据的设备,该设备包括处理器装置,用于响应于程序指令的流来执行处理操作;和存储器控制装置,连接到所述处理器装置和存储器装置以用于存储控制所述处理器装置对所述存储器装置的访问的数据;其中所述处理器装置具有操作的多种硬件模式,至少包括第一模式和第二模式;所述存储器控制装置控制对所述存

8、储器装置的访问,以使得(i)当所述处理器装置处于所述第一模式中时,所述存储器控制装置允许对所述存储器装置第一部分的写入访问并且至少不允许对所述存储器装置第二部分的写入访问;以及(ii)当所述处理器装置处于所述第二模式中时,所述存储器控制装置允许对所述存储器装置的所述第一部分的写入访问并且允许对所述存储器装置的第二部分的写入访问;并且所述存储器控制装置响应于具有设置值的安全标志来防止在所述第二模式中所述处理器装置从所述存储器装置的所述第一部分读取程序指令以用于由所述处理器装置执行。从另一个方面看,本发明提供了一种处理数据的方法,所述方法包括以下步骤响应于程序指令的流用处理器执行处理操作;和使用连

9、接到所述处理器和存储器的存储器控制电路来控制所述处理器对所述存储器的访问;其中所述处理器具有操作的多种硬件模式,至少包括第一模式和第二模式;所述存储器控制电路控制对所述存储器的访问,以使得(i)当所述处理器处于所述第一模式中时,所述存储器控制电路允许对所述存储器第一部分的写入访问并且至少不允许对所述存储器第二部分的写入访问;以及(ii)当所述处理器处于所述第二模式中时,所述存储器控制电路允许对所述存储 器的所述第一部分的写入访问并且允许对所述存储器的第二部分的写入访问;并且所述存储器控制电路响应于具有设置值的安全标志来防止在所述第二模式中所述处理器从所述存储器的所述第一部分读取程序指令以用于由

10、所述处理器执行。本发明也可以具有上面特征的虚拟机的形式来实现。现在将参考附图(仅作为示例)来描述本发明的实施例,在附图中图I示意性示出了包括处理器和存储器的数据处理系统;图2是示意性示出了取决于以下项控制存储器读取操作的流程图处理器的硬件模式;读取是否为指令获取;以及读取是否是从用户模式中可访问的存储位置进行;图3示意性示出了用于操作的多种硬件模式以及它们相关的访问权限和典型使用方式;并且图4示意性示出了虚拟机实现方式。具体实施例方式图I示意性示出了包括连接到存储器6的集成电路4的数据处理系统2。集成电路4包括处理器8、存储器接口电路10和存储器管理单元12。在处理器8内提供了通用寄存器库14

11、、乘法器16、移位器18和加法器20,它们形成了用于在程序指令I的控制下从存储器6获取的数据值D上执行处理操作的数据路径。指令预取单元22从存储器6获取的程序指令I被提供到指令管道24。指令管道24控制指令解码器26生成用于数据路径14、16、18、20的控制信号,以便配置和控制数据路径14、16、18、20来执行被解码的程序指令所规定的(一个或多个)期望处理操作。本领域技术人员将会理解,处理器8将通常包含更多的电路元件,出于清楚的目的其从图I中省略。还包括在集成电路4内的是存储器接口电路10和存储器管理单元12。存储器接口电路10负责生成从集成电路4发送到存储器6的存储器访问信号(其可能为读

12、取或写入)。这些存储器访问信号使用存储器6内的物理地址。处理器8使用虚拟地址操作,但是该布置仅为其中可使用本技术的系统的示例。存储器管理单元12使用页表数据30将虚拟地址转换为物理地址。该页表数据为用于存储器管理单元12的控制数据。近期访问的存储器区域的页表数据存储在存储器管理单元12内的转换后备缓冲区28内。如果用于特定存储器访问的页表数据在转换后备缓冲区28内不存在,那么从存储器6内的页表数据30的完整存储获取适当的页表数据。存储器6提供使用存储器接口电路10生成的物理地址寻址的存储器地址空间。存储器6可不提供对应于全部可能的存储器地址空间的存储。存储器地址空间被分为存储器地址区域32、3

13、4、36、38、40、42等。这些存储器地址区域32到42中的每一个具有关联的页表数据,该页表数据由存储器管理单元12用来控制对那些存储器区域的访问。如将由本领域技术人员所理解的,该页表数据可包括表示当处理器8正在特权模式中操作或者正在特权模式或用户模式之一中操作时是否可访问(只读或者读取/写入)有关的存储器地址区域的数据。页表数据的该部分由示出为转换后备缓冲区28 部分的P/U标志数据44来表示。页表数据还包括表示所允许的访问是只读还是读取/写入的R/W标志数据43。图I中示出的表格给出了映射到不同访问权限的P/U标志数据44和R/W标志数据43的不同值的一个示例。存储器地址区域32、34、

14、36、40 起形成了存储器6的第二部分,其在处理器8 处于用户模式中时不是可写的。存储器地址区域32、36和40仅在特权模式中可访问。存储器地址区域34在用户模式中是可以只读访问的,但是在用户模式中不能被写入。存储器地址区域38和42形成了存储器6的第一部分,其在处理器处于用户模式中时可被写入和读取,在处理器8处于特权模式中时可被写入,在处理器8处于特权模式中时可用于数据值的读取,但是在处理器8处于特权模式中时不能用于指令值的读取。该行为在本示例实施例中通过存储器管理单元12来实施。存储器管理单元12从处理器8接收表示处理器8当前处于特权模式还是用户模式的输入信号P/U。存储器管理单元12还从

15、存储器接口电路10接收表示正被执行的存储器访问是涉及指令获取还是数据访问操作的输入信号I/D。使用这些输入信号和存储器管理单元12内的寄存器46内存储的安全标志的值,可实施防止在特权模式中执行从存储器6的第一部分38和42读取的程序指令。图2是示意性示出了存储器管理单元12的部分操作的流程图。将会理解,存储器管理单元12也可以存储器保护单元的形式提供。在步骤48,处理等待,直到在存储器接口电路10处从处理器8接收了存储器读取请求操作。步骤50然后使用到存储器管理单元12的P/U输入信号确定处理器8当前是否处于特权模式中。如果处理器8未处于特权模式中,那么在本简单示例中,处理器8将是处于用户模式

16、中并且处理进行到步骤52。步骤52确定正尝试进行读取访问的存储器地址是否在页表数据30内被标记为仅在特权模式中时可访问。如果存储器地址未标记为仅为特权,那么处理进行到步骤54,在那里允许读取访问。然而,如果存储器地址被标记为仅为特权的地址,那么步骤56防止访问。如果步骤50处的判定为处理器8当前处于特权模式中,那么处理进行到步骤58。步骤58确定当前是否设置了寄存器46内存储的安全标志。如果安全标志被设置(其有设置值),那么将实施不允许处理器8执行从存储器6的第一部分38和42读取的程序指令的策略。如果步骤58处的判定为未设置安全标志,那么处理进行到步骤60,在那里允许访问。如果在步骤58处判定设置了安全标志,那么处理进行到步骤62,在那进行关于正在执行的访问是指令获取还是数据访问的判定。该判定可使用到存储器管理单元12的I/D输入信号来进行。如果正在执行的存储器访问是数据访问,那么处理进行到步骤60,在那里也允许访问。然而,如果在步骤58处判定安全标志被设置并且访问操作在步骤62处判定为指令获取,那么处理进行到步骤64,在那进行关于

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号