CPU的頻率真的是越高越好么?發(fā)布: 2006-8-01 11:56 | 作者: 傲氣雄鷹 | 來源: 吳川商網(wǎng) CPU的處理性能不應(yīng)該去看主頻,而INTEL正是基于相當(dāng)相當(dāng)一部分人對CPU的不了解,采用了加長管線的做法來提高頻率,從而誤導(dǎo)了相當(dāng)一部分的人盲目購買。CPU的處理能力簡單地說可以看成:實(shí)際處理能力=主頻*執(zhí)行效率,就拿P4E來說他的主頻快是建立在使用了更長的管線基礎(chǔ)之上的,而主頻只與每級管線的執(zhí)行速度有關(guān)與執(zhí)行效率無關(guān),加長管線的好處在與每級管線的執(zhí)行速度較快,但是管線越長(級數(shù)越多)執(zhí)行效率越低下,AMD的PR值可能會搞得大家一頭霧水,但是卻客觀劃分了與其對手想對應(yīng)的處理器的能力。為什么實(shí)際頻率只有1.8G的AMD 2500+處理器運(yùn)行速度比實(shí)際頻率2.4G的P4-2.4B還快?為什么采用0.13微米制程的Tulatin核心的處理器最高只能做到1.4G,反而采用0.18微米制程的Willamette核心的處理器卻能輕松做到2G?下面我們就來分析一下到底是什么原因?qū)е乱陨蟽煞N“怪圈”的存在。
每塊CPU中都有“執(zhí)行管道流水線”的存在(以下簡稱“管線”),管線對于CPU的關(guān)系就類似汽車組裝線與汽車之間的關(guān)系。CPU的管線并不是物理意義上供數(shù)據(jù)輸入輸出的的管路或通道,它是為了執(zhí)行指令而歸納出的“下一步需要做的事情”。每一個指令的執(zhí)行都必須經(jīng)過相同的步驟,我們把這樣的步驟稱作“級”。管線中的“級”的任務(wù)包括分支下一步要執(zhí)行的指令、分支數(shù)據(jù)的運(yùn)算結(jié)果、分支結(jié)果的存儲位置、執(zhí)行運(yùn)算等等…… 最基礎(chǔ)的CPU管線可以被分為5級: 1、取指令 2、譯解指令 3、演算出操作數(shù) 4、執(zhí)行指令 5、存儲到高速緩存 你可能會發(fā)現(xiàn)以上所說的5級的每一級的描述都非常的概括,同時(shí)如果增加一些特殊的級的話,管線將會有所延長: 1、取指令1 2、取指令2 3、譯解指令1 4、譯解指令2 5、演算出操作數(shù) 6、分派操作 7、確定時(shí) 8、執(zhí)行指令 9、存儲到高速緩存1 10、存儲到高速緩存2 無論是最基本的管線還是延長后的管線都是必須完成同樣的任務(wù):接受指令,輸出運(yùn)算結(jié)果。兩者之間的不同是:前者只有5級,其每一級要比后者10級中的每一級處理更多的工作。如果除此以外的其它細(xì)節(jié)都完全相同的話,那么你一定希望采用第一種情況的“5級”管線,原因很簡單:數(shù)據(jù)填充5級要比填充10級容易的多。而且如果處理器的管線不是始終充滿數(shù)據(jù)的話,那么將會損失寶貴的執(zhí)行效率——這將意味著CPU的執(zhí)行效率會在某種程度上大打折扣。 那么CPU管線的長短有什么不同呢?——其關(guān)鍵在于管線長度并不是簡單的重復(fù),可以說它把原來的每一級的工作細(xì)化,從而讓每一級的工作更加簡單,因此在“10級”模式下完成每一級工作的時(shí)間要明顯的快于“5級”模式。最慢的(也是最復(fù)雜)的“級”結(jié)構(gòu)決定了整個管線中的每個“級”的速度——請牢牢記住這一點(diǎn)!我們假設(shè)上述第一種管線模式每一級需要1個時(shí)鐘周期來執(zhí)行,最慢可以在1ns內(nèi)完成的話,那么基于這種管線結(jié)構(gòu)的處理器的主頻可以達(dá)到1GHz(1/1ns = 1GHz)。現(xiàn)在的情況是CPU內(nèi)的管線級數(shù)越來越多,為此必須明顯的縮短時(shí)鐘周期來提供等于或者高于較短管線處理器的性能。好在,較長管線中每個時(shí)鐘周期內(nèi)所做的工作減少了,因此即使處理器頻率提升了,但每個時(shí)鐘周期縮短了,每個“級”所用的時(shí)間也就相應(yīng)的減少了,從而可以讓CPU運(yùn)行在更高的頻率上了。 如果采用上述的第二種管線模式,可以把處理器主頻提升到2GHz,那么我們應(yīng)該可以得到相當(dāng)于原來的處理器2倍的性能——如果管線一直保持滿載的話。但事實(shí)并非如此,任何CPU內(nèi)部的管線在預(yù)讀取的時(shí)候總會有出錯的情況存在,一旦出錯了就必須把這條指令從第一級管線開始重新執(zhí)行,稍微計(jì)算一下就可以得出結(jié)論:如果一塊擁有5級管線的CPU在執(zhí)行一條指令的時(shí)候,當(dāng)執(zhí)行到第4級時(shí)出錯,那么從第一級管線開始重新執(zhí)行這條指令的速度,要比一塊擁有10級管線的CPU在第8級管線出錯時(shí)重新執(zhí)行要快的多,也就是說我們根本無法充分的利用CPU的全部資源,那么我們?yōu)槭裁催€需要更高主頻的CPU呢?? 回溯到幾年以前,讓我們看看當(dāng)時(shí)1.4GHz和1.5GHz的奔騰四處理器剛剛問世之初的情況:當(dāng)時(shí)Intel公司將原奔騰三處理器的10級管線增加到了奔騰四的20級,管線長度一下提升了100%。最初上市的1.5GHz奔騰四處理器曾經(jīng)舉步維艱,超長的管線帶來的負(fù)面影響是由于預(yù)讀取指令的出錯從而造成的執(zhí)行效率嚴(yán)重低下,甚至根本無法同1GHz主頻的奔騰三處理器相對壘,但明顯的優(yōu)勢就是大幅度的提升了主頻,因?yàn)?0級管線同10級管線相比,每級管線的執(zhí)行時(shí)間縮短了,雖然執(zhí)行效率降低了,但處理器的主頻是根據(jù)每級管線的執(zhí)行時(shí)間而定的,跟執(zhí)行效率沒有關(guān)系,這也就是為什么采用0.18微米制程的Willamette核心的奔騰四處理器能把主頻輕松做到2G的奧秘!固然,更精湛的制造工藝也能對提升處理器的主頻起到作用,當(dāng)奔騰四換用0.13微米制造工藝的Northwood 核心后,主頻的優(yōu)勢才大幅度體現(xiàn)出來,一直沖到了3.4G,長管線的CPU只有在高主頻的情況下才能充分發(fā)揮優(yōu)勢——用很高的頻率、很短的時(shí)鐘周期來彌補(bǔ)它在預(yù)讀取指令出錯時(shí)重新執(zhí)行指令所浪費(fèi)的時(shí)間。但是,擁有20級管線、采用0.13微米制程的Northwood核心的奔騰四處理器的理論頻率極限是3.5G,那怎么辦呢?Intel總是會采用“加長管線”這種屢試不爽的主頻提升辦法——新出來的采用Prescott核心的奔騰四處理器(俗稱P4-E),居然采用了31級管線,通過上述介紹,很明顯我們能得出Prescott核心的奔四處理器在一個時(shí)鐘周期的處理效率上會比采用Northwood核心的奔四處理器慢上一大截,也就是說起初的P4-E并不比P4-C的快,雖然P4-E擁有了更大的二級緩存,但在同頻率下,P4-E絕對不是P4-C的對手,只有當(dāng)P4-E的主頻提升到了5G以上,才有可能跟P4-3.4C的CPU對壘,著名的CPU效能測試軟件SuperPi就能反應(yīng)出這一差距來:P4-3.4E的處理器,運(yùn)算Pi值小數(shù)點(diǎn)后100萬位需要47秒,這僅相當(dāng)于P4-2.4C的成績,而P4-3.4C運(yùn)算只需要31秒,把同頻率下的P4-3.4E遠(yuǎn)遠(yuǎn)的甩在了后面??! AMD 2500+處理器,采用了10級管線,只有1.8G的主頻卻能匹敵2.4G的P4;蘋果電腦的G4處理器,更是采用了7級管線,只有1.2G的主頻卻能匹敵2.8C的P4,這些都要?dú)w功于更短的管線所帶來的更高的執(zhí)行效率,跟它們相比,執(zhí)行效率方面Intel輸在了管線長度上,但主頻提升方面Intel又贏在了管線長度上,因?yàn)橄鄬τ?#8220;管線”這個較專業(yè)的問題,大多數(shù)消費(fèi)者還是陌生的,人們只知道“處理器的主頻越高速度就越快”這個片面的、錯誤的、荒謬的理論??!這就是Intel的精明之處?。。?font color=#733210> |
|