首頁(yè) 收藏 QQ群
 網(wǎng)站導(dǎo)航

ZNDS智能電視網(wǎng) 推薦當(dāng)貝市場(chǎng)

TV應(yīng)用下載 / 資源分享區(qū)

軟件下載 | 游戲 | 討論 | 電視計(jì)算器

綜合交流 / 評(píng)測(cè) / 活動(dòng)區(qū)

交流區(qū) | 測(cè)硬件 | 網(wǎng)站活動(dòng) | Z幣中心

新手入門(mén) / 進(jìn)階 / 社區(qū)互助

新手 | 你問(wèn)我答 | 免費(fèi)刷機(jī)救磚 | ROM固件

查看: 11593|回復(fù): 5
上一主題 下一主題
[交流討論]

探究CPU閑著的時(shí)候在忙什么?!

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2015-10-18 15:25 | 只看該作者 |只看大圖 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式 | 來(lái)自浙江
   我們打開(kāi)電腦、電視等智能設(shè)備卻沒(méi)有使用的時(shí)候,CPU是閑著的嗎?當(dāng)我們電視,點(diǎn)擊當(dāng)貝市場(chǎng)的時(shí)候,電視如何快速的做出反應(yīng)打開(kāi)?大家都知道,CPU是中央處理器,CPU是不是隨時(shí)待命的呢?其實(shí)CPU閑著的時(shí)候也是在忙的!
探究CPU閑著的時(shí)候在忙什么?!
  CPU在絕大部分時(shí)間是什么都不干的。大多數(shù)技術(shù)朋友都知道這個(gè)事實(shí),但對(duì)于CPU是如何從空閑狀態(tài)切換到工作狀態(tài),忙完后又回到空閑狀態(tài)的相應(yīng)機(jī)制,我們還沒(méi)有詳細(xì)探究過(guò)。

  對(duì)現(xiàn)代處理器來(lái)說(shuō),這種機(jī)制變得越來(lái)越重要。今天大部分芯片設(shè)計(jì)的一個(gè)目標(biāo)是將處理器盡快地切換到低功率狀態(tài)。

CPU閑著的時(shí)候也在忙什么?

  其實(shí)CPU空閑時(shí)并不是什么都不干,而是在運(yùn)行空閑任務(wù)(idle tasks)。

  CPU整體設(shè)計(jì)就是完成當(dāng)前操作后盡可能快速地返回到空閑狀態(tài),但系統(tǒng)必須要有某種方法/方式來(lái)喚醒芯片,讓它去關(guān)注其他某些東西。

  其中的一種方式是使用系統(tǒng)計(jì)時(shí)器(system timer)。

CPU系統(tǒng)計(jì)時(shí)器

  阻止CPU消耗太多電量的一種方法是內(nèi)置更長(zhǎng)的時(shí)鐘周期(tick periods)。通過(guò)這種方式,CPU在喚醒之前需要度過(guò)更長(zhǎng)的空閑時(shí)間,然后執(zhí)行基本任務(wù),接著再次睡眠。

什么是空閑任務(wù)(idle task)

  空閑任務(wù)可能聽(tīng)起來(lái)有點(diǎn)自相矛盾,關(guān)鍵是你要理解CPU既然通電,那么就必須時(shí)刻不停地在運(yùn)轉(zhuǎn),即使他什么正事也不干。

  在哲學(xué)上對(duì)應(yīng)的詞匯就是所謂的“忙等待”(busy waiting),本質(zhì)是讓CPU不停地去計(jì)算某個(gè)條件,看看是否為true。
探究CPU閑著的時(shí)候在忙什么?!

CPU“忙等待”(busy waiting)

  對(duì)于運(yùn)行在x86芯片上的Windows來(lái)說(shuō),這個(gè)功能表現(xiàn)為暫停(HLT)指令,對(duì)應(yīng)Windows的System Idle Process進(jìn)程。

  Windows只有在某個(gè)CPU核心沒(méi)有合適的線程可執(zhí)行時(shí),才會(huì)調(diào)用idle空閑進(jìn)程去運(yùn)行。

  如果你查看Windows系統(tǒng)的任務(wù)管理器,你會(huì)看到System Idle Process(系統(tǒng)空閑進(jìn)程)大多數(shù)時(shí)候都顯示一個(gè)較高的CPU使用百分比。和進(jìn)程列表中的其他進(jìn)程不同,空閑進(jìn)程的值越高,代表CPU的工作量越小。

  設(shè)計(jì)HLT指令的目的是為了盡可能地減少電量消耗,并使CPU進(jìn)入節(jié)能模式/狀態(tài)。

