Abstract
本篇論文主要在研究如何針對超純量系統,做理想的指令排班.我們發現 ,在過去的十年中,計算機的執行效率以極快的速度增加--每年約成長百 分之六十.從以往累積的經驗中,我們也了解計算機的執行效率依賴良好 的微處理機結構設計,而良好的編譯器則有助於微處理機充分發揮其功能 .所以,在現代的計算機發展中,計算機結構及編譯器兩者是不可分的. 就計算機結構而言,超純量系統是一種功能很強的結構.它的特點是 擁有很多的功能元件,一次可以讀取並執行多個指令.因此,其對指令層 次之平行度的要求相對的提高.就編譯器而言,其本質乃將使用者所寫的 程式轉換為可執行的程式碼.而一個良好的編譯器須能配合硬體上的需求 ,給予適當的協助以充分發揮硬體提供的功能. 在本篇論文中,我們 將探討編譯器如何針對超純量系統之結構來做適當的指令排班. 我們使 用的機器是 SPARC-10 工作站.此工作站是使用 SuperSPARC 當做它的 CPU.至於我們所選用的編譯器則是GCC. GCC 是一個越來越受歡迎的編 譯器.除了可以產生很有效的執行碼外,容易安裝也是它的特點之一.我 們將修改 GCC 中之指令排班部分,然後測量其執行效率並討論測量結果 . 本篇論文共分七章.第一章為簡介.第二章介紹 GCC 之架構.在 本章中,將提及GCC 所使用之中間碼及與機器相關的資訊.在第三章,我 們將介紹 SuperSPARC 之結構並列出其在執行指令時所受的限制.在第四 章,我們將測量每種指令執行所需的時間並討論如何組合各種指令以達更 好的效果.第五章則介紹新的指令排班法.第六章則列出我們測試的結果 及討論一些影響執行效率的因素.我們在第七章做總結並討論將來的研究 重點.