|
此帖出自嵌入式系统论坛
最新回复
首先,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体积不断变大,越来越复杂。
详情
回复
发表于 2009-2-22 07:13
| ||
|
||
| |
|
|
| |
|
|
| |
|
|
| |
|
|
| |
|
|
此帖出自嵌入式系统论坛
| ||
|
||
此帖出自嵌入式系统论坛
| ||
|
||
EEWorld Datasheet 技术支持