embeded/ARM2015. 4. 28. 10:00

jazelle 가속이 ARMv7 부터 사라진거 봐서는 의미가 없는거 같긴한데

Yes Dalvik makes Jazelle useless. The only question is was Jazelle useful to begin with or is it 90% marketing hype? A good JIT or AOT(ahead of Time) compiler tends to give much better performance than trying to use specialized instructions. The register based approach of Dalvik might be faster than a traditional java bytecode interpreter but if the difference in minor between that of an interpreter and that of a JIT. Hopefully one of the next versions of Android has a JIT.


It takes ~5-10 years to write a good virtual machine with state of the art garbage collectors and optimizers. Sun (and Microsoft) have spent those years. Google hasn't. Hopefully they will keep investing in it so that one day Android Java code isn't a 90% slower than it should be.

[링크 : http://stackoverflow.com/questions/1153076/does-android-castrate-the-arms-jazelle-technology] 


결론은.. 실제적으로 실패한 기술이려나?

There are (at least) 4 different ways of executing Java:


1. interpretation

2. direct hardware execution

3. JIT compilation

4. AOT compilation


In order to answer your question of whether an ARM core with Jazelle

would improve performance you first need to state what you are

currently using, which core and what speed. If you use an interpreter,

anything will give a good speedup.


Note there are 2 versions of Jazelle: DBX which executes byte codes

directly (various ARM9's and all ARM11's support this). This gives

around 4x speedup over interpretation and has no memory or startup

overheads. There is also an optimizer which can improve performance

at runtime. However rather than generating native instructions like a

JIT, it optimizes the bytecode itself.


Jazelle-RCT supports either JIT or AOT compilation into the Thumb-2EE

instruction set (Cortex-A8/Cortex-A9). This gives near native performance

but when using a JIT you get the usual startup and memory overheads

(although far less than when using x86 due to ARM's better code density).


[링크 : http://www.embeddedrelated.com/showthread/comp.arch.embedded/109371-1.php] 


[링크 : http://en.wikipedia.org/wiki/Jazelle]

[링크 : http://en.wikipedia.org/wiki/Ahead-of-time_compilation]

[링크 : http://en.wikipedia.org/wiki/Just-in-time_compilation]

'embeded > ARM' 카테고리의 다른 글

cortex-m 시리즈와 포화연산  (0) 2015.08.26
ARM926EJ / ARMv5TE  (0) 2015.07.28
ltib 패키지 요구사항  (0) 2015.04.13
jffs2 on sd card  (0) 2015.04.09
sd 메모리 카드 블럭 사이즈  (0) 2015.04.09
Posted by 구차니