MIPS 、DMIPS、MFLOPS

今天在看《ARM权威指南-Cortex-M0》时,遇到一个单位名词——DMIPS,查找过程中发现几个相关单位名词,在此做下记录。

MIPS(Million Instructions Per Second):字面理解为百万条指令/秒,即每秒执行百万级指令数。这是衡量CPU速度的一个指标。像是一个Intel 80386 电脑可以每秒处理3百万到5百万机器语言指令,既我们可以说80386是3到5MIPS的CPU。MIPS只是衡量CPU性能的指标。

DMIPS(Dhrystone Million Instructions executed Per Second):Dhrystone是测量处理器运算能力的最常见基准程序之一,常用于处理器的整型运算性能的测量。Dhrystone是一种整数运算测试程序。

MFLOPS(Million Floating-point Operations per Second),主要用于测浮点计算能力。

以下来自百度百科:

MIPS,DMIPS和MFLOPS是常用的CPU性能评估标准。

要注意的是DMIPS只适宜于评估标量机,不能用于评估向量机。而MFLOPS则比较适用于衡量向量机的性能。为了正确反映计算机的性能,每一种浮点操作要乘以一个正则化的值然后再求MFLOPS的值。

CPU性能评估采用合成测试程序,较流行的有Whetstone 和 Dhrystone 两种。Dhrystone主要用于测整数计算能力,计算单位就是DMIPS。采用Whetstone 主要用于测浮点计算能力,计算单位就是MFLOPS。

下面是在FOLDOC上的解释:

Dhrystone

A short synthetic benchmark program by Reinhold Weicker, intended to be representative of system (integer) programming. It is available in ADA, Pascal and C.The current version is Dhrystone 2.1. The author says, "Relying on MIPS V1.1 (the result of V1.1) numbers can be hazardous to your professional health."

Due to its small size, the memory system outside the cache is not tested. Compilers can too easily optimise for Dhrystone. String operations are somewhat over-represented.

例如:一个处理器达到 200 DMIPS的性能 是指:这个处理器测整数计算能力为(200*100万)条指令/秒。

ARM中的MIPS和MHz联系

以下摘自博客https://blog.csdn.net/bigmarco/article/details/6652659

现如今CPU的频率越来越高,又是流水线又是超标量计算又是双核多核的,单纯以时钟频率来衡量计算机的速度已经不再科学,用MIPS来衡量相对比较合理。以ARM7为内核的S3C44B0X的推荐最高工作频率为66MHz,按照ARM公司提供的技术资料,ARM7类CPU的运算速度可按如下公式计算:MIPS=0.9×MHz,由此可得出,S3C44B0X的最大运算速度大约为0.9×66MHz=59.4MIPS。6M的51单片机通常是12 或24个时钟周期才能完成1条指令,乘法和除法指令更需要48个时钟周期。这样,我初步估算6M的51单片机的运算速度应该在0.2~0.5MIPS之间。可见8位机与32位机的运算速度还是有巨大的差异的。

再以AVR为例,它的数据吞吐率可达1MIPS/MHz,即1MHz的震荡频率可达1MIPS。

综上,用MIPS衡量计算机速度很合理,对于不同的cpu,它的最高工作频率不同,数据吞吐率也不同,所以不可一概而论。

你可能感兴趣的:(ARM)