没有合适的资源?快使用搜索试试~ 我知道了~
java处理器的评估-外文文献及翻译.doc
0 下载量 163 浏览量
2023-07-07
16:03:34
上传
评论
收藏 278KB DOC 举报
温馨提示
试读
29页
java处理器的评估-外文文献及翻译.doc
资源推荐
资源详情
资源评论
文献翻译
中文翻译稿
Java 处理器的评估
1. 引言
在本文中,我们将提出 Java 处理器关于尺寸和性能的评价结果。此 Java 处理器被称
为 JOP -主张优化的 Java 处理器- ,基于这样的假设,一个全面的本地执行所有 Java 虚拟
机(JVM),字节码指令不是一个有用的办法。 JOP 是 Java 处理器的嵌入式实时系统,特
别是一个小的处理器资源受限设备的时间可预测的执行 Java 程序。
表 1 列出了相关的可用 Java 处理器。Sun 公司于 1997 年推出 picoJava 的第一个版本。
在研究性论文中,Sun 公司的 picoJava 是经常提到的 Java 处理器。它是用作新 Java 处理器
的参考,并且作为提高 Java 处理器各方面研究的基础。具有讽刺意义的是,该处理器从未
被 Sun 作为产品释放过。1999 年被重新设计,被称为 picoJava - 2 是目前免费提供了一套
丰富的文件。picoJava 的结构是一种基于堆栈的 CISC 处理器,可执行 341 种不同的指令,
是最复杂的 Java 处理器,该处理器可以执行在约 440K 盖茨。
AJile 的 JEMCore 是一种直接执行 Java 处理器,可作为一个 IP 核心和独立的处理器。
它是基于 32 位 JEM2 Java 芯片开发的罗克韦尔-科林斯。该处理器包含零等待状态 48KB
RAM 和外围元件。16KB 的内存用于存储写入控制。其余的 32KB 用于存储处理器堆栈。
月亮火神处理器是 JVM 运行在一个 FPGA 芯片的一个执行。执行模型是常用的各种
直接,微码和被困执行。一个简单的堆栈折叠的实施,以减少记忆体周期 5 至三年的指令
序列像按压式添加。该 Moon2 处理器可作为一个加密的高密度脂蛋白来源为 Altera 的
FPGA 或 VHDL 或 Verilog 源代码。
该 32 位核心是一种基于哈佛结构的混合式 8/32-位处理器。程序存储器是 8 位宽,数
据存储器是 32 位宽。核心包含一个 3 级流水线的整数运算单元,一个桶式移位器和一个 2
位乘法单元。根据 DCT 变换,在同一时钟速度下,该性能通常是 RISC 运行速度的 8 倍。
科莫多是一个拥有四阶段的多线程 Java 处理器。其目的是以此为基础研究实时调度的
多线程微控制器。特色科莫多是教学单位,取 4 个独立的程序计数器和状态标识,为 4 个
线程。一个优先经理负责硬件实时调度和可以选择一个新线程在每一字节码指令。
FemtoJava 是一个研究项目,以建立一个特定的应用 Java 处理器。使用的字节码的嵌
入式应用进行了分析和自定义版本的 FemtoJava 产生,从而最大限度地减少资源的使用。
飞秒 Java 是不包括在第四节,由于处理器不能运行即使最简单的基准。
除了真正的 Java 处理器少数第四芯片(Cjip PSC1000)的销售如 Java 处理器。 Java
的协处理器(Jazelle JSTAR )提供的 Java 运行速度的通用处理器。
从表一我们可以看到,在 FPGA 芯片上 JOP 是硬件 JVM 的最小实现,也具有最高的
时钟频率。
下面一节中,将给出 JOP 结构的概述,随后将更详细的介绍微码。第三节比较 JOP 与
其他软核处理器的资源利用。第四节中,在字节码级和应用水平上,将比较嵌入式 Java 的
一些不同解决方案。
2. JOP 结构
JOP 是拥有自己指令集的堆栈电脑,本文中称为微码。Java 的字节码被翻译成微码指
令或微码序列。JVM 和 JOP 之间的区别描述如下:
JVM 是 CISC 的堆栈结构,而 JOP 是 RISC 的堆栈结构。
图 1 显示 JOP 的主要功能单元。JOP 典型的配置包含一个处理器核,一个内存接口和
一些输入输出设备。
处理器核心包含三个阶段,如微码通道如微码取解码和执行和额外的转换阶段取字节
码。这个模块叫做扩展提供了在处理器核心。这个港口到另一个模块的地址和数据总线的
字节码指示,两支顶级元素的堆栈(A 组和 B 组)、输入数据和大量的控制信号。没有直接连
接处理器核心和外部世界。
内存接口为主存和处理器核之间提供联系。它还包含了一个字节码高速缓存器。这个
扩展模块控制数据的读和写。繁忙的信号用于指导等同步如微码存储器处理。核心读字节
码指示在专用巴士(公元前地址和公元前数据),从内存子系统。
该扩展模块执行三项职能:(a)它包含硬件加速器(如倍增单位在这个例子中) ,
(b)控制的内存和 I/O 模块,(c)复用器的读取数据这是加载到最先进的堆栈注册。写入
数据从顶级栈(A)直接连接到所有模块。
A.处理器通道
JOP 是一个完全流水线架构,微码指令执行时间是单周期,用一种新的方法来绘制 Java
字节码到这些指令中去。图 2 显示 JOP 的数据路径。
段组成 JOP 通道的三个核心阶执行微码指令。另外一个阶段的正面核心通道获取的
Java 字节码-的指示的 JVM -这些字节码,然后转换成地址的微码。字节码分行还解码和执
行的这个阶段。第二阶段通道获取 JOP 指示从内部微存储器和微执行分支机构。除了通常
的解码功能,第三个通道阶段也会产生地址栈内存。正如每一个堆栈机器指令或者 POP 或
推动的特点,有可能产生或泄漏地址填写下列指示在这个阶段。过去通道阶段执行运算单
元操作,装载,存储和堆栈溢出或填写。在执行阶段,行动都以最高的两个要素的堆栈。
堆栈机器有两个明确的选民登记册,供这两个最上层堆栈内容和自动填写/泄漏既不需
要额外写回阶段也没有任何数据转发。细节两个级别堆叠架构中所描述。短期通道结果短
枝延误。因此,很难分析,对最坏情况执行时间(WCET),分支预测的逻辑是可以避免的。
B.中断逻辑
中断被认为是难以处理的流水线处理器,这意味着执行情况往往是复杂的(并因此消
耗资源)。在 JOP 中,巧妙地使用字节码微核的翻译,以避免中断处理中的核心项目。
中断执行,特别字节码。这些字节码插入的硬件在 Java 指令流。当一个中断,并正在
等待下一个牵强字节的字节码缓存的指示,联系特别字节码是用来代替指令从字节码缓存。
其结果是中断均接受字节码界限。在最坏的情况是先发制人拖延执行时间的最慢的字节码
是实施微。字节码的执行在 Java(见第二节)可以被打断。
执行中断的字节码,微码映射阶段保持中断透明核心通道,避免复杂的逻辑。中断处
理程序可以以相同的方式来执行,当标准字节码被执行在微或 Java 。这一个特殊代码可
能会导致出现一个电话的 JVM 内部法的背景下中断线程。这一机制含蓄的商店几乎完整
的背景下,当前的积极线程的堆栈。
C.缓存
流水线处理器架构要求更高的内存带宽。标准的技术,避免在处理过程中的瓶颈,由
于更高的内存带宽是缓存。但是,缓存组织标准提高平均执行时间,但很难预测的 WCET
分析。JOP 可预见的缓存提议:堆栈缓存作为替代的数据高速缓存,高速缓存缓存方法的
指示。
由于堆栈是一个沉重存取记忆体区域,堆栈-或部分-是放置在片上存储器。这部分的
堆栈被称为堆栈缓存。填补和泄漏的堆栈缓存受到微控制,因此,时间可预测性。
给出了一种新的方式组织一个指令高速缓存,高速缓存的方法。缓存商店完成方法,
以及高速缓存失误只出现在方法调用和返回。缓存块替换取决于呼吁树,而不是指令地址。
这种方法很容易缓存分析方面的最坏情况的行为,仍然提供了大量的性能比较,对解决没
有指令缓存。
D.微码
下面的讨论关注两个不同的指令集:字节码和微。字节码的指示,使一个编译 Java 程
序。这些指示是由 Java 虚拟机。将 JVM 不承担任何特定的实现技术。微码是原生指令集
的 JOP 。字节码的翻译,在其执行,到 JOP 微。这两个指令集是专为一个 extended2 堆叠
机。
(1).翻译字节码,微码:迄今为止,没有任何硬体执行的 JVM 存在,在硬件上能够
执行所有字节码。这是由于以下方面:一些字节码,如新,而创建并初始化一个新的对象,
是过于复杂,实施中的硬件。可以用软件仿真这些字节码。
为了建立一个独立的 JVM 没有底层操作系统,直接访问内存和 I/O 设备是必要的。没
有字节码定义为低级别的访问。这些低层次的服务通常是在本地执行的职能,这意味着另
一种语言(c)是本地的处理器。然而,对于一个 Java 处理器,字节码是母语。
其中一个方法来解决这个问题是执行简单的字节码在硬件和仿效更加复杂和本地的
软件功能,以不同的指令集(有时也称为微码)。然而,一个处理器有两个不同的指令集,
结果在一个复杂的设计。
另一种较常见的解决方案,用于 Sun 的 picoJava,是执行的一个子集的字节码本地和
使用软件陷阱执行剩余。该解决方案包含了开销(至少 16 个周期 picoJava)的软件陷阱。
在 JOP 中这个问题得到解决,在一个更简单的方式。JOP 了一个单一的原生指令集,
剩余28页未读,继续阅读
资源评论
xinkai1688
- 粉丝: 335
- 资源: 8万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功