現在只有單核心多線程
那有可能做出 雙核心 共用一個線程的可能性嗎?
因為很多軟體其實只支援單線程或雙線程
所以多核心CPU只能吃單核心

那如果,能夠直接發展雙核心 但是只用一個線程
軟體進入CPU後 直接由CPU內部自動分配處理
不需要再透過軟體支援
這樣只吃單核心的軟體 不就能用上雙核心了嗎?
不知道有沒有辦法做出這樣的CPU
一個小路人 wrote:
現在只有單核心多線程...(恕刪)





其實CPU內部已經有自動分配執行緒的東西了

問題是如果每個執行緒之間的關聯很高那執行效率就很差
一個小路人 wrote:
那如果,能夠直接發展雙核心 但是只用一個線程
軟體進入CPU後 直接由CPU內部自動分配處理
不需要再透過軟體支援
這樣只吃單核心的軟體 不就能用上雙核心了嗎?
不知道有沒有辦法做出這樣的CPU...(恕刪)

當代主流的thread-based作業系統的設計,是以(邏輯)核心為單位去分配執行緒,也就是一對一的對應,如果兩個核心「自動」跑去處理同一個執行緒、也就是脫離"作業"系統的管理,那就天下大亂了 。

因此,處理器廠商直接回歸到基本設計功力、加強每個核心的能力不就好了,何必要用繞路練邪功的方式?就算邪功練成,也得要有配合的作業系統,前提是真的寫得出來這樣的作業系統,還得有作業系統廠商/組織願意跳下苦海。


一個小路人 wrote:
現在只有單核心多線程...(恕刪)


那如果,能夠直接發展雙核心 但是只用一個線程
軟體進入CPU後 直接由CPU內部自動分配處理

=> out of order + instruction pool ..

只有 atom 改回 in order (但未來會改回 out of order ) .
當年 pentium Pro 就是先開始..不過 data 相依是個問題 .
目前 cpu 都是 pipeline + super_scaler ,本來就是 都是多條在跑,
很多 cpu 會指令切成小片段 去平行 .
有多個 thread , Intel hyper Thread 就是把 多工做到好
, 明明不是雙核心, 但可以騙 os 說有兩CPU 單元 ..

如同 全志 gpu 只是多個 thread 確說是多核 顯示chip .但是 intel 很大家 .
實際上 hyper thread 跟本沒法加速 ..

最大問題是軟體沒對 cpu 做平行最佳化過 , 因為 windows 軟體
一開始就沒考慮 平行最佳化 .
多核心單線程?
聽起來怪怪的,不知道這樣做的目的只是為了利用到多核心(多耗電?),
還是有其他更好的目的?

單核心去跑多線程,是為了能造成在同一時間內,
可以同時執行多個應用程式的錯覺.(如果以CPU時脈來看,其實永遠只有執行一個程式)
某種特殊情況下,也可視為充份利用CPU的執行能力.

多核心跑多線程,則是真正同時執行多個程式,
如果在應用程式有針對多核的前提設計下,
或是多核的OS設計可對應用程式做最佳化,
更可以縮短程式執行時間,
比如理論上2核可縮短單核1倍的執行時間(實際上有加速到0.4倍就很不錯了)

所以小弟有點好奇,有人會去設計多核心卻只跑單線程這種東西嗎?
這種設計可以做什麼特殊運用?
一般多核心就是多吃電,為什麼不直接只花費單核心去跑單線程?
另外為了協調多核心跑單線程,說不定還要額外花費同步的時間,
程式跑的比同級的單核更慢?

一個小路人 wrote:
現在只有單核心多線程...(恕刪)

therad是作業程式所能運算及調度的最基本單位..想當於處理器內運行一條指令
多顆核心處理同一條指令與單顆核心並無差別..無論軟體是否有支援或最佳化
都不可能使單一線程在多核心處理器環境內執行效率更好

就是因為CPU夠強才會設計單核多執行緒
如果設計成多核單執行緒 那多核除了IDLE還有什麼用處?
特殊運算用途不是也有多台電腦一起運算的
這樣不就有達成多核單執行的效果了嗎
那一般消費市場怎麼可能會發展這類產品
一般人也用不到吧~
<以上淺見~有錯請多包涵>

taiwan2008 wrote:
那如果,能夠直接發展雙核心 但是只用一個線程
軟體進入CPU後 直接由CPU內部自動分配處理

=> out of order + instruction pool ..


您真內行,至於樓主的想法,在60年代就有人提出解決辦法了(Tomasulo Algorithm)

chekun wrote:
就是因為CPU夠強才會設計單核多執行緒
如果設計成多核單執行緒 那多核除了IDLE還有什麼用處?
特殊運算用途不是也有多台電腦一起運算的
這樣不就有達成多核單執行的效果了嗎


CPU在設計的時候必須要做好散熱的考量,也要想辦法去避免hot spot
(hot spot在此指硬體上的熱能太集中於特定區塊,而不是指程式上最常被執行的部份)
下面這篇INTEL的PDF解釋的很清楚,以前也有中文的影片可以看,但後來不見了。
http://www.cs.jhu.edu/~spaa/2006/SPAA06-Lowney.pdf

一個小路人 wrote:
現在只有單核心多線程...(恕刪)


一個人做很多事 跟 很多人做同一件事

如果你是老闆 你會找誰

不是做不到 只是老闆一定不同意滴
免責聲明:說的話都不算喔 啾咪~>_ ^
順便借問一下

那有辦法做出淺管線但是仍然可以高時脈的CPU嗎
文章分享
評分
評分
複製連結

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