LLVA:一种低级虚拟指令集架构
Vikram AdveChris LattnerMichael Brukman,Anand Shukla和Brian Gaeke

摘要

通过处理器特定的软件翻译层实现的虚拟指令集架构(V-ISA)可以为处理器设计人员提供极大的灵活性。然而,最近的一些例子,如Crusoe和DAISY,使用了现有的硬件指令集作为虚拟ISA,这使得翻译和优化变得复杂。事实上,关于处理器虚拟ISA的具体设计的研究很少。本文提出了一种新颖的虚拟ISA(LLVA)及其在任意硬件上实现的翻译策略。该指令集是类型化的,使用静态单赋值形式的无限虚拟寄存器集,并提供显式的控制流和数据流信息,同时使用与传统硬件紧密匹配的低级操作。它包括新颖的机制,允许更灵活地优化本地代码,包括灵活的异常模型和对自修改代码的少量约束。我们提出了一种翻译策略,该策略允许离线翻译和本地代码和配置文件信息的透明离线缓存,同时保持完全独立于操作系统。它还支持在安装时、运行时和执行之间的离线对表示进行直接优化。我们通过实验表明,该虚拟ISA紧凑,与普通的硬件指令集紧密匹配,并且允许非常快速的代码生成,但同时具有足够的高级信息,允许进行复杂的程序分析和优化。

出版信息

"LLVA:一种低级虚拟指令集架构",Vikram Adve,Chris Lattner,Michael Brukman,Anand Shukla和Brian Gaeke。
第36届ACM/IEEE国际微体系结构研讨会(MICRO-36)论文集,加利福尼亚州圣地亚哥,2003年12月。

下载

BibTeX条目

  @InProceedings{ALBSG:MICRO36,
    author    = {Vikram Adve and Chris Lattner and Michael Brukman and Anand Shukla and Brian Gaeke},
    title     = "{LLVA: A Low-level Virtual Instruction Set Architecture}",
    booktitle = "{Proceedings of the 36th annual ACM/IEEE international symposium on Microarchitecture (MICRO-36)}",
    address   = {San Diego, California},
    month     = {Dec},
    year      = {2003}
  }