作者JohnLinq (林约翰)
看板Programming
标题Re: [闲聊] Intel Atom processors are in-order m …
时间Mon Nov 17 11:29:22 2008
※ 引述《ggg12345 (ggg)》之铭言:
: ※ 引述《JohnLinq (林约翰)》之铭言:
: : 刚刚听说,The Intel Atom processors are in-order machines.
: : 它回头采用顺序执行的架构,没有了乱序执行,所以..........
: : 那我就会很自然地想说,「可是大家已经乱序执行很久了耶」,
: : 这大概表示OS/Compiler都是内定乱序执行吧,
^^^^^^^^我又弄错了 Orz
→ WPC001:OS/Compile出来的code都是in order... 123.195.11.21 11/14
→ WPC001:out of order那个是硬体层级 123.195.11.21 11/14
→ WPC001:顶多是complier再去做最佳化而已 123.195.11.21 11/14
: : 那你搞一颗顺序执行的CPU是怎样?
: 看了一下这个网页
: http://www.tomshardware.com/reviews/intel-atom-cpu,1947-5.html
: 的介绍. 不得不佩服商业公司的宣传与用字.
: in-order 指的就是要配合 instruction fetch & execution pipeline.
我来说说我个人的一点粗浅理解,请多多包涵。
乱序执行是为了克服指令的「相关」与「移转」,
失去乱序执行而回归到in-order,则在遇到具有相关性的指令的时候,
整条流水线当中,後面的指令就必须等待前面的指令完成,才能够接着被执行,
如此一来,就失去了流水线并行的本意。
INTEL的新Compiler针对这一点做了最佳化,
简言之,A指令需要等待1次,B指令也需要等待1次,原本共需要等待2次,
但是该Compiler会让A指令与B指令并行,这样总共只需要等待1次。
就是「要等大家一起等」的意思。
请参考以下INTEL的gif档:
http://cache-www.intel.com/cd/00/00/38/79/387971_387971.gif
: 以利 threading 的快速切换.
: : 找了一下,结果发现,Intel出新的Compiler了..........
: : http://macles.blogspot.com/2008/09/intel-cc-compiler-gcc-and-intel-atom.html
: : http://www.intel.com/cd/software/products/asmo-na/eng/386925.htm
: : -> Lack of in-order scheduling results in
: : -> slower execution and increased power
: : -> 上面这句话有点好笑 XD
^^^^
: 这应该是这个架构下必须遵守的原则, 否则就是快不起来 !
因为Atom主打"低功耗",
但是,如果没有使用INTEL的新Compiler,
则results in increased power,所以..........
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.221.140.178
1F:→ WPC001:CPU架构完全不同,最佳化的方向差很多是正常 123.195.21.10 11/17 23:52
2F:→ WPC001:当年P7核心(P4), 执行旧程式效率极低... 123.195.21.10 11/17 23:53
3F:→ WPC001:软硬体本来就要配合... 才会有最佳效率 123.195.21.10 11/17 23:54
4F:→ WPC001:ATOM跟目前的core系列天差地别... XD 123.195.21.10 11/17 23:54
5F:推 ggg12345:Hardware based OoO(Out of Order)可视为 140.115.4.12 11/18 09:30
6F:→ ggg12345:是将program ordere 改为更塞满管线的 in 140.115.4.12 11/18 09:32
7F:→ ggg12345:order.Atom CPU舍硬取软,由compiler协助 140.115.4.12 11/18 09:34