...
首页> 外文期刊>Science of Computer Programming >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%. The reductions in size highly depend on the original bytecode and the training samples, but typically vary from 40% to 60%.
机译:嵌入式系统通常具有严格的内存限制,需要对程序进行仔细的编码。例如,智能卡具有大约1K的RAM,16K的非易失性存储器和24K的ROM。虚拟机可能是获得紧凑程序的有效方法,但是指令通常使用一个字节的操作码和多个字节的操作数进行编码,这可能很浪费,因此限制了可在嵌入式系统上运行的程序的大小。我们的方法使用规范化的霍夫曼代码来生成具有自定义大小的操作数字段的压缩操作码,并使用直接执行此压缩代码的虚拟机生成压缩操作码。我们提出了自动生成新指令格式和解码器的技术。实际上,这会自动为自定义虚拟机创建指令集以及该机器的实现。我们证明,在没有事先解压缩的情况下,对这些虚拟压缩指令进行快速解码是可行的。通过对Scheme和Java的实验,我们演示了这些解码器的速度。 Java基准测试显示平均执行速度降低了9%。大小的减小很大程度上取决于原始字节码和训练样本,但通常在40%到60%之间变化。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号