TWI410804B - 用於後中斷操作之方法、裝置及系統 - Google Patents
用於後中斷操作之方法、裝置及系統 Download PDFInfo
- Publication number
- TWI410804B TWI410804B TW098132728A TW98132728A TWI410804B TW I410804 B TWI410804 B TW I410804B TW 098132728 A TW098132728 A TW 098132728A TW 98132728 A TW98132728 A TW 98132728A TW I410804 B TWI410804 B TW I410804B
- Authority
- TW
- Taiwan
- Prior art keywords
- interrupt
- queue
- post
- input
- processor group
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 26
- 230000002093 peripheral effect Effects 0.000 claims abstract description 27
- 230000015654 memory Effects 0.000 claims description 46
- 230000007246 mechanism Effects 0.000 claims description 12
- 238000012545 processing Methods 0.000 claims description 8
- 230000008569 process Effects 0.000 claims description 5
- 230000003111 delayed effect Effects 0.000 claims description 3
- 230000004044 response Effects 0.000 claims description 3
- 238000004891 communication Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 229910003460 diamond Inorganic materials 0.000 description 5
- 239000010432 diamond Substances 0.000 description 5
- 238000007726 management method Methods 0.000 description 5
- 238000012546 transfer Methods 0.000 description 5
- 238000003491 array Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000002411 adverse Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 239000000872 buffer Substances 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000001627 detrimental effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 230000002618 waking effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4812—Task transfer initiation or dispatching by interrupt, e.g. masked
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/161—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/161—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
- G06F13/1626—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement by reordering requests
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/24—Handling requests for interconnection or transfer for access to input/output bus using interrupt
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Power Sources (AREA)
- Bus Control (AREA)
- Microcomputers (AREA)
Description
本發明係關於提供後中斷操作之忽視機構之方法、裝置及系統。
不同的通訊協定有與操作順序有關的不同之要求。例如,用於鏈路的周邊組件高速互連(Peripheral Component Interconnect Express;簡稱PCI ExpressTM
(PCIeTM
))協定係基於(2007年1月17日公佈之)PCI ExpressTM
規格基礎規格2.0版(後文中稱為PCIeTM
規格),PCI ExpressTM
協定提供了與後操作(posted transaction)有關的排序要求,因而一後操作不得超過較早的後操作。後操作是一種提出要求方於成功地完成操作時並未收到完成訊息之操作。對比之下,在非後操作(non-posted transaction)中,提出要求方預期於正確地執行該操作時將接收一完成訊息。PCIeTM
鏈路的排序規則要求在一後操作之後的各操作推進該後操作,通常直到該後操作到達一處理器核心為止。如果較早的後操作是一中斷,則現有的系統將各操作推進通過一互連,直到該中斷操作被登錄在處理器的一本地高階可程式中斷控制器(Advanced Programmable Interrupt Controller;簡稱APIC)內為止,而強制執行這些排序規則。
雖然這些規則保證將各中斷提供給一處理器,但是若該處理器處於一低電源狀態,且因而耗用較長的時間接受該中斷且送回該處理器已得知該中斷之一完成訊息,則可能延遲較晚的操作。亦即,當一處理器被置於一低電源模式時,該處理器可能無法迅速地接收這些中斷並送回一完成訊息。預期在具有高階處理器的未來系統中,將有提供處理器核心可能降低時脈及功率的電源管理狀態之更多機會。此外,進入的低電源狀態愈深,則回復到一可操作狀態的耗時愈長。因此,處理器登錄一中斷的時間可能是較長的。此外,平台電源管理技術可能造成將一些中斷對準一作業系統定時器時間,因而可能使一些中斷聚集在一起。
因此,當遵守特定通訊協定的排序要求時,且尤其在一處理器或一處理器的一部分被置於一低電源狀態時,可能會產生瓶頸。因此,對諸如經由一中斷而開始一通訊週期的被耦合到處理器之周邊裝置等的對延遲敏感的裝置可能有不利的影響。例如,一通用序列匯流排(Universal Serial Bus;簡稱USB)裝置可能有大約20微秒的一訊框時間。然而,一處理器核心可能耗用一段較長的時間才能自一低電源狀態被喚醒。因此,使用現有的互連排序規則時,可能發生不利的影響。
在一實施例中,一方法包含下列步驟:在一處理器組中自一周邊裝置接收一輸入的後操作;決定該操作是否為一中斷操作;如果確係如此,則將該操作傳送到一第一佇列;以及如果並非如此,則將該操作傳送到一第二佇列。說明了其他實施例,且申請這些其他實施例的專利範圍。
在各實施例中,可使輸入一處理器組的中斷與其他輸入的操作分開,以避免前文所述之影響。例如,可經由諸如周邊裝置控制器集線器(Peripheral Controller Hub;簡稱PCH)等的一控制器將各周邊裝置耦合到一處理器組。與較早世代的處理器對比之下,根據一實施例之一處理器組可能沒有用來自被附接的裝置接收諸如不可遮罩式中斷(Non-Maskable Interrupt;簡稱NMI)或系統管理中斷(System Management Interrupt;簡稱SMI)等的中斷之獨立的中斷接腳。反而,可以頻內(in-band)訊息之方式在諸如該處理器組與周邊裝置間之一點對點互連(例如,一PCH)等的一標準互連上傳送來自周邊裝置之各種中斷。可將此種中斷稱為訊息發送的中斷(Message-Signaled Interrupt;簡稱MSI)或虛擬傳統導線中斷(Virtual Legacy Wire Interrupt;簡稱VLW)。
沿著載送其他操作(例如,寫入及讀取等的操作)的一互連傳輸之這些中斷可採用後操作之形式。因此,這些操作在傳統上將遵循諸如PCIeTM
協定等的一特定通訊協定之排序規則,例如,一後操作不可超過另一後操作。然而,如前文所述,此種方式可能造成瓶頸以及周邊裝置的不希望之操作。因此,在各實施例中,可提供用來處理這些中斷操作並將這些中斷操作與其他後操作分開的一忽視機構,而實現對這些中斷的分開處理。請注意,可觀測到中斷傳送的各種要求顯示:各MSI/VLW推進資料待完成的(data posted)週期,且讀取完成訊息推進各MSI/VLW。然而,一旦滿足了這些排序規則之後,可將一忽視機構用於該等MSI/VLW,而可讓後續的通訊繼續流動,且因而消除瓶頸。
可使這些中斷佇列在一或多個儲存單元中,而使核心省電可持續一段較長的時間。因此,可在一段較長的時間中維持低電源狀態,因而有助於省電。此外,此種低電源技術可以是高延遲技術,例如,當停止供電給核心等的組件時,可以得到較大的省電。面對中斷時,可進一步進行此種較高延遲的技術,而不會造成諸如被附接的周邊裝置等的延遲敏感的裝置之問題。在各實施例中,可將諸如不同的緩衝器或佇列等的獨立儲存器提供給後操作及這些中斷操作。
可能存在有此類獨立的儲存器之不同實施方式。例如,一處理器組可包含諸如用於後操作之一第一佇列以及用於輸入的MSI或VLW之一第二佇列等的獨立之晶片內建儲存器。在另一實施方式中,並不提供晶片內建儲存器,而是可提供諸如主記憶體中專用於儲存這些中斷操作的一部分之一晶片外儲存器。藉由忽視這些中斷操作,即可使在這些中斷操作之後的通訊繼續流經該獨立的佇列,而消除瓶頸。此外,由於將分開的獨立儲存器提供給這些MSI及VLW,所以可在較長的一段時間中維持核心的省電。亦即,縱然各中斷正被儲存在佇列中,亦可進行高延遲的低電源技術,而不會對諸如被耦合到一處理器組的USB裝置等的延遲敏感的裝置造成不利的影響。
現在請參閱第1圖,圖中示出根據本發明的一實施例的一方法之一流程圖。更具體而言,可將方法100用來處理一處理器組自一互連接收的輸入的操作。舉例而言,該互連可以是一直接媒體介面(Direct Media Interface;簡稱DMI),但是本發明之範圍不限於此方面。可自一PCH接收輸入的操作,而該PCH又可被耦合到諸如一系統的內部裝置等的一或多個周邊裝置、或諸如收音機調諧器或媒體播放器的USB裝置等的外部周邊裝置。
如第1圖所示,方法100開始時可在方塊110中自一互連接收一輸入的操作。例如,一處理器組之一輸入/輸出(Input/Output;簡稱I/O)介面可接收輸入的操作。如前文所述,這些操作可以是不同的類型,其中包括讀取及寫入操作、以及其他此類操作。這些操作中之某些操作可以是後操作,而其他的操作則是非後操作。此外,該等後操作中之至少某些後操作可以是諸如MSI或VLW等的中斷操作。該I/O介面或諸如被耦合到該介面的一仲裁器等的其他輸入流控制機構可在菱形115中決定該操作是否為一後操作。例如,該仲裁器或其他實體可分析該操作之封包標頭(header),以便決定該操作是否為一後操作。如果並非如此,則可在方塊120中將該操作提供給一非後操作佇列。該佇列可以是該處理器組的一特定邏輯區塊的一部分,例如,該佇列可以是非核心邏輯(uncore logic),而該非核心邏輯可包含核心以外的各種結構及邏輯。
如果反而在菱形115中決定該操作事實上是一後操作,則控制轉移到菱形130,此時可決定該操作是否為諸如一訊息發送的中斷或一虛擬傳統導線中斷等的一中斷,且仍然可分析訊息標頭而決定該操作是否為一中斷。如果不是中斷,則控制轉移到方塊135,此時可將該後操作提供給一後操作佇列。如果反而決定該操作是一中斷操作,則可在方塊140中將該中斷操作提供給一中斷操作佇列。
因此,如第1圖所示,可針對後操作及中斷操作而維護不同的佇列,使該等中斷操作不會阻塞其他輸入的後操作。更確切而言,如將於下文中說明的,縱然一本地高階可程式中斷控制器(APIC)、其他中斷控制器、或處理器核心處於一低電源狀態,因而使該等中斷操作在該APIC控制器或一或多個核心的功率再上升之前必須停留在該佇列內,仍然可繼續處理這些其他的後操作。
當一條目被儲存在中斷佇列時,可在該中斷佇列中執行進一步的處理。具體而言,可在菱形150中決定該本地APIC是否處於低電源狀態。如果確係如此,則控制轉移到菱形160,此時可決定該操作是否符合將一或多個核心自一低電源狀態喚醒之一預定喚醒準則。例如,一準則可以是:若用於該中斷操作所儲存之條目是該佇列之第一條目,則喚醒。如果確係如此,則可在方塊170中設定一旗標,以便指示在該中斷佇列內之至少一條目出現了上述的情況。此外,可將一喚醒信號傳送到該本地APIC以及一或多個核心,以便將該本地APIC及該一或多個核心喚醒,而處理該中斷。其他的喚醒準則選項例子包括:(a)關於第一中斷條目,在一定時器的計時到期之後喚醒;(b)在一臨界數目的中斷進入佇列之後喚醒;(c)根據中斷優先順序而喚醒;或(d)根據目標針對的一或多個核心而喚醒。方法100因而結束其處理,並將該輸入的操作儲存到適當的佇列。當然,可對這些操作執行其他的處理。具體而言,假定該一或多個核心係處於一正常操作模式,可將操作自該等佇列傳送到各核心或其他所希望的目標。在某些實施方式中,一仲裁器可被耦合到該等佇列之輸出,以便仲裁各操作,並將該等操作傳送到適當的位置。
如果反而一或多個核心及(或)該本地APIC係處於一低電源狀態,則該等中斷操作可在該中斷佇列內保持被佇列狀態。然而,來自後操作佇列及非後操作佇列的各操作在該等操作無須使用該等核心之情形下,可持續被處理。例如,對於目標為功率並未下降的主記憶體或快取記憶體的各讀取或寫入要求而言,這些操作可持續被傳送出該該等操作佇列且被處理。因此,在該一或多個中斷操作之後被接收到的這些其他操作可有效地超過被儲存在該中斷佇列之該等中斷操作。因此,可避免周邊裝置的資料流不足(underflow)或其他錯誤狀況。例如,假定一核心或本地APIC被置於停止供電狀態。當處於該狀態時,電壓斜線上升的進行可能要耗用一段較長的時間,而且諸如將一鎖相迴路(Phase Locked Loop;簡稱PLL)以及使其他介面初始化而退出低電源狀態等的額外之工作可能在50至100微秒的數量級,因而對應於一延遲退出時間。因為周邊裝置可能有諸如20微秒的較短之訊框時間,所以若對周邊裝置信令(signaling)的回應因這些信號被阻塞在經佇列的一中斷操作之後而無法進行,則將發生資料流不足。因此,藉由使用一忽視機構,即可如周邊裝置所預期的時間內處理其他的周邊裝置操作,因而避免了資料流不足或其他錯誤狀況。雖然係參照第1圖所示實施例中之特定實施方式而說明,但是本發明之範圍不限於此方面。
可以許多不同的系統及處理器類型實施各實施例。然而,可配合具有一處理器組的一平台而使用某些實施方式,該處理器組可以是其中包含多個處理器核心、快取記憶體、相關聯的邏輯、記憶體控制器、以及介面控制器等的組件之一單晶粒積體電路。
現在請參閱第2圖,圖中示出根據本發明的一實施例的一系統的一部分之一方塊圖。如第2圖所示,一系統200包含:被耦合到一記憶體260之一處理器組210,該記憶體260在一實施例中可以是動態隨機存取記憶體(Dynamic Random Access Memory;簡稱DRAM);以及一PCH 280。如第2圖所示,處理器組210可包含複數個核心220a
-220d
(統稱為核心220)。可使每一核心與一對應的快取記憶體225a
-225d
(統稱為快取記憶體225)相關聯。此外,處理器組210包含非核心邏輯230,非核心邏輯230可包含諸如某些介面及控制邏輯等的並未被設置在核心中之各種處理器邏輯。用來提供對一互連245的介面之一I/O介面240也被設置在處理器組210內,該互連245在一實施例中可以是被耦合到處理器組210與PCH 280之間的一直接媒體介面(DMI)或另一點對點互連。此外,處理器組210進一步包含用來提供該處理器組與記憶體260間之一介面的一記憶體控制器250。
如第2圖進一步所示,係將輸入的要求自I/O介面240提供給非核心邏輯230,且尤係提供給該邏輯內的諸如一仲裁器232等的一佇列結構。在第2圖所示之實施方式中,該仲裁器是組態被設定成自多個虛擬通道接收輸入的操作之一虛擬通道仲裁器(Virtual Channel Arbiter;簡稱VCARB)。在所示之實施例中,這些通道可包含一第一虛擬通道(VC0)以及一第二虛擬通道(VCP)。這些虛擬通道可適於載送不同通訊類別的通訊,且可自處理器組210內之各種來源或其他的此類來源接收操作。
仲裁器232可仲裁各輸入的操作,並根據操作的類型而將該等輸入的操作提供給被選擇的佇列。在第2圖所示之實施例中,設有一後操作佇列234、一非後操作佇列235、以及一中斷操作佇列236,用以接收這些類型的操作。雖然本發明之範圍不限於此方面,但是在一實施例中,中斷操作佇列236之深度可以是至少32個條目。在此種方式下,該佇列之深度可基於一處理器組的各核心可能處於一低電源狀態的一段特定時間中可能跨越一互連的已知最大操作數目。佇列234及236又被耦合到一輸出仲裁器238,該輸出仲裁器238可仲裁自這些佇列輸出之不同的操作。
如第2圖進一步示出的,處理器組210可包含一本地APIC 246。該APIC可被用來經由諸如仲裁器238而接收輸入的中斷,並向一或多個核心通知該等中斷。請注意,可以獨立於該處理器組的核心及其他邏輯之方式控制本地APIC 246。亦即,可將該APIC獨立地置於低電源狀態及退出低電源狀態。在此種方式下,當沒有要被處理的中斷時,可將本地APIC 246置於一低電源狀態。同樣地,縱然一或多個核心220可能處於一低電源狀態,也可對本地APIC 246供電,以便處理輸入的中斷。APIC的不同之實施方式是可行的。例如,可以不採用所有核心共用之一單一APIC,而是設有與每一核心相關聯的本地APIC,該本地APIC可在核心之內,或在核心之外。
可將非核心邏輯230之邏輯用來控制本地APIC 246之電源狀態。例如,當中斷操作佇列236是空的時,一信號、訊息、或電源管理準則可使本地APIC 246能夠進入一低電源狀態。同樣地,例如,當一第一中斷操作被寫入中斷操作佇列236中時,可將一喚醒信號或訊息傳送到本地APIC 246。雖然為了易於圖示而在圖中只示出這些有限的組件,但是我們應可了解:處理器組210內可設有諸如定點功能單元及其他處理單元等的額外之組件。
因此,使用諸如第2圖所示之實施方式時,可繼續處理後操作佇列234內之各操作同時該處理器組的本地APIC 246處於一低電源狀態,因而各中斷操作仍保留在中斷佇列236內。當然,當中斷佇列236內存在至少一中斷時,可將一喚醒信號或訊息傳送到該APIC及(或)一或多個核心,以使將其喚醒而處理該中斷。當對一核心供電時,該核心傳送一訊息,以便指示該核心已準備好處理操作,並將一觸發信號傳送到儲存該等中斷操作之佇列236,使該等中斷操作將被傳送到該本地APIC且接著到該核心。雖然圖中示出第2圖所示實施例之特定實施方式而說明,但是本發明之範圍不限於此方面。
如前文所述,在各實施方式中,並非提供用於輸入的中斷操作之一晶片內建儲存器,而是可將晶片外的可用儲存器用於此種儲存用途。現在請參閱第3圖,圖中示出根據本發明的另一實施例的一處理器組之一方塊圖。如第3圖所示,可以類似於第2圖所示處理器組之方式配置處理器組210。然而,在第3圖所示之實施方式中,請注意:該處理器組的非核心邏輯230內並未設有一獨立的中斷操作佇列。在第3圖所示之實施例中,反而可以將記憶體260內之一專用儲存空間265用來儲存這些中斷。為了將輸入的後中斷操作提供給記憶體260,仲裁器232可被耦合到一直接記憶體存取(Direct Memory Access;簡稱DMA)引擎248,該DMA引擎248可接收後中斷操作,並將其儲存到記憶體260。具體而言,DMA引擎248可與記憶體控制器250的一記憶體仲裁器255通訊,因而將被接收的中斷提供給專用儲存空間265。當該APIC的功率上升且能夠處理中斷時,記憶體仲裁器255及DMA引擎248兩者又可反向操作,取得被儲存的中斷,並將該等中斷經由仲裁器238而提供給本地APIC 246。
可以許多不同的系統類型實施各實施例。現在請參閱第4圖,圖中示出根據本發明的一實施例的一系統之一方塊圖。如第4圖所示,多處理器系統500是一點對點互連系統,且包含一第一處理器570以及經由一點對點互連結構550而耦合之一第二處理器580。如第4圖所示,處理器570及580中之每一處理器可以是其中包含第一及第二處理器核心(亦即,處理器核心574a及574b、以及處理器核心584a及584b)之多核心處理器。每一處理器可進一步包含非核心邏輯575及585,該等非核心邏輯可包含一忽視機構,該忽視機構係以獨立於其他後操作之方式處理中斷操作。
仍請參閱第4圖,第一處理器570進一步包含一記憶體控制器集線器(Memory Controller Hub;簡稱MCH) 572、以及點對點(P-P)介面576及578。同樣地,第二處理器580包含一MCH 582、以及點對點介面586及588。如第4圖所示,MCH 572及582將該等處理器耦合到各別的記憶體(亦即,一記憶體532及一記憶體534),該等記憶體可以是在本地被附接到各別處理器的主記憶體(例如,動態隨機存取記憶體(DRAM))之一部分。第一處理器570及第二處理器580可分別經由點對點互連552及554而被耦合到一晶片組590。如第4圖所示,晶片組590包含點對點介面594及598。
此外,晶片組590包含一介面592,用以將晶片組590耦合到一高性能圖形引擎538。晶片組590又可經由一介面596而被耦合到一第一匯流排516。如第4圖所示,各種I/O裝置514以及一匯流排橋接器518可被耦合到第一匯流排516,而該匯流排橋接器518將第一匯流排516耦合到一第二匯流排520。其中包括諸如一鍵盤/滑鼠522、一些通訊裝置526、以及諸如一磁碟機或其他大量儲存裝置等的一資料儲存單元528等的各種裝置可被耦合到第二匯流排520,而該資料儲存單元528在一實施例中可包含碼530。此外,一音訊I/O裝置524可被耦合到第二匯流排520。
雖然已參照有限數目的實施例而說明了本發明,但是熟悉此項技術者應可了解本發明的許多修改及變化。最後的申請專利範圍將涵蓋在本發明的真實精神及範圍內之所有此類修改及變化。
200,500...系統
210...處理器組
260,532,534...記憶體
280...周邊裝置控制器集線器
220,220a
-220d
...核心
225,225a
-225d
...快取記憶體
230,575,585...非核心邏輯
240...輸入/輸出介面
245...互連
250...記憶體控制器
232...仲裁器
234...後操作佇列
235...非後操作佇列
236...中斷操作佇列
238...輸出仲裁器
246...高階可程式中斷控制器
265...專用儲存空間
248...直接記憶體存取引擎
570...第一處理器
550,552,554...點對點互連
580...第二處理器
574a,574b,584a,584b...處理器核心
572,582...記憶體控制器集線器
576,578,586,588,594,598...點對點介面
590...晶片組
592,596...介面
538...高性能圖形引擎
516...第一匯流排
514...輸入/輸出裝置
518...匯流排橋接器
520...第二匯流排
522...鍵盤/滑鼠
526...通訊裝置
528...資料儲存單元
530...碼
524...音訊輸入/輸出裝置
第1圖是根據本發明的一實施例的一方法之一流程圖。
第2圖是根據本發明的一實施例的一系統的一部分之一方塊圖。
第3圖是根據本發明的另一實施例的一處理器組之一方塊圖。
第4圖是根據本發明的一實施例的一系統之一方塊圖。
Claims (20)
- 一種用於後中斷操作之方法,包含下列步驟:在一處理器組的一佇列結構中自一周邊裝置接收一輸入的後操作;以及決定該輸入的後操作是否為一中斷操作,且如果確係如此,則將該中斷操作傳送到一第一佇列,以讓非中斷之輸入的後操作及非後操作在該處理器組的至少一部分係處於一低電源狀態時超過該中斷操作,如果並非如此,則將該輸入的後操作傳送到該處理器組之一第二佇列。
- 如申請專利範圍第1項之方法,進一步包含下列步驟:將該中斷操作傳送到該第一佇列,其中該第一佇列是被耦合到該處理器組的一系統記憶體之一專用部分。
- 如申請專利範圍第1項之方法,進一步包含下列步驟:將該中斷操作傳送到該第一佇列,其中該第一佇列是該處理器組的一獨立佇列。
- 如申請專利範圍第1項之方法,進一步包含下列步驟:當由於該處理器組的一高階可程式中斷控制器(APIC)之一低電源狀態而使至少一中斷操作被儲存在該第一佇列時,處理該第二佇列中之輸入的後操作。
- 如申請專利範圍第4項之方法,進一步包含下列步驟:當該至少一中斷操作中之一第一中斷操作被寫入該第一佇列中時,使該處理器組之該APIC及至少一核心被啟動。
- 如申請專利範圍第4項之方法,進一步包含下 列步驟:回應該被處理的輸入的後操作而將資料自該處理器組傳輸到該周邊裝置,其中該周邊裝置因該被處理的輸入的後操作而避免了資料流不足狀況,其中該處理器組之該至少一部分係處於該低電源狀態,且在該低電源狀態停止供電給該處理器組之至少一核心。
- 如申請專利範圍第4項之方法,其中該中斷操作是一虛擬傳統導線中斷。
- 如申請專利範圍第4項之方法,其中將該中斷操作儲存在該第一佇列之該步驟可讓在該中斷操作之後於該處理器組中接收之一第二輸入的後操作超過該中斷操作,其中被耦合到該處理器組與該周邊裝置之間的一互連之排序規則不容許較晚的後操作超過較早的後操作。
- 一種用於後中斷操作之裝置,包含:一處理器組,該處理器組包含:一介面,用以自一周邊裝置接收輸入的操作;一仲裁器,用以自該介面接收該輸入的操作,且於一輸入的後操作是一中斷操作時,使用一忽視機構處理該輸入的後操作,否則將該輸入的後操作儲存在一後操作佇列;被耦合到該仲裁器之複數個核心,用以回應指令而執行操作;以及被耦合到該仲裁器之一記憶體控制器,用以與一系統記憶體通訊。
- 如申請專利範圍第9項之裝置,進一步包含被 耦合到該複數個核心之至少一中斷控制器,其中根據與該忽視機構相關聯的一準則,而在接收到該中斷操作之後啟動該至少一中斷控制器。
- 如申請專利範圍第10項之裝置,其中當該至少一中斷控制器係處於一低電源狀態時,該記憶體控制器處理該後操作佇列中儲存的至少一後操作,其中該忽視機構之一中斷佇列與該後操作佇列是獨立的,因而該中斷操作不會阻塞在該中斷操作之後於該處理器組中接收之該至少一後操作。
- 如申請專利範圍第10項之裝置,其中該忽視機構是該系統記憶體之一專用部分,且該處理器組中設有該後操作佇列。
- 如申請專利範圍第12項之裝置,進一步包含一直接記憶體存取(DMA)引擎,用以自該仲裁器接收該中斷操作,且使該中斷操作被儲存在該系統記憶體之該專用部分。
- 如申請專利範圍第10項之裝置,其中如果該忽視機構之一中斷佇列中除了對應於該中斷操作的一條目之外沒有任何其他條目,則該中斷佇列設定該條目中之一旗標。
- 如申請專利範圍第14項之裝置,其中該旗標使一訊息被傳送到該至少一中斷控制器。
- 如申請專利範圍第9項之裝置,其中當一中斷操作儲存於該忽視機構中且至少一該複數個核心係處於一 低電源狀態時,來自該後操作佇列的至少一操作將被處理。
- 一種用於後中斷操作之系統,包含:一處理器組,該處理器組包含:一介面,用以自一周邊裝置接收輸入的操作;一邏輯,用以自該介面接收該等輸入的操作,並決定一輸入的後操作是否為一中斷操作,且如果確係如此,則將該輸入的操作儲存在一中斷佇列,如果並非如此,則將該輸入的後操作儲存在一後操作佇列;被耦合到該邏輯之複數個核心,用以回應指令而執行操作;以及被耦合到該邏輯之一記憶體控制器,用以與一記憶體通訊;被耦合到該處理器組之該記憶體;以及被一互連耦合到該處理器組之一周邊裝置,該周邊裝置將該等輸入的操作傳輸到該處理器組。
- 如申請專利範圍第17項之系統,其中至少一核心將被置於具有一第一延遲退出時間之一停止供電狀態,且該周邊裝置將在一第二時間內接收對一第一操作之一回應,以避免一錯誤狀況,其中該第二時間短於該第一延遲退出時間,且該第一操作將超過該中斷佇列中儲存的一或多個中斷操作,且將在該第二時間內被該處理器組之該邏輯處理。
- 如申請專利範圍第17項之系統,進一步包含被耦合到該複數個核心之一中斷控制器,其中當一條目被寫入對應於該中斷操作之該中斷佇列中時,該中斷控制器 將自該中斷佇列接收一訊息,且當該中斷控制器處於一低電源狀態時,該邏輯將處理該後操作佇列中儲存的至少一輸入的後操作。
- 如申請專利範圍第17項之系統,其中該中斷佇列是該記憶體之一專用部分,且該處理器組中設有該後操作佇列,且該系統進一步包含一直接記憶體存取(DMA)引擎,用以自該邏輯接收該中斷操作,並使該中斷操作被儲存在該記憶體之該專用部分。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/286,324 US7861024B2 (en) | 2008-09-30 | 2008-09-30 | Providing a set aside mechanism for posted interrupt transactions |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201025020A TW201025020A (en) | 2010-07-01 |
TWI410804B true TWI410804B (zh) | 2013-10-01 |
Family
ID=41350590
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW098132728A TWI410804B (zh) | 2008-09-30 | 2009-09-28 | 用於後中斷操作之方法、裝置及系統 |
Country Status (6)
Country | Link |
---|---|
US (1) | US7861024B2 (zh) |
JP (1) | JP5047249B2 (zh) |
CN (1) | CN101916236B (zh) |
DE (1) | DE102009043411B4 (zh) |
GB (1) | GB2463800B (zh) |
TW (1) | TWI410804B (zh) |
Families Citing this family (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8234458B2 (en) * | 2008-12-09 | 2012-07-31 | Nvidia Corporation | System and method for maintaining cache coherency across a serial interface bus using a snoop request and complete message |
US8914661B2 (en) * | 2010-06-30 | 2014-12-16 | Via Technologies, Inc. | Multicore processor power credit management in which multiple processing cores use shared memory to communicate individual energy consumption |
US8719630B2 (en) * | 2010-08-23 | 2014-05-06 | Qualcomm Incorporated | Method and apparatus for monitoring interrupts during a power down event at a processor |
RU2470125C2 (ru) * | 2010-11-26 | 2012-12-20 | Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования "Ульяновский государственный технический университет" | Устройство для удаления сосулек с крыши здания |
RU2468163C2 (ru) * | 2011-02-25 | 2012-11-27 | Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования "Ульяновский государственный технический университет" | Карниз крыши здания |
RU2468162C1 (ru) * | 2011-03-15 | 2012-11-27 | Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования "Ульяновский государственный технический университет" | Карниз крыши здания |
JP5318139B2 (ja) * | 2011-03-24 | 2013-10-16 | 株式会社東芝 | 制御装置およびプログラム |
US8788863B2 (en) | 2011-08-10 | 2014-07-22 | Microsoft Corporation | System and method for restoring and/or continuing execution functionality to various processes based on predefined power classifications while transitioning a computing environment from connected standby state to execution state |
RU2475606C1 (ru) * | 2011-08-30 | 2013-02-20 | Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования "Ульяновский государственный технический университет" | Консольный свес кровли |
US8621494B2 (en) * | 2011-09-12 | 2013-12-31 | Microsoft Corporation | Managing processes within suspend states and execution states |
US9952897B2 (en) | 2011-09-12 | 2018-04-24 | Microsoft Technology Licensing, Llc | Managing processes within suspend states and execution states |
US9588576B2 (en) | 2011-09-12 | 2017-03-07 | Microsoft Technology Licensing, Llc | Managing processes within suspend states and execution states |
TWI556092B (zh) | 2011-09-30 | 2016-11-01 | 英特爾公司 | 用以減少電力消耗之基於優先順序的應用程式事件控制技術 |
US20130157639A1 (en) * | 2011-12-16 | 2013-06-20 | SRC Computers, LLC | Mobile electronic devices utilizing reconfigurable processing techniques to enable higher speed applications with lowered power consumption |
US9148384B2 (en) * | 2012-02-10 | 2015-09-29 | Hewlett-Packard Development Company, L.P. | Posted and unencumbered queues |
US9454210B2 (en) | 2012-03-31 | 2016-09-27 | Intel Corporation | Controlling power management in micro-server cores and peripherals |
US8996774B2 (en) | 2012-06-27 | 2015-03-31 | Intel Corporation | Performing emulated message signaled interrupt handling |
US9311243B2 (en) * | 2012-11-30 | 2016-04-12 | Intel Corporation | Emulated message signaled interrupts in multiprocessor systems |
US9354694B2 (en) | 2013-03-14 | 2016-05-31 | Intel Corporation | Controlling processor consumption using on-off keying having a maximum off time |
US9766685B2 (en) * | 2013-05-15 | 2017-09-19 | Intel Corporation | Controlling power consumption of a processor using interrupt-mediated on-off keying |
JP6354387B2 (ja) * | 2014-06-30 | 2018-07-11 | 富士通株式会社 | 情報処理装置、情報処理システム及び割込装置制御方法 |
US9541988B2 (en) * | 2014-09-22 | 2017-01-10 | Western Digital Technologies, Inc. | Data storage devices with performance-aware power capping |
US20160188503A1 (en) * | 2014-12-25 | 2016-06-30 | Intel Corporation | Virtual legacy wire |
US10846126B2 (en) * | 2016-12-28 | 2020-11-24 | Intel Corporation | Method, apparatus and system for handling non-posted memory write transactions in a fabric |
US10346328B2 (en) * | 2017-09-11 | 2019-07-09 | Apple Inc. | Method and apparatus for indicating interrupts |
CN116774637B (zh) * | 2023-08-16 | 2023-12-08 | 通用技术集团机床工程研究院有限公司 | 数控***及数控***的数据传输方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11175454A (ja) * | 1997-09-30 | 1999-07-02 | Compaq Computer Corp | 自動直接メモリ・アクセス機能を備えたコンピュータ・システム |
US20070005858A1 (en) * | 2005-06-30 | 2007-01-04 | Intel Corporation | Extended message signal interrupt |
US7165131B2 (en) * | 2004-04-27 | 2007-01-16 | Intel Corporation | Separating transactions into different virtual channels |
TW200830109A (en) * | 2006-09-20 | 2008-07-16 | Intel Corp | Controller link for manageability engine |
TW200834316A (en) * | 2006-11-02 | 2008-08-16 | Intel Corp | PCI express enhancements and extensions |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6347349B1 (en) * | 1998-12-28 | 2002-02-12 | International Business Machines Corp. | System for determining whether a subsequent transaction may be allowed or must be allowed or must not be allowed to bypass a preceding transaction |
US6629179B1 (en) * | 2000-07-31 | 2003-09-30 | Adaptec, Inc. | Message signaled interrupt generating device and method |
EP1314094B1 (en) * | 2000-08-17 | 2005-04-06 | Advanced Micro Devices, Inc. | System and method for separate virtual channels for posted requests in a multiprocessor system |
US7069367B2 (en) | 2000-12-29 | 2006-06-27 | Intel Corporation | Method and apparatus for avoiding race condition with edge-triggered interrupts |
US20040019726A1 (en) * | 2002-07-29 | 2004-01-29 | Kelley Richard A. | Buffer management and transaction control for serial I/O systems |
US7454551B2 (en) * | 2004-05-26 | 2008-11-18 | Synopsys, Inc. | Reconstructing transaction order using clump tags |
US7487284B2 (en) * | 2006-07-28 | 2009-02-03 | Intel Corporation | Transaction flow and ordering for a packet processing engine, located within an input-output hub |
-
2008
- 2008-09-30 US US12/286,324 patent/US7861024B2/en not_active Expired - Fee Related
-
2009
- 2009-09-28 TW TW098132728A patent/TWI410804B/zh not_active IP Right Cessation
- 2009-09-29 DE DE102009043411.9A patent/DE102009043411B4/de active Active
- 2009-09-30 JP JP2009226716A patent/JP5047249B2/ja not_active Expired - Fee Related
- 2009-09-30 GB GB0917131.5A patent/GB2463800B/en not_active Expired - Fee Related
- 2009-09-30 CN CN200910258453.3A patent/CN101916236B/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11175454A (ja) * | 1997-09-30 | 1999-07-02 | Compaq Computer Corp | 自動直接メモリ・アクセス機能を備えたコンピュータ・システム |
US7165131B2 (en) * | 2004-04-27 | 2007-01-16 | Intel Corporation | Separating transactions into different virtual channels |
US20070005858A1 (en) * | 2005-06-30 | 2007-01-04 | Intel Corporation | Extended message signal interrupt |
TW200830109A (en) * | 2006-09-20 | 2008-07-16 | Intel Corp | Controller link for manageability engine |
TW200834316A (en) * | 2006-11-02 | 2008-08-16 | Intel Corp | PCI express enhancements and extensions |
Also Published As
Publication number | Publication date |
---|---|
CN101916236B (zh) | 2013-06-26 |
US20100082866A1 (en) | 2010-04-01 |
DE102009043411B4 (de) | 2022-08-25 |
GB2463800B (en) | 2012-04-11 |
TW201025020A (en) | 2010-07-01 |
US7861024B2 (en) | 2010-12-28 |
JP2010092474A (ja) | 2010-04-22 |
GB2463800A (en) | 2010-03-31 |
CN101916236A (zh) | 2010-12-15 |
GB0917131D0 (en) | 2009-11-11 |
DE102009043411A1 (de) | 2010-04-22 |
JP5047249B2 (ja) | 2012-10-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI410804B (zh) | 用於後中斷操作之方法、裝置及系統 | |
KR101516109B1 (ko) | 프로세서의 언코어 회로의 전력 소비 감소 | |
US11036650B2 (en) | System, apparatus and method for processing remote direct memory access operations with a device-attached memory | |
US10679690B2 (en) | Method and apparatus for completing pending write requests to volatile memory prior to transitioning to self-refresh mode | |
JP5963282B2 (ja) | 割り込み分配スキーム | |
US9304954B2 (en) | Multi processor bridge with mixed Endian mode support | |
US8688886B1 (en) | Bus transaction maintenance protocol | |
US8566493B2 (en) | Interrupt controller and methods of operation | |
JP4855451B2 (ja) | 記憶装置のアクセス方法及び装置 | |
WO2018120780A1 (zh) | PCIe中断方法和*** | |
US9684613B2 (en) | Methods and systems for reducing spurious interrupts in a data storage system | |
US10444813B2 (en) | Multi-criteria power management scheme for pooled accelerator architectures | |
KR20160051883A (ko) | 가상 재시도 큐 | |
JP6425492B2 (ja) | 情報処理装置、情報処理方法およびプログラム | |
US20160188881A1 (en) | Security co-processor boot performance | |
US20230031388A1 (en) | On-demand ip initialization within power states | |
US9697059B2 (en) | Virtualized communication sockets for multi-flow access to message channel infrastructure within CPU | |
US20230090567A1 (en) | Device and method for two-stage transitioning between reduced power states | |
US20230101640A1 (en) | Device and method for efficient transitioning to and from reduced power state |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |