關於intel hyper threading的解說? - 3C

Hamiltion avatar
By Hamiltion
at 2015-03-31T23:14

Table of Contents

有錯請指證

流水線作業

http://i.imgur.com/MaWNiqr.png
假設要洗衣服要經過:
淨泡機、攪拌機、脫水機、烘乾機,一台半小時。

假設要洗四桶衣服,經過四台機器需要(0.5+0.5+0.5+0.5)*4=8個小時。

BUT!

第0.5個小時

將第一桶衣服拿去浸泡

第1.0個小時

第一桶衣服 從浸泡機拿出來 丟進去攪拌機後
第二桶衣服 就丟去浸泡了

第1.5個小時

第一桶衣服 從攪拌機拿出來 丟進去脫水機
第二桶衣服 從浸泡機拿出來 丟進去攪拌機
第三桶衣服 丟去浸泡
.
.
.

最後總時間只需要3.5個小時!

這就是流水線作業



與電腦相關的,就是各級資源可以盡量避免資源空閒。
http://i.imgur.com/wl4FNJg.png
以這張圖為例分別是:
指令抓取、提取暫存器、運算單元、資料存取、存回暫存器。

而上面是很單純的流水線處理。

而現今的CPU呢?
http://i.imgur.com/9ClQylc.png
看一下架構示意圖。

可以看到運算單元有非常多個,有整數運算,浮點數運算... 等。
但是一個指令進來,可能只使用了一個整數運算單元,而其他單元都是處於閒置狀態。

那如何有效利用 全部的運算單元呢?

就是將指令全部丟進去處理,最後會卡在運算單元這級 如果可以進行運算就進行,如果不
行就先等待,等資源一空閒就進行運算。
處理完的回傳值,會再全部丟到緩衝單元,按順序全部排好,再輸出,這樣就與一個一個
慢慢執行後的輸出一樣了。

那與INTEL的Hyper-Threading有什麼關係?

http://i.imgur.com/V6xEdv2.png
一顆雙核心的處理器,處理兩個程式的時候發現,其中一顆在運作的時候,另一顆剛好空
閒。那我是不是就可以在一顆核心空閒的時候,給他另一個程式進行運算?
所以就有了最右邊的圖。

http://i.imgur.com/Sdc8ORb.png
當然一般來說不會這麼剛好,不過還是可以盡量進行填空,達到增加資源利用效率的效果
,減少時間。
以這張圖來說,原本需要20個*2的cycle,現在只要25個cycle。

http://i.imgur.com/TIlceLU.png
不過如果原本就全部都填滿了的話,HT就一點作用也沒有了。

根據統計,HT實際使用上約可提供1.3倍的效能,而現在支援多執行緒的程式也越來越多。
從魔獸的4核心,到最近刺客教條等單機大作的8核心。

個人淺見E3、I7的4C8T是可以投資的,因為支援8T的東西只會越來越多。

文章前面的圖面是陳中和教授的上課講義,老師如果不希望使用該圖,我會馬上拿下來。

--
Tags: 3C

All Comments

