|
Intel的NetBurst並不是一個成功的架構,盡管Intel在設計Pentium 4之初,目標是10GHz核心頻率。但事實證明目標難以完成。工程師難以在提升頻率的同時,將發熱量控製到一個合理的範圍。因此,Intel宣稱NetBurst產品頻率不提升到4GHz以上。畢竟誰都不想坐在一個“火爐”旁邊,誰都不想聽到嗡嗡作響的風扇聲音。 Intel為桌麵處理器找到了一條新的開發方法,不提升時鍾頻率,而是集成多個計算核心。但先天的缺陷難以回避,如果不作任何改變的話,Pentium 4難以和其競爭對手相抗,在當前的處理器測試中,Pentium 4在大多數的測試項目中都落後於AMD。 NetBurst架構的高發熱量和高能耗,不僅讓Intel手足無措,也給一些希望購買Intel產品的消費者當頭一擊。但Intel現在產品線中還是有好產品。盡管Pentium III早已退出了桌麵市場,但它在移動市場很快又找到了新的位置,而現在移動市場中的Intel處理器就都是基於和Pentium III相似的架構,隻不過采用了更先進的生產工藝和其他一些改進,實現了比Pentium III更小的發熱量和更高的總體性能,Pentium III在移動市場獲得重生,被命名為―Pentium M。 盡管采用了Pentium III相關的架構,不過Pentium M使用的卻是QPB 4倍前端總線,這個總線和Pentium 4的總線是一樣的,同時也為Pentium M通過轉接卡在Pentium 4普通主板上麵使用提供了理論基礎。華碩的工程師所開發出來的專用於Pentium M的轉接卡就實現了這個功能。 Pentium M處理器到底和其他的處理器架構上麵有何不同?Intel一直都沒有過多的談論這款產品的架構。在所有發布的官方文檔中,對其性能指標和命名方法的描述也隻是隻言片語,如:為移動電腦設計的架構,專用的堆棧管理,微操作融合技術(micro-ops fusion),以及增強的Intel SpeedStep技術(EIST)。但是這些描述並不能夠將Pentium M的內部架構表述清楚。看來Intel好像並不想透露太過關於Pentium M的細節信息,這裏麵一定是有原因的,是什麼呢? 其實Pentium M根本就是根據P6架構作出的小幅修改而成的產品,P6架構是Intel很早以前所開發出來的架構,最早曾被用於Pentium Pro,後來Pentium II,Pentium III都使用的是這個架構。那麼Pentium M看起來更像是廣告鋪天蓋地的NetBurst架構的一種倒退哦?當然不是,你不能僅將Pentium M看作是一款過時的,已經不合時宜老架構。 其實在實際的評測中,Pentium M在很多項目上得分都超過了Pentium 4。而P6架構也是Intel開(kai)發(fa)的(de)最(zui)優(you)秀(xiu),最(zui)成(cheng)功(gong)的(de)一(yi)款(kuan)架(jia)構(gou),僅(jin)僅(jin)從(cong)它(ta)在(zai)市(shi)場(chang)中(zhong)存(cun)在(zai)的(de)時(shi)間(jian),以(yi)及(ji)所(suo)衍(yan)生(sheng)出(chu)來(lai)的(de)產(chan)品(pin)數(shu)量(liang)就(jiu)可(ke)知(zhi)一(yi)二(er)。既(ji)然(ran)如(ru)此(ci),同(tong)樣(yang)使(shi)用(yong)此(ci)架(jia)構(gou)的(de)Pentium M為什麼就不能夠繼續實現其輝煌呢?現在就讓我們來看看,相比於Pentium III,Pentium M所作出的具體改進有哪些? 管線和執行核心: Pentium M和Pentium III一樣,都是基於RISC架構(精簡指令集架構)的處理器,不過兩款處理器的執行核心有稍有不同。例如:雖然兩款處理器都隻有5個執行單元,但是兩款處理器的執行管線長度是不一樣的。Pentium III的整數管線長度為10級,而Pentium M的管線要更長些。當然Pentium M的管線長度尚遠遠不及Pentium 4,畢竟需要保證Pentium M處理器的執行效率,但是為了今後能夠進一步提升處理器的頻率,Intel的工程師還是增加了管線長度。 guanxianchangdujuedingpinlvtishengdeqianli,tongshihuiweichuliqidailaigengduodenenghaohefareliang,yinciguanxianchangdudexuanding,duiyidongchuliqilaishuoyouqizhongyao。yincitongguoyixieshiyongjingyanshujupanduan,gaichuliqideguanxiandayuezai12-14級左右,也就是說要比Pentium III的管線長一點點。新增加的管線級數,除了用來推升處理器的時鍾頻率外,在Pentium M處理器中的微操作融合技術也需要更長的管線。這一點將在後文中提及。 較(jiao)長(chang)管(guan)線(xian)的(de)缺(que)點(dian)還(hai)頗(po)多(duo),在(zai)帶(dai)來(lai)了(le)更(geng)高(gao)能(neng)耗(hao)和(he)更(geng)多(duo)發(fa)熱(re)量(liang)的(de)同(tong)時(shi),還(hai)會(hui)帶(dai)來(lai)因(yin)為(wei)分(fen)支(zhi)預(yu)測(ce)失(shi)敗(bai)後(hou)的(de)更(geng)多(duo)花(hua)銷(xiao)。尤(you)其(qi)對(dui)於(yu)現(xian)在(zai)的(de)超(chao)標(biao)量(liang)體(ti)係(xi)結(jie)構(gou)且(qie)擁(yong)有(you)亂(luan)序(xu)執(zhi)行(xing)能(neng)力(li)的(de)處(chu)理(li)器(qi)而(er)言(yan),分(fen)支(zhi)預(yu)測(ce)失(shi)敗(bai)所(suo)帶(dai)來(lai)的(de)負(fu)麵(mian)影(ying)響(xiang)不(bu)容(rong)忽(hu)視(shi),而(er)且(qie)已(yi)經(jing)成(cheng)為(wei)影(ying)響(xiang)處(chu)理(li)器(qi)性(xing)能(neng)的(de)重(zhong)要(yao)因(yin)素(su)。在(zai)研(yan)發(fa)過(guo)程(cheng)中(zhong),開(kai)發(fa)人(ren)員(yuan)都(dou)會(hui)盡(jin)可(ke)能(neng)降(jiang)低(di)因(yin)為(wei)增(zeng)加(jia)執(zhi)行(xing)管(guan)線(xian)級(ji)數(shu)而(er)帶(dai)來(lai)的(de)這(zhe)種(zhong)影(ying)響(xiang),那(na)麼(me)現(xian)在(zai)就(jiu)讓(rang)我(wo)們(men)來(lai)看(kan)看(kan),Pentium M中是如何改進分支預測單元的。 改進分支預測和硬件數據預取: dangchuliqizhongdeguanxiankaishiquansuyunzhuan,turanfashengzhixingleyigecuowudechengxufenzhi,namechuliqijiuyaozhongxinzhazhaozhixingzhengquedefenzhi,zhegeguochengzhong,yibufenzhixingdanyuanhuichuyukongxianzhuangtai,zhixingdeyanchizengjia,jinyibuyingxianglezuizhongdexingneng。fenzhiyuceluojidemudejiushiweilejiangzhezhongqingkuangchuxiandejilvzuixiaohua。zaiPentium M中,分支預測邏輯是主要的改進部分。事實上,Pentium M的分支運測和Pentium 4的很相象。 準確的說,Pentium M的分支預測單元應該和Prescott核心的Pentium 4處理器相似。它增加了兩個部分:一個是識別循環,另一個是預測間接分支。正因為如此,Pentium M中的分支預測和Prescott之前的Pentium 4有you明ming顯xian的de不bu同tong,而er且qie要yao比bi它ta們men更geng加jia先xian進jin。當dang然ran,要yao想xiang進jin一yi步bu將jiang原yuan本ben基ji於yu使shi用yong分fen支zhi曆li史shi表biao的de傳chuan統tong靜jing態tai分fen支zhi預yu測ce方fang式shi改gai進jin的de更geng好hao,難nan度du非fei常chang大da。但dan是shi通tong過guo下xia麵mian幾ji個ge方fang麵mian的de分fen支zhi預yu測ce單dan元yuan的de改gai進jin,Intel的工程師將Pentium M的預測精度整整提高了20%,當然這是和Pentium III相比。 第di一yi個ge改gai進jin就jiu是shi增zeng加jia了le循xun環huan識shi別bie邏luo輯ji。傳chuan統tong的de靜jing態tai分fen支zhi預yu測ce方fang式shi,分fen支zhi預yu測ce的de循xun環huan結jie束shu條tiao件jian老lao是shi出chu錯cuo。當dang然ran能neng夠gou通tong過guo擴kuo大da存cun儲chu分fen支zhi信xin息xi的de緩huan存cun器qi容rong量liang,使shi其qi存cun儲chu更geng多duo的de分fen支zhi信xin息xi,然ran後hou分fen析xi其qi中zhong的de數shu據ju來lai解jie決jue問wen題ti。但dan是shi這zhe樣yang一yi一yi的de分fen析xi數shu據ju會hui造zao成cheng很hen長chang的de延yan遲chi。所suo以yiPentium M使用了稍微不同的方法,將代碼中的循環識別邏輯和循環結論信息獨立開來。這樣能夠極大的提升結束循環的條件預測精度。 第di二er個ge就jiu是shi改gai進jin間jian接jie分fen支zhi預yu測ce。所suo謂wei間jian接jie分fen支zhi就jiu是shi一yi個ge分fen支zhi的de分fen支zhi地di址zhi,這zhe個ge地di址zhi在zai程cheng序xu編bian譯yi時shi是shi不bu知zhi道dao的de,而er且qie是shi程cheng序xu執zhi行xing時shi,由you相xiang關guan寄ji存cun器qi的de狀zhuang態tai來lai決jue定ding的de。傳chuan統tong的de靜jing態tai分fen支zhi預yu測ce使shi用yong兩liang個ge表biao:分支曆史表和分支地址表,這有這兩個表而缺少間接分支地址表,讓預測的結果正確率不超過75%。因此開發人員在Pentium M中,新添加了一個間接分支表,專門用來存儲這類型的間接分支地址。 經(jing)過(guo)上(shang)麵(mian)兩(liang)方(fang)麵(mian)的(de)改(gai)進(jin)之(zhi)後(hou),由(you)於(yu)預(yu)測(ce)精(jing)度(du)大(da)為(wei)提(ti)高(gao),管(guan)線(xian)全(quan)速(su)運(yun)行(xing)的(de)情(qing)況(kuang)比(bi)以(yi)前(qian)多(duo)了(le),執(zhi)行(xing)單(dan)元(yuan)空(kong)閑(xian)等(deng)待(dai)的(de)情(qing)況(kuang)也(ye)變(bian)少(shao)了(le)。正(zheng)因(yin)為(wei)這(zhe)樣(yang),同(tong)頻(pin)率(lv)下(xia)的(de)Pentium M整體性能比Pentium III高了大約7%。而且隨著分支預測單元的改進,Pentium M也更新了硬件數據預取邏輯,用於從內存中將數據取到緩存中去。Pentium M采用了和prescott核心Pentium 4處理器相類似的硬件數據預取算法,這種算法要比Pentium III的算法效率更高 : Pentium M和Pentium III、Pentium 4都一樣,是RISC處理器。這意味著執行單元在處理內部簡化命令的時候,遠比處理複雜的x86指令更有效率。換句話說,也就是在執行RISC指令的時候,要比執行通常由三個甚至更多操作數所組成的x86架構更快捷流暢。因此,x86命令在經過解碼器之後,通常會被分解成兩個甚至三個微操作數。 例如:一yi個ge存cun儲chu數shu據ju到dao內nei存cun或huo一yi個ge處chu理li內nei存cun中zhong數shu據ju的de命ming令ling,被bei分fen別bie解jie碼ma成cheng兩liang個ge指zhi令ling。第di一yi種zhong情qing況kuang,由you計ji算suan地di址zhi和he存cun儲chu數shu據ju到dao緩huan衝chong器qi兩liang個ge指zhi令ling所suo組zu成cheng;第二種情況,由從內存中讀取數據和操作數據兩個指令所組成。而現在的處理器都具備亂序執行微操作數的能力,因此一條x86指令被分解成多個微操作數之後,能夠分別送到執行管線中被處理。 ruguozhexieweicaozuobicizhijianwuguan,namefenkaizhixingqilaiziranmeiyoushenmewenti。danruguoyigezhilingdezhixingxuyaolingwaiyigedezhixingjieguo,nameguanxianjiuhuichuxiandengdaixianxiang,dengdaizhixingdanyuanjiangchuliwanchengdejieguofasongguolai,ranhoucainenggoujixuchuli。zhezhongdengdaixianxiangzaiNetBurst架構中並不明顯,因為它有很多執行單元,不過對於Pentium Mzheleixingdechuliqieryan,xingnengdeyingxiangjiuxiangdangmingxianle,erqiedengdaizhuangtaixiadechuliqijixulangfeinengyuan,zhedianduiyuyidongchuliqilaishuoyeshibukejieshoude。zheyeshiweishenmePentium M處理器要加入微操作融合技術的原因,它能夠盡可能避免出現執行單元處於空閑狀態這一情形。 這項技術的工作非常簡單,就是根據相關性將x86指令劃分成一些部分,然後通過解碼器將所有的微操作都集中到一起,然後通過之前確定的相關性劃分微操作,從而形成x86指(zhi)令(ling)的(de)子(zi)集(ji),有(you)相(xiang)關(guan)性(xing)的(de)微(wei)操(cao)作(zuo)被(bei)劃(hua)分(fen)在(zai)一(yi)起(qi),由(you)同(tong)一(yi)個(ge)執(zhi)行(xing)單(dan)元(yuan)執(zhi)行(xing),而(er)不(bu)同(tong)執(zhi)行(xing)單(dan)元(yuan)所(suo)執(zhi)行(xing)的(de)微(wei)操(cao)作(zuo)彼(bi)此(ci)是(shi)無(wu)關(guan)的(de)。因(yin)此(ci)不(bu)會(hui)再(zai)出(chu)現(xian)等(deng)待(dai)某(mou)執(zhi)行(xing)單(dan)元(yuan)的(de)執(zhi)行(xing)結(jie)果(guo)的(de)情(qing)況(kuang)。雖(sui)然(ran)微(wei)操(cao)作(zuo)融(rong)合(he)需(xu)要(yao)多(duo)做(zuo)一(yi)些(xie)工(gong)作(zuo),不(bu)過(guo)這(zhe)對(dui)於(yu)性(xing)能(neng)提(ti)升(sheng)是(shi)有(you)好(hao)處(chu)的(de)。通(tong)過(guo)測(ce)試(shi),使(shi)用(yong)這(zhe)項(xiang)技(ji)術(shu)能(neng)夠(gou)讓(rang)整(zheng)數(shu)數(shu)據(ju)的(de)處(chu)理(li)速(su)度(du)提(ti)升(sheng)5%,浮點數據的處理速度提升9%。 專用堆棧管理器: Pentium M中的另一項改進就是堆棧管理器。由於軟件使用堆棧非常頻繁,有其是當其調用子程序時更是如此。讓執行單元頻繁處理PUSH,POP,CALL和RET這樣的關於堆棧操作的指令,讓執行單元時鍾處於運行狀態,這不利於處理器控製發熱量和能耗。因此Pentium M中的專用堆棧管理器和堆棧指針寄存器一起工作,堆棧管理器能夠識別,像PUSH,POP,CALL和RETzheyangdezhiling,zaitamenjingguojiemaqi,dandaodazhixingdanyuanyiqianyuchulitamen,congerjiangdizhixingdanyuandefuzai。nenggouzaitishengxingnengdetongshi,jinyibukongzhifarelianghenenghao。genjuceshibiaoming,shiyongzhuanyongduizhanguanliqinenggoujianshaozhengshuzhixingdanyuan5%的指令執行數量。 處理器總線: 盡管Pentium M使用基於Pentium III的架構,但Pentium M采用了完全不同的總線。P6架構的係統總線峰值帶寬僅為1GB/s,這對於現在的標準來說太小了。同樣考慮到可能傳統的總線不太適合現在的應用,因此Intel工程師決定讓Pentium M使用Quad Pumped Bus總線。這種總線正是Pentium 4的總線標準。 事實上,QPB總線也是Pentium M和Pentium 4唯一的相似之處。如果細加分析的話,兩者的總線架構還是有一些細微的區別,Pentium M的QPB總線缺少一些功能。例如:最顯著的特點就是Pentium 4的係統總線時800MHz,而Pentium M之後533MHz;然後Pentium M的係統總線隻支持32位尋址,也就是說最多僅支持4GB的內存空間。最後Pentium M的總線不支持多處理器配置。不過這些差異之處都不太重要,反而是Pentium M和Pentium 4在總線之間的兼容,才奠定了移動處理器在桌麵電腦中應用的基礎。 SSE2指令集: 所有的Pentium M處理器都支持SSE和SSE2擴展指令集。因此這也是Pentium M針對Pentium III的一次升級。不過Pentium M並不支持SSE3指令集,畢竟這是在Prescott核心處理器上第一次采用的指令,推出的時間要比Pentium M處理器更晚。 L2緩存的節能措施: Pentium M配備有非常大的L2緩存,容量達到2MB。使用大緩存有許多好處,例如能夠減少係統總線和內存總線的負荷,達到降低能耗的作用。不過更為特別的一點是,Intel為Pentium M處理器本身也使用了特殊的節省能耗的方法。和Intel其他的處理器一樣,Pentium M中的緩存是8路相關,並且將L2緩存被進一步細分為4個部分,每一個部分都可以被獨自訪問。 也就是說,處理器在工作時,不需要讀取一個緩存也運轉整個緩存。因此這樣節省的L2能耗大約為4倍。不過采用這種方式L2緩存的延遲會增加1個周期,如果於Pentium III相比的話。另外Pentium M的L1緩存為64KB,其中代碼和數據容量各為32KB,是Pentium III L1緩存容量的兩倍。 SpeedStep III節能技術: 因為Pentium M是移動處理器,那麼自然會有專門的節能技術,Pentium M中的節能技術是speedstep III。根gen據ju使shi用yong中zhong的de經jing驗yan來lai看kan,處chu理li器qi的de能neng耗hao和he處chu理li器qi的de頻pin率lv,處chu理li器qi的de工gong作zuo量liang,以yi及ji處chu理li器qi大da電dian壓ya息xi息xi相xiang關guan。換huan句ju話hua說shuo,要yao想xiang降jiang低di處chu理li器qi的de能neng耗hao,就jiu要yao從cong這zhe三san個ge方fang麵mian入ru手shou。 因此開發人員設定在處理器工作量較小的時候,通過降低工作頻率和電壓就可以減少處理器能耗。例如:處理器在處理辦公軟件的時候,就不是100%負fu載zai,而er這zhe也ye是shi大da多duo數shu筆bi記ji本ben電dian腦nao最zui常chang見jian的de應ying用yong。因yin此ci處chu理li器qi能neng夠gou自zi動dong下xia調tiao頻pin率lv和he電dian壓ya,這zhe一yi過guo程cheng十shi分fen平ping滑hua,不bu會hui讓rang使shi用yong者zhe有you絲si毫hao察cha覺jiao。這zhe就jiu是shispeedstep技術的主要任務。 在Pentium III-M的第一代speedstep中,隻提供了兩個處理器模式:全速模式和節能模式。當電池電量低於某一個級別或處理器空閑時,就會進入節能模式。在Pentium 4-M處理器中,采用了第二代speedstep,能夠自動在三種模式中轉化。在這一代中,節能模式和全速模式之間的性能差異巨大,這依賴於處理器的工作量。 而且工作在節能模式下的處理器,一旦CPU的工作量突然加大或者用戶執行了一個大型程序,那麼處理器難以快速的提升性能和轉換狀態,從而使CPU的整體性能收到影響。在Pentium M處理器中的speedstep技術已曆三代,能夠提供7種不同的狀態,能夠根據處理器的工作量自動降低頻率和電壓,而且不同模式之間的轉化迅速,不會給用戶帶來絲毫察覺 現在市麵上的Pentium M處理器都基於Dothan核心。處理器核心采用90納米製造工藝和“應變矽”技術,Dothan核心的製造工藝和Prescott核心Pentium 4處理器是一樣的。處理器核心麵積為83.6平方毫米,內部含有1億4千萬個晶體管。
 通過下表能夠直觀的比較Dothan核心的Pentium M處理器和Pentium 4的差別:


|