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

syntech wrote:
可以有餘力把其他工作交給其他cpu執行,
整個系統比較不會有忙不過來的情況.

正解 某位小朋友以為只支援單核就是只有一個核心在跑
殊不得整體運作都在OS 以為開啟單核心的軟體 就只有單核心在運作

adamenzo wrote:
正解 某位小朋友以為只支援單核就是只有一個核心在跑
殊不得整體運作都在OS 以為開啟單核心的軟體 就只有單核心在運作XD


我以為大師懂很多
原來連別人的問題都看不懂
大師可以教我CS 1.6如何透過OS支援雙核嗎
男叫精大 wrote:
大師可以教我CS 1.6如何透過OS支援雙核嗎

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

PS還有請看清楚樓主在問啥麼!!
別腦袋一直轉不過來

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


我怎麼覺得大師講的一付自己也不懂的樣子
軟體有沒有支援多核心的差別,是在於他能不能"同時"灑很多執行緒給CPU跑
支援單一核心的程式,在跑的時候當然會有很多執行緒需要執行
但是必須"一個等一個" 下一個的開始要等上一個算完
他當然可以用到多核,但是一次只用到多核的其中一核


這樣講大家有了解一點嗎?

范小胖 wrote:
軟體有沒有支援多核心...(恕刪)


只單純支援單一核心的程式為何還需要包含多個執行緒@@

直接一個執行緒做到底就好了吧?

創造執行緒這個動作本身就很花時間了= =

由作業系統在執行緒之間切換也是耗費時間甚多的

全民超人 wrote:
例:遊戲無支援多核心、軟體無支援多核心

那麼~ 即便CPU為四核心/UP,也都只用單核在跑(運作)而已嗎?

謝謝


不 因為沒有單核心
所以沒在運作!!


呵呵
irisshinra wrote:
只單純支援單一核心的程式為何還需要包含多個執行緒



原則上不會說這個程式只支援單一核心,
而會說這是一個"單執行緒程式 (single thread process)"
所以也就不存在只支援單一核心的程式是多個執行緒的情況.

隔壁歪樓那篇不算.
程式執行應該說是執行緒
而不該說是單核多核
程式如果執行時只會RUN單執行緒就只會用到一個執行緒
單執行緒就是RUN單執行緒
多核多執行緒系統只是會把它分配到某個執行緒去RUN
而不會變成多執行緒RUN

ank wrote:
程式執行應該說是執行緒
而不該說是單核多核
程式如果執行時只會RUN單執行緒就只會用到一個執行緒
單執行緒就是RUN單執行緒
多核多執行緒系統只是會把它分配到某個執行緒去RUN
而不會變成多執行緒RUN


任何一個程式指令都是在單核心內的單一執行緒中完成
“支援”多核是指兩個或多個程式指令之間不用循序等待,只要Cpu有空閒就可以獲得所需資料、執行運算並輸出結果

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

但如果是資料讀寫、統計運算等,一定要有前一個運算結果才能執行下一個程式碼的,
就會發現不論有多少核心,單一程式執行時就只會使用到一個Cpu


最簡單的區分方式就是看Cpu負載,
一般執行程式會看到兩個核心都有負載,但不會一直維持在100%使用量(因為不是所有程式碼都能雙核化)
如果是完全無法雙核化的程式就會把某個核心使用量維持在100%,另一個核心則維持在低使用率

不過Intel對多核心還有保護設計,隔幾萬個執行緒後會讓核心內的程式交換,避免單一核心過度使用燒壞了。
就會看到多核心輪流滿載...


CS算是多媒體遊戲...說絕對沒有用到雙核運算這件事,個人是不太相信....
只是我也沒在雙核心電腦上裝過CS就是了
文章分享
評分
評分
複製連結

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