測試軟件不再准?Intel對CPU動手腳[圖]-IT浪潮-北方網
新聞 | 天津 | 民生 | 廣電 | 津抖雲 | 微視 | 讀圖 | 文娛 | 體育 | 圖事 | 理論 | 志願 | 專題 | 工作室 | 不良信息舉報
教育 | 健康 | 財經 | 地產 | 天津通 | 旅游 | 時尚 | 購物 | 汽車 | IT | 親子 | 會計 | 訪談 | 場景秀 | 發布系統

"津雲"客戶端
  您當前的位置 : 北方網  >  IT浪潮  >  北方學院  >  CPU  >  使用維護
關鍵詞:

測試軟件不再准?Intel對CPU動手腳[圖]


http://www.enorth.com.cn  2006-12-14 11:13
  據x86-secret消息,他們發現了Intel對處理器的內部結構進行了秘密的改造,導致測試軟件顯示錯誤信息。要理解這條消息,必須具備一些基礎知識,首先是了解CPU的內部時鍾記數器的概念,或者被稱為TSC。TSC首先在奔騰時代被引入Intel的處理器,其作用就是在一個固定的時間裡計算CPU的時鍾數。開機時TSC的記數器清零,然後每過一個時鍾周期加一。它的數值可以被一個MSR讀出,或者使用一條rdtsc的指令讀出。在一秒鍾時間裡,一塊200MHz的奔騰處理器在這個記數器裡會增加200,000,000次,而P4 3.8GHz會增加38億次。這個記數器使用一個64位的寄存器來存儲,它的長度可以允許一塊4GHz的處理器連續使用146年而不溢出。

  TSC有許多用途,首先,它被用於計算處理器的主頻。讀取主頻的程序首先讀取TSC的值,等待一個固定時間後再次讀取TSC的值,從兩者的差值中計算出處理器的真實主頻。我們通過它可以實時的計算處理器主頻,比如移動處理器中時鍾是不停改變的,只有通過這樣的方法纔能實時顯示主頻。另外TSC可以被用來估計機器的性能,因為通過它可以知道執行一段代碼這臺機器到底用了多少時鍾周期。許多測試軟件使用這種方法計算FLOPS,共識是FLOPS=操作數/從TSC得到的時間。這段時間是通過系統主頻和TSC得到的數值計算出來的。

  那麼Intel如今采取了什麼改變?簡單來說,TSC可能不再和主頻同步增加了。

  下面來看一點解釋:從Prescott P4 REV F41開始,Intel使用了一種C1E機制來改變處理器的功耗。它可以在空閑的時候把處理器的倍頻降低到14X,這樣可以減少功耗和發熱。而6XX系列的處理器引進了EIST機制,可以實時改變處理器的倍頻和電壓。這些改變導致了一些檢測軟件的顯示錯誤。比如下面圖中的情況。

  上圖中使用了P4 630處理器,默認的BIOS,新裝的系統。使用了三個軟件:CPU-Z 1.26.3,Sandra 2005和CrystalCPUID 4.3.8.240。我們注意到所有軟件都認出了主頻3GHz,不過都把FSB錯誤的認為是215MHz,倍頻是14X,真正的情況應該是15×200。這些軟件的工作原理如下:

  • 從TSC計算出處理器的主頻
  • 從MSR寄存器中讀出倍頻
  • 主頻除以倍頻就得到FSB了

  無可非議的一點是這些結果是錯誤的,錯誤的根源要麼是TSC那裡得到主頻錯了,要麼倍頻錯了。不過我們從上面的結果來看14X的倍頻滿足降頻的機制。所以問題應該出在主頻上,於是我們使用最新的1.27版的CPU-Z來看結果,它使用了另外的方法來計算主頻,沒有使用TSC。

  從上面的結果看,主頻是2.8GHz,這是正確的結果,FSB也正確的顯示為200MHz。那麼我們就要問為什麼之前的軟件都錯誤了呢?為什麼他們都顯示主頻3GHz呢?問題就在於TSC不再隨著真實的主頻遞增了。主頻是2.8GHz時,TSC仍舊隨著3.0GHz的速度增加。用平常的軟件很難深入了解這個問題,因為處理器使用率大了以後會導致倍頻上昇。

  下面使用一款小程序再次檢驗我們的結論。它使用了兩種不同的機制來檢驗主頻,一種是通過TSC,另外一種通過和CPU-Z 1.25一樣的方法。

  從上面的結果看出TSC的確是罪魁禍首,是它導致了那些軟件的誤報。為了進一步揭露這個現象,我們再一次使用ScienceMark V2中的L2延遲測試。這個測試僅僅和處理器的結構有關,換句話說,所有Prescott處理器,不論主頻多少,應該得到一樣的結果。

  從結果看,正常情況下的確結果一樣,但是當倍頻下降到14X後,TSC仍舊以3.6GHz運行,這款測試軟件又一次誤報了成績。那麼Intel對TSC機制的改變會導致什麼後果?顯然是誤導測試軟件。我們已經看到,自動降倍頻後,TSC不再按照真實主頻工作了,很多軟件就會產生錯誤。我們聯系了Intel想得到一些消息,但是就如以往一樣,毫無回音。我們又在Intel的論壇上貼了帖子,得到如下回復『這個問題的答案牽涉到Intel的機密,所以我們不能給出這個問題的解釋』。我們只能自己猜測其原因:是要誤導測試軟件?要隱藏真實頻率?要限制超頻?要為雙核心處理器作准備?

  不管答案是什麼,我們估計Intel不會給出答案了。但是Intel最後卻給出了解釋。

  大意是:目前的PRM(程序員參考手冊)中沒有給出完整的關於P4的TSC的描述。但是我們會適時更新它,包括以下幾點:CPUID 0xF30之後的P4的TSC的確是運行在固定頻率的,它在啟動的時候就被設定好了,這個要求是操作系統廠商提出的。這種固定TSC的工作方式更適合於作為wall clock timer,而目前主要的應用的確是這樣而不是計算主頻。如果你要計算主頻,Intel推薦使用PMON記數器來計算平均主頻。

  總的來說,Intel承認了它對TSC工作方式的改變,而我們希望看到的是Prescott推出時就對這個問題進行解釋,而不是現在。而真正的原因到底是不是操作系統廠商要求這樣做的我們當然沒辦法證實。

