Regular Member
|
計算機結構學的不好,有些地方不太懂,希望又大大能夠解答
1.所謂的muilty-thread 的程式寫法是否是將一個程式交由CPU執行的時候能同時提供多給Thread給多個CPU亦或是虛擬出來的多CPU(HT技術)執行?
2.多工的廣泛定義,應該是同時執行多個工作?一般CPU要執行多個程式都是看OS的寫法,理論上單一CPU沒有多核心設計(包括虛擬)的多工能力應該都是看CPU的執行能力,因為同一個時間被執行的thread都是一個?
3.如果1與2是正確的話,沒有支援multy-thread的單一程式,就算OS有支援multy-thread用多CPU、多核心單一CPU(包括虛擬),效能都是一樣?(在只執行此一程式的情形下)
4.換一個角度,根本不可能用軟體模擬出擁有同時執行多個thread的CPU在一個不支援同時處理多個thread的單一CPU上,因為被CPU執行的thread永遠只有一個。
5.說HT是模擬擁有2個CPU下這應該是100%成立的?就INTEL官方的HT試意圖,HT技術是在CPU 等待其他資料進來的空檔插入另一個thread來做處理,所以並不是兩個thread同時執行(跟雙核心有很大的不同),視空檔大小決定後到的thread所佔的CPU資源?
6.如果5成立,今天就算是管線不長,HT也能順利執行而且能力更好,因為thread處理的更快?
|