新四季網

系統管理總線通知的製作方法

2023-05-26 04:04:56

專利名稱:系統管理總線通知的製作方法
技術領域:
本發明一般涉及SMBus(系統管理總線)事件通知的處理並且尤其涉及用ASL(ACPI源語言)碼處理SMBus事件通知,ASL碼被編譯成AML(ACPI機器語言)碼和AML映像—消除對ASL碼的需求以操作較低層次的硬體,譬如一個嵌入式控制器。
(2)背景技術ACPI規範概述了嵌入式控制器的一個接口。SMBus是一個系統管理總線。使用SMBus來訪問個人電腦硬體(例如,電池、能量效率設備、在一個高級配置電源接口(ACPI)環境中所可能用到的設備)。按照慣例,SMBus是由一個作業系統通過一個ACPI規範的嵌入式控制器和與該控制器相關的設備驅動來訪問的。可能會產生同步的問題,例如,當作業系統和AML碼試圖在近乎相同的時間訪問SMBus時。
(3)發明內容下文給出了本發明的一個簡化的摘要以形成對本發明的一些方面的一個基本理解。該摘要並不是對本發明的廣泛概述。並不打算確定本發明的關鍵/決定性的元素或者敘述本發明的範圍。它唯一的目的是用簡化的形式給出本發明的一些概念,它是後面將會給出的更詳細的描述的序言。
本發明易於接收SMBus事件通知而無需直接用AML碼操作ACPI規定的嵌入式控制器。SMBus驅動器接收通知中斷和調用與_Qxx控制方法相關的請求登記的AML事件處理碼。因此,可以使用較高水平的AML碼(例如,根據ASL原始碼)來處理SMBus事件通知。

背景技術:
段所提到的,ACPI規範概述了嵌入式控制器的一個接口。ACPI規範中描述的嵌入式控制器使用一個類似於鍵盤接口所使用的效率低下的編程模板,它要求大致上用一個中斷來傳送一個字節的中斷加強方法。使用改進的操作區域訪問方法簡化了對SMBus事件通知的訪問,改進了這種事件處理的效率並且減少了同步的問題。這種改進的訪問和相關的效率可以使用在一個用來改進總的電腦電源效率並消除啟動和關閉時的延遲的結構中。此外,這種改進的訪問和相關的效率可以使用在作業系統承擔協調電源管理活動並負責定義和處理系統的電源狀態轉變的中心角色的結構中。
為了實現前述的和相關的目標,這裡結合下文的描述和附圖對本發明的某些說明性的特徵進行描述。這些特徵指示了僅僅一小部分可以使用本發明的原理的各種方式,且本發明想要包括所有這樣的特徵及其等價物。結合附圖考慮下文對本發明的詳細描述,則本發明的其他優點和新穎的特徵是顯而易見的。
(4)