HLT的歷史

  HLT(暫停)指令其實(shí)有很長(zhǎng)的歷史,在第一顆8086處理器上就已經(jīng)實(shí)現(xiàn)了,但早期操作系統(tǒng)并不支持它。老程序員可能會(huì)記得,曾經(jīng)有一段時(shí)間,甚至連基本的HLT功能都總是不能按預(yù)期方式執(zhí)行。

  回首過(guò)去的超頻年代,那時(shí)候CPU有一個(gè)基本的工具叫做Rain(雨),用來(lái)增加CPU的空閑時(shí)間(以及提升處理過(guò)程中的散熱和能耗)。隨著時(shí)間的流逝,我們可以看到硬件制造廠商和軟件開(kāi)發(fā)者都變得越來(lái)越復(fù)雜。

  這是Windows 8創(chuàng)新的一個(gè)方面——好吧,本質(zhì)上只是嘗試創(chuàng)新——但卻產(chǎn)生了一些奇怪的結(jié)果。在默認(rèn)情況下它允許在處理過(guò)程中有更長(zhǎng)的間隔周期,但這也導(dǎo)致一些程序產(chǎn)生問(wèn)題,如Google Chrome等程序?yàn)榱烁斓貙?duì)用戶操作進(jìn)行響應(yīng),會(huì)自動(dòng)將時(shí)鐘頻率(tick rate)設(shè)置為操作系統(tǒng)所允許的最小值。

  這個(gè)BUG在新版程序中已經(jīng)修復(fù)了,但仍可能減少某些Windows 8電腦的電池續(xù)航時(shí)間。
探究CPU閑著的時(shí)候在忙什么?!
  這確實(shí)是一個(gè)可以調(diào)節(jié)時(shí)鐘周期的地方,加上要支持沒(méi)有基于晶體定時(shí)器的系統(tǒng),使微軟措手不及。在Windows8中,軟件通過(guò)混合操作系統(tǒng)時(shí)間記錄的方式來(lái)調(diào)整前端總線速度,就會(huì)導(dǎo)致錯(cuò)誤的基準(zhǔn)測(cè)試結(jié)果。

  這種行為在Windows 10中一直保持,盡管它只是一個(gè)小眾的問(wèn)題——在操作系統(tǒng)產(chǎn)生錯(cuò)誤的結(jié)果你必須調(diào)整系統(tǒng)前端總線的時(shí)鐘.

  race-to-idle是現(xiàn)代CPU架構(gòu)的關(guān)鍵組件,AMD和Intel基本每年都會(huì)發(fā)布新一代產(chǎn)品,還會(huì)經(jīng)常推出更新,可能最高性能只提升那么一點(diǎn)點(diǎn),但通過(guò)更好的時(shí)鐘門(mén)控(clock gating)卻能顯著提高能量使用率,并更快地進(jìn)行節(jié)能模式切換。

轉(zhuǎn)自太平洋網(wǎng),感謝原作者分享


上一篇:電視屏幕消除藍(lán)光有用嗎?電子屏幕藍(lán)光的危害。
下一篇:耽誤了你的電視機(jī)壽命10年?用這4招延續(xù)再10年!
沙發(fā)
 樓主| 發(fā)表于 2015-10-18 15:43 | 只看該作者 | 來(lái)自浙江
探究CPU閑著的時(shí)候在忙什么?!頂
板凳
發(fā)表于 2015-10-18 23:14 | 只看該作者 | 來(lái)自浙江
KKKKKKKKKKKKKKKKKK
地板
發(fā)表于 2015-10-18 23:16 | 只看該作者 | 來(lái)自浙江
CPU
5#
發(fā)表于 2015-10-18 23:18 | 只看該作者 | 來(lái)自浙江
看看不錯(cuò)
6#
發(fā)表于 2015-10-18 23:19 | 只看該作者 | 來(lái)自浙江
原來(lái)這樣

本版積分規(guī)則

Archiver|新帖|標(biāo)簽|軟件|Sitemap|ZNDS智能電視網(wǎng) ( 蘇ICP備2023012627號(hào) )

網(wǎng)絡(luò)信息服務(wù)信用承諾書(shū) | 增值電信業(yè)務(wù)經(jīng)營(yíng)許可證:蘇B2-20221768 丨 蘇公網(wǎng)安備 32011402011373號(hào)

GMT+8, 2024-11-19 03:18 , Processed in 0.072285 second(s), 18 queries , Redis On.

Powered by Discuz!

監(jiān)督舉報(bào):report#znds.com (請(qǐng)將#替換為@)

© 2007-2024 ZNDS.Com

快速回復(fù) 返回頂部 返回列表