CN109791524A - 用于保护工作存储器的方法和设备 - Google Patents

用于保护工作存储器的方法和设备 Download PDF

Info

Publication number
CN109791524A
CN109791524A CN201780061495.0A CN201780061495A CN109791524A CN 109791524 A CN109791524 A CN 109791524A CN 201780061495 A CN201780061495 A CN 201780061495A CN 109791524 A CN109791524 A CN 109791524A
Authority
CN
China
Prior art keywords
storage region
access
class
storage
target area
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201780061495.0A
Other languages
English (en)
Other versions
CN109791524B (zh
Inventor
A.博格
A.舍费尔
G.皮埃尔
G.莫尔根
P.奥斯丁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Robert Bosch GmbH filed Critical Robert Bosch GmbH
Publication of CN109791524A publication Critical patent/CN109791524A/zh
Application granted granted Critical
Publication of CN109791524B publication Critical patent/CN109791524B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/062Securing storage systems
    • G06F3/0622Securing storage systems in relation to access
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • G06F12/1483Protection against unauthorised use of memory or access to memory by checking the subject access rights using an access-table, e.g. matrix or list
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/126Replacement control using replacement algorithms with special data handling, e.g. priority of data or instructions, handling errors or pinning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/145Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being virtual, e.g. for virtual blocks or segments before a translation mechanism
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45583Memory management, e.g. access or allocation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1041Resource optimization
    • G06F2212/1044Space efficiency improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/15Use in a specific computing environment
    • G06F2212/151Emulated environment, e.g. virtual machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Human Computer Interaction (AREA)
  • Mathematical Physics (AREA)
  • Storage Device Security (AREA)

Abstract

一种用于保护工作存储器的方法(10),其特征在于以下特征:将工作存储器的存储区域可选择地分配给第一类或第二类(11);在程序实施之前,至少将第一类的存储区域登记到存储器保护单元的配置表格中(13);并且在程序实施期间请求对第二类的存储区域中的目标区域进行访问(15)的情况下,在准许所述访问(15)之前(Y),将所述目标区域登记到所述配置表格中。

Description

用于保护工作存储器的方法和设备
技术领域
本发明涉及一种用于保护工作存储器的方法。本发明此外涉及一种相应的设备、一种相应的计算机程序以及一种相应的存储介质。
背景技术
在存储器管理中,将操作系统的和所谓的虚拟机监视器的以下能力称作存储器保护:划分可用的工作存储器并且将运行的程序或客户系统相互分离,使得例如通过程序错误触发的、单个程序的崩溃不妨碍其他程序的或总系统的稳定性。以此方式阻止这样被监视的程序:无意地或有意地访问其他程序的存储区域或者与通过标准化的接口不同地利用所述操作系统。
足够已知的是存储器保护单元(memory protection units,MPU)或更复杂的存储器管理单元memory management units,MMU),其支持存储器保护。在后续实施的范围内,名称“存储器保护单元”因此应在广泛的词义上理解,所述词义明确地包括具有翻译虚拟地址的能力的先进的存储器管理单元。
存储器保护单元原先设计为微处理器的外部的附加部件,但是根据现有技术直接集成到高性能处理器中或者至少布置在其附近。然而,传统地仅仅设计用于实施单个应用的嵌入式系统和尤其微控制器也越来越多地配备有虚拟化与存储器保护机制。
DE 10 2014 208 848 A1提出一种用于执行存储器访问的方法和计算机程序。为此,与存储器保护单元结合地使用虚拟机监视器,通过虚拟机监视器实现存储器访问。
发明内容
本发明提供根据独立权利要求所述的一种用于保护工作存储器的方法、一种相应的设备、一种相应的计算机程序——例如以虚拟机监视器或操作系统的形式——以及一种机器可读的存储介质。
所提出的方案在此基于以下认识:可配置的存储区域的和与此相关的访问权限的数目在根据所述类型的硬件存储器保护单元中受限制。该限制随之引起:例如在虚拟机监视器的情况下,由虚拟机(VM)使用的存储区域的数目可能超出硬件的能力。就此而言在任何情况下考虑各个存储区域的合并,该合并限制存储器保护配置的粒度,从而不再能够完全地排除通过虚拟机对确定的存储位置的未经授权的访问。该问题可能通过以下方式加剧:虚拟机监视器预留相应的配置表格的一些项目用于内部的应用或者提供用于虚拟机的虚拟MPU实现,所述虚拟机自身又需要存储器保护单元,以便例如在虚拟机内实现受保护的操作系统。
本发明的一种实施方式的优势在于,该实施方式克服根据所述类型的存储器保护单元的可配置的存储区域的数量限制,以便可以正确地确定由虚拟机直接地以及间接地——例如通过虚拟机监视器使用的全部存储区域。这样的解决方案允许虚拟机不受硬件存储器保护单元的能力限制地访问几乎任意数目的存储区域。
通过在从属权利要求中列出的措施,能够实现在独立权利要求中说明的基本思想的有利的扩展方案和改进。
附图说明
在附图中示出并且在下面的描述中进一步阐述本发明的实施例。其中:
图1示出根据第一实施方式的方法的活动图;
图2示意性示出根据第二实施方式的控制设备。
具体实施方式
图1说明根据本发明的方法(10)的示例性的构型的基本流程。为了接下来的实施目的,应假设,所考虑的系统具有相比存储器保护单元按硬件支持的更大数目的待区分的存储区域。
下面讨论的解决方案在此基于以下基本思想:虚拟机监视器根据需求在运行时间期间更换存储器保护单元的配置项目。该方案给作为虚拟机监视器的客户系统运行的虚拟机提供实施上下文,当所配置的存储区域的数目超出存储器保护单元的数目时,所述实施上下文考虑在所涉及的机器的配置中指定的所有存储区域自身。
所描述的更换在此遵循可配置的借用操作系统理论的置换策略(Verdrängungsstrategie),如其根据现有技术例如对于缓存所应用的那样。例如考虑以下配置项目的调出:所述配置项目的通过MPU的最后的应用过去最久(最近最少使用,LRU)
该实现在此按图遵循以下方案:待配置的存储区域在发展阶段中首先可选择地分配给第一或第二类(活动11)。虚拟机监视器的配置语言为此允许积分器,将各个区域标记为不可调出的(第一类)或可调出的(第二类)。显然,在这种情况下,对于第二类的存储区域始终应保留存储器保护单元的至少一个配置项目,只要至少一个区域已经分配给该类。
在存储区域的分类中应考虑,用于在经调出的存储区域中的机器命令的实施以及用于对这样的存储区域的写与读访问的等待时间可能是可观的。积分器负责决定:哪些存储区域应配置为不可调出的以及哪些应配置为可调出的。相应的——根据相应应用的实时要求——适用于符合目的的置换策略的选择。
然后,虚拟机监视器将第二类的可调出的存储区域以合适的数据结构存储在闪存中(活动12)。对于这种类型的每个区域,结构在此包括所述区域的对于权限检查相关的细节,即尤其由该区域占用的地址空间的边界以及所涉及的客户系统的或过程的所允许的访问类型。在一种替代的实施方式中,在不离开本发明的范围的情况下,根据所进行的分类,仍然可以在代码生成的路径中产生检查例程,所述检查例程例如进行在第一类的区域和第二类的区域之间的情况区分(switch Statement)。
在开始之前,虚拟机监视器通过配置存储器保护单元来设置全部的不可调出的存储区域,其方式是,虚拟机监视器将至少在第一类中包含的区域登记到存储区域的与此相关的配置表格中(活动13)。只要通过配置区分的存储区域的总数目不超出可用的表格项目的总数目,就不需要各个项目的调出。然而,如果所设置的存储区域的数目超出存储器保护单元的能力,则这样的调出在虚拟机的运行时间期间是可能的。
存储器保护单元的“配置表格”的方案尤其包括在现代的存储器管理单元中典型地设置的分页表(page table),所述分页表首先用于将虚拟的存储地址翻译成物理的存储地址。这样的分页表可以是一级式地、多级式地或者为了节省存储空间而倒排地构造,其中,在分页表中的查找可以通过连接在前面的所谓的哈希表来加速。在这种情况下,通过产生分页表项(page table entry,PTE)来进行到分页表中的所述登记(活动13)。
在一种更简单的实施方式中,配置表格可以在无虚拟的存储器管理的情况下仍然通过简单的存储器保护单元的寄存器来体现,如其例如在AUTOSAR-发展伙伴关系的范围中设置用于分离根据所述类型的控制设备(electronic control unit:电子控制单元,ECU)的不同的软件部件(Software components,SW-C)那样。配置表格的对于电子技术人员已知为“地区(Region)”的项目——典型地根据模型在每MPU为2个和32个之间的这样的地区——在这种情况下表示AUTOSAR的意义上的所谓的分区,所述分区作为相互限界的保护空间分别又可以包括多个软件部件。对于这些地区中的每一个,MPU的寄存器内容在此通过与制造商相关的比特序列说明对于相应的分区允许的访问类型,其中,有时进一步在通过“有特权的”软件和“无特权的”软件的访问之间进行区分。
如果虚拟机在程序实施期间请求对由第二类包括的并且因此基本上可调出的、但是已经在存储器保护单元中预先配置的存储区域的访问——这种情况在图上未示出,则不需要通过虚拟机监视器的干预。然而,如果在程序实施期间请求对第二类的存储区域中的目标区域的访问,所述目标区域当前没有登记在配置表格中(事件15),则采取通过存储器保护单元定义的异常处理。虚拟机监视器提供对于该目的登记的异常处理例程(exceptionhandler),所述异常处理例程解码触发异常的机器命令(活动14)并且以此方式获得访问类型--读、写或实施--以及所请求的访问的目标地址(活动16)。根据该信息以及在活动12中存储的数据结构,异常处理例程经历权限检查的所设置的访问(判断19)并且在其未命中的情况下(分支N),将虚拟机置于所定义的错误状态,所述错误状态促使虚拟机监视器进行预先配置的错误响应(活动17)如虚拟机的重新启动那样。存储器保护单元在这种情况下根据在配置表格中存储的权限将未经授权地对受保护的地址空间访问的尝试识别为所谓的区段错误(segmentation violation:区段违规、segmentation fault:区段错误、 segfault)或者访问违反(access violation:访问违规)并且将这向虚拟机监视器进行信令化。在类UNIX的操作系统下,该信令化可以例如通过异常条件 SIGSEGV、在具有IA-32或x86-架构的微处理器或性能更好的微控制器的情况下通过中断(Interrupt)进行。
如果基于成功进行的权限检查(19)准许所请求的访问(分支Y),则异常处理例程(16,17,18,19,Y,N)根据预先配置的置换策略在第二类的当前在存储器保护单元的配置表格中登记的存储区域下选择用于调出的区域。由该被丢弃的区域占据的项目现在以以下存储区域来填充:所请求的访问涉及所述存储区域(活动18)。该目标区域——基本上通过由该目标区域占用的地址空间的以及所允许的访问类型的边界定义——可以再一次地从在活动12中存储的数据结构获得。因此,最后可以结束异常处理(16,17,18,19,Y,N),继续虚拟机中的控制流并且现在起在无存储器区段错误的情况下重新执行请求访问的机器命令(14)。
该方法(10)可以例如以软件或硬件或者以由软件和硬件组成的混合形式例如在控制设备(20)中实现,如图2的示意图说明的那样。

