透過您的圖書館登入
IP:52.14.126.74
  • 學位論文

Binary Utilities 自動移植生成器

Binary Utilities Generator for Application Specific Instruction Processor

指導教授 : 陳俊良

摘要


由於嵌入式系統的迅速的發展,目前已經有愈來愈多的高階產品,使用可程式化的 application specific instruction processor (ASIP)來開發,除了效能更高,也能更有彈性地執行應用程式。隨著ASIP的應用,其對應的系統軟體,包括編譯器 、組譯器、連結器和模擬器,更亦顯的重要。 為了提升ASIP設計的效率,並且減少開發上的成本,新的設計方法使用架構描述語言(ADL)來定義處理器的架構,而對應的系統軟體則由電腦輔助設計系統自動產生。然而這部分的研究領域目前大多偏向編譯器方面的研究,至於下游軟體包括組譯器和連結器等,卻鮮少有人觸及。 本篇論文提供一個有效的方法能將這些下游軟體藉由架構描述語言自動移植到新處理器上。我們針對開放源碼的 GNU Binary Utilities (binutils) 來進行移植。基於實務考量,我們採用CGEN作為協助移植的工具,它提供一個實用的架構描述語言來描述指令集,另外我們開發一個工具(ALGEN)來處理剩下的工作,主要是在處理程式重定位的問題。藉由CGEN和ALGEN,我們能以自動化的方式移植GNU binutils到新的處理器上。 為了證實我們方法的可行性,我們分別對FR30和OPENRISC進行移植。結果顯示,我們的方法確實能快速且成功的將GNU binutils移植到目標架構上。

並列摘要


With the rapid development of the embedded system, many new application-specific instruction-set processors (ASIP) are developed in the last few years, which are getting more and more attractive due to their balance between computational efficiency and flexibility. In order to reduce both the design time and the development cost, architecture description languages (ADL) have been established to aid the design of ASIP, which is an active research field to automatic generation of a software toolkit, including C compiler, assembler, linker, and simulator etc. However, most researches in this field focus on automatic generation of compiler, few efforts shed light on the automatic generation of other tools. In this thesis, we propose a framework that can automatically port GNU binutils package, which contain a suite of downstream software development tools such as assembler, disassebmbler and linker etc. We construct our framework base on CGEN, a developing generator of CPU-related tools. With CGEN's help, we can easily model instruction set architecture of a processor. Besides, we developed a tool, ALGEN, to complete the remaining work, which mainly focus on relocation handling. With ALGEN and CGEN, we can automatically port GNU binuitls to a new architecture. To verify the feasibility of our framework, we tried to port GNU binutils to FR30 and OPENRISC. The implementation results show that our framework is practical and useful.

參考文獻


[9] John R. Levine, "Linkers and Loaders," Morgan Kufmann Publishers, 2000.
[4] Steve Chamberlain, "libbfd: the Binary File Descriptor library," Free Software Foundation.
[11] M. Abbaspour and J. Zhu, "Retargetable Binary Utilities," New Oreleans, USA, 2002.
[12] Rajat Moona, "Processor Models for Retargetable Tools," Proceedings of Rapid Systems Prototyping 2000 (IEEE), June 21-23.
[1] "Executable and Linkable Format (ELF)," Tool Interface Srandards(TIS), Portable format specification.

延伸閱讀