




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
文献翻译中文翻稿Java处理器的评估引言在本文中,我们将提出Java处理器关于尺寸和性能的评价结果。此处理器被称为JOP-主张优化的Java处理器-,基于这样的假设,一个全面的本地执行所有Java虚拟机(JVM节码指令不是一个有用的办法。是Java处理器的嵌入式实时系统,特别是一个小的处理器资源受限设备的时间可预测的执行程序。
表1出了相关的可用处理器Sun公司于1997年推出第一个版本。在研究性论文中,Sun公司的picoJava是经常提到的Java处理器。它是用作新Java处理器的参考,并且作为提Java处理器各方面研究的基础。具有讽刺意义的是,该处理器从未被为产品释放过。年被重新设计,被称为-是目前免费提供了一套丰富的文件。的结构是一种基于堆栈的处理器,可执行种不同的指令,是最复杂的处理器,该处理器可以执行在约440K盖茨。AJile的JEMCore是一种直接执Java处理器,可作为一个IP核心和独立的处理器。它是基于32位JEM2Java芯片开发的罗克韦尔-科林斯。该处理器包含零等待状态RAM外围元件。16KB内存用于存储写入控制。其余的用于存储处理器堆栈。月亮火神处理器是JVM运行在一个芯片的一个执行。执行模型是常用的各种直接,微码和被困执行。一个简单的堆栈折叠的实施,以减少记忆体周期5至三年的指令序列像按压式添加。该处理器可作为一个加密的高密度脂蛋白来源为Altera的VHDL或Verilog源代码。该32位核心是一种基于哈佛结构的混合式位处理器。程序存储器是8位宽,数据存储器是32位宽核心包含一个3级流水线的整数运算单元一个桶式移位器和一个位乘法单元。根据DCT变换,在同一时钟速度下,该性能通常是RISC运行速度的倍。科莫多是一个拥有四阶段的多线程Java处理器目的是以此为基础研究实时调度的多线程微控制器。特色科莫多是教学单位,取4独立的程序计数器和状态标识,为4线程。一个优先经理负责硬件实时调度和可以选择一个新线程在每一字节码指令。FemtoJava是一个研究项目,以建立一个特定的应Java处理器。使用的字节码的嵌入式应用进行了分析和自定义版本的FemtoJava产生,从而最大限度地减少资源的使用。飞秒是不包括在第四节,由于处理器不能运行即使最简单的基准。除了真正的处理器少数第四芯片()的销售如处理器。Java的协处理器(JSTAR)提供的行速度的通用处理器。
从表一我们可以看到,在芯片上是硬件JVM的最小实现,也具有最高的时钟频率。下面一节中,将给JOP结构的述,随后将更详细的介绍微码。第三节比较OP其他软核处理器的资源利用。第四节中,在字节码级和应用水平上,将比较嵌入式ava的一些不同解决方案。JOPJOP是拥有自己指令集的堆栈电脑,本文中称为微码。Java字节码被翻译成微码指令或微码序列。JVM和JOP之间的区别描述如下:JVM是CISC的堆栈结构,而是的堆栈结构。图1示的主要功能单元。典型的配置包含一个处理器核,一个内存接口和一些输入输出设备。处理器核心包含三个阶段微码通道如微码取解码和执行和额外的转换阶段取字节码。这个模块叫做扩展提供了在处理器核心。这个港口到另一个模块的地址和数据总线的字节码指示,支顶级元素的堆栈(A组和B组)、输入数据和大量的控制信号。没有直接连接处理器核心和外部世界。内存接口为主存和处理器核之间提供联系。它还包含了一个字节码高速缓存器。这个扩展模块控制数据的读和写。繁忙的信号用于指导等同步如微码存储器处理。核心读字节码指示在专用巴士(公元前地址和公元前数据)从内存子系统。该扩展模块执行三项职能含硬件加速如倍增单位在这个例子中)()控制的内存和模块)复用器的读取数据这是加载到最先进的堆栈注册。写入数据
从顶级栈(A直接连接到所有模块。处理器通道JOP一个完全流水线架构码指令执行时间是单周期种新的方法来绘制字节码到这些指令中去。图2显示的数据路径。段组成JOP通道的三个核心阶执行微码指令。另外一个阶段的正面核心通道获取的Java字节码-的指示的-这些字节码,然后转换成地址的微码。字节码分行还解码和执行的这个阶段。第二阶段通道获指示从内部微存储器和微执行分支机构。除了通常的解码功能第三个通道阶段也会产生地址栈内存正如每一个堆栈机器指令或者推动的特点,有可能产生或泄漏地址填写下列指示在这个阶段。过去通道阶段执行运算单元操作,装载,存储和堆栈溢出或填写。在执行阶段,行动都以最高的两个要素的堆栈。堆栈机器有两个明确的选民登记册这两个最上层堆栈内容和自动填写/泄漏既不需要额外写回阶段也没有任何数据转发。细节两个级别堆叠架构中所描述。短期通道结果短枝延误因此很难分析对最坏情况执行时(WCET预测的逻辑是可以避免的。B.中断逻辑中断被认为是难以处理的流水线处理器,这意味着执行情况往往是复杂的(并因此消耗资源中,巧妙地使用字节码微核的翻译,以避免中断处理中的核心项目。中断执行,特别字节码。这些字节码插入的硬件Java指令流。当一个中断,并正在等待下一个牵强字节的字节码缓存的指示,联系特别字节码是用来代替指令从字节码缓存。其结果是中断均接受字节码界限。在最坏的情况是先发制人拖延执行时间的最慢的字节码是实施微。字节码的执行在Java(见第二节)可以被打断。执行中断的字节码,微码映射阶段保持中断透明核心通道,避免复杂的逻辑。中断处
理程序可以以相同的方式来执行,当标准字节码被执行在微或。这一个特殊代码可能会导致出现一个电话的内部法的背景下中断线程。这一机制含蓄的商店几乎完整的背景下,当前的积极线程的堆栈。C.缓存流水线处理器架构要求更高的内存带宽。标准的技术,避免在处理过程中的瓶颈,由于更高的内存带宽是缓存。但是,缓存组织标准提高平均执行时间,但很难预测WCET分析。JOP可预见的缓存提议:堆栈缓存作为替代的数据高速缓存,高速缓存缓存方法的指示。由于堆栈是一个沉重存取记忆体区域,堆-部分放置在片上存储器。这部分的堆栈被称为堆栈缓存。填补和泄漏的堆栈缓存受到微控制,因此,时间可预测性。给出了一种新的方式组织一个指令高速缓存,高速缓存的方法。缓存商店完成方法,以及高速缓存失误只出现在方法调用和返回缓存块替换取决于呼吁树不是指令地址。这种方法很容易缓存分析方面的最坏情况的行为,仍然提供了大量的性能比较,对解决没有指令缓存。D.微码下面的讨论关注两个不同的指令集:字节码和微。字节码的指示,使一个编译Java程序。这些指示是由虚拟机。将JVM不承担任何特定的实现技术。微码是原生指令集的JOP。字节码的翻译,在其执行,OP微。这两个指令集是专为一extended2堆叠机。.翻译字节码,微码:迄今为止,没有任何硬体执行的JVM存在,在硬件上能够执行所有字节码这是由于以下方面一些字节码如新而创建并初始化一个新的对象,是过于复杂,实施中的硬件。可以用软件仿真这些字节码。为了建立一个独立的没有底层操作系统直接访问内存和I/O设备是必要的没有字节码定义为低级别的访问。这些低层次的服务通常是在本地执行的职能,这意味着另一种语言(c)是本地的处理器。然而,对于一个处理器,字节码是母语。其中一个方法来解决这个问题是执行简单的字节码在硬件和仿效更加复杂和本地的软件功能,以不同的指令集(有时也称为微码而,一个处理器有两个不同的指令集,结果在一个复杂的设计。另一种较常见的解决方案,用于的,是执行的一个子集的字节码本地和使用软件陷阱执行剩余。该解决方案包含了开销(至少个周期)的软件陷阱。在JOP这个问题得到解决,在一个更简单的方式。JOP一个单一的原生指令集,
即所谓的微码。在执行过程中,每一个翻译J字节码的任何一个,或一个序列的微操作这仅仅是增加了一个翻译通道阶段的核心处理器和结果没有执行费用这一解决方案,我们可以自由地确定JOP指令集,以图顺利堆栈结构的,并找到一个指令编码,可实现最低限度的硬件。图3出了一个例子个数据流从序计数器JOP微节码的牵强充当指数为跳转表。跳表所包含的开始地址将执行微。此地址加载到JOP程序计数器每个字节码执行。在微码中每个字节码被转换成一个地址如JVM已实现。如果存在着相当于微指令的字节码,这是执行在一个周期的下一个字节码和翻译。对于更复杂的代码,只是继续执行微在随后的周期。本月底是编码序列的微码指令(视位).微:对虚拟机执行效率,已经到了微适合Java字节码。由于虚拟机是一个堆叠机。但是,虚拟机是不是一个单纯的堆栈机器。方法的参数和局部变量的定义是当地人。这些居民可以住在堆栈帧的方法,并访问抵消相对当地人开始这一领域。这些变数担任从零开始变量,如选民登记册在常规的CPU。然而,算术和逻辑运算都是在栈中。一些字节码,如运算单元操作和短期的形式进入当地人,直接实施相当于微指令(使用不同的编码)。附加说明,可访问内部寄存器,主内存和I备。相对条件分支(零/非零的服务条款)进行控制流决定在微水平。最佳利用现有的存储资源,所有的指示,8位长。没有可变长度指令,每个指令,除了等待,执行,在一个周期。为了让指令集,这个密集,两个概念是适用于:两种类型的运算,直接价值和分支的距离,一般部队的指令集将超过8位。指令集是要么扩大到16位,在典型的处理器,或允许在可变长度的字节边界。第一个实施的JVM的位指令集表明,只有少数几个不同的常量是必要立即价值观和相对处的距离。
在当前实现即价值观的不同而收集的微正在组装并投入初始化文件为本地内存。这些间接访问的常数相同的方式为局部变量。它们是类似的初始化变量,除了一个事实,即没有任何行动,以改变它们的值在运行时,将没有任何意义,将浪费指令代码。类似的解决办法是用于处的距离。汇编器生成的VHDL文件与表找到的所有分支常数。此表的索引使用指示位在运行时。在运行时能够保持一个位指令集,并提供种不同的直接价值和种不同科常数。对于一般用途的指令集,将对太多的限制。随着微只实现了虚拟机,这解决方案是一个可行的选择。为了简化逻辑指令解码编码的指示是精心挑选的举例来说有一点是明确的指示,指示将递增或递减的堆栈指针。抵销访问当地人直接编码的指示。情况并非如此的原始编码相当于字节码(例如0x1a和1.灵活执行的字节码:如上所述,一些Java的字节码是非常复杂的。解决方案已经说明是效仿他们通过一系列的微操作。但是,一些比较复杂的字节码是很少使用。为了进一步减少资源的影响JOP,在这种情况下,本地存储器,字节码,甚至可以执行字节码。在大会期间的虚拟机,所有的标签,代表了一个切入点的字节码执行用于生成转换表。所有字节码,这些地区没有发现这种标签,即没有实施微。该指令序列此地址从系统级调用一个静态方法,这个类包含静态方法,为每个可能的字节码,命令的字节码值。该字节码作为该指数的方法表这一系统级。此功能也可轻松地配置资源使用与绩效。资源成本与能量消耗是嵌入式系统的一个重要问题。芯片的成本直接关系到模具的尺寸(模具的成本大与每平方裸片面积成正比。用较少的门的芯片消耗更少的能量。嵌入式系统的处理器可以通过减小芯片尺寸优化。发展JOP个主要的设计目标是建立一个小系统,可以实施低成本的。表二显示了使用JOP不同资源配置和不同的软核处理器,执行EP1C6的FPGA实现。估计相当于门计数的设计在一个芯片上是有问题的。因此,更好地进行比较的两个基本结构,逻辑单元(立法会)和嵌入式存储器块。
所有配置的JOP包含一个内存接口,32位的静态RAM和一个位闪存程序和配置数据。最低配置实现乘法和行动的转变微。在基本配置,这些行动正在实施,作为连续展位乘数和桶式移位器。典型的配置还包含了一些有益的设备,如UART和定时器中断逻辑的多线程。典型的配置JOP需求约%的信用证在气旋EP1C6,从而留下足够的资源免费提供给特定应用逻辑。尼奥斯作为参考Altera的热门软核心也是列入名单尼奥斯有16指令集,一个5流水线并且可以配置16位或位数据通路版本A是低配置的Nios版本B加了一个外部存储器接口,支持和乘法计时器。版本A可比的最小配置的JOP,和版本B典型配置。(可扩展处理器的嵌入式应用在实时环境)是一个位处理器,具有决定性的执行时间。SPEAR包含前提指示支持单路节目。SPEAR是列入清单的,因为它也是一个处理器设计的实时系统。为了证明JOPVHDL代码是尽可能的便携式JOP在XilinxSpartan-3FPGA上实现了。只有实例化和初始化代码,芯片上的存储器是特定于供应商的,而其余的V代码可以被不同目标所共享。在设备上消耗相同的计数,但有一个较低的时钟频率(83MHz从这个对比我们可以看到,我们已达到我们的目标是设计一个小的处理器。商业Java处理器娜莱是JOP基本配置2.3倍2.5倍较慢个典型的位处理器消耗约1.61.8倍的资源。然而处理器可以跑出%的速度比在相同的技术。尺寸上类似的唯一的处理器是。然而,尽管SPEAR是位处理器,包含一个32数据通路。表三为,,aJile处理器提供了门数估计,英特尔奔腾MMX处理器,用于在基准下一节效门数为LC5间和7.4我们选择的一个因素6盖茨每和1.5盖茨每个存储位的估计门数为JOP在表格中中所列典型的配置,消1831用证。
奔腾MMX包含4.5米晶体管这相当于1125K茨。我们可以从表上看到芯片上的内存主宰了整个门数的并在更大程度上对处理器。aJile处理器的12倍左右大于JOP。性能运行基准是有问题的双方尤其是在案件的嵌入式系统最好的指标将是应用程序,是为了在系统上运行测试。要比较的结果规格为基准的各种制度。然而,一个用于,通常是过大的嵌入式系统。由于没有一个标准的准的嵌入式系统一个小基准诉讼应运行即使是最小的设备是这里提供。它包含一些微型基准评价若干时钟周期为单字节码或短序列的字节码,和两个应用的基准。为了提供一个切合实际的工作量,嵌入式系统,实时应用是适应建立第一个应用程序基准测试(韩国自由联盟。中的应用是从其中一个节点的分布式电控制系统。模拟的环境(传感器和执行者)和通信系统(来自主站的命令)的组成部分的基准,以模拟真实世界的工作量。第二个应用程序基准测试是嵌入式的小型TCP/IP堆栈的一个适应。这指标包含两个服务器/户端,通过回环设备交换信息。正如我们将看到在不同的嵌入式系统处理能力有很大的变化为了应付这种变化,所有基准的自我调整。每个基准包括基准循环这一方面。循环计数以适应自己,直到基准运行超过一秒钟。然后计算每秒迭代的数量,这意味着更高的价值显示更好的效果。所有的基准衡量往往是一个职能是执行每秒。在韩国自由联盟基准,此功能包含了主回路的应用程序在执行定期周期在原来的应用程序。基准的等待下一期的遗漏,使测量的时间仅代表执行时间。数据基准含代要求,转递通过的UDP/IP议栈,产生的答案和转递回作为基准功能循环计数适应本身的运行直到基准超过一秒钟迭代的数量,然后每秒计算,这意味着更高的价值显示更好的效果。下面的列表简要介绍了系统:JOP实施气旋的行在100MHz要的记忆是一个位的(15ns)
的存取时间为2时钟周期。该基准配置JOP包含快4KB法组织的16区块。的典范低端嵌入式设备我们使用RCX机器人控制器的MINDSTORMS从乐高系列。它包含一个位日立H8300微控制器,运行速度为16MHz。是一种微小的解释的JVM的TINI的是增强型8051克隆软件运行的JVM。结果表明,从一个自定义的局与晶体,以及芯片的PLL率设置为一个因素。KVM是司的,认为是有限连接设备配置(CLDC)以NiosII处理器的微作系统。尼奥斯是实施气旋与FPGA频率。除了不同的时钟频率,这是一个很好的解释比较的JVM中运行相同的作为JOP。基准的结果,得到了科莫多马蒂亚斯佩弗关于周期精确的仿真科莫多。
AJile的JEMCore是一种直接执行的处理器,它有两个不同版本:在和AJ100。开发系统包含与一个8位内存钟频率为74MHz该SaJe局从Systronix包含aJ100这是主频103MHz并包含与10ns的SRAM。该(嵌入式Java制器)平台就是一个典型的例子的生产系统的处理器。该系统是基于位ARM720T处理器,运行在。它最多可包含的SDRAM和高达16MB的NOR闪存。Gcj是的GNU编译器。此配置代表了一批编译器解决方案,运行在266MHz奔腾。MB是实现Java时RISC处理器的一个FPGAJava是汇编到的Java译器的实时系统和C编译程序的标工具链。图4,几何平均数的两个应用基准证明。该单位使用的结果是反复每秒。请注意,纵轴是个对数,以获取有用的数字显示的巨大变化的表现。顶端图显示绝对业绩,而底部图显示相同的结果推广到1MHz时钟频率。结果应用基准和几何平均值列于表四。应当指出的是,扩展到一个单一的时钟频率能够证明问题。处理器的时钟频率和内存存取时间不一定能保持下去一个例子果我们要增加结果的100MHzJOP到1GHz,这也将涉及减少内存访问时间从到处理器1GHz的时钟频率已经面市但最快的异步迄今访问时间。A讨论在比较JOPAJile理器对,TINI和KVM,我们可以看到,一个处理器是高达500倍的速度进行了解释的JVM标准处理器的嵌入式系统。平均性能JOP至
不如的JIT编译器解决方案,嵌入式系统,所代表的系统。即使规模相同的时钟频率,汇编在PC机上的(Gcj)的是速度远远超过何嵌入式解决方案。然而,内核的应用小于4KB。因此,它适合在一级缓存的MMX(16KB+16KB于一个比较奔腾级处理器,我们需要一个更大的应用。JOP7AJ80Java处理器的流行JStamp局。然而aJ80处理器仅包含一个8位内存接口,并患有这一瓶颈。该系包含aJ100位,的静态存储器,是10左右,低于JOP15nsSRAM内存。MicroBlaze系统是一个代表性的JavaRISC处理器。MicroBlaze配置相同cache6作为JOP频率相同的频率。约快4倍,过这一解决方案,从而显示,本地执Java字节码的速度超过批次编译Java建立类似的系统。但是,结果MicroBlaze解决正处在一个初步stage7,因为Java2C译目前仍在发展。微观基准的目的是深入了解执行的在表五我们可以看到的执行时间在时钟周期的各个字节码。因为几乎所有字节码操作栈,它是不可能的措施的执行时间为一个单一的字节码为一项起码要求二个指令是必要的扭转堆栈操作编版本的,这些微型基准不产生有益的结果。编译器进行优化,使之无法衡量的执行时间在这个罚款1度。我们可以推断该WCET简单的字节码也是平均执行时间我们可以看到结合iload和执行在两个周期这意味着这两个行动的执行在一个周期字节码的iinc是少数指示不操纵栈和可以衡量的为不是硬件实施们已经总共有11个周期微执行。它是公平的,这包括承担太大的开销的指示,发现在每一个迭代循环,一个整数索引。然而,决定执行这一指示在微源于观察的动态指令计数只有2%。序列的分支基准(如icmplt)载有两个负载指示,推动论点到堆栈。然后消费的分支指令。这一基准验证分行需要不断四个周期JOP,无论采取与否。在评价aJile系统的行为进行了观察的JStamp局工作频率为7.3728MHz和内部频率可以设置一个锁相环定80MHz和最高频率的因素于因此。运行基准不同的PLL设置了一些奇怪的结果例如如果设置的乘法器该aJ80约为12.8倍更快!其他的PLL因素也导致了大于线性加速。唯一的解释是,我们能找到的内部时间,用于基准取决于锁相环设置。以比较的挂钟时间表明,内部时间
aJ80是23%,以更快的因子1和2.4%的速度的因素-属性,我们不会期望在处理器市场上的实时时间系统。该委员会还可以遭受所描述的问题。B.执行时间抖动
实时系统,最坏情况下的执行时间是相当重要的。我们测量了执行时间的几个反复的主要职能从韩国自由联盟基准。图显示的测量,规模的最低执行时间。从一个四周期的迭代过程中可以看出。这一时期从模拟结果从基站命令执行每隔4迭代。在迭代10中,一个命令,启动马达发出。我们认为,由此而造成的执行时间,迭代12理此命令。在迭代中,仿真触发传感器和电机最后停止。不同应用模式的不同的执行时间在仿真设计中是固有的然而在JStamp中时间最长和最短期限之间的比例为五,在Gcj统中为四,在JOP统中只有三。因此,一个带有AJile处理器系统需要系统快倍以提供相同的WCET量在迭代中我们可以看到JStamp系统更高的执行时间,在JOP中没有看到。在迭代33这种变化不是由基准造成的。Linux系统下Gci的执行时间表明一些高峰(最低倍数字中没有显示)。这个观察是预料之中的事,因为Gcj/Linux系统不是一个实时的解决方案。JITsolution进行测量,但没有数字。在仿真的某些时候,由于编译器的调用,最大的和最小的运行时间之间的最差比例是1313,说明JITcompiler在实时应用中是不实际的。应当指出的是,执行时间测量并不是一种获WCET计的安全方法。然而在没有析工具情况下是可行的,它可以提供不同系统的WCET行为的一些洞察。
外文文资EvaluationofaJavaProcessor1.Inthispaper,wewillpresentevaluationfora,withsizeThisiscalled–whichstandsforProcessor–,basedontheassumptionafullimplementationofallVirtualMachineinstructionsnotapproach.JOPisaJavaforembeddedreal-timeinafordevicesexecutionofJavaprograms.IroducedtheofpicoJavain1997.Sun’spicoJavaistheJavaprocessormostinpapers.ItusedfornewtheforresearchintoimprovingofIronically,thiswasaproductbyAfollowedthatnowwithaofTheofpicoJavaisastack-basedCISC341differentinstructionsisthemostcomplexThecaninabout440KAJileJEMCoreisadirectJavaprocessorbothanIPastand.Itbasedon32-bitJEM2Rockwell-Collins.Theprocessor48KBzeroRAMofRAMusedThe32KBisusedstorageof
VulcanASIC’sMoonprocessoranimplementationofJVMinanTheexecutiontheoften-usedmixofdirect,microcodeAsimpleimplementedinorderreducefivecyclesforlikeTheMoon2isansourceforAlteraorasVHDLorsourcecode.TheLightfootisahybrid8/32-bitprocessorHarvardis8widedata32wide.containspipelinewithintegerALU,barrelshifterandamultiplystepunit.toDCT,theistypically8timesthanRISCclockspeed.KomodoamultithreadedJavawithafour-stageItisforreal-timeschedulingTheuniqueofKomodoistheinstructionfetchunitwithfourprogramforfourthreads.Aprioritymanagerforreal-timeschedulingcanaafterbytecodeinstruction.FemtoJavaaanapplicationspecificJavaTheusageofembeddedapplicationiscustomizedofFemtoJavageneratedinordertominimizetheFemto-JavanotinIVascouldnotruneventhesimplestbenchmark.BesidestherealJavaafewFORTH(CjiparemarketedJavacoprocessors(JazelleJavaexecutionforgeneral-purposeFromTableIcanseethatJOPisthesmallestofahardwareJVMinalsohashighestfrequency.Infollowingsection,aoverviewofofisbyadescriptionofthemicrocode.SectionIIIcomparesJOP’susagewithprocessors.InSectionIV,anumberofforJavaatlevelandat.ArchitectureJOPacomputerwithitsownset,calledmicrocodeinpaper.bytecodesaremicrocodeinstructionsbetweentheJVMandJOPisthefollowing:TheJVMisaCISCstackaFigure1showsJOP’smajorfunctionunits.AtypicalconfigurationofcontainsaIO
Theprocessorcontainsmicrocodepipelinestagesmicrocodefetch,executeanadditionaltranslationbytecodefetch.Thecalledthelinkbetweencore,thememoryandIOportstomodulesforinstructions,twotopofthestack(AandB),toaofsignals.ThereisdirectbetweentheprocessorTheinterfaceprovidesconnectionbetweenthemainmemorytheItalsothecache.extensionreadandwrite.signalisbythemicrocodewaitsynchronizecorewithThebytecodeinstructionsthrough(BCdata)frommemorysubsystemTheit(suchasmultiplierunitincontrolmemoryandI/Otheforreadthatisfromthetop-of-stackisconnecteddirectlytoPipelineJOPafullywithsingleofinstructionsnovelapproachtotoinstructions.forJOP.
stagesformtheJOPcoreexecutingmicrocodeAninofthepipelinefetchesJava–instructionsofJVM–translatestheseintoaddressesBytecodebranchesalsodecodedexecutedinthisstage.Thesecondfetchesinstructionsfrominternalmicrocodemicrocodebranches.BesidesthirdpipelinestagealsoaddressesforthestackAseverymachineeitherpoppushcharacteristics,itisgeneratefillorspilladdressesforfollowingthisThepipelineperformsALUload,storestackspillfill.Atexecutionstage,withtwooftheAstackmachinewithtwoexplicitforelementsautomaticfill/spillneitherextraanyof.TheshortresultsinshortbranchTherefore,toanalyze,withrespectWorstbranchpredictioncanB.InterruptLogicconsideredhardtoinbeInJOP,bytecodemicrocodetranslationusedcleverlytohavingtohandleincoreareimplementedbytecodes.TheseareinsertedthehardwaretheJavastream.Whenaninterruptpendingthefetchedfromisaninstruction,associatedspecialisinsteadoffromTheisthatinterruptsareatbytecodeboundaries.worst-casedelayexecutiontimeofslowestthat
implementedinmicrocode.BytecodesareinSectionII-D)canbeTheimplementationofinterruptsatinterruptstransparentthelogic.InterrupthandlersbeimplementedinthesamestandardbytecodesareinmicrocodeJava.specialcanresultinofaJVMmethodintheofinterruptedthread.implicitlyalmostcompletecontextthecurrentthreadonC.CacheAforbandwidth.Atoavoidprocessingbottleneckshigherisstandardorganizationstheexecutionbutaredifficultpredictforanalysis.TwocachesproposedforJOP:acachesubstitutionforcacheandmethodtoinstructions.thestackisaheavilyaccessedregion,
–orpartofit–isplacedinon-chipmemory.Thisofisasthestackcache.Fillandspillofcacheistothereforetime-predictable.anovelwaytoaninstructioncache,asmethodcachemethods,missesoccuronmethodinvocationandreturn.blockontree,ofThismethodiseasytowithrespectworst-casestillsubstantialagainstwithoutD.MicrocodeThefollowingtwodifferentinstructionsets:bytecodemicrocode.BytecodesareinstructionsthatupaJavaTheseinstructionsexecutedbyavirtualJVMdoesnotanytechnology.Microcodeisthenativeinstructionforaretranslated,duringtheirintomicrocode.Botharedesignedforextendedmachine.(1).TranslationofBytecodesTodate,noimplementationofJVMthatisofallbytecodesinalone.Thisistothefollowing:somebytecodes,new,whichanewaretoocomplextoimplementhardware.havetobebysoftware.aself-containedJVMwithoutoperatingsystem,accesstoI/Onecessary.Therenobytecodesforlow-level
Theselow-levelservicesusuallyimplementednativewhichthatanother(C)isnativetoforbytecodeisproblemtoimplementsimplebytecodesintoemulatecomplexnativefunctionsinwithadifferentawithtwodifferentsetsresultsacommonsolution,usedinSun’spicoJava,aofnativeuseatraptotheThisentailsanminimumofcyclesinforthesoftwaretrap.Inthisissolvedinway.JOPhasasingleinstructiontheso-calledmicrocode.Duringexecution,Javaistranslatedtoeitherasequencemicrocodeinstructions.ThistranslationmerelyaddspipelinestagetocoreinnoexecutionWithwefreetodefinetheJOPtomaptoofJVM,andfindaninstructioncodingcanbeimplementedwithminimalhardware.3anexampleofflowfromprogramJOPThefetchedbytecodeactsasfortablecontainsthestartforJVMimplementationinaddressprogramforeveryexecuted.EveryistoaninmicrocodethatJVM.Ifthereexistsanequivalentmicroinstructionforbytecode,itisincycleandnextbytecodeistranslated.Forcomplexbytecode,JOPjustcontinuestoexecutemicrocodeinsubsequentofsequencecodedinthemicrocode(asnxtbit).FortheJVMtobeimplementedefficiently,thehastofittobytecode.theJVMamicrocodeisalso
theJVMispuremachine.MethodparametersvariablesThesecanresideinastackframeofmethodandwithanoffsettheoflocalsarea.Additionalareavailableatthemicrocodelevel.ThesescratchlikeinaconventionalCPU.areonSomebytecodes,suchasALUoperationstheshortformaccesstolocals,directlyimplementedbyanequivalentmicrocode(withdifferentencoding).Additionalinstructionsareaccessinternalregisters,mainI/OArelativeofperformsflowdecisionsthemicrocodeForoptimumoftheavailableallinstructionsare8long.Therenoinstructionseveryinstruction,exceptionof,executedinasinglecycle.keepthesetthisdense,twoareapplied:Twotypesofdistances,normallyantolonger8bits.Thesetis1632intypicalorbeofvariablelengthatboundaries.AfirstimplementationofJVMwitha16-bitthatonlyasmallofdifferentarenecessaryforimmediaterelativedistances.InthecurrentoftheimmediatecollectedwhilemicrocodeisbeingassembledputintotheinitializationfileforthelocalRAM.accessedindirectlyintheasvariables.Theyaresimilartofromfactthataretotheirvalueduringruntime,whichwouldservepurposewouldAsimilarsolutionisfordistances.assemblerVHDLwithforallfoundbranchindexedbitsduringruntime.Theseindirectionsduringmakeittoset,andprovide16differentimmediatebranchForpurposeset,thesewouldimposemanyrestrictions.AsmicrocodeonlytheJVM,thissolutionisasimplifyfordecoding,thecodingcarefullychosen.ForbitinthewhetherwillincrementdecrementTheoffsettothelocalsisdirectlyencodedintheinstruction.notcasefortheoriginalofbytecodes00x1aand1is(3)FlexibleofBytecodes:above,Javabytecodesarecomplex.alreadyistoemulatethemthroughsequenceof
microcodeinstructions.However,ofcomplexbytecodesseldomused.TofurtherreduceresourceimplicationsforJOP,incaselocalmemory,canevenbebyJavaassemblyoftheJVM,alllabelsrepresentanentryforbytecodeimplementationareusedtogeneratetranslationtable.Forallbytecodesforwhichnoisfound,i.e.isnoimplementationinisThesequencethisinvokesmethodclass.methods,oneeachbytecode,bythebytecodevalue.Theusedasinthemethodofsystemclass.Thisfeaturealsoallowsfortheofusageperformance.ResourceUsageenergyconsumption,isanforembeddedsystems.costofisrelatedtosizecostperisroughlytoofwithfewerconsumeProcessorsforsystemsoptimizedforminimumchipsize.objectiveinoftosmallthatcouldbeinlowcostFPGA.TableIItheusageforofJOPanddifferentinanAlteraEP1C6FPGA.equivalentfordesignsinanisItistothestructures,LogicCells(LC)andmemoryAllofJOPcontainato32-bitRAMand8-bitforJavaprogramtheFPGAminimummultiplicationandtheshiftinInconfiguration,theseimplementedasaBoothmultiplierandbarrelshifter.typicalconfigurationusefulI/OdevicessuchanUARTawithformulti-threading.typicalofneeds30%the
inathusleavingresourcesforAsareference,,Altera’spopularsoftalsointhehasaa5-stagecanbeconfiguredwithaorAistheminimumofVersionBaddsanexternalinterface,multiplicationtimer.AwiththeminimalconfigurationofandVersionBwithtypicalconfiguration.forEmbeddedApplicationsinReal-timeisa16-bitwithdeterministicexecutioninstructionstosingle-pathisinthelistitisalsoforreal-timethatVHDLcodeforJOPisaswasalsoinaXilinxFPGA[26].OnlyinstantiationinitializationforwhilsttheofVHDLcodebeforJOPabouttheLCLCs)inthehasaclock(83MHz).FromcomparisonweseethatweobjectiveofdesigningasmallThecommercialJava2.3times2.5slower)intheconfiguration.Atypicalabout1.8timesofHowever,canclockedthanJOPthesameTheonlyprocessorthatsimilarinsizeisisaJOPadataIIIprovidesfortheaJileprocessor,theIntelPentiumMMXprocessorthatusedinbenchmarksinEquivalentcountforanLCbetween5.57.4–aofperLCand1.5gatesmemorybitforthegatecountforinJOPintypicalthatconsumesLCs.PentiumMMXtransistors[27]thattogates.Weseefromthaton-chipmemorydominatesthegatecountofJOP,
angreaterofaJileprocessor.Theprocessor12largerJOP.4.PerformanceRunningbenchmarksisproblematic,generallyandespeciallyintheofThebestwouldbeapplicationthatisintendedtorunonthesystembeingtested.getcomparableresultsbenchmarksfortheforthe[28],usuallyforembeddedsystems.absenceofJavaforsystems,asmallsuitthatruneventhesmallestisprovidedItmicro-benchmarksfortheofcyclesforsinglebytecodesofbytecodes,twoapplicationToproviderealisticworkloadforembeddedsystems,aapplicationwasadaptedcreatethe(Kfl).Theapplicationistakenfromoneofnodesofmotorcontrolsystem.Aoftheenvironmentcommunicationsystemfromstation)formsofthebenchmark,tothereal-worldTheanadaptationofatinyTCP/IPforThisbenchmarkcontainstwoexchangingmessagesviaawewillsee,isainprocessingpowerembeddedToforthisvariation,allbenchmarksare‘selfadjusting’.Eachbenchmarkconofanaspectthatisbenchmarkedinacountadaptsitselfuntiltherunsforasecond.iterationspersecondiswhichthathigherindicatebetterperformance.AllbenchmarkshowaexecutedInKflbenchmark,loopofthethatexecutedinaperiodiccycleintheoriginalapplication.Inthewaitperiodisomitted,sothatthesolelytime.TheUDPcontainstheofitthroughtheUDP/IPtheanditbackasafunction.TheiterationcountistheanswersperThefollowinglistaofthesystemsthatJOPimplementedinCycloneFPGA,runningThemainisa(15ns)withanaccessofclockconfigurationof4KBmethod[in16blocks.AsexamplefordeviceuseRCXrobotfromtheLEGOIta16-bitHitachiH8300microcontroller[30],
16MHz.atinyinterpretingJVMfortheRCX.TINIisancloneasoftwareJVM.werefromcustomboardwith20MHzcrystal,andthechip’sPLLissettoafactorof2.KVMisaportoftheSun’sKVMthatispartoftheConnectedLimited(CLDC)IIprocessorMicroCLinux.isonCycloneFPGAwith50MHz.BesidesthedifferentclockthisgoodcomparisonofinterpretingJVMintheTheresultsofKomodowerebyMatthiasPfefferonofaJile’sJEMCoreisdirectthatindifferentversions:aJ80theaJ100.AtheJStamp,containsaJ80an8-bit74MHz.TheSaJefromaJ100thatclockedwith103MHzcontainsSRAM.TheController)platformatypicalexampleofsystemRISCThesystemisbasedARM720Tat74MHz.It64MBSDRAMupto16offlash.istheforJava.Thisrepresentsa266MHzLinux.MBofonforanFPGA(XilinxMicroBlazeCaJavafortheCprogramiswiththeGNUtoolchain.InFigurethegeometricoftwoapplicationbenchmarksisshown.Theunitforiterationssecond.Notethattheverticalaxisisintoobtainusefulfigurestointopdiagramwhilethebottomdiagramto1MHzclockfrequency.resultsofbenchmarksandgeometricinItshouldbenotedthattosingleclockfrequencycouldproveTherelationbetweenclockbegiveanifweweretoincreaseof100MHzJOPto1GHz,wouldmemorytimefrom15nstoProcessorswith1GHzarebutanaccesstimeof10ns.WhencomparingJOPtheaJileagainstTINI,andKVM,weseethatup500thananinterpretingJVMstandard
67foransystem.averageofevensolutiononansystem,thesystem.67scaledtosamefrequency,thecompilingJVMonaPCmuchthaneitherembeddedsolution.However,theofthe4KBItfitsintheonecacheofPentiumMMX(16KB+16KB).withaPentiumclasswewouldaJOPaboutthanaJ80JavaonJStampboard.theaJ80processorcontainsan8-bitinterface,fromthisbottleneck.SaJecontainstheaJ10032-bit,10nsSRAMsisaaboutthanwith15nsTheMicroBlazeaofbatchcompilationsystemforRISCMicroBlazeconfiguredwithsameJOPclockedatfrequency.thanthissolution,thusthatnativeexecutionofJavathanbatch-compiledJavaHowever,resultsoftheMicroBlazeareapreliminarystage,theJ
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 传统工业制造行业智能制造与工业自动化融合创新报告
- 2024关于大学生心理健康日的心得总结
- 药品原辅料供应链2025年供应链金融风险控制与优化策略报告
- 2025年电商行业政策法规解读报告:合规经营与创新发展
- 2023年知识点点的坐标简单坐标问题填空
- 2023年版高中化学选修知识点总结
- 2023年造价员基础知识
- Unit+2+The+universal+language+Reading高中英语译林版选择性必修第一册
- 2024-2025学年宁夏银川市景博中学高一(下)期末数学试卷(含答案)
- 二零二五年度第七章机电安装工程施工合同管理与服务规范
- 2025年7月27日宁波市直遴选笔试真题及答案解析
- 2025工商银行房贷借款合同
- 高校辅导员考试基础知识试题题库238题(附答案)
- 小学五年级数学奥数数的整除(附练习及详解)
- 2025-2030中国无人零售行业市场发展现状及竞争格局与投资前景研究报告
- 房地产销售公司销售技巧培训制度
- 年产2000吨电子级超高纯石英晶体材料制造项目报告表
- 2025年中小学暑假安全教育主题家长会 课件
- 2025年乡村文化旅游与乡村旅游融合的市场需求分析报告
- 医院检验科实验室生物安全管理手册
- 特变电工哲学手册课件
评论
0/150
提交评论