不支援多核的軟體,都是用單核在跑的嗎?

TauriCrab wrote:
所以Intel在實作雙核心上就設計進去。不論程式本身有沒有對多核心最佳化,都會自動把特定指令集拆解分配給雙核心執行。
如影像壓縮、多媒體運算,就常會用到這些特定指令集,也就很容易使用到雙核心。
...(恕刪)

Intel/AMD沒有這種指令集唷!SSE、AVX那些是Single Instruction Multiple Data指令集,但是指令不能拆解分配給雙核心,一般Intel 64/AMD 64的指令集,是Single Instruction Single Data,更不能被拆解分配。
支援單核心的程式..同一時間只使用到單一核心!
至於是在那一顆核心則不一定!
問題是...你確定你一次只跑一個程式?

rctank wrote:
支援單核心的程式.....(恕刪)



其實這是一個很有趣的問題
過去單核心的電腦也可以同時處理多個程式
也是會同時開著MSN用foobar聽音樂用IE瀏覽網頁用BT抓檔
因此多個單執行緒的程式在單核心上面處理是沒有問題的

轉變為雙核心時由於單執行緒程式可以分配在兩個核心上面
因此也進一步的縮短了程式的回應時間
然而對於一般用戶而言
四核心以上的處理器是否有其必要性則有待商榷
畢竟同時間不會有那麼多需要大量運算的程式同時執行
除非應用程式自己先平行化,或一些特殊的運用(EX.線上遊戲多開)
而四核心的處理器依然有許多資源必須以共享的方式來利用
因此同時執行四支高運算的程式很有可能每支程式執行的時間或回應的延遲都比單純執行一支來的大得多

在多核心剛開始推廣時,其實就有很多人提出一般用戶是否真需要有多核心的處理器
而當時製造商的技術人員也明白地說
會從單核心演變到多核心其實可能商業面大過於現實面的需求
傳統的架構已經無法再繼續提供更高的效能
然而站在製造商的角度總是要提出一些效能更高的新產品,因此多核心就此產生
而製造商也積極地在各個面向去推廣平行運算的概念,目前看起來應該也算略有成果吧

PS.事實上現今多核心面臨到的問題在十多年前或更早的年代都曾經被討論過
只是在那個年代提升單核心的效能實在太過容易,而多核心又需要軟體配合(事實上是一件不容易的事情)
因此單核心便大行其道
執行緒的分配還蠻假的

跑舊程式,用四核
只設定跑單核,可以單核吃滿100%,但四核總使用率為25%
設定跑雙核,雙核只能平均吃50%,四核總使用率為25%
設定跑四核,平均吃25%.....

在這樣的情況下,有沒有四核,對這隻舊程式,一點意義都沒有

希望來個虛擬的程式,讓單核的負擔可以分擔到其他核心去

----------------------------------------------

同時開個網頁、聽歌、燒錄…等,這倒還不夠暴力

曾經,給其他工作室的人修電腦時,還說我的電腦跑到內傷...(長期跑virtual pc掛xp下載,外加ps2模擬器)

就會知道個人電腦…真的很虛

四核已經不夠用了,連分配個使用率都能被拿出來討論,可見…多核東西有多不成熟
irisshinra wrote:
只單純支援單一核心的...(恕刪)

多執行緒的意思不是這樣,多核心跟多執行緒要分開來說
多執行緒是指要分開來計算同時在跑,資料卻要同步的不同東西於同個程式,
通常是同步處理兩件事情,
比如打怪時主角要出招,怪物同時要計算血量跟攻擊,
這時要用多執行緒時現同步(當然這是概念,cpu只能做到快速切換分頁達成類似同步的效果)。
因為要避免cpu只計算主角都不算怪物(會用一種插隊跟一種強迫暫停的方法實現),
也要避免怪物血量跟主角打完會有出入,所以要用多執行緒,
這東西廣泛應用於ATM系統,這個是同一CPU在跑就實現了的方法。


多核心的概念則是互相協助跑,這點真的要看是否支援多核心,可能牽涉指令集什麼的,實現上要看情況。
這還沒說到什麼邏輯核心問題...
多核心的目的其實不是為了效能,是為了耗電量
有名的奔騰系列就是性能/功耗比太低了,(那時時脈速率就已經上3.0了)
現在也還是在3附近近徘徊,差在同樣時脈速率耗能低很多,這就是多核心的概念。

多核心牽涉範圍也很廣,指令集外還有牽涉CPU架構跟作業系統的執行緒排程的東東有關
最典型,滿極端的例子就是AMD的推土機系列嚕,所以多執行緒不代表多核心,反之亦然...
維基有寫道...我付上連結,裡面的「AMD FX系列效能問題」可以看一下
http://zh.wikipedia.org/zh-tw/AMD_Bulldozer

據說就是因為AMD的推土機太前衛,Win7沒好好發揮效能,要等Win8看看吧...(今天就是在查這個時候查到這篇討論的)

