專利名稱:事件時間標記的制作方法
背景計算設(shè)備正從通用、非實時的數(shù)字處理機器演化為包括執(zhí)行數(shù)字處理任務(wù)的主處理器的實時處理設(shè)備。在現(xiàn)代計算設(shè)備中,諸如緩存(cache)存儲器、延時中斷處理(delayedinterrupt handling)和共享資源的因素的組合總的來說使得這些設(shè)備中的處理時間高度可變并且不可預(yù)測。例如,由于緩存填充周期所致,第一次通過典型程序循環(huán)花費的時間可能比隨后通過同樣的程序循環(huán)長10到50倍。但是,為了獲得高質(zhì)量的結(jié)果,常規(guī)的流處理一般要求可預(yù)測且基本不變的處理時間。
在附圖中通過舉例而非限制來說明這里所描述的本發(fā)明。為了說明簡潔而清晰,在圖中示出的元件不一定按比例繪制。例如,為了清晰,可能把某些元件的尺寸相對于其他元件夸大。此外,在認為適當?shù)牡胤剑谶@些圖中重復(fù)了參考標號以便指示對應(yīng)或者類似的元件。
圖1示出了包括時間標記電路的計算設(shè)備的實施方案。
圖2示出了圖1的時間標記電路的實施方案。
圖3示出了包括服務(wù)器和圖1的計算設(shè)備的流系統(tǒng)(streaming system)的實施方案。
圖4示出了可以用圖3的流式系統(tǒng)實施的處理流的方法的實施方案。
具體實施方案下面的描述描述了至少對于處理諸如音頻流、視頻流和/或數(shù)據(jù)流的流來說可能有用的事件處理技術(shù)。在下面的描述中,為了提供對本發(fā)明更透徹的理解,給出了許多具體細節(jié),例如邏輯實現(xiàn)方案、編碼、指定操作數(shù)的方法、資源分割/共享/復(fù)制實現(xiàn)方案、系統(tǒng)組件的類型和相互關(guān)系,以及邏輯分割/綜合選擇。但是本領(lǐng)域技術(shù)人員將理解,無需這些具體細節(jié)就可實踐本發(fā)明。在其他的實例中,為了不模糊本發(fā)明,沒有詳細地示出控制結(jié)構(gòu)、門級電路以及完整的軟件指令序列。本領(lǐng)域普通技術(shù)人員利用所包括的描述,無需非常規(guī)(undue)實驗就將能夠?qū)嵤┻m當?shù)墓δ堋?br>
在說明書中對“一個實施方案”、“實施方案”、“示范性實施方案”等的引用指示所描述的實施方案可能包括特定特征、結(jié)構(gòu)或特性,但是不一定每一個實施方案均包括所述特定特征、結(jié)構(gòu)或特性。而且,這些短語不一定指同一實施方案。此外,當結(jié)合實施方案描述了特定特征、結(jié)構(gòu)或特性時,認為結(jié)合其他無論是否被明確地描述的實施方案來實現(xiàn)這些特征、結(jié)構(gòu)或特性都在本領(lǐng)域技術(shù)人員的學(xué)識之內(nèi)的。
本發(fā)明的實施方案可以以硬件、固件、軟件或其任意組合來實施。本發(fā)明的實施方案也可以被實施為儲存在機器可讀介質(zhì)上的指令,所述指令可被一個或更多個處理器讀和執(zhí)行。機器可讀介質(zhì)可以包括任何用于以機器(例如計算設(shè)備)可讀形式來儲存或傳送信息的機制。例如,機器可讀介質(zhì)可以包括只讀存儲器(ROM);隨機訪問存儲器(RAM);磁盤儲存介質(zhì);光儲存介質(zhì);閃存(flash memory)器件;被傳播信號(例如載波、紅外信號、數(shù)字信號等)的電、光、聲或其他形式;以及其他。此外,這里固件、軟件、例程、指令可以被描述為執(zhí)行某種操作。但是應(yīng)該理解,這些描述僅僅是為了方便,并且這些操作事實上由執(zhí)行所述固件、軟件、例程、指令等的計算設(shè)備、處理器、控制器或其他設(shè)備所產(chǎn)生。
圖1中示出了包括時間標記電路102的計算設(shè)備100的實施方案。如圖所示,計算設(shè)備100可以包括一個或更多個處理器104。處理器104可以響應(yīng)執(zhí)行操作系統(tǒng)106、應(yīng)用程序108、設(shè)備驅(qū)動器110、基本輸入/輸出系統(tǒng)(BIOS)固件112和/或某些其他的軟件或固件模塊的指令來執(zhí)行操作。
計算設(shè)備100還可以包括通過處理器總線耦合到處理器104的芯片組114。芯片組114可以包括一個或更多個將處理器104耦合到計算設(shè)備100的其他組件(component)(例如存儲器116)的集成電路封裝或芯片組件。存儲器116可以包括具有可被讀和/或?qū)懙目蓪ぶ穬Υ嫖恢玫拇鎯ζ髌骷?未示出)。存儲器器件可以包括一個或更多個易失性存儲器類型,例如RAM(隨機訪問存儲器)器件、SRAM(靜態(tài)RAM)器件、DRAM(動態(tài)RAM)器件、SDRAM(同步DRAM)器件、DDR(雙數(shù)據(jù)率)SDRAM器件等。存儲器器件還可以包括一個或更多個非易失性存儲器類型,例如閃存器件、ROM(只讀存儲器)器件、PROM(可編程只讀存儲器)器件、EPROM(可擦除PROM)器件、EEPROM(電可擦除PROM)器件、鐵電存儲器器件、電池支持的存儲器(battery-backed memory)器件等。
芯片組114還可以將處理器104耦合到BIOS固件112。BIOS固件可以包括計算設(shè)備100在系統(tǒng)啟動期間可以執(zhí)行以便初始化處理器104、芯片組114和計算設(shè)備100的其他組件的例程。而且,BIOS固件112可以包括例程或驅(qū)動程序,計算設(shè)備100可以執(zhí)行所述例程或驅(qū)動程序,以便與計算設(shè)備100的一個或更多個組件進行通訊。
芯片組114還可以通過一個或更多個總線124將處理器104耦合到一個或更多個媒體設(shè)備(media device)118、網(wǎng)絡(luò)接口120,和/或其他的I/O設(shè)備122。媒體設(shè)備可以包括視頻/音頻回放設(shè)備、視頻/音頻捕獲設(shè)備、視頻/音頻傳輸設(shè)備等。網(wǎng)絡(luò)接口120可以包括LAN(局域網(wǎng))控制器、調(diào)制解調(diào)器,和/或無線網(wǎng)絡(luò)控制器,上述這些設(shè)備給計算設(shè)備100提供了到其他的計算設(shè)備、服務(wù)器,和/或其他有網(wǎng)絡(luò)功能的設(shè)備的通訊鏈路。此外,I/O設(shè)備122可以包括鼠標、鍵盤、視頻控制器、硬盤驅(qū)動器、軟盤驅(qū)動器等。
如圖所示,總線124可以在一個或更多個媒體設(shè)備118、網(wǎng)絡(luò)接口120,和/或其他的I/O設(shè)備122之間被共享。因此,計算設(shè)備100可以包括仲裁方案,以便分配對共享總線124的訪問權(quán)。在一個實施方案中,計算設(shè)備100可以包括仲裁器(arbiter)126,仲裁器126從共享總線的設(shè)備118、120、122接收請求信號或消息,并產(chǎn)生準許信號或消息以準許請求設(shè)備118、120、122其中之一對共享總線124的訪問或者所有權(quán)。如所示那樣,芯片組114可以包括用于共享總線124的仲裁器126。但是,在其他的實施方案中,仲裁器126可以在芯片組114外部。此外,沒有用于共享總線124的中央仲裁器126可以實施計算設(shè)備100。在這樣的實施方案中,設(shè)備118、120、122可以產(chǎn)生導(dǎo)致設(shè)備118、120、122在它們自身之間仲裁以便獲得共享總線124的所有權(quán)。
此外,芯片組114可以包括中斷控制器127,用于從設(shè)備118、120、122接收中斷事件(例如信號、消息),并將所述中斷事件傳遞到處理器104供處理。具體來說,中斷控制器127可以檢測一個或更多個中斷事件的發(fā)生,并且可以將被檢測到的中斷事件按照基于和每一個被檢測到的中斷事件相關(guān)聯(lián)的優(yōu)先權(quán)的順序傳遞到處理器104。
現(xiàn)在參考圖1和圖2,芯片組114還可以包括事件時間標記電路102;但是,在其他實施方案中,時間標記電路可以被包含在仲裁器126中、包含在中斷控制器127中,或包含在與芯片組114分離的組件中。時間標記電路102可以從參考時鐘128接收參考時鐘信號,并且可以響應(yīng)所述參考時鐘信號來周期性地更新本地計數(shù)(count)130。時間標記電路102可以進一步用基于所述本地計數(shù)130的時間標記132來標記(stamp)事件。稍后,請求者(例如處理器104)可以從時間標記電路102請求該事件的時間標記132,以便取得關(guān)于該事件在何時發(fā)生的相對準確的指示。通過把時間標記電路102靠近事件源(例如設(shè)備118、120、122和仲裁器126)放置,在事件發(fā)生時刻和事件被檢測到并被時間標記電路102標記的時刻之間幾乎不引入延時。此外,在事件源和時間標記電路102之間的組件和共享資源越少,則所引入的延時在事件之間的可能改變越少。因此,計算設(shè)備100可以被實施,其中,處理器104可以確定在兩個或更多個事件發(fā)生之間的非常準確的時間差。
如圖2中所示,時間標記電路102可以包括計數(shù)器(counter)134、控制器136、事件儲存器138,以及接口140。計數(shù)器134可以耦合到參考時鐘128,以接收具有例如27MHz的參考頻率的參考時鐘信號。此外,計數(shù)器134可以被實施為32位滾動計數(shù)器(roll overcounter),該計數(shù)器響應(yīng)參考時鐘信號的每一個周期而更新其計數(shù)130。
控制器136可以從媒體設(shè)備118、網(wǎng)絡(luò)接口120、I/O設(shè)備122和/或仲裁器126接收例如中斷請求信號、中斷請求消息、仲裁準許信號等的事件??刂破?36還可以被編程為標記某些關(guān)心的事件,并基本上忽略其他事件。例如,控制器136可以被編程或者配置為標記在來自媒體設(shè)備118音頻接口的中斷請求之后的第一個仲裁準許信號。類似地,可以指派媒體設(shè)備118在特定中斷線(例如中斷信號線INT_5)上產(chǎn)生中斷請求,并且控制器136可以被編程或配置為標記在被指派給媒體設(shè)備118的中斷線上接收到的所有中斷請求。
響應(yīng)于檢測到關(guān)心的事件,控制器136可以將被檢測到的事件的時間標記132儲存在事件儲存器138中。在一個實施方案中,控制器136可以簡單地儲存計數(shù)器134的當前計數(shù)130作為被檢測到的事件的時間標記132。在另一個實施方案中,控制器136可以基于計數(shù)器134的計數(shù)130產(chǎn)生時間標記132。例如,控制器136可以通過對計數(shù)130編碼以使時間標記132包括比計數(shù)130更少的位和/或通過以適合請求者(例如處理器104)或請求者所預(yù)期的形式放置時間標記132來產(chǎn)生時間標記132。
響應(yīng)于檢測到關(guān)心的事件,控制器136還可以將事件標識符142與時間標記132一起儲存在事件儲存器138中。事件標識符142可以指示事件源(例如特定的媒體設(shè)備118)或事件類型(例如中斷信號INT_5或者仲裁準許GNT_1)??梢允褂檬录俗R符142從事件儲存器138取回特定事件的時間標記132。在一個實施方案中,事件儲存器138可以儲存多個事件和多個同一類型的事件。事件儲存器138還可以基于事件標識符142,按照先入先出(FIFO)的順序取回所儲存的時間標記132。
在一個實施方案中,事件儲存器138可以被實施為如圖2中所示的單標記(singletagged)FIFO隊列狀結(jié)構(gòu)。在這種實施方案中,當檢測到事件時,控制器136可以將事件標識符142以及相關(guān)聯(lián)的時間標記132壓入FIFO結(jié)構(gòu)的尾部144。稍后,接口140向FIFO結(jié)構(gòu)請求事件標識符142的時間標記132。響應(yīng)于所述請求,F(xiàn)IFO結(jié)構(gòu)可以給接口140提供具有相關(guān)聯(lián)的事件標識符142的時間標記132。如果FIFO結(jié)構(gòu)具有多個具有相關(guān)聯(lián)的事件標識符142的時間標記132,則FIFO結(jié)構(gòu)返回最靠近FIFO結(jié)構(gòu)的頭部146的那一個。
例如,圖2示出了控制器136將具有為EID_0、EID_2和EID_5的事件標識符142的幾個事件及其相關(guān)聯(lián)的時間標記132壓入FIFO結(jié)構(gòu)的尾部144之后的FIFO結(jié)構(gòu)。響應(yīng)于針對與事件標識符EID_0相關(guān)聯(lián)的時間標記132的請求,F(xiàn)IFO結(jié)構(gòu)通過返回最靠近FIFO結(jié)構(gòu)的頭部146的時間標記TS_0,可以返回和最老的事件標識符EID_0相關(guān)聯(lián)的時間標記TS_0。類似地,響應(yīng)針對與事件標識符EID_5相關(guān)聯(lián)的時間標記132的請求,F(xiàn)IFO結(jié)構(gòu)通過返回最靠近FIFO結(jié)構(gòu)的頭部146的時間標記TS_5,可以返回和最老的事件標識符EID_0相關(guān)聯(lián)的時間標記TS_5。
但是,可以使用其他的儲存結(jié)構(gòu)來實施事件儲存器138。例如,事件儲存器138可以包括用于每一個被支持的事件類型/源的單獨的FIFO結(jié)構(gòu),并且,控制器136可以把時間標記132壓入適當?shù)腇IFO結(jié)構(gòu)中。在這樣的實施方案中,事件標識符142可以不儲存在事件儲存器138中,因為時間標記132可以簡單地從適當?shù)腇IFO結(jié)構(gòu)的頭部146拉出。還應(yīng)該理解,可以用各種方式來實施FIFO結(jié)構(gòu)。例如,F(xiàn)IFO結(jié)構(gòu)可以被實施為環(huán)形緩沖器,所述環(huán)形緩沖器具有頭部和尾部指針,以便跟蹤每一個FIFO結(jié)構(gòu)的頭部146和尾部144。
現(xiàn)在參考圖3,示出了流系統(tǒng)148的實施方案。如所示那樣,流系統(tǒng)148可以包括服務(wù)器150,用于將諸如音頻流、視頻流、音頻/視頻流、數(shù)據(jù)流等的流152通過網(wǎng)絡(luò)154傳送到計算設(shè)備100。如所示那樣,服務(wù)器150可以包括程序時鐘156,程序時鐘156產(chǎn)生具有PCR(程序時鐘速率)的程序時鐘信號。響應(yīng)于所述程序時鐘信號,服務(wù)器150可以以程序時鐘156的PCR來傳送流152。在一個實施方案中,服務(wù)器150可以將流152作為具有散置的(interspersed)PCR標記160的數(shù)據(jù)塊序列來傳送,所述PCR標記160從程序時鐘156產(chǎn)生。PCR標記160一般提供用于流152的回放或處理的參考時基(time base)。
計算設(shè)備100的一個或更多個處理器104可以準備接收到的流152的數(shù)據(jù)塊158,以將數(shù)據(jù)塊158以適于由媒體設(shè)備118處理的形式放置。然后,處理器104可以使所準備的數(shù)據(jù)塊158被轉(zhuǎn)移到媒體設(shè)備118(例如音頻多媒體數(shù)字信號編解碼器)供處理。媒體設(shè)備118可以將數(shù)據(jù)塊158轉(zhuǎn)換為音頻樣本和/或視頻幀,并且可以以基于計算設(shè)備100的參考時鐘128的處理速率來回放和/或處理所述音頻樣本和/或視頻幀。
在理想情況下,參考時鐘128的頻率和程序時鐘156的頻率將匹配。在這種情況下,媒體設(shè)備118通過簡單地以參考時鐘128所設(shè)定的處理速率來處理數(shù)據(jù)塊158,可以保持與服務(wù)器150同步。但是實際上,參考時鐘128的頻率和程序時鐘156的頻率并非精確匹配。結(jié)果,除非采取校正操作,否則將很可能發(fā)生過載(over-rnn)或者欠載(under-run)的狀況,從而在流152的回放或處理中引入假象(artifact)。具體來說,如果程序時鐘156比參考時鐘128快,則作為以快于其被處理的速率來接收數(shù)據(jù)塊158的結(jié)果,計算設(shè)備100的緩沖器將很可能過載。類似地,如果程序時鐘156比參考時鐘128慢,則作為以慢于其被處理的速率來接收數(shù)據(jù)塊158的結(jié)果,計算設(shè)備100的一個或更多個緩沖器將很可能欠載。
在一個實施方案中,每一次媒體設(shè)備118準備好接收更多的供處理的數(shù)據(jù)塊158時,媒體設(shè)備118可以產(chǎn)生中斷信號。在這樣的實施方案中,中斷信號可以準確地反映媒體設(shè)備118的實際處理速率。因此,如果處理器104可以準確地確定這樣的中斷信號被產(chǎn)生的時間,則處理器104可以準確地確定媒體設(shè)備118的實際處理速率。為了使得處理器104能夠準確地確定這些中斷信號的時間,時間標記電路102可以檢測并標記這些中斷信號,而在事件發(fā)生和事件標記之間沒有可察覺的等待時間(latency)和/或等待時間的變化。
在另一個實施方案中,每一次數(shù)據(jù)塊158被轉(zhuǎn)移到媒體設(shè)備118供處理時,仲裁器126可以產(chǎn)生準許信號,所述準許信號準許媒體設(shè)備118訪問總線124。這些仲裁信號可以準確地反映媒體設(shè)備118的實際處理速率。再一次地,如果處理器104可以準確地確定這些準許信號被產(chǎn)生的時間,則處理器104可以準確地確定媒體設(shè)備118的實際處理速率。為了使得處理器104能夠準確地確定這些準許信號的時間,時間標記電路102可以檢測并標記這些準許信號,而在被檢測到的準許信號的產(chǎn)生和被檢測到的準許信號的標記之間沒有可察覺的等待時間和/或等待時間的變化。但是應(yīng)該理解,其他的事件也可能準確地反映媒體設(shè)備118的處理速率。因此,時間標記電路102可以被配置為標記這些事件,以使這些事件的發(fā)生時間可以被準確地確定。
圖4中示出了流處理方法的實施方案。在框200中,諸如MP3(MPEG音頻層3)播放器或者QuickTimeTM電影播放器的應(yīng)用程序(application)108可以從服務(wù)器150請求流152。在框202中,服務(wù)器150可以將所請求的流152與基于服務(wù)器150的程序時鐘156的PCR標記160一起傳送到應(yīng)用程序108。在框204中,應(yīng)用程序108可以使所接收到的流152的數(shù)據(jù)塊158為處理做好準備,并且可以請求媒體設(shè)備118來處理所準備的數(shù)據(jù)塊158。在一個實施方案中,應(yīng)用程序108可以去除流152的傳輸頭(header),并且可以將流152的數(shù)據(jù)塊158儲存在存儲器116中。此外,應(yīng)用程序104可以請求媒體設(shè)備118來播放儲存在存儲器116中的數(shù)據(jù)塊158。
響應(yīng)于應(yīng)用程序108請求媒體設(shè)備118處理一個或更多個數(shù)據(jù)塊158,在框206中,媒體設(shè)備118的設(shè)備驅(qū)動程序(driver)110可以配置媒體設(shè)備118用于處理流152,并且可以配置時間標記電路102,用于標記指示媒體設(shè)備118的處理速率的事件。在一個實施方案中,設(shè)備驅(qū)動程序110可以對時間標記電路102編程,以便標記當媒體設(shè)備118準備好處理更多的數(shù)據(jù)塊158時由媒體設(shè)備118產(chǎn)生的中斷信號。在另一個實施方案中,設(shè)備驅(qū)動程序110可以對時間標記電路102編程,以便標記準許信號,所述準許信號在數(shù)據(jù)塊158被通過共享總線124轉(zhuǎn)移到媒體設(shè)備118之前由仲裁器126產(chǎn)生。
在框208中,當媒體設(shè)備118準備好接收流152的一個或更多個數(shù)據(jù)塊158時,媒體設(shè)備以產(chǎn)生中斷事件(例如中斷信號INT_5)。在框210中,時間標記電路102的控制器136可以確定是否給中斷事件加時間標記。在一個實施方案中,控制器136可以確定被檢測到的中斷事件是否是所關(guān)心的控制器136已經(jīng)被編程來對之加時間標記的事件。響應(yīng)于確定給中斷事件加時間標記,控制器136可以把該事件的時間標記132和事件標識符142儲存在事件儲存器138中(框212)。
響應(yīng)于中斷事件,在框214中,媒體設(shè)備118的設(shè)備驅(qū)動程序可以從時間標記電路102請求指示媒體設(shè)備118的處理速率的事件的時間標記132。在一個實施方案中,設(shè)備驅(qū)動程序110可以給接口140提供這種事件(例如中斷信號和/或仲裁信號)的事件標識符142。在框216中,時間標記電路102基于接收到的事件標識符142,可以從其事件儲存器138中給設(shè)備驅(qū)動程序110提供時間標記。
在框218中,設(shè)備驅(qū)動程序110可以基于接收到的時間標記132來確定媒體設(shè)備118的處理速率,并且可以基于流152的PCR標記160來確定流152的PCR。在一個實施方案中,設(shè)備驅(qū)動程序110可以基于接收到的時間標記132以及一個或更多個先前接收到的時間標記132來確定處理速率。類似地,設(shè)備驅(qū)動程序110可以基于PCR標記160以及一個/或更多個先前接收到的PCR標記來確定PCR。例如,設(shè)備驅(qū)動程序110可以確定當前時間標記132和先前接收到的時間標記132之間的差,并基于所獲得的差來更新所確定的處理速率。類似地,設(shè)備驅(qū)動程序110可以確定當前PCR標記160和先前接收到的PCR標記160之間的差,并基于所獲得差來更新所確定的PCR。
在框220中,設(shè)備驅(qū)動程序110可以基于所確定的處理速率和PCR來調(diào)整媒體設(shè)備118的處理速率。在一個實施方案中,設(shè)備驅(qū)動程序110可以調(diào)整參考時鐘128的頻率和/或配置媒體設(shè)備118,以便相對于參考時鐘128的頻率來調(diào)整媒體設(shè)備118的處理速率。在另一個實施方案中,設(shè)備驅(qū)動器110和/或應(yīng)用程序108可以對流152的一個或更多個數(shù)據(jù)塊158重新采樣,以便將重新采樣的數(shù)據(jù)塊158的PCR與媒體設(shè)備118的處理速率基本上匹配。例如,如果媒體設(shè)備118的處理速率比流152的PCR快,則設(shè)備驅(qū)動程序110和/或應(yīng)用程序108可以對一個或更多個數(shù)據(jù)塊158增加采樣率(upsample)。類似地,如果媒體設(shè)備118的處理速率比流152的PCR慢,則設(shè)備驅(qū)動程序110和/或應(yīng)用程序108可以對一個或更多個數(shù)據(jù)塊158降低采樣率(downsample)。
在框222中,設(shè)備驅(qū)動程序110可以使芯片組114和/或媒體設(shè)備118從存儲器116轉(zhuǎn)移數(shù)據(jù)塊158。在一個實施方案中,設(shè)備驅(qū)動程序110可以使芯片組114或媒體設(shè)備118的DMA(直接存儲器訪問)引擎將數(shù)據(jù)塊158從存儲器116轉(zhuǎn)移到媒體設(shè)備118供處理。在框224中,芯片組114和/或媒體設(shè)備118可以為媒體設(shè)備118請求共享總線124的所有權(quán),并且仲裁器126 224可以準許請求者114、118對共享總線124的所有權(quán)。在框226中,時間標記電路102的控制器136可以確定是否對準許事件加時間標記。在一個實施方案中,控制器136可以確定被檢測到的準許事件是否是所關(guān)心的控制器136已經(jīng)被編程來對之加時間標記的事件。響應(yīng)于確定給準許事件加時間標記,控制器136可以將該事件的時間標記132和事件標識符142儲存在事件儲存器138中(框228)。
在框230中,媒體設(shè)備118可以接收數(shù)據(jù)塊158,并且可以以被參考時鐘128控制的處理速率來處理數(shù)據(jù)塊158。具體來說,媒體設(shè)備118可以從數(shù)據(jù)塊158產(chǎn)生音頻樣本和/或視頻幀,并且可以以參考時鐘128規(guī)定的速率來回放所述音頻樣本和/或視頻幀。在框232中,媒體設(shè)備118可以確定其是否已經(jīng)完成流152的處理。如果媒體設(shè)備118確定處理更多的流152的數(shù)據(jù)塊158,則媒體設(shè)備118可以返回框208,以便產(chǎn)生中斷信號,所述中斷信號指示媒體設(shè)備118準備好接收額外的數(shù)據(jù)塊158。否則,媒體設(shè)備118可以停止流152的處理。
雖然已經(jīng)參考示例性的實施方案描述了本發(fā)明的某些特征,但是本說明書并非是要以限制的意義來解釋。示例性實施方案的各種修改以及本發(fā)明的其他實施方案對本領(lǐng)域技術(shù)人員來說是清晰的,認為它們被視為落入了本發(fā)明的精神和范圍內(nèi)。
權(quán)利要求
1.一種方法,包括利用一種裝置檢測事件,響應(yīng)于檢測到的所述事件,用所述裝置的時間標記來標記所述事件,接收對所述事件的所述時間標記的請求,以及響應(yīng)于接收到所述請求,提供所述事件的所述時間標記。
2.如權(quán)利要求1所述的方法,還包括確定是否要給所述事件加時間標記,以及響應(yīng)于確定要給所述事件加時間標記,用所述時間標記來標記所述事件。
3.如權(quán)利要求1所述的方法,其中,檢測所述事件包括檢測仲裁準許。
4.如權(quán)利要求1所述的方法,其中,檢測所述事件的操作包括檢測中斷。
5.如權(quán)利要求1所述的方法,還包括基于所述事件的所述時間標記以及流的時間標記來調(diào)整所述流的處理速率。
6.如權(quán)利要求1所述的方法,還包括基于所述事件的所述時間標記以及流的時間標記來對所述流重新采樣。
7.一種裝置,包括計數(shù)器,所述計數(shù)器用于響應(yīng)于參考時鐘來更新計數(shù),控制器,所述控制器用于檢測事件并給被檢測到的事件提供基于所述計數(shù)器的所述計數(shù)的時間標記,以及接口,所述接口用于響應(yīng)接收到對被檢測到的事件的請求,輸出所述被檢測到的事件的所述時間標記。
8.如權(quán)利要求7所述的裝置,還包括事件儲存器,用于儲存被檢測到的事件的時間標記,并且給所述接口提供所述請求的所述被檢測到的事件的所述時間標記。
9.如權(quán)利要求7所述的裝置,還包括事件儲存器,用于儲存被檢測到的事件的時間標記,并且響應(yīng)于從所述接口接收到所述被檢測到事件的事件標識符,給所述接口提供所述請求的所述被檢測到的事件的所述時間標記。
10.如權(quán)利要求9所述的裝置,其中,所述接口在對所述被檢測到的事件的所述請求中接收到所述被檢測到事件的所述事件標識符。
11.如權(quán)利要求7所述的裝置,還包括事件儲存器,用于儲存時間標記和相關(guān)聯(lián)的被檢測到的事件的事件標識符,并且響應(yīng)于從所述接口接收到所述被檢測到的事件的事件標識符,給所述接口提供所述請求的所述被檢測到的事件的所述時間標記。
12.如權(quán)利要求7所述的裝置,其中,所述控制器響應(yīng)于確定被檢測到的事件是要被加時間標記的事件類型,給所述被檢測到的事件提供時間標記。
13.如權(quán)利要求12所述的裝置,其中,所述控制器響應(yīng)于確定被檢測到的事件不是要被加時間標記的事件類型,忽略所述被檢測到的事件而不給所述被檢測到的事件提供時間標記。
14.如權(quán)利要求13所述的裝置,其中,要被所述控制器加時間標記的所述事件類型是可編程的。
15.如權(quán)利要求7所述的裝置,被包括在芯片組中,所述芯片組將處理器耦合到計算設(shè)備的其他組件。
16.如權(quán)利要求7所述的裝置,被包括在仲裁器中,所述仲裁器基于仲裁事件來仲裁對共享總線的訪問。
17如權(quán)利要求7所述的裝置,被包括在中斷控制器中,所述中斷控制器控制中斷事件。
18.一種系統(tǒng),包括網(wǎng)絡(luò)接口,所述網(wǎng)絡(luò)接口用于以程序時鐘速率接收包括數(shù)據(jù)塊的流以及指示所述程序時鐘速率的程序時鐘速率標記,參考時鐘,所述參考時鐘用于產(chǎn)生參考時鐘信號,設(shè)備,所述設(shè)備以由所述參考時鐘信號設(shè)定的處理速率處理所述流的所述數(shù)據(jù)塊,并導(dǎo)致指示所述處理速率的事件,以及時間標記電路,所述時間標記電路用于檢測指示所述處理速率的所述事件,并儲存所述事件的時間標記,所述時間標記基于所述參考時鐘信號。
19.如權(quán)利要求19所述的系統(tǒng),其中,時間標記電路基于被編程在所述時間標記電路中的事件類型來檢測指示所述處理速率的所述事件。
20.如權(quán)利要求19所述的系統(tǒng),還包括處理器,所述處理器向所述時間標記電路請求指示所述處理速率的所述事件的所述時間標記。
21.如權(quán)利要求20所述的系統(tǒng),其中,所述處理器基于所述事件的所述時間標記以及所述流的所述程序時鐘速率標記來調(diào)整所述處理速率。
22.如權(quán)利要求20所述的系統(tǒng),其中,所述處理器基于所述事件的所述時間標記以及所述流的所述程序時鐘速率標記來調(diào)整所述參考時鐘信號的頻率。
23.如權(quán)利要求20所述的系統(tǒng),其中,所述處理器基于所述事件的所述時間標記以及所述流的所述程序時鐘速率標記來對所述數(shù)據(jù)塊重新采樣。
24.如權(quán)利要求20所述的系統(tǒng),其中,所述時間標記電路儲存被檢測到的事件的時間標記,并且響應(yīng)于所述處理器從所述時間標記電路請求時間標記,給所述處理器提供所儲存的被檢測到事件的時間標記。
25.如權(quán)利要求20所述的系統(tǒng),其中,所述時間標記電路儲存被檢測到的事件的時間標記,并且響應(yīng)于所述處理器給所述時間標記電路提供被檢測到事件的事件標識符,給所述處理器提供所儲存的所述被檢測到事件的時間標記。
26.如權(quán)利要求18所述的系統(tǒng),其中,響應(yīng)于確定被檢測到的事件是要被加時間標記的事件類型,所述時間標記電路儲存所述被檢測到的事件的時間標記。
27.如權(quán)利要求26所述的系統(tǒng),其中,響應(yīng)于確定被檢測到的事件不是要被加時間標記的事件類型,所述時間標記電路忽略所述被檢測到的事件而不儲存所述被檢測到的事件的時間標記。
28.如權(quán)利要求20所述的系統(tǒng),還包括芯片組,所述芯片組包括所述時間標記電路,并且所述芯片組將所述處理器耦合到所述網(wǎng)絡(luò)接口和所述設(shè)備。
29.如權(quán)利要求18所述的系統(tǒng),還包括仲裁器,所述仲裁器包括所述時間標記電路,并且所述仲裁器仲裁對共享資源的請求,其中,所述時間標記電路儲存事件類型的被檢測到的仲裁信號的時間標記。
30.如權(quán)利要求18所述的系統(tǒng),還包括中斷控制器,所述中斷控制器包括所述時間標記電路,并且所述中斷控制器處理從所述設(shè)備接收到的中斷信號,其中,所述時間標記電路儲存事件類型的被檢測到的中斷信號的時間標記。
31.一種機器可讀介質(zhì),包括多個指令,響應(yīng)于被計算設(shè)備執(zhí)行,所述指令導(dǎo)致所述計算設(shè)備進行以下操作向時間標記電路請求被檢測到的事件的時間標記,所述被檢測到的事件指示對流的處理速率,基于所述被檢測到的事件的所述時間標記,確定對所述流的所述處理速率,基于所述流的程序時鐘速率標記,確定所述流的程序時鐘速率,以及響應(yīng)于具有確定的差的所述處理速率和所述程序時鐘速率,調(diào)整對所述流的處理速率。
32.如權(quán)利要求31所述的機器可讀介質(zhì),其中,所述多個指令還導(dǎo)致所述計算設(shè)備通過對所述流的數(shù)據(jù)塊重新采樣來調(diào)整所述處理速率。
33.如權(quán)利要求31所述的機器可讀介質(zhì),其中,所述多個指令還導(dǎo)致所述計算設(shè)備調(diào)整控制所述處理速率的參考時鐘。
34.如權(quán)利要求31所述的機器可讀介質(zhì),其中,所述多個指令還導(dǎo)致所述計算設(shè)備編程所述時間標記電路以標記指示用于所述流的處理速率的中斷事件。
35.如權(quán)利要求31所述的機器可讀介質(zhì),其中,所述多個指令還導(dǎo)致所述計算設(shè)備編程所述時間標記電路以標記指示用于所述流的處理速率的仲裁事件。
全文摘要
給事件加時間標記的機器可讀介質(zhì)、方法和裝置。在一個實施方案中,時間標記電路可以檢測關(guān)心的事件,例如中斷信號、仲裁信號等。響應(yīng)檢測到這樣的事件,時間標記電路可以為該事件儲存時間標記。例如處理器的請求者稍后可以向時間標記電路請求該事件的時間標記。然后,請求者可以基于取回的時間標記來調(diào)整和這些事件的產(chǎn)生相關(guān)聯(lián)的處理速率。
文檔編號G06F1/14GK1860427SQ200480028380
公開日2006年11月8日 申請日期2004年7月28日 優(yōu)先權(quán)日2003年8月7日
發(fā)明者德米特利·洛其亞諾夫 申請人:英特爾公司