首页> 外文会议>Workshop on Interpreters, virtual machines and emulators >Generation of fast interpreters for Huffman compressed bytecode
【24h】

Generation of fast interpreters for Huffman compressed bytecode

机译:生成霍夫曼的快速口译员压缩字节码

获取原文

摘要

Embedded systems often have severe memory constraints requiring careful encoding of programs. For example, smart cards have on the order of 1K of RAM, 16K of non-volatile memory, and 24K of ROM. A virtual machine can be an effective approach to obtain compact programs but instructions are commonly encoded using one byte for the opcode and multiple bytes for the operands, which can be wasteful and thus limit the size of programs runnable on embedded systems. Our approach uses canonical Huffman codes to generate compact opcodes with custom-sized operand fields and with a virtual machine that directly executes this compact code. We present techniques to automatically generate the new instruction formats and the decoder. In effect, this automatically creates both an instruction set for a customized virtual machine and an implementation of that machine. We demonstrate that, without prior decompression, fast decoding of these virtual compressed instructions is feasible. Through experiments on Scheme and Java, we demonstrate the speed of these decoders. Java benchmarks show an average execution slowdown of 9%. Compression factors highly depend on the original bytecode and the training sample, but typically vary from 30% to 60%.
机译:嵌入式系统通常具有严重的内存约束,需要仔细编码程序。例如,智能卡有1K的RAM,16K的非易失性存储器和24K的ROM。虚拟机可以是获取紧凑程序的有效方法,但是使用一个字节为Opcode的一个字节和用于操作数的多个字节的指令,这可能是浪费的,因此限制了嵌入式系统上可运行的程序的大小。我们的方法使用规范霍夫曼代码来生成带有自定义操作数字段的紧凑op opcodes,并且使用直接执行该紧凑码的虚拟机。我们提供自动生成新的指令格式和解码器的技术。实际上,这会自动为定制虚拟机创建一个指令集和该机器的实现。我们证明,没有之前的解压缩,快速解码这些虚拟压缩指令是可行的。通过对方案和Java的实验,我们展示了这些解码器的速度。 Java基准显示平均执行放缓9%。压缩因子高度依赖于原始的字节码和训练样本,但通常从30%变化到60%。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号