CN105144122A - 外部可编程存储器管理单元 - Google Patents
外部可编程存储器管理单元 Download PDFInfo
- Publication number
- CN105144122A CN105144122A CN201480013945.5A CN201480013945A CN105144122A CN 105144122 A CN105144122 A CN 105144122A CN 201480013945 A CN201480013945 A CN 201480013945A CN 105144122 A CN105144122 A CN 105144122A
- Authority
- CN
- China
- Prior art keywords
- processor
- configuration values
- address
- instruction
- register
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1009—Address translation using page tables, e.g. page table structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1027—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
- G06F12/1036—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] for multiple virtual address spaces, e.g. segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/109—Address translation for multiple virtual address spaces, e.g. segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1008—Correctness of operation, e.g. memory ordering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1048—Scalability
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1052—Security improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/65—Details of virtual memory and virtual address translation
- G06F2212/657—Virtual address space management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Stored Programmes (AREA)
Abstract
本发明涉及一种方法,所述方法包含由处理器从存储装置或存储器管理单元读取一个或多个配置值。所述方法还包含将所述一个或多个配置值加载到所述处理器的一个或多个寄存器中。所述一个或多个寄存器可由所述处理器使用以执行地址转换。
Description
相关申请案的交叉参考
本申请案主张2013年3月14日申请的共同拥有的美国非临时专利申请案第13/828,718号的优先权且涉及2013年3月14日申请的同在申请中的美国非临时专利申请案第13/829,023号。这些申请案中的每一者的内容是以全文引用的方式并入。
技术领域
本发明大体上涉及存储器管理单元(MMU)。
背景技术
技术的进步已产生更小且更强大的计算装置。举例来说,当前存在多种便携式个人计算装置,包含无线计算装置,例如较小、轻重量且易于由用户携带的便携式无线电话、个人数字助理(PDA)、平板计算机和寻呼装置。许多这些计算装置包含并入其中的其它装置。举例来说,无线电话还可包含数字静态相机、数字视频相机、数字记录器和音频文件播放器。而且,这些计算装置能够处理可执行指令,包含软件应用,例如网页浏览器应用,其可用以访问利用静态或视频摄像机且提供多媒体播放功能性的英特网和多媒体应用。
例如移动电话的电子装置可包含多个处理器。举例来说,移动电话可包含中央处理单元(CPU)(有时被称作为应用处理器)和数字信号处理器(DSP)。每一处理器可比其它处理器更适合处理执行特定计算任务。举例来说,CPU(其可充当主要处理器且可执行移动电话操作系统)在执行例如网页浏览器及用户界面代码的“控制代码”时可能更高效。另一方面,DSP在执行信号处理及其它数学密集功能时可能比CPU高效。
在一些多处理器装置中,所述处理器中的一者可充当“主要”处理器且其余处理器可充当“次要”处理器。主要处理器可设定关于次要处理器可以做什么和不可以做什么的准则。另外,主要处理器可迫使次要处理器关于某些配置信息依赖于主要处理器,而非在次要处理器处计算这一配置信息。出于安全性目的,主要处理器可限制次要处理器计算这一配置信息(例如,以避免多个次要处理器尝试定义同一配置信息的情形,此可导致数据完整性、死锁等的丢失)。
发明内容
揭示存储器管理单元(MMU)和供所述MMU使用的可执行指令。有利地,所述可包含于次要处理器内或耦合到次要处理器且可提供与主要处理器兼容的外部可编程接口,因此所述主要处理器能够编程配置值以供第二处理器的MMU使用。所述MMU还可提供不需要由所述主要处理器进行的外部编程的内部接口,因此所述次要处理器可执行不受所述主要处理器限制的操作而不必依赖于所述主要处理器。
在一特定实施例中,一种设备包含到第一处理器的接口。所述设备还包含第二处理器,所述第二处理器包含存储器管理单元。所述设备进一步包含存储一个或多个配置值的存储器装置。所述第一处理器经配置以使用所述接口将所述一个或多个配置值编程到所述存储器装置中。所述第二处理器经配置以使用所述一个或多个配置值执行地址转换。举例来说,所述接口可匹配系统MMU(SMMU)的接口(例如,可“SMMU兼容”),且所述接口可由所述第一处理器使用以编程地址转换表的位置以供所述第二处理器使用。
在另一特定实施例中,一种非暂时性计算机可读媒体存储可由处理器执行以执行操作的指令,所述操作包含从存储器管理单元的存储装置读取一个或多个配置值。所述操作还包含将所述一个或多个配置值加载到处理器的一个或多个寄存器中。所述一个或多个寄存器可由所述处理器使用以执行地址转换。
在另一特定实施例中,一种非暂时性计算机可读媒体存储可由处理器执行以执行操作的指令,所述操作包含从存储器读取一个或多个配置值和将所述一个或多个配置值加载到处理器的一个或多个寄存器中。所述一个或多个寄存器通过所述指令排他性地可写入。所述一个或多个配置值可由所述处理器使用以执行地址转换。
在另一特定实施例中,一种方法包含由处理器从相关联于所述处理器的存储器管理单元的存储装置读取一个或多个配置值。所述方法还包含将所述一个或多个配置值加载到所述处理器的一个或多个寄存器中。所述一个或多个寄存器可由所述处理器使用以执行地址转换。
在另一特定实施例中,一种设备包含用于处理的第一装置和用于介接到用于处理的所述第一装置的装置。所述设备还包含用于处理的第二装置。用于处理的所述第二装置包含存储器管理单元。所述设备进一步包含用于存储一个或多个配置值的装置。用于处理的所述第一装置经配置以使用用于介接的所述装置将所述一个或多个配置值编程到用于存储的所述装置中。用于处理的所述第二装置经配置以使用所述一个或多个配置值执行地址转换。
所揭示实施例中的至少一个实施例所提供的一个特定优点是可由主要处理器使用以编程用于次要处理器的地址转换的外部可编程MMU。在检视整个申请案后,将明白本发明的其它方面、优点和特征,申请案包含以下部分:附图说明、具体实施方式和权利要求书。
附图说明
图1为说明包含外部可编程存储器管理单元(MMU)的系统的特定实施例的框图;
图2为说明存取外部可编程MMU的方法的特定实施例的流程图;
图3为说明执行指令以选择性地使用外部可编程MMU的方法的特定实施例的流程图;且
图4为包含外部可编程MMU的无线装置的框图。
具体实施方式
图1为说明包含外部可编程存储器管理单元(MMU)的系统100的特定实施例的框图。在系统100中,“主要”处理器(例如,中央处理单元(CPU))110可经由接口120编程用于“次要”处理器(例如,数字信号处理器(DSP))130的配置值。接口120可匹配系统存储器管理单元(SMMU)(也被称作输入/输出MMU(IOMMU))的接口。SMMU兼容接口120可与主要处理器110兼容以供主要处理器110进行外部编程。举例来说,SMMU接口可为标准化存储器管理接口。SMMU兼容接口120可通过主要处理器110存取以编程配置值(例如,一个或多个地址转换表的一个或多个地址),如本文中所进一步描述。处理器110可被视为“主要”处理器且处理器130可被视为“次要”处理器,这是因为处理器130依赖处理器110来编程某些配置值,而不是处理器130自己编程所述配置值。
主要处理器110和次要处理器130可与不同指令集结构相关联。举例来说,主要处理器110可与CPU特定指令集结构相关联且次要处理器130可与DSP特定指令集结构相关联。每一处理器110、130可包含一个或多个处理单元、核心和/或硬件线程,如本文中所进一步描述。多线程处理器可以经由具有同时执行的多个硬件执行上下文来实施,或实施为具有单一硬件执行上下文的多个处理器(例如,对称多处理(SMP)群集)。应注意,本文中对CPU和DSP的描述仅用于举例。其它处理器或处理器的集合(例如,网络处理单元(NPU)、图形处理单元(GPU)等)也可包含于系统100中。
三个类型的存储器地址可用于系统100中:虚拟地址(VA)、中间物理地址(IPA)(也被称作伪物理地址)以及物理地址(PA)。每一虚拟地址可与虚拟地址空间相关联,且每一中间物理地址可与中间物理地址空间相关联。可用以直接存取存储器(例如,随机存取存储器(RAM)、基于磁盘的存储器、缓存、寄存器存储器等)和记忆体映射装置(例如,输入/输出(I/O)装置)的区域的物理地址可属于单一物理地址空间。当在系统100中使用虚拟地址、中间物理地址以及物理地址时,可在系统100中定义两个类型的地址转换映射。第一类型的地址转换映射可为虚拟地址到中间物理地址,且第二类型的地址转换映射可为中间物理地址到物理地址。因此,系统100中的用于虚拟地址的“完全”地址转换映射可包含从虚拟地址到中间物理地址的“第一阶段”转换,继之以从中间物理地址到物理地址的“第二阶段”转换。
主要处理器110可使用接口120来编程次要处理器130能够用来执行地址转换的信息。举例来说,接口120可存储地址转换表的地址。所述地址转换表可存储在存储器(例如,随机存取存储器(RAM))中并且可定义VA到IPA转换和/或IPA到PA转换。在图1的实例中,主要处理器110编程第一地址转换表的第一地址121和第二地址转换表的第二地址122。应注意,虽然在图1中示出两个地址121、122(例如,基址),但是可经由接口120编程多于或少于两个的地址。
次要处理器130可包含存储器管理单元(MMU)131和一个或多个寄存器132(例如,作为寄存器档案的部分)。次要处理器130可支持用以选择性地检索配置值且将配置值从接口120加载到寄存器132中的指令133的执行。在图1中,指令133经指定为“LOAD_STREAMID”指令。LOAD_STREAMID指令133可包含一个或多个操作数。举例来说,LOAD_STREAMID指令133可包含索引操作数(indexoperand)。在执行时,LOAD_STREAMID指令133可使用所述索引操作数来存取存储在MMU131的存储装置中的表134以存取指向配置块的指针。举例来说,图1说明表134以索引0存储指向配置块0(其包含第一地址转换表的第一地址121)的指针且以索引1存储指向配置块1(其包含第二地址转换表的第二地址122)的指针。所述配置块还可包含其它处理和来宾环境参数。指向配置块的指针可在外部通过主要处理器110编程和/或可由次要处理器130确定。
一个或多个寄存器132可用以存储通过主要处理器110编程且通过次要处理器130检索的配置值。举例来说,如图1中所示,第一地址121和第二地址122可从接口120检索并且存储在寄存器132中。加载到寄存器132中的值可由次要处理器130使用以执行地址转换。举例来说,加载到寄存器132中的值可由次要处理器130用以存取存储从虚拟地址到物理地址的变换的地址转换表(例如,在加载、存储或提取操作期间)。应注意,虽然示出一组寄存器132,但这一情况仅用于举例说明。在特定实施例中,次要处理器130为多线程处理器或多处理器装置的部分,且不同组的寄存器132被用于每一硬件线程或硬件处理器。
接口120可为次要处理器130的MMU131的外部可编程扩展或对应物。应注意,虽然接口120在图1中经说明为在次要处理器130外,但是这一情况仅用于举例说明。在替代实施例中,接口120的全部或一部分可集成在次要处理器130内。
在操作期间,主要处理器110可将地址121、122编程到接口120中。次要处理器130可使用指令133将地址121、122加载到寄存器132中,因此,例如,次要处理器130的页表查看器(pagetablewalker)可使用寄存器132来执行地址转换。在一特定实施例中,出于安全性目的,寄存器132可通过指令133进行排他性地写入。即,虽然其它指令可能能够对次要处理器130的其它寄存器进行写入,但是仅指令133被准许对寄存器132进行写入。举例来说,寄存器132是否为可写的可取决于由次要处理器130从主要处理器110接收(例如,经由处理器间连接)的信号的值。在另一特定实施例中,次要处理器130可被准许在某些情形下对寄存器132进行选择性写入(例如,在次要处理器130处执行调试而不涉及主要处理器110且不必执行软件指令)。
次要处理器130可使用加载到寄存器132中的经外部编程的配置值来执行地址转换。举例来说,次要处理器130可使用存储在寄存器132中的配置值(例如,基址)来执行VA到IPA转换和/或IPA到PA转换。
应注意,虽然主要处理器110和次要处理器130经说明为单独处理器,但这一情况仅用于举例说明。在替代实施例中,主要处理器110和次要处理器130可为同一处理器(即,所描述技术可由处理器来实现MMU的自编程)。
在一特定实施例中,图1的系统100可集成到虚拟机管理程序控制的计算环境中。举例来说,主要处理器110可与“主要”虚拟机管理程序相关联且次要处理器130可与“次要”虚拟机管理程序相关联。在这种情况下,处理器110、130中的每一者可调度对应于在处理器110、130上执行的来宾操作系统的任务的虚拟处理器。在一特定实施例中,在处理器110或处理器130上执行的至少一个来宾操作系统实时操作系统(RTOS)。在一特定实施例中,当系统100经集成到虚拟机管理程序控制的计算环境中时,第一阶段转换可由个别来宾操作系统编程且第二阶段转换可由主要虚拟机管理程序执行以用于所有来宾操作系统。
在次要处理器130上的虚拟处理器的执行期间,当页面未命中发生时,MMU131可存储寄存器132中的配置值以执行地址转换。当虚拟处理器之间的上下文切换发生时,LOAD_STREAMID指令133可由次要处理器130执行以将用于新虚拟处理器的地址转换信息加载到寄存器132中。
在一特定实施例中,LOAD_STREAMID指令133包含与新虚拟处理器相关联的索引操作数。如果用于新虚拟处理器的配置值先前经加载到寄存器132中,那么LOAD_STREAMID指令133的执行可完成而无需将所述配置值重新加载到寄存器132中,由此节省时间和计算资源。举例来说,MMU131可基于LOAD_STREAMID指令133的索引操作数而确定所述值先前经加载到寄存器132中。或者或另外,基于存储在表134中的数据(例如,接口120的配置块)可确定所述值先前经加载到寄存器132中。
在一特定实施例中,LOAD_STREAMID指令133支持任选重写操作数(overrideoperand)。当包含越权操作数时,LOAD_STREAMID指令133的执行可导致重写加载到寄存器132中的值。举例来说,在次要处理器130上排他性地执行的来宾操作系统可在没有多个接口块的情况下创建多个进程(process)。在这些情形下,重写操作数可用以用如135所示的用于VA到IPA转换的不同基址重写(例如,在基址寄存器中)的基址。
图1的系统100可如此提供存储器管理结构,所述存储器管理结构与用于外部编程的主要处理器110兼容且提供用于执行地址转换及由次要处理器130调度的内部接口(例如,经由寄存器132)。举例来说,虽然接口120实际上并非SMMU,但是接口120将SMMU兼容接口提供给主要处理器110,使得主要处理器110能够与接口120通信,就好象主要处理器110与实际SMMU通信一样。主要处理器110可确定第二阶段转换、将第二阶段转换存储在地址转换表中,且将地址转换表的地址存储在接口120中。次要处理器130可在上下文切换期间使用来自接口120的值刷新内部寄存器132。因此,从主要处理器110观点看,系统100可提供能够存储依赖于另一装置的值的外部可编程MMU。从次要处理器130观点看,系统100可提供能够执行以从外部经编程存储装置填充转换寄存器值的指令。
图2为说明说明存取外部可编程MMU的方法200的特定实施例的流程图。在一说明性实施例中,方法200可在图1的系统100处执行。
方法200可包含在202处,由处理器从相关联于所述处理器的MMU的存储装置读取一个或多个配置值。举例来说,所述存储装置可存储经由SMMU兼容接口由外部处理器编程的配置值,其中所述值将由所述处理器的所述MMU使用(例如,在地址转换期间)。在一特定实施例中,所述存储装置在所述MMU外。举例来说,参看图1,次要处理器130可读取配置值,例如地址121和/或122,其中所述配置值是经由接口120由主要处理器110编程。
方法200还可包含在204处,将所述一个或多个配置值加载到所述处理器的一个或多个寄存器中。所述一个或多个寄存器可由所述处理器使用以执行地址转换。举例来说,参看图1,所述配置值(例如,地址121和/或122)可经加载到寄存器132中且用于地址转换(例如,VA到IPA转换和/或IPA到PA转换)。
图2的方法200因此可能够使用外部可编程MMU来传达由一个处理器(例如,主要处理器)编程且可由另一处理器(例如,次要处理器)使用的配置值。
图2的方法200可由以下各者来执行:数字信号处理器(DSP)、例如中央处理单元(CPU)的处理单元、控制器、现场可编程门阵列(FPGA)装置、专用集成电路(ASIC)、另一硬件装置、固件装置或其任何组合。作为一实例,图2的方法200可由执行指令的处理器来执行,如关于图4所描述。
图3为说明执行用以选择性地使用外部可编程MMU的指令的方法300的特定实施例的流程图。在一说明性实施例中,方法300可由图1的次要处理器130执行。
方法300可包含在302处,检测到虚拟处理器的上下文切换。举例来说,在图1中,到特定虚拟处理器的上下文切换可在次要处理器130处检测。方法300还可包含在304处,响应所述上下文切换,在处理器处执行指令,其中所述指令包含索引操作数。举例来说,在图1中,次要处理器130可执行LOAD_STREAMID指令133。执行所述指令可包含在306处,基于所述索引操作数确定用于所述虚拟处理器的配置值先前是否加载(且因此已经可用)。举例来说,用于所述虚拟处理器的配置值可包含可用以执行VA到IPA转换、IPA到PA转换的数据,和/或其它进程/环境数据。
当在308处确定所述配置值先前经加载时,方法300可前进到316。当在308处确定所述配置值先前未加载时,方法300可包含使用所述索引操作数搜索存储在MMU中的表以识别指向配置块的指针。在310处,基于所述配置块,可能确定用于所述虚拟处理器的配置值先前是否加载。当在312处确定所述配置值先前经加载时,方法300可前进到316。
当在312处确定所述配置值先前未加载时,方法300可包含在314处,(例如,从所述配置块)读取所述配置值并且将所述配置值加载到所述处理器的寄存器中。举例来说,在图1中,地址121、122可经加载到寄存器132中。出于安全性目的,寄存器132可由所述指令排他性地可写。举例来说,寄存器132是否可写可取决于从另一处理器(例如,主要处理器)接收的写入允许的值。
前进到316,方法300可包含确定所述指令是否包含重写操作数。当所述指令包含重写操作数时,方法300可包含在318处,重写加载到所述寄存器中的一者中的配置值。举例来说,可重写用于VA到IPA转换的加载到基址寄存器中的基址。继续到320,方法300可包含使用所述配置值执行地址转换(例如,从通过来宾操作系统的工作提供的虚拟地址转换到中间物理地址和/或从中间物理地址转换到对应于存储器的特定区域或特定存储器映射装置的物理地址)。举例来说,地址转换可于在图1的次要处理器130处执行存储操作、加载操作或提取操作时执行。
图3的方法300因此可用以执行于在内部寄存器中无法得到外部经编程配置值时将所述配置值选择性地加载到所述寄存器中的指令。然而,如果在寄存器中可得到所述配置值(例如,所述配置值先前经加载到寄存器中),那么所述指令的执行可终止而无需执行用以存取所述配置值的外部读取操作,这样可以节省处理器时间和计算资源。
图3的方法300可由以下各者来执行:数字信号处理器(DSP)、例如中央处理单元(CPU)的处理单元、控制器、现场可编程门阵列(FPGA)装置、专用集成电路(ASIC)、另一硬件装置、固件装置或其任何组合。作为一实例,图3的方法300可由执行指令的处理器来执行,如关于图4所描述。
参看图4,示出电子装置400的框图。电子装置400包含例如中央处理单元(CPU)的主要处理器410和例如数字信号处理器(DSP)的次要处理器474,所述处理器中的每一者耦合到存储器432。主要处理器410和次要处理器474可具有不同的指令集结构。在一说明性实施例中,主要处理器110为图1的主要处理器110且次要处理器474为图1的次要处理器130。电子装置400或其组件可包含于以下各者中:通信装置、个人数字助理(PDA)、移动电话、机顶盒、音乐播放器、视频播放器、娱乐单元、导航装置、固定位置数据单元、计算装置或其任何组合。
SMMU接口480可安置在主要处理器410与次要处理器474之间。在一说明性实施例中,SMMU接口480可为图1的接口120。主要处理器410可将配置值(例如,存储在存储器中的地址转换表的地址)编程到SMMU接口480中的数据存储位置。次要处理器474可在上下文切换发生时从SMMU接口480检索所述配置值,可将检索的配置值存储在内部寄存器中,并且可使用存储的配置值执行地址转换。
图4还示出耦合到处理器410、474且耦合到显示器428的显示器控制器426。编码器/解码器(CODEC)434也能够耦合到处理器410、474。扬声器436和麦克风438可耦合到CODEC434。图4还说明无线控制器440能够耦合到处理器410、474且耦合到天线442(例如,经由射频(RF)接口)。
存储器432可为有形的非暂时性计算机可读或处理器可读存储媒体,其包含可执行指令456。指令456可由处理器(例如,处理器410、747的集合)执行以本文中所描述的各种功能和方法,包含图2的方法200和/或图3的方法300。举例来说,指令456可包含图1的LOAD_STREAMID指令133。所述存储器还可存储对应于(例如,可在主要处理器410上执行的)主要虚拟机管理程序457、(例如,可在次要处理器474上执行的)次要虚拟机管理程序458以及一个或多个来宾操作系统459的指令和/或数据。
在一特定实施例中,处理器410、474、显示器控制器426、存储器432、CODEC434以及无线控制器440包含于系统级安装或芯片上系统装置422中。在一特定实施例中,输入装置430和电源444耦合到芯片上系统装置422。此外,在一特定实施例中,如图4中所说明,显示器428、输入装置430、扬声器436、麦克风438、天线442以及电源444在芯片上系统装置422外。然而,显示器428、输入装置430、扬声器436、麦克风438、天线442以及电源444中的每一者能够耦合到芯片上系统装置422的组件,例如接口或控制器。
结合所描述实施例,一种设备包含到用于处理的第一装置的接口。举例来说,所述接口可为图1的接口120、图4的SMMU接口480、另一接口或其任何组合。用于处理的所述第一装置可为硬件处理器(例如,图1的主要处理器110或图4的主要处理器410)、用以处理数据的一个或多个其它装置或电路或其任何组合。所述设备还包含用于处理的第二装置。用于处理的所述第二装置包含存储器管理单元。举例来说,用于处理的所述第二装置可包含硬件处理器(例如,图1的次要处理器130或图4的次要处理器474)、用以处理数据的一个或多个其它装置或电路或其任何组合。存储器管理单元可包含MMU131、用以管理存储器的一个或多个其它装置或电路或其任何组合。所述设备还包含用于存储一个或多个配置值的装置。举例来说,用于存储的所述装置可包含图1的接口120的存储器、图4的SMMU接口480的存储器、在处理器和/或MMU外的存储器、在处理器和/或MMU内的存储器、用以存储数据的一个或多个其它装置或电路或其任何组合。用于处理的所述第一装置经配置以使用所述接口将所述一个或多个配置值编程到用于存储的所述装置中。用于处理的所述第二装置可经配置以使用所述一个或多个配置值执行地址转换。在一特定实施例中,用于处理的所述第一装置与第一指令集结构相关联且用于处理的所述第二装置与不同于所述第一指令集结构的第二指令集结构相关联。举例来说,用于处理的所述第一装置可与第一指令集结构(例如,CPU特定指令集结构)相关联且用于处理的所述第二装置可与第二指令集结构(例如,DSP特定指令集结构)相关联。
所属领域的技术人员应进一步了解,结合本文中所揭示的实施例所描述的逻辑块、配置、模块、电路以及算法步骤可实施为电子硬件、由处理器执行的电脑软件或两者的组合。上文已大体在功能性方面描述各种说明性组件、块、配置、模块、电路和步骤。这一功能性是实施为硬件还是处理器可执行指令取决于特定应用和强加于整个系统的设计约束。所属领域的技术人员可针对每一特定应用以不同方式实施所描述功能性,但所述实施决策不应被解释为导致偏离本发明的范围。
可直接以硬件、以由处理器执行的软件模块或以上述两者的组合实施结合本文所揭示的实施例而描述的方法或算法的步骤。软件模块可驻留在以下各者中:随机存取存储器(RAM)、闪存、只读存储器(ROM)、可编程只读存储器(PROM)、可擦可编程只读存储器(EPROM)、电可擦可编程只读存储器(EEPROM)、寄存器、硬盘、可移动磁盘、光盘只读存储器(CD-ROM)或此项技术中已知的任何其它形式的非暂时性存储媒体。例示性存储媒体耦合到处理器,以使得处理器能够自存储媒体读取信息且将信息写入到存储媒体。在替代方案中,存储媒体可与处理器成一体式。处理器及存储媒体可驻留在专用集成电路(ASIC)中。ASIC可驻留在计算装置或用户终端中。在替代方案中,处理器及存储媒体可作为离散组件驻留在计算装置或用户终端中。
提供所揭示实施例的先前描述以使所属领域的技术人员能够进行或使用所揭示实施例。对于所属领域的技术人员来说,对这些实施例的各种修改将为显而易见的,并且可在不偏离本发明的范围的情况下将本文中所定义的原理应用于其它实施例。因此,本发明并不希望限于本文中所示的实施例,而应符合与如通过所附权利要求书界定的原理及新颖特征一致的可能的最宽范围。
Claims (35)
1.一种设备,其包括:
到第一处理器的接口;
第二处理器,其包含存储器管理单元;以及
存储一个或多个配置值的存储器装置,
其中所述第一处理器经配置以使用所述接口将所述一个或多个配置值编程到所述存储器装置中,且
其中所述第二处理器经配置以使用所述一个或多个配置值执行地址转换。
2.根据权利要求1所述的设备,其中所述第二处理器经配置以在所述第二处理器处所执行的加载操作、所述第二处理器处所执行的存储操作或其任何组合期间执行地址转换。
3.根据权利要求1所述的设备,其中所述第二处理器经配置以在所述第二处理器处所执行的提取操作期间执行地址转换。
4.根据权利要求3所述的设备,其中所述第二处理器经配置以从所述存储器装置检索所述一个或多个配置值以及将所述一个或多个配置值存储在所述存储器管理单元中。
5.根据权利要求1所述的设备,其中执行地址转换包括将虚拟地址变换到中间物理地址、将中间物理地址变换到物理地址或其任何组合。
6.根据权利要求1所述的设备,其中所述接口与系统存储器管理单元SMMU接口兼容。
7.根据权利要求1所述的设备,其中所述第一处理器和所述第二处理器为同一处理器。
8.根据权利要求1所述的设备,其中所述第一处理器与第一指令集结构相关联且其中所述第二处理器与不同于所述第一指令集结构的第二指令集结构相关联。
9.根据权利要求1所述的设备,其中所述第一处理器与第一虚拟机管理程序相关联且其中所述第二处理器与第二虚拟机管理程序相关联。
10.根据权利要求1所述的设备,其中所述第一处理器为中央处理单元CPU且其中所述第二处理器为数字信号处理器DSP。
11.一种非暂时性计算机可读媒体,其存储可由处理器执行以执行包括以下各者的操作的指令:
从存储器管理单元的存储装置读取一个或多个配置值;以及
将所述一个或多个配置值加载到所述处理器的一个或多个寄存器中,其中所述一个或多个寄存器可由所述处理器使用以执行地址转换。
12.根据权利要求11所述的非暂时性计算机可读媒体,其中所述一个或多个寄存器通过所述指令排他性地可写入。
13.根据权利要求11所述的非暂时性计算机可读媒体,其中所述存储装置存储基于所述指令的操作数编制索引的表。
14.根据权利要求13所述的非暂时性计算机可读媒体,其中所述表包含指向至少一个配置块的至少一个指针。
15.根据权利要求14所述的非暂时性计算机可读媒体,其中所述至少一个配置块包含至少一个地址转换表的至少一个地址,其中所述至少一个地址转换表包含至少一个虚拟地址到中间物理地址转换、至少一个中间物理地址到物理地址转换或其任何组合。
16.根据权利要求11所述的非暂时性计算机可读媒体,其中所述操作进一步包括响应确定特定配置值先前经加载到所述一个或多个寄存器中,不将所述特定配置值加载到所述一个或多个寄存器中。
17.根据权利要求16所述的非暂时性计算机可读媒体,其中所述操作进一步包括确定所述特定配置值先前经加载到所述一个或多个寄存器中,所述确定基于所述指令的操作数、基于存储在所述存储装置中且基于所述指令的所述操作数编制索引的表或其任何组合。
18.根据权利要求11所述的非暂时性计算机可读媒体,其中所述操作进一步包括响应确定所述指令包含特定操作数,重写加载到所述一个或多个寄存器中的配置值。
19.根据权利要求18所述的非暂时性计算机可读媒体,其中所述重写的配置值包括加载到基址寄存器中且可用以执行虚拟地址到中间物理地址转换的基址。
20.一种非暂时性计算机可读媒体,其存储可由处理器执行以执行包括以下各者的操作的指令:
从存储器读取一个或多个配置值;以及
将所述一个或多个配置值加载到所述处理器的一个或多个寄存器中,
其中所述一个或多个寄存器通过所述指令排他性地可写入,且
其中所述一个或多个配置值可由所述处理器使用以执行地址转换。
21.根据权利要求20所述的非暂时性计算机可读媒体,其中所述存储器包括外部可编程存储器。
22.根据权利要求21所述的非暂时性计算机可读媒体,其中所述外部可编程存储器是由第二处理器编程。
23.根据权利要求20所述的非暂时性计算机可读媒体,其中所述一个或多个配置值包含至少一个地址转换表的至少一个地址,其中所述至少一个地址转换表包含至少一个虚拟地址到中间物理地址转换、至少一个中间物理地址到物理地址转换或其任何组合。
24.根据权利要求20所述的非暂时性计算机可读媒体,其中所述操作进一步包括识别所述一个或多个配置值,所述识别基于所述指令的操作数、基于存储在基于所述指令的所述操作数编制索引的表中的数据或其任何组合。
25.根据权利要求20所述的非暂时性计算机可读媒体,其中所述存储器包括存储器管理单元的存储装置。
26.一种方法,其包括:
由处理器从相关联于所述处理器的存储器管理单元的存储装置读取一个或多个配置值;以及
将所述一个或多个配置值加载到所述处理器的一个或多个寄存器中,其中所述一个或多个寄存器可由所述处理器使用以执行地址转换。
27.根据权利要求26所述的方法,其进一步包括在单一指令的执行期间执行所述读取和所述加载。
28.根据权利要求27所述的方法,其中所述寄存器通过所述指令排他性地可写入。
29.根据权利要求27所述的方法,其中读取所述一个或多个配置值包括基于所述指令的操作数搜索存储在所述存储器管理单元中的表。
30.根据权利要求27所述的方法,其进一步包括,响应确定所述指令包含特定操作数,重写加载到所述一个或多个寄存器中的配置值。
31.根据权利要求26所述的方法,其中所述一个或多个配置值包含至少一个地址转换表的至少一个地址,其中所述至少一个地址转换表包含至少一个虚拟地址到中间物理地址转换、至少一个中间物理地址到物理地址转换或其任何组合。
32.根据权利要求26所述的方法,其进一步包括响应确定特定配置值先前经加载到所述一个或多个寄存器中,不将所述特定配置值加载到所述一个或多个寄存器中。
33.一种设备,其包括:
用于处理的第一装置;
用于介接到用于处理的所述第一装置的装置;
用于处理的第二装置,其中用于处理的所述第二装置包含存储器管理单元;以及
用于存储一个或多个配置值的装置,
其中用于处理的所述第一装置经配置以使用用于介接的所述装置将所述一个或多个配置值编程到用于存储的所述装置中,且
其中用于处理的所述第二装置经配置以使用所述一个或多个配置值执行地址转换。
34.根据权利要求33所述的设备,其中用于介接的所述装置与系统存储器管理单元SMMU接口兼容。
35.根据权利要求33所述的设备,其中用于处理的所述第一装置与第一指令集结构相关联且其中用于处理的所述第二装置与不同于所述第一指令集结构的第二指令集结构相关联。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/828,718 | 2013-03-14 | ||
US13/828,718 US10114756B2 (en) | 2013-03-14 | 2013-03-14 | Externally programmable memory management unit |
PCT/US2014/023552 WO2014159418A1 (en) | 2013-03-14 | 2014-03-11 | Externally programmable memory management unit |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105144122A true CN105144122A (zh) | 2015-12-09 |
CN105144122B CN105144122B (zh) | 2018-10-26 |
Family
ID=50933473
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480013945.5A Active CN105144122B (zh) | 2013-03-14 | 2014-03-11 | 外部可编程存储器管理单元 |
Country Status (6)
Country | Link |
---|---|
US (1) | US10114756B2 (zh) |
EP (1) | EP2972898B1 (zh) |
JP (1) | JP6345231B2 (zh) |
KR (1) | KR20150130382A (zh) |
CN (1) | CN105144122B (zh) |
WO (1) | WO2014159418A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112015474A (zh) * | 2020-08-28 | 2020-12-01 | 上海兆芯集成电路有限公司 | 电子装置及其命令数量减少方法 |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10437591B2 (en) | 2013-02-26 | 2019-10-08 | Qualcomm Incorporated | Executing an operating system on processors having different instruction set architectures |
US9606818B2 (en) | 2013-03-14 | 2017-03-28 | Qualcomm Incorporated | Systems and methods of executing multiple hypervisors using multiple sets of processors |
US9396012B2 (en) | 2013-03-14 | 2016-07-19 | Qualcomm Incorporated | Systems and methods of using a hypervisor with guest operating systems and virtual processors |
WO2014142254A1 (ja) * | 2013-03-15 | 2014-09-18 | ピーエスフォー ルクスコ エスエイアールエル | 半導体記憶装置及びこれを備えるシステム |
GB2536201B (en) * | 2015-03-02 | 2021-08-18 | Advanced Risc Mach Ltd | Handling address translation requests |
GB2536880B (en) * | 2015-03-24 | 2021-07-28 | Advanced Risc Mach Ltd | Memory management |
US10474461B2 (en) * | 2016-09-22 | 2019-11-12 | Qualcomm Incorporated | Instruction-based synchronization of operations including at least one SIMD scatter operation |
US10514943B2 (en) | 2016-11-17 | 2019-12-24 | Qualcomm Incorporated | Method and apparatus for establishing system-on-chip (SOC) security through memory management unit (MMU) virtualization |
US10736154B2 (en) | 2017-06-13 | 2020-08-04 | Rumfert, Llc | Wireless real-time data-link sensor method and system for small UAVs |
CN110459256A (zh) * | 2018-05-08 | 2019-11-15 | 美光科技公司 | 动态p2l异步功率损耗降低 |
US11867529B2 (en) | 2018-06-01 | 2024-01-09 | Rumfert, Llc | Altitude initialization and monitoring system and method for remote identification systems (remote Id) monitoring and tracking unmanned aircraft systems (UAS) in the national airspace system (NAS) |
US11416960B2 (en) * | 2020-11-06 | 2022-08-16 | Samsung Electronics Co., Ltd. | Shader accessible configurable binning subsystem |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001037088A2 (en) * | 1999-11-19 | 2001-05-25 | Realchip, Inc. | Programmable multi-tasking memory management system |
US6286092B1 (en) * | 1999-05-12 | 2001-09-04 | Ati International Srl | Paged based memory address translation table update method and apparatus |
CN1524228A (zh) * | 2001-04-24 | 2004-08-25 | 先进微装置公司 | 使用共享内存施行虚拟记忆的多元处理系统以及维持分页记忆整合性的记忆页更换方法 |
US20040186981A1 (en) * | 2000-08-09 | 2004-09-23 | Christie David S. | Uniform register addressing using prefix byte |
US20080183931A1 (en) * | 2007-01-30 | 2008-07-31 | Texas Instruments Incorporated | Method, system and device for handling a memory management fault in a multiple processor device |
US20100107249A1 (en) * | 2008-10-27 | 2010-04-29 | Advanced Micro Devices, Inc. | Method, Apparatus, and Device for Protecting Against Programming Attacks and/or Data Corruption |
US20130013889A1 (en) * | 2011-07-06 | 2013-01-10 | Jaikumar Devaraj | Memory management unit using stream identifiers |
US20130036323A1 (en) * | 2011-03-28 | 2013-02-07 | Siemens Corporation | Fault-tolerant replication architecture |
Family Cites Families (40)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6516373B1 (en) | 1999-06-18 | 2003-02-04 | Samsung Electronics Co., Ltd. | Common motherboard interface for processor modules of multiple architectures |
US6904483B2 (en) | 2001-03-20 | 2005-06-07 | Wind River Systems, Inc. | System and method for priority inheritance |
GB2378277B (en) | 2001-07-31 | 2003-06-25 | Sun Microsystems Inc | Multiple address translations |
JP2003099272A (ja) | 2001-09-20 | 2003-04-04 | Ricoh Co Ltd | タスク切替システムと方法およびdspとモデム |
US7620678B1 (en) | 2002-06-12 | 2009-11-17 | Nvidia Corporation | Method and system for reducing the time-to-market concerns for embedded system design |
US6981072B2 (en) | 2003-06-05 | 2005-12-27 | International Business Machines Corporation | Memory management in multiprocessor system |
US7134007B2 (en) | 2003-06-30 | 2006-11-07 | Intel Corporation | Method for sharing firmware across heterogeneous processor architectures |
US7424709B2 (en) | 2003-09-15 | 2008-09-09 | Intel Corporation | Use of multiple virtual machine monitors to handle privileged events |
US20050251806A1 (en) | 2004-05-10 | 2005-11-10 | Auslander Marc A | Enhancement of real-time operating system functionality using a hypervisor |
US7418584B1 (en) | 2004-05-11 | 2008-08-26 | Advanced Micro Devices, Inc. | Executing system management mode code as virtual machine guest |
US8271976B2 (en) | 2004-06-30 | 2012-09-18 | Microsoft Corporation | Systems and methods for initializing multiple virtual processors within a single virtual machine |
US7299337B2 (en) | 2005-05-12 | 2007-11-20 | Traut Eric P | Enhanced shadow page table algorithms |
US7739476B2 (en) | 2005-11-04 | 2010-06-15 | Apple Inc. | R and C bit update handling |
US7945913B2 (en) | 2006-01-19 | 2011-05-17 | International Business Machines Corporation | Method, system and computer program product for optimizing allocation of resources on partitions of a data processing system |
US20070283336A1 (en) | 2006-06-01 | 2007-12-06 | Michael Karl Gschwind | System and method for just-in-time compilation in a heterogeneous processing environment |
US8700883B1 (en) * | 2006-10-24 | 2014-04-15 | Nvidia Corporation | Memory access techniques providing for override of a page table |
US8082551B2 (en) | 2006-10-30 | 2011-12-20 | Hewlett-Packard Development Company, L.P. | System and method for sharing a trusted platform module |
US7685409B2 (en) | 2007-02-21 | 2010-03-23 | Qualcomm Incorporated | On-demand multi-thread multimedia processor |
US8789063B2 (en) | 2007-03-30 | 2014-07-22 | Microsoft Corporation | Master and subordinate operating system kernels for heterogeneous multiprocessor systems |
US8250254B2 (en) | 2007-07-31 | 2012-08-21 | Intel Corporation | Offloading input/output (I/O) virtualization operations to a processor |
US8245236B2 (en) | 2008-02-27 | 2012-08-14 | International Business Machines Corporation | Lock based moving of threads in a shared processor partitioning environment |
US20090282198A1 (en) | 2008-05-08 | 2009-11-12 | Texas Instruments Incorporated | Systems and methods for optimizing buffer sharing between cache-incoherent cores |
US8281306B2 (en) | 2008-06-06 | 2012-10-02 | International Business Machines Corporation | Managing assignment of partition services to virtual input/output adapters |
US8301863B2 (en) | 2008-11-17 | 2012-10-30 | International Business Machines Corporation | Recursive logical partition real memory map |
US8291414B2 (en) | 2008-12-11 | 2012-10-16 | International Business Machines Corporation | Shared resource service provisioning using a virtual machine manager |
US20100242014A1 (en) | 2009-03-17 | 2010-09-23 | Xiaohan Zhu | Symmetric multi-processor operating system for asymmetric multi-processor architecture |
US9152200B2 (en) | 2009-06-23 | 2015-10-06 | Hewlett-Packard Development Company, L.P. | Resource and power management using nested heterogeneous hypervisors |
US8479196B2 (en) | 2009-09-22 | 2013-07-02 | International Business Machines Corporation | Nested virtualization performance in a computer system |
US8443376B2 (en) | 2010-06-01 | 2013-05-14 | Microsoft Corporation | Hypervisor scheduler |
US20110320766A1 (en) | 2010-06-29 | 2011-12-29 | Youfeng Wu | Apparatus, method, and system for improving power, performance efficiency by coupling a first core type with a second core type |
US20120072638A1 (en) | 2010-09-16 | 2012-03-22 | Unisys Corp. | Single step processing of memory mapped accesses in a hypervisor |
US8307169B2 (en) | 2011-03-10 | 2012-11-06 | Safenet, Inc. | Protecting guest virtual machine memory |
JP5648544B2 (ja) | 2011-03-15 | 2015-01-07 | 富士通株式会社 | スケジューリングプログラム、および情報処理装置 |
US9043562B2 (en) | 2011-04-20 | 2015-05-26 | Microsoft Technology Licensing, Llc | Virtual machine trigger |
US8677360B2 (en) | 2011-05-12 | 2014-03-18 | Microsoft Corporation | Thread-related actions based on historical thread behaviors |
US9250969B2 (en) | 2011-08-30 | 2016-02-02 | At&T Intellectual Property I, L.P. | Tagging a copy of memory of a virtual machine with information for fetching of relevant portions of the memory |
US20140053272A1 (en) | 2012-08-20 | 2014-02-20 | Sandor Lukacs | Multilevel Introspection of Nested Virtual Machines |
US10437591B2 (en) * | 2013-02-26 | 2019-10-08 | Qualcomm Incorporated | Executing an operating system on processors having different instruction set architectures |
US9396012B2 (en) | 2013-03-14 | 2016-07-19 | Qualcomm Incorporated | Systems and methods of using a hypervisor with guest operating systems and virtual processors |
US9606818B2 (en) * | 2013-03-14 | 2017-03-28 | Qualcomm Incorporated | Systems and methods of executing multiple hypervisors using multiple sets of processors |
-
2013
- 2013-03-14 US US13/828,718 patent/US10114756B2/en active Active
-
2014
- 2014-03-11 CN CN201480013945.5A patent/CN105144122B/zh active Active
- 2014-03-11 KR KR1020157027789A patent/KR20150130382A/ko not_active Application Discontinuation
- 2014-03-11 EP EP14729747.7A patent/EP2972898B1/en active Active
- 2014-03-11 JP JP2016501279A patent/JP6345231B2/ja not_active Expired - Fee Related
- 2014-03-11 WO PCT/US2014/023552 patent/WO2014159418A1/en active Application Filing
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6286092B1 (en) * | 1999-05-12 | 2001-09-04 | Ati International Srl | Paged based memory address translation table update method and apparatus |
WO2001037088A2 (en) * | 1999-11-19 | 2001-05-25 | Realchip, Inc. | Programmable multi-tasking memory management system |
US20040186981A1 (en) * | 2000-08-09 | 2004-09-23 | Christie David S. | Uniform register addressing using prefix byte |
CN1524228A (zh) * | 2001-04-24 | 2004-08-25 | 先进微装置公司 | 使用共享内存施行虚拟记忆的多元处理系统以及维持分页记忆整合性的记忆页更换方法 |
US20080183931A1 (en) * | 2007-01-30 | 2008-07-31 | Texas Instruments Incorporated | Method, system and device for handling a memory management fault in a multiple processor device |
US20100107249A1 (en) * | 2008-10-27 | 2010-04-29 | Advanced Micro Devices, Inc. | Method, Apparatus, and Device for Protecting Against Programming Attacks and/or Data Corruption |
US20130036323A1 (en) * | 2011-03-28 | 2013-02-07 | Siemens Corporation | Fault-tolerant replication architecture |
US20130013889A1 (en) * | 2011-07-06 | 2013-01-10 | Jaikumar Devaraj | Memory management unit using stream identifiers |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112015474A (zh) * | 2020-08-28 | 2020-12-01 | 上海兆芯集成电路有限公司 | 电子装置及其命令数量减少方法 |
CN112015474B (zh) * | 2020-08-28 | 2024-01-26 | 格兰菲智能科技有限公司 | 电子装置及其命令数量减少方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2014159418A1 (en) | 2014-10-02 |
JP6345231B2 (ja) | 2018-06-20 |
US10114756B2 (en) | 2018-10-30 |
KR20150130382A (ko) | 2015-11-23 |
EP2972898A1 (en) | 2016-01-20 |
US20140281332A1 (en) | 2014-09-18 |
JP2016515265A (ja) | 2016-05-26 |
EP2972898B1 (en) | 2017-11-22 |
CN105144122B (zh) | 2018-10-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105144122A (zh) | 外部可编程存储器管理单元 | |
KR102592376B1 (ko) | 명령 실행 동작을 제어하기 위한 장치 및 방법 | |
US11481384B2 (en) | Apparatus and method for performing operations on capability metadata | |
EP2972834B1 (en) | Systems and methods of executing multiple hypervisors | |
US9563446B2 (en) | Binary file generation | |
US9558096B2 (en) | Method and apparatus for supporting performance analysis | |
US10713021B2 (en) | Geometric 64-bit capability pointer | |
WO2018040270A1 (zh) | 在Windows系统中加载Linux系统ELF文件的方法及装置 | |
GB2529777A (en) | Processor with granular add immediates capability and methods | |
KR101623465B1 (ko) | 변환 색인 버퍼(tlb)에 대한 중첩 체크 | |
US9934100B2 (en) | Method of controlling memory swap operation and data processing system using same | |
EP2463776A2 (en) | Bytecode branch processor and method | |
US10649787B2 (en) | Exception handling involving emulation of exception triggering data transfer operation using syndrome data store that includes data value to be transferred | |
CN109690956A (zh) | 邻接存储器地址处的数据存储 | |
KR20160150551A (ko) | 전자 장치가 소스 코드를 컴파일링하는 방법 및 그 전자 장치 | |
CN114637535A (zh) | 一种处理可执行代码的方法、装置、终端及可读存储介质 | |
US20150186140A1 (en) | Opcode trapping |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |