看板 PC_Shopping作者 hn9480412 (ilinker)標題 [情報] Intel告訴你為何現在沒有10 GHz CPU的原時間 Sat Feb 24 21:03:32 2018
https://goo.gl/Sgyz7e
(很拙的自行翻譯內容)
打從AMD搶在Intel前面推出1 GHz的Athlon之後,Intel和AMD之間的時脈戰爭就開始了。
短短幾年內時脈就翻了三倍,但為何始終無法達到10 GHz的標竿?
大多數人第一個想到的是溫度,越高的頻率就會產生越高的溫度。像是超頻大賽中經常
出現的液態氮一樣。
Intel的產品開發工程師Victoria Zhislina在Blog就提到了為何無法將x86處理器推向
10 Ghz的原因
「這個限制是在重送的機制中發現的(這也是超純量價購的一部份)。就理論上來說,
處理器的指令在發出後必須要拆成好幾次,再依序分成好幾個層次執行指令並在一
個設備中執行」
範例圖(當然這已經是簡化過的了)
https://cdn.mos.cms.futurecdn.net/5ryz5GQEPh3cTeisuii7WW-650-80.jpg
這個跟時脈有甚麼關聯?事實上每個階段所要處理的時間都不同,一條指令拆分出好幾個
階段步驟後在這個時脈內會依序執行,而這個時脈週期是指這個周期能處理的數量。
最高時脈也是比較適合需要處理時間最久的執行週期。
範例圖
https://cdn.mos.cms.futurecdn.net/UTgNyNrjc3y2DcYPtfEeYC-650-80.jpg
而這種設計方式在技術上是可以把時脈的數字設計的比最長的執行緒週期還短,但實際上
並不會有效能上的提升。
假設有一個執行緒需要500ps的執行時間(皮秒,10的-12次方)。CPU的時脈為2GHz。
一個時脈週期為兩倍的時間所得到的是250ps。依照上面的數值在兩個時脈週期執行最長
的執行緒時是需要500ps。
在這樣的設計下,除了發熱量變高之外其他並沒有什麼顯著效果的提升。
當然,如果將時脈拉高可以減少初始化執行的時間,但也會帶來高延遲性的負面效果。
因此只能在兩者之間取得平衡。而提高時脈的方法就是縮短最常執行緒所需要的處理時間
https://i.imgur.com/btHR0Ve.jpg
但以目前的方法並無法實現,現階段只能透過外部(製程)的方式來實現
Victoria Zhislina最後還說了:所有執行緒都平均加速並且將所有執行緒的處理步驟縮
短是可以增加效能。看似很簡單,實際上也很難達成。(主要也是奈米製程下的複雜度)
而時脈的增加取決在於技術水平和不能突破的物理限制。
但即使如此,我們還是會朝這個方向去研發並達成這個目標
這個是Blog上的原文
https://goo.gl/p3YEyU
恩,這個10GHz我10年前也聽過,就那個噴火龍Prescott嘛
--
推 c52chungyuny: 去找一張比自己便宜快一萬的卡火拼 丟臉到極點
那我也可以說1070狂肛460阿08/03 10:06
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 122.116.4.227
※ 文章代碼(AID): #1QaMAgNv (PC_Shopping)
※ 文章網址: https://www.ptt.cc/bbs/PC_Shopping/M.1519477418.A.5F9.html
→ QmaxQ: 完全看不懂2F 02/24 21:10
※ 編輯: hn9480412 (122.116.4.227), 02/24/2018 21:11:29
推 jior: 跪求文組譯本3F 02/24 21:11
→ hn9480412: 講白話點就是現有的製程和能力無法達成
聽起來很像在講幹話,但也是事實7F 02/24 21:15
推 a000000000: intel 20年前認為10Ghz是可能der 那時候剛要摸到1G9F 02/24 21:20
推 archer646: 講白話就是粥的料再好只要有一顆老鼠屎就沒差(大概12F 02/24 21:24
推 ltyintw: 就頻率拉一拉不知道為什麼就出現了很有趣的漏電
以及其他附加產物13F 02/24 21:25
推 ATand: 我看的意思是認為一個指令沒執行完也沒法加速下一個15F 02/24 21:29
推 jeff40108: 前半部分是在講架構優化有極限,後半段說製程改良可以加速執行16F 02/24 21:30
→ ATand: 不如增加一次能執行的量來取代加速,粗淺的理解18F 02/24 21:31
推 HiJimmy: 所以堆核心的方式救出現先了?? 但是,不能平行運算還是得等~~最慢的19F 02/24 21:39
→ kamichu: 就非同步週期就好啦 嘻嘻21F 02/24 21:44
推 a2935373: 不是那個意思吧
是架構上把週期縮短 但是短過最長指令就沒效率
最後那個段才是我們一般講的拉時脈23F 02/24 21:48
推 d200190: 執行緒難以加速所以時脈提高無意義,是這樣吧26F 02/24 21:50
推 ericinttu: 白話就是要想新的基本架構才行 (招喚外星人ing)28F 02/24 21:52
→ kamichu: 反正amd都用黏的 那黏個大小核好了30F 02/24 21:58
→ a2935373: 通用運算很難啦 不然ASIC是在強啥的QQ34F 02/24 22:20
推 kira925: Pipeline不可能無限拉長 所以有極限38F 02/24 22:48
→ hn9480412: 管線拉長你就會看到NetBurst的結果39F 02/24 22:50
推 attis: 你這篇中文翻譯有點怪的 解釋500ps的圖沒有出來 頻率升高無法加速指令運行的原因第一爲長指令 第二即便是短指令也由於指令的相依性而無法加速 最後講到超頻 解釋了功耗為電壓三次方增幅40F 02/24 22:54
→ a2935373: 現在的U不是都比Netburst長了嗎XD44F 02/24 22:55
※ 編輯: hn9480412 (122.116.4.227), 02/24/2018 22:56:11
推 sonicjr: 白話就是 牙膏不能一次擠太多 要慢慢擠46F 02/24 22:57
推 sdbb: 500ps是假設,2G是0.5ns 二分之一是250ps47F 02/24 23:00
推 stalna: 對手拿拐杖,用走的就贏,不用跑48F 02/24 23:01
→ sdbb: 就算把CPU超到4G (250ps),仍須要500ps跑執行緒
cpu超得上去,但執行緒沒執行完,仍需多跑幾cycle這樣不如時脈低點,待執行緒完成再繼續下個cycle
本魯有想到低級點的比喻,不敢po49F 02/24 23:01
推 leo91531: 屁孩:你要買4GHz還是8GHz的i3?53F 02/24 23:06
推 sdbb: 這有點老生常談,硬體不行,就從軟體下手54F 02/24 23:06
推 a2935373: 當年AMD的如意算盤就這樣啊55F 02/24 23:07
→ sdbb: 減少最長執行緒的時間,eg化學中的速率決定步驟
軟體的話就交給編譯器,intel有icc,AMD有gcc56F 02/24 23:07
推 a2935373: CPU超上去其實是最後講的執行緒平均加速吧?58F 02/24 23:09
推 sdbb: 有執行緒未完成,多跑的cycle浪費電59F 02/24 23:13
推 attis: 短指令也會碰到相依性的問題啦 現代處理器的解法就是ooo 產生了最近很夯的spectre漏洞60F 02/24 23:14
推 ts06055120: 逗號跟句號,翻譯要注意別跟著用,這樣看了很痛苦,中文句號代表一個段落,但是英文不是62F 02/24 23:46
※ 編輯: hn9480412 (122.116.4.227), 02/24/2018 23:57:38
→ ts06055120: 那個500ps跟250ps,那裡語意不通順,然後又用句號隔開,看了第二次用250ps反推,我才懂是說時脈二倍
加油囉,慢慢修改,翻譯辛苦了,還是給推64F 02/24 23:57
推 Litfal: 把step(of instruction)翻成執行續總覺得讀起來很怪67F 02/25 00:08
→ Litfal: 這邊應該是指一個(或一段)邏輯電路的運算
時脈再快,也只能去匹配一個最耗時的電路運算69F 02/25 00:10
推 netsphere: longer pipeline means more miss penalty71F 02/25 00:20
→ Litfal: 然而,並沒有太多方法去縮短那個最耗時的運算,其中之一是製程的改良72F 02/25 00:20
→ protoss: 不就是pipeline和hazard的觀念...如果沒記錯的話...把stage加深可以拉高時脈...但一些指令的miss會造成更高的penalty...所以單純拉高時脈其實意義不高...不如提升編譯器的優化跟快取的效能...
不過我覺得x86指令集的設計應該已經到了極限了吧...從AMD這次追上intel...而intel並沒有再次大幅躍進他的效能...就像當初的控肉?記憶不知道有沒有誤立刻板回K7那樣...現在大概就只能靠製程提升提高時脈了...不過即便如此...有在算BOINC...有聽到之前的人在比較跟手機ARM的架構比...每瓦能效比還是x86樂勝...74F 02/25 00:25
推 wahaha99: 簡單來說:
Clock就是一個口令一個動作
如果你想要把口令間格變短(時脈提升)
那一個動作就要拆成更多動作去做 也就是每個口令
做的事情變少
但這樣一直拆下去其實意義不大 因為總有些事情
是比較複雜的 已經不能拆了 所以就變成大家等他一個大概是這樣....計算機概論快忘光了 orz85F 02/25 03:21
推 jk01: X86架構綁死,懂?95F 02/25 08:22
→ rogergon: 說什麼鬼話。執行序的延遲還不是跟製程技術有關。96F 02/25 10:10
推 aegis43210: 不就想把L2做大一點、延遲降低一些,但太貴了不能量產?97F 02/25 11:06
推 maniaque: 若對於 Intel 當年 pentium 4 架構有稍微涉獵的
應該還滿容易理解這一篇文章的
所以 Intel 當年要拆指令,加深管線,來把時脈推上去但拆指令跟加深管線,不是沒有副作用
而當年的技術,其實以現在來講,也等同埋下這次爆炸的兩大 bug 的遠因....100F 02/25 11:26
--