LLVA:一個低階虛擬指令集架構
摘要
透過處理器特定的軟體轉譯層實現的虛擬指令集架構 (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}
}