CN105144122B - 外部可编程存储器管理单元 - Google Patents

外部可编程存储器管理单元 Download PDF

Info

Publication number
CN105144122B
CN105144122B CN201480013945.5A CN201480013945A CN105144122B CN 105144122 B CN105144122 B CN 105144122B CN 201480013945 A CN201480013945 A CN 201480013945A CN 105144122 B CN105144122 B CN 105144122B
Authority
CN
China
Prior art keywords
processor
address
memory
register
instruction
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.)
Active
Application number
CN201480013945.5A
Other languages
English (en)
Other versions
CN105144122A (zh
Inventor
克里斯托弗·爱德华·科布
埃里克·詹姆斯·普隆迪克
皮尤士·派泰尔
托马斯·安德鲁·萨托里乌斯
卢西恩·科德雷斯库
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.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN105144122A publication Critical patent/CN105144122A/zh
Application granted granted Critical
Publication of CN105144122B publication Critical patent/CN105144122B/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
    • G06F12/10Address translation
    • 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/10Address translation
    • G06F12/1009Address translation using page tables, e.g. page table structures
    • 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/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • G06F12/1036Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] for multiple virtual address spaces, e.g. segmentation
    • 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/10Address translation
    • G06F12/109Address translation for multiple virtual address spaces, e.g. segmentation
    • 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/1008Correctness of operation, e.g. memory ordering
    • 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/1048Scalability
    • 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/1052Security 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/65Details of virtual memory and virtual address translation
    • G06F2212/657Virtual 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)

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可包含索引操作数(index operand)。在执行时,LOAD_STREAMID指令133可使用所述索引操作数来存取存储在MMU 131的存储装置中的表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的MMU 131的外部可编程扩展或对应物。应注意,虽然接口120在图1中经说明为在次要处理器130外,但是这一情况仅用于举例说明。在替代实施例中,接口120的全部或一部分可集成在次要处理器130内。
在操作期间,主要处理器110可将地址121、122编程到接口120中。次要处理器130可使用指令133将地址121、122加载到寄存器132中,因此,例如,次要处理器130的页表查看器(page table walker)可使用寄存器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上的虚拟处理器的执行期间,当页面未命中发生时,MMU 131可存储寄存器132中的配置值以执行地址转换。当虚拟处理器之间的上下文切换发生时,LOAD_STREAMID指令133可由次要处理器130执行以将用于新虚拟处理器的地址转换信息加载到寄存器132中。
在一特定实施例中,LOAD_STREAMID指令133包含与新虚拟处理器相关联的索引操作数。如果用于新虚拟处理器的配置值先前经加载到寄存器132中,那么LOAD_STREAMID指令133的执行可完成而无需将所述配置值重新加载到寄存器132中,由此节省时间和计算资源。举例来说,MMU 131可基于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可耦合到CODEC 434。图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)、用以处理数据的一个或多个其它装置或电路或其任何组合。存储器管理单元可包含MMU 131、用以管理存储器的一个或多个其它装置或电路或其任何组合。所述设备还包含用于存储一个或多个配置值的装置。举例来说,用于存储的所述装置可包含图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.根据权利要求17所述的非暂时性计算机可读媒体,其中所述地址包括存储在基址寄存器中且可用以执行虚拟地址到中间物理地址转换的基址。
20.一种非暂时性计算机可读媒体,其存储可由第一处理器执行以执行包括以下各者的操作的指令:
基于所述指令的索引操作数,在存储于所述第一处理器的存储器管理单元MMU的第一存储器中的表中搜索入口;
从所述入口存取指针,其中所述指针指向所述MMU外的第二存储器中的多个配置块中的第一配置块,所述第一配置块包含地址转换表的地址,所述地址由第二处理器存储于所述第二存储器中;
基于所述指针从所述第一配置块读取所述地址转换表的所述地址;
将所述地址从所述第一配置块加载到所述第一处理器的寄存器中,其中所述第一处理器的所述寄存器经配置以基于从所述第二处理器接收的写入允许信号的值而响应于所述指令的执行进行排他性写入;以及
由所述第一处理器基于所述指令的操作数来确定是否用所述地址转换表的所述地址来重写所述第一处理器的所述寄存器处的内容。
21.根据权利要求20所述的非暂时性计算机可读媒体,其中所述第二存储器包括外部可编程存储器。
22.根据权利要求20所述的非暂时性计算机可读媒体,其中所述多个配置块存储多个地址转换表的多个地址,且其中所述多个地址由所述第二处理器存储。
23.根据权利要求20所述的非暂时性计算机可读媒体,其中所述地址转换表由所述第一处理器实现地址转换,且其中所述地址转换包含虚拟地址到中间物理地址转换、中间物理地址到物理地址转换或其任何组合。
24.根据权利要求20所述的非暂时性计算机可读媒体,其中所述表的第二入口与第二索引相关且包括指向所述多个配置块中的第二配置块的第二指针,所述第二配置块包含第二地址转换表的地址。
25.根据权利要求20所述的非暂时性计算机可读媒体,其中所述地址转换表包含虚拟地址到中间物理地址转换、中间物理地址到物理地址转换或其任何组合。
26.一种用于管理存储器的方法,其包括:
由第一处理器在第二处理器外的第一存储器处存储地址转换表的地址,所述地址存储在配置块中;
在所述第二处理器的存储器处存储指向所述第一存储器的所述配置块的指针表;
在所述指针表中,基于指令的索引操作数识别指向第一配置块的第一指针;
基于所述第一指针,从所述第一配置块读取第一地址转换表的地址;
将所述地址从所述第一存储器的所述第一配置块加载到所述第二处理器的寄存器中,其中所述第二处理器的所述寄存器经配置以基于从所述第一处理器接收的写入允许信号的值而响应于所述指令的执行进行排他性写入;以及
基于所述指令的重写操作数来确定是否重写所述第二处理器的所述寄存器的内容。
27.根据权利要求26所述的方法,其中在所述第二处理器执行所述指令期间将所述第一地址转换表的所述地址加载到所述第二处理器的所述寄存器中。
28.根据权利要求26所述的方法,其中所述第二处理器响应于检测到上下文切换而执行所述指令。
29.根据权利要求26所述的方法,其中所述存储器在所述第二处理器的存储器管理单元中,且响应于基于所述指令的所述索引操作数搜索所述指针表,由所述第二处理器将所述第一地址转换表的所述地址加载到所述第二处理器的所述寄存器中。
30.根据权利要求26所述的方法,其中重写所述第二处理器的所述寄存器的所述内容包括重写至少一个值。
31.根据权利要求26所述的方法,其中所述第一地址转换表包含虚拟地址到中间物理地址转换、中间物理地址到物理地址转换或其任何组合。
32.根据权利要求26所述的方法,其进一步包括响应确定第二地址转换表的第二地址存储在所述第二处理器的所述寄存器中,忽略将所述第二地址加载到所述第二处理器的所述寄存器中。
33.一种存储器管理设备,其包括:
用于处理的第一装置,所述用于处理的第一装置经配置以在用于存储的第一装置处存储地址转换表的地址,所述地址存储在配置块中;以及
用于处理的第二装置,所述用于处理的第二装置经配置以:
在所述用于处理的第二装置处存储指向所述用于存储的第一装置的配置块的指针表;
在所述指针表中,基于指令的索引操作数识别指向所述用于存储的第一装置的第一配置块的第一指针;
基于所述第一指针从所述用于存储的第一装置的所述第一配置块读取第一地址转换表的地址;
将所述地址从所述用于存储的第一装置的所述第一配置块加载到所述用于处理的第二装置的寄存器中,其中所述用于处理的第二装置的所述寄存器经配置以基于从所述用于处理的第一装置接收的写入允许信号的值而响应于所述指令的执行进行排他性写入,其中所述指令包括重写操作数以指示是否重写所述用于处理的第二装置的所述寄存器的内容,且其中所述用于存储的第一装置在所述用于处理的第二装置外部且能由所述用于处理的第二装置存取。
34.根据权利要求33所述的设备,其进一步包括用于将所述用于处理的第一装置介接到所述用于处理的第二装置的装置,其中用于介接的所述装置与系统存储器管理单元SMMU接口兼容,且其中用于介接的所述装置包括所述用于存储的第一装置。
35.根据权利要求33所述的设备,其中用于处理的所述第一装置与第一指令集结构相关联且其中用于处理的所述第二装置与不同于所述第一指令集结构的第二指令集结构相关联。
CN201480013945.5A 2013-03-14 2014-03-11 外部可编程存储器管理单元 Active CN105144122B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/828,718 US10114756B2 (en) 2013-03-14 2013-03-14 Externally programmable memory management unit
US13/828,718 2013-03-14
PCT/US2014/023552 WO2014159418A1 (en) 2013-03-14 2014-03-11 Externally programmable memory management unit

