目前只有伺服器級硬體才有多CPU的架構,在一塊主機板上具備兩到四個CPU插槽,能使用兩到四塊CPU協同工作,以增強平臺效能如果在大型機上,通常採用數百或數千個系統並連協同工作,CPU的數量也是成百上千的而在超級計算機上,由數百個機架組成,每個機架又安裝了多達幾十塊伺服器,CPU的數量則高達數萬個 對於普通人來說,使用的桌面級硬體還沒有雙CPU或多系統的硬體架構,一般討論的話只針對單CPU 對於超執行緒技術,之前已經講過,這是INTEL獨有的技術,目前只用在i3、i7以及ATOM系列的型號上,其它自家型號的CPU(比如i5系列、奔騰、賽揚系列)還有AMD公司的CPU都沒有超執行緒技術 執行緒是程式傳送給CPU執行的命令的基本單位,一個執行緒可能包含了多個指令,雖然CPU單核心一次只能處理一個執行緒,但由於頻率極高,一定時間過後(比如一秒)可能就“吞”進了數萬個指令,這個速度很多時候已經足夠處理N多個執行緒的工作了,這就是為什麼即使在單核時代,我們也能夠同時執行多個軟體,並且還感覺不到效率明顯降低的原因 當頻率發展到瓶頸以後,人們就另闢蹊徑,往多核心發展,理想狀態是多一個核心可以多增加一倍的指令執行速度,不過理想歸理想,實際中還要看軟體的最佳化程度,早期的軟體只為單核心最佳化,導致很多應用中雙核還不如單核效率高,軟體要想針對多核心最佳化,意味著程式碼的重寫,而且可能還要放棄單核心的高效率,不過隨著幾年來CPU多核方向的確定,目前的軟體都已經為多核進行了最佳化,有些已經最佳化到四核級別,專業軟體則多數最佳化到更多的核心。在WINDOWS系統上,只有WIN7系統是唯一原生為多核CPU最佳化的作業系統(WIN8還沒出售,不算),要想完美的利用多核CPU,只有放棄老舊的XP 最後要說的是,很多人以為一個程式就代表著一個執行緒,這是一個嚴重的誤區,因為一個程式在執行中可能會申請多個程序,而一個程序中又可能包含多個執行緒,比如一個QQ程序就有二三十個執行緒,一個瀏覽器就可能多達上百個執行緒,用通俗的話來說,這些執行緒只是“掛”在那裡佔個位,要不要執行還要看程式和使用者的意思。所以多核CPU的多執行緒執行能力,只是表現線上程級,並不一定體現在多個程式的執行中,也體現在單個程式的執行中,只要程式設計師寫的程式碼最佳化到位,程式效率就高
目前只有伺服器級硬體才有多CPU的架構,在一塊主機板上具備兩到四個CPU插槽,能使用兩到四塊CPU協同工作,以增強平臺效能如果在大型機上,通常採用數百或數千個系統並連協同工作,CPU的數量也是成百上千的而在超級計算機上,由數百個機架組成,每個機架又安裝了多達幾十塊伺服器,CPU的數量則高達數萬個 對於普通人來說,使用的桌面級硬體還沒有雙CPU或多系統的硬體架構,一般討論的話只針對單CPU 對於超執行緒技術,之前已經講過,這是INTEL獨有的技術,目前只用在i3、i7以及ATOM系列的型號上,其它自家型號的CPU(比如i5系列、奔騰、賽揚系列)還有AMD公司的CPU都沒有超執行緒技術 執行緒是程式傳送給CPU執行的命令的基本單位,一個執行緒可能包含了多個指令,雖然CPU單核心一次只能處理一個執行緒,但由於頻率極高,一定時間過後(比如一秒)可能就“吞”進了數萬個指令,這個速度很多時候已經足夠處理N多個執行緒的工作了,這就是為什麼即使在單核時代,我們也能夠同時執行多個軟體,並且還感覺不到效率明顯降低的原因 當頻率發展到瓶頸以後,人們就另闢蹊徑,往多核心發展,理想狀態是多一個核心可以多增加一倍的指令執行速度,不過理想歸理想,實際中還要看軟體的最佳化程度,早期的軟體只為單核心最佳化,導致很多應用中雙核還不如單核效率高,軟體要想針對多核心最佳化,意味著程式碼的重寫,而且可能還要放棄單核心的高效率,不過隨著幾年來CPU多核方向的確定,目前的軟體都已經為多核進行了最佳化,有些已經最佳化到四核級別,專業軟體則多數最佳化到更多的核心。在WINDOWS系統上,只有WIN7系統是唯一原生為多核CPU最佳化的作業系統(WIN8還沒出售,不算),要想完美的利用多核CPU,只有放棄老舊的XP 最後要說的是,很多人以為一個程式就代表著一個執行緒,這是一個嚴重的誤區,因為一個程式在執行中可能會申請多個程序,而一個程序中又可能包含多個執行緒,比如一個QQ程序就有二三十個執行緒,一個瀏覽器就可能多達上百個執行緒,用通俗的話來說,這些執行緒只是“掛”在那裡佔個位,要不要執行還要看程式和使用者的意思。所以多核CPU的多執行緒執行能力,只是表現線上程級,並不一定體現在多個程式的執行中,也體現在單個程式的執行中,只要程式設計師寫的程式碼最佳化到位,程式效率就高