Abstract
由於中央處理器速度與記憶體速度之間的差距日益增大,如何因應這樣的情況以獲得更好的效能也隨之變得重要!目前有許多的編譯器最佳化都在處理這方面的議題,其中一個熟為人知的技術叫做純量替換,而此最佳化演算法是在1994年由Steve Carr跟Ken Kennedy兩位教授提出,此最佳化技術是將對記憶體存取的動作轉變為對暫存器作存取,藉此來去除不必要的記憶體存取行為以增進程式的效能,然而其轉變方式是將資料儲存於暫存器中,如此會造成暫存器不足的問題,這是此技術最大的問題所在。 在此篇論文當中,我們將純量替換應用在子字(subword)的資料型態上,並對此方式提出了暫存器視窗的概念,同時要發展出一套共通的成本模型,此模型可套用在不同的硬體支援,利用此共通的成本模型,可以善用不同硬體的支援以去除不必要的記憶體存取獲得最大的效能提昇。我們提出的方法有幾項特色:第一,數筆資料存於一個暫存器中,以降低作純量替換所需的暫存器數目、第二,將原本的記憶體存取動作取代為一到兩筆的CPU動作(子字動作)、第三,可配合單指令多資料流的操作在子字(subword)資料型態的程式中得到更好的效能提昇。最後拿了三個多媒體編碼核心以及三個科學運算當作測 試程式實驗於數位訊號處理器上,實驗結果顯示我們的想法是有用且擁有效能上的提昇。