Publications (2)

Publication Number Publication Date
CN105144122A CN105144122A (zh) 2015-12-09
CN105144122B true 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)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
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
US9412432B2 (en) * 2013-03-15 2016-08-09 Ps4 Luxco S.A.R.L. Semiconductor storage device and system provided with same
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
US11132044B2 (en) * 2018-05-08 2021-09-28 Micron Technology, Inc. Dynamic P2L asynchronous power loss mitigation
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)
CN112015474B (zh) * 2020-08-28 2024-01-26 格兰菲智能科技有限公司 电子装置及其命令数量减少方法
US11416960B2 (en) * 2020-11-06 2022-08-16 Samsung Electronics Co., Ltd. Shader accessible configurable binning subsystem

Family Cites Families (48)

* Cited by examiner, † Cited by third party
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
US6516373B1 (en) 1999-06-18 2003-02-04 Samsung Electronics Co., Ltd. Common motherboard interface for processor modules of multiple architectures
US6526462B1 (en) 1999-11-19 2003-02-25 Hammam Elabd Programmable multi-tasking memory management system
US6981132B2 (en) * 2000-08-09 2005-12-27 Advanced Micro Devices, Inc. Uniform register addressing using prefix byte
US6904483B2 (en) 2001-03-20 2005-06-07 Wind River Systems, Inc. System and method for priority inheritance
US6684305B1 (en) 2001-04-24 2004-01-27 Advanced Micro Devices, Inc. Multiprocessor system implementing virtual memory using a shared memory, and a page replacement method for maintaining paged memory coherence
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
US7681012B2 (en) * 2007-01-30 2010-03-16 Texas Instruments Incorporated Method, system and device for handling a memory management fault in a multiple processor device
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
US8195867B2 (en) 2008-06-06 2012-06-05 International Business Machines Corporation Controlled shut-down of partitions within a shared memory partition data processing system
US8464011B2 (en) * 2008-10-27 2013-06-11 Advanced Micro Devices, Inc. Method and apparatus for providing secure register access
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 富士通株式会社 スケジューリングプログラム、および情報処理装置
US8984330B2 (en) * 2011-03-28 2015-03-17 Siemens Corporation Fault-tolerant replication architecture
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
US20130013889A1 (en) * 2011-07-06 2013-01-10 Jaikumar Devaraj Memory management unit using stream identifiers
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
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