adamenzo wrote:
請你看清楚我在講啥好嗎?
單核軟體在OS上跑 絕不會只有一線程在運作!
這樣還不懂 我也沒辦法了無奈

PS還有請看清楚樓主在問啥麼!!
別腦袋一直轉不過來狂笑...(恕刪)


你觀念大大錯誤喔=.=
單線程軟體在OS上跑,同一時間絕對只有1線程在運作,頂多從這個核心跳到另一核心執行,但不可能發生2個以上的核心同時運作。
這樣還不懂 我也沒辦法了無奈

PS還有請看清楚樓主在問啥麼!!
別腦袋一直轉不過來狂笑...
樓主第一個問題沒錯~軟體只支援單核當然只會有一個核心去處理這套軟體,
第二個問題就半對半錯,如果你電腦只有一個軟體那就會只有一個核心在運作,但是一台電腦他的作業系統絕不會只有一套軟體甚至你絕對不可能不會用到多工,比如說你開機之後掛著SKPYE去看網頁然後開程式聽音樂,這都會用到多核心,是由系統去分配當然你也可以去指定某些軟體由哪個核心去運作.
eszerfrm wrote:
多核心的目的其實不是為了效能,是為了耗電量
...(恕刪)

這點個人不表同意。

eszerfrm wrote:
據說就是因為AMD的推土機太前衛,Win7沒好好發揮效能,要等Win8看看吧...(今天就是在查這個時候查到這篇討論的)
...(恕刪)

沒有前不前衛的問題,CMT在計算機結構領域並不是新東西,只是AMD稱它做Module(Intel則是把SMT稱作Hyperthreading),而作業系統要適當排程,也得了解處理器微架構,不然作業系統把FX8當成真正8處理器去排程,但是Module架構的很多資源卻都只有4套(解碼單元、FPU、L2快取),這樣的排程效能是不會好的。在Hyperthreading處理器剛推出時,同樣問題就發生過。

請參考下圖Windows的Thread scheduler的排程邏輯的(c)點:



針對HT的處理器,會先去用編號0、2、4、6的雙數邏輯核心,然後再用1、3、5、7這些單數邏輯核心,就是為了避免如果照順序先派用編號0跟1邏輯核心,它們事實上是同一個實體核心,造成兩個執行緒的資源競爭,但其他三個實體核心卻閒閒沒事的問題。

推土機的Win7補丁,就是在做這件事情,先去用編號0、2、4、6的雙數核心,然後再用1、3、5、7這些單數核心,避免模組內部的資源競爭問題。Win8只是把這個補丁內建進去了,這個補丁做的事之一,就是在排程邏輯(c)中加上類似下面一段:

if module design and if in the (affinity) set any pair of logical processors that belong to the same module is completely idle, select one processor from each pair and consider only those selected processors.

如果是真正的8核心,是沒有這種問題的,8個核心獨立自由調度,不會有這種資源共享的競爭問題。因此,要知道一個處理器是幾核心?去問微軟的作業系統工程師是最清楚的,這也是微軟Windows認定FX8是4C8T的原因,畢竟從作業系統角度很單純,核心不能各自獨立調度,它就不是真正獨立的8核心處理器,沒太多可以爭議的。
為啥這麼舊的串也被挖出來...


老實說,我覺得去啾結是不是真正獨立的多對稱核心其實沒啥意義的說
像IBM Power架構裡面一堆奇耙的CPU,真的很難說它們到底是幾核心
Intel設計的處理器架構,L3 Cache也是共用的

只能說AMD推土機架構在某方面參考了很多RISC的東西,也的確是相當新潁的架構
只是製程造成的功秏問題造成它顯得那麼不受歡迎

但個人認為最大的問題在於Windows對AMD的SMT架構的最佳化,真的不怎麼好
不知道是微軟不爽幫AMD最佳化,還是AMD給的錢跟資源太少

我想這邊有在用Linux的AMD Bulldozer SMT 微處理器架構的使用者
應該都會對Kernel 從3.1 → 3.2 → 3.5 的多執行緒效能提升,有明顯的印象才是

尤其是在整數運算及ray tracing的部份,效能較舊Kernel提升相當地多
L3快取的定位是社區公用花園,是讓住戶交流用的(核心間共用資料或資料交換),本來定位就是各核心共用的,這是多核心處理器設計的基本;L2快取是每戶專屬的電梯梯廳,L1是專屬的陽台,才是各核心專用的。

CMT/Module的架構理念,跟RISC/CISC沒有太大關係;講到RISC,話說AMD從K6開始,Intel從P6開始,內部管線執行的都已經是RISC-like的指令,而不再是執行傳統的IA32指令跟後來的x86-64指令,IA32/x86-64的指令,都會經過轉譯成I/A各自的µop/RISC86指令,才交給核心的管線去進行out-of-order執行/Dynamic執行。

今天的AMD跟Intel處理器,說它們是具備硬體x86模擬器的RISC處理器,也並不為過。
文章分享
評分
評分
複製連結

今日熱門文章 網友點擊推薦!