編輯:趙國棟
[進入IT論壇]
徹底解密Intel第一顆64位移動賽揚CM 520[圖]
第二代Z-RAM技術可將CPU緩存提至100M
請您文明上網、理性發言並遵守相關規定,在注冊後發表評論。
 北方網精彩內容推薦
無標題文檔
天津民生資訊
天氣交通 天津福彩 每月影訊 二手市場
空氣質量 天津股票 廣播節目 二手房源
失物招領 股市大擂臺 天視節目 每日房價
熱點專題
北京奧運聖火傳遞和諧之旅 迎奧運 講文明 樹新風
解放思想 乾事創業 科學發展 同在一方熱土 共建美好家園
2008天津夏季達沃斯論壇 《今日股市觀察》視頻
北方網網絡相聲頻道在線收聽 2008高考招生簡章 復習衝刺
天津自然博物館館藏精品展示 2008年天津中考問題解答
帶你了解08春夏服飾流行趨勢 完美塑身 舞動肚皮舞(視頻)
C-NCAP碰撞試驗—雪佛蘭景程 特殊時期善待自己 孕期檢查
熱點新聞排行 財經 體育 娛樂 汽車 IT 時尚 健康 教育

Copyright (C) 2000-2021 Enorth.com.cn, Tianjin ENORTH NETNEWS Co.,LTD.All rights reserved
本網站由天津北方網版權所有