为什么增加流水线层级可以提高CPU主频?但过长的流水层可能造成CPU实际效果低的现象,为什么?
答案:3 悬赏:30 手机版
解决时间 2021-04-14 23:35
- 提问者网友:动次大次蹦擦擦
- 2021-04-14 13:11
为什么增加流水线层级可以提高CPU主频?但过长的流水层可能造成CPU实际效果低的现象,为什么?
最佳答案
- 五星知识达人网友:鱼芗
- 2021-04-14 13:25
对于CPU来说,它的工作可分为获取指令、解码、运算、结果几个步骤。其中前两步由指令控制器完成,后两步则由运算器完成。按照传统的方式,所有指令按顺序执行,先由指令控制器工作,完成一条指令的前两步,然后运算器工作,完成后两步,依此类推……很明显,当指令控制器工作时运算器基本上处于闲置状态,当运算器在工作时指令控制器又在休息,这样就造成了相当大的资源浪费。于是CPU借鉴了工业生产中被广泛应用的流水线设计,当指令控制器完成了第一条指令的前两步后,直接开始第二条指令的操作,运算器单元也是,这样就形成了流水线。流水线设计可最大限度地利用了CPU资源,使每个部件在每个时钟周期都在工作,从而提高了CPU的运算频率。
工业生产中采用增设工人的方法加长流水线作业可有效提高单位时间的生产量,而CPU采用级数更多的流水线设计可使它在同一时间段内处理更多的指令,有效提高其运行频率。如Intel在Northwood核心Pentium 4处理器中设计的流水线为20级,而在Prescott核心Pentium 4处理器中其流水线达到了31级,而正是超长流水线的使用,使得Pentium 4在和Athlon XP(整数流水线10级,浮点流水线15级)的频率大战中取得了优势。
CPU工作时,指令并不是孤立的,许多指令需要按一定顺序才能完成任务,一旦某个指令在运算过程中发生了错误,就可能导致整条流水线停顿下来,等待修正指令的修正,流水线越长级数越多,出错的几率自然也变得更大,旦出错影响也越大。在一条流水线中,如果第二条指令需要用到第一条指令的结果,这种情况叫做相关,一旦某个指令在运算过程中发生了错误,与之相关的指令也都会变得无意义。
最后,由于导电体都会产生延时,流水线级数越长导电延迟次数就越多,总延时自然也就越长,CPU完成单个任务的时间就越长。因此,流水线设计也不是越长越好的
工业生产中采用增设工人的方法加长流水线作业可有效提高单位时间的生产量,而CPU采用级数更多的流水线设计可使它在同一时间段内处理更多的指令,有效提高其运行频率。如Intel在Northwood核心Pentium 4处理器中设计的流水线为20级,而在Prescott核心Pentium 4处理器中其流水线达到了31级,而正是超长流水线的使用,使得Pentium 4在和Athlon XP(整数流水线10级,浮点流水线15级)的频率大战中取得了优势。
CPU工作时,指令并不是孤立的,许多指令需要按一定顺序才能完成任务,一旦某个指令在运算过程中发生了错误,就可能导致整条流水线停顿下来,等待修正指令的修正,流水线越长级数越多,出错的几率自然也变得更大,旦出错影响也越大。在一条流水线中,如果第二条指令需要用到第一条指令的结果,这种情况叫做相关,一旦某个指令在运算过程中发生了错误,与之相关的指令也都会变得无意义。
最后,由于导电体都会产生延时,流水线级数越长导电延迟次数就越多,总延时自然也就越长,CPU完成单个任务的时间就越长。因此,流水线设计也不是越长越好的
全部回答
- 1楼网友:神鬼未生
- 2021-04-14 15:09
因为,所以,科学道理,- -,
- 2楼网友:刀戟声无边
- 2021-04-14 14:48
还试老话题了。越多就好比水龙头越多当然会快。但是太多的话受到电气性能(电子流动)就会降低、电流之间的扰动、同一通道电子数过多的互相阻碍、磁场的增强都会影响到性能提升。所以要才会有制作工艺的提高和材料开发
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