powerpc开发环境

    技术2024-03-18  92

    IBM为运行在IBM POWER和PowerPC硬件上的Linux发行版的Java技术提供了多种版本的开发人员工具包和运行时环境。 也就是说,在IBM eServer™iSeries™上运行的Linux发行版,包括eServer i5; eServerpSeries®,包括eServer p5; eServer BladeCenter™JS20; 和eServer OpenPower™。

    存在许多为POWER或PowerPC硬件创建的Linux发行版,例如:

    CRUX PPC Debian Linux Gentoo Linux Mandrakelinux 黄狗Linux ROCK Linux 红帽企业Linux SUSE LINUX企业服务器

    列举一些领先的发行版。

    IBM JVM并非旨在支持现有Linux发行版与所有PowerPC硬件的所有可能组合,其中某些不是IBM设计的。 因此,当在Apple PPC硬件的Linux发行版上运行时,IBM eServer iSeries,eServer pSeries或eServer OpenPower上的Linux开发人员套件或Linux上的运行时环境的兼容性取决于特定Linux发行版与特定Apple硬件的组合。 。

    有关Java技术的IBM开发人员套件与Linux的IBM POWER和IBM PowerPC硬件的兼容性的更多信息,请参阅Linux的IBM开发人员套件:经过测试的平台和Linux开发人员IBM开发人员下载页面。

    与运行在Apple PowerPC硬件(例如G3,G4和G5处理器)上的Linux发行版捆绑在一起的Java环境的可用性和规格差异很大。 有些根本不提供任何JDK或JRE,而有些则仅提供JRE。 如果为Apple PPC硬件发行版的特定Linux提供了JRE和/或JDK,则JRE和/或JDK可能不是用户特定目的所需的版本。

    在Linux上使用适用于Java POWER的IBM开发人员工具包用于IBM POWER和在Apple PPC硬件上使用IBM PPC硬件

    要使用Apple PPC硬件上的IBM POWER和IBM PPC硬件的Java技术的IBM开发人员工具包或运行时环境,您需要知道系统具有哪种类型的主机处理器(G3,G4或G5)。 您还需要知道JVM是否正确确定了主机处理器体系结构,以便JIT编译器可以为该体系结构生成正确的指令集。

    为了生成主机处理器指令的确切集合,JIT编译器需要精确确定基础处理器的体系结构类型。 如果无法确定处理器类型(可能是因为不支持),则JIT会针对该特定JVM版本中的默认处理器设置生成一组指令。 为默认处理器生成的指令可能不在主机处理器可以理解的指令集中。 由于将非法指令传递到处理器以执行,这将导致JVM异常终止-SIGILL崩溃。 完全禁用JIT意味着JVM将以纯解释性模式运行应用程序的Java字节码。 最终的性能很可能不会令人满意。 试图跳过某些JIT编译为不属于主机处理器理解的ISA指令的某些ISA指令的方法的基本JIT编译几乎没有任何意义。 JIT调试通常是一个复杂且耗时的过程。 即使可以强制将所有方法在首次加载到JVM中时都进行JIT编译,但是很难预测在执行任何中等复杂的Java应用程序的过程中何时以及将哪些方法加载到JVM中。

    为了让JIT编译器确定正确的处理器类型,请使用systemcfg_init()函数检查系统配置信息。 如果该函数返回NULL,则将分析和检查/ proc文件系统中的/ proc / cpuinfo文本文件。 某些Linux发行版在/ proc文件系统中没有cpuinfo文件。 使cpuinfo在/ proc文件系统中可用可能是一种解决方案。

    即使正确确定了处理器类型,JIT可能也没有为非支持的处理器生成PPC指令子集的规定。 一个例子是苹果G4处理器,摩托罗拉7400,它通常被归类为PowerPC 700系列。 IBM JVM的JIT编译器不支持此处理器。 解决方案是指示JIT生成一组PowerPC 604指令。 PowerPC 604是最早的PowerPC处理器之一,其指令构成了任何PowerPC处理器的指令的核心子集。 换句话说,每个PowerPC处理器都应该能够执行基本PowerPC 604指令。 将全局变量JITC_PROCESSOR_TYPE设置为“ 6”应该指示JIT生成G4应该能够执行的PowerPC 604指令。

    表1显示了JITC_PROCESSOR_TYPE变量的可能值,以及它们如何与各种POWER和PPC处理器体系结构对应。

    表1. JITC_PROCESSOR_TYPE值及其POWER / PPC体系结构的相关性
    值 电源/ PPC芯片 1个 电源(RS1) 2 电源I(RSC) 3 力量II 4 PPC 601 5 PPC 603 6 PPC 604 7 PPC 620 8 PPC 630 /电源III 9 明星电源RS64 10 明星电源RS64II 11 明星电源RS64III 12 电源4 13 电源4+ 14 电源5

    结论

    通过了解特定系统的处理器类型,您可以决定为JITC_PROCESSOR_TYPE设置什么值,以使库存的IBM JVM for Linux发行版的IBM Power和IBM PPC硬件可以在Apple硬件的Linux发行版上工作。 您还可以查看是否无法确定或不支持处理器类型。

    如果用于IBM POWER的IBM JVM for Linux发行版和IBM PPC硬件可以识别主机处理器并支持该处理器的指令集,则这将不是必需的。 例如,在Apple G5上运行Yellow Dog Linux版本3或4时,上述都不是必需的,因为Apple G5基于IBM PowerPC 970处理器,而该处理器又基于IBM POWER4芯片的单核版本。 IBM JVM JIT可以为此生成指令。

    词汇表

    i5 -IBM eServer i5是使用POWER5处理器的下一代iSeries。

    ISA-指令集体系结构。

    iSeries-基于POWER架构的IBM集成服务器。

    JDK -Java开发套件。 JRE的超集。 包括JRE和开发工具,例如编译器,调试器和其他工具。

    JIT -同JITC。

    JITC-即时编译器,可将Java字节码转换为主机体系结构的本机代码。

    JRE -Java运行时环境。 JDK的子集。 不包括开发工具。 提供JVM以运行在其他地方编译的Java字节码。

    JSDK -Java软件开发套件。 该缩写可与SDK和JDK互换使用。

    JVM -Java虚拟机。

    NPTL-本机POSIX线程库。 NPTL为Linux带来了企业级线程支持,远远超过了LinuxThreads提供的性能。 它基于用户线程与内核线程之间的1:1比率。

    OpenPower-针对Linux调整的基于IBM POWER5微处理器的系统。

    p5 -IBM eServer p5是使用POWER5处理器的下一代pSeries。

    电源 -使用增强的RISC架构进行性能优化。 IBM eServer pSeries,iSeries和OpenPower服务器的通用芯片体系结构的名称。

    POWER3-入门级pSeries服务器当前可用的POWER芯片之一。

    POWER4 -POWER4体系结构在广泛的商业和高性能计算环境中具有卓越的性能。 基于POWER4的iSeries和pSeries服务器支持动态逻辑分区。

    POWER4 + -也称为POWER4-II。 升级POWER4可以在更高的频率下以更低的功耗工作。

    POWER5-当前最新可用的POWER芯片。 像POWER3和POWER4一样,POWER5技术统一了POWER和PowerPC架构。 它具有通信加速,芯片多处理和同步多线程(SMT)的功能。

    PowerPC-从POWER派生的硬件体系结构。

    PPC -PowerPC的缩写。

    pSeries-在基于IBM POWER的硬件上运行AIX和/或Linux的基于IBM UNIX的服务器。

    RHEL-红帽企业Linux。

    RISC-精简指令集计算机。

    SDK-软件开发套件。 缩写可以与JDK和JSDK互换使用。

    SLES -SUSE LINUX企业服务器。

    SR-服务刷新。


    翻译自: https://www.ibm.com/developerworks/systems/library/es-apple.html

    相关资源:嵌入式POWER PC LINUX环境下基于NET—SNMP的代理开发
    Processed: 0.010, SQL: 9