亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

向另一設(shè)備委托輪詢操作的制作方法

文檔序號(hào):6349586閱讀:432來源:國知局
專利名稱:向另一設(shè)備委托輪詢操作的制作方法
向另一設(shè)備委托輪詢操作
背景技術(shù)
現(xiàn)代計(jì)算機(jī)系統(tǒng)通常包括處理器和耦合在一起的各種其它部件。此外,許多系統(tǒng)包括一個(gè)或多個(gè)外圍或輸入/輸出(10)設(shè)備。為了支持在處理器上執(zhí)行的軟件與可以由其它設(shè)備執(zhí)行的操作之間的通信,可以使用不同的機(jī)制。一般的機(jī)制包括輪詢方法和中斷方法。然而,這些方法都不是最優(yōu)的。使用輪詢技術(shù),軟件在IO設(shè)備的任務(wù)是細(xì)粒度的情況下持續(xù)地對(duì)IO設(shè)備上的狀態(tài)寄存器進(jìn)行輪詢,或者在IO設(shè)備的任務(wù)是粗粒度的情況下依賴于通過操作系統(tǒng)(OS)的異步中斷。雖
然輪詢方法可以確保良好的性能,但是它也具有缺點(diǎn)。首先,需要知道完成狀態(tài)的核心/線程必須(例如,經(jīng)由忙循環(huán)操作)持續(xù)地檢查存儲(chǔ)器映射輸入/輸出(MMIO)狀態(tài)寄存器,從而防止其自身進(jìn)入低功率狀態(tài)。第二,對(duì)不可緩存的MMIO地址進(jìn)行重復(fù)輪詢會(huì)導(dǎo)致系統(tǒng)互連上的大流量??傊焖夙憫?yīng)時(shí)間的代價(jià)是功率消耗(尤其針對(duì)超低功率環(huán)境而言是主要問題)和系統(tǒng)資源浪費(fèi)。中斷方法避免了處理器對(duì)狀態(tài)寄存器的忙循環(huán)。在等待的同時(shí),核心/線程可以進(jìn)行上下文切換以執(zhí)行另一進(jìn)程,或者進(jìn)入低功率狀態(tài)。IO設(shè)備上的任務(wù)的完成觸發(fā)到OS的中斷。然而,在典型的系統(tǒng)中,內(nèi)核中斷處理程序會(huì)引發(fā)數(shù)百個(gè)高速緩存未命中以及數(shù)以萬計(jì)個(gè)時(shí)鐘周期。中斷處理的這種性能開銷對(duì)于許多細(xì)粒度邏輯塊來說是不可接受的。因此,由于輪詢抵消了使用IO設(shè)備獲得的任何功率益處的大部分,而中斷引入了嚴(yán)重的性能惡化,因此對(duì)于低功率應(yīng)用而言,輪詢和中斷技術(shù)都不是令人滿意的。


