ARM编译器体系构造对运转平台的支持
发布时间:2018-03-23

 ARM编译器体系构造对运转平台的支持 ——Jazelle技术

运转Java虚拟机(JVM)解释Java字节码这种方式对大少数嵌入式使用来说占用空间过多,运转速渡过慢。而零碎开展的趋向及市场的需求决议了Java使用需求有更强的图形处置才能以及一个弱小的Java虚拟机。于是催生出了Jazelle技术,从硬件上对Java虚拟机提供支持。 Jazelle DBX(Direct Bytecode eXecuTIon)是一种硬件架构扩展技术,爲ARM处置器引入了第三套指令集—Java字节码。新指令集树立了一种新的形态,处置器在此形态下处置Java字节码取指令、译码和维护Java操作数栈等义务。允许它们在某些架构的硬件上减速执行Java字节码,就如其他执行形式般,它能在现存的ARM编译器与Thumb形式之间相互切换。爲了降低芯片尺寸并进步功能,Jazelle DBX没有设计成传统方式的微引擎,而是融入流水线中的一个无限形态机。

Jazelle DBX技术添加了一条新的“Branch-to-Java”指令来进入Java形态。此指令支持条件执行,先反省条件标志,假如条件满足,处置器进入Java形态,跳转到指定目的地址,开端执行Java字节码。在Java形态下,PC存放器仍是32位寻址Java字节代码。字节码的取指、译码辨别在两个流水段完成(对应ARM/Thumb形态下爲一个译码流水级)。32位的取指令操作一次性可以取4个Java字节码,功能劣势非常分明,关于一个高度优化的商业Java虚拟机,运转评测顺序或复杂的MIDP2.0使用,Jazelle DBX技术通常可带来约2~4倍的功能提升。Jazelle DBX技术允许一切的Java指令是“可重新开端”的。这样在执行Java指令进程中,即刻呼应中缀,从而增加中缀延迟,确保实时功能。

在ARM处置器的Java形态下,有若干个ARM编译器存放器可以功用复用(包括栈指针、栈顶四项(top4 elements of stack)、部分变量0等)。正是这些硬件复用设计,才使得只用了很少的额定逻辑(约一万两千门)就完成了一个Java机。把一切Jazelle DBX扩展所需的形态用ARM存放器保管,也保证了和现有操作零碎、中缀处置顺序和异常处置代码的兼容性。把栈顶四项保管在ARM存放器中也能进步Java功能。少量的顺序剖析显示,大少数顺序的栈深度是很小的,所以这项战略可以尽量增加内存拜访,硬件也可自动处置栈溢出或下溢。

和Java协处置器或其它公用Java处置器设计不同的是,Jazelle DBX和主处置器共用缓存,这一方面可以降低功耗,而且还可以进步功能。另一个重要的设计思索是确保Jazelle DBX技术不会影响实时中缀功能,仍坚持与操作零碎中已有ARM编译器异常处置代码的兼容。


关于九游会J9电子

九游会J9电子是国际全面的开发工具提供商, 努力于将全球先进的软件商品举荐给国际研发型企业运用,爲企业提供研发、设计、管理进程中运用的各种软件工具,并努力于和客户一同进步研发、设计效率,延长设计周期。九游会J9电子先后与ARM、Altium、Ansys、QT、TestPlant、CollabNet、Parasoft以及TouchGFX等多家全球知名公司树立战略协作同伴关系,并成爲他们在中国区的重要分销协作同伴。

九游会J9电子专注开发、设计、管理工具数十年,客户超越6000家,具有丰厚的工具运用及客户支持经历积聚,可以爲客户提供从ARM开发、EDA板级设计、软件编译及测试工具、构造设计工具、多物理场仿真工具以及嵌入式GUI工具等商品与效劳。九游会J9电子在北京、上海、深圳设有分公司,业务遍及全国。