Also Published As

Publication number Publication date
JP6345231B2 (ja) 2018-06-20
US20140281332A1 (en) 2014-09-18
EP2972898A1 (en) 2016-01-20
EP2972898B1 (en) 2017-11-22
WO2014159418A1 (en) 2014-10-02
US10114756B2 (en) 2018-10-30
CN105144122A (zh) 2015-12-09
KR20150130382A (ko) 2015-11-23
JP2016515265A (ja) 2016-05-26

Similar Documents

Publication Publication Date Title
CN105144122B (zh) 外部可编程存储器管理单元
CN105190552B (zh) 执行多个管理程序的系统和方法
US8966458B2 (en) Processing code units on multi-core heterogeneous processors
CN104951296B (zh) 允许一种架构的代码模块使用另一种架构的库模块的架构间兼容模块
CN104951274B (zh) 用于控制流安全性的二进制转换机制的指令和逻辑
CN105745630B (zh) 用于在集群宽执行机器中的存储器访问的指令和逻辑
US8732729B2 (en) Unified driving method and unified driver apparatus
CN107003965A (zh) 向用户级应用传递中断
US10713021B2 (en) Geometric 64-bit capability pointer
CN107430553B (zh) 用于存储器管理单元的命令驱动转换预取
TW201730755A (zh) 用於以傳巷為基礎之跨步分散運算的指令與邏輯
CN105659209B (zh) 在客户端设备上托管的云服务
US20150220369A1 (en) Distributed procedure execution in multi-core processors
KR20160007605A (ko) 메모리 액세스의 가속
US20170371792A1 (en) Priority-based storage and access of compressed memory lines in memory in a processor-based system
CN109196488A (zh) 用于基于处理器的系统中的压缩存储器行的预提取机制
CN104346132A (zh) 应用于智能卡虚拟机运行的控制装置及智能卡虚拟机
CN106796712A (zh) 透明像素格式转换器
US8868800B2 (en) Accelerator buffer access
CN106502707A (zh) 代码生成方法及装置
CN101876898A (zh) 一种com组件的注册方法及装置
CN113032650A (zh) 图书馆图书管理方法、装置、服务器及存储介质
CN113535660B (zh) 安卓日志存储方法和装置
KR102623712B1 (ko) 디지털 트윈 기술을 이용하여 농촌 내 유휴공간을 분석하기위한 전자 장치 및 그 동작 방법
US9015729B2 (en) Mobile apparatus executing efficient dataflow execution for mobile context monitoring, method of executing dataflow using the same, method of context monitoring using the same and context monitoring system including the same

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