|
馬上注冊,結交更多好友,享用更多功能。
您需要 登錄 才可以下載或查看,沒(méi)有帳號?注冊
x
最近在看BIOS的相關(guān)內容,冒出了一個(gè)EC的概念。上網(wǎng)搜索了相關(guān)內容,整理了下,BIOS與EC的關(guān)系 BIOS(基本輸入輸出系統)在整個(gè)系統中的地位是非常重要的,它實(shí)現=了底層硬件和上層操作系統的橋梁。比如你現在從光盤(pán)拷貝一個(gè)文件到硬盤(pán),您只需知道“復制、粘貼”的指令就行了,您不必知道它具體是如何從光盤(pán)讀取,然后如何寫(xiě)入硬盤(pán)。對于操作系統來(lái)說(shuō)也只需要向BIOS發(fā)出指令即可,而不必知道光盤(pán)是如何讀,硬盤(pán)是如何寫(xiě)的。BIOS構建了操作系統和底層硬件的橋梁。而我們平時(shí)說(shuō)的BIOS設定僅僅是談到了其軟件的設定,比如設置啟動(dòng)順序、禁用/啟用一些功能等等。但這里有一個(gè)問(wèn)題,在硬件上,BIOS是如何實(shí)現的呢?畢竟,軟件是運行在硬件平臺上的吧?這里我們不能不提的就是EC。
EC(Embed Controller,嵌入式控制器)是一個(gè)16位單片機,它內部本身也有一定容量的Flash來(lái)存儲EC的代碼。EC在系統中的地位絕不次于南北橋,在系統開(kāi)啟的過(guò)程中,EC控制著(zhù)絕大多數重要信號的時(shí)序。在筆記本中,EC是一直開(kāi)著(zhù)的,無(wú)論你是在開(kāi)機或者是關(guān)機狀態(tài),除非你把電池和Adapter完全卸除。在關(guān)機狀態(tài)下,EC一直保持運行,并在等待用戶(hù)的開(kāi)機信息。而在開(kāi)機后,EC更作為鍵盤(pán)控制器,充電指示燈以及風(fēng)扇和其他各種指示燈等設備的控制,它甚至控制著(zhù)系統的待機、休眠等狀態(tài)。主流筆記本系統中
現在的EC有兩種架構,比較傳統的,即BIOS的FLASH通過(guò)X-BUS接到EC,然后EC通過(guò)LPC接到南橋,一般這種情況下EC的代碼也是放在FLASH中的,也就是和BIOS共用一個(gè)FLASH。右邊的則是比較新的架構,EC和FLASH共同接到LPC總線(xiàn)上,一般它只使用EC內部的ROM。至于LPC總線(xiàn),它是INTEL當初為了取代低速落后的X-BUS而推出的總線(xiàn)標準。 EC上一般都含有鍵盤(pán)控制器,所以也稱(chēng)KBC。那EC和BIOS在系統中的工作到底有什么牽連呢?在這里我們先簡(jiǎn)單的分析一下。在系統關(guān)機的時(shí)候,只有RTC部分和EC部分在運行。RTC部分維持著(zhù)計算機的時(shí)鐘和CMOS設置信息,而EC則在等待用戶(hù)按開(kāi)機鍵。在檢測到用戶(hù)按開(kāi)機鍵后,EC會(huì )通知整個(gè)系統把電源打開(kāi),CPU被RESET后,會(huì )去讀BIOS內一個(gè)特定地址內的指令(其實(shí)是一個(gè)跳轉指令,這個(gè)地址是由CPU硬件設定的)。這里開(kāi)始分兩種情況,1 CPU發(fā)出的這個(gè)地址通過(guò)FSB到北橋,然后通過(guò)HUB-LINK到南橋,通過(guò)LPC到EC,再通過(guò)X-BUS一直到達BIOS。在CPU讀到所發(fā)出的地址內的指令后,執行它被RESET后的第一個(gè)指令。在這個(gè)系統中,EC起到了橋接BIOS和南橋(或者說(shuō)整個(gè)系統)的作用,在CPU發(fā)出的地址到南橋后,會(huì )直接通過(guò)LPC到BIOS,不需要EC的橋接。
這里需要說(shuō)明的是,對于臺式機而言,一般是不需要EC的。這里原因有很多:比如臺式機本身的ATX電源就具有一定的智能功能,他已經(jīng)能受操作系統控制來(lái)實(shí)現待機、休眠的狀態(tài);其次由于筆記本的鍵盤(pán)不能直接接到PS/2接口,而必須接到EC之上;還有就是筆記本有更多的小功能,比如充電指示燈、WIFI指示燈、Fn等很多特殊的功能,而且筆記本必須支持電池的充放電等功能,而智能充放電則需要EC的支持;另外,筆記本TFT屏幕的開(kāi)關(guān)時(shí)序也必須由EC控制。這些原因導致了筆記本使用EC來(lái)做內部管理的必要性。
總體來(lái)說(shuō),EC和BIOS都處于機器的最底層。EC是一個(gè)單獨的處理器,在開(kāi)機前和開(kāi)機過(guò)程中對整個(gè)系統起著(zhù)全局的管理。而B(niǎo)IOS是在等EC把內部的物理環(huán)境初始化后才開(kāi)始運行的。
看到這里,我想大家也明白EC到底是呵方神圣。如果說(shuō)BIOS 是底層系統的話(huà),那EC 似乎更加底層。
在南橋上還有一個(gè)功能塊就是電源管理單元(PM,Power Management),一般來(lái)說(shuō),他和EC來(lái)共同配合完成。這里包括從開(kāi)機鍵按下后,啟動(dòng),待機,休眠,關(guān)機的全部功能。還包括對背光亮度,聲音等的控制等等。至于現在Intel的Speed Step技術(shù),也有部分功能是透過(guò)南橋來(lái)實(shí)現的(南橋發(fā)送SLP、STPCLK(sleep,Stop Clock)來(lái)實(shí)現睡眠、深睡眠等)。
這部分的設計比較簡(jiǎn)單,只需要點(diǎn)到點(diǎn)的連接南橋和CPU即可。
邏輯上的開(kāi)機過(guò)程:
開(kāi)機過(guò)程對于電腦設計是至關(guān)重要的。在筆記本電腦打好PCB后第一次開(kāi)機時(shí),如果電源的時(shí)序正確了,其他的問(wèn)題都比較好解(一般來(lái)說(shuō)時(shí)序正確的話(huà)機器都能開(kāi)起來(lái))。最怕的就是電源時(shí)序不對,機器開(kāi)不起來(lái),這才是最要命的。在筆記本內部的電壓有好幾種, 首先是RTC電源,這部分電力是永遠不關(guān)閉的,除非電池(紐扣電池)沒(méi)電并且沒(méi)接任何外部電源(比如電池和電源適配器)。RTC用以保持機器內部時(shí)鐘的運轉和保證CMOS配置信息在斷電的情況下不丟失;其次,在你插上電池或者電源適配器。
但還沒(méi)按power鍵的時(shí)候(S5),機器內部的開(kāi)啟的電稱(chēng)為ALWAYS電,主要用以保證EC的正常運行;
再次,你開(kāi)機以后,所有的電力都開(kāi)啟,這時(shí)候,我們稱(chēng)為MAIN電(S0),以供整機的運行;
在你進(jìn)待機的時(shí)候(S3),機器內部的電成為SUS電,主要是DDR的電力供應,以保證RAM內部的資料不丟失;
而休眠(S4)和關(guān)機(S5)的電是一樣的,都是Always電。其中,上文中括號內的是表示計算機的狀態(tài)(S0-開(kāi)機,S3-待機,S4-休眠,S5-關(guān)機)。
現在我們假設沒(méi)有任何的電力設備在供電(沒(méi)電池和電源),這時(shí)候,機器內部只有RTC電路在運作,南橋上會(huì )接有一個(gè)3V的紐扣電池來(lái)供給RTC電力,以保持內部時(shí)間的運行和CMOS信息。
南橋的啟動(dòng)時(shí)序
根據前面的Power Status,我們來(lái)分析一下開(kāi)機的過(guò)程。在插上電池或者電源的時(shí)候,機器內部的單片機EC就Reset并開(kāi)始工作,等待用戶(hù)按下Power鍵。在此期間的時(shí)序是:ALWAYS電開(kāi)啟以后,EC Reset并開(kāi)始運行,隨后發(fā)給南橋一個(gè)稱(chēng)為‘RSMRST#’的信號。這時(shí)候南橋的部分功能開(kāi)始初始化并等待開(kāi)機信號。這里要注意,這時(shí)候的南橋并沒(méi)有打開(kāi)全部電源,只有很少一部分的功能可用,比如供檢測開(kāi)機信號的PWRBTN#信號。
在用戶(hù)按下Power鍵的時(shí)候,EC檢測到一個(gè)電平變化(一般時(shí)序是:高-低-高),然后發(fā)送一個(gè)開(kāi)機信號(PWRBTN#)給南橋,南橋收到PWRBTN#信號后依次拉高SLP_S5#,SLP_S4#,SLP_S3#信號,開(kāi)啟了所有的外圍電壓,主要是+3V,+5V以及DDR2.5V等,并發(fā)送PM PWROK信號,這信號表明外圍電源正常開(kāi)啟。
PM PWROK將作為一個(gè)使能信號發(fā)送到CPU外圍VCCP的電壓Generator,并開(kāi)啟VCCP。在此之后,VCCP Generator會(huì )發(fā)出CORE_VR_ON來(lái)開(kāi)啟CORE VR(即CPU的核心電壓)。至此,整機的電壓已經(jīng)全部開(kāi)啟。
在用VR_PWRGD_ICH這個(gè)信號通知南橋CORE VR成功開(kāi)啟后,南橋會(huì )發(fā)出PCI RST#信號到PCI總線(xiàn),于是總線(xiàn)上的設備都被初始化(包括北橋),并同時(shí)發(fā)出H_PWRGD來(lái)通知CPU它的核心電壓已經(jīng)成功開(kāi)啟。然后北橋發(fā)出H_CPURST#信號給CPU,CPU被RESET,并正式開(kāi)始工作。
在用戶(hù)需要進(jìn)入待機模式(S3)的時(shí)候,系統的ACPI和windows同時(shí)運作,拉低SLP_S3#,并保持SLP_S4#和SLP_S5#被拉高,以關(guān)閉了MAIN電,系統則進(jìn)入待機模式。
而在需要進(jìn)入休眠或者關(guān)機模式時(shí),同時(shí)拉低SLP_S3#、SLP_S4#和SLP_S5#,關(guān)閉除了RTC以外的電源。當然,在這一系列的過(guò)程中,需要操作系統和BIOS的共同協(xié)作,對硬件來(lái)說(shuō),只需要保證在特定的狀態(tài)保證特定的電壓供給即可。
當機器要要從S0進(jìn)入S5,即關(guān)機的時(shí)候,也會(huì )有一定的時(shí)序進(jìn)行,基本上就是前面時(shí)序的逆運行。
以上就是整個(gè)硬件的開(kāi)機、進(jìn)入S3,S5的過(guò)程,當然不同的硬件有不同的開(kāi)機過(guò)程,這里說(shuō)的不過(guò)是最普通、最為常見(jiàn)的一種ACPI就是Advanced Configuration and Power Interface的縮寫(xiě),意思是“高級配置與電源接口”。這是英特爾、微軟和東芝共同開(kāi)發(fā)的一種電源管理標準。
ACPI可實(shí)現以下功能:
1、用戶(hù)可以使外設在指定時(shí)間開(kāi)關(guān);
2、使用筆記本電腦的用戶(hù)可以指定計算機在低電壓的情況下進(jìn)入低功耗狀態(tài),以保證重要的應用程序運行;
3、操作系統可以在應用程序對時(shí)間要求不高的情況下降低時(shí)鐘頻率;
4、操作系統可以根據外設和主板的具體需求為它分配能源;
5、在無(wú)人使用計算機時(shí)可以使計算機進(jìn)入休眠狀態(tài),但保證一些通信設備打開(kāi);
6、即插即用設備在插入時(shí)能夠由ACPI來(lái)控制。
不過(guò),ACPI和其他的電源管理方式一樣,要想享受到上面這些功能,必須要有軟件和硬件的支持。在軟件方面,Windows 98及其后續產(chǎn)品和Windows 2000都對ACPI給予了全面的支持;而Linux的內核目前對此支持得并不是太理想。硬件方面比較麻煩,除了要求主板、顯卡和網(wǎng)卡等外設要支持ACPI外,還需要機箱電源的配合。電源在提供5伏電壓給主板的同時(shí),還必須使電流穩定在720毫安以上才可以,這樣它才能夠實(shí)現電腦的“睡眠”和“喚醒”。
ACPI共有六種狀態(tài),分別是S0到S5,它們代表的含義分別是:
S0--實(shí)際上這就是我們平常的工作狀態(tài),所有設備全開(kāi),功耗一般會(huì )超過(guò)80W;
S1--也稱(chēng)為POS(Power on Suspend),這時(shí)除了通過(guò)CPU時(shí)鐘控制器將CPU關(guān)閉之外,其他的部件仍然正常工作,這時(shí)的功耗一般在30W以下;(其實(shí)有些CPU降溫軟件就是利用這種工作原理)
S2--這時(shí)CPU處于停止運作狀態(tài),總線(xiàn)時(shí)鐘也被關(guān)閉,但其余的設備仍然運轉;
S3--這就是我們熟悉的STR(Suspend to RAM),這時(shí)的功耗不超過(guò)10W;
S4--也稱(chēng)為STD(Suspend to Disk),這時(shí)系統主電源關(guān)閉,但是硬盤(pán)仍然帶電并可以被喚醒;
S5--這種狀態(tài)是最干脆的,就是連電源在內的所有設備全部關(guān)閉,功耗為0。
我們最常用到的是S3狀態(tài),即Suspend to RAM(掛起到內存)狀態(tài),簡(jiǎn)稱(chēng)STR。顧名思義,STR就是把系統進(jìn)入STR前的工作狀態(tài)數據都存放到內存中去。在STR狀態(tài)下,電源仍然繼續為內存等最必要的設備供電,以確保數據不丟失,而其他設備均處于關(guān)閉狀態(tài),系統的耗電量極低。一旦我們按下Power按鈕(主機電源開(kāi)關(guān)),系統就被喚醒,馬上從內存中讀取數據并恢復到STR之前的工作狀態(tài)。內存的讀寫(xiě)速度極快,因此我們感到進(jìn)入和離開(kāi)STR狀態(tài)所花費的時(shí)間不過(guò)是幾秒鐘而已;而S4狀態(tài),即 STD(掛起到硬盤(pán))與STR的原理是完全一樣的,只不過(guò)數據是保存在硬盤(pán)中。由于硬盤(pán)的讀寫(xiě)速度比內存要慢得多,因此用起來(lái)也就沒(méi)有STR那么快了。 STD的優(yōu)點(diǎn)是只通過(guò)軟件就能實(shí)現,比如Windows 2000就能在不支持STR的硬件上實(shí)現STD。
之前的電源管理是APM(Advanced Power Management),那么ACPI和APM相比有什么區別呢?
2、ACPI與APM比較
APM 1.0&1.1:由BIOS執行電源管理;
APM 1.2:操作系統定義電源管理時(shí)間,由BIOS負責執行;
ACPI:BIOS收集硬件信息,定義電源管理方案;由操作系統負責執行。
APM是一種軟件解決方案,因此是與操作系統有關(guān)的, 而ACPI是工業(yè)標準,包括了軟件和硬件方面的規范。
APIC (高級可編程中斷控制器)對計算機來(lái)講有兩個(gè)作用,
一是管理IRQ的分配,可以把傳統的16個(gè)IRQ擴展到24個(gè)(傳統的管理方式叫PIC),以適應更多的設備。
二是管理多CPU。由于Nf2主板并不支持多CPU,所以,APIC關(guān)閉直接的影響是減少了可用的IRQ。
不過(guò),如果板卡不是非常多的話(huà),關(guān)閉 APIC對系統是沒(méi)有什么影響的。
要實(shí)現SMP功能,我們使用的CPU必須具備以下要求:
CPU內部必須內置APIC單元。Intel 多處理規范的核心就是高級可編程中斷控制器(Advanced Programmable Interrupt Controllers--APICs)的使用。CPU通過(guò)彼此發(fā)送中斷來(lái)完成它們之間的通信。通過(guò)給中斷附加動(dòng)作(actions),不同的CPU可以在某種程度上彼此進(jìn)行控制。每個(gè)CPU有自己的APIC(成為那個(gè)CPU的本地APIC),并且還有一個(gè)I/O APIC來(lái)處理由I/O設備引起的中斷,這個(gè)I/O APIC是安裝在主板上的,但每個(gè)CPU上的APIC則不可或缺,否則將無(wú)法處理多CPU之間的中斷協(xié)調。
APIC可能遇到的問(wèn)題,很多這類(lèi)問(wèn)題可以通過(guò)BIOS更新來(lái)解決。
下面的是通過(guò)更改HAL類(lèi)型來(lái)解決
CPU實(shí)際運行頻率與BIOS設定頻率不符
NF2的用戶(hù)大約有10%的會(huì )出現CPU實(shí)際運行頻率與BIOS設定頻率不符的問(wèn)題。我們稱(chēng)之為“頻率不對”。
這種現象帶來(lái)的直接后果就是在測試3dmark或跑3D游戲的時(shí)候,會(huì )感覺(jué)不流暢,也稱(chēng)之為“頓”。
一般在更改BIOS設置后、更新驅動(dòng)后重啟時(shí),用測試軟件如Aida32、MBM5等可以看到CPU的運行頻率和你在BIOS里設置得不一樣,而且差距很大。這個(gè)時(shí)候,用super pi測試CPU速度,會(huì )比平;ㄙM時(shí)間長(cháng)好幾秒,用3dmark跑測試,會(huì )比平常低幾百分甚至上千分。在3dmark中看到的CPU頻率,也與BIOS設定不符合。
如果出現這種情況,則屬于我們所討論的“頻率不對”的問(wèn)題。
不過(guò),不是所有的3D游戲“頓”都是這個(gè)原因。判斷的方法是:如果你只有個(gè)別游戲“頓”,或者用上述軟件測試頻率正確,就不是此問(wèn)題。
如果判斷確實(shí)屬此問(wèn)題,解決的方法也很簡(jiǎn)單,經(jīng)過(guò)網(wǎng)友討論,只要關(guān)閉APIC功能即可。(注意,是APIC,不是ACPI)。
|
|