芯片算法性能度量单位

凌逆战 / 2023-08-20 / 原文

芯片算法常用性能度量单位有:

  • 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)