作者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
→ WPC001:CPU架構完全不同,最佳化的方向差很多是正常 123.195.21.10 11/17 23:52
→ WPC001:當年P7核心(P4), 執行舊程式效率極低... 123.195.21.10 11/17 23:53
→ WPC001:軟硬體本來就要配合... 才會有最佳效率 123.195.21.10 11/17 23:54
→ WPC001:ATOM跟目前的core系列天差地別... XD 123.195.21.10 11/17 23:54
推 ggg12345:Hardware based OoO(Out of Order)可視為 140.115.4.12 11/18 09:30
→ ggg12345:是將program ordere 改為更塞滿管線的 in 140.115.4.12 11/18 09:32
→ ggg12345:order.Atom CPU捨硬取軟,由compiler協助 140.115.4.12 11/18 09:34