首页 ACPI规范20b简介

ACPI规范20b简介

举报
开通vip

ACPI规范20b简介ACPI规范20b简介CPI.0bA2ACPI2.0bACPI2.0bCOB電子工程部電子設計驗證課COB電子工程部電子設計驗證課COB電子工程部電子設計驗證課作者:蔣業高作者:蔣業高作者:蔣業高1.ACPI簡介——————————————————————...

ACPI规范20b简介
ACPI 规范 编程规范下载gsp规范下载钢格栅规范下载警徽规范下载建设厅规范下载 20b简介CPI.0bA2ACPI2.0bACPI2.0bCOB電子工程部電子設計驗證課COB電子工程部電子設計驗證課COB電子工程部電子設計驗證課作者:蔣業高作者:蔣業高作者:蔣業高1.ACPI簡介————————————————————————31.11.11.1主要標準—————————————————————————31.21.21.2電源管理的基本原理———————————----------------------42.2.2.ACPI各種狀態介紹————————-—-------------------------------53.3.3.概述————----------------------------------------------------------73.13.13.1電池管理--------------------------------------------------------------------------73.1.13.1.13.1.1電池通信-------------------------------------------------83.1.23.1.23.1.2電池容量----------------------------------------------------83.1.33.1.33.1.3電池計算----------------------------------------------------93.1.43.1.43.1.4低電池狀態--------------------------------------------------93.1.4.13.1.4.13.1.4.1非正常關機-------------------------------------------------104.4.4.處理器控制-------------------------------------------------------------------114.14.14.1處理器電源狀態-------------------------------------------------------------114.1.1C0----------------------------------------------------------------------------124.1.1C0----------------------------------------------------------------------------124.1.1C0----------------------------------------------------------------------------124.1.2C1----------------------------------------------------------------------------144.1.2C1----------------------------------------------------------------------------144.1.2C1----------------------------------------------------------------------------144.1.3C2----------------------------------------------------------------------------144.1.3C2----------------------------------------------------------------------------144.1.3C2----------------------------------------------------------------------------144.1.4C4----------------------------------------------------------------------------154.1.4C4----------------------------------------------------------------------------154.1.4C4----------------------------------------------------------------------------154.1.54.1.54.1.5其他的處理器狀態-------------------------------------------------------154.24.24.2緩存清空過程-----------------------------------------------------------------164.34.34.3處理器物件說明-----------------------------------------------------------------16555電源設備-------------------------------------------------------------------------------175.15.15.1智慧電池子系統------------------------------------------------------------------175.1.15.1.1.1.15ACPI智慧電池狀態變化 通知 关于发布提成方案的通知关于xx通知关于成立公司筹建组的通知关于红头文件的使用公开通知关于计发全勤奖的通知 要求--------------------------195.1.1.15.1.1.15.1.1.1智慧電池充電器-------------------------------------------------------------195.1.1.25.1.1.25.1.1.2具有可選性系統管理器或選擇器的智慧電池充電器------------------------195.1.1.35.1.1.35.1.1.3智慧電池系統管理器-----------------------------------------------------205.1.1.45.1.1.45.1.1.4智慧電池選擇器-----------------------------------------------------------205.1.25.1.25.1.2智慧電池物件-------------------------------------------------------------------205.1.35.1.35.1.3智慧電池子系統控制方式---------------------------------------------------215.1.3.15.1.3.15.1.3.1範例:單個智慧電池子系統-----------------------------------------------215.1.3.25.1.3.25.1.3.2多智慧電池子系統:範例----------------------------------------------------225.25.25.2控制式電池-----------------------------------------------------------------------------235.2.15.2.15.2.1電池事件------------------------------------------------------------------------------235.2.25.2.25.2.2電池控制方式----------------------------------------------------------------------245.2.2.1BIF:電池資訊:-----------------------------------------------------------255.2.2.25.2.2.25.2.2.2BST:電池狀態:---------------------------------------------------------------275.2.2.3BTP:電池超越點:----------------------------------------------------------------295.3--------------------------------------------------------------------295.3--------------------------------------------------------------------295.3交流適配器和電源物件--------------------------------------------------------------------295.3.15.3.15.3.1PSR(POWERSOURCE)------------------------------------------------------------------295.3.25.3.25.3.2PCL(POWERCONSUMERLIST)----------------------------------------------------295.4範例:電源名稱空間---------------------------------------------------------------------------30編者按:鑒於ACPI規範是本公司電子工程類人員普遍應該瞭解的重要規範,但很多工程人員對該規範的許多概念和基本原理都還不是很清楚,該簡介主要敍述了ACPI的主要電源狀態定義以及其他一些我們在實際工作中需要瞭解的基本工作原理,希望對大家的工作有所幫助。由於本人水平有限,本文中難免會有一些不盡準確的地方,還望各位不吝指正。第一章:ACPI簡介1ACPI(AdvancedConfigurationandPowerInterface)規範被設計用來統一電源管理的工業標準,使得作業系統可以直接控制和配置整個系統與硬體設備之間的電源管理..ACPI是作業系統直接進行電源管理(OSPM)中的關鍵.ACPI改善了原有的通過BIOS來進行電源管理的模式(APM),提供了一個比較優秀的電源管理模式和配置管理的介面規範.ACPI爲從原有的硬體到ACPI相容硬體之間進行有序的過渡提供了一種有效的方式,且它還允許在一台機器當中共存ACPI和APM管理機制,已備需要時使用.另外,新的系統架構還突破了當前即插即用介面的局限性,對其進行了擴展.ACPI爲原來的母板配置介面進行了改善,使其能夠支援這些高級的系統架構並以更有效的狀態運行.包括(並不限於)臺式機,筆記本電ACPI和OSPM在規範中被定義爲適用於所有類型的電腦,腦,工作站以及伺服器.從電源管理模式的觀點來看,OSPM/ACPI改變了人們對電源管理一向以來的觀念.即系統可以在適當的情況下將不使用的設備甚至是整個系統轉換到節能狀態以降低整台機的功耗。1.1主要標準ACPI是OSPM中的關鍵技術,ACPI定義的介面規範被各硬體和軟體廠商廣泛採用,並以之爲標準來生産ACPI相容性(也即OSPM相容性)産品.ACPI和OSPM的主要標準是:1)讓所有的電腦系統都能夠利用該技術來進行電源管理.?電腦系統包括(並不限於)臺式機,筆記本電腦,工作站以及伺服器.?ACPI使電腦系統在作業系統的允許範圍內執行操作顯得遊刃有餘,不管是最簡單還是最複雜的.?ACPI電源管理的廣泛使用使得應用程式可以更方便有效的利用它.這還將使電腦的新功能更爲實用,使原有的電腦功能使用得更經濟節能.2)增強電源管理的功能性和有效性?ACPI電源管理太複雜,不能在BIOS內執行管理,但是在作業系統中卻完全可以支援這種電源管理模式,作業系統可以讓非常廉價的硬體支援很複雜的電源管理技術.?研究整理電源管理在用戶,應用程式以及系統硬體中的使用情況可以促使電源管理更能充分發揮出它應有的功能.?電源管理在作業系統中的運算法則保持一致性將會減小作業系統和固件之間的衝突,而且還將增強系統的可靠性.3)加速和推動電源管理工業的快速發展.?OSPM和ACPI將降低整個工業在電源管理上多餘的投資和消耗,現在,電源管理可以整合進作業系統來統一進行配置管理.這就使得業界的參與者可以將他們的精力和投資更多的放在改革和創新上.?作業系統能改善硬體的獨立性,允許所有的ACPI相容設備都能從改革和創新後的作業系統中獲益。4)爲主板設備的配置建立了一個功能強大的介面?允許新産品的設計以新的介面爲標準。1.2電源管理的基本原理爲了達到前面所提到的ACPI的主要目標,將電源管理整合到作業系統裏並在作業系統和硬體設備之間使用這種先進的電源管理技術是很有必要的。,對於電源管理來說,最小限度的支援約束了應用軟體發展者使用它.?將電源管理功能整合進作業系統使得每一台安裝有作業系統的設備都能夠通過作業系統來進行電源管理成了可能.電源管理的功能性標準(節能,等等)會隨著設備的變化而變化,但是用戶和應用軟體都可以看到的是OSPM系統上使用的都是相同的電源管理介面.?這將促使應用軟體發展者將電源管理功能整合進他們的産品裏.,原來APM電源管理模式的運算法則在進行運算時由於BIOS的功能太過於簡單而受到限制,這種功能上的局限性是可以改善的.?研究整理電源管理在用戶,應用程式以及硬體中的使用情況可以讓電源管理更能例如:一個作業系統有一個策略可以將I/O操作轉變成活動充分發揮出它應有的效用.的和非活動的.非活動的I/O操作(比如一個字處理器將文件保存在後臺)將被聚集起來,只有在由於某些原因I/O設備被啓動時才會被執行.一個活動的I/O請求能在設備被關閉的時候馬上將該設備喚醒,然後活動的I/O請求跟這會被執行,任何未定的非活動I/O請求也會被執行.這樣的策略需要知道什麽時候I/O設備會被啓動,哪一個I/O請求是非活動的,以便保證這些非活動的I/O操作不至於被扼殺掉.?功能用法,比如應答機,整個工作過程對電源管理要求都比較高.例如:一個電話應答機會請求作業系統:‚我現在正在等待來電,當系統進入任何一個休眠狀態時如果有來電必須允許我在1秒鐘內喚醒並對來電作出應答.?那麽,當用戶按‚關閉”按鈕時,系統將會進入深度睡眠狀態以適應電話應答機的要求。,BIOS直接進行電源管理可以說是很複雜了的,但是它還是很難和ACPI電源管理模式相比,因爲它局限於只可對硬體的進行靜態配置。?BIOS能夠保留和處理的狀態資訊比較少:因爲大多數都由作業系統來處理。:?ACPI電源管理運算法則是和作業系統保持一致性的,所以在作業系統和硬體之間它可以遊刃有餘。?因爲載入了附加的ACPI參數,作業系統可以對設備進行動態的配置。比如:當在一個移動系統被插拔的時候。?因爲BIOS的功能比較少相對也比較簡單,較易實現它的相關功能,且費用也比較便宜?原有的PC架構平臺約束了作業系統和硬體的設計方向。?因爲ACPI在某些方面還是比較精煉的,所以作業系統可以從硬體中分離出來,同樣的,硬體也可以從作業系統中分離出來。?ACPI通過在作業系統和處理器之間的交叉使用可以表現出更加出色的性能,ACPI具有非常靈活方便使用的獨特性能。第二章:ACPI各種狀態介紹ACPI是由INTEL,MICROSOFT,TOSHIBA所共同制定的.是爲了在作業系統和硬體之間有一個共同的電源管理介面.以改進以前在電源管理上由各別的廠商所制定的不統一介面.ACPI由Win98及WNT5.0開始支援.把電源管理的功能整合到作業系統中.藉由統一的介面來控制所有硬體的電源操作.從Notebook到桌上型和伺服器均包含在此規格內.所有的狀態可分爲G(Global),D(Device),S(Sleeping),C(CPU).Global是指所有系統.又可分爲工作狀態.使用者程式可正常的執行.但是設備可以動態分配它們自己的狀態.G0-在沒有用到此設備時.此設備可進入其他非工作狀態。該狀態下,系統即時回應Working外部事件:該狀態下,不能拆裝機:此狀態下系統銷耗較小的電源.沒有任何使用者的程式在執行.系統看起來就像在關機狀態.因爲此時顯示幕幕是被關閉的.只要有任何喚醒啟動的事件傳達進G1-Sleeping入系統即很快會回復到工作狀態.:該狀態下,不能拆裝機:此狀態下系統只保留非常少的電源.沒有任何使用者和作業系統的程式在執行.G2/S5-Soft這個狀態下需要較長的時間來回復到工作狀態.:該狀態下,不能拆裝機:OffG3-整個系統的電源均關閉.沒有任何電流通過系統.系統只能重新打開電源供應器Mechanical的開關來啟動.此狀態下電源的消耗爲零.OffGlobal狀態摘要在運電子方式系統狀態喚醒時間電源消耗安全拆裝OS重啓行軟體退出狀態G0-YES0LARGENONOYESWorking>0,隨休眠G1-NOSMALLNONOYES狀態變化SleepingVERYG2/S5-NOLONGYESNOYESNEAR0SoftOffG3-RTCNOLONGYESYESNOMechanicalBATTERYOffDevice是指一些設備.例如數據機,硬碟,光碟機等.又可分爲D0-正常工作下.Fully-On可節省較少的功耗,仍然保持ACTIVE的設備功能較D2要多的多,該狀態由設備D1本身所決定,有些設備不能進入D1STATE。某些功能被關閉.可省較多的電源.該狀態由設備本身所決定,有些設備不能進D2入D2STATE。此狀態下設備的電源完全被移出,所以下次電源再一次被供應時需要作業系統重新再對這個設備作一次設定:此狀態下設備不對位址線進行解碼:該狀態需要D3-Off最長的喚醒時間,所有的設備都可以進入該狀態。Device狀態摘要設備狀態電源消耗設備活動功能喚醒時間依據操作需要而定AllNoneD0-Fully-OnD0>D1>D2>D3>D2<D2D1D0>D1>D2>D3<D1>D1D2需要完全初始化和重0NoneD3-Off新載入Sleeping是指在G1下系統進入睡眠狀態.又可分爲正常工作下,所有設備全開,功耗一般會超過80WS0-FullonPoweronSuspend,淺休眠狀態,在此狀態下可很快的回復系統的運作,系統:CPUS1–SleepingORCHIPSET:的內容均沒有遺失.,但是CPU已經停止工作,其他的部件仍然:POS:正常工作,這時的功耗一般在30W以下。:其實有些CPU降溫軟體就是利用這種工作原理:類似S1但是CPU和Cache的內容巳遺失.系統回復後作業系統需要維護CPU和Cache的內容。這時CPU處於關閉狀態,匯流排時鐘也被關閉,但其S2-Sleeping餘的設備仍然運轉,喚醒事件發生後,首先由CPU的reset信號開始動作。SuspendtoRAM,除了記憶體的資料外其餘CPU,Cache,Chipset的內容均遺失.S3–Sleeping記憶體的內容由硬體維護,喚醒事件發生後,首先由CPU的reset信號開始動作。:STR:這時的功耗不超過10W。SuspendtoDISK,此狀態有最低的功耗,最長的喚醒時間,所有的設備均被關S4-Sleeping閉。系統主電源關閉,但是系統資訊會存入硬碟,硬碟仍然帶電並可以被喚醒。:STD:即是G2的狀態,和S4類似。連電源在內的所有設備全部關閉,但作業系統不維護任何內容,該狀態下需要一個完整徹底的啓動過程來重新喚醒系統,BIOS使S5-SoftOff用一個不同的狀態值來區分S4和S5兩種狀態喚醒時是否將需要從保存的記憶體鏡像來啓動。這時的功耗爲0。CPUSTATE也即G0下的系統狀態,可分爲CPU正常執行指令.C0有最低的喚醒時間.在該狀態下的硬體喚醒時間必須足夠小,這樣操作軟體在決定是否使用該設備時可以完全忽略掉該狀態下的硬體喚醒時間。除了將處理器置C1於一個非執行指令電源狀態外且該狀態下軟體完全不受影響。較C1更節省功耗,該狀態下有比C1稍長的喚醒時間,這是由ACPI系統固件所決定的,操作軟體可以依據這個資訊來決定CPU該在什麽時候由C2狀態進入C2C1狀態。除了將處理器置於一個非執行指令電源狀態外且該狀態下軟體完全不受影響。較C1和C2節省更多功耗,該狀態下的喚醒時間最長,.這是由ACPI系統固件所決定的,操作軟體可以依據這個資訊來決定CPU該在什麽時候由C3狀態進入C3C2狀態,在該狀態下,處理器的緩存內容仍然保持,但是忽略任何偵聽。操作軟體負責保持緩存內容的一致性。第三章:概述3.1電池管理電池管理策略從APMBIOS轉移到支援ACPI。電池必須遵守兩者共同的介面要求,這些要求表現爲在這裏所列的標準或是其他的可用標準。作業系統有可能會改變電池的工作行爲,例如:調整低容量電池或電池報警點。當存在有多個電池時,電池子系統依據單個電池的資訊不會把這個電池系統看成是任何‚合成電池?的合成體,在電池子系統不承認存在合成電池的時候,作業系統必須提供對該種電池子系統的支援。一個ACPI相容性電池設備需要一個智慧電池系統介面或是一個受控式電池介面。?智慧電池由作業系統直接通過內置的控制器:EC:來控制。?受控式電池完全由AML編碼控制方式來控制,它允許OEM廠家根據ACPI的標準來選擇任何類型的電池和任何類型的通信介面。3.1.1電池通信智慧式電池和受控式電池介面都必須爲作業系統提供一個如何從電池系統平臺獲取資訊的機制。這些資訊包括電池容量已滿,當前電池容量,充電速率以及其他的一些電池狀態測量值。所有類型的電池系統在發生任何變化時都必須向作業系統發出通知,比如:插拔電池時,電池開始或停止放電時,等等。智慧電池和一些受控式電池根據電池容量的改變也能向作業系統發出通知。智慧電池還能夠提供一些特殊的通知資訊,如:運行壽命,電池的供給能力,預定放電速率時的運行壽命。3.1.2電池容量每一個電池都必須指示出它的設計容量(designedcapacity),最大充電容量(lastfullchargedcapacity),以及當前剩餘容量(presentremainingcapacity)。電池剩餘容量會在使用過程中減少,也能在隨著環境的變化而減少。所以,作業系統必須根據電池的最大充電容量來計算電池容量百分比。另外電池系統也須向用戶指出電池不足警報點(OEMdesignedinitialcapacityforwarning)和電池嚴重短缺警報點(OEMdesignedinitialcapacityforlow),當電池容量達到警報點的時候,電池系統會通知用戶將系統切換到休眠狀態以免用戶正在編輯的資訊遺失。這五個電池參數的關係見圖一所示.一個電池系統可以用‚率?和‚容量?:mA/mAH:或是‚功率?和‚能量?:mW/mWH:來作爲電池資訊的表示單位。但是mA和mW不能同時用來在一個系統裏作爲表示單位.圖一.Reportingbatterycapacity3.1.3電池計算在大多數情況下作業系統計算剩餘電池百分比一般都是使用下面的公式:受控式電池也必須要指出當前的電池的消耗率(mAormW)以計算剩餘的電池壽命.在大多數情況下作業系統計算剩餘電池壽命一般都是使用下面的公式:智慧電池也需要指明當前的電池消耗率,但是由於智慧電池能夠直接估算出電池壽命,而且算出來的值也比較準確,所以這種估算法就被用來取代前面所說的電池指示方法.3.1.4低電池狀態系統有一個電池不足警報點(OEMdesignedinitialcapacityforwarning),一個電池嚴重短缺警報點(OEMdesignedinitialcapacityforlow)和一個電池零狀態.不足報警點和嚴重短缺報警點的衡量值是由系統所決定的,當系統需要進行某一操作而電池容量或能量卻又不足以供系統完成這一操作時系統就會認爲這時的電池容量就是電池的不足報警點和嚴重短缺報警點.電池零狀態是用來指示當電池已經完全耗盡時的狀態.OSPM依據OEM廠家所設計的標準可以自己制定電池的不足報警點和嚴重短缺報警點,但是它所設定的值不能低於OEM廠家設計的標準.具體關係見圖二所示:圖二.Lowbatteryandwarning系統中的每一個受控式電池都必須指出電池不足警報點和電池短缺警報點,同樣的在當電池達到或是低於電池警告標誌時也必須發出警報。而智慧電池卻可以不像受控式電池那樣,智慧電池不必詳細指明哪一種機種類型的警報點是什麽,因爲那些值它可以估算出來.下表列出的是兩個警報點和電池零狀態的詳細描述.項目描述當總可用電池容量降低到這個標準時,作業系統將通過(UI)來通知用戶.這時候電池容量還可以供系統運行幾分鐘的時間,用戶完全有電池不足報警點時間保存正在處理的重要工作並做出相應措施,更換電池或是插上外接電源插頭.這個標準是作業系統對電池容量的一個估算值,當電池容量達到這個標準時,作業系統就會切換到某一個睡眠狀態下,大多數情況下是切換到S4,就算電池容量消耗完了,系統資訊也不至於丟失.根據作業系統的設計,系統會認爲一個多電池系統的用戶可能會在某一位電池嚴重短缺報警點置拔掉一個或多個電池,或是對它們進行充電.這就可能導致剩餘的電池容量低於嚴重短缺報警點,沒有足夠的能量供給作業系統安全的切換到睡眠狀態,所以,如果有電池同時在進行放電時,就該在有兩塊電池同時達到嚴重短缺報警點的時候再進行前面的動作.電池零狀態表明所有可用電池容量都已被耗盡,已經不再有能力支援作業系統運作,這時作業系統就會執行如下所述的關機動作:對於智慧電池系統來說,當所有的電池容量都達到零的時候系統才會認爲達到了電池零狀態,但是OEM廠家可能會爲智慧電池另外選定一個稍大的值來作爲它的安全界限.電池零狀態對於受控式電池系統來說,系統會指示每一塊電池的電池零狀態,如果電池系統裏有任一塊電池已經達到電池零狀態卻仍然在向系統供電(也就是說電池仍然還在放電),那麽系統就會認爲整個系統已經達到了電池零狀態,_BST信號只有當所有的電池都已經達到電池零狀態的時候才會被要求返回到一個仍然在放電電池的零狀態.否則ACPI會被要求切換到一個非電池零狀態.3.1.4.1非正常關機系統進入到電池零狀態並不是一個正常的現象,因爲當電池達到容量嚴重短缺報警點時系統就會被切換到睡眠狀態了.當發生這種情況時,作業系統將會採取措施最大限度的減小系統完整性受到損害.突發事件關閉程式將依據”電源可能在任意時刻都有可能斷掉”的假設來設計,以求將損害降低到最小.例如:一個硬碟的轉速正在慢慢降低時,作業系統不會爲了寫資料而將硬碟的轉速提高.因爲提高硬碟的轉速並在上面寫資料的話,寫操作失敗了就會有損壞文件的潛在可能性.甚至於如果一個磁片正在加速運轉時,用戶想要在系統關閉之前保存系統設置資訊的企圖都必須要仔細分析過,因爲恢復以前的設置狀態這個操作受到的損害可能要比保存當前的系統設置狀態這個操作受到的損害要小些,保存系統設置狀態需要通過寫操作來完成,這就有可能在半途電源突然斷掉而造成系統設置資訊受到破壞.第四章:處理器控制這部分內容將要描述在處理器控制過程中OSPM的運行特點,電源消耗以及系統在其他工作狀態下的控制。處理器的主要控制是:,處理器電源狀態:C0,C1,C2,C3…Cn,處理器時鐘扼殺,處理器性能狀態:P0,P1,…Pn這些控制被OSPM用以協調下列可能衝突的事件以求達到理想中的平衡。,性能,電源消耗和電池壽命,熱量要求,噪音要求因爲這些有衝突的事件總是彼此相互影響,操作軟體需要遵從一個策略,也就是什麽時候在哪里應該協調這些有衝突的事件.比如:操作軟體將監控什麽時候風扇的雜訊過大,以免造成處理器或是其他IC的溫度過高,這會適當降低處理器的性能以免過熱。每個處理器的控制都涉及到下列所敘的部分,以及連同這些控制是怎樣影響變化事件的。4.1處理器電源狀態ACPI可以在系統工作在G0狀態下時支援CPU工作在4個狀態中的任何一個狀態(C0~C3).C0是最活躍的一個電源狀態,該狀態下處理器正常執行指令。C1,C2,C3電源狀態是處理器的睡眠狀態,在這些狀態下,處理器比起工作在C0狀態下時消耗較少的電源和産生較少的熱量。當處於睡眠狀態時,處理器不執行任何指令。處理器在進入和退出每一個睡眠狀態時,相應的都會有一個反應時間。一般來說,反應時間越長,該狀態下功耗就越小。爲了節省電源,在空閒的時候OSPM將處理器置於其中一個睡眠狀態。當處於C0狀態時,ACPI允許處理器的工作狀態被一個預定的扼殺進程改變或是轉入多性能狀態:P狀態:。處理器電源狀態的示意圖如下所示:在任何系統睡眠狀態下,處理器都是不執行指令的:也就是說不是正常的工作狀態:,電源消耗多少由該睡眠狀態的特性所定。對於作業系統來說,過熱警報機制爲它留有餘地來權衡當過熱的時候是否應該報警,或是打開風扇,也或是降低處理器性能,這樣的話過熱警報就不會發生。請注意這些CPU狀態圖是表示在G0工作狀態下的CPU狀態,CPU的工作狀態在G3睡眠狀態下沒有定義,Cx狀態僅僅適用於G0狀態。ACPI在CPU的每一個基本單元上都定義了他們的邏輯工作狀態,而這些基本單元是被OSPM用來在不同的處理器電源狀態之間相互轉換的,這種邏輯是可選的,並且可以通過FADT和處理器物件:存在於分等級的名稱空間裏:來描述。FADT中的域段和標記描述了相近的硬體特性,處理器物件中包含了CPU時鐘邏輯的詳細位置。:由P_BLK寄存器和_CST物件來描述。:P_LVL2和P_LVL3寄存器爲系統處理器轉入C2和C3狀態提供可選性的支援。P_LVL2寄存器被用來將選定的處理器轉入C2狀態,P_LVL3寄存器被用來將選定的處理器轉入C3狀態。通過匯流排主狀態和仲裁器禁止位元:PM1_STS寄存器中的BM_STS位和ARB_DIS寄存器中的PM2_CNT位:可以爲C3狀態提供一些附加的支援功能。系統軟體將P_LVL2寄存器和P_LVL3寄存器中的內容讀入C2或C3電源狀態中。硬體系統在對P_LVLx寄存器進行讀操作時處理器必須置入正常的時鐘狀態下。對處理器電源狀態的支援是對稱的;OSPM假設同一個系統中的所有處理器都支援相同的電源狀態。假如處理器有非對稱的電源狀態,那麽BIOS就會選擇使用最低的常用電源狀態,根據FADT的規定,這些常用的電源狀態是被系統中所有的處理器支援的。例如:CPU0支援所有的電源狀態:C0~C3:,但是CPU1只支援C1狀態,那麽OSPM將會只把空閒的處理器置入C1狀態:CPU0將不會置入C2或是C3狀態:。C2和C3狀態是可選的:參考SECTION5.2.5中的FADT表中的PROC_C1欄位:。以下將會詳細描述CPU的電源狀態。4.1.1C0當處理器處於C0狀態下時,CPU執行指令,這時OSPM會以稍小於最大功耗的性能來運行CPU,這個任務是由時鐘扼殺機制制持OSPM來完成的。這個機制允許OSPM將一個值以編程的方式寫入一個寄存器,這樣就可以將處理器的性能降低到最大功耗的一個百分比來運行了。FADT包含了占空偏差:dutyoffset:和占空寬度(dutywidth)值,占空寬度值決定了定義占空值所佔用的二進位數字的位數:決定了扼殺邏輯的間隔:。有時鐘邏輯所決定的處理器性能可以用下面的方程式來表述:理論上處理器的性能定義爲:‚當可能時關閉,但不是低於所指示出的性能水平。?OSPM將使用占空偏移和占空寬度來定義如何訪問占空設置欄位。接著OSPM根據熱量條件和處理器物件所要求的功率來對占空設置進行編程。OSPM利用在方程式一中的方程式計算處理器性能的理論值。注意:‚零?的占空設置是被保留的。比如:時鐘邏輯可以使用可停止周期仿效一個在間接定址方式處理器上的獨立的處理器時鐘頻率:通過利用STPCLK#信號。:當處於低電平狀態時,信號將內部停止處理器的時鐘。爲了完成可以爲時鐘控制提供8個等級的邏輯過程,STPCLK#將以下面的狀態來工作:爲了仿效不同的頻率設置::爲了執行扼殺邏輯進程,OSPM將會按要求對占空設置進行設置,然後會把THT_EN位拉高。爲了改變占空設置,OSPM首先會將對THT_EN位進行重置:拉爲低:,然後在保存這個寄存器中未使用的其他欄位時OSPM會將另一個值寫入占空設置欄位,最後再一次將THT_EN位拉高。以上邏輯過程舉例如下圖所示:ACPI處理器電源狀態的執行最低限度要求一個單一的CPU睡眠狀態:C1:支援來支援。所有的CPU電源狀態都只在G0/S0系統狀態下發生;當系統進入S1-S4狀態時它們變得毫無意義。ACPI定義了不同的CPU屬性:C0~C3:。ACPI時鐘控制是由可選性處理器寄存器P_BLK支援的。ACPI要求在系統中的每一個CPU都有唯一的一個處理器寄存器爲它所用。另外,ACPI還要求對於多處理器系統時鐘邏輯必須是對稱的;如果P0處理器支援C1,C2和C3狀態,但是P1只支援C1狀態,在空閒的時候OSPM就會禁止所有的處理器進入C1狀態。以下內容將詳細描述不同的ACPICPU睡眠狀態的定義。4.1.2C1所有的處理器必須支援這個電源狀態。這個狀態是由一個處理器內部指令來支援的:32位元處理器的HLT指令:,在這裏假設晶片組不提供硬體支援。這個狀態的硬體反應時間必須足夠小,當OSPM在決定是否使用它的時候就可以忽略掉該狀態下的反應時間。除了將處理器置入一個電源狀態以外,該狀態下軟體並不造成任何影響。在C1狀態下處理器仍然保存了系統緩存的內容。硬體可以以任何方式退出該狀態,但是在退出該狀態之前必須要向處理器提出中斷請求。4.1.3C2這個電源狀態由系統有選擇性的進行支援。它是由處理器中的P_LVL2命令寄存器控制的,該狀態下的能耗比C1更小。該狀態的反應時間在FADT中規定爲比C1的反應時間要長,OSPM依據該資訊來判斷該在什麽時候將C2狀態轉爲C1狀態。除了將處理器置入一個電源狀態以外,該狀態下軟體並不造成任何影響。OSPM假設C2狀態較C1狀態有更低的功耗和更長的反應時間。C2電源狀態是一個可選擇性的ACPI時鐘狀態並需要晶片組提供硬體支援。該時鐘邏輯由一個P_LVL2寄存器組成,當對該寄存器進行讀操作時就會引導處理器進入C2電源狀態,這裏假設處理器能夠保持緩存內容的完整性;比如:匯流排主控和多處理器可以在不影響緩存內容的情況開始活動。C2狀態在多處理器和匯流排主控系統中爲處理器提供了一個優化的低功耗工作方式,當有多處理器活動或匯流排主控活動:這種活動將會禁止OSPM將多處理器置入C3狀態:的時候OSPM會將一個空閒的複合處理器置入C2狀態。處於C2狀態時複合處理器會偵聽匯流排主控或多處理器系統中CPU對記憶體的訪問操作。硬體可以以任何方式退出該狀態,但是在退出該狀態之前必須要向處理器提出中斷請求。4.1.4C3這個處理器的電源狀態在系統中也是可選性的,它由處理器中的P_LVL3命令寄存器控制,該狀態下的能耗比C1和C2都小,該狀態的反應時間在FADT中規定爲比C1和C2的反應時間都要長。OSPM依據該資訊來判斷在什麽時候將C3狀態轉爲C2或是C1狀態。在該狀態下,處理器的緩存內容保持穩定,但是處理器不會去偵聽匯流排主控和多處理器系統CPU對記憶體的訪問操作。硬體可以以任何的方式退出該狀態,但是在退出該狀態之前必須要向處理器提出中斷請求或是當信號BM_RLD被設置以及一個匯流排主控將要訪問記憶體的時候。OSPM負責保證緩存內容的完整性。在一個單處理器的環境下,通過利用PM2_CNT信號就可以完成該操作。在C3狀態下ARBJ_DIS匯流排主控仲裁器將會禁用寄存器以保證不會産生匯流排主控周期。在多處理器環境下,處理器的緩存內容卻可以被銷毀掉,在進入C3狀態前沒有動態的資訊保留在緩存中。有兩種機制支援C3電源狀態:,讓OSPM降低緩存的優先權轉入C3狀態。,提供硬體機制阻止主控對記憶體進行寫操作。:只適用于單處理器模式:第一種情況,OSPM將系統緩存的優先權降低進入C3狀態。因爲銷毀處理器緩存內容需要一定時間導致該狀態下的反應時間較長,所以OSPM就很有可能在多處理器平臺中只對空閒的處理器支援這種機制。緩存內容的銷毀操作是由ACPI已定義的一個機制完成的。在單處理器平臺中將提供所需的硬體功能,即OSPM會將平臺置入一個預定模式,該模式的主要作用是在處理器處於C3狀態下時阻止系統匯流排主控對記憶體進行讀操作。該操作是通過關閉匯流排主控優先權來進入一個C3狀態來完成的.一旦匯流排主控請求訪問操作時,CPU馬上就會從C3狀態下喚醒並重新啟動匯流排主控的訪問操作.在分析一個’到’或是’從’C2/C3電源狀態的一個轉變時,OSPM利用BM_STS位來決定將要進入的電源狀態.BM_STS是一個可選擇位元,它指示匯流排主控正處於活動狀態.OSPM使用這個二進位位元在C2和C3電源狀態之間來決定策略許多匯流排主控活動會將CPU的電源狀態降到C2狀態或是C1狀態(如果不支援C2狀態的時候),沒有什麽匯流排主控活動可以將CPU的電源狀態提高到C3狀態的.OSPM會保存BM_STS位的變化歷史以之來決定CPU的電源狀態策略.在C3電源狀態中被用到的最後的一個硬體特性是BM_RLD位元.該二進位位元將決定是否將以Cx電源狀態的退出來作爲匯流排主控請求的結果,如果是這樣,Cx電源狀態就會回應一個匯流排主控的請求而退出.在C3狀態下,匯流排主控請求需要將CPU帶回C0狀態(因爲系統可以保持緩存的完整性),但是這樣一個轉變過程對於C2來說是不必要的.在使用C3狀態下OSPM可以有選擇性的設置這個二進位位元,在使用C1和C2狀態的時候會將該二進位位元清除.4.1.5其他的處理器狀態ACPI2.0有選擇性的定義了C3以外的處理器電源狀態。這些被定義爲C4…Cn的狀態通過_CST物件(C-STATE)傳到OSPM。這些附加的電源狀態的定義方法和C1~C3的定義方法一樣,但是它們的進入/退出反應時間和功耗是不同的。4.2緩存清空過程爲了在不使用ARB_DIS性能的情況下支援C3電源狀態,硬體必須提供清空處理器緩存內容的功能:對於一個間接定址的處理器,這個功能是由WBINVD指令來完成的:。爲了支援S1,S2或S3睡眠狀態,硬體也必須提供清空緩存的功能。這個功能是由以下機制中的其中之一支援的:,間接處理器中提供寫回的指令和清空系統緩存的指令:WBINVD:。,間接處理器中提供寫回的指令但不是清空系統緩存的指令:WBINVD:以及一些部分支援的晶片組,也就是說,他們不清空緩存內容。ACPI規範期望所有的平臺都支援本地CPU指令能夠清空系統緩存的內容:在CPU和晶片組中都支援:,以及提供一些對系統有限性的最大可能性的支援,儘管目前所說的這種系統還不符合這種相容性要求。平臺所使用的方法是通過FADT中適當的欄位和標記來指示。ACPI在FADT中所指的參數定義描述了系統緩存的相容性。如果平臺能夠正確支援間接定址方式處理器中的寫回指令和清空系統緩存指令:WBINVD的話,通過設置FADT中的WBINVD標誌這種支援就可以爲OSPM所接受。如果平臺都不支援上面兩種機制的話,OSPM在符合下面標準的情況下還可以手動的對緩存內容進行清空。,一個允許連續對鄰近的實體記憶體進行讀取不超過2MB的操作,將會對平臺的緩存內容進行清空。FADT中有兩個額外的欄位需要被支援手動清空緩存內容:,FLUSH_SIZE,系統中最大尺寸的緩存標誌。,FLUSH_STRIDE,系統中最小管道尺寸的緩存標誌。4.3處理器物件說明處理器物件在系統中每一個處理器中被描述爲使用一個ASL處理器語句的物件。一個處理器物件爲處理器提供配置資訊並指向處理器寄存器段:P_BLK:.ACPI2.0處理器物件是在\_SB名稱空間裏被描述定義的。這將可以使OSPM以一個仿設備的方式來對處理起來進行操作。比如:在一個多處理器系統中,處理器有可能被禁止使用或者是被動態調配使用。。ACPI2.0相容性系統出於對ACPI1.0的相容性考慮將會繼續保留在ACPI1.0種定義的\_PR名稱空間。處理器物件或者在\_SB中也或是在\_PR範圍內,但不會同時存在於兩者之中。ACPI2.0通過定義處理器指定的物件:可能包含在處理器物件可選擇性列表中:擴展了處理器物件的定義。這些物件作用於多種用途:爲由處理器寄存器欄位P_BLK和處理其性能狀態控制定義的寄存器提供變化的定義。另外,在ACPI2.0規範下,其他的ACPI定義的相關設備物件也有可能包含在處理器物件列表中:例如唯一的標示物件_UID:。仿設備的特性是由支援ACPI2.0的處理器所決定的,這就意味著一個處理器設備驅動程式將被OSPM最小化的載入作爲設備通知。OSPM將會使用ACPI名稱空間在系統中對指定處理器本身標示指令和可選_HID方式進行列舉。OSPM將會忽略在物件列表中被ACPI定義物件的作用。第五章:電源設備該文主要描述OSPM用來作爲電源的電池和交流電源設備的定義。一個電池系統要麽是由一個智慧電池子系統構成,要麽就是由一個控制式電池介面構成。OSPM必須能夠連接和管理這些介面標準的電池,這部分將會描述這些介面的定義。在一個ACPI相容性的智慧電池列表中,爲了符合SMB-HC的定義中必須包括一個匯流排/設備包的規定。也必須爲SMBUS安裝一個作業系統指定的驅動程式來對智慧電池子系統中的部件依次進行定位。另外對於電池和電池系統來說,智慧電池子系統包含了一個充電設備和一個管理設備來對多電池的子系統進行處理操作。智慧電池系統管理是一個能夠在系統中對存在可用的電源:交流電源和電池:做出選擇的管理設備所進行的執行過程。他對智慧電池選擇器的功能進行了擴展,比如安全回應電源事件:交流電源和電池:,插拔電池以及那些系統中相類似的變化。另外智慧電池管理器還能對同時存在充電和放電的多電池系統進行管理配置。不像智慧電池選擇器可以和OSPM共同承擔配置電池系統的任務,智慧電池系統管理器單獨對電池系統進行安全配置管理,只是當配置發生了變化的時候才向OSPM發出狀態標誌。智慧電池系統管理器是被推薦的處理多電池系統最佳的解決 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 。5.1智慧電池子系統智慧電池子系統被定義如下:,系統管理匯流排規範:SMBUS:,智慧電池資料規範:SBDS:,智慧電池充電規範:SBCS:,智慧電池系統管理器規範:SBSM:,智慧電池選擇器規範:SBSS:一個ACPI相容性的智慧電池子系統由以下組成部分構成:,一個SMB-HC(CPUTOSMB-HC)介面,至少一個智慧電池,一個智慧電池充電器,如果在系統中有一個以上的智慧電池,則必須有一個智慧電池系統管理器,或是一個智慧電池選擇器。在這樣的一個子系統中,一個智慧電池和一個智慧電池充電器之間的聯繫是通過SMBUS物理協定來完成的。智慧電池系統管理器或智慧電池選擇器能夠爲任何智慧電池子系統提供事件發生通知,充電器系統管理匯流排也能爲之安排合理的操作。一個典型的智慧電池子系統示意圖如下所示:系統管理匯流排爲每個設備定義了一個固定的7bits的從屬地址。這就意味著系統中所有的電池都有相同的地址:被定義爲0xB:。叢屬位址和智慧電池子系統的關係見下表:每個系統管理匯流排設備都有達到256個通過系統管理協定中的COMMAND值來定址的寄存器。系統管理匯流排設備通過將指定的寄存器中的COMMAND值送給從屬地址的方式來定址。每個系統管理寄存器都有非線性的紀錄;也就是說命令寄存器1可以有一個32位元的字串,而命令寄存器2可以包含一個位元組,命令寄存器3包含一個字。系統管理匯流排主從介面爲主的CPU産生系統管理匯流排協定命令提供一個標準的機制,而這其中的系統管理匯流排協定命令是用來與系統管理匯流排設備:也就是指智慧電池部件:進行聯繫的命令。ACPI定義了這樣一個位於內置控制器位址空間的SMB-HC;然而,作業系統可以支援任何有相應SMB-HC設備驅動程式的SMB-HC。智慧電池系統管理器爲在一個智慧電池子系統中控制多個智慧電池提供了一個標準的可編程模板。一個智慧電池系統管理器提供了以下幾種類型的電池管理功能:,電池插拔的事件通知,交流電源插拔的事件通知,哪一個智慧電池正在與SMB-HC進行聯繫的的狀態,哪些智慧電池正在爲系統供電的狀態,哪些智慧電池正在與充電器進行連接的狀態,系統中哪些智慧電池是可用的狀態,智慧電池系統管理器從一個電源切換到另一個電源的事件通知,當智慧電池電量耗盡時電池的的硬體切換,電池供電操作和交流電源供電操作的硬體切換智慧電池系統管理器功能可以應用於一個單獨的SMBUS從屬設備:智慧電池系統管理器回應0xA從屬地址:,也可能出現于一個智慧充電器設備中:智慧電池回應0x9從屬地址:,或者也可與內置控制器相結合:回應0xA從屬地址:。如果一個智慧電池充電器和一個單獨的智慧電池系統管理器同時都存在于相同的智慧電池系統中,驅動程式會假設單獨的智慧電池系統管理器與電池相連接。智慧電池充電器是一個提供標準的可編程模板:該模板用於控制存在于智慧電池子系統中電池的充電:的系統匯流排設備。對於單個的電池系統,智慧電池充電器也會爲系統發出電池和交流電源狀態的通知。智慧電池能夠以智慧的化學反應産生電源來供給系統能源。智慧電池能夠通知電池充電器它的充電要求:提供獨立的化學性:以及向電池管理提供電池狀態和平臺所需的警報特性。5.1.1ACPI智慧電池狀態變化通知要求智慧電池系統管理器,智慧電池選擇器以及智慧電池充電器都有一個用於向系統通報電池配置或交流電源狀態已經被改變的可選性機制。ACPI定義了這種中斷機制可以終止系統管理匯流排警報通告。對於使用一個內置控制器的系統來說,像系統管理匯流排主控制器,一個電池系統設備通過控制系統管理匯流排向系統管理匯流排控制器直接發出通報或是在內置控制器中仿效這種方法發出一個狀態改變的通報。在有些情況下處理過程也是相同的。當通報被接受或是被仿效以後內置的控制器會發出一個SCI。SCI的來源通過GPE:指示SCI是由內置控制器發出的:被驗證。當內置控制器的狀態寄存器的警報位元被設置以後就說明系統管理匯流排主控制器接受到了一個警報資訊。警報地址寄存器包含了系統管理匯流排設備:引起警報的設備:的位址,警報資料寄存器包含了設備的狀態紀錄。5.1.1.1智慧電池充電器在一個電池或是交流狀態變化時需要一個智慧電池充電器來産生一個SMBUS警
本文档为【ACPI规范20b简介】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_240534
暂无简介~
格式:doc
大小:487KB
软件:Word
页数:42
分类:互联网
上传时间:2017-09-25
浏览量:14