Claims (10)

1.一种用于利用存储器保护单元保护工作存储器的方法(10),其特征在于以下特征:
将所述工作存储器的存储区域可选择地分配给第一类或第二类(11),
在程序实施之前,至少将所述第一类的存储区域登记到所述存储器保护单元的配置表格中(13),并且
在程序实施期间请求对所述第二类的存储区域中的目标区域进行访问(15)的情况下,在准许所述访问(15)之前(Y),将所述目标区域登记到所述配置表格中。
2.根据权利要求1所述的方法(10),其特征在于以下特征:
通过异常处理例程(16,17,18,19,Y,N)处理所请求的访问(15),
所述异常处理例程(16,17,18,19,Y,N)至少根据所述目标区域进行权限检查(19),以及
如果所述权限检查(19)未命中(N),则所述异常处理例程(16,17,18,19,Y,N)触发预先配置的错误响应(17)。
3. 根据权利要求2所述的方法(10),其特征在于以下特征:
所述异常处理例程(16,17,18,19,Y,N)根据请求所述访问(15)的机器命令(14)解码访问类型和在所述目标区域内的以下目标地址:所述访问(15)涉及所述目标地址,以及
此外根据所述访问类型和所述目标地址进行所述权限检查(19)。
4. 根据权利要求3所述的方法(10),其特征在于以下特征:
此外将所述第二类的至少一个存储区域登记到所述配置表格中(13),以及
如果准许所述访问(15)(Y),则所述异常处理例程(16,17,18,19,Y,N)通过所述目标区域取代所述配置表格中的所述存储区域并且促使所述机器命令(14)的重新执行。
5. 根据权利要求4所述的方法(10),其特征在于以下特征:
将所述第二类的多个存储区域登记到所述配置表格中(13),以及
如果准许所述访问(15)(Y),则所述异常处理例程(16,17,18,19,Y,N)根据预先配置的置换策略选择所述第二类的所登记的存储区域中的一个存储区域,并且通过所述目标区域取代所述配置表格中的所选择的存储区域并且促使所述机器命令(14)的重新执行。
6. 根据权利要求2至5中任一项所述的方法(10),其特征在于以下特征:
根据所述第二类的存储区域,在程序实施之前产生检查例程,以及
所述权限检查(19)包括所述检查例程的调用。
7. 根据权利要求2至5中任一项所述的方法(10),其特征在于以下特征:
将所述第二类的存储区域以一种数据结构优选存储在闪存中(12),以及
此外根据所述数据结构进行所述权限检查(19)。
8.一种计算机程序、尤其虚拟机监视器或操作系统,其被设置用于实施根据权利要求1至7中任一项所述的方法(10)。
9.一种机器可读的存储介质,在其上存储有根据权利要求8所述的计算机程序。
10.一种设备(20),其被设置用于实施根据权利要求1至7中任一项所述的方法(10)。
CN201780061495.0A 2016-10-04 2017-09-20 用于保护工作存储器的方法和设备 Active CN109791524B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
DE102016219202.7 2016-10-04
DE102016219202.7A DE102016219202A1 (de) 2016-10-04 2016-10-04 Verfahren und Vorrichtung zum Schützen eines Arbeitsspeichers
PCT/EP2017/073743 WO2018065213A1 (de) 2016-10-04 2017-09-20 Verfahren und vorrichtung zum schützen eines arbeitsspeichers

