Abstract
在多媒體處理的領域中,由於資料的特性,單一指令操作於多重資料( Single Instruction Multiple Data, SIMD )的運算處理技術是有效及廣泛被使用的。通常,對於一台32-bit的機器來說,假如一個運算資料單位是8-bit的話,一條SIMD的指令可以同時操作於4個資料單位,因此也能將運算的平行度提升到4。這些運算資料單元在SIMD運算處理技術中,時常被稱之為子字符( subword )。然而,SIMD運算的效能常常受限於這些subwords在暫存器( register )之間的排列狀況。因此,為了解決subwords的排列問題,我們提出了一種新的暫存器架構,稱之為向量暫存器架構( Vector Register Architecture )。藉由向量暫存器架構,我們可以更自由地在暫存器間,排列、重組這些subwords,而不需要在暫存器跟記憶體之間,製造大量的資料流量。為了模擬與驗證向量暫存器的效能,我們基於新一代的影像壓縮技術─H.264/AVC,設計了三組標準測試程式( benchmark ),這些程式分別是矩陣轉置( matrix transposition),去方塊效應濾波器( deblocking filter),離散餘弦轉換 ( discrete cosine transform)。我們並設計了一套清楚的模擬流程去進行向量暫存器架構的模擬。透過這套流程,我們的模擬結果顯示:向量暫存器架構能有效地降低指令所消耗的週期數( cycle count ),以及所需要的指令數( instruction count )。平均而言,透過向量暫存器架構,我們能分別改善cycle count達到30.865%,instruction count達到30.606%。