20、嵌入式Java的硬件支持与Java与硬件协处理器的交互

嵌入式Java硬件支持与协处理器交互解析

嵌入式Java的硬件支持与Java与硬件协处理器的交互

1. 嵌入式Java的硬件缓存支持

Java程序严重依赖堆上分配的对象以及带有垃圾回收器的自动内存管理,这导致其数据使用模式与C程序等不同。因此,为Java程序执行优化的系统可以从专门的缓存(对象缓存)中受益。

1.1 对象缓存组织

对象缓存的一种可能组织方式是通过对象引用和字段索引来访问。例如,在一个关联性为2且每个缓存行有四个字段的对象缓存中,所有标签存储器会与对象引用并行比较,同时检查各个字段的有效位,字段索引用于选择有效位多路复用器,标签比较和有效位选择的输出被送入编码器,以提供所选的缓存行,行索引和字段索引连接起来构成数据缓存的地址。

1.2 不同项目的对象缓存方案

  • Mushroom项目 :该项目提出的对象缓存通过对象标识符(Java世界中的句柄)和字段偏移的组合进行索引。为优化命中率,探索了不同的组合方式,最有效的缓存索引哈希函数是上偏移位(低位用于选择缓存行中的字)与下对象标识符位的异或。仅考虑命中率时,块大小为32和64字节的缓存表现最佳,但在实际未命中惩罚的假设下,16和32字节行大小的缓存会导致每个字段访问的平均访问时间更低。对于基于间接访问的对象,研究了两种数据结构(实际对象和指向该对象的间接引用)的公共缓存和分离缓存,最佳配置是大对象缓存和小句柄间接引用缓存。
  • [420]项目 :提出了面向对象的Java处理器架构支持,包括对象缓存、扩展折叠和虚拟调度缓存。对象缓存由对象引用(部分)和字段偏移索引,虚拟方法缓存旨在避免虚拟调度表以节省嵌入式设备
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值