博客首页 注册 建议与交流 排行榜 加入友情链接         宝宝相册的专门空间
推荐 投诉 搜索: 帮助

CalmArrow

【打好基础】全力以赴,顺其自然【每天进步一点点】
  piaoxiang.cublog.cn

关于作者
姓名:CalmArrow(lqm)
职业:硕士在读
位置:山东济南
研究:嵌入式系统设计
联系:piaoxiangxinling@163.com

信仰:
    1、永远保持积极向上(积极的心态,积极的思考,积极的行动),享受生活给予的一切!
    2、做正确的事,正确的做事;用心去做,做到最好!
    3、如果你觉得不幸福,那么请你把幸福的门槛降低一些,不要把幸福拒之门外。。。

方向:
    在嵌入式系统设计中感兴趣的方向有:ARM、Linux、网络通信

目标:
    软硬结合,打好基础,提高学习能力,完善知识体系,建立核心优势。

方法:
    理论与实践相结合
    深度与广度相结合
    理解与记忆相结合

说明:
    本Blog仅供学习之用,转载文章如涉及版权,请通知。原创作品如转载,请注明出处。
|| << >> ||
我的分类


CPU性能评估标准
MIPS: Million Instructions executed Per Second
DMIPS: Dhrystone Million Instructions executed Per Second
MFLOPS: Million Floating-point Operations Per Second
 
    MIPS,DMIPS,MFLOPS是常用的CPU性能评估标准。注意MIPS只适合评估标量机,而MFLOPS比较适用于衡量向量机的性能。
 
    用DMIPS来衡量CPU性能存在很大的缺陷。DMIPS并非字面上每秒百万条指令的意思,而是运行一个叫Dhrystone的基准程序时表现出来的相对性能高低的单位,很多场合人们也习惯用MIPS作为这个性能指标的单位。因为基于程序的测试容易收到恶意优化的干扰,并且DMIPS指标值的发布不受任何机构的监督,所以使用DMIPS进行评估时要慎重。ARM一直采用比较保守的值作为CPU的DMIPS的标称值。DMIPS另外一个缺点是不能测量处理器的数字信号处理能力和Cache/MMU子系统的性能。因为Dhrystone测试程序不包含DSP表达式,只包含一些整型运算和字符串处理,并且测试程序偏小,几乎可以完整地放在Cache里面运行而无需与外部存储器进行交互。这样就难以反映处理器在一个真实系统中的真正性能。
 
    资料:
 
Dhrystone is a synthetic benchmark program developed in 1984 by Reinhold P. Weicker intended to be representative of system (integer) programming. The Dhrystone grew to become representative of general processor (CPU) performance until it was superseded by the CPU89 benchmark suite from the Standard Performance Evaluation Corporation, today known as the "SPECint" suite.With Dhrystone, Weicker gathered meta-data from a broad range of software - including programs written in FORTRAN, PL/1, SAL, ALGOL 68, and Pascal. He then characterized these programs in terms of various common constructs - procedure calls, pointer indirections, assignments, etc. From this he wrote the Dhrystone benchmark to correspond to a representative mix. Dhrystone was published in Ada, with the C version for Unix developed by Rick Richardson ("version 1.1") greatly contributing to its popularity.

Dhrystone vs Whetstone

The Dhrystone benchmark contains no floating point operations, thus the name is a pun on the then-popular Whetstone benchmark for floating point operations. The output from the benchmark is the number of Dhrystones per second (the number of iterations of the main code loop per second).

Both Whetstone and Dhrystone are synthetic benchmarks, meaning that they are simple programs that are carefully designed to statistically mimic some common set of programs. Whetstone, developed in 1972, originally strove to mimic typical Algol 60 programs based on measurements from 1970, but eventually became most popular in its Fortran version. Whetstone thus reflected the highly numerical orientation of computing in the 1960s.

Issues addressed by Dhrystone

Dhrystone's eventual importance as an indicator of general-purpose ("integer") performance of new computers made it a target for commercial compiler writers. Various modern compiler techniques (such as dead code elimination) make the use and design of synthetic benchmarks more difficult. Version 2.0 of the benchmark, released by Weicker and Richardson in March of 1988, had a number of changes intended to foil a range of compiler techniques. Yet it was carefully crafted so as not to change the underlying benchmark. This effort to foil compilers was only partly successful. Dhrystone 2.1, released in May of the same year, had some minor changes and remains the current definition of Dhrystone.

Other than issues related to compiler optimization, various other issues have been cited with the Dhrystone. Most of these were understood at the time of its publication in 1984 - including the small code size and small data set size. More subtle is the slight over-representation of string operations, which is largely language related: both Ada and Pascal have strings as first class citizens in the language, whereas C does not, so what was simple variable assignments in reference benchmarks became buffer copy operations in the C library.

Dhrystone remains remarkably resilient as a simple benchmark. It is easy to use, well documented, is fully self-contained, is well understood, and can be made to work on almost any system. In particular, it has remained in broad use in the embedded computing world, though the recently developed EEMBC benchmark suite as well as HINT, Stream, and even Bytemark are widely quoted and used, as well as more specific benchmarks for memory subsystem (Cachebench), TCP/IP (TTCP), and many others. Still, 20 years of continued use is quite a testament to Weicker's careful design and foresight.

Results

Dhrystone tries to represent the result more meaningfully than MIPS (million instructions per second), because MIPS cannot be used across different instruction sets (e.g. RISC vs. CISC) for the same computation requirement from users. Thus, the main score is just Dhrystone loops per second. Another common representation of the Dhrystone benchmark is the DMIPS - Dhrystone MIPS - obtained when the Dhrystone score is divided by 1,757 (the number of Dhrystones per second obtained on the VAX 11/780, nominally a 1 MIPS machine).
摘自wiki

发表于: 2008-01-17,修改于: 2008-01-17 16:27,已浏览674次,有评论0条 推荐 投诉


网友评论
 发表评论