圖1是按照本發明一個方面的一個便於SMBus訪問的系統的框圖。
圖2是按照本發明一個方面的一個便於SMBus訪問的系統的框圖,它使用三個參數進行讀寫。
圖3是按照本發明一個方面的一個便於處理SMBus事件通知的系統的框圖。
圖4是按照本發明一個方面的一個流程框圖,說明系統中的便於處理SMBus事件通知的一個控制流程。
圖5說明由本發明一個方面簡化的實現AML事件處理碼的一個製作循環。
圖6是按照本發明一個方面的一個流程圖,說明一種處理SMBus事件通知的方法。
圖7是按照本發明一個方面的一個流程圖,說明一種處理SMBus事件通知的方法。
圖8說明一個使用本發明所在的典型的操作環境。
(5)具體實施方式
現在參考附圖來描述本發明,其中相同的標號指示相同的元件。在下面的描述中,為了解釋的目的,陳述了許多特定細節來提供對本發明的一個徹底的理解。然而,很明顯本發明可以無需這些特定細節而進行實踐。在其他的例子中,以框圖的形式示出眾所周知的結構和設備以便於描述本發明。
正如在該申請中所用,術語「計算機部件」用來指示一個與計算機有關的實體,它可以是硬體、硬體和軟體的組合、軟體、或運行中的軟體。例如,一個計算機部件可以但不僅限於是運行在處理器上的一個進程、一個處理器、一個對象、一個可執行的線程、一個程序、和一個計算機。按此說明,運行在伺服器上的一個應用程式和伺服器都可以是一個計算機部件。
圖1示出一個便於直接處理SMBus事件通知(例如,不使用ACPI規範的嵌入式控制器)的SMBus訪問系統100。SMBus是一個系統管理總線。使用一個SMBus來訪問個人電腦硬體(例如,電池、能量效率設備、一個ACPI環境中用到的設備)。SMBus通常由一個作業系統通過一個ACPI規範的嵌入式控制器及嵌入式控制器的相關驅動進行訪問。設備驅動與SMBus和其他部件對接,這通過一個ACPI寄存器接口並通過一個嵌入式控制器通知事件中調用的規定標準控制方法。因為定義為_Qxx(xx=00-ff)的嵌入式控制器通知只能定位於嵌入式控制器設備的範圍內,因此同組控制方法重新用於SMBus時要求它們只能位於SMBus設備下。因此,在本發明可使用的一個環境中,一個SMBus驅動器能夠把隊列控制方法用於SMBus警報,這些名為_Qxx的方法位於SMBus設備之下,其中xx是設備發送警報的SMBus地址的十六進位形式。
ACPI是一個規範,它定義了系統板的一個接口,便於作業系統定向的能量管理、資源管理和系統配置。ACPI對作業系統定義了系統板描述其設備配置以及能量控制硬體接口的一種標準方法。ACPI提供通過一個標準寄存器接口便於操縱ACPI系統中的硬體的「控制方法」。可以使用一些控制方法(例如,_Qxx控制方法)以便於接收SMBus事件通知並調用方法處理編碼。在一個ACPI環境中,系統板設計者實現所需的寄存器接口並且提供關於設備和它們的控制機制的信息,這些信息存儲在說明表格中。
為了加強ACPI設備的功能,賣方提供一個功能驅動器,它通過驅動器提供的一個操作區域與ACPI BIOS進行通信。ACPI驅動器通過調用一個由功能驅動器提供的操作區域處理機來訪問該操作區域。操作區域是一個對象,它能被分成各種長度的欄位,它們像其他AML數據對象一樣被處理並便於和硬體(例如,SMBus、SMBus控制器)進行通信。
通過在ACPI操作區域內的通信,BIOS中的AML碼能調用取決於驅動器和主機系統的配置的特定設備的操作。通常,BIOS在一個設備的操作區域中訪問數據(讀或寫)。此後,為了訪問操作區域,ACPI驅動器調用功能驅動器的操作區域處理機,操作區域處理機完成已經為訪問編程了的操作並且返回關於訪問的信息。ACPI並不確定三個參數操作區域進行讀和/或寫。
ACPI的一些目標是電池能量管理、更長的電池壽命和降低的發熱性。因此,ACPI通常使用於OSPM環境下。OSPM即作業系統能量管理。OSPM涉及在作業系統級別上控制設備能量管理。作業系統使用存儲在ACPI BIOS(基本輸入輸出系統)中的ACPI AML(ACPI機器語言)碼來識別當前系統中的設備並便於為識別到的設備加載適當的設備驅動。ASL即ACPI源語言。ASL被編譯成AML碼和AML映像。AML即ACPI機器語言。AML存儲在ACPI BIOS RAM(隨機訪問存儲器)中。AML是一個由AML解釋器進行解釋的偽彙編語言。AML解釋器分析並執行AML字節編碼。該AML解釋器計算名字空間對象並且執行AML控制方法。一種控制方法是一種類型的名字空間對象,像一些其他程序語言中的一個功能,它包含一個或多個將執行的AML指令,而且能接收輸入參數並返回一個結果。一個名字空間對象可以是多種實體,從一個單值(像一個變量)、一個數據包(像一個數據結構),到一個操作區域段、或控制方法。設備驅動器使用ACPI AML碼的控制方法(例如,_Qxx控制方法)來訪問設備硬體並且便於能量管理。這樣的驅動器可以是,例如,WDM(Windows驅動器模型,提供I/O服務的通常結構)驅動器。
ACPI通過一個ACPI規範的嵌入式控制器在作業系統和SMBus控制器之間定義了硬體和軟體接口。ACPI規範概述了一個嵌入式控制器的接口。在一些情況下,ACPI規範中描述的嵌入式控制器的編程方式類似於一個鍵盤接口的編程方式,這可能是效率低下的。ACPI規範的嵌入式控制器是中斷加強的並且很慢,它大致上利用一個中斷來傳送一個字節。通過改進的操作區域訪問方法,當SMBus訪問由一個用本地機器編碼而非編譯後的AML碼運行的設備驅動器來實現時,可以產生性能的提高。該系統和本發明的方法的一個額外的好處是AML碼通常由許多OEM對每個BIOS寫許多次,而一個驅動器一般是更通用的。
一個嵌入式控制器是一類用來支持OEM(原始設備製造廠家)特定的實施(例如,在關注電池壽命和/或能量消耗的移動環境中)的微控制器。一個嵌入式控制器對主微處理器的一個接口實現複雜的低級別的功能。ACPI在一個作業系統驅動器和一個嵌入式控制器之間定義了一個標準硬體和軟體的通信接口(例如,為一個靈敏的電池組)。本發明便於AML碼和驅動器的對接,因此訪問SMBus控制器和同步過程的細節可以通過驅動器而不是AML碼來實現。
系統100包括具有一個通知部件130的SMBus140,該通知部件識別一個事件145(例如,由SMBus140產生的)。通知部件130響應由設備150產生的一個設備事件155而產生的事件145。例如,一個電池組可以發送一個警報信號到SMBus140。於是通知部件130產生事件145。事件的產生可以包括一個_Qxx隊列控制方法。如這裡所定義的術語,通知部件130是一個計算機部件。因此,通知部件130能用包括(但不限於)如有條件的分支技術、中斷向量表技術、圖形匹配技術及同類技術來分析事件155。
通知部件130識別事件155並與一個驅動器120對接。當連接驅動器120時,通知部件130用一個驅動器調用145來把狀態和/或數據傳遞到驅動器120。該狀態可以和SMBus段有關並且可以識別產生事件和事件類型的設備。該數據也可與SMBus事件有關並能產生關於該事件的信息(例如,時間、設備、事件類型)。驅動器120接收驅動器調用145並把SMBus事件發送到一個AML事件處理機110。
現在轉向圖2,說明了一個SMBus事件處理系統200,它用一個三參數緩衝讀方法270和/或一個三參數緩衝寫方法280來訪問一個與SMBus240有關的緩衝器260。像系統100一樣,系統200包括具有一個通知部件230的SMBus240,該通知部件把與設備250有關的一個SMBus事件245發送到調用AML事件處理碼210的驅動器220。
通過使用三參數讀270和/或三參數寫280可以使由AML事件處理機210實現的事件處理任務簡化並且更加有效。這些三參數方法訪問緩衝器260(例如,一個操作區域)來傳輸狀態和各種長度的數據塊。操作區域是一個數據對象,它能被分成各種大小的欄位,它們像其他AML數據對象一樣被處理並便於和硬體(例如,SMBus、存儲器、或輸入/輸出(I/O)埠)進行通信。訪問SMBus所需的操作區域類型是一個BufferAcc操作區域。BufferAcc訪問類型是由ACPI定義的,因為SMBus的接口比用到操作區域的其他資源的接口(例如,存儲器和I/O埠)更複雜。BufferAcc操作區域用來在AML環境和功能驅動器中進行讀寫操作的操作區域處理機之間雙向傳輸全部的緩衝。然而,正常的像「Store」這樣的AML操作碼只能設計成單向地把數據到傳遞一個操作區域或從中接收數據。使用本發明之後,BufferAcc操作區域可以通過一個三參數Buffer_Acc_Read方法來讀,可以通過一個三參數Buffer_Acc_Write方法來寫,其中第一個參數是緩衝被傳遞給操作區域處理機之前的原始內容,第二個參數是對當前被訪問的操作區域處理機段的基準,第三個參數是一個接收由操作區域處理機送回的緩衝器的緩衝器。對與一個SMBus有關的BufferAcc操作區域的讀和寫能觸發對SMBus驅動器(例如,驅動器220)的調用。
三參數緩衝器讀270的一個例子包括一個保存原始數據的第一參數,該原始數據由訪問關於SMBus的操作區域的一個計算機部件使用。這樣的原始數據能控制操作區域怎樣讀、何時讀、讀的順序等等。三參數緩衝器讀270的另一個例子包括一個第二參數,它是對與發出被讀數據的SMBus有關的操作區域的基準。這個基準可以是一個數字識別器,它識別預定義的操作區域或定義一個操作區域的地址範圍。三參數緩衝器讀270的另一個例子包括一個第三參數,它保存由操作區域讀取的數據並且/或者保存一個對擺放已讀數據的存儲器位置的基準。
三參數讀270可由AML事件處理機210構成。因此,可以在一個較高的級別上對一個SMBus事件處理機進行寫操作,這簡化了SMBus事件通知處理。
三參數緩衝器寫280的一個例子包括一個第一參數,它是將被寫入一個與SMBus有關的操作區域的數據或是一個將被寫入的數據所存儲位置的索引。三參數緩衝器寫280的另一個例子包括一個第二參數,它是對數據將被寫入的操作區域的基準。這個基準識別操作區域並且可以是,例如,操作區域地址表的一個基準,一個地址和/或一組地址。三參數緩衝器寫280的另一個例子包括一個第三參數,它是由把數據寫入操作區域的計算機部件返回的一個狀態碼。該狀態碼可以表示,例如,寫操作的成功或失敗和/或寫入的數據數量。該範例三參數緩衝器寫方法280便於AML事件處理機210通過緩衝器260來訪問SMBus。較高級別上的ASL方法簡化了寫入SMBus事件處理機編碼的過程。此外,通過便於把變量長度數據塊直接寫入一個與SMBus240有關的操作區域,三參數寫方法280便於降低與SMBus數據傳輸有關的中斷的數量並且降低這些傳輸中的部件的數量。因此,可以達到效率的改進。
現在轉向圖3,說明了一個便於SMBus事件處理的系統300。系統300便於使用在OSPM中的作業系統310和/或一個靈敏的電池驅動器312與SMBus驅動器330相互作用,該SMBus驅動器330會把SMBus事件發送到一個入口點以AML碼存儲在BIOS 320中的AML事件處理機中。SMBus驅動器330能從SMBus控制器360接收一個通知,然後通過一個或多個操作區域340與SMBus控制器360進行通信。SMBus驅動器330也能與存儲在BIOS 320中的AML碼相互作用。AML碼能存儲,例如,ASL碼事件處理機的入口點。在本發明的一個例子中,入口點可以通過_Qxx控制方法來訪問,該控制方法在嵌入式控制中斷的處理技術中是眾所周知的。BIOS320中的AML碼,和/或AML事件處理碼能針對操作區域340產生讀和寫的請求R/W。當讀和寫R/W所產生的操作區域與SMBus控制器360和/或SMBus350有關時,則觸發對SMBus驅動器330的一個調用。
因此,在圖3中,設備(例如,設備370到設備380)可以經過所關心的條件到SMBus 350。因此,設備可能產生一個警報、通知、事件、中斷、邊緣、觸發或其他信號375,它們由SMBus 350和/或SMBus控制器360接收並解釋。SMBus350產生一個事件通知365,按照慣例它由一個嵌入式控制器進行處理並且以AML碼處理。通過使用本發明,事件通知365可用AML碼_Qxx發送控制方法進行處理,該方法把事件發送到一個AML事件處理機。通過訪問操作區域的SMBus(例如,使用圖2所描述的三參數訪問方法)以及用_Qxx方法而非直接在AML碼的嵌入式控制器中訪問SMBus來接收通知,ASL碼被簡化,且從靈敏的電池驅動器和從ASL碼對SMBus的訪問可以被同步。
圖4說明了一個示例性的工藝流程400,它與本發明促進的SMBus事件處理過程有關。設備(例如,設備460到設備470)可以產生一個警報、通知、事件、中斷、邊緣、觸發或其他信號,它們由SMBus硬體450接收並解釋。因此,在A處,SMBus硬體450產生一個事件通知。在B處,SMBus驅動器420識別該事件通知並且又讀取與事件通知有關的數據和/或狀態。SMBus驅動器420通過作業系統410來啟動一個對前面已寄存的_Qxx方法440的調用,以處理相關的通知類型。
在C處,AML解釋器430開始解釋_Qxx方法440,這包括確定AML事件處理機的一個入口點或請求。在D處,事件處理機使用三參數BufferAcc訪問方法(例如,Buffer_Acc_Read,Buffer_Acc_Write)來訪問與SMBus有關的一個操作區域。在E處,AML解釋器430檢測當前訪問與SMBus有關的操作區域的讀操作和/或寫操作,觸發對SMBus驅動器420的調用。在F處,通過與SMBus有關的操作區域把來自SMBus硬體450的數據傳遞到AML事件處理機。這個示例工藝流程400說明了由系統和本發明的方法實現的SMBus事件處理的簡化。
圖5說明一個可由程式設計師使用的設計過程500,程式設計師在ACPI環境中利用本發明的優點來寫程序。設計者首先設計一個事件處理機並ASL碼510中寫成該處理機。接著,ASL碼510被編譯成存儲在BIOS 530中的AML碼520。當結合了BIOS的系統啟動時,AML碼520從BIOS 530中取回並存儲在RAM 540中。然後,使用AML解釋器550來解釋存儲在RAM 540中的AML碼520。值得重視的是,圖5說明了一個可能的設計和實現過程,用本發明也能使用其他這樣的過程。
考慮到示出的示例性系統及上文的描述,參考圖6和7的流程圖,應該更為重視根據本發明可以實現的方法。為了解釋的簡單,當方法已示並被描述為一系列的程序塊時,可以理解並注意到,本發明並不限制程序塊的順序,就象根據本發明,一些程序塊可以以不同的順序和/或與這裡示出並描述的其他程序塊相同的順序發生。此外,根據本發明,實現一個方法並不需要所有已說明的程序塊。
本發明可以用通常的由一個或多個部件執行的計算機可執行指令的上下文關係來描述,譬如程序模塊。一般地,程序模塊包括例行程序、程序、對象、數據結構等,它們能執行特定任務或實現特定數據類型。特別是,程序模塊的功能可以根據不同實施例的需要被結合或分配。因此,能實現這裡描述的方法的計算機可執行指令可以存儲在計算機可讀的媒質上,包括但不限於磁碟、存儲器、和載波。
圖6說明直接SMBus事件處理的一種方法600。在610處,該方法接收一個SMBus事件通知。這個通知可以是響應警告SMBus注意一個條件(例如,低電池能量,過熱的部件)的設備而產生的。在620處,SMBus可以從三個不同的設備(例如,電池,驅動器,顯示器)接收到通知。每個設備都設計成能產生兩個不同的信號(例如,通電,斷電)。因此,620處的SMBus事件通知識別可以設計成能區分這三種可能的設備和/或這六種可能的事件類型。在描述了三個設備和兩個信號之後,值得注意的是方法600能處理更多和/或更少數量的設備、信號、和事件通知。在630處,方法600把SMBus事件通知發送到一個事件處理機,該事件處理機已登記並用來處理620處識別的SMBus事件通知類型。例如,在一個OSPM環境中,一個磁碟設備驅動器可能已註冊了兩個用來處理磁碟能量事件(例如,通電,斷電)的入口點。因此,在630處,把SMBus事件發送到適當的磁碟能量事件入口點。在640處,AML事件處理機將處理SMBus事件通知。方法600可以使用此處描述的三參數緩衝器訪問例行程序,所以它無需直接操縱嵌入式控制寄存器來訪問SMBus,因此簡化了AML碼並且無需承受對這些寄存器進行OS訪問的風險。
圖7說明訪問SMBus並處理SMBus事件通知的一種方法700。在710處發生總體的初始化。該初始化包括但不限於,分配寄存器、形成指針、形成數據通信、獲取資源、例示對象、及給變量設定初始值。在720處,接收到一個SMBus硬體通知。例如,一條中斷線可以接收到一個邊緣觸發,它表示SMBus設備已產生一個事件。在730處,方法700讀取與SMBus硬體通知有關的數據。例如,可以從其他數據中讀取設備識別數據、通知識別數據和/或狀態數據。這些數據可以通過一個SMBus驅動器來讀取。
在740處,方法700初始化一個對存儲在BIOS中的AML碼的請求。在本發明的一個例子中,通過一種_Qxx控制方法來訪問ASL碼事件處理機的入口點,該方法可以用730期間讀取的數據進行索引。在750處,AML解釋器開始解釋通過_Qxx控制方法而訪問的方法,這使入口點存儲在_Qxx控制方法中的AML事件處理機開始執行。在760處,AML事件處理機可以通過三參數操作碼(例如,Buffer_Acc_Read,Buffer_Acc_Write)來訪問與SMBus有關的一個操作區域。這些讀和/或寫會在770處使AML解釋器用初始化數據、操作區域基準、將寫入的數據、存儲已讀數據的數據位置的基準等等來調用一個SMBus設備驅動器。因此,如果770處調用一個讀操作,則在780處已讀數據可以存儲在三參數讀確定的位置中。
在790處決定方法700是否會處理另一個通知。例如,如果事件通知是一個斷電通知,那麼方法700就終止。因此,在790處,如果決定是「否」,那麼處理過程可以結束,否則處理過程則返回到720處。
為了提供本發明的多種方面的額外的範圍,圖8和下面的討論提供對環境810的一個簡要的、概括的描述,該環境中可以實現本發明的多種方面。由於本發明是以計算機硬體和/或計算機可執行指令(例如程序模塊,由一個或多個計算機或其它設備執行)概括描述的,該領域的技術人員可以認識到本發明也能通過與其他程序模塊結合和/或作為硬體和軟體的結合來實現。然而,一般情況下程序模塊包括例行程序、程序、對象、部件、數據結構等,它們能執行特定任務或實現特定數據類型。操作環境810僅僅是環境的一個例子,本發明與該環境相互作用而且並不限制本發明的使用範圍或功能。其他眾所周知的適用於本發明的計算機系統、環境、和/或配置包括但不限於,個人計算機、手提或可攜式設備、多處理器系統、基於微處理器的系統、可編程的用戶電子設備、網絡PCs、小型計算機、大型主機、包括上述系統或設備的分布式計算環境,等等。尤其,本發明可以使用在使用ACPI規範並執行OSPM的系統中。
參考圖8,一個示例性的環境810包括計算機812,本發明的多種方面和該環境相互作用。計算機812包括處理單元814、系統存儲器816、和系統總線818。系統總線818連接的系統部件包括但不限於系統存儲器816和處理單元814。處理單元814可以是任何可用的處理器。雙微處理器和其它多處理器結構也可以用作處理單元814。當單個的內部總線互連結構已示,值得注意的是本發明也可以使用其它總線結構和連接機制。
系統總線818可以是幾種總線結構類型中的任意一種,這些類型包括存儲器總線或存儲器控制器、一根外圍總線或外部總線、和/或一根使用可用總線結構的任何變化包括但不限於8比特總線的局部總線、工業標準結構(ISA)、微通道結構(MSA)、擴展的ISA(EISA)、智能驅動電子設備(IDE)、VESA局部總線(VLB)、外設部件互連(PCI)、通用串行總線(USB)、高級圖形埠(AGP)、個人計算機存儲卡國際協會總線(PCMCIA)、以及小型計算機系統接口(SCSI)。
系統存儲器816包括易失存儲器820和固定存儲器822。基本輸入/輸出系統(BIOS)存儲在固定存儲器822中,它包含在計算機812各元件之間傳輸信息的基本例行程序,譬如在啟動期間。通過說明和非限制性的方法,固定存儲器822可以由只讀存儲器(ROM)、可編程ROM(PROM)、電可編程ROM(EPROM)、電可擦可編程ROM(EEPROM)、或瞬時存儲器組成。易失存儲器820包括隨機存取存儲器(RAM),它擔當處理器的外部高速緩衝存儲器。通過示例(非限制性),RAM在許多形式下是有效的,譬如同步RAM(SRAM)、動態RAM(DRAM)、同步DRAM(SDRAM)、雙數據速率SDRAM(DDR SDRAM)、加強的SDRAM(ESDRAM)、同步鏈路DRAM(SLDRAM)、以及直接隨機總線RAM(DRRAM)。
計算機系統812也包括可移除的/不可移除的、易失的/固定的計算機存儲媒質。例如,圖8說明了一個磁碟存儲器824。磁碟存儲器824包括(但不限於)的設備有磁碟驅動器、軟盤驅動器、磁帶驅動器、Jazz驅動器、Zip驅動器、LS-100驅動器、瞬時存儲卡、或存儲棒。此外,磁碟存儲器824可以包括單獨的或與其它存儲媒質結合的示例性的存儲媒質,其它存儲媒質包括(但不限於)一個光碟驅動器,譬如一個雷射唱片ROM設備(CD-ROM)、CD可寫驅動器(CD-R驅動器),CD可改寫驅動器(CD-RW驅動器)或一個數位化光碟ROM驅動器(DVD-ROM)。為了便於將磁碟存儲設備和系統總線818相連,通常用到一個可移除的或不可移除的接口,譬如接口826。使用SMBus來連接這樣的設備並且通過作業系統828來使用OSPM。
值得注意的是圖8描述了作為用戶間的媒介的軟體和在操作環境810中描述的基本計算機資源。這樣的軟體包括作業系統828。能存儲在磁碟存儲器824上的作業系統828控制並分配計算機系統812的資源。作業系統實現的一個功能是OSPM,它由ASL SMBus事件處理和本發明的訪問來簡化。系統應用程式830由作業系統828通過程序模塊832和存儲在系統存儲器816或磁碟存儲器824中的程序數據834對資源的管理進行利用。
用戶通過輸入設備836把命令或信息輸入到計算機812中。輸入設備836包括(但不限於)一個定點設備,譬如滑鼠、跟蹤球、指示筆、觸摸墊、鍵盤、麥克風、遊戲杆、遊戲墊、圓盤式衛星電視天線、掃描儀、電視轉換卡、數位照相機、數字攝像機、網絡照相機、及同類物體。這些和其它輸入設備從接口埠838通過系統總線818連接到處理單元816。接口埠838包括,例如,一個串行埠、一個並行埠、一個遊戲埠、和一個通用串行總線(USB)。輸出設備840用這些埠類型中的一部分作為輸入設備836。因此,可以利用一個USB埠把輸入提供給計算機系統812,並且從計算機系統812輸出信息至一個輸出設備840。輸出適配器842用來說明一些輸出設備840可能需要特別的適配器,譬如其它輸出設備840中的監視器、話筒、以及印表機。輸出適配器842包括(但不限於)顯卡和音效卡,它們提供連接輸出設備840和系統總線818的一種方法。值得注意的是其它設備和/或設備的系統既提供輸入能力又提供輸出能力,譬如遠程計算機844。同樣,這些設備也能連接到一個SMBus並因此受益於本發明提供的SMBus事件通知和訪問。
計算機812可以用和一個或多個遠程計算機的邏輯連接在一個網絡的環境中運行,譬如遠程計算機844。遠程計算機844可以是一臺個人計算機、一臺伺服器、一個路由器、一臺網絡PC、一個工作站、一個基於微處理器的應用設施、一個對等設備或其它通用網絡節點,特別是包括已描述的與計算機812有關的許多或所有的元件。為了簡短,只用遠程計算機844說明一個記憶體存儲器設備846。遠程計算機844通過一個網絡接口848邏輯地連接到計算機812,然後通過通信連接850進行物理上的連接。網絡接口848圍接如區域網(LAN)和廣域網(WAN)這樣的通信網絡。LAN技術包括光纖分布式數據接口(FDDI)、銅分布式數據接口(CDDI)、乙太網/IEEE 802.3、令牌網/IEEE 802.5及同類網絡。WAN技術包括(但不限於)點對點的連結、像綜合業務數字網(ISDN)這樣的電路轉換網絡及其變化、報文分組交換網絡和數字用戶線路(DSL)。通信連接850指的是用來把網絡接口848連接到總線818的硬體/軟體。為了說明上的清晰,通信連接850在計算機812內部示出,它也可以處於計算機812的外部。連接網絡接口848所需的硬體/軟體包括(只為了示例性的目的)如數據機這樣的內部和外部技術,這樣的數據機包括常規電話級別數據機、電纜數據機和DSL數據機、ISDN適配器、和乙太網卡。
上文描述了包括本發明的例子。當然,為了描述本發明,不可能描述部件或方法的每個可能組合,但本領域的普通技術人員可以認識到本發明更多的組合和改變。從而,本發明試圖包含所有這樣的變更、修正和變化,它們均屬於所附權利要求的精神和範圍中。此外,術語「包括」既用在詳細描述又用在權利要求中,該術語類似權利要求中的「組成」。
權利要求
1.一種便於對SMBus的AML訪問的系統,包括一個AML事件處理機;以及,一個驅動器,識別SMBus事件並把SMBus事件發送到AML處理機。
2.如權利要求1所述的系統,其特徵在於,驅動器接收到與來自SMBus的SMBus事件有關的一個狀態和一個數據。
3.如權利要求1所述的系統,其特徵在於,驅動器使用_Qxx控制方法來把SMBus事件發送到AML事件處理機。
4.如權利要求1所述的系統,其特徵在於,通過_Qxx控制方法訪問至少一個AML事件處理機入口點。
5.如權利要求4所述的系統,其特徵在於,AML事件處理機使用一個三參數緩衝器訪問的讀方法來從一個與SMBus有關的操作區域讀取數據,其特徵在於三參數緩衝器訪問讀方法的第一參數把初始數據提供給計算機部件來訪問與SMBus有關的操作區域。
6.如權利要求5所述的系統,其特徵在於,三參數緩衝器訪問讀方法的第二參數是對將讀取數據的與SMBus有關的操作區域的基準。
7.如權利要求6所述的系統,其特徵在於,三參數緩衝器訪問讀方法的第三參數保存從由第二參數識別的操作區域讀取的數據。
8.如權利要求6所述的系統,其特徵在於,三參數緩衝器訪問讀方法的第三參數是一個位置基準,該位置存儲了從由第二參數識別的操作區域讀取的數據。
9.如權利要求1所述的系統,其特徵在於,AML事件處理機使用一個三參數緩衝器訪問寫方法來把數據寫入與SMBus有關的一個操作區域。
10.如權利要求9所述的系統,其特徵在於,三參數緩衝器訪問寫方法的第一參數是將被寫入與SMBus有關的操作區域的數據。
11.如權利要求9所述的系統,其特徵在於,三參數緩衝器訪問寫方法的第一參數是對將被寫入與SMBus有關的操作區域的數據的基準。
12.如權利要求9所述的系統,其特徵在於,三參數緩衝器訪問寫方法的第二參數是對數據將寫入的與SMBus有關的操作區域的基準。
13.如權利要求9所述的系統,其特徵在於,三參數緩衝器訪問寫方法的第三參數是一個狀態碼,由一個計算機部件返回,該部件提供對與SMBus有關的操作區域的訪問。
14.一個計算機可讀媒質,持有便於訪問SMBus的系統的計算機可執行部件,包括一個計算機可執行識別器,識別一個SMBus事件通知;以及一個計算機可執行發送器,直接把SMBus事件通知發送到一個計算機可執行AML事件處理機。
15.一種SMBus事件處理的方法,該方法包括接收到一個SMBus事件通知;識別SMBus事件通知;把SMBus事件通知發送到一個AML事件處理機;以及以AML碼處理SMBus事件通知。
16.如權利要求15所述的方法,其特徵在於,SMBus事件通知通過檢查與SMBus事件通知有關的至少一個數據和一個狀態來識別。
17.如權利要求15所述的方法,其特徵在於,SMBus事件通知的發送包括通過一個已登記的AML事件處理機來索引一個_Qxx控制方法。
18.如權利要求15所述的方法,其特徵在於,以AML碼處理SMBus事件通知包括對一個與產生SMBus通知的SMBus有關的操作區域進行讀操作。
19.如權利要求18所述的方法,其特徵在於,操作區域由一個三參數讀操作來訪問,其中第一參數保存一個初始數據,第二參數保存一個對所訪問的操作區域的基準,第三參數保存從操作區域讀取的數據。
20.如權利要求18所述的方法,其特徵在於,操作區域由一個三參數讀操作來訪問,其中第一參數保存一個初始數據,第二參數保存一個對所訪問的操作區域的基準,第三參數保存一個對從操作區域讀取的數據的基準。
21.如權利要求15所述的方法,其特徵在於,以AML碼處理SMBus事件通知包括對一個與產生SMBus通知的SMBus有關的操作區域進行寫操作。
22.如權利要求21所述的方法,其特徵在於,操作區域由一個三參數寫操作來訪問,其中第一參數保存將被寫入操作區域的一個數據,第二參數保存一個對操作區域的基準,第三參數保存一個返回的狀態調用。
23.如權利要求21所述的方法,其特徵在於,操作區域由一個三參數寫操作來訪問,其中第一參數保存對將被寫入操作區域的數據的一個索引,第二參數保存一個對操作區域的基準,第三參數保存一個返回的狀態調用。
24.存儲用來實現權利要求15所述方法的計算機指令的一個計算機可讀媒質。
25.一個SMBus事件處理的系統,包括接收到SMBus通知的裝置;對與SMBus通知有關的AML碼事件處理機進行定位的裝置;以及對與SMBus通知有關的AML碼事件處理機進行調用的裝置。
26.如權利要求25所述的系統,其特徵在於,包括AML碼事件處理機訪問一個用來與SMBus總線進行通信的數據對象的裝置。
27.便於把SMBus事件發送到AML碼事件處理機的一個數據結構,該數據結構包括至少一個索引的AML碼入口點;以及至少一個與上述至少一個索引的AML碼入口點有關的AML事件處理機入口點。
全文摘要
本發明提供了一個便於訪問SMBus的系統。該系統包括一個識別SMBus事件的通知部件和一個把SMBus事件發送到AML事件處理機的驅動器。本發明也提供了一種SMBus事件處理的方法。該方法包括接收到一個SMBus事件通知,識別SMBus事件通知,把SMBus事件通知發送到一個AML事件處理機,並且以AML碼處理SMBus事件通知。根據本發明,可以利用兩個新的ACPI操作碼,它們是三參數操作區域讀和三參數操作區域寫。
文檔編號G06F13/10GK1441347SQ0310298
公開日2003年9月10日 申請日期2003年1月24日 優先權日2002年2月26日
發明者M·P·希爾斯, M·H·唐, T·皮爾斯, J·奧希斯 申請人:微軟公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