我有一台四核 Core i5 笔记本电脑。我很好奇我的笔记本电脑执行一条简单指令需要多长时间。因此,我执行了 cat /proc/cpuinfo。下面是其中的相关部分,
model name : Intel(R) Core(TM) i5-3320M CPU @ 2.60GHz
cpu MHz : 1200.000
我想知道 CPU MHz 到底代表什么?是否可以从上述数据计算出 MIPS?如果可以,如何计算?
答案1
该值并未告诉您任何您想知道的信息。
首先,CPU MHz 值受可变时钟技术影响,即 CPU 在低负载时节流以节省电量。例如,报告显示您的 CPU 运行在 1200 MHz(1.2 GHz)而不是 2.6 GHz。如果您cat /proc/cpuinfo
在高负载期间运行,则会显示更高的值。
其次,MHz 数本身并不能说明 CPU 执行代码的性能。当今几乎所有 CPU 都是超标量的,这意味着如果可以的话,它们每个周期将执行多条指令。出于这个原因以及其他原因(如缓存和流水线设计),CPU 的类型与确切的时钟频率同样重要。
您问的是“我的笔记本电脑执行一条简单指令需要多长时间”。 中有一个值,/proc/cpuinfo
其含义大致如此,即bogomips
。此测试测量 CPU 每秒可以执行多少条“简单指令”。测试在一个核心上执行,因此理论上您可以将这个数字乘以 4 以获得 CPU 的总数。
请注意 bogomips并不是真实世界性能的基准。它测试一个非常基本的功能,即 CPU 能否在循环中停留并几乎不执行任何操作。然而,现实世界的性能可能更差(例如,如果 CPU 因内存访问而停滞),也可能更好(例如,在使用 SSE 和类似指令集运行计算时)。