圖I是根據(jù)本發(fā)明的一個(gè)實(shí)施例的系統(tǒng)的框圖。圖2是根據(jù)本發(fā)明的一個(gè)實(shí)施例的方法的流程圖。圖3是根據(jù)本發(fā)明的另一實(shí)施例的系統(tǒng)的框圖。
具體實(shí)施例方式在各種實(shí)施例中,可以實(shí)現(xiàn)輪詢委托技術(shù),其中互聯(lián)在輪詢和通知過程中用作代理。在一個(gè)實(shí)施例中,互連可以是輸入/輸出(IO)互連,然而本發(fā)明的范圍并不限于這一點(diǎn)。使用該技術(shù),互連為諸如中央處理單元(CPU)等的主機(jī)處理器輪詢IO設(shè)備,并且使用諸如測試和保持操作等多個(gè)技術(shù)中的一個(gè)、或者通過對(duì)用戶選擇的存儲(chǔ)器位置進(jìn)行更新(這觸發(fā)處理器從最佳功率狀態(tài)退出),來將給定事件通知給應(yīng)用程序軟件。在一個(gè)實(shí)施例中,可以使用諸如M0NIT0R/MWAIT等的用戶級(jí)指令來通知應(yīng)用程序軟件。在各種實(shí)施例中,輪詢委托可以使響應(yīng)時(shí)間如輪詢一樣短,并且使功耗/資源使用如基于中斷的技術(shù)一樣低,從而提供了 IO設(shè)備狀態(tài)的用戶級(jí)通知,而不需要輪詢或中斷。在一個(gè)實(shí)施例中,IO互連可以包括專用硬件來對(duì)IO設(shè)備的狀態(tài)寄存器進(jìn)行輪詢。然后,一旦狀態(tài)改變,則IO互連可以發(fā)出對(duì)由主機(jī)監(jiān)視的存儲(chǔ)器地址的寫操作(例如,一致性寫入)。該一致性寫入將被該硬件檢測到,并且使在該地址上等待的線程恢復(fù)執(zhí)行。因此,在各種實(shí)施例中,處理器可以保持在低功率狀態(tài)直到IO設(shè)備完成其任務(wù),并且?guī)缀跞缤溥M(jìn)行忙循環(huán)一樣快地恢復(fù)執(zhí)行。不需要對(duì)處理器核心、高速緩存、系統(tǒng)一致性互連或IO設(shè)備進(jìn)行改變。M0NIT0R/MWAIT指令對(duì)可以支持線程間同步。該指令對(duì)可以在所有的特權(quán)級(jí)處均是可用的。MONITOR可以用于使CPU設(shè)置CPU的監(jiān)視硬件,以檢測對(duì)有效地址范圍(通常為高速緩存行)的存儲(chǔ)。該地址范圍屬于一致性回寫地址范圍。在一個(gè)實(shí)施例中,高速緩存一致性硬件可以監(jiān)視對(duì)該目的地址的寫入。當(dāng)發(fā)生該寫入時(shí),高速緩存一致性控制器將向處理器發(fā)送退出低功率狀態(tài)的消息。在該設(shè)置之后,隨后的MWAIT指令將處理器核心置于所選擇的低功率狀態(tài)(例如,時(shí)鐘門控狀態(tài)或功率門控狀態(tài))。當(dāng)監(jiān)視硬件檢測到對(duì)該地址范圍內(nèi)的任意字節(jié)的存儲(chǔ)時(shí),停止的線程從MWAIT后面的指令恢復(fù)執(zhí)行。從架構(gòu)上講,MWAIT的行為類似于空操作(NOP)。雖然MONITOR和MWAIT指令被設(shè)計(jì)為實(shí)現(xiàn)性能和功率最優(yōu)的線程間同步,但是實(shí)施例也可以利用用于IO設(shè)備 完成通知的指令?,F(xiàn)在參照?qǐng)D1,示出的是根據(jù)本發(fā)明的一個(gè)實(shí)施例的系統(tǒng)的框圖。如圖I所示,系統(tǒng)100可以是片上系統(tǒng)(SoC),該片上系統(tǒng)(SoC)包括互連在一起的各種部件并且可以提供用于根據(jù)本發(fā)明的實(shí)施例來處理輪詢委托的機(jī)制。具體地,在圖I的實(shí)施例中,SoC 100可以包括多個(gè)處理器核心,為了便于說明,僅示出了其中的一個(gè)核心,即核心110a。該一個(gè)或多個(gè)核心可以經(jīng)由一致性互連115耦合到一個(gè)或多個(gè)高速緩存存儲(chǔ)器120a。一致性互連115可以包括各種硬件、軟件和/或固件,以實(shí)現(xiàn)諸如修改排他共享無效(MESI)協(xié)議等的高速緩存一致性協(xié)議,從而維持存儲(chǔ)在系統(tǒng)中的信息的一致性。在一些實(shí)現(xiàn)中,一致性互連115可以是包括諸如協(xié)議層、鏈路層、以及可能的物理層等的各種層的分層協(xié)議(其中該系統(tǒng)不在單管芯上)。繼而,一致性互連115可以經(jīng)由中心部件120耦合到存儲(chǔ)器控制器130,該存儲(chǔ)器控制器130繼而可以耦合到例如動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(DRAM)等的系統(tǒng)存儲(chǔ)器。注意,由于這種存儲(chǔ)器可以位于SoC外部,因此沒有在圖I中示出該存儲(chǔ)器。此外,一致性互連115可以稱合到10互連140的上游側(cè),該1/0互連140可以具有給定的通信協(xié)議,諸如根據(jù)基于 “PCI Express Specification Base Specificationversion 2. 0” (2007 年 I 月 17 日公布)(下文稱為 PCIe Specif ication)的鏈路的“Peripheral Component Interconnect Express”(PCIExpress (PCIe ))協(xié)議、或者其它這種協(xié)議。根據(jù)本發(fā)明的實(shí)施例,10互連140可以包括輪詢表150。雖然示出為存在于該互連中,但是其它實(shí)現(xiàn)可以將該緩沖器設(shè)置于與該互連緊密相關(guān)的其它位置。繼而,可以是10設(shè)備、知識(shí)產(chǎn)權(quán)(IP)塊等的各種設(shè)備(例如,設(shè)備Ieoc^P 160i)可以耦合到I0互連140的下游側(cè)。如圖I所示,輪詢表150存儲(chǔ)包括例如條目156等的多個(gè)條目。每個(gè)條目可以包括設(shè)備監(jiān)視位置,諸如多個(gè)設(shè)備160之一中存在的狀態(tài)寄存器的地址;存儲(chǔ)器監(jiān)視地址,其可以對(duì)應(yīng)于系統(tǒng)存儲(chǔ)器中的物理地址,該物理地址對(duì)應(yīng)于MWAIT指令的監(jiān)視位置;以及初始值,其可以是設(shè)備監(jiān)視位置的初始值,例如,狀態(tài)寄存器的初始值。因此,實(shí)施例本質(zhì)上將10設(shè)備上的每個(gè)狀態(tài)寄存器與由CPU監(jiān)視的對(duì)應(yīng)存儲(chǔ)器地址相關(guān)聯(lián)。雖然在圖I的實(shí)施例中示出了該特定實(shí)現(xiàn),但是本發(fā)明的范圍并不限于這一點(diǎn)?,F(xiàn)在參照?qǐng)D2,示出的是根據(jù)本發(fā)明的一個(gè)實(shí)施例的方法的流程圖。具體地,圖2示出了可以由代表主機(jī)處理器處理輪詢委托的IO或其它互連的邏輯執(zhí)行的流程圖。在一些實(shí)現(xiàn)中,方法200可以通過狀態(tài)機(jī)或其它互連邏輯來實(shí)現(xiàn),然而其它實(shí)現(xiàn)也是可行的。如圖2所示,可以通過從應(yīng)用程序接收注冊(cè)消息來開始方法200(框210)。在一個(gè)實(shí)施例中,注冊(cè)消息可以包括由麗IO地址、真實(shí)物理存儲(chǔ)器地址和初始值構(gòu)成的元組。在一個(gè)實(shí)施例中,該注冊(cè)消息可以包括位置和備份被監(jiān)視虛擬地址范圍的被監(jiān)視系統(tǒng)存儲(chǔ)器的物理地址范圍;用于獲得要被監(jiān)視的設(shè)備中的位置的狀態(tài)(例如,狀態(tài)寄存器)的麗IO地址;以及這種寄存器的初始值,該初始值還可以對(duì)應(yīng)于存儲(chǔ)在系統(tǒng)存儲(chǔ)器的監(jiān)視地址中的初始值。在一個(gè)實(shí)施例中,應(yīng)用程序可以例如使用主機(jī)處理器進(jìn)行系統(tǒng)調(diào)用,以將該信息傳遞到互連。仍然參照?qǐng)D2,可以確定在互連的輪詢表中條目是否可用(菱形215)。如果不可用,則可以將失敗消息發(fā)送回主機(jī)(框220)。否則,可以將該信息存儲(chǔ)在輪詢表的條目中
(框230)。因此,該信息可以對(duì)應(yīng)于設(shè)備監(jiān)視位置(即,對(duì)應(yīng)于設(shè)備的完成狀態(tài)寄存器的麗IO地址)、該寄存器的初始值以及存儲(chǔ)器監(jiān)視地址(其可以是例如由M0NIT0R/MWAIT指令對(duì)監(jiān)視的系統(tǒng)存儲(chǔ)器內(nèi)的物理地址位置)。相應(yīng)地,可以將成功消息從互連發(fā)送到主機(jī)處理器(框240) ο在操作期間,應(yīng)用程序然后初始化被監(jiān)視位置,發(fā)出MONITOR和MWAIT指令,從而使設(shè)備開始執(zhí)行其任務(wù)??梢詫?shí)現(xiàn)各種這樣的任務(wù),包括卸載專用函數(shù)、圖形處理、物理處理等。作為一個(gè)示例,該函數(shù)可以是專用計(jì)算,諸如快速傅立葉變換(FFT)。因此,在執(zhí)行M0NIT0R/MWAIT指令之前,該應(yīng)用程序可以傳遞與FFT有關(guān)的各種信息,諸如點(diǎn)的數(shù)量、開始地址等。相應(yīng)地,在此時(shí),主機(jī)處理器的一個(gè)或多個(gè)核心可以進(jìn)入低功率狀態(tài),這可以是可配置的,其取決于設(shè)備要執(zhí)行的操作的類型。仍然參照?qǐng)D2,在設(shè)備開始執(zhí)行其操作之后,互連可以在設(shè)備監(jiān)視位置處執(zhí)行輪詢(框245)。在一個(gè)實(shí)施例中,輪詢操作可以發(fā)出對(duì)輪詢表中的每個(gè)寄存器地址的讀操作,并且將取出的值與輪詢表?xiàng)l目中的初始值進(jìn)行比較,如參照菱形250所討論的??梢岳斫?,該輪詢可以對(duì)存在于一個(gè)或多個(gè)設(shè)備中的多個(gè)位置進(jìn)行輪詢,即在輪詢表中指示出的任何地址??梢葬槍?duì)每次輪詢操作確定任何條目中的值是否從其初始值發(fā)生了改變(菱形250)。如果沒有,則可以進(jìn)行另一輪詢的重復(fù)。如果發(fā)生了改變,則改為將控制傳遞至框260,在框260中,可以針對(duì)存儲(chǔ)器監(jiān)視地址發(fā)出關(guān)于該新值的寫操作。在一個(gè)實(shí)施例中,互連可以發(fā)出對(duì)該地址的一致性寫入,在一個(gè)實(shí)施例中,這可以使用消息信令中斷(MSI)來實(shí)現(xiàn)。對(duì)存儲(chǔ)器中的被監(jiān)視地址的該一致性寫入將使處理器核心從低功率狀態(tài)喚醒,從而使暫停的線程繼續(xù)執(zhí)行。參照?qǐng)D2,在發(fā)出該寫操作之后,可以確定是否已經(jīng)接收到了對(duì)該條目的釋放(菱形270)。在一個(gè)實(shí)施例中,當(dāng)與輪詢委托條目相關(guān)聯(lián)的給定應(yīng)用程序結(jié)束時(shí),可以從OS接收到這種釋放。因此,如果設(shè)備得知任務(wù)已完成,則該設(shè)備可以向IO互連發(fā)出回收請(qǐng)求。如果沒有指示釋放,則控制從菱形270傳遞回框245,在框245中,可以執(zhí)行進(jìn)一步的輪詢。雖然在圖2的實(shí)施例中示出了該特定實(shí)現(xiàn),但是本發(fā)明的范圍并不限于這一點(diǎn)??梢岳肙S的幫助來生成注冊(cè)消息和釋放消息??梢酝耆谟脩裟J街袌?zhí)行用戶級(jí)MONITOR和MWAIT指令,并且輪詢委托操作可以是純硬件的。注意到,通常僅在應(yīng)用程序初始化和清除階段執(zhí)行注冊(cè)和釋放。因此,其功率和性能并不是一個(gè)問題。相反,通常要執(zhí)行很多次用戶級(jí)的設(shè)置和輪詢檢測。因此,這兩個(gè)步驟的功效實(shí)現(xiàn)了高效的系統(tǒng)功率和性能特性。為了支持多個(gè)IP加速器,輪詢表150可以是多條目轉(zhuǎn)換表。在一個(gè)實(shí)施例中,每個(gè)條目156包含MMIO地址和鏈接到其的物理存儲(chǔ)器地址。在一些實(shí)現(xiàn)中,輪詢表中的條目的數(shù)量可以是很小的數(shù)量,例如N = 8。在需要同時(shí)檢查多于N個(gè)寄存器的極端情況下,用戶線程可以總是直接地對(duì)寄存器進(jìn)行輪詢,而不是使用上述方法,然而也可以代替地使用虛擬化輪詢表。在一個(gè)實(shí)施例中,可以位于IO互連140中的PCI的消息信令中斷(MSI-X)特征提供了允許設(shè)備160發(fā)出對(duì)系統(tǒng)存儲(chǔ)器位置的寫入的硬件。在MSI-X中,目標(biāo)存儲(chǔ)器位置是將導(dǎo)致中斷的專用地址。在實(shí)施例中,回寫存儲(chǔ)器空間中的替代地址可以用作這種寫入的目標(biāo)。目標(biāo)存儲(chǔ)器位置的該性質(zhì)對(duì)MSI-X硬件而言是 透明的,其簡單地將分組從IO互連傳送到存儲(chǔ)器系統(tǒng)。在一些實(shí)現(xiàn)中,由互連140執(zhí)行的輪詢可以引起對(duì)注冊(cè)的狀態(tài)寄存器地址的輪詢,即使一些寄存器表示的設(shè)備沒有進(jìn)行活躍計(jì)算。這是因?yàn)樵谝恍?shí)現(xiàn)中,輪詢委托邏輯145不知道其映射表中的有效條目是否表示不活躍的設(shè)備??梢允褂貌煌臋C(jī)制來向該邏輯提供這種信息。例如,可以由OS提供系統(tǒng)調(diào)用,以允許應(yīng)用程序釋放輪詢表中的特定條目??商鎿Q地,IO互連140可以攔截發(fā)送到IP塊160的功率狀態(tài)轉(zhuǎn)換命令,使得其將知道哪些狀態(tài)寄存器將不會(huì)在不久后的任何時(shí)間被更新。在這些實(shí)施例中,該信息可以包括在輪詢表150的條目的狀態(tài)部分中。然而,注意到,互連140對(duì)IO寄存器進(jìn)行輪詢的代價(jià)是相當(dāng)?shù)偷?,因此,公平輪詢的功率和性能影響可以是最小的。雖然本文針對(duì)可以是計(jì)算設(shè)備(諸如,嵌入式、便攜式或移動(dòng)設(shè)備)的主處理部件的片上系統(tǒng)(SoC)配置進(jìn)行了描述,但是也可以在諸如多處理器計(jì)算機(jī)系統(tǒng)等的其它系統(tǒng)中使用其它實(shí)現(xiàn),其中上述多處理器計(jì)算機(jī)系統(tǒng)具有耦合到一致性互連的處理器,該一致性互連繼而可以經(jīng)由一個(gè)或多個(gè)芯片組或其它部件耦合到IO互連。此外,可以在計(jì)算設(shè)備的多芯片架構(gòu)中實(shí)現(xiàn)實(shí)施例?,F(xiàn)在參照?qǐng)D3,示出的是根據(jù)本發(fā)明的另一實(shí)施例的系統(tǒng)的框圖。如圖3所示,系統(tǒng)300可以是多芯片架構(gòu),即系統(tǒng)300包括第一芯片100,其可以是第一 SoC,并且其可以被配置為與圖I的SoC相同;第二集成電路310,其可以提供外圍設(shè)備的功能;以及存儲(chǔ)器370,其可以是耦合到一個(gè)或多個(gè)芯片的DRAM。如圖3所示,SoC 100可以經(jīng)由互連305與IC 310進(jìn)行通信,該互連305繼而耦合到SoC 100的第一橋接器170和IC 310的第二橋接器320。繼而,第二橋接器320可以耦合到IO互連330,該互連330繼而可以耦合到例如PCIe設(shè)備340和通用串行總線(USB)設(shè)備350等的一個(gè)或多個(gè)外圍設(shè)備。此外,IO互連330可以經(jīng)由第三橋接器360通過串行網(wǎng)絡(luò)接口(SONIC)/外部結(jié)構(gòu)耦合到片外部件。在圖3的實(shí)施例中,注意到,根據(jù)本發(fā)明的實(shí)施例,IO互連140和IO互連330均可以包括輪詢表和輪詢委托邏輯。雖然在圖3的實(shí)施例中示出了該特定實(shí)現(xiàn),但是其它實(shí)現(xiàn)當(dāng)然也是可能的。使用本發(fā)明的實(shí)施例,進(jìn)程可以避免經(jīng)歷中斷處理的長時(shí)間延遲,或者避免必須以高功率狀態(tài)忙循環(huán)。在支持M0NIT0R/MWAIT或類似測試和設(shè)置功能的處理器上,輪詢委托允許處理器進(jìn)入功率和性能最優(yōu)狀態(tài),同時(shí)仍然能夠?qū)崿F(xiàn)忙循環(huán)的快速響應(yīng)時(shí)間。對(duì)于包括更細(xì)粒度的IP塊的低功率SoC,實(shí)施例在功率和性能方面提供了近似最優(yōu)的完成通知解決方案。實(shí)施例可以以代碼來實(shí)現(xiàn),并且可以存儲(chǔ)在存儲(chǔ)有指令的存儲(chǔ)介質(zhì)上,該指令可以用于對(duì)系統(tǒng)進(jìn)行編程,以執(zhí)行這些指令。存儲(chǔ)介質(zhì)可以包括但不限于是任何類型的盤,包括軟盤、光盤、光盤只讀存儲(chǔ)器(⑶-ROM)、可重寫的光盤(⑶-RW)以及磁光盤;半導(dǎo)體設(shè)備,諸如只讀存儲(chǔ)器(ROM)、隨機(jī)存取存儲(chǔ)器(RAM)(諸如,動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(DRAM)、靜態(tài)隨機(jī)存取存儲(chǔ)器(SRAM))、可擦除可編程只讀存儲(chǔ)器(EPROM)、閃存、電可擦除可編程只讀存儲(chǔ)器(EEPROM)、磁卡或光卡;或者適于存儲(chǔ)電子指令的任何其它類型的介質(zhì)。雖然參照有限數(shù)量的實(shí)施例描述了本發(fā)明,但是本領(lǐng)域技術(shù)人員將理解源自所描述實(shí)施例的許多修改和變形。期望所附權(quán)利要求覆蓋落入本發(fā)明的真實(shí)精神和范圍內(nèi)的所有這種修改和變形。
權(quán)利要求
1.一種裝置,包括 核心,用于生成注冊(cè)消息,以將輪詢操作委托給輸入/輸出(IO)互連; 一致性互連,其耦合到所述核心; 所述IO互連,其耦合到所述一致性互連,所述IO互連包括輪詢表,所述輪詢表具有多個(gè)條目,每個(gè)所述條目具有寄存器地址字段,用于存儲(chǔ)在注冊(cè)消息中接收的寄存器地址;目的地址字段,用于存儲(chǔ)在所述注冊(cè)消息中接收的系統(tǒng)存儲(chǔ)器中的目的地址;以及初始值字段,用于存儲(chǔ)與在所述注冊(cè)消息中接收的所述寄存器地址相關(guān)聯(lián)的初始值;以及 至少一個(gè)設(shè)備,其耦合到所述IO互連,用于為在所述核心上執(zhí)行的應(yīng)用程序執(zhí)行操作,并且包括至少一個(gè)狀態(tài)寄存器,所述IO互連用于響應(yīng)于輪詢表?xiàng)l目中的信息來對(duì)所述至少一個(gè)狀態(tài)寄存器進(jìn)行輪詢,并且用于在所述至少一個(gè)狀態(tài)寄存器的輪詢值不同于所述初始值的情況下發(fā)出對(duì)所述目的地址的寫事務(wù)。
2.如權(quán)利要求I所述的裝置,其中,所述至少一個(gè)設(shè)備用于在所述操作完成之后將所述初始值更新為所述輪詢值。
3.如權(quán)利要求I所述的裝置,其中,所述裝置包括形成在單個(gè)半導(dǎo)體管芯上的片上系統(tǒng)(SoC),并且所述至少一個(gè)設(shè)備包括知識(shí)產(chǎn)權(quán)(IP)塊。
4.如權(quán)利要求I所述的裝置,其中,所述IO互連包括輪詢委托邏輯。
5.如權(quán)利要求4所述的裝置,其中,所述輪詢委托邏輯用于在預(yù)定的時(shí)間間隔向所述至少一個(gè)設(shè)備發(fā)出讀請(qǐng)求,以執(zhí)行所述輪詢。
6.如權(quán)利要求5所述的裝置,其中,所述輪詢委托邏輯用于在響應(yīng)于所述讀請(qǐng)求而從所述至少一個(gè)設(shè)備接收的數(shù)據(jù)與所述初始值之間進(jìn)行比較,并且用于在所述數(shù)據(jù)與所述初始值不同時(shí)執(zhí)行所述寫事務(wù)。
7.如權(quán)利要求I所述的裝置,其中,所述核心用于在與所述輪詢表中的條目對(duì)應(yīng)的應(yīng)用程序結(jié)束時(shí)向所述IO互連發(fā)送回收消息,以刪除所述條目。
8.如權(quán)利要求I所述的裝置,其中,所述核心用于執(zhí)行第一指令以設(shè)置所述目的地址,并且用于執(zhí)行第二指令以使所述核心進(jìn)入低功率狀態(tài)直到所述目的地址被更新。
9.如權(quán)利要求8所述的裝置,其中,所述核心用于在執(zhí)行所述第一指令和所述第二指令之前向所述IO互連發(fā)送所述注冊(cè)消息。
10.一種系統(tǒng),包括 第一集成電路,包括 至少一個(gè)核心,其包括第一邏輯,用于執(zhí)行第一指令以在存儲(chǔ)器中設(shè)置監(jiān)視地址;以及第二邏輯,用于在預(yù)定指令跟隨所述第一指令時(shí)使所述至少一個(gè)核心進(jìn)入低功率狀態(tài); 第一一致性互連,其耦合到所述至少一個(gè)核心; 第一輸入/輸出(10)互連,其包括 輪詢表,用于存儲(chǔ)包括下列各項(xiàng)的元組耦合到所述第一 IO互連的知識(shí)產(chǎn)權(quán)(IP)塊中的寄存器的寄存器標(biāo)識(shí)符、所述存儲(chǔ)器中的所述監(jiān)視地址、以及與所述寄存器相關(guān)聯(lián)的初始值;以及 委托邏輯,用于從所述至少一個(gè)核心接收委托消息,并且基于所述元組獲得所述寄存器的當(dāng)前值,直到所述當(dāng)前值不同于所述初始值,并且響應(yīng)于所述不同,將數(shù)據(jù)寫入所述監(jiān)視地址;以及所述IP塊,其耦合到所述第一 IO互連,所述IP塊包括所述寄存器,并且用于為在所述至少一個(gè)核心上執(zhí)行的應(yīng)用程序執(zhí)行功能;以及 所述存儲(chǔ)器,其經(jīng)由存儲(chǔ)器互連耦合到所述第一集成電路,其中所述至少一個(gè)核心用于響應(yīng)于所述數(shù)據(jù)被寫入到所述存儲(chǔ)器的所述目的地址而退出所述低功率狀態(tài),并且用于在跟隨所述預(yù)定指令的下一條指令處繼續(xù)執(zhí)行所述應(yīng)用程序。
11.如權(quán)利要求10所述的系統(tǒng),其中,所述IP塊用于在所述操作完成之后將所述初始值更新為所述當(dāng)前值。
12.如權(quán)利要求10所述的系統(tǒng),其中,所述至少一個(gè)核心用于在執(zhí)行所述第一指令之前向具有所述元組的所述第一 IO互連發(fā)送所述委托消息。
13.—種方法,包括 在主機(jī)處理器和設(shè)備之間耦合的互連中接收來自所述主機(jī)處理器的注冊(cè)消息,所述注冊(cè)消息用于將相對(duì)于所述設(shè)備的輪詢操作委托給所述互連; 將與設(shè)備監(jiān)視位置、存儲(chǔ)器監(jiān)視地址、以及所述設(shè)備監(jiān)視位置的初始值有關(guān)的信息存儲(chǔ)在與所述互連相關(guān)聯(lián)的輪詢表中;以及 將讀請(qǐng)求從所述互連發(fā)送到所述設(shè)備,以對(duì)所述設(shè)備進(jìn)行輪詢,并且如果從所述設(shè)備監(jiān)視位置獲得的設(shè)備值不同于所述初始值,則向所述主機(jī)處理器報(bào)告所述輪詢的結(jié)果。
14.如權(quán)利要求13所述的方法,還包括從所述互連發(fā)出對(duì)系統(tǒng)存儲(chǔ)器中的所述存儲(chǔ)器監(jiān)視地址的寫請(qǐng)求,以報(bào)告所述結(jié)果。
15.如權(quán)利要求14所述的方法,還包括從所述互連向所述系統(tǒng)存儲(chǔ)器發(fā)出消息信令中斷,以發(fā)出所述寫請(qǐng)求。
16.如權(quán)利要求15所述的方法,其中,在發(fā)送所述注冊(cè)消息之后,將所述主機(jī)處理器置于低功率狀態(tài),并且響應(yīng)于對(duì)所述存儲(chǔ)器監(jiān)視地址的所述寫入,所述主機(jī)處理器退出所述低功率狀態(tài)。
17.如權(quán)利要求13所述的方法,其中,所述輪詢表包括多個(gè)條目,每個(gè)所述條目包括設(shè)備監(jiān)視位置、存儲(chǔ)器監(jiān)視地址以及初始值,并且還包括針對(duì)所述多個(gè)條目中的每個(gè)條目,向所述設(shè)備發(fā)送讀請(qǐng)求。
18.如權(quán)利要求13所述的方法,還包括使用所述互連的輪詢委托邏輯來發(fā)送所述讀請(qǐng)求并且將所述初始值與所述設(shè)備值進(jìn)行比較。
19.如權(quán)利要求13所述的方法,其中,所述設(shè)備監(jiān)視位置對(duì)應(yīng)于所述設(shè)備的狀態(tài)寄存器,并且經(jīng)由所述輪詢表將所述狀態(tài)寄存器與所述存儲(chǔ)器監(jiān)視地址相關(guān)聯(lián)。
20.如權(quán)利要求13所述的方法,還包括經(jīng)由應(yīng)用程序來發(fā)起所述注冊(cè)消息,并且為所述應(yīng)用程序在所述設(shè)備上執(zhí)行第一功能,其中所述應(yīng)用程序用于在所述信息存儲(chǔ)到所述輪詢表中之后發(fā)起所述第一功能,并且用于使所述主機(jī)處理器進(jìn)入低功率狀態(tài)。
全文摘要
在一個(gè)實(shí)施例中,本發(fā)明包括一種用于處理從主機(jī)處理器接收的注冊(cè)消息的方法,其中注冊(cè)消息將相對(duì)于設(shè)備的輪詢操作從主機(jī)處理器委托給另一部件。來自于該消息的信息可以存儲(chǔ)在輪詢表中,并且該部件可以發(fā)送讀請(qǐng)求以對(duì)設(shè)備進(jìn)行輪詢,并且基于設(shè)備的狀態(tài)向主機(jī)處理器報(bào)告輪詢的結(jié)果。還描述并要求了其它實(shí)施例。
文檔編號(hào)G06F13/14GK102804155SQ201080025454
公開日2012年11月28日 申請(qǐng)日期2010年3月11日 優(yōu)先權(quán)日2009年6月11日
發(fā)明者M·E·埃斯皮希, Z·方, R·伊耶, D·J·哈里曼 申請(qǐng)人:英特爾公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1