數字信號處理器是否符合設計要求,關鍵在于是否滿足速度要求。測試處理器的速度有很多方法,最基本的是測量處理器的指令周期,即處理器執行最快指令所需要的時間。指令周期的倒數除以一百萬,再乘以每個周期執行的指令數,結果即為處理器的最高速率,單位為每秒百萬條指令MIPS。
但是指令執行時間并不能表明處理器的真正性能,不同的處理器在單個指令完成的任務量不一樣,單純地比較指令執行時間并不能公正地區別性能的差異。現在一些新的DSP采用超長指令字(VLIW)架構,在這種架構中,單個周期時間內可以實現多條指令,而每個指令所實現的任務比傳統DSP少,因此相對VLIW和通用DSP器件而言,比較MIPS的大小時會產生誤導作用。
即使在傳統DSP之間比較MIPS大小也具有一定的片面性。例如,某些處理器允許在單個指令中同時對幾位一起進行移位,而有些DSP的一個指令只能對單個數據位移位;有些DSP可以進行與正在執行的ALU指令無關的數據的并行處理(在執行指令的同時加載操作數),而另外有些DSP只能支持與正在執行的ALU指令有關的數據并行處理;有些新的DSP允許在單個指令內定義兩個MAC。因此僅僅進行MIPS比較并不能準確得出處理器的性能。
解決上述問題的方法之一是采用一個基本的操作(而不是指令)作為標準來比較處理器的性能。常用到的是MAC操作,但是MAC操作時間不能提供比較DSP性能差異的足夠信息,在絕大多數DSP中,MAC操作僅在單個指令周期內實現,其MAC時間等于指令周期時間,如上所述,某些DSP在單個MAC周期內處理的任務比其它DSP多。MAC時間并不能反映諸如循環操作等的性能,而這種操作在所有的應用中都會用到。
最通用的辦法是定義一套標準例程,比較在不同DSP上的執行速度。這種例程可能是一個算法的“核心”功能,如FIR或IIR濾波器等,也可以是整個或部分應用程序(如語音編碼器)。圖1為使用BDTI公司的工具測試的幾款DSP器件性能。
在比較DSP處理器的速度時要注意其所標榜的MOPS(百萬次操作每秒)和MFLOPS(百萬次浮點操作每秒)參數,因為不同的廠商對“操作”的理解不一樣,指標的意義也不一樣。例如,某些處理器能同時進行浮點乘法操作和浮點加法操作,因而標榜其產品的MFLOPS為MIPS的兩倍。
其次,在比較處理器時鐘速率時,DSP的輸入時鐘可能與其指令速率一樣,也可能是指令速率的兩倍到四倍,不同的處理器可能不一樣。另外,許多DSP具有時鐘倍頻器或鎖相環,可以使用外部低頻時鐘產生片上所需的高頻時鐘信號。
更多相關: AV集成
©版權所有。未經許可,不得轉載。