Publications (2)

Publication Number Publication Date
CN109791524A true CN109791524A (zh) 2019-05-21
CN109791524B CN109791524B (zh) 2023-11-07

Family

ID=59982351

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780061495.0A Active CN109791524B (zh) 2016-10-04 2017-09-20 用于保护工作存储器的方法和设备

Country Status (6)

Country Link
US (1) US20190227724A1 (zh)
JP (1) JP6788748B2 (zh)
KR (1) KR102523763B1 (zh)
CN (1) CN109791524B (zh)
DE (1) DE102016219202A1 (zh)
WO (1) WO2018065213A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7006461B2 (ja) * 2018-04-02 2022-01-24 株式会社デンソー 電子制御装置および電子制御システム

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11242633A (ja) * 1998-02-26 1999-09-07 Hitachi Ltd メモリ保護方式
US6223256B1 (en) * 1997-07-22 2001-04-24 Hewlett-Packard Company Computer cache memory with classes and dynamic selection of replacement algorithms
US20060036830A1 (en) * 2004-07-31 2006-02-16 Dinechin Christophe De Method for monitoring access to virtual memory pages
US20070113044A1 (en) * 2004-01-16 2007-05-17 Day Michael N Method and Apparatus for Preloading Translation Buffers
CN101008923A (zh) * 2007-01-26 2007-08-01 浙江大学 面向异构多核体系的分段式存储空间管理方法
US20110047543A1 (en) * 2009-08-21 2011-02-24 Preet Mohinder System and Method for Providing Address Protection in a Virtual Environment
US20120317589A1 (en) * 2011-06-08 2012-12-13 The Mathworks, Inc. Methods and systems for setting access to a list of class entities
CN103460179A (zh) * 2011-03-30 2013-12-18 英特尔公司 用于透明地对应用程序进行插桩的方法和设备
US20150356029A1 (en) * 2013-02-05 2015-12-10 Arm Limited Handling memory access operations in a data processing apparatus
CN105354155A (zh) * 2015-12-03 2016-02-24 上海高性能集成电路设计中心 一种基于页表检查机制的存储器访问权限控制方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6356989B1 (en) * 1992-12-21 2002-03-12 Intel Corporation Translation lookaside buffer (TLB) arrangement wherein the TLB contents retained for a task as swapped out and reloaded when a task is rescheduled
JP2757777B2 (ja) * 1994-05-26 1998-05-25 住友金属工業株式会社 メモリの不正アクセス検出方法及びシステム
US5574922A (en) * 1994-06-17 1996-11-12 Apple Computer, Inc. Processor with sequences of processor instructions for locked memory updates
US5918250A (en) * 1995-05-05 1999-06-29 Intel Corporation Method and apparatus for preloading default address translation attributes
US8112618B2 (en) * 2004-04-08 2012-02-07 Texas Instruments Incorporated Less-secure processors, integrated circuits, wireless communications apparatus, methods and processes of making
EP1870814B1 (en) * 2006-06-19 2014-08-13 Texas Instruments France Method and apparatus for secure demand paging for processor devices
US20080028181A1 (en) * 2006-07-31 2008-01-31 Nvidia Corporation Dedicated mechanism for page mapping in a gpu
US8880844B1 (en) * 2010-03-12 2014-11-04 Trustees Of Princeton University Inter-core cooperative TLB prefetchers
US9405700B2 (en) * 2010-11-04 2016-08-02 Sonics, Inc. Methods and apparatus for virtualization in an integrated circuit
US20140101405A1 (en) * 2012-10-05 2014-04-10 Advanced Micro Devices, Inc. Reducing cold tlb misses in a heterogeneous computing system
US9201806B2 (en) * 2013-01-04 2015-12-01 International Business Machines Corporation Anticipatorily loading a page of memory
DE102014208848A1 (de) 2014-05-12 2015-11-12 Robert Bosch Gmbh Verfahren zum Überwachen eines elektronischen Sicherheitsmoduls

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6223256B1 (en) * 1997-07-22 2001-04-24 Hewlett-Packard Company Computer cache memory with classes and dynamic selection of replacement algorithms
JPH11242633A (ja) * 1998-02-26 1999-09-07 Hitachi Ltd メモリ保護方式
US20070113044A1 (en) * 2004-01-16 2007-05-17 Day Michael N Method and Apparatus for Preloading Translation Buffers
US20060036830A1 (en) * 2004-07-31 2006-02-16 Dinechin Christophe De Method for monitoring access to virtual memory pages
CN101008923A (zh) * 2007-01-26 2007-08-01 浙江大学 面向异构多核体系的分段式存储空间管理方法
US20110047543A1 (en) * 2009-08-21 2011-02-24 Preet Mohinder System and Method for Providing Address Protection in a Virtual Environment
CN103460179A (zh) * 2011-03-30 2013-12-18 英特尔公司 用于透明地对应用程序进行插桩的方法和设备
US20120317589A1 (en) * 2011-06-08 2012-12-13 The Mathworks, Inc. Methods and systems for setting access to a list of class entities
US20150356029A1 (en) * 2013-02-05 2015-12-10 Arm Limited Handling memory access operations in a data processing apparatus
CN105354155A (zh) * 2015-12-03 2016-02-24 上海高性能集成电路设计中心 一种基于页表检查机制的存储器访问权限控制方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
肖建青;李红桥;张洵颖;龚龙庆;: "SPARC V8处理器中存储管理单元的设计", 科学技术与工程, no. 31, pages 7810 - 7815 *

