arm构架分析
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异常处理代码的兼容。图2.3是在加入了Jazelle的ARM处理器中运行Java应用的垂直架构架图。
- 基于自适应技术的CPU供电电路系统(10-27)
- 嵌入式CPU卡在医用便携式监护仪中的应用及设计(09-23)
- 四核Vs八核移动处理器 性能差异并不大(03-10)
- 可编程逻辑控制器(PLC)基本操作及功能简介(03-07)
- 评测:采用AMD APU平台的联想启天M5800——均衡+全能(02-17)
- 智能手机省电秘诀:看如何从设计源头来降低功耗(02-14)