Hardy avatar
By Hardy
at 2015-04-05T18:07
1.3倍是什麼情境下
Kelly avatar
By Kelly
at 2015-04-10T13:18
長期使用平均
Agnes avatar
By Agnes
at 2015-04-14T15:14
假設兩顆CPU 1C2T 18C36T 是不是前者比例高一些呢?
Caitlin avatar
By Caitlin
at 2015-04-16T01:46
我這樣問也不太對
Edith avatar
By Edith
at 2015-04-17T09:10
沒資料不過應該是 18c閒置應該就很多了
Carol avatar
By Carol
at 2015-04-19T19:35
INTEL把核心數會做越多
Donna avatar
By Donna
at 2015-04-22T19:07
不過守在中階桌機的就可憐了
Ingrid avatar
By Ingrid
at 2015-04-24T04:39
1.3倍的來源 http://ppt.cc/nR2- 第13頁
Oliver avatar
By Oliver
at 2015-04-24T20:06
1.3倍應該是上限吧
Kristin avatar
By Kristin
at 2015-04-27T01:06
你看第一張圖就知道應該不是上限
Harry avatar
By Harry
at 2015-04-29T00:33
"現實"中能"長時間平均"提供130%效能
你確定?
Hedda avatar
By Hedda
at 2015-05-02T04:26
跟古早 Pentium 4 出 HT 時聽過的差不多 當時聽到
的數據是125%
James avatar
By James
at 2015-05-03T22:24
管線不用HT也可以做的 多核多執行單元提升的效能
不等於HT能提升的效能 Intel自已說的1.3倍一定不準
Zanna avatar
By Zanna
at 2015-05-04T09:26
Intel說hasewell比上一代提升多少%?
Susan avatar
By Susan
at 2015-05-05T14:07
遊戲效能是一定沒有的 http://goo.gl/jQ2gdX
舉別的例子超過30%也是有可能的
David avatar
By David
at 2015-05-07T04:26
但許多 Banchmark 測出來的結果也確實是1.3倍左右
Agnes avatar
By Agnes
at 2015-05-11T08:27
前面教pipeline 後面HT?
Brianna avatar
By Brianna
at 2015-05-15T12:32
在最極端的情況下我想1.3倍是有的
Audriana avatar
By Audriana
at 2015-05-16T10:03
看廠商自己的文件不準 之前INTEL還有不良造假紀錄
Sierra Rose avatar
By Sierra Rose
at 2015-05-18T21:07
我個人只感覺到1.05倍的提升 也就是我完全感覺不到
有什麼提升
Bennie avatar
By Bennie
at 2015-05-20T02:48
那些遊戲是1.3倍 原聞其詳 我說其它應用有可能超過
Jacob avatar
By Jacob
at 2015-05-20T14:51
本來就說越重度使用 效果越發揮不出來
Belly avatar
By Belly
at 2015-05-23T18:53
而Pipeline和Simultaneous Multithreading 本來就
Elvira avatar
By Elvira
at 2015-05-26T03:26
都是資源運用效率提升的方式 不過一個是各級之間的
Hedy avatar
By Hedy
at 2015-05-28T07:27
一個是同一級
Ophelia avatar
By Ophelia
at 2015-05-30T06:57
HT只是Simultaneous Multithreading的intel版本
Victoria avatar
By Victoria
at 2015-06-01T14:14
HT和pipeline是同時存在的 是不是要合在一起說明
Faithe avatar
By Faithe
at 2015-06-05T20:14
1個thread在非常忙錄的狀況下 管線就吃光了
Andy avatar
By Andy
at 2015-06-09T09:16
1次丟8個threads 管線下去ht要怎麼榨出效能才是重點
Margaret avatar
By Margaret
at 2015-06-09T20:06
Linx 0.65跑下去I7 和i5是差不多的 HT可能是沒用的
Noah avatar
By Noah
at 2015-06-11T21:13
現在中HT是有0%還有-%的 j大的推測是看不出來的
Oscar avatar
By Oscar
at 2015-06-13T04:46
老實說那個圖我也看不太懂 核心數是程式用到的
Edwina avatar
By Edwina
at 2015-06-17T10:09
還是邏輯核心數 至少高負載不可能都>1
Annie avatar
By Annie
at 2015-06-19T01:33
J大有推測?不是講事實嗎?
Cara avatar
By Cara
at 2015-06-23T03:57
跳針跳針… j大說的很清楚了
Faithe avatar
By Faithe
at 2015-06-27T00:32
在下舉個例子 有錯麻煩糾正一下
Genevieve avatar
By Genevieve
at 2015-07-01T21:06
4C4T 把每個C想成一門大砲 每個大砲配一個瞄準控制T
Bennie avatar
By Bennie
at 2015-07-05T23:58
這樣把目標(工作)輸入給T 然後C去發射(做)
Candice avatar
By Candice
at 2015-07-09T11:51
我如果在每個大砲多裝一個瞄準器(T) 這樣我在第一
個目標鎖定發射的過程中
另外一個瞄準器(T)就可以先瞄準下一個目標
Tom avatar
By Tom
at 2015-07-10T13:33
當然不可能讓一門大砲發揮兩門的效果 但是長期下來
效率增加了
Charlie avatar
By Charlie
at 2015-07-12T04:02
本來就沒有那個core對那個t thread還會輸入給thread
Una avatar
By Una
at 2015-07-16T11:48
不是軟體輸入給T嗎 為什麼他自己會輸入給自己?
Edwina avatar
By Edwina
at 2015-07-17T12:07
就說了只是減少中間的延遲…我還沒想通時也這樣0.0
Caroline avatar
By Caroline
at 2015-07-18T11:11
執行後就是1個thread 我如果2個都打同1core呢
Eden avatar
By Eden
at 2015-07-21T03:32
1開始就是每個t有4個c可以選 不是1對1
Gilbert avatar
By Gilbert
at 2015-07-25T14:32
因為會有 跳躍預測錯誤、延遲 資料來不及回傳
Dinah avatar
By Dinah
at 2015-07-26T06:55
還有各種資料處理意外 如overflow 分頁檔不在記憶體
都會造成流水線作業中斷
Zanna avatar
By Zanna
at 2015-07-27T05:08
如果用另一個不相關的指令填進去 就萬事大吉了
Edward Lewis avatar
By Edward Lewis
at 2015-07-30T01:57
一直玩一直玩...
Delia avatar
By Delia
at 2015-07-31T21:41
那要剛好那個指令準備好了 越多threads越難排