Also Published As

Publication number Publication date
KR102523763B1 (ko) 2023-04-20
US20190227724A1 (en) 2019-07-25
DE102016219202A1 (de) 2018-04-05
CN109791524B (zh) 2023-11-07
KR20190059955A (ko) 2019-05-31
WO2018065213A1 (de) 2018-04-12
JP2019535093A (ja) 2019-12-05
JP6788748B2 (ja) 2020-11-25

Similar Documents

Publication Publication Date Title
JP5969550B2 (ja) パフォーマンスカウンタの仮想化
US9747218B2 (en) CPU security mechanisms employing thread-specific protection domains
KR101253394B1 (ko) 컴퓨팅 환경의 다중 페이징가능 게스트에 의한 스토리지 사용의 관리
EP1966706B1 (en) Identifier associated with memory locations for managing memory accesses
JP6902029B2 (ja) 有界ポインタを管理するための装置および方法
US20150347052A1 (en) Virtualisation supporting guest operating systems using memory protection units
US10354092B2 (en) Handling access attributes for data accesses
US11442771B2 (en) Constraints on updating or usage of memory system component resource control parameters
CN110574009B (zh) 用于管理对能力的使用的设备和方法
JP7359837B2 (ja) メモリ・システム内に記憶されているメモリ保護テーブルを使用するメモリ保護ユニット
KR102528701B1 (ko) 자격 도메인을 관리하는 장치 및 방법
CN109313693B (zh) 针对偶发存储器访问程序指令的许可控制
EP2996043B1 (en) Debugging in a data processing apparatus
US11237985B2 (en) Controlling allocation of entries in a partitioned cache
CN109791524A (zh) 用于保护工作存储器的方法和设备
CN118069403A (zh) 一种异常指令的处理方法
CN112449698A (zh) 针对存储在存储器系统中的控制表的二分搜寻过程

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant