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

By Hamiltion
at 2015-03-31T23:14
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的東西只會越來越多。
文章前面的圖面是陳中和教授的上課講義,老師如果不希望使用該圖,我會馬上拿下來。
--
流水線作業
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

By Hardy
at 2015-04-05T18:07
at 2015-04-05T18:07

By Kelly
at 2015-04-10T13:18
at 2015-04-10T13:18

By Agnes
at 2015-04-14T15:14
at 2015-04-14T15:14

By Caitlin
at 2015-04-16T01:46
at 2015-04-16T01:46

By Edith
at 2015-04-17T09:10
at 2015-04-17T09:10

By Carol
at 2015-04-19T19:35
at 2015-04-19T19:35

By Donna
at 2015-04-22T19:07
at 2015-04-22T19:07

By Ingrid
at 2015-04-24T04:39
at 2015-04-24T04:39

By Oliver
at 2015-04-24T20:06
at 2015-04-24T20:06

By Kristin
at 2015-04-27T01:06
at 2015-04-27T01:06

By Harry
at 2015-04-29T00:33
at 2015-04-29T00:33

By Hedda
at 2015-05-02T04:26
at 2015-05-02T04:26

By James
at 2015-05-03T22:24
at 2015-05-03T22:24

By Zanna
at 2015-05-04T09:26
at 2015-05-04T09:26

By Susan
at 2015-05-05T14:07
at 2015-05-05T14:07

By David
at 2015-05-07T04:26
at 2015-05-07T04:26

By Agnes
at 2015-05-11T08:27
at 2015-05-11T08:27

By Brianna
at 2015-05-15T12:32
at 2015-05-15T12:32

By Audriana
at 2015-05-16T10:03
at 2015-05-16T10:03

By Sierra Rose
at 2015-05-18T21:07
at 2015-05-18T21:07

By Bennie
at 2015-05-20T02:48
at 2015-05-20T02:48

By Jacob
at 2015-05-20T14:51
at 2015-05-20T14:51

By Belly
at 2015-05-23T18:53
at 2015-05-23T18:53

By Elvira
at 2015-05-26T03:26
at 2015-05-26T03:26

By Hedy
at 2015-05-28T07:27
at 2015-05-28T07:27

By Ophelia
at 2015-05-30T06:57
at 2015-05-30T06:57

By Victoria
at 2015-06-01T14:14
at 2015-06-01T14:14

By Faithe
at 2015-06-05T20:14
at 2015-06-05T20:14

By Andy
at 2015-06-09T09:16
at 2015-06-09T09:16

By Margaret
at 2015-06-09T20:06
at 2015-06-09T20:06

By Noah
at 2015-06-11T21:13
at 2015-06-11T21:13

By Oscar
at 2015-06-13T04:46
at 2015-06-13T04:46

By Edwina
at 2015-06-17T10:09
at 2015-06-17T10:09

By Annie
at 2015-06-19T01:33
at 2015-06-19T01:33

By Cara
at 2015-06-23T03:57
at 2015-06-23T03:57

By Faithe
at 2015-06-27T00:32
at 2015-06-27T00:32

By Genevieve
at 2015-07-01T21:06
at 2015-07-01T21:06

By Bennie
at 2015-07-05T23:58
at 2015-07-05T23:58

By Candice
at 2015-07-09T11:51
at 2015-07-09T11:51

By Tom
at 2015-07-10T13:33
at 2015-07-10T13:33

By Charlie
at 2015-07-12T04:02
at 2015-07-12T04:02

By Una
at 2015-07-16T11:48
at 2015-07-16T11:48

By Edwina
at 2015-07-17T12:07
at 2015-07-17T12:07

By Caroline
at 2015-07-18T11:11
at 2015-07-18T11:11

By Eden
at 2015-07-21T03:32
at 2015-07-21T03:32

By Gilbert
at 2015-07-25T14:32
at 2015-07-25T14:32

By Dinah
at 2015-07-26T06:55
at 2015-07-26T06:55

By Zanna
at 2015-07-27T05:08
at 2015-07-27T05:08

By Edward Lewis
at 2015-07-30T01:57
at 2015-07-30T01:57

By Delia
at 2015-07-31T21:41
at 2015-07-31T21:41
Related Posts
25k遊戲機

By Charlie
at 2015-03-31T23:04
at 2015-03-31T23:04
AMD未來五年將推200-300W TDP的高性能APU

By Anthony
at 2015-03-31T22:05
at 2015-03-31T22:05
40K組電腦

By Barb Cronin
at 2015-03-31T21:10
at 2015-03-31T21:10
關於intel hyper threading的解說?

By Aaliyah
at 2015-03-31T19:59
at 2015-03-31T19:59
海韻 S12-II 430W 送修心得

By Daniel
at 2015-03-31T18:35
at 2015-03-31T18:35