执行在具有不同指令集架构的处理器上的操作系统的制作方法_5

文档序号:9355163阅读:来源:国知局
在替代方案中,处理器和存储媒体可作为离散组件驻留在计算装置或用户终端中。
[0081]例如,根据所描述实施例,非暂时性计算机可读存储媒体(例如,CD、DVD、存储器装置等)可存储操作系统的单一实例。操作系统可包含当在包含第一处理器和第二处理器的电子装置处执行时引起在第一处理器与第二处理器上的操作系统的同时执行的指令。第一处理器与第一指令集架构相关联,且第二处理器与不同于第一指令集架构的第二指令集架构相关联。
[0082]提供对所揭示实施例的先前描述以使所属领域的技术人员能够制作或使用所揭示的实施例。对这些实施例的各种修改将易于对所属领域的技术人员显而易见,并且可在不脱离本发明的范围的情况下将本文中定义的原理应用到其它实施例。因此,本发明并不希望限于本文展示的实施例,而应符合与如由所附权利要求书界定的原理和新颖特征一致的可能最广范围。
【主权项】
1.一种执行多个处理器上的代码的方法,包括: 执行第一处理器上的第一代码; 在执行所述第一代码时,执行操作系统事件; 在执行所述操作系统事件后,暂停所述第一代码的执行且起始在第二处理器上的第二代码的执行,所述第二代码用以处置所述操作系统事件;以及 在完成处置所述操作系统事件的所述第二代码的执行后,暂停所述第二代码且恢复在所述第一处理器上的所述第一代码的执行。2.根据权利要求1所述的方法,其中所述第一处理器经配置以执行与第一指令集架构相关联的指令,且其中所述第二处理器经配置以执行与不同于所述第一指令集架构的第二指令集架构相关联的指令。3.根据权利要求2所述的方法,其中所述第一处理器和所述第二处理器各经配置以存取同一相干存储器。4.根据权利要求1所述的方法,其中所述第一代码与所述第二代码与共同虚拟地址空间相关联。5.根据权利要求1所述的方法,其中所述第一处理器和所述第二处理器经配置以经由处理器间消息传递、共享存储器、应用程序编程接口 API或其任何组合来相互通信。6.根据权利要求1所述的方法,其中所述第一处理器包括具有多个硬件线程的数字信号处理器DSP,且其中所述第二处理器包括多核心中央处理单元CPU。7.根据权利要求1所述的方法,其中所述操作系统事件包括页面故障、陷阱、系统故障、系统请求、硬件错误、地址错误、权限违反或其任何组合。8.根据权利要求1所述的方法,其中所述操作系统事件使执行的流程从操作系统的用户模式转变到所述操作系统的核心模式。9.一种设备,其包括: 第一处理器,其具有第一指令集; 第二处理器,其具有第二指令集,所述第二指令集不同于所述第一指令集;以及存储器,其存储可同时在所述第一处理器与所述第二处理器上执行的操作系统的至少一部分。10.根据权利要求9所述的设备,其中所述第一处理器和所述第二处理器集成到移动计算装置内。11.根据权利要求9所述的设备,其中所述存储器进一步存储与所述操作系统相关联的至少一个数据结构。12.根据权利要求11所述的设备,其中所述至少一个数据结构包含: 使用所述第一指令集表示且与第一地址相关联的函数的第一版本的第一位置识别符;以及 使用所述第二指令集表示且与第二地址相关联的所述函数的第二版本的第二位置识别符, 其中所述第一地址不同于所述第二地址。13.根据权利要求12所述的设备,其中所述至少一个数据结构包括: 第一表,其可由所述第一处理器存取且存储所述第一位置识别符,其中所述第一位置识别符包括到所述第一地址的第一跳转或分支指令;以及 第二表,其可由所述第二处理器存取且存储所述第二位置识别符,其中所述第二位置识别符包括到所述第二地址的第二跳转或分支指令, 其中所述第一表和所述第二表与不同物理地址相关联且映射到同一虚拟地址。14.根据权利要求12所述的设备,其中所述至少一个数据结构包括: 第一表,其可由所述第一处理器存取且存储所述第一位置识别符,其中所述第一位置识别符包括所述第一地址;以及 第二表,其可由所述第二处理器存取且存储所述第二位置识别符,其中所述第二位置识别符包括所述第二地址, 其中所述第一表和所述第二表与不同物理地址相关联且映射到同一虚拟地址。15.根据权利要求12所述的设备,其中所述至少一个数据结构包括存储所述第一地址和所述第二地址的表,其中所述表至少部分基于指令集来索引。16.根据权利要求9所述的设备,其中所述操作系统包含经配置以调度使用所述第一处理器上的所述第一指令集和所述第二处理器上的所述第二指令集的任务的执行的调度程序。17.根据权利要求16所述的设备,其中所述调度程序经配置以调度支持所述第一处理器或所述第二处理器中的任一者上的所述第一指令集和所述第二指令集两者的特定任务的执行。18.根据权利要求16所述的设备,其中所述调度程序基于选择准则选择所述第一处理器或所述第二处理器。19.根据权利要求18所述的系统,其中所述选择准则包含负荷最小的处理器的识别、特定任务的类型、与所述特定任务相关联的最低功耗的识别或其任何组合。20.根据权利要求9所述的设备,其中所述操作系统经配置以提供系统调用以开始使用指定指令集的一或多个任务。21.根据权利要求9所述的设备,其中所述操作系统经配置以提供系统调用以将使用特定指令集的特定任务的进行中的执行切换到不同指令集。22.—种方法,其包括: 在可同时在具有第一架构的第一处理器和具有第二架构的第二处理器上执行的操作系统的调度程序处接收调度用于执行的任务的请求; 响应于确定所述任务可用于使用所述第一处理器上的所述第一架构和使用所述第二处理器上的所述第二架构的执行,基于至少一个选择准则调度所述第一处理器上的所述任务;以及 在所述任务的执行期间,将所述任务的执行从所述第一处理器切换到所述第二处理器。23.根据权利要求22所述的方法,其中所述至少一个选择准则包括负荷最小的处理器、所述任务的类型、与所述任务相关联的最低功率使用或其任何组合。24.根据权利要求22所述的方法,其中切换所述任务的执行包括: 起始从所述第一处理器的系统调用; 从所述第一处理器的调度去除所述任务; 将所述任务添加到所述第二处理器的调度;以及 从所述第二处理器上的所述系统调用返回。25.—种设备,其包括: 用于处理与第一指令集相关联的指令的第一装置; 用于处理与不同于所述第一指令集的第二指令集相关联的指令的第二装置;以及用于存储操作系统的至少一部分的装置,所述操作系统可同时在所述用于处理的第一装置和所述用于处理的第二装置上执行。26.根据权利要求25所述的设备,其进一步包括用于存储与所述操作系统相关联的至少一个共享数据结构的装置。27.根据权利要求25所述的设备,其进一步包括用于调度支持所述用于处理的第一装置或所述用于处理的第二装置上的所述第一指令集和所述第二指令集两者的任务的执行的装置。28.一种非暂时性计算机可读媒体,其包括: 操作系统的单一实例, 其中所述操作系统的所述单一实例包括当在包含第一处理器和第二处理器的电子装置处执行时引起所述操作系统在所述第一处理器与所述第二处理器上的同时执行的指令,所述第一处理器与第一指令集架构相关联,且所述第二处理器与不同于所述第一指令集架构的第二指令集架构相关联。29.—种设备,其包括: 存储器,其可由与第一指令集架构相关联的第一处理器和由与第二指令集架构相关联的第二处理器存取,其中所述存储器存储至少一个数据结构,所述至少一个数据结构包含: 经编译以在所述第一指令集架构上执行的第一函数的第一位置识别符;以及 经编译以在所述第二指令集架构上执行的第二函数的第二位置识别符。30.根据权利要求29所述的设备,其中所述至少一个数据结构包括: 第一表,其可由所述第一处理器存取且存储到所述第一函数的第一地址的第一跳转或分支指令;以及 第二表,其可由所述第二处理器存取且存储到所述第二函数的第二地址的第二跳转或分支指令, 其中所述第一地址不同于所述第二地址,且 其中所述第一表和所述第二表与不同物理地址相关联且映射到同一虚拟地址。31.根据权利要求29所述的设备,其中所述至少一个数据结构包括: 第一表,其可由所述第一处理器存取且存储所述第一函数的第一地址;以及 第二表,其可由所述第二处理器存取且存储所述第二函数的第二地址, 其中所述第一地址不同于所述第二地址,且 其中所述第一表和所述第二表与不同物理地址相关联且映射到同一虚拟地址。32.根据权利要求29所述的设备,其中所述至少一个数据结构包括存储所述第一函数的第一地址和所述第二函数的第二地址的表,其中所述表至少部分基于指令集来索引,且其中所述第一不同于所述第二地址。
【专利摘要】一种设备包含具有第一指令集的第一处理器和具有不同于所述第一指令集的第二指令集的第二处理器。所述设备还包含存储操作系统的至少一部分的存储器。所述操作系统可同时在所述第一处理器与所述第二处理器上执行。
【IPC分类】G06F9/455, G06F9/50, G06F9/52
【公开号】CN105074666
【申请号】CN201480009390
【发明人】迈克尔·R·麦克唐纳, 埃里克·J·普隆德克, 帕维尔·波托普利亚克, 卢奇安·科德雷斯库, 理查德·郭, 布赖恩·C·拜尔德费尔
【申请人】高通股份有限公司
【公开日】2015年11月18日
【申请日】2014年2月14日
【公告号】EP2962198A2, US20140244983, WO2014133784A2, WO2014133784A3
当前第5页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1