Programming Languages, Compilers and Software Engineering

程式語言、編譯器與軟體工程

隨著晶片製造技術不斷進步,處理器設計者得以應用更複雜的技術及先進的架構來滿足使用者對效能提昇的需求,技術方面除了提高時脈與執行速度外,Multi-units and Multi-issue 也是增進效能所不可忽視的設計趨勢。在架構方面,目前電腦系統裝置亦進入同質 (homogeneous) 或異質 (heterogeneous) 多核心 (multi-core) 的時代;同質的有 Intel 的 Core 2 系列、AMD 的 Athlon 64 X2 系列、IBM 的 Cell,而異質的則有 Ti 的 OMAP 系列。面對這些新興的硬體設計以及軟體應用,編譯器優化技術將扮演更吃重的角色,必須針對高效能以及低耗能間,利用相關硬體特性以及優化技術來取得平衡。

由於目前硬體速度增快以及新架構的推陳出新,使得虛擬機器以及二元碼轉譯技術也越來越受到注目,這方面的研究主要為即時編譯器 (JIT, Just-in-time) 研究以及二元碼轉譯系統的設計。由於計算機結構已經相當成熟,既新穎、廉價又高功能的處理器 (以及相當配合的新作業環境) 不斷推出。這些新的處理器挾著低廉的價格進入市場,但是它們的最大弱點就是缺乏應用程式,無法引起消費者的興趣。當然處理器廠商可以要求軟件廠商為新的處理器 再編譯一次原始程式碼,但如此一來會增加軟件廠開發與維護費用,除非有利可圖,軟件廠商不願做此項投資。而也由於這項困難,促使了二元碼轉譯系統的發展。 二元碼轉譯系統可自動將二元碼移植到新的處理器 (及新作業系統),無需參考程式原始碼,亦無需外界的助力,因此成為時下重要的研究主體之一。


研究主軸

  • 編譯器
  • 編譯最佳化
  • 虛擬機器
  • 二元碼轉譯技術程式語言語意研究
  • 程式驗證
  • 物件導向方法論
  • 軟體發展環境
  • 通用型圖形處理器之編譯與優化
  • 腳本語言
  • 虛擬機器 


研究人員

楊武、游逸平、單智君、王豐堅、黃世昆、黃俊穎