请教一下各位兄弟一个基础问题,cpu时钟频率和MIPS怎么理解?

iorikingdom 2008-11-10 11:25:26
我原来理解cpu的时钟频率是每秒执行的指令数
但是发现后来MIPS才是,那这样的话CPU的时钟频率的参考价值在哪里呢?

顺便问问cpu执行的指令是不是每个指令执行的时间都一样?
...全文
1379 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
simba8781 2012-04-06
  • 打赏
  • 举报
回复

首先,了解下晶振的作用。没有晶振,就没有时钟周期,没有时钟周期,就无法执行程序代码,单片机就无法工作。 单片机工作时,是一条一条地从RoM中取指令,然后一步一步地执行。单片机访问一次存储器的时间,称之为一个机器周期,这是一个时间基准。—个机器周期包括12个时钟周期。如果一个单片机选择了12MHz晶振,它的时钟周期是1/12us,它的一个机器周期是12×(1/12)us,也就是1us。 MCS—51单片机的所有指令中,有一些完成得比较快,只要一个机器周期就行了,有一些完成得比较馒,得要2个机器周期,还有两条指令要4个机器周期才行。为了衡量指令执行时间的长短,又引入一个新的概念:指令周期。所谓指令周期就是指执行一条指令的时间。例如,当需要计算DJNZ指令完成所需要的时间时,首先必须要知道晶振的频率,设所用晶振为120MHz,则一个机器周期就是0.1us。而DJNZ指令是双周期指令,所以执行一次的指令周期为0.2us,每秒执行指令次数为5百万,即5mips。
benjaminweber 2009-02-22
  • 打赏
  • 举报
回复
首先,mips是理论值,理论上CPU每秒处理的万条指令数,实际数量小于这个值。
mips有很多东西决定,当然包括流水线,时钟频率等等。
大多数处理器都是一条指令只做一个操作,mips往往等于ALU的时钟周期的万分之一。
不过,有的处理器支持SIMD 单指令多数据流,也就是一条指令可以同时完成多个操作,这时候一条指令就不光是一条指令了。
所以,两个处理器有相同的核心频率,却可以有不同的mips。

另外,由于流水线的存在,现在的CPU的实际处理速度远小于他的mips。大量的跳转指令频繁的刷新流水线,导致一条指令往往花了多个周期才能执行。
同时,主页取决于内存和其它设备的速度。
比如两个操作序列
(1)
c=a+b
f=c+n
(2)
c=a+b
f=d+n
有流水线的情况下,(2)要明显快于(1)。(1)中的第二条指令要等待地一条指令的运行结果,而这个结果会导致流水线停滞。

现在的CPU为了防止流水线被频繁的刷新和停止,采用了指令级的乱序处理,超标量和分支提前预测等等技术,也导致了CPU体积不断变大,越来越复杂。
guetcw 2008-11-12
  • 打赏
  • 举报
回复
引用网上的
Million Instructions Per Second的缩写,每秒处理的百万级的机器语言指令数。这是衡量CPU速度的一个指标。像是一个Intel 80386 电脑可以每秒处理3百万到5百万机器语言指令,既我们可以说80386是3到5MIPS的CPU。MIPS只是衡量CPU性能的指标。
sherlock_lai 2008-11-11
  • 打赏
  • 举报
回复
楼主先理解下,单片机,ARM为什么需要晶振
Claude 2008-11-11
  • 打赏
  • 举报
回复
MIPS是每秒执行多少百万条指令,也就是CPU的时钟频率吧……
每条指令执行的时间是用机器周期来衡量的,比如有单周期指令、双周期指令、四周期的指令,所以得看具体是什么指令
Claude 2008-11-11
  • 打赏
  • 举报
回复
MIPS是每秒执行多少百万条指令,也就是CPU的时钟频率吧……
每条指令执行的时间是用机器周期来衡量的,比如有单周期指令、双周期指令、四周期的指令,所以得看具体是什么指令
zyzhang365 2008-11-10
  • 打赏
  • 举报
回复
这个与CPU的指令系统和架构有关系的。
如果所有的指令都是单周期指令且不支持流水线,那么每个机器周期就应该执行一条指令。

zhanzhenbo 2008-11-10
  • 打赏
  • 举报
回复
MIPS == cpu时钟每秒执行的指令数
时钟频率是 CPU运行时的 电路时序波形振动的频率,
在相同指令周期的机器比较下,此频率越高对应取值越多(快)。

6,125

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 硬件设计
社区管理员
  • 硬件设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