分享

处理器性能测试基准程序(CoreMark)简介

 Kinetis 2013-08-22

在当今半导体行业受摩尔定律的刺激下飞速发展的今天,不断有性能越来越先进的处理器出现。在PC行业,以intel为例,从早起的的8086到后来的Pentium系列再到如今的酷睿系列(酷睿单核,酷睿双核,i5,i3,i7);在嵌入式行业,从早期的51到AVR、PIC和430等MCU再到后来的ARM系列(ARM7,ARM9,ARM11再到Cortex系列,而Cortex-A9之后又支持多核架构,现在intel又推出Atom系列打入嵌入式行业)。同时半导体工业制程从早期的几千个晶体管到几万个晶体管再到如今的120nm,90nm,60nm,45nm和22nm等,种种的种种,总之随着技术的不断进步,处理器性能一直在鼓足了劲头在超越(本来说摩尔定律要失效了,结果intel又搞出了3D半导体工艺),那么我们肯定会想到,处理器这么多,那衡量它们性能的标准是什么呢,嘿嘿,有需求就会有应用,下面本篇博客的主角就要登场了......

    说CoreMark之前,先说说它的前辈,当年业界很有名但却饱受争议的Dhrystone benchmark,可能这个名字一提出来好多人摸不到头脑,根本就没听过这个(这个正常,因为这个基准都是OEM厂商内部测试用的,咱没听过很正常,不要自卑哦,哈哈),不过提到DMIPS/MHz这个肯定大家伙都知道了吧,呵呵,没错,这个参数就是通过在CPU上运行Dhrystone benchmark得到的,也就是厂商用来吹嘘自己的CPU核有多牛的底气了。可能还有人不是很明白这个Dhrystone,那我就引用网上搜集过来的一个说法给大家解释一下:

Dhrystone 是诞生在上个世纪80年代的一个用来测试CPU性能的测试用例(benchmark),把这个benchmark在CPU上运行,然后看看每秒能跑多少次 这个程序,然后除以1757,从而计算出DMIPS的值,至于为啥要除以1757呢,这是因为这个是拿VAX 11/780(DEC当年的一款经典计算机)来做基准参考的,VAX 11/780每秒能执行1757次的Dhrystone benchmark。所以拿Cortex-M4核号称1.25DMIPS/MHz为例,它说明Cortex-M4这个IP每秒能跑1757*1.25*Freq=42196.25xfreq 次的Dhrystone程序,如果Freq为150Mhz的话,那么每秒能跑的Dhrystone程序的次数为4392.5*150=329437.5。

    但是Dhrystone之所以饱受争议是因为它常常被半导体厂商滥用了,使它变的不是那么客观了,因为Dhrystone反映的是系统整体的性能,这就意味着它不单单是受CPU的性能影响还包括相应配套软件的性能,一些厂商拿来非常优化的OS或者Library来运行Dhrystone,自然得分就相应的高些了,所以就意味着一些不公平性。另外由于Dhrystone benchmark本身太小,因此能衡量的东西就太少, 反应不出CPU全面的性能。所以仍然是有需求就会有产出,呵呵,EEMBC(嵌入式微处理器基准协会)推出了一个免费的类似于Dhrystone的benchmark,称为CoreMark,也就是本篇的主角了,呼。。。说了这么多才说到正点,哈哈。

    CoreMark是一项有趣和有用的基准测试,它的目标就是要测试处理器核心性能。CoreMark能分析并为处理器管线架构和效率评分,通过执行三个主要任务来测试常用运算的执行。重要的是,CoreMark测试的设计方式,能让处理器不受内存的影响。所以目前CoreMark已迅速成为量测与比较处理器性能的业界标准基准测试。CoreMark数字越高,意味着更高的性能,大家可以尝试的去看一下内核的性能参数评估,在能效那一栏,现在常常是伴随着CoreMark评分和Dhtystone评分的,即CoreMark/MHz和DMIPS/MHz。下图就是我从ARM官网上找到的Cortex-M4的技术规格,它的能效评分见蓝色划线处:

    另外,如果大家想去瞅瞅其他CPU型号的Coremark评分或者想亲手测测自己手中CPU核的能效评分,可以到Coremark官网去瞧瞧,这是链接地址http://www./index.php,打开之后我们在首页即可以看到目前常见的一些CPU的coremark评分了,另外也可以从官网上下载coremark(需要注册)测试代码,根据说明自己亲测手中的片子,如下图:

    咳咳,喝口水。。。本篇由于是简介性质的文章,所以前面文字叙述的有些多了,估计好多人耐不下心去看了,呵呵,那就索性先看看这两个图吧,相信会引起你继续看下去的兴趣的,还是很好玩的。由于时间的问题我没有亲测coremark代码下载,不知道还有哪些具体流程,所以本篇暂时权且当作扩展知识篇来看,过段时间等我自己有空了会尝试着下载Coremark代码测试下手中Kinetis的性能的,哈哈,我都有点迫不及待了。。。

    上面一点自己浅薄之谈,希望有些博友会从中受益,呵呵,未完待续~

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多