TWI474159B - 多處理器系統及其進入省電模式方法 - Google Patents
多處理器系統及其進入省電模式方法 Download PDFInfo
- Publication number
- TWI474159B TWI474159B TW97134209A TW97134209A TWI474159B TW I474159 B TWI474159 B TW I474159B TW 97134209 A TW97134209 A TW 97134209A TW 97134209 A TW97134209 A TW 97134209A TW I474159 B TWI474159 B TW I474159B
- Authority
- TW
- Taiwan
- Prior art keywords
- processor
- read request
- processors
- identification value
- management
- Prior art date
Links
Landscapes
- Multi Processors (AREA)
- Power Sources (AREA)
Description
本發明是有關於一種多處理器(multi-processor)系統,且特別是有關於一種多處理器系統及其進入省電模式之方法。
電腦系統的電源管理向來是重要課題。為了實現電源管理的功能,便發展出許多電源管理的技術與工業標準。例如,1992年美國環保署(Environmental Protection Agency,EPA)所推行的能源之星(Energy Star)計畫、先進電源管理(Advanced Power Management,APM)、或是先進組態與電源介面(Advanced Configuration and Power Interface,ACPI)等規範各自定義了各種不同的省電模式,都是為了實現電源管理的功能。
以ACPI為例,此工業標準制定了「ACPI Processor Power State」做為其省電模式。一般系統要支援ACPI Processor Power State,必須要在單一處理器的系統下才能運行ACPI Processor Power State。對於傳統技術而言,多處理器系統是無法支援ACPI Processor Power State。以下說明其原因。
圖1是說明傳統多處理器系統無法支援ACPI Processor Power State的示意圖。為求圖式清晰,圖1中省略了功率源、時脈源等周邊電路。另外,圖1是以單一封裝的雙核心中央處理單元(Central Processing Unit,CPU)
110做為說明範例。多封裝的多處理器系統(例如處理器111與處理器112各自單獨封裝)一樣有類似的問題。
請參照圖1,當作業系統(Operating System,OS)偵測到處理器111處於閒置(IDLE)狀態,代表處理器111可以進入省電模式「ACPI Processor Power State」,此時作業系統會讓處理器111發出一個位址為P_LVLx的讀取要求(I/O read cycle)給晶片組120。晶片組120接到這筆讀取要求後,就會觸發(trigger)「ACPI Processor Power State」的相關信號到雙核心中央處理單元110。這些「ACPI Processor Power State」的相關信號是用來降低雙核心中央處理單元110的電壓或是停止時脈頻率。換言之,處理器111與處理器112的電壓都會因此而降低;處理器111與處理器112的時脈頻率會因此而停止。然而,處理器112此時可能是處於忙碌(busy)的狀態,所以若是降低電壓或是停止時脈頻率就會造成處理器112無法繼續完成工作。在處理器112處於忙碌狀態下驟然降低電壓或是停止時脈頻率,會使系統發生不可預期的結果。上述是多處理器系統受到硬體限制而無法完整地支援省電模式「ACPI Processor Power State」的原因。
基於上述原因,必須改變硬體上的設計,才能支援省電模式「ACPI Processor Power State」,例如在處理器111與處理器112之間配置邏輯晶片,分別對處理器111與處理器112作電源管理。然而,改動硬體需要額外的成本,也必須承擔變更硬體的風險。
本發明提供一種多處理器系統及其進入省電模式方法,可以在不改動硬體的情況下,以軟體或韌體的方式在多處理器系統下依然可以支援諸如ACPI Processor Power State等省電模式,來達到省電的功能。
本發明提出一種多處理器系統之進入省電模式方法,包括下述步驟。首先偵測多個處理器;若其中一個處理器進入閒置狀態,則前述進入閒置狀態的處理器發出第一讀取要求,以使發出第一讀取要求的處理器獲得辨識值,並觸發中斷事件,使每一處理器各自進入「系統管理模式」。檢查每一處理器是否具有辨識值,其中若具有辨識值,則使具有辨識值的處理器保持於系統管理模式中;反之若不具有辨識值,則使不具有辨識值的處理器結束系統管理模式。若每一個處理器皆具有辨識值,則依第二讀取要求,觸發全部處理器進入省電模式。
本發明另提出一種內儲程式之電腦可讀取儲存媒體,以及一種內儲且用於使多處理器系統之進入省電模式之電腦程式產品。當電腦載入程式(或電腦程式)並執行後,可完成上述多處理器系統之進入省電模式方法。
本發明另提出一種多處理器系統,包括多個處理器以及晶片組。若這些處理器之一者進入閒置狀態,則進入閒置狀態的處理器發出第一讀取要求。晶片組依據第一讀取要求,提供辨識值給發出第一讀取要求的處理器,並觸發中斷事件,使每一處理器各自進入系統管理模式,以檢查
每一處理器是否具有該辨識值。其中,若具有該辨識值,則使具有辨識值的處理器保持於系統管理模式中;若不具有該辨識值,則使不具有辨識值的處理器結束系統管理模式;以及若這些處理器之全部皆具有辨識值,則依第二讀取要求,觸發全部處理器進入省電模式。
本發明因當偵測到某一處理器處於閒置狀態時,讓處於閒置狀態的處理器發出一個第一讀取要求給晶片組,直到所有處理器均處於閒置狀態,才依第二讀取要求,觸發該些處理器進入省電模式。因此可以在不改動硬體的情況下,以軟體或韌體的方法在多處理器系統下依然可以支援諸如ACPI Processor Power State等省電模式,來達到省電的功能。
為讓本發明之上述特徵和優點能更明顯易懂,下文特舉較佳實施例,並配合所附圖式,作詳細說明如下。
圖2是依據本發明實施例說明一種多處理器系統之進入省電模式方法的流程圖。前述省電模式可以是符合任何標準規範書所定義的省電模式、睡眠模式、或待機模式等,或是任何非標準定義的省電模式、睡眠模式、或待機模式等。以下將以先進組態與電源介面(Advanced Configuration and Power Interface,ACPI)規範所定義的「ACPI Processor Power State」做為前述「省電模式」的應用例。
圖3A~3E是依據本發明實施例說明多處理器系統支援ACPI Processor Power State的示意圖。為求圖式清晰,
圖3A~3E中省略了功率源、時脈源等周邊電路。另外,圖3A~3E是以單一封裝的雙核心中央處理單元110做為說明範例。所屬領域具有通常知識者,可以將本實施例之教示類推應用至四核心或其他類型的多核心中央處理單元。另外,本發明之應用亦不限於單一封裝。多封裝的多處理器系統(例如處理器111與處理器112各自單獨封裝)一樣適用本發明所揭露的技術。圖3A~3E包含雙核心中央處理單元110(內含處理器111與112)、晶片組120、基本輸入輸出系統(Basic Input/Output System,BIOS)330、以及系統記憶體340。雙核心中央處理單元110可以透過晶片組120去提取/執行BIOS 330所存放的指令。在電腦正常運作過程中,雙核心中央處理單元110可以透過晶片組120去存取系統記憶體340。
請同時參照圖2與圖3A,在電腦正常運作過程中,圖3A之電腦系統在步驟S205中去偵測多個處理器111與112的運行狀態。前述偵測各個處理器的步驟,可以由作業系統(Operating System,OS)來進行。在其他實施例中,可能會以硬體方式偵測各個處理器的運行狀態。若作業系統偵測到各處理器111與112中有任何一個進入閒置狀態,則作業系統會使前述進入閒置狀態的處理器(在此假設是處理器111)發出第一讀取要求(I/O read cycle)給晶片組120(步驟S210),以使發出第一讀取要求的處理器111獲得一辨識值(步驟S215)。在本實施例中,假設第一讀取要求帶有一觸發位址,並假設此觸發位址為「偽電源管理觸發位
址」。前述「偽電源管理觸發位址」可以是任何預設位址,只要是不同於用來觸發處理器進入省電模式的「真電源管理觸發位址」且不會與系統中其他裝置位址相衝突即可。
在本實施例晶片組120是南北橋整合之晶片組;而在另一實施例中,晶片組120可以是針對具有電源管理功能之南橋晶片。晶片組120在接獲帶有「偽電源管理觸發位址」的第一讀取要求後,會回傳對應的辨識值給處理器111。前述辨識值可以是任何預設值,例如可以將辨識值設定為「123」。此外,前述辨識值是存放於晶片組120中的記憶空間121。當晶片組120在接獲帶有「偽電源管理觸發位址」的第一讀取要求,會對具有「偽電源管理觸發位址」的記憶空間中,所存放的辨識值進行讀取,並回傳對應的辨識值給發出「偽電源管理觸發位址」讀取要求的處理器111。
接下來請同時參照圖2與圖3B,晶片組120依據帶有「偽電源管理觸發位址」的第一讀取要求,除了會回傳對應的辨識值給對應的處理器111之外,晶片組120還會觸發一中斷事件(步驟S220)。此中斷事件可以是任何一種形式的中斷,在本實施例中例如系統管理中斷事件(System Management Interrupt,SMI)等。在步驟S225中,前述系統管理中斷事件SMI會使每一處理器111與112分別進入各自的系統管理模式(System Management Mode,SMM),以各自進行中斷服務程式(SMI handler)。另外,處理器111與112在進入系統管理模式SMM之前,會各自將其內部各
個暫存器的內容備份在專用的系統管理記憶體SMRAM1與SMRAM2中,其中SMRAM是指系統管理隨機存取記憶體。於本實施例中,可以在系統記憶體340中定義二塊記憶空間做為前述系統管理記憶體SMRAM1與SMRAM2,以便分別存放處理器111與112的內容。然而,系統管理記憶體的實施方式不應因本實施例而受限制。
因此,BIOS 330可以利用存放在晶片組120的記憶空間121中的辨識值,從系統記憶體340中的系統管理記憶體SMRAM1與SMRAM2檢查處理器111與112中何者具有辨識值,而進一步判定是否所有的處理器都進入系統管理模式SMM(步驟S230)。若BIOS 330檢查處理器111與112之一者具有辨識值,表示具有辨識值的處理器為閒置狀態,則使此閒置的處理器保持於系統管理模式SMM中。反之,若BIOS 330檢查處理器111與112之一者不具有辨識值,表示不具有辨識值的處理器為非閒置狀態(例如忙碌狀態),則使此非閒置的處理器結束系統管理模式SMM(步驟S235)。
接下來請同時參照圖2與圖3C,由於先前是處理器111發出帶有「偽電源管理觸發位址」的第一讀取要求給晶片組120,因此只有處理器111會將由晶片組120回傳的辨識值存放於暫存器中,並於觸發系統管理中斷事件SMI之後、進入系統管理模式SMM之前,將存放於暫存器中的辨識值存放在對應的系統管理記憶體SMRAM1中。由於BIOS 330可以從系統記憶體340中的系統管理
記憶體SMRAM1檢查到處理器111具有辨識值,因此在步驟S235中,因為處理器111有該辨識值,所以BIOS 330會使處理器111保持於系統管理模式SMM中。反之,由於系統管理記憶體SMRAM2不具有辨識值(也就是處理器112不具有辨識值),則BIOS 330會使處理器112結束系統管理模式SMM。離開系統管理模式SMM的處理器112會從系統管理記憶體SMRAM2中載回原先的內容,然後繼續進行中斷前的工作(回復至忙碌狀態)。
完成步驟S235後,回到步驟S205以繼續偵測多個處理器111與112的運行狀態。請同時參照圖2與圖3D,若在完成步驟S235後,作業系統偵測到另一處理器112進入閒置狀態(步驟S210),則作業系統會使處理器112發出第一讀取要求給晶片組120(步驟S215),此第一讀取要求例如是與上述相同之帶有「偽電源管理觸發位址」的讀取要求。晶片組120在接獲帶有「偽電源管理觸發位址」的第一讀取要求後,會回傳對應的辨識值給處理器112。然後再一次進行了步驟S220~S230,其過程與上述類似,故不再贅述。
由於先前處理器112發出帶有「偽電源管理觸發位址」的第一讀取要求給晶片組120,因此處理器112也會將辨識值存放在對應的系統管理記憶體SMRAM2中。此時,BIOS 330便可以從系統記憶體340中的系統管理記憶體SMRAM1與SMRAM2檢查出處理器111與112都具有辨識值(步驟S230)。更進一步的說明是,由於處理器111已
因先前具有辨識值,而保持於系統管理模式SMM(亦即表示處理器111處於閒置狀態),所以若在步驟S230中,當檢查出處理器112也具有辨識值時,則表示處理器111與112此時皆具有辨識值,即處理器111與112皆處於閒置狀態。
當全部處理器111與112皆具有辨識值,表示處理器111與112皆處於閒置狀態,則BIOS 330會發出第二讀取要求給晶片組120(步驟S240)。在本實施例中,假設第二讀取要求帶有另一觸發位址(不同於第一讀取要求帶有的觸發位址),並假設此觸發位址為「真電源管理觸發位址」。如前所述,「真電源管理觸發位址」可以觸發所有處理器進入省電模式。在此「真電源管理觸發位址」可以是P_LVLx。換言之,在晶片組120接到位址為P_LVLx的第二讀取要求後,就會觸發(trigger)包含處理器111與112的系統進入省電模式「ACPI Processor Power State」(步驟S245)。更進一步的說明是,晶片組120會傳送「ACPI Processor Power State」的相關信號到雙核心中央處理單元110。這些「ACPI Processor Power State」的相關信號是用來降低雙核心中央處理單元110的電壓或是停止時脈頻率。換言之,處理器111與處理器112的電壓都會因此而降低;處理器111與處理器112的時脈頻率會因此而停止。因此,系統將進入省電模式「ACPI Processor Power State」。
本發明所屬領域之通常技藝者可以依其應用需求而修改上述實施例。例如,圖4是依據本發明另一實施例說明
一種多處理器系統之進入省電模式方法的流程圖。前述省電模式可以是符合任何標準規範書所定義的省電模式、睡眠模式、或待機模式等,或是任何非標準定義的省電模式、睡眠模式、或待機模式等。以下亦以先進組態與電源介面(ACPI)規範所定義的「ACPI Processor Power State」做為前述「省電模式」的應用例。
請同時參照圖4與圖3A。於開機後,在步驟S405中,BIOS 330於晶片組120中設定一輸入輸出陷阱(I/O Trap),此輸入輸出陷阱的觸發位址例如是某個預設的「偽電源管理觸發位址」。在本實施例中,這個預設的「偽電源管理觸發位址」同時也是一預設的「中斷事件觸發位址」。此「偽電源管理觸發位址」可以是任何預設位址,只要是不同於用來觸發處理器進入省電模式的「真電源管理觸發位址」,且不會與系統中其他裝置位址相衝突即可。因此,只要系統中有此位址的讀取要求(cycle)時,就會發生I/O Trap而產生中斷事件。在本實施例中,中斷事件例如是系統管理中斷事件SMI。
另外在步驟S405中,BIOS 330亦在晶片組120中設定「第一讀取要求」的回傳值為「辨識值」。此「第一讀取要求」的讀取位址是「偽電源管理觸發位址」。前述「辨識值」可以是任何預設值,例如可以將「辨識值」設定為「456」。此外,前述「辨識值」是存放於晶片組120中的記憶空間121。在對晶片組120完成設定後,晶片組120
在接獲帶有「偽電源管理觸發位址」的第一讀取要求時,會回傳此辨識值。
接下來在步驟S410中執行ACPI原始語言(ACPI Source Language,ASL)碼,藉由BIOS 330中的ASL碼去將系統中「觸發電源管理位址」設定為「偽電源管理觸發位址」。因此,當作業系統(OS)偵測到其中一顆處理器為閒置(idle)狀態時,可以發出帶有「偽電源管理觸發位址」的第一讀取要求給晶片組120。在完成步驟S410後,接下來繼續進行其他的開機程序。
在完成開機後,作業系統會去偵測多個處理器111與112的運行狀態,確認是否有任一個處理器進入閒置狀態(步驟S415)。若作業系統偵測到各處理器中有任何一個進入閒置狀態,則進行步驟S420。於步驟S420中,基於步驟S410的設定,作業系統會使前述進入閒置狀態的處理器(在此假設是處理器111)發出帶有「偽電源管理觸發位址」的第一讀取要求(I/O read cycle)給晶片組120。晶片組120在接獲帶有「偽電源管理觸發位址」的第一讀取要求後,基於步驟S405的設定,會回傳對應的辨識值給發出第一讀取要求的處理器111(步驟S425)。因此,前述進入閒置狀態的處理器111可以獲得辨識值,並將此辨識值存放在其內部EAX暫存器中。此處之步驟S420與S425除了可以參照上述說明外,也可以參照圖2的步驟S210與S215的相關說明,在此不予贅述。
另外,晶片組120在接獲帶有「偽電源管理觸發位址」的第一讀取要求後,基於前述步驟S405所設定的輸入輸出陷阱而產生系統管理中斷事件SMI(步驟S220’)。此處之圖4的步驟S220’類似圖2的步驟S220。此時因為「偽電源管理觸發位址」不是「真電源管理觸發位址」,所以晶片組120不會去觸發「ACPI Processor Power State」的相關信號。
請同時參照圖4與圖3B,因為系統產生系統管理中斷事件SMI,所以所有的處理器(例如圖3B的處理器111與112)會進入各別相對應的系統管理模式SMM中。處理器111與112在進入系統管理模式SMM之前,會各自將其內部各個暫存器的內容存放於相對應的系統管理記憶體SMRAM1與SMRAM2中。更進一步的說明是,處理器111內的EAX暫存器的內容會被存放在系統管理記憶體SMRAM1中(即系統記憶體340中的SMBASE1+7FF0H的位址),而處理器112內的EAX暫存器的內容則會被存放在系統管理記憶體SMRAM2中(即系統記憶體340中的SMBASE2+7FF0H的位址(步驟S225’)。此處之圖4的步驟S225’類似圖2的步驟S225。另外,前述位址中的“SMBASE1”與“SMBASE2”分別是指向系統管理記憶體SMRAM1與SMRAM2的基底指標。由於每一個處理器需要有專屬的系統管理記憶體(SMRAM),因此需要利用基底指標SMBASE1與SMBASE2定義出各個處理器相對應的系統管理記憶體的基底位址。
接下來進行步驟S230’,確認是否所有的處理器處於閒置狀態。此處步驟S230’類似圖2的步驟S230,因此可以參照圖2的步驟S230與其相關說明,在此不予贅述。於本實施例中,步驟S230’可包含子步驟S430與S435。在步驟S430中,BIOS 330從系統記憶體340中SMBASE1+7FF0H與SMBASE2+7FF0H的位址檢查各個處理器中何者具有辨識值。在步驟S435中,BIOS 330將會判斷是否所有的處理器中EAX暫存器的內容(即系統記憶體340中SMBASE1+7FF0H與SMBASE2+7FF0H的位址的內容)是否皆為辨識值。若尚有部分處理器的EAX暫存器的內容不是辨識值,則進行步驟S440。
由於BIOS 330可以從系統管理記憶體SMRAM1與SMRAM2檢查到各個處理器111與112是否具有該辨識值,因此在步驟S440中,BIOS 330會使閒置狀態的處理器(即EAX暫存器的內容是辨識值的處理器)保持於系統管理模式SMM中。相反地,在步驟S440中,BIOS 330會使其他處理器(EAX暫存器的內容不是辨識值的處理器)結束系統管理模式SMM。離開系統管理模式SMM的處理器(例如處理器112)會從系統管理記憶體(例如SMRAM2)中載回原先的內容,然後繼續進行中斷前的工作(回復至忙碌狀態),如圖3C所示。完成步驟S440後,回到步驟S415以繼續偵測每一個處理器的運行狀態。完成步驟S440後,再重複步驟S415~S435的進行過程類似圖3D及上述相關說明所述,故不再贅述。
如前述假設,在前一次步驟S435的判斷中,處理器111已因具有辨識值,而持續處於系統管理模式SMM。因此當步驟S415偵測到處理器112處於閒置狀態時,會再一次進行步驟S420~S430,使得系統記憶體340中SMBASE1+7FF0H與SMBASE2+7FF0H的位址都具有辨識值。由於步驟S435的判斷結果為全部處理器111與112皆具有辨識值,表示處理器111與112皆處於閒置狀態,所以接下來進行步驟S240’。類似圖2的步驟S240,在圖4的步驟S240’中,BIOS 330會發出帶有「真電源管理觸發位址」的第二讀取要求給晶片組120,其中「真電源管理觸發位址」可以是P_LVLx。晶片組120接到位址為P_LVLx的讀取要求後,晶片組120會傳送「ACPI Processor Power State」的相關信號到雙核心中央處理單元110,如圖3E所示。這些「ACPI Processor Power State」的相關信號是用來降低雙核心中央處理單元110的電壓或是停止時脈頻率。換言之,處理器111與處理器112的電壓都會因此而降低;處理器111與處理器112的時脈頻率會因此而停止。因此,會觸發所有處理器進入省電模式「ACPI Processor Power State」(步驟S245’)。此處步驟S245’類似圖2的步驟S245,因此可以參照圖2的步驟S245與其相關說明,在此不予贅述。
綜上所述,上述實施例中作業系統偵測到某一處理器處於閒置狀態時,會讓該處理器發出第一讀取要求給晶片組,以使發出第一讀取要求的處理器獲得一辨識值,並觸
發中斷事件,使得所有處理器都進入系統管理模式SMM中。然後,檢查每一處理器是否具有該辨識值。具有該辨識值的處理器保持在系統管理模式SMM中,而其他處理器則結束SMM去繼續進行之前未完成的工作。重複上述過程,直到所有處理器均具有辨識值,才依第二讀取要求,觸發全部處理器進入省電模式。因此,上述實施例可以在不改動硬體的情況下,以軟體或韌體的方法在多處理器系統下依然可以支援諸如ACPI Processor Power State等省電模式,來達到省電的功能。此外,上述實施例僅以兩個處理器作說明,但並非限定於此。本發明之方法亦可應用於兩個以上之處理器。
本領域具通常知識者可以依其需求,而以任何形式實現上述諸實施例。例如,可以內儲程式之電腦可讀取儲存媒體來實現上述諸實施例。也就是說,上述諸實施例可以用程式(電腦軟體)形式實現之,而將此程式儲存在硬碟、軟碟、CD-ROM等電腦可讀取儲存媒體中。
由於網路之普及,上述程式(電腦軟體)除可儲存於電腦可讀取儲存媒體外,亦可在網路上直接傳輸提供,而無須藉由儲存於儲存媒體上提供該程式。因此,本領域具通常知識者可以依其需求,而以「電腦程式產品」型式實現上述諸實施例。所謂電腦程式產品,係載有電腦可讀取之程式且不限外在形式之物。
雖然本發明已以較佳實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不
脫離本發明之精神和範圍內,當可作些許之更動與潤飾,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。
110‧‧‧單一封裝的雙核心中央處理單元
111、112‧‧‧處理器
120‧‧‧晶片組
S205~S245、S220’~S245’、S405~S440‧‧‧本發明實施例之步驟
330‧‧‧基本輸入輸出系統(BIOS)
340‧‧‧系統記憶體
圖1是說明傳統多處理器系統無法支援ACPI Processor Power State的示意圖。
圖2是依據本發明實施例說明一種多處理器系統之進入省電模式方法的流程圖。
圖3A~3E是依據本發明實施例說明多處理器系統支援ACPI Processor Power State的示意圖。
圖4是依據本發明另一實施例說明一種多處理器系統之進入省電模式方法的流程圖。
S205~S245:本發明實施例之步驟
Claims (18)
- 一種多處理器系統之進入省電模式方法,包括:偵測多個處理器;若該些處理器之一者進入一閒置狀態,則進入該閒置狀態的該處理器發出一第一讀取要求,以使發出該第一讀取要求的該處理器獲得一辨識值,並觸發一中斷事件,使每一該些處理器各自進入一系統管理模式;以及檢查每一該些處理器是否具有該辨識值,其中:若具有該辨識值,則使具有該辨識值的該處理器保持於該系統管理模式中;若不具有該辨識值,則使不具有該辨識值的該處理器結束該系統管理模式;以及若該些處理器之全部皆具有該辨識值,則依一第二讀取要求,觸發全部該些處理器進入一省電模式。
- 如申請專利範圍第1項所述多處理器系統之進入省電模式方法,其中該第一讀取要求帶有一觸發位址,在偵測該些處理器之前,更包括:於一晶片組中,設定對應該觸發位址的陷阱;以及於該晶片組中,將該第一讀取要求的回傳值設定為該辨識值。
- 如申請專利範圍第1項所述多處理器系統之進入省電模式方法,其中該第一讀取要求中帶有一觸發位址,而獲得該辨識值之步驟包括: 使進入該閒置狀態的該處理器發出帶有該觸發位址的該第一讀取要求給一晶片組;以及該晶片組回傳該辨識值給發出該第一讀取要求的該處理器。
- 如申請專利範圍第1項所述多處理器系統之進入省電模式方法,其中觸發該中斷事件之步驟包括:依據該第一讀取要求,一晶片組觸發一系統管理中斷;將每一該些處理器的內容存放於一系統管理記憶體中;以及使每一該些處理器各自進入該系統管理模式。
- 如申請專利範圍第4項所述多處理器系統之進入省電模式方法,其中該第一讀取要求中帶有一觸發位址,且依據帶有該觸發位址的該第一讀取要求,該晶片組觸發該系統管理中斷。
- 如申請專利範圍第4項所述多處理器系統之進入省電模式方法,其中在檢查每一該些處理器是否具有該辨識值的步驟中是由一基本輸入輸出系統(BIOS)從該系統管理記憶體中檢查該些處理器中何者具有該辨識值。
- 如申請專利範圍第1項所述多處理器系統之進入省電模式方法,其中該第一讀取要求帶有一偽電源管理觸發位址。
- 如申請專利範圍第1項所述多處理器系統之進入省電模式方法,其中該第二讀取要求帶有一真電源管理觸發位址。
- 如申請專利範圍第1項所述多處理器系統之進入省電模式方法,其中該中斷事件為一系統管理中斷(SMI)事件。
- 一種多處理器系統,包括:一處理單元,具有多個處理器,若該些處理器之一者進入一閒置狀態,則進入該閒置狀態的該處理器發出一第一讀取要求;以及一晶片組,與該處理單元連接,該晶片組依據該第一讀取要求,提供一辨識值給發出該第一讀取要求的該處理器,並觸發一中斷事件,使每一該些處理器各自進入一系統管理模式,以檢查每一該些處理器是否具有該辨識值,其中:若具有該辨識值,則使具有該辨識值的該處理器保持於該系統管理模式中;若不具有該辨識值,則使不具有該辨識值的該處理器結束該系統管理模式;以及若該些處理器之全部皆具有該辨識值,則依一第二讀取要求,觸發全部該些處理器進入一省電模式。
- 如申請專利範圍第10項所述多處理器系統,其中該第一讀取要求帶有一觸發位址,而在該晶片組中,設定對應該觸發位址的陷阱以及將該第一讀取要求的回傳值設定為該辨識值。
- 如申請專利範圍第10項所述多處理器系統,其中該第一讀取要求中帶有一觸發位址,而進入該閒置狀態的 該處理器發出帶有該觸發位址的該第一讀取要求給該晶片組,以及該晶片組回傳該辨識值給發出該第一讀取要求的該處理器。
- 如申請專利範圍第10項所述多處理器系統,其中該中斷事件包括一系統管理中斷事件,而該多處理器系統更包括:一系統管理記憶體,與該晶片組連接,其中若發生該系統管理中斷時,每一該些處理器將其內容存放於該系統管理記憶體中,以及每一該些處理器各自進入該系統管理模式。
- 如申請專利範圍第13項所述多處理器系統,其中該第一讀取要求中帶有一觸發位址,且依據帶有該觸發位址的該第一讀取要求,該晶片組觸發該系統管理中斷。
- 如申請專利範圍第13項所述多處理器系統,更包括:一基本輸入輸出系統,該基本輸入輸出系統從該系統管理記憶體中檢查該些處理器中何者具有該辨識值。
- 如申請專利範圍第10項所述多處理器系統,其中該第一讀取要求帶有一偽電源管理觸發位址。
- 如申請專利範圍第10項所述多處理器系統,其中該第二讀取要求帶有一真電源管理觸發位址。
- 如申請專利範圍第10項所述多處理器系統,其中該中斷事件為一系統管理中斷事件。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW97134209A TWI474159B (zh) | 2008-09-05 | 2008-09-05 | 多處理器系統及其進入省電模式方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW97134209A TWI474159B (zh) | 2008-09-05 | 2008-09-05 | 多處理器系統及其進入省電模式方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| TW201011522A TW201011522A (en) | 2010-03-16 |
| TWI474159B true TWI474159B (zh) | 2015-02-21 |
Family
ID=44828649
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW97134209A TWI474159B (zh) | 2008-09-05 | 2008-09-05 | 多處理器系統及其進入省電模式方法 |
Country Status (1)
| Country | Link |
|---|---|
| TW (1) | TWI474159B (zh) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP2798435B1 (en) * | 2011-12-29 | 2018-09-19 | Intel Corporation | Individual core voltage margining |
Citations (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6711691B1 (en) * | 1999-05-13 | 2004-03-23 | Apple Computer, Inc. | Power management for computer systems |
| US20060053326A1 (en) * | 2004-09-03 | 2006-03-09 | Intel Corporation | Coordinating idle state transitions in multi-core processors |
| US20070006004A1 (en) * | 2005-06-30 | 2007-01-04 | Intel Corporation | Dynamic bus parking |
| US7174467B1 (en) * | 2001-07-18 | 2007-02-06 | Advanced Micro Devices, Inc. | Message based power management in a multi-processor system |
| TW200721013A (en) * | 2005-11-25 | 2007-06-01 | Via Tech Inc | Power source management apparatus of multi-processor system and method thereof |
| TW200813842A (en) * | 2005-12-22 | 2008-03-16 | Intel Corp | Method and apparatus for providing for detecting processor state transitions |
| US20080104425A1 (en) * | 2006-11-01 | 2008-05-01 | Gunther Stephen H | Independent power control of processing cores |
| US20080148027A1 (en) * | 2006-12-14 | 2008-06-19 | Fenger Russell J | Method and apparatus of power managment of processor |
-
2008
- 2008-09-05 TW TW97134209A patent/TWI474159B/zh active
Patent Citations (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6711691B1 (en) * | 1999-05-13 | 2004-03-23 | Apple Computer, Inc. | Power management for computer systems |
| US7174467B1 (en) * | 2001-07-18 | 2007-02-06 | Advanced Micro Devices, Inc. | Message based power management in a multi-processor system |
| US20060053326A1 (en) * | 2004-09-03 | 2006-03-09 | Intel Corporation | Coordinating idle state transitions in multi-core processors |
| US20070006004A1 (en) * | 2005-06-30 | 2007-01-04 | Intel Corporation | Dynamic bus parking |
| TW200721013A (en) * | 2005-11-25 | 2007-06-01 | Via Tech Inc | Power source management apparatus of multi-processor system and method thereof |
| TW200813842A (en) * | 2005-12-22 | 2008-03-16 | Intel Corp | Method and apparatus for providing for detecting processor state transitions |
| US20080104425A1 (en) * | 2006-11-01 | 2008-05-01 | Gunther Stephen H | Independent power control of processing cores |
| US20080148027A1 (en) * | 2006-12-14 | 2008-06-19 | Fenger Russell J | Method and apparatus of power managment of processor |
Also Published As
| Publication number | Publication date |
|---|---|
| TW201011522A (en) | 2010-03-16 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US8140828B2 (en) | Handling transaction buffer overflow in multiprocessor by re-executing after waiting for peer processors to complete pending transactions and bypassing the buffer | |
| US7412589B2 (en) | Method to detect a stalled instruction stream and serialize micro-operation execution | |
| US12505000B2 (en) | Software visible and controllable lock-stepping with configurable logical processor granularities | |
| US8762599B2 (en) | Delegating a poll operation to another device | |
| US20070156941A1 (en) | Method for synchronizing processors following a memory hot plug event | |
| US8495344B2 (en) | Simultaneous execution resumption of multiple processor cores after core state information dump to facilitate debugging via multi-core processor simulator using the state information | |
| US7200701B2 (en) | System and method for processing system management interrupts in a multiple processor system | |
| US8370684B2 (en) | Microprocessor with system-robust self-reset capability | |
| US20090144754A1 (en) | Bios routine avoidance | |
| CN107004251A (zh) | 在中央处理单元(cpu)与辅助处理器之间的改进的函数回调机制 | |
| CN117063155A (zh) | 检测卸载操作中的执行风险 | |
| WO2022066301A1 (en) | Phased boot process to dynamically initialize devices in a verified environment | |
| CN103164316A (zh) | 硬件监视器 | |
| KR102907864B1 (ko) | 디버그 호스트로서 동작하는 cpu를 포함하는 시스템 온 칩 및 이의 동작 방법 | |
| TWI474159B (zh) | 多處理器系統及其進入省電模式方法 | |
| CN101349939B (zh) | 多处理器系统及其进入省电模式方法 | |
| CN100412790C (zh) | 微处理器 | |
| US9043507B2 (en) | Information processing system | |
| JP2017503296A (ja) | アウトオブオーダープロセッサでの長いロードサイクルに依存するロードリプレイを除外するメカニズム | |
| CN115576734A (zh) | 一种多核异构日志存储方法和系统 | |
| US7877533B2 (en) | Bus system, bus slave and bus control method | |
| JP2017503297A (ja) | アウトオブオーダープロセッサでのキャッシュ不可に依存するロードリプレイを除外するメカニズム | |
| JP6286066B2 (ja) | アウトオブオーダープロセッサでのロードリプレイを低減する節電メカニズム | |
| JP2022520914A (ja) | メモリ組込み自己テストコントローラを用いる読み出し専用メモリのテスト | |
| US20060282589A1 (en) | System and method of processing system management interrupts (SMI) in a multi-processor environment |