MIPS、DMIPS和MFLOPS的定义、区别和联系

2024-06-17 04:08

本文主要是介绍MIPS、DMIPS和MFLOPS的定义、区别和联系,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

       DMIPS:Dhrystone Million Instructions executed Per Second :主要用于测整数计算能力。
  MIPS: Million Instructions executed Per Second,每秒百万条指令,用来计算同一秒内系统的处理能力,即每秒执行了多少百万条指令。D是Dhrystone的缩写,他表示了在Dhrystone这样一种测试方法下的MIPS,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.
  (2002-03-26)
  (c) Copyright 1993 by Denis Howe
  例如:一个处理器达到 200 DMIPS的性能 是指:这个处理器测整数计算能力为(200*100万)条指令/秒。
 
MIPS
Million Instructions Per Second的缩写,每秒处理的百万级的机器语言指令数。这是衡量CPU速度的一个指标。像是一个Intel 80386 电脑可以每秒处理3百万到5百万机器语言指令,既我们可以说80386是3到5MIPS的CPU。MIPS只是衡量CPU性能的指标。

MIPS技术公司是一家设计制造高性能、高档次及嵌入式32位和64位处理器的厂商,在RISC处理器方面占有重要地位。1984年,MIPS计算机公司成立。1992年,SGI收购了MIPS计算机公司。1998年,MIPS脱离SGI,成为MIPS技术公司。

MIPS公司设计RISC处理器始于二十世纪八十年代初,1986年推出R2000处理器,1988年推R3000处理器,1991年推出第一款64位商用微处器R4000。之后又陆续推出R8000(于1994年)、R10000(于1996年)和R12000(于1997年)等型号。

随后,MIPS公司的战略发生变化,把重点放在嵌入式系统。1999年,MIPS公司发布MIPS32和MIPS64架构标准,为未来MIPS处理器的开发奠定了基础。新的架构集成了所有原来NIPS指令集,并且增加了许多更强大的功能。MIPS公司陆续开发了高性能、低功耗的32位处理器内核(core)MIPS324Kc与高性能64位处理器内核MIPS64 5Kc。2000年,MIPS公司发布了针对MIPS32 4Kc的版本以及64位MIPS 64 20Kc处理器内核。

DMIPS

DMIPS是我最近才去深入了解的一个单位,以前看到都不求甚解了,汗一下...

D是Dhrystone的缩写,他表示了在Dhrystone这样一种测试方法下的MIPS,Dhrystone是一种整数运算测试程序。下面是在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.
(2002-03-26)
(c) Copyright 1993 by Denis Howe


MFLOPS

MFLOPS在FOLDOC上的解释如下:

A benchmark which attemps to estimate a system's floating-point "MFLOPS" rating for specific FADD, FSUB, FMUL and FDIV instruction mixes.

是一种基于浮点运算的CPU测试程序,当然,这种测试的结果也以 MFLOPS来加以表示,代表了CPU处理浮点运算的能力。


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

这篇关于MIPS、DMIPS和MFLOPS的定义、区别和联系的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1068445

相关文章

GORM中Model和Table的区别及使用

《GORM中Model和Table的区别及使用》Model和Table是两种与数据库表交互的核心方法,但它们的用途和行为存在著差异,本文主要介绍了GORM中Model和Table的区别及使用,具有一... 目录1. Model 的作用与特点1.1 核心用途1.2 行为特点1.3 示例China编程代码2. Tab

Nginx指令add_header和proxy_set_header的区别及说明

《Nginx指令add_header和proxy_set_header的区别及说明》:本文主要介绍Nginx指令add_header和proxy_set_header的区别及说明,具有很好的参考价... 目录Nginx指令add_header和proxy_set_header区别如何理解反向代理?proxy

Java中&和&&以及|和||的区别、应用场景和代码示例

《Java中&和&&以及|和||的区别、应用场景和代码示例》:本文主要介绍Java中的逻辑运算符&、&&、|和||的区别,包括它们在布尔和整数类型上的应用,文中通过代码介绍的非常详细,需要的朋友可... 目录前言1. & 和 &&代码示例2. | 和 ||代码示例3. 为什么要使用 & 和 | 而不是总是使

C++中函数模板与类模板的简单使用及区别介绍

《C++中函数模板与类模板的简单使用及区别介绍》这篇文章介绍了C++中的模板机制,包括函数模板和类模板的概念、语法和实际应用,函数模板通过类型参数实现泛型操作,而类模板允许创建可处理多种数据类型的类,... 目录一、函数模板定义语法真实示例二、类模板三、关键区别四、注意事项 ‌在C++中,模板是实现泛型编程

Spring中@RestController和@Controller的使用及区别

《Spring中@RestController和@Controller的使用及区别》:本文主要介绍Spring中@RestController和@Controller的使用及区别,具有很好的参考价... 目录Spring中@RestController和@Controller使用及区别1. 基本定义2. 使

Qt 中 isHidden 和 isVisible 的区别与使用小结

《Qt中isHidden和isVisible的区别与使用小结》Qt中的isHidden()和isVisible()方法都用于查询组件显示或隐藏状态,然而,它们有很大的区别,了解它们对于正确操... 目录1. 基础概念2. 区别清见3. 实际案例4. 注意事项5. 总结1. 基础概念Qt 中的 isHidd

Spring、Spring Boot、Spring Cloud 的区别与联系分析

《Spring、SpringBoot、SpringCloud的区别与联系分析》Spring、SpringBoot和SpringCloud是Java开发中常用的框架,分别针对企业级应用开发、快速开... 目录1. Spring 框架2. Spring Boot3. Spring Cloud总结1. Sprin

Java中的runnable 和 callable 区别解析

《Java中的runnable和callable区别解析》Runnable接口用于定义不需要返回结果的任务,而Callable接口可以返回结果并抛出异常,通常与Future结合使用,Runnab... 目录1. Runnable接口1.1 Runnable的定义1.2 Runnable的特点1.3 使用Ru

Java中Runnable和Callable的区别和联系及使用场景

《Java中Runnable和Callable的区别和联系及使用场景》Java多线程有两个重要的接口,Runnable和Callable,分别提供一个run方法和call方法,二者是有较大差异的,本文... 目录一、Runnable使用场景二、Callable的使用场景三、关于Future和FutureTa

Java逻辑运算符之&&、|| 与&、 |的区别及应用

《Java逻辑运算符之&&、||与&、|的区别及应用》:本文主要介绍Java逻辑运算符之&&、||与&、|的区别及应用的相关资料,分别是&&、||与&、|,并探讨了它们在不同应用场景中... 目录前言一、基本概念与运算符介绍二、短路与与非短路与:&& 与 & 的区别1. &&:短路与(AND)2. &:非短