芯片算法常用性能度量單位有:
- TOPS(Tera Operation Per Second)每秒一萬億次運算
- DMIPS(Dhrystone Million Instructions Per Second)每秒一百萬個指令
- MIPS(Million Instructions Per Second)每秒一百萬個指令
- MCPS(Million Clock Per Second)每秒一百萬時鐘
TOPS
表示每秒鐘可以進行的操作數量,用於衡量自動駕駛的算力,有時還會拿TOPS/W來說明功耗,即單位功耗下的運算能力。
計算公式:
$$TOPS = MAC矩陣行 * MAC矩陣列 * 2 * 主頻$$
舉例:
一個具有96x96 MAC的NPU,其MAC矩陣行爲96,MAC矩陣列爲96,工作主頻爲2GHz
那麼 TOPS = 96 * 96 * 2 * 2G = 36.864 TOPS
DMIPS
因爲不同的CPU指令集不同、硬件加速器不同、CPU架構不同,導致不能簡單的用核心數和CPU主頻來評估性能,所以出了一個跑分算法叫Dhrystone:程序用來測試CPU整數計算性能,其輸出結果爲每秒鐘運行Dhrystone的次數,即每秒鐘迭代主循環的次數。
Dhrystone所代表的處理器分數比MIPS(million instructions per second 每秒鐘執行的指令數)更有意義,因爲在不同的指令系統中,比如RISC(Reduced Instruction Set Computer精簡指令集計算機)系統和CISC(Complex Instruction Set Computer複雜指令集計算機)系統,Dhrystone的得分更能表現其真正性能。由於在一個高級任務中,RISC可能需要更多的指令,但是其執行的時間可能會比在CISC中的一條指令還要快。由於Dhrystone僅將每秒鐘程序執行次數作爲指標,所以可以讓不同的機器用其自身的方式去完成任務。另一項基於Dhrystone的分數爲DMIPS(DhrystoneMIPS),其含義爲每秒鐘執行Dhrystone的次數除以1757(這一數值來自於VAX 11/780機器,此機器在名義上爲1MIPS機器,它每秒運行Dhrystone次數爲1757次)。
MIPS
每秒跑了多少百萬條指令。這是一種衡量計算機性能的指標,主要用於比較計算機硬件的速度和性能。MIPS越高,說明計算機的處理能力越強。
由於不是每一條機械指令都能在單週期計算完成,所以計算MIPS的時候會引入一個CPI(Clock Cycles Per Instruction,每條指令的時鐘週期數)值。公式如下:
$$MIPS=執行的指令數 / (執行時間*1000000)$$
$$MIPS=主頻/(CPI*1000000)$$
MIPS是每秒鐘處理了多少百萬條指令,bes芯片最高支持208M。下面是計算算法佔用了
$$\begin{align}
MCPS&=(Total Cycles*Sampling frequency)/(No\ of\ frames*Samples\ per\ frame*1000000) \\
&=秒數*主頻*106*FS/(每一幀*一幀多長*10^6) \\
&=(2500)s*主頻*10^6*44100/(1*256*10^6)】 \\
&=89M
\end{align}$$
MCPS
每秒百萬次時鐘週期。這是一種衡量計算機處理器速度的指標,主要用於比較處理器的運行速度。MCPS越高,說明處理器的運行速度越快。
計算公式如下:
MCPS = Total Cycles*Sampling frequency/(No of frames * Samples per frame*100000)
MHz is same as MCPS
MHz=MCPS = Total Cycles/(Total playout time*100000)