(arm)jazelle tech flyer 0114-9
TRANSCRIPT
JAZELLE® TECHNOLOGYFOR EXECUTION ENVIRONMENTS
T H E A R C H I T E C T U R E F O R T H E D I G I T A L W O R L D ®
w w w . a r m . c o m
High performance & efficient solutionsthrough integrated hardware and softwaredesignThere has been significant growth in the deployment of virtual execution
environments, such as the Java platform, in a range of consumer devices:
from mobile phones to portable games players, set top boxes and digital TV.
Application developers benefit from increased portability and reduced
development time and cost. The challenge is how to achieve great
performance from an execution environment without increasing system cost
and complexity, or reducing battery life.
ARM Jazelle® technology for acceleration of execution environments
provides the ARM Connected Community with high quality, class leading
solutions for the ARM architecture that offer the optimum combination of
high performance, low power and low cost.
ARM Jazelle DBX (Direct Bytecode eXecution)Jazelle DBX technology delivers an unparalleled combination of Java performance and the
world’s leading 32-bit embedded RISC architecture - giving platform developers the freedom to
run Java applications alongside established OS, middleware and application code on a single
processor.
ARM Jazelle RCT (Runtime CompilationTarget)Jazelle RCT technology enables high performance support for ahead-of-time (AOT) and just-in-
time (JIT) compilation of Java and other execution environments such as Microsoft .NET
Compact Framework with up to 3x less memory usage, resulting in lower cost and increased
battery life.
ARM Jazelle SoftwareARM offer a range of highly optimized virtual machine solutions, tightly coupled to the
hardware, in particular the Jazelle architecture extensions, delivering the optimum
performance, power and cost balance with the Java ME platform.
ARM Jazelle DBX and Jazelle RCT technologies, together with the supporting Jazelle software,
offer customers maximum flexibility and choice with a powerful roadmap for efficient and high
performance execution environments on a wide range of ARM platforms.
Jazelle RCT
Features
• Highest performance bytecode execution
• Low memory and system costs
• Support for JIT/DAC and AOT compilation
• Integrated into latest generation of ARM CPUcores
• Supported by leading execution environments
• Beneficial to Java and other similar languagese.g. Microsoft .NET, MSIL, Python, Flash
• Complementary to Jazelle DBX technology
Ultimate performancewithout increasing costsNext generation ARM Cortex™ processors will bring
processor speeds in the order of a GHz and
beyond. At these frequencies, issues with
application start-time and responsiveness are
lessened and it is anticipated there will be
increasing use of compilation techniques, such as
JIT, DAC and AOT.
Jazelle RCT will enable JIT and AOT compilation
techniques to achieve near-native code
performance with features targeted specifically at
virtual execution environments. This high
performance can be achieved while reducing RAM
memory usage by up to 3x.
Award winningtechnology“The Cortex-A8 processor was touted as giving the
ARM architecture a pleasant boost because of the
Jazelle® RCT technology that is a part of the
processor architecture. Specifically the Thumb®-
2EE instruction set, which is used in the Jazelle
RCT technology, is cited as being a
Memory Efficiency
Unlike a Java co-processor, Jazelle DBX is tightly
integrated with the core architecture, meaning
Jazelle DBX is able to make use of the processor
cache and does not suffer from the bus bandwidth
limitations seen between co-processors and core.
Ease of Integration
Jazelle DBX technology is extremely quick and
easy to integrate into a JVM and underlying OS —
typically taking only a few days. Jazelle DBX is
also supported by many leading OS and Java
runtime vendors. Unlike a JIT or DAC compiler, a
Jazelle DBX enabled solution does not require
costly and time-consuming tuning for each new
platform and application configuration.
Low Power Consumption
Battery life can be extended by using Jazelle DBX
technology, due to the minimal complexity of the
additional logic to implement. Power consumption
is also reduced because Jazelle DBX technology
is implemented inside the system cache.
Low Silicon Cost
Jazelle DBX is implemented in less than 12k gates
— much smaller than co-processors that typically
consume 60k to 100k gates.
Jazelle DBX technology-enabled Cores
ARM has currently integrated Jazelle DBX
technology into
• the ARM1176JZ(F)-S processor
• the ARM1136J(F)-S processor
• the ARM1026EJ-S processor
• the ARM926EJ-S processor
• and the ARM7EJ-S processor.
w w w . a r m . c o m
i n f o @ a r m . c o m
Jazelle DBX forJava™
Features
• High-efficiency Java bytecode execution
• Ultra-low Java system cost
• Low power consumption for battery operatedwireless embedded devices
• Supported by leading OS and Java run-times
Performance WithoutPenalty
High Performance
Jazelle DBX technology typically increases the
performance of a commercial JVM by 4 times
when running benchmarks or complex MIDP 2.0
applications.
Outstanding User Experience
A good user experience is not determined simply
by how fast a device can run an application:
factors such as start-time and responsiveness,
while difficult to measure, are usually far more
important. Jazelle DBX enables fast start-time,
consistent and highly responsive applications,
resulting in great user experience.
Real Time Performance
Devices such as home gateways and mobile
phones demand excellent real-time performance
from a processor to run the network protocol
software as well as the middleware. The Jazelle
DBX architecture extensions enable the processor
to maintain fast interrupt response and provide
good real-time performance.
“virtual-machine designer’s dream” because it
enables run time compilers to deliver the highest
performance and is applicable to instruction sets
like Java, Microsoft.NET, MSIL/Compact
Framework, and Perl and Python…” Electronic
Design Magazine - ‘Best of Embedded 2005’.
Future-proof: beyondJavaJazelle RCT not only provides excellent support for
compilation techniques deployed in Java runtimes.
The Common Intermediate Language (CIL) used by
Microsoft .NET Compact Framework was given
significant consideration during development, and
the instruction set is applicable to other similar
execution environments, such as Flash and
Python.
AvailabilityJazelle RCT is available in all ARM Cortex-A CPU
cores. ARM is working with leading virtual
machine and handset vendors to ensure wide
support for this latest architecture extension.
Please contact ARM directly for a list of the latest
licensees and adopters.
Jazelle Software
Features
• Highly optimized support for Jazelle technologyhardware
• High performance in low memory
• Full multi-tasking capabilities (MVM)
• Simple integration
• Wide support in leading Java runtimes
Amazing performance — highefficiency
ARM have unparalleled experience in creating the
most highly optimized JVM solutions for the ARM
Jazelle technology platforms. Jazelle software
solutions provide extremely high performance and
incredible user experience from the most resource
constrained devices up to high-end devices, such
as Smart Phone and Digital TV. The Jazelle Java
Technology Enabling Kit (JTEK) has been licensed
since 2002 to enable JVMs to take full advantage
of Jazelle DBX technology enabled processors
offering high performance in up to 8x less RAM
compared to a system running a JIT or DAC
compiler, where bytecode compilation may cause
significant code bloat.
Jazelle SoftwareEvolution
The original ARM Jazelle JTEK was a simple piece
of “driver code” for Jazelle DBX enabled
processors, giving an instant performance boost to
existing JVMs.
JVM optimizations to areas such as garbage
collection and method invocation doubled the
performance of version 3 of Jazelle JTEK, while
minimizing memory usage — up to 8x less than a
JIT or DAC software-only solution.
The need for a multi-tasking Java platform required
ARM to re-architect the JVM to be a Multi-tasking
Virtual Machine (MVM). Working with industry
partners, including Qualcomm, Sprint, Aplix and a
top 5 handset vendor, ARM has defined a common
API for multi-tasking between the JVM and the
upper Java stack (MIDP and other JSRs) and has
developed a highly optimized MVM implementation
— achieving high performance, fast response and
switching, smooth consistent behaviour and a very
small memory footprint.
JTEK 2.x JTEK 3.x JTEK 4.x Jazelle® MobileVM
JAM
MIDlet
MIDP JSR184 JSR135 JSR...
JVM
Jazelle® ‘driver’
JAM
MIDlet
MIDP JSR184 JSR135 JSR...
JVM
Jazelle ‘driver’
MI GC
JAM
MIDP JSR184 JSR135 JSR...
JVM (MVM)
MIDlets
JAM
MIDP JSR184 JSR135 JSR...
JVM (MVM)
MIDlets
2002 2007
Version 1.0Available 2H07
• Replaces bytecode interpreter:• ‘driver’ software
• Simple integration:• 1-2 day
• Performance boost:• 4-10x
• Optimize JVM parts:• Method invocation,
Garbage collector etc
• Higher performance:• >2x JTEK 2.x
• Efficient memory use:• 8x less than DAC/JIT
• New JVM architecture:• Multi-tasking• Configurable API
• Debug and profiling
• JRO bytecode optimizer
w w w . a r m . c o m
Jazelle® DBX™ Technology | ARM DOI 0114-9/05.07
Jazelle MobileVMThis MVM solution forms the basis of the ARM
Jazelle MobileVM software. Jazelle MobileVM is a
complete JVM, engineered to provide high
performance multi-tasking in a very small memory
footprint.
The re-architecting of the JVM has allowed ARM to
invest in and build a number of significant new
features to enhance the Java platform. The first of
these new features: JRO and JRD are described
below.
Jazelle RuntimeOptimizer (JRO)As with any architecture, it is possible to optimize
software specifically for the underlying Jazelle DBX
technology hardware.
Optimizing a JVM for Jazelle DBX technology is a
relatively straightforward concept: execute as much
Java bytecode in hardware as possible and ensure
the bytecode sequence is optimal.
Java source code compilers produce generic Java
bytecode that is not optimized for the target platform.
Jazelle DBX technology hardware does not
differentiate between optimized and un-optimized
bytecode: it will simply execute the sequence of
bytecodes passed to it.
The Jazelle Runtime Optimizer (JRO) performs Java-
to-Java bytecode translation at runtime – in-lining
frequent method calls, avoiding pipeline stalls and
replacing software executed bytecodes with
sequences of hardware executed bytecodes. It runs
as a low priority multi-tasking Java thread in parallel
to other applications and delivers up to 40%
additional speed up with no perceptible impact on
user experience.
Jazelle Runtime Debug(JRD)The Jazelle Runtime Debug (JRD) builds on the
framework of the JRO, with the debug “agent”
running as a background MIDlet in the MVM
platform.
As well as fully supporting the KDWP standard to
support any generic debug IDE such as Eclipse, JRD
is capable of debugging foreground, as well as
background, applications while others run in
parallel.
The architecture of JRD means it is extremely easy
to customize, giving licensees the ability to extend a
handset’s debug capabilities to support their own
developer community needs. For example, the ability
to define multiple access privileges or produce code
coverage information.
Both JRO and JRD form part of the new Jazelle
MobileVM software from ARM. For more
information, please contact ARM directly.
AvailabilityJazelle JTEK and Jazelle MobileVM software is
available to existing Sun licensees for CLDC and
CDC technologies. Many leading Java platforms and
OS already include Jazelle DBX support — please
talk to ARM for the latest list of licensees.
UKT: +44 1223 400400F: +44 1223 400410
USAT: +1 408.734.5600F: +1 408.734.5050
FRANCET: +33 1 39 30 47 89F: +33 1 39 30 47 88
GERMANYT: +49 89 928 615 0F: +49 89 928 615 19
JAPANT: +81 45 477 5260F: +81 45 477 5261
KOREAT: +82 31 712 8234F: +82 31 713 8225
TAIWANT: +886 2 2627 1681F: +886 2 2627 1682
ISRAELT: +972 9 7632000F: +972 9 7677020
CHINAT: +86 21 62351296F: +86 21 62351207
INDIAT: +91 80 5138 4000F: +91 80 5112 7403
SINGAPORET: +65 6728 0950F: +65 6728 7901
TARGET device
MVM
MIDP JAM
BT, USB, WiFi
Debug I/f Jazelle® Runtime Framework
JRDMidlet
Commslink
= Provided by ARM
Java Debugger
ARM, ARM Powered, StrongARM, Thumb, Multi-ICE, ModelGen, PrimeCell, PrimeXsys, RealView, TrustZone, Jazelle, ARM7TDMI, ARM9TDMI, ARMulator AMBA, and The Architecture for the Digital World are registered trademarks of ARM Limited. Cortex, AXI, AHB, ARM7, ARM7TDMI-S,ARM7EJ-S, ARM720T, ARM740T, ARM9, ARM9TDMI, ARM920T, ARM922T, ARM940T, ARM9E, ARM9E-S, ARM926EJ-S, ARM946E-S, ARM966E-S, ARM968E-S, ARM996HS, ARM10, ARM1020E, ARM1022E, ARM1026EJ-S, ARM11, ARM1136J-S, ARM1136JF-S, ARM1156T2-S, ARM1156T2F-S,ARM1176JZ-S, ARM1176JZF-S, EmbeddedICE, EmbeddedICE-RT, AMBA, ARM Development Suite, ETM, ETM7, ETM9, ETM10, ETM10RV, ETM11, Embedded Trace Macrocell, Embedded Trace Buffer, ETB, ETB11, Embedded Trace Kit, Integrator, JTEK, MultiTrace, MPCore, MOVE, OptimoDE,AudioDE, SecurCore, SC100, SC110, SC200, SC210 are trademarks of ARM Limited. Java is a trademark of Sun Microsystems, Inc. XScale is a trademark of Intel Corporation. All other brand names or product names are the property of their respective holders. "ARM" is used to represent ARMholdings plc (LSE: ARM and NASDAQ: ARMHY); its operating company ARM Limited and the regional subsidiaries ARM, INC.; ARM KK; ARM Korea Ltd.; ARM Taiwan; ARM France SAS; ARM Consulting (Shanghai) Co. Ltd.; ARM Belgium N.V.; and ARM Embedded Technologies Pvt. Ltd, ARMPhysical IP, Inc. and ARM Norway AS. Neither the whole nor any part of the information contained in, or the product described in, this document may be adapted or reproduced in any material form except with the prior written permission of the copyright holder. The product described in thisdocument is subject to continuous developments and improvements. All particulars of the product and its use contained in this document are given by ARM in good faith. All warranties implied or expressed, including but not limited to implied warranties of satisfactory quality or fitness forpurpose are excluded. This document is intended only to provide information to the reader about the product. To the extent permitted by local laws ARM shall not be liable for any loss or damage arising from the use of any information in this document or any error or omission in such information.