25k遊戲機

Charlie avatar
By Charlie
at 2015-03-31T23:04
已買/未買/已付訂金(元):未買 預算/用途:預計是要玩今年底出的 湯姆克蘭西-全境封鎖 以及平常打打Ninja-Kiwi家的小遊戲 希望這台能撐至少五年以上 CPU (中央處理器): I5-4590 MB (主機板): 華碩 H97-PLUS/ATX ...

AMD未來五年將推200-300W TDP的高性能APU

Anthony avatar
By Anthony
at 2015-03-31T22:05
http://www.coolaler.com/showthread.php/325382 AMD在過去的幾年中,謀劃了多年的HSA異構融合逐漸走上正軌,HSA 1.0規範發布了,AMD 的Skybridge也把ARM、X86處理器做到針腳兼容了,明年製程也會全面升級到FinFET,CPU 及GPU架構也 ...

40K組電腦

Barb Cronin avatar
By Barb Cronin
at 2015-03-31T21:10
已買/未買/已付訂金(元):還沒買 預算/用途:四萬以內,玩遊戲 看圖比較快: http://www.coolpc.com.tw/tmp/1427807115699277.htm 請問這樣會不會有什麼問題?四百五十瓦的POWER應該夠吧? 記憶體現在有兩支2G、一支4G,加上新買的8G馬馬虎虎湊到16G ...

關於intel hyper threading的解說?

Aaliyah avatar
By Aaliyah
at 2015-03-31T19:59
原文恕刪 好啦你們在下面推文這樣不懂的誰看的懂啦 小弟不才,對於細部不是非常透徹 還是先分享一下自己的理解好了,細部你們加油XD 其實我原先對這部分也不是非常了解 直到有天因緣際會問到了台大電機的學生和教授 終於把觀念弄的差不多了(心虛 進入正題 大家都知道cpu在運算時不是一個算完才下一個 而是 ...

海韻 S12-II 430W 送修心得

Daniel avatar
By Daniel
at 2015-03-31T18:35
※ 引述《faith46 (faith46)》之銘言: : 恩. : 使用二年多快到三年 : 就如同爬文說的 會出現高頻音 : 然後 就上網找了海韻的代修中心 : http://ppt.cc/QKc- : 結果千里迢迢 : 騎車到 : 台南區快修服務中心 : 地址:台南縣永康市正南三路177號 : 才發現 已 ...