您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > 下一代无线设备的JAVA加速技术
THEARCHITECTUREFORTHEDIGITALWORLDTHEARCHITECTUREFORTHEDIGITALWORLDSteveSteeleSteveSteele软件市场经理软件市场经理下一代无线设备的下一代无线设备的JavaJava™™加速技术加速技术TMTM2THEARCHITECTUREFORTHEDIGITALWORLDNov-Dec‘03©©ARM2003ARM2003ARMARM®®的的JavaJava目标目标在在ARMARM体系结构体系结构上向我们的合作伙伴提供上向我们的合作伙伴提供高质量高质量、、领先的领先的JavaJava解决方案解决方案,满足,满足高性能高性能、、低功耗低功耗与与低成低成本本的昀优组合。的昀优组合。3THEARCHITECTUREFORTHEDIGITALWORLDNov-Dec‘03©©ARM2003ARM2003Java2执行环境HotSpotHotSpotpJavapJavaCVMCVMKVMKVMCardVMCardVMJavaJava语言语言Java2Java2企业版企业版((服务器服务器))Java2Java2标准版标准版((桌面桌面))Java2Java2微型版微型版((嵌入式嵌入式))TVTVProfileProfileScreenScreenPhonePhoneProfileProfileCarCarProfileProfileSmartSmartCardCardProfileProfilePersonalBasisProfilePersonalBasisProfileFoundationProfileFoundationProfilePersonalPersonalProfileProfileJavaJava--TVTVProfileProfileAutomotiveAutomotiveProfileProfile??HandheldHandheldProfileProfileMIDMIDProfileProfileCLDCCLDCConnectionLimitedConnectionLimitedDeviceConfigurationDeviceConfigurationCDCCDCConnectedConnectedDeviceConfigurationDeviceConfigurationARMARM正致力于这些领域的研发正致力于这些领域的研发4THEARCHITECTUREFORTHEDIGITALWORLDNov-Dec‘03©©ARM2003ARM2003无线设备上的无线设备上的JavaJavaÏÏ上层上层––JavaJava代码开发速度快代码开发速度快––健壮并且安全健壮并且安全––与平台无关,可移植与平台无关,可移植ÐÐ底层底层––JavabytecodeJavabytecode在运行时解释执行在运行时解释执行––JavaJava在资源有限的设备上运行在资源有限的设备上运行十分十分慢慢ÏÏ上层上层(again)(again)––呈现出体现差异的机会呈现出体现差异的机会––提供更好的提供更好的JavaJava性能性能––……加速加速!!5THEARCHITECTUREFORTHEDIGITALWORLDNov-Dec‘03©©ARM2003ARM2003无线无线JavaJava––重要的参数重要的参数在资源受限平台上影响在资源受限平台上影响JavaJava的因素的因素::––性能性能––用户使用感受用户使用感受––内存容量内存容量––功耗功耗––验证验证因此因此--““加速加速””是下列因素的是下列因素的平衡平衡::––快速的性能快速的性能––平滑的具有良好响应的用户体验平滑的具有良好响应的用户体验––小的资源开销小的资源开销((内存与硬件内存与硬件))––昀小的功耗昀小的功耗––昀大的可靠性与安全性昀大的可靠性与安全性6THEARCHITECTUREFORTHEDIGITALWORLDNov-Dec‘03©©ARM2003ARM2003无线无线JavaJava––可能的解决方案可能的解决方案SunSun参考方案参考方案优化了的软件优化了的软件JITJIT编译器编译器JavaCPUJavaCPUJavaJava协处理器协处理器指令集执行指令集执行糟糕糟糕好好一般一般昀佳昀佳执行性能小的硬件门数量小的内存开销集成调试工具低功耗支持遗留代码8888999999999988888888999999999999997THEARCHITECTUREFORTHEDIGITALWORLDNov-Dec‘03©©ARM2003ARM2003无线无线JJavaava––典型的基准测试值典型的基准测试值FiguresforCLDConARM9EJ(simulated)FiguresforCLDConARM9EJ(simulated)硬件硬件//软件加速软件加速e.g.e.g.ARMJazelleARMJazelle®®andJTEK™andJTEK™6.0CaffeineMarks/MHz6.0CaffeineMarks/MHz[[归一化后相当于归一化后相当于x8.6]x8.6]JavaJava虚拟机虚拟机0.7CaffeineMarks*/MHz0.7CaffeineMarks*/MHz[[归一化为归一化为x1.0]x1.0]优化了的软件优化了的软件e.g.e.g.ARMVTK™ARMVTK™1.7CaffeineMarks/MHz1.7CaffeineMarks/MHz[[归一化后相当于归一化后相当于x2.4]x2.4]专用的专用的JavaJava处理器处理器//协处理器协处理器2.9CaffeineMarks/MHz2.9CaffeineMarks/MHz[[归一化后相当于归一化后相当于x4.1]x4.1]CaffeineMarkCaffeineMark是一种是一种JavaJava执行速度的度量标准执行速度的度量标准™™PendragonSoftwarePendragonSoftware8THEARCHITECTUREFORTHEDIGITALWORLDNov-Dec‘03©©ARM2003ARM2003指令预取指令预取预取预取译码译码执行执行存储器存储器写回写回在在ARM926EJARM926EJ--SS™™内核流水线上实现的内核流水线上实现的JazelleJazelle技术技术流水线流水线(5(5级级--ARMARM或或ThumbThumb®®状态状态))Java解码栈管理栈管理写寄存器写寄存器Java解码寄存器读求和求和//累加累加及及饱和饱和处理处理内存访问内存访问计算部分积计算部分积移位移位+ALU+ALUThumbThumb解码解码ARMARM解码解码寄存器解寄存器解码码寄存器解寄存器解码码寄存器读寄存器读寄存器读寄存器读指令流指令流JazelleJazelle逻辑被关闭逻辑被关闭ALUALU控制信号控制信号9THEARCHITECTUREFORTHEDIGITALWORLDNov-Dec‘03©©ARM2003ARM2003指令预取指令预取在在ARM926EJARM926EJ--SS™™内核流水线上实现的内核流水线上实现的JazelleJazelle技术技术流水线流水线(6(6级级--JavaJava状态状态))写寄存器写寄存器求和求和//累加累加及及饱饱和处理和处理内存访问内存访问计算部分积计算部分积移位移位+ALU+ALUThumbThumb解吗解吗ARMARM解码解码寄存器解寄存器解码码寄存器解寄存器解码码寄存器读寄存器读寄存器读寄存器读JazelleJazelle逻辑被打开逻辑被打开预取预取译码译码执行执行存储器存储器写回写回JavaJava解码解码栈管理栈管理JavaJava解码解码寄存器读寄存器读ALUALU控制信号控制信号BytecodeBytecode指令流指令流10THEARCHITECTUREFORTHEDIGITALWORLDNov-Dec‘03©©ARM2003ARM2003实现昀低的产品成本实现昀低的产品成本硬件硬件––软件软件的昀佳结合点的昀佳结合点硬件实现硬件实现BBytecodesytecodes增加成本增加成本((硅片硅片))软件实现软件实现BytecodesBytecodes增加成本增加成本((内存内存))基准基准VMVM仅仅12,00012,000门门零内存增加零内存增加11THEARCHITECTUREFORTHEDIGITALWORLDNov-Dec‘03©©ARM2003ARM2003JazelleJazelle与与JTEKJTEK––BytecodeBytecode的分类的分类139139条条bytecodesbytecodes指令直接在指令直接在JazelleJazelle硬件上执行硬件上执行––constantloadsconstantloads(iconst_0,dconst_0,...)(iconst_0,dconst_0,...)––variableloads/storesvariableloads/stores(iload,dstore,...)(iload,dstore,...)––arrayload/storesarrayload/stores(iaload,dastore,...)(iaload,dastore,...)––etc...etc...8888条条bytecodesbytecodes指令用指令用JTEKJTEK软件模拟执行软件模拟执行––floatingpointfloatingpoint(ddiv,dadd,dmul,...)(ddiv,dadd,dmul,...)––integerdivisionintegerdivision(idiv,irem,ldiv,lrem)(idiv,irem,ldiv,lrem)––switchswitch(tableswitch,lookupswitch)(tableswitch,lookupswitch)––invokeinvoke(invokevirtual,invokestatic,...)(invokevirtual,invokestatic,...)––etc...etc...12THEARCHITECTUREFORTHEDIGITALWORLDNov-Dec‘03©©ARM2003ARM2003ARMxxxEJ处理器Jazelle支持代码Jazelle硬件本地OS网络图形远程方法验证垃圾收集进程管理类加载内存管理JTEKJTEK移植指南移植指南本地方法Java应用本地应用标准Java环境:KVM,CVM...JazelleTechnologyEnablingKit(JTEK™)JazelleTechnologyEnablingKit(JTEK™)虚拟机与虚拟机与JazelleJazelle之间的接口之间的接口––替代标准的解释循环替代标准的解释循环––没有代码长度的增加没有代码长度的增加––确保实现了昀大的加速确保实现了昀大的加速––将将BytecodeBytecode分配给软件或者分配给软件或者JazelleJazelle硬件硬件––与现有的与现有的ARMARM中断模式协同工作中断模式协同工作––异常处理独立于异常处理独立于OSOS––灵活可变的内部数据结构灵活可变的内部数据结构13THEARCHITECTUREFORTHEDIGITALWORLDNov-Dec‘03©©ARM2003ARM2003加速组件加速组件--VTK/JTEKVTK/JTEKSUNSUNJ2MEJ2MESCSLSCSLVM/OS/OEMVM/OS/OEMARMARM昀终用户昀终用户昀终用户昀终用户昀终用户昀终用户CoreCoreDesignDesignLicenseeLicensee对昀终用户提供二进制对昀终用户提供二进制SunIPSunIPARMIPARMIPSunIP+ARMIPSunIP+A
本文标题:下一代无线设备的JAVA加速技术
链接地址:https://www.777doc.com/doc-1308562 .html