CN201480011734.8
2014.03.11
CN105190552A
2015.12.23
授权
有权
授权|||实质审查的生效IPC(主分类):G06F 9/455申请日:20140311|||公开
G06F9/455; G06F9/50; G06F12/10
G06F9/455
高通股份有限公司
埃里希·詹姆士·普罗恩德克; 卢齐安·科德雷斯库; 克里斯托弗·爱德华·科布; 皮尤士·派泰尔; 托马斯·安德鲁·萨托里乌斯
美国加利福尼亚州
2013.03.14 US 13/829,023
北京律盟知识产权代理有限责任公司 11287
宋献涛
一种设备包含可在第一组处理器上执行的初级管理程序和可在第二组处理器上执行的次级管理程序。所述初级管理程序可界定资源的设定,且所述次级管理程序可基于由所述初级管理程序界定的所述设定而使用所述资源。举例来说,所述初级管理程序可针对所述次级管理程序编程存储器地址转译映射。所述初级管理程序和所述次级管理程序可包含其自身的调度程序。
权利要求书1. 一种设备,其包括:初级管理程序,其可在第一组处理器上执行;以及次级管理程序,其可在第二组处理器上执行,其中所述初级管理程序经配置以编程存储器地址转译映射,且其中所述次级管理程序经配置以使用所述存储器地址转译映射。2. 根据权利要求1所述的设备,其中所述第一组处理器中的每一处理器与第一指令集架构相关联,且其中所述第二组处理器中的每一处理器与不同于所述第一指令集架构的第二指令集架构相关联。3. 根据权利要求1所述的设备,其中所述第一组处理器包含单一处理器,所述第二组处理器包含单一处理器,或其任何组合。4. 根据权利要求1所述的设备,其中所述第一组处理器包含多个处理器,其中所述第二组处理器包含多个处理器,或其任何组合。5. 根据权利要求1所述的设备,其中所述初级管理程序具有对所述存储器地址转译映射的读取-写入存取权,且所述次级管理程序具有对所述存储器地址转译映射的只读存取权。6. 根据权利要求1所述的设备,其中所述次级管理程序经配置以使用所述存储器地址转译映射来执行处理器虚拟化。7. 根据权利要求1所述的设备,其中所述初级管理程序经配置以调度虚拟处理器以供在所述第一组处理器上执行,且所述次级管理程序经配置以调度虚拟处理器以供在第二组处理器上执行。8. 根据权利要求7所述的设备,其中所述初级管理程序根据第一调度算法调度虚拟处理器,且其中所述次级管理程序根据不同于所述第一调度算法的第二调度算法调度 处理器。9. 根据权利要求8所述的设备,其中所述第一调度算法和所述第二调度算法中的至少一者包括时间片段调度。10. 根据权利要求8所述的设备,其中所述第一调度算法和所述第二调度算法中的至少一者包括基于优先权的调度。11. 根据权利要求1所述的设备,其进一步包括:第一客体操作系统,其可相对于所述第一组处理器但非所述第二组处理器执行;以及第二客体操作系统,其可相对于所述第二组处理器但非所述第一组处理器执行。12. 根据权利要求1所述的设备,其进一步包括客体操作系统,所述客体操作系统可并行地在所述第一组处理器的至少一个处理器和所述第二组处理器的至少一个处理器上执行。13. 根据权利要求1所述的设备,其进一步包括与所述初级管理程序、所述次级管理程序或其组合相关联的虚拟化装置。14. 根据权利要求13所述的设备,其中所述虚拟化装置包括计时器。15. 一种设备,其包括:初级管理程序,其可在第一组处理器上执行,所述初级管理程序包括第一调度程序;以及次级管理程序,其可在第二组处理器上执行,所述次级管理程序包括不同于所述第一调度程序的第二调度程序。16. 根据权利要求15所述的设备,其中所述初级管理程序经配置以编程存储器地址转译映射,且其中所述次级管理程序经配置以使用由所述初级管理程序编程的所述存储器地址转译映射。17. 根据权利要求16所述的设备,其中所述存储器地址转译映射包含从中间物理地址到物理地址的转译。18. 一种设备,其包括:初级管理程序,其可在第一组处理器上执行;以及次级管理程序,其可在第二组处理器上执行,其中所述初级管理程序经配置以界定资源的设定,且其中所述次级管理程序经配置以基于所述设定使用所述资源。19. 根据权利要求18所述的设备,其中所述资源包括存储器、存储器映射装置或其任何组合的至少一部分。20. 根据权利要求19所述的设备,其中所述资源的所述设定包括存储器地址转译映射。21. 根据权利要求18所述的设备,其中所述初级管理程序包含第一调度程序,且其中所述次级管理程序包含不同于所述第一调度程序的第二调度程序。22. 一种方法,其包括:由在第二组处理器上执行的次级管理程序检索由在第一组处理器上执行的初级管理程序编程的一或多个存储器地址转译映射;以及在数据存取操作期间使用所述所检索的一或多个存储器地址转译映射。23. 根据权利要求22所述的方法,其中所述一或多个存储器地址转译映射包含从中间物理地址到物理地址的转译。24. 根据权利要求22所述的方法,其中所述数据存取操作包括读取操作或写入操作。25. 根据权利要求22所述的方法,其中所述第一组处理器与第一指令集架构相关联,且其中所述第二组处理器与不同于所述第一指令集架构的第二指令集架构相关联。26. 根据权利要求22所述的方法,其中所述初级管理程序具有对所述一或多个存储器地址转译映射的读取-写入存取权,且其中所述次级管理程序具有对所述一或多个 存储器地址转译映射的只读存取权。27. 根据权利要求22所述的方法,其进一步包括由所述次级管理程序的调度程序调度虚拟处理器以供在所述第二组处理器上执行,其中所述虚拟处理器对应于在所述次级管理程序上运行的客体操作系统的任务,且其中由所述调度程序进行的对所述虚拟处理器的所述调度独立于由所述初级管理程序执行的调度而执行。28. 一种设备,其包括:用于处理的第一装置;用于处理的第二装置;用于编程存储器地址转译的装置,其中所述用于编程的装置可在所述用于处理的第一装置上执行;以及用于使用所述存储器地址转译的装置,其中所述用于使用的装置可在所述用于处理的第二装置上执行。29. 根据权利要求28所述的设备,其进一步包括:用于调度虚拟处理器以供在所述用于处理的第一装置上执行的第一装置;以及用于调度虚拟处理器以供在所述用于处理的第二装置上执行的第二装置。30. 根据权利要求28所述的设备,其中所述用于处理的第一装置与第一指令集架构相关联,且其中所述用于处理的第二装置与不同于所述第一指令集架构的第二指令集架构相关联。31. 一种非暂时性计算机可读媒体,其包括指令,所述指令在由计算机执行时致使所述计算机:由在第二组处理器上执行的次级管理程序检索由在第一组处理器上执行的初级管理程序编程的一或多个存储器地址转译映射;以及在对存储器的数据存取操作期间使用所述所检索的一或多个存储器地址转译映射。32. 根据权利要求31所述的非暂时性计算机可读媒体,其中所述一或多个存储器地址 转译映射包含从中间物理地址到物理地址的转译。33. 根据权利要求31所述的非暂时性计算机可读媒体,其中所述初级管理程序具有对所述一或多个存储器地址转译映射的读取-写入存取权,且其中所述次级管理程序具有对所述一或多个存储器地址转译映射的只读存取权。
说明书执行多个管理程序的系统和方法 相关申请案的交叉参考 本申请案主张来自2013年3月14日申请的第13/829,023号共同拥有的美国非临时专利申请案的优先权,且与2013年3月14日申请的第13/828,183号共同待决美国非临时专利申请案和2013年2月26日申请的第13/777,314号共同待决美国非临时专利申请案相关。这些申请案中的每一者的内容全文以引用的方式并入。 技术领域 本发明大体涉及使用多个管理程序的操作系统的虚拟化。 背景技术 技术的进步已产生较小且较强大的计算装置。举例来说,当前存在多种便携式个人计算装置,包含无线计算装置,例如便携式无线电话、个人数字助理(PDA)、平板计算机和寻呼装置,其体积小,重量轻,且易于由用户携带。许多此类计算装置包含并入于其中的其它装置。举例来说,无线电话还可包含数字静态相机、数码摄像机、数字记录器,和音频文件播放器。并且,此类计算装置可处理可执行指令,包含软件应用程序,例如可用以接入因特网的网络浏览器应用,和利用静态或摄像机并提供多媒体重放功能性的多媒体应用。 例如移动电话等计算装置可包含多个处理器。举例来说,移动电话可包含中央处理单元(CPU)(有时被称作应用处理器)和数字信号处理器(DSP)。每一处理器可比其它处理器更好地适合于执行特定计算任务。举例来说,可充当主处理器且可执行移动电话操作系统的CPU可在执行“控制码”(例如,网络浏览器和用户接口代码)的过程中更有效率。另一方面,当执行信号处理和其它数学集中功能时,DSP可比CPU更有效率。CPU和DSP可具有相异的指令集架构。因此,经设计以在CPU上运行的应用可能与DSP不兼容,且反之亦然。 在特定情形中,在单一计算装置处执行多个操作系统可能是有利的。在执行多个操作系统的计算装置中,管理程序(也被称作虚拟机监视器)可用于向操作系统提供可用硬 件资源的抽象化。因此,所述管理程序可充当所述多个操作系统的操作系统。然而,可能难以设计可并行地跨越具有不同指令集架构的数组处理器执行的管理程序。 发明内容 本发明揭示跨越多组处理器的管理程序执行的系统和方法。根据所描述的技术,系统中的管理程序中的一者可为“初级”管理程序,且所述系统中的其余管理程序可为“次级”管理程序。初级管理程序可在与次级管理程序不同组的处理器上运行。举例来说,初级管理程序可与同次级管理程序不同的指令集架构兼容。 初级管理程序可约束次级管理程序执行特定操作,且可实际上迫使次级管理程序依赖于初级管理程序来执行受约束操作。举例来说,初级管理程序可出于安全目的确定用于次级管理程序的物理地址映射(例如,以防止其中多个次级管理程序试图创建道相同物理地址的映射的情形)。 次级管理程序可在不依赖于初级管理程序的情况下执行特定操作。举例来说,次级管理程序可能够在无初级管理程序干预的情况下执行任务调度。启用次级管理程序以执行其自身的任务调度可启用次级管理程序以维持在次级管理程序上执行的客体操作系统的服务质量(QoS)保证(例如,等待时间保证)。 在特定实施例中,一种设备包含可在第一组处理器上执行的初级管理程序和可在第二组处理器上执行的次级管理程序。所述初级管理程序经配置以编程存储器地址转译映射,且所述次级管理程序经配置以使用所述存储器地址转译映射。 在另一特定实施例中,一种设备包含可在第一组处理器上执行的初级管理程序和可在第二组处理器上执行的次级管理程序。所述初级管理程序包含第一调度程序,且所述次级管理程序包含不同于第一调度程序的第二调度程序。 在另一特定实施例中,一种设备包含可在第一组处理器上执行的初级管理程序和可在第二组处理器上执行的次级管理程序。所述初级管理程序经配置以界定资源的设定,且次级管理程序经配置以基于所述设定使用所述资源。 在另一特定实施例中,一种方法包含由在第二组处理器上执行的次级管理程序检索由在第一组处理器上执行的初级管理程序编程的一或多个存储器地址转译映射。所述方法还包含在数据存取操作期间使用所述所检索的一或多个存储器地址转译映射。 在另一特定实施例中,一种设备包含用于处理的第一装置和用于处理的第二装置。所述设备还包含用于编程存储器地址转译的装置,其中所述用于编程的装置可在所述用于处理的第一装置上执行。所述设备进一步包含用于使用所述存储器地址转译的装置, 其中所述用于使用的装置可在所述用于处理的第二装置上执行。 在另一特定实施例中,一种非暂时性计算机可读媒体包含指令,所述指令在由计算机执行时致使所述计算机通过在第二组处理器上执行的次级管理程序检索由在第一组处理器上执行的初级管理程序编程的一或多个存储器地址转译映射。所述指令在由所述计算机执行时还致使所述计算机在数据存取操作期间使用所述所检索的一或多个存储器地址转译映射。 所揭示实施例中的至少一者提供的一个特定优点为,支持在不同组的处理器(例如,具有不同指令集架构的数组处理器)上执行多个管理程序的能力。本发明的其它方面、优点和特征将在审阅整个申请案之后变得显而易见,所述整个申请案包含以下部分:附图说明、具体实施方式和权利要求书。 附图说明 图1为可操作以执行多个管理程序的系统的特定实施例的图; 图2为用以说明可由图1的系统使用的地址转译映射的特定实施例的图; 图3为用以说明执行多个管理程序的方法的特定实施例的流程图;以及 图4为包含可操作以支持多个管理程序的执行的组件的无线装置的框图。 具体实施方式 图1为可操作以执行多个管理程序的系统100的特定实施例的图。系统100包含可在第一组处理器110上执行的初级管理程序111和可在第二组处理器120上执行的次级管理程序121。所述组处理器110、120中的每一者可包含一或多个处理器、处理单元、核心和/或硬件线程,如本文进一步描述。多线程处理器可经由具有并行地执行的多个硬件执行上下文的处理器实施,或作为具有单一硬件执行上下文(例如,对称多处理(SMP)丛集)的多个处理器实施。 举例来说,初级管理程序111可根据第一(例如,CPU特定)指令集架构在一或多个中央处理单元(CPU)核心/硬件线程上执行,且次级管理程序121可根据第二(例如,DSP特定)指令集架构在一或多个数字信号处理器(DSP)核心/硬件线程上执行。应注意,本文对CPU和DSP的描述仅举例而言。例如网络处理单元(NPU)、图形处理单元(GPU)等其它处理器或处理器组也可包含在系统100中。 每一管理程序111、121可仲裁由一或多个客体操作系统对处理器110、120的访问。客体操作系统可使用应用编程接口(API)、共享存储器区或经由某一其它机制与管理程序 111、121通信。初级管理程序111可包含第一调度程序112,其经配置以针对在第一组处理器110上运行的客体操作系统执行“本地”调度。管理程序的“本地”调度可指代调度由专门在对应于所述管理程序的一组处理器上执行的客体操作系统的管理程序执行的操作。举例来说,初级管理程序111可调度第一客体操作系统113的虚拟处理器114以供在第一组处理器110上执行。虚拟处理器114中的每一者可对应于第一客体操作系统113的任务151(例如,由在第一客体操作系统113上执行的应用创建的任务)。 次级管理程序121可包含第二调度程序122,其经配置以针对在第二组处理器120上运行的客体操作系统执行“本地”调度。举例来说,次级管理程序121可调度第二客体操作系统123的虚拟处理器124以供在第二组处理器120上执行。虚拟处理器124中的每一者可对应于第二客体操作系统123的任务152(例如,由在第二客体操作系统123上执行的应用创建的任务)。因此,从管理程序111、121的角度来看,虚拟处理器114、124中的每一者为可调度实体。相反,从客体操作系统113和123的角度来看,虚拟处理器114、124中的每一者为硬件资源抽象化。 调度程序112、122可使用相同调度算法或可使用不同调度算法。举例来说,在图1中,第一调度程序112执行时间片段调度,且第二调度程序122执行基于优先权的调度。为了说明,第二调度程序122可基于虚拟处理器124的优先权来执行基于优先权的调度。应了解,通过使每一管理程序111、121能够保留对于本地调度的职责,图1的系统100可使每一管理程序111、121能够维持服务质量(QoS)保证。举例来说,第二组处理器120可对应于移动电话中的DSP,且次级管理程序121可执行特定调度算法以遵循针对例如调制解调器操作系统或音频/话音处理操作系统等客体实时操作系统(RTOS)的等待时间约束。 三个类型的存储器地址可用于系统100中:虚拟地址(VA)、中间物理地址(IPA)和物理地址(PA)。每一虚拟地址可与虚拟地址空间相关联,且多个虚拟地址空间可在系统100处使用。举例来说,每一客体操作系统113、123可使用不同虚拟地址空间。每一中间物理地址可与中间物理地址空间相关联,且多个中间物理地址空间可在系统100处使用。举例来说,每一客体操作系统113、123可使用不同中间物理地址空间。可用于直接访问存储器(例如,随机存取存储器(RAM)、基于磁盘的存储器、高速缓冲存储器、寄存器存储器等)的区和存储器映射装置(例如,输入/输出(I/O)装置)的物理地址可属于单一物理地址空间。 当虚拟地址、中间物理地址和物理地址在系统100中使用时,可在系统100中界定两个类型的地址转译映射。第一类型的地址转译映射可从虚拟地址到中间物理地址,且 第二类型的地址转译映射可从中间物理地址到物理地址。因此,系统100中的虚拟地址的“完整”地址转译映射可包含从虚拟地址到中间物理地址的“第一级”转译,继之以从中间物理地址到物理地址的“第二级”转译。参看图2进一步描述第一级和第二级转译的实例。 在特定实施例中,任务151和第一客体操作系统113可指代使用作为第一虚拟地址空间的一部分的虚拟地址的存储在存储器和存储器映射装置中的数据。任务152和第二操作系统123可指代使用作为第二虚拟空间的一部分的虚拟地址的存储在存储器和存储器映射装置中的数据。客体操作系统113、123中的每一者可针对其相应虚拟地址空间界定第一级(即,VA到IPA)转译141、142。应了解,因为IPA不可直接用于存取存储器或存储器映射装置,所以允许每一客体操作系统113、123界定其自身的第一级转译141、142不会造成安全风险。 出于安全原因,用于确定物理地址映射(即,第二级转译)的职责可仅仅指派到初级管理程序111。举例来说,仅允许初级管理程序111确定针对存储器中的物理地址的映射可防止以下情形:次级管理程序121尝试界定与由初级管理程序111和/或另一次级管理程序界定的映射冲突的物理地址映射。次级管理程序121可因此为“薄”管理程序,其依赖于初级管理程序111来执行特定功能(例如,确定第二级转译)。 为确定第二级转译,初级管理程序111可包含物理地址转译映射模块115。在特定实施例中,物理地址转译映射模块115可编程第二级转译116,且可确定配置数据117(例如,存储器中的第二级转译116的位置)。物理地址转译映射模块115可针对系统100中的所有客体操作系统编程第二级转译116,所述客体操作系统包含专门相对于第二组处理器120执行的客体操作系统(例如,客体操作系统123)。如本文所使用,如果客体操作系统的至少一个任务(或对应于所述任务的至少一个虚拟处理器)可经调度(例如,由管理程序)以供在特定处理器或特定组的处理器上执行,那么所述客体操作系统可“相对于”所述特定处理器或特定组的处理器执行。因此,物理地址转译映射模块115可针对第一客体操作系统113以及第二客体操作系统123两者编程第二级转译116。 当针对第二客体操作系统123提供的虚拟地址执行地址转译时,次级管理程序121可依赖于初级管理程序111来提供第二级转译116。次级管理程序121可使用初级管理程序111提供的第二级转译116来执行处理器虚拟化。因此,初级管理程序111可具有对第二级转译116以及对配置数据117的读取/写入(RW)存取权,而次级管理程序121具有对第二级转译116以及对配置数据117的只读(RO)存取权,如图1所示。 在特定实施例中,初级管理程序111可包含启动/关断模块118,其经配置以启动和 关断所有客体操作系统,包含专门相对于第二组处理器120执行的那些客体操作系统。因此,初级管理程序111中的启动/关断模块118可响应于来自次级管理程序121的请求而启动或关断第二客体操作系统123。 在特定实施例中,系统100可支持具有不同指令集架构的处理器上客体操作系统的单一实例的并行执行。举例来说,第三客体操作系统133可并行地在第一组处理器110和第二组处理器120上执行。对应于第三客体操作系统133的任务153的第三客体操作系统133的虚拟处理器134可由调度程序112、122的任一者调度。第三客体操作系统133可界定其自身的第一级转译143但可依赖于初级管理程序111来进行第二级转译116。 在操作期间,初级管理程序111的客体启动/关断模块118可开始第一客体操作系统113。客体启动/关断模块118还可响应于来自次级管理程序121的请求而开始第二客体操作系统123。第一客体操作系统113可调度虚拟处理器114以供在第一组硬件处理器110上执行,且第二客体操作系统123可调度虚拟处理器124以供在第二组硬件处理器120上执行。 因为在系统100中分配存储器,所以客体操作系统113、123中的每一者可界定相应第一级转译141、142。所有第二级转译116可由初级管理程序111的物理地址转译模块115界定。物理地址转译模块115还可界定资源设定(例如,配置数据117)。因此,初级管理程序111可具有对第二级转译116和配置数据117的读取-写入存取权(例如,以针对系统100中的所有管理程序设置和修改页表)。第二级转译116和配置数据117可由次级管理程序121以只读方式存取以执行地址转译。举例来说,第二级转译116可由次级管理程序121在到虚拟处理器124中的一者的上下文切换后即刻加载。图1的系统100因此提供一系统,其中初级管理程序111界定一或多个资源的设定(例如,针对物理存储器的地址映射),且次级管理程序121使用由初级管理程序111界定的资源的所述设定来执行各种操作(例如,地址转译)。 在特定实施例中,图1中说明的逻辑和/或功能模块中的每一者(例如,调度程序112、122、物理地址转译映射模块115和客体启动/关断模块118)使用可由处理器110或120执行的软件指令实施。或者,可使用例如控制器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)装置或某一其它装置等硬件装置实施此功能性。然而,应注意,各种模块之间的操作的划分仅为了说明的目的。在替代性实施例中,可使用较多或较少模块实行参考特定模块所描述的功能。 图1的系统100可因此实现在包含具有异构指令集架构的处理器的不同组的处理器 上并行执行多个管理程序。有利地,图1的系统100可实现特定管理程序操作的复制,同时约束其它管理程序操作的复制。举例来说,图1的系统100可提供通过使所有管理程序能够执行调度而维持QoS的计算环境。图1的系统100可通过仅使初级管理程序能够界定第二级转译和启动/关断客体操作系统而维持安全性。 图2说明地址转译映射的实例。如参看图1所描述,地址转译可在两个层中发生。每一客体操作系统的虚拟处理器可指代使用虚拟地址的数据,且每一客体操作系统可将虚拟地址映射到中间物理地址。举例来说,图2说明第一客体操作系统(例如,图1的第一客体操作系统113)的虚拟处理器(VP)201、202以及第二客体操作系统(例如,图1的第二客体操作系统123)的虚拟处理器203、204。 由虚拟处理器201、202使用的虚拟地址可由第一客体操作系统映射到第一中间物理地址空间205(表示为“IPA1”),如图所示。由第二客体操作系统的虚拟处理器203、204使用的虚拟地址可由第二客体操作系统映射到第二中间物理地址空间206(表示为“IPA2”),如图所示。如参看图1所描述,中间地址可映射到物理地址,且所有此些IPA到PA映射可界定为由初级管理程序处置。 举例来说,第一虚拟处理器201可使用映射到的中间物理地址范围212的虚拟地址范围。第二虚拟处理器202可使用映射到中间物理地址范围211和213的虚拟地址范围。第三虚拟处理器203可使用由第二客体操作系统映射到中间物理地址范围221和222的虚拟地址范围。第四虚拟处理器204可使用映射到物理地址范围223的虚拟地址范围。 每一中间物理地址范围211-213、221-223可映射到单一物理地址空间207(表示为“PA”)内的对应物理地址范围231-235,如图所示。在特定实施例中,来自不同中间物理地址空间的地址范围可映射到相同物理地址。举例来说,图2说明中间物理地址范围212和221两者映射到相同物理地址范围232。此共享映射可指示第一客体操作系统和第二客体操作系统两者具有对对应于物理地址范围232的数据或存储器映射装置的存取权。举例来说,物理地址范围232可表示在客体操作系统(和管理程序)之间共享的虚拟化装置,例如计时器。 当第一管理程序包含针对虚拟装置的存储器映射区但第二管理程序并不包含针对所述虚拟装置的存储器映射区时,第一管理程序可向其客体操作系统提供对虚拟装置的存取权但第二管理程序可能不能够向其客体操作系统提供对虚拟装置的存取权。当两个管理程序均包含针对虚拟装置的存储器映射区时,任一管理程序可向其客体操作系统提供对虚拟装置的存取权。 图3为用以说明执行多个管理程序的方法300的特定实施例的流程图。在说明性实 例中,方法300可执行于图1的系统100处。 方法300可包含由在第二组处理器上执行的次级管理程序检索由在第一组处理器上执行的初级管理程序编程的一或多个存储器地址转译映射,302处。所述一或多个存储器地址转译映射可包含第二级转译(例如,IPA到PA转译)。举例来说,参看图1,次级管理程序121可检索由初级管理程序111编程的第二级转译116。 方法300还可包含在数据存取操作期间使用所述所检索的一或多个存储器地址转译映射,304处。所述数据存取操作可为读取操作或写入操作。举例来说,参看图1,次级管理程序121可在读取操作或写入操作期间使用第二级转译116以确定作为读取操作或写入操作的目标的特定物理地址。 方法300还可包含由次级管理程序的调度程序调度虚拟处理器以供在第二组处理器上执行,306处。所述虚拟处理器对应于在次级管理程序上运行的第二客体操作系统的任务。所述调度独立于初级管理程序的调度程序而执行。举例来说,参看图1,调度程序122可调度虚拟处理器124中的对应于任务152中的一者的一个虚拟处理器124以供在第二组处理器120上执行。调度程序122的操作可独立于初级管理程序111的调度程序112的操作(例如,调度程序112、122两者可独立于另一调度程序使用不同调度算法执行“本地”调度)。 可由数字信号处理器(DSP)、处理单元(例如,中央处理单元(CPU))、控制器、现场可编程门阵列(FPGA)装置、专用集成电路(ASIC)、另一硬件装置、固件装置或其任何组合实施图3的方法300。作为一实例,可由执行指令的处理器来执行图3的方法300,如相对于图4所描述。 参看图4,展示电子装置400的框图。电子装置400包含例如中央处理单元(CPU)等第一组处理器410和例如数字信号处理器(DSP)等第二组处理器474,其每一者耦合到存储器432。第一组处理器410和第二组处理器474可具有不同指令集架构。在说明性实施例中,第一组处理器410为图1的第一组处理器110,且第二组处理器474为图1的第二组处理器120。电子装置400或其组件可包含在机顶盒、音乐播放器、视频播放器、娱乐单元、导航装置、通信装置、个人数字助理(PDA)、固定位置数据单元、计算装置或其任何组合中。 图4还展示显示控制器426,其耦合到所述组处理器410、474且耦合到显示器428。译码器/解码器(CODEC)434也可耦合到所述组处理器410、474。扬声器436和麦克风438可耦合到CODEC434。图4还指示无线控制器440可耦合到所述组处理器410、474且耦合到天线442(例如,经由射频(RF)接口)。 存储器432可为包含可执行指令456的有形非暂时性计算机可读或处理器可读存储媒体。指令456可由例如所述组处理器410、474等处理器执行以执行本文中所描述的各种功能和方法,包含图3的方法300。存储器432还可存储对应于初级管理程序457(例如,图1的初级管理程序111)、次级管理程序458(例如,图1的次级管理程序121)和一或多个客体操作系统459(例如,图1的客体操作系统113、123和/或133中的一或多者)的指令。 在特定实施例中,所述组处理器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的第一组处理器110或图4的第一组处理器410中的处理器、用以处理数据的一或多个其它装置或电路,或其任何组合。所述用于处理的第二装置可包含硬件处理器,例如图1的第二组处理器120或图4的第二组处理器474中的处理器、用以处理数据的一或多个其它装置或电路,或其任何组合。在特定实施例中,所述用于处理的第一装置与第一指令集架构相关联,且所述用于处理的第二装置与不同于第一指令集架构的第二指令集架构相关联。 所述设备还包含用于编程存储器地址转译的装置,其中所述用于编程的装置可在所述用于处理的第一装置上执行。举例来说,所述用于编程的装置可为图1的物理地址转译映射模块115、图4的初级管理程序457、用以编程存储器地址转译的一或多个其它装置、电路、模块或指令,或其任何组合。所述设备可进一步包含用于使用所述存储器地址转译的装置,其中所述用于使用的装置可在所述用于处理的第二装置上执行。举例来说,所述用于使用的装置可包含图1的次级管理程序121、图4的次级管理程序458、用以使用存储器地址转译的一或多个其它装置、电路、模块或指令,或其任何组合。 所述设备可包含用于调度虚拟处理器以供在所述用于处理的第一装置上执行的第一装置和用于调度虚拟处理器以供在所述用于处理的第二装置上执行的第二装置。举例来说,所述用于调度的第一装置可包含图1的第一调度程序112、用以调度虚拟处理器以供执行的一或多个其它装置、电路、模块或指令,或其任何组合。所述用于调度的第 二装置可包含图1的第二调度程序122、用以调度虚拟处理器以供执行的一或多个其它装置、电路、模块或指令,或其任何组合。 技术人员将进一步了解,结合本文所揭示的实施例描述的逻辑块、配置、模块、电路和算法步骤可实施为电子硬件、由处理器执行的计算机软件或两者的组合。上文已大体在其功能性方面描述各种说明性组件、块、配置、模块、电路和步骤。此功能性是实施为硬件还是处理器可执行指令取决于特定应用和强加于整个系统的设计约束。熟练的技术人员可针对每一特定应用以不同方式实施所描述的功能性,但此类实施决策不应被解释为引起对本发明的范围的偏离。 结合本文中所揭示的实施例描述的方法或算法的步骤可直接在硬件中、在由处理器执行的软件模块中,或在两者的组合中体现或实施。软件模块可驻留在随机存取存储器(RAM)、快闪存储器、只读存储器(ROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、寄存器、硬盘、可装卸式磁盘、压缩光盘只读存储器(CD-ROM)或此项技术中已知的任何其它形式的非暂时性存储媒体中。示范性存储媒体耦合到处理器,使得处理器可从存储媒体读取信息和将信息写入到存储媒体。在替代方案中,存储媒体可与处理器成一体式。处理器和存储媒体可驻留在专用集成电路(ASIC)中。ASIC可驻留在计算装置、通信装置或用户终端中。在替代方案中,处理器和存储媒体可作为离散组件驻留在计算装置、通信装置或用户终端中。 提供对所揭示实施例的先前描述以使得所属领域的技术人员能够制造或使用所揭示的实施例。所属领域的技术人员将容易显而易见对这些实施例的各种修改,且可将本文定义的原理应用到其它实施例而不脱离本发明的范围。因此,本发明并不希望限于本文所展示的实施例,而应被赋予与如由所附权利要求书定义的原理和新颖特征一致的可能最广范围。
《执行多个管理程序的系统和方法.pdf》由会员分享,可在线阅读,更多相关《执行多个管理程序的系统和方法.pdf(16页珍藏版)》请在专利查询网上搜索。
一种设备包含可在第一组处理器上执行的初级管理程序和可在第二组处理器上执行的次级管理程序。所述初级管理程序可界定资源的设定,且所述次级管理程序可基于由所述初级管理程序界定的所述设定而使用所述资源。举例来说,所述初级管理程序可针对所述次级管理程序编程存储器地址转译映射。所述初级管理程序和所述次级管理程序可包含其自身的调度程序。。
copyright@ 2017-2020 zhuanlichaxun.net网站版权所有经营许可证编号:粤ICP备2021068784号-1