- 主题:CPU指令乱序执行的好处是啥?
【 在 RichyMong 的大作中提到: 】
: 我感觉回答都没到一个点啊,为啥cpu要乱序执行指令,和多线程无关吧
: 发自「今日水木 on iOS」
为了充分填满流水线啊,最理想的情况,一个节拍能一个issue,就是能出一个结果。
如果不乱序,取指->译指->进加法器... ->issue流出,n多个节拍。 现在动不动就是8级以上的流水线,不乱序执行,依次来的话,就得8个tick才能有一个issue
--
修改:beanspower FROM 111.197.112.*
FROM 111.197.112.*
一拍一个issue已经很低效了…
现在服务器大核一拍能issue好几个微码,
就算开了smt一个硬线程也有机会issue多个微码。
另外从编程语言看,一般也不约束没data dependency的statement的effect,
在编译器一层就可以“为所欲为”…
【 在 beanspower 的大作中提到: 】
:
: 为了充分填满流水线啊,最理想的情况,一个节拍能一个issue,就是能出一个结果。
: 如果不乱序,取指->译指->进加法器... ->issue流出,n多个节拍。 现在动不动就是8级以上的流水线,不乱序执行,依次来的话,就得8个tick才能有一个issue
--
FROM 114.254.10.*
正解,barrier阻止乱序可以参考下系统函数。
【 在 vabc3 的大作中提到: 】
: 充分利用流水线
: 编译器需要正确插入barrier
--
FROM 112.0.53.*