java se embedded hardfp abi spport in 7u40

15
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 1

Upload: roger-brinkley

Post on 11-May-2015

748 views

Category:

Technology


0 download

DESCRIPTION

Insights into the new Hard Floating Point Application Binary Interface support in Java SE Embedded for ARM processors now available in 7u40

TRANSCRIPT

Page 1: Java SE Embedded HardFP ABI Spport in 7U40

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.1

Page 2: Java SE Embedded HardFP ABI Spport in 7U40

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.2

Java SE EmbeddedHardFP ABI SupportRoger BrinkleyJava Technology Ambassador Oracle, Corp.

Page 3: Java SE Embedded HardFP ABI Spport in 7U40

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.3

Java SE Embedded Overview

Java Standard Edition implementation optimized for embedded devices

– Reduced static footprint (60%+ smaller than standard JRE) 42MB versus 140MB on x86 Linux Java SE 7u6

– Reduced memory requirements (32MB headless, 64MB headful)

– Headless and headful configurations

– Embedded architectures supported (ARM, PPC, x86)

– Full Java SE compatibility

– Free for development, commercial license for deployment

What is Java SE Embedded?

Page 4: Java SE Embedded HardFP ABI Spport in 7U40

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.4

Java SE Embedded Shipping ProductsPreviously Supported Platforms and Releases

Processor Operating System

Headless orHeadful FPU Java SE

Version

ARM v6/v7 Linux Headful VFP JDK 7u21

ARMv5 Linux Headless Soft JRE 7u21

ARMv6/v7 Linux Headless &Headful (v7) VFP JRE 7u21

ARMv7 (Server JIT) Linux Headless VFP JRE 7u21

PowerPC e600 & e500mc core Linux Headless Classic HW FP JRE 7u21

PowerPC e500v2 core Linux Headless Embedded FP JRE 7u21

x86 Linux Headless X86 JRE 7u21

Page 5: Java SE Embedded HardFP ABI Spport in 7U40

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.5

Why all the HardFP ABI Fuss

Standard ARMv5 chips had no FPU (aka VFP Vector Floating Point) With ARMv6 and v7, VFP became common OS’s, Toolchains and native apps supported Soft Float ABI Underlying Linux platforms and toolchains started to support HardFP

ABI Developers were requesting HardFP ABI support

Page 6: Java SE Embedded HardFP ABI Spport in 7U40

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.6

Differences between SoftFP and HardFP ABI

SoftFP ABI

HardFP ABI

CPU supports floating point instructions Yes Yes

Floating point arguments passed native to native On stackFPU

registers

Floating point instructions passed between Java methodsFPU

registersFPU

registers

Floating point instructions b/w JVM and nativeOn stack

FPU registers

Floating Point intensive apps such as games, graphics, etcSlower Faster

Page 7: Java SE Embedded HardFP ABI Spport in 7U40

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.7

JAVA SE EMBEDDED 7U40 HARDFP ABI SUPPORT FOR ARM PLATFORM

Page 8: Java SE Embedded HardFP ABI Spport in 7U40

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.8

Orace Java SE Embedded Download TableArm HardFP API

Page 9: Java SE Embedded HardFP ABI Spport in 7U40

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.9

Orace Java SE Embedded Download TableArm SoftFP API

Page 10: Java SE Embedded HardFP ABI Spport in 7U40

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.10

Orace Java SE Embedded Download TablePower PC, X86

Page 11: Java SE Embedded HardFP ABI Spport in 7U40

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.11

What this Means for Developers

First officially support JavaSE Embedded Release with HardFP ABI support

– ARMv7 as well as ARMv6(e.g. R/Pi)

More OEM usage Speed increase

– Common Java benchmarks see 5% to 8% improvement

– Results are application specific and will vary

No code change– Except for Native Code

Page 12: Java SE Embedded HardFP ABI Spport in 7U40

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.12

Popular ARM Embedded Systems for Developers

Raspberry Pi700 MHz ARMv6256MB RAMHDMI, DSI, Composite VideoCore IV, 3.5mm Audio Jack2 USB 2.0, SD / MMC/ SDIO 10/100 Ethernet3.5 Watts @ 5VCost $35 + Power Cord

i.MX6q1 GHz Quad-Core ARM Cortex A91GB RAM3 display ports (RGB, LVDS, HDMI 1.4a)3 USB 2.0, dual 3.0/SDXC1 CAN2, 1 I2CPCIe, SATA 2.5 @ 3Gbps10/100/Gb Ethernet

Page 13: Java SE Embedded HardFP ABI Spport in 7U40

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.13

Resources Java SE Embedded Home

http://www.oracle.com/technetwork/java/embedded/overview/javase/index.html

Java SE Embedded Downloadshttp://www.oracle.com/technetwork/java/embedded/downloads/javase/index.html

Java SE Embedded System Requirementshttp://www.oracle.com/technetwork/java/embedded/resources/se-embeddocs/index.html#sysreqs

Java SE Embedded Communityhttp://community.java.net/community/embedded

Oracle Internet of Things Platformhttp://www.oracle.com/us/solutions/internetofthings/index.html

Page 14: Java SE Embedded HardFP ABI Spport in 7U40

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.14

Page 15: Java SE Embedded HardFP ABI Spport in 7U40

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.15