用于在某些情况下当执行硬件表移动(HWTW)时防止对寄存器的内容进行未授权的存取的方法和装置制造方法及图纸

技术编号:12270499 阅读:155 留言:0更新日期:2015-11-04 17:06
一种安全装置和方法具有安全算法,该安全算法防止对由于在硬件表移动期间执行预测算法而已经被加载到计算机系统的存储元件中的物理地址(PA)的内容进行未授权的访问,所述预测算法使用预测器基于虚拟地址(VA)来预测PA。当预测器被启用时,具有系统知识的人员可能配置预测器来使被存储在主存储器的安全部分的PA处的内容被加载到TLB中的寄存器中。以这种方式,不应当使用被存储在主存储器的安全部分中的内容的人员能够间接地获得对这些内容的未授权的存取。该装置和方法通过在某些情况下遮掩该内容来防止这样的对内容的未授权的存取。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及计算机系统,而更具体地说,涉及一种用于在某些情况下防止对在硬件表移动(HffTW)期间已经被加载到寄存器中的物理内存地址的内容进行未授权的存取的方法和装置。
技术介绍
现代计算机系统使用内存管理单元(MMU)来管理向一个或多个物理存储设备(诸如例如固态存储设备)写数据以及从一个或多个物理存储设备读取数据。计算机系统的MMU向计算机系统的中央处理单元(CPU)提供虚拟内存,其允许CPU在其自己专用的、连续的虚拟内存地址空间上运行每一个应用程序,而不是使所有的应用程序共享物理内存地址空间,所述物理内存地址空间经常是成碎片的或非连续的。MMU的目的是针对CPU将虚拟内存地址(VA)转化成物理内存地址(PA)。CPU通过直接地对MMU读和写VA来间接地读和写PA,所述MMU将VA转化成PA,并且然后写或读PA。为了执行该转化,MMU存取被存储在系统主存储器中的页表。该页表由页表的条目组成。该页表的条目是由MMU使用来将VA映射成PA的信息。MMU通常包括转换旁路缓冲器(TLB),其是被用于缓存最近使用的映射的高速缓冲存储器单元。当MMU需要将VA转化成PA时,MMU首先检查TLB以确定是否存在针对该VA的匹配。如果有,则MMU使用在TLB中找到的映射来计算PA,并且然后存取PA(即,读或写PA)。这被称为TLB “命中”。如果MMU没有在TLB中找到匹配,则这被称为TLB “未中”。在TLB未中事件中,MMU执行被称为硬件表移动(HffTW)的操作。HffTW是耗时的且计算上开销很高的过程,所述过程涉及执行“表移动”,以在MMU中查找相应的页表,并且在页表中读取多个位置,以查找相应的VA-至-PA的地址映射。然后,MMU使用该映射来计算相应的PA,并且将该映射写回到TLB。在实现操作系统(OS)虚拟化的计算机系统中,将虚拟内存监视器(VMM)(通常还被称为系统管理程序)插入到计算机系统的硬件与计算机系统的系统OS之间。系统管理程序在特权模式下执行,并且能够主管一个或多个客户高级OS。在这样的系统中,运行在OS上的应用程序使用虚拟内存的第一层的VA来对内存寻址,以及运行在系统管理程序上的OS使用虚拟内存的第二层的中间物理地址(IPA)来对内存寻址。在MMU中,执行阶段I (SI)转化,以将每一个VA转化成IPA,以及执行阶段2 (S2)转化,以将每一个IPA转化成PA0如果在执行这样的转化时发生TLB未中,则执行多级的、二维(2-D)的HWTW,以获得计算相应的IPA和PA需要的表条目。执行这些多级的、2-D的HWTW,能够引起MMU的大量计算开销,其通常导致性能代偿。图1是当执行读事务时发生TLB未中时执行已知的、三级的、2-D的HffTW的插图。图1中示出的HffTW表示针对三级的、2-D的HffTW的最坏情况的场景,需要十五次表查找的执行来在数据被存储在物理内存中的地方获得PA。针对这个示例,计算机系统的MMU正在运行主管至少一个客户高级OS(HLOS)的系统管理程序,继而,其正运行至少一个应用程序。在这样的配置中,正被客户HLOS分配的内存不是系统的真实的物理内存,而是上述的中间物理内存。系统管理程序分配真实的物理内存。因此,将每一个VA转化成IPA,然后,将IPA转化成读取的数据实际被存储的地方的真实物理内存的PA。该过程开始于MMU接收SI页全局目录(P⑶)IPA 2。针对这个最坏情况场景的示例,将假设的是,在MMU针对匹配检查TLB时发生TLB未中。因为该未中,MMU必须执行HWTW。HffTW涉及执行三次S2表查找3、4和5,以获得将IPA 2转变成PA所需的映射,以及一次额外的查找6来读取PA。表查找3、4和5分别涉及读取S2 P⑶、页中间目录(PMD)和页表条目(PTE)。在查找6处读取PA为MMU提供SI PMD IPA 7。针对这个最坏情况场景的示例,将假设的是,当MMU针对匹配利用SI PMD IPA 7来检查TLB时发生TLB未中。因为该文中,所以MMU必须执行另一 HWTW。该HffTW涉及执行三次S2表查找8、9和11,以获得将SI PMD IPA 7转变成PA所需的映射,以及一次额外的查找12来读取PA。表查找8、9和11分别涉及读取S2 P⑶、PMD和PTE。在查找12处读取PA为MMU提供SI PET IPA 13。针对这个最坏情况场景的示例,将假设的是,当MMU针对匹配利用SI PTE IPA 13来检查TLB时发生TLB未中。因为该未中,MMU必须执行另一 HWTW。该HffTW涉及执行三次S2表查找14、15和16,以获得将SI PTE IPA 13转变成PA所需的映射,以及一次额外的查找17来读取PA。表查找14、15和16分别涉及读取S2 PGff,PMD和PTE。在查找17处读取PA为MMU提供真实的IPA 18。针对这个最坏情况场景的示例,将假设的是,当MMU针对匹配利用真实的IPA 18来检查TLB时发生TLB未中。因为该未中,MMU必须执行另一 HWTW。该HffTW涉及执行三次S2表查找19、21和22,以获得将真实的IPA 18转变成PA所需的映射。表查找19、21和22分别涉及读取S2 P⑶、PMD和PTE。然后,读取PA来获得相应的读数据。在查找18处读取PA为MMU提供SI PTE IPA 13。因此,能够看出的是,在针对三级的、2-D的HffTW的最坏情况场景下,执行了 12次S2表查找和三次SI表查找,其是消耗大量时间并导致性能代偿的大量计算开销。已经使用各种各样的技术和架构来降低在执行HffTW中涉及的时间和处理开销的量,包括,例如,增加TLB的大小,使用多个TLB,使用平面嵌套的页表,使用影子分页或推测的影子分页,以及使用页移动高速缓冲存储器。虽然所有的这些技术和架构能够降低与执行HffTW相关联的处理开销,但是,它们经常导致计算机系统中别的地方的处理开销的增加。因此,存在针对降低执行HffTW需要的时间和计算资源的量的计算机系统和方法的需求。还存在针对用于防止对在HffTW期间已经被加载到TLB中的PA的内容进行未授权的存取的方法和装置的需求。
技术实现思路
本专利技术针对一种用于防止对在执行HffTW期间已经被加载到计算机系统的存储元件中的PA的内容进行未授权的存取的安全装置和方法。该安全装置和方法检测某些条件,以确定是否应当防止对该内容进行存取,包括检测是否使用预测算法来基于PA预测VA。该装置包括安全逻辑单元,其被配置为如果当针对PA的内容检查TLB时发生未中,则确定预测算法当前是否被启用,其中该预测算法将PA作为IPA的函数进行预测。该安全逻辑单元被配置为当预测算法当前被启用时,防止存储元件的内容被无特权的实体存取。该方法包括:提供安全逻辑单元;如果当针对PA的内容检查TLB时发生未中,则利用安全逻辑单元确定预测算法当前是否被启用,所述预测算法将PA作为IPA的函数进行预测;以及如果安全逻辑单元确定预测算法当前被启用,则安全逻辑单元防止存储元件的内容被无特权的实体存取。本专利技术还针对非暂时性计算机可读介质(CRM),其具有存储于其上以由计算机系统的一个或多个处理器执行的用于防止对在执行HffTW期间已本文档来自技高网
...
<a href="http://www.xjishu.com/zhuanli/55/CN105027097.html" title="用于在某些情况下当执行硬件表移动(HWTW)时防止对寄存器的内容进行未授权的存取的方法和装置原文来自X技术">用于在某些情况下当执行硬件表移动(HWTW)时防止对寄存器的内容进行未授权的存取的方法和装置</a>

【技术保护点】
一种用于防止对在执行硬件表移动(HWTW)期间已经被加载到计算机系统的存储元件中的物理地址(PA)的内容进行未授权的存取的所述计算机系统的装置,所述装置包括:安全逻辑单元,其被配置为如果当针对所述PA的内容检查转换旁路缓冲器(TLB)时发生未中,则确定预测算法当前是否被启用,所述预测算法将PA作为中间物理地址(IPA)的函数进行预测,其中,如果所述安全逻辑单元确定所述预测算法当前被启用,则所述安全逻辑单元被配置为防止所述存储元件的内容被无特权的实体存取。

【技术特征摘要】
【国外来华专利技术】...

【专利技术属性】
技术研发人员:T·曾A·托兹尼T·R·曾P·J·博斯特利
申请(专利权)人:高通股份有限公司
类型:发明
国别省市:美国;US

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

1