《作为中间件的平台无关ISA仿真器.pdf》由会员分享,可在线阅读,更多相关《作为中间件的平台无关ISA仿真器.pdf(10页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 104025074 A(43)申请公布日 2014.09.03CN104025074A(21)申请号 201180076052.1(22)申请日 2011.12.30G06F 15/76(2006.01)G06F 9/44(2006.01)G06F 9/22(2006.01)(71)申请人英特尔公司地址美国加利福尼亚州(72)发明人 S.R.库玛 S.R.尹加(74)专利代理机构中国专利代理(香港)有限公司 72001代理人姜冰 汤春龙(54) 发明名称作为中间件的平台无关ISA仿真器(57) 摘要硬件/软件架构能够包括多个软件应用运行于其上的高级软件栈、具有硬件平台。
2、类型的基础硬件平台以及驻留在高级软件栈与基础硬件平台之间并且配置成允许所述多个软件应用中的两个或更多与硬件平台类型无关地彼此交互的中间件层。(85)PCT国际申请进入国家阶段日2014.06.27(86)PCT国际申请的申请数据PCT/US2011/068227 2011.12.30(87)PCT国际申请的公布数据WO2013/101224 EN 2013.07.04(51)Int.Cl.权利要求书2页 说明书3页 附图4页(19)中华人民共和国国家知识产权局(12)发明专利申请权利要求书2页 说明书3页 附图4页(10)申请公布号 CN 104025074 ACN 104025074 A1/。
3、2页21. 一种硬件/软件架构,包括:高级软件栈,其上多个软件应用正在运行;基础硬件平台,具有硬件平台类型;以及中间件层,驻留在所述高级软件栈与所述基础硬件平台之间,并且配置成允许所述多个软件应用中的两个或更多与所述硬件平台类型无关地彼此交互。2. 如权利要求1所述的硬件/软件架构,包括所述高级软件栈中的至少一个操作系统(OS)。3. 如权利要求1所述的硬件/软件架构,其中,所述硬件平台类型包括ARM指令集架构(ISA)。4. 如权利要求1所述的硬件/软件架构,其中,所述中间件层还配置成提供包括新的通用标准指令集的接口选项。5. 如权利要求1所述的硬件/软件架构,其中,所述多个软件应用包括基于。
4、ARM的应用,并且其中所述中间件层还配置成使所述基于ARM的应用能够运行于不同的架构之上。6. 如权利要求1所述的硬件/软件架构,其中,所述中间件层还配置成接收卸载的遗留指令集架构。7. 如权利要求1所述的硬件/软件架构,其中,所述中间件层还配置成接收卸载的低性能指令集架构。8. 如权利要求1所述的硬件/软件架构,其中,所述中间件层包括指令集架构(ISA)仿真器。9. 如权利要求1所述的硬件/软件架构,其中,所述中间件层包括架构无关二进制转换器/仿真器。10. 如权利要求9所述的硬件/软件架构,其中,所述二进制转换器/仿真器配置成与所述高级软件栈相集成。11. 如权利要求9所述的硬件/软件架构。
5、,其中,所述二进制转换器/仿真器是灵活、可适配并且易于修改的。12. 一种系统,包括:第一装置,使用第一操作系统(OS)来运行第一软件应用;第二装置,使用第二OS来运行第二软件应用;基础硬件平台,具有硬件平台类型;以及中间件层,驻留在所述第一和第二OS的每个OS与所述基础硬件平台之间,所述中间件层配置成促进所述第一与第二软件应用之间的通信,而与所述硬件平台类型无关。13. 如权利要求12所述的系统,其中,所述中间件层包括架构无关二进制转换器/仿真器。14. 如权利要求12所述的系统,其中,所述第一和第二装置中的至少一个包括移动电子装置。15. 一种机器控制方法,包括:在具有硬件平台的架构中,中。
6、间件层接收来自在第一装置上的第一软件栈中运行的第一软件应用的与第二软件应用进行通信的请求,所述第二软件应用在第二装置上的第二软件栈中运行,所述硬件平台具有硬件平台类型;以及权 利 要 求 书CN 104025074 A2/2页3所述中间件层与所述硬件平台类型无关地准许所述请求。16. 如权利要求15所述的机器控制方法,还包括将遗留指令集架构、低性能指令集架构或者它们两者卸载到所述中间件层。17. 如权利要求15所述的机器控制方法,还包括所述中间件层提供包括新的通用标准指令集的接口选项。18. 一种存储指令的非暂态机器可读媒体,所述指令在由处理器运行时使所述处理器:在具有硬件平台的架构中,接收来。
7、自在第一装置上的第一软件栈中运行的第一软件应用的与第二软件应用进行通信的请求,所述第二软件应用在第二装置上的第二软件栈中运行,所述硬件平台具有硬件平台类型;以及与所述硬件平台类型无关地准许所述请求。19. 如权利要求18所述的非暂态机器可读媒体,其中,所述指令还使所述处理器使遗留指令集架构、低性能指令集架构或者它们两者被卸载到平台无关中间件层。20. 如权利要求18所述的非暂态机器可读媒体,其中,所述指令还使所述处理器使基于ARM的应用能够运行于不同的架构之上。权 利 要 求 书CN 104025074 A1/3页4作为中间件的平台无关 ISA 仿真器技术领域0001 一般来说,所公开技术涉及。
8、硬件/软件架构,以及更具体来说,涉及用于平台无关架构的中间件。背景技术0002 当前,操作系统(OS)和软件应用栈整体地捆绑到它们运行于其上的平台架构。因此,对应后端架构必须基于并且开始于应用编程接口(API)以及具体平台特定的指令集来开发。除非本机(native)硬件和指令集以某种方式来修改以适应应用/OS栈的需要,否则该平台可能不是可行的。0003 如果遗留应用依靠遗留指令集架构(ISA),则当今的平台和操作系统除了本机方式之外就没有支持它的方式,这仅增加双边的需求,从而引起多个负面结果的任一个,例如效率的降低以及功率消耗的增加。0004 因此,仍然需要改进的硬件/软件架构、特别是针对驻留。
9、其之间的中间件。附图说明0005 通过附图、作为举例而不是限制来示出所公开技术的实施例,附图中,相似的参考标号表示相似的元件。0006 图1是示出当前平台相关硬件/软件架构的示例的框图。0007 图2是示出按照所公开技术的某些实施例的平台无关硬件/软件架构的示例的框图。0008 图3示出按照所公开技术的某些实施例的中间件层、例如图2的平台无关架构中的中间件层的示例。0009 图4示出可实现所公开技术的实施例的某些方面的装置的示例。0010 图5是示出按照所公开技术的某些实施例的联网系统的示例的框图。具体实施方式0011 所公开技术的某些实施例允许为特定硬件和/或指令集架构(ISA)所开发的应用。
10、是可行的、例如被支持,而与它们必须运行于其上的硬件平台的类型无关。这类实施例可用来消除硬件设计专一性以及一些情况中、支持依靠对应硬件和/或ISA的应用所需的对应开销。0012 某些实现包括利用灵活、可适配并且易于修改的二进制(binary)仿真器,以充当高级应用/OS栈与对应平台硬件架构之间的转换器。从运行于平台的应用的角度来看,这个中间件层可抽象出硬件,并且提供它们可与其通信的通用、例如标准化接口或者可编程仿真器接口。这类实施例使应用能够与平台上的本地硬件进行交互,而与它例如是ARM还是LA ISA或者实际上任何其它类型的架构无关。0013 某些实现可允许所有对应应用是可移植的,而与基础平台。
11、架构、例如ARM或者另说 明 书CN 104025074 A2/3页5外某种类型的架构无关。实现可允许平台硬件设计摆脱例如通过硬件中所实现的遗留支持,并且基本上不受阻碍,因为它们为经过硬件演进/重新设计的持续性能改进而努力。0014 应用栈开发人员可依靠按照所公开技术的中间件层所提供的接口选项来与后端硬件进行通信。那些接口选项可包括新的通用标准指令集或者当前ISA的情况中、与其关联的应用的改进可移植性。0015 所公开技术的某些实现可包括仿真某些类型的功能性,而不是本机地实现这种功能性。例如,这种架构中的处理器可具有足够处理能力(如根据中央处理器(CPU)和/或图形处理单元(GPU)能力所测量。
12、)来仿真ARM ISA。在这个上下文中,二进制仿真器要被认为是中间件。0016 在涉及较小核心、例如小架构的某些实施例中,具有较长等待时间的指令可卸载到仿真器,以便促进功能性和/或性能方面的折衷。这类实施例可包括用于卸载遗留ISA、例如x87 ISA、外部ISA和/或不太频繁运行的ISA、同时在中间件中保持兼容性层的机制。例如,这些实现可扩展到包括通过通用串行总线(USB)连接的RS-232协议的仿真、以减少遗留端口的数量的情况。0017 图1是示出当前平台相关硬件/软件架构100的示例的框图。架构100包括例如应用和/或软件组件等的软件层110以及硬件平台130。中间件层120如双向箭头11。
13、2所示来与硬件平台130进行交互,并且还通过应用编程接口层115来与软件层110进行交互,如双向箭头128所示。0018 图2是示出按照所公开技术的某些实施例的平台无关硬件/软件架构200的示例的框图。在本示例中,例如,架构200包括例如操作系统(OS)和软件应用等的高级软件栈210以及例如ARM架构等的硬件平台230。架构200还包括中间件层220,其驻留在高级软件栈210与硬件平台230之间。中间件层220如双向箭头212所示来与软件层210进行交互,并且还与硬件平台230进行交互,如双向箭头228所示。0019 在本示例中,二进制仿真器中间件220可成为一个高级软件栈210,并且因此具有。
14、与传统软件关联的优点的任一个或全部,例如灵活性、可编程性和快速转向,而没有必须重新设计本机硬件平台230以支持新的和/或多个指令集或者改进性能的开销。0020 在某些实施例中,中间件层220可使基于ARM的应用运行于其它架构,并且反过来也是一样,因而引起应用和平台的改进互通。这可转换成平台、应用的拓宽适用性以及最终的顾客可用的选择数量。0021 在某些实现中,架构200可允许将遗留ISA或低性能ISA的操控卸载到中间件220,以便例如使架构200不受阻碍地、自由确定新的性能目标。0022 图3示出按照所公开技术的某些实施例的中间件层300、例如图2的平台无关架构200中的中间件层220的示例。。
15、中间件层300包括可编程接口302,其能够与各种类型的平台架构进行接口。中间件层300还可包括转换器/仿真器304、标准化应用/OS接口306、可编程ARM或其它接口308或者它们的任何组合。0023 图4示出可实现所公开技术的实施例的某些方面的装置400的示例。装置400可包括但不限于:计算装置,例如台式计算机或膝上型计算机;移动装置,例如手持或平板计算机;通信装置,例如智能电话;或者工业特定机器,例如售货机或ATM。0024 装置400包括壳体402、与壳体402关联的显示器404、与壳体402关联的输入机说 明 书CN 104025074 A3/3页6构406、壳体402中的处理器408。
16、以及壳体402中的存储器410。输入机构406可包括例如键盘等的物理装置或者例如触摸屏中实现的虚拟小键盘等的虚拟装置。处理器408可执行实际上多个操作的任一个,例如以上所述的那些操作。存储器410可存储产生于处理器408所执行的处理的信息。0025 图5是示出按照所公开技术的某些实施例的联网系统500的示例的框图。在本示例中,系统500包括网络502,例如因特网、内联网、家庭网络或者它们的任何组合。个人计算机5045 506可连接到网络502,以便相互通信或者与连接到网络的其它装置进行通信。0026 系统500还包括三个移动电子装置508-512。移动电子装置中的两个508和510是通信装置,。
17、例如蜂窝电话或智能电话。移动装置中的另一个512是手持计算装置,例如个人数字助理(PDA)或平板装置。远程存储装置514可存储供计算机504和506或者移动电子装置508-512的任一个来访问和使用的数据的一些或全部。0027 在某些实现中,平台无关硬件/软件架构、例如图2的架构200可跨越所示系统500中的装置的任一个或全部。例如,运行于台式计算机504的应用可设法与运行于移动装置512的应用进行交互。平台无关架构可允许并且促进两个装置504与512之间的这种通信,而与基础硬件平台无关。0028 所公开技术的实施例可结合到各种类型的架构中。例如,某些实施例可实现为下列任一个或者组合:使用主板。
18、所互连的一个或多个微芯片或集成电路、图形和/或视频处理器、多核处理器、硬连线逻辑、由存储器装置所存储并且由微处理器所运行的软件、固件、专用集成电路(ASIC)和/或现场可编程门阵列(FPGA)。如本文所使用的术语“逻辑”作为举例可包括软件、硬件或者它们的任何组合。0029 虽然本文示出和描述了具体实施例,但是本领域的技术人员将领会,在不背离所公开技术的实施例的范围的情况下,广泛的各种备选和/或等同实现可取代所示和所述的具体实施例。本申请意在涵盖本文所示和所述实施例的任何适配或变更。因此,所公开技术的实施例显然旨在仅由随附权利要求及其等同来限制。说 明 书CN 104025074 A1/4页7图 1图 2说 明 书 附 图CN 104025074 A2/4页8图 3说 明 书 附 图CN 104025074 A3/4页9图 4说 明 书 附 图CN 104025074 A4/4页10图 5说 明 书 附 图CN 104025074 A10。