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

追蹤數(shù)據(jù)流處理器的進(jìn)展的制作方法

文檔序號(hào):6499530閱讀:211來(lái)源:國(guó)知局
專利名稱:追蹤數(shù)據(jù)流處理器的進(jìn)展的制作方法
背景技術(shù)
PCI Express是試圖與PCI(外設(shè)部件互連)軟件兼容的I/O(輸入/輸出)互連。在試圖與PCI保持一定程度兼容性的同時(shí),PCI Express提供了很多PCI中沒(méi)有或者不完全支持的特征。對(duì)于等時(shí)(isochronous)數(shù)據(jù)傳輸?shù)闹С志褪沁@樣一個(gè)特征。對(duì)等時(shí)數(shù)據(jù)傳輸?shù)闹С挚梢詭椭嗝襟w應(yīng)用,例如,音頻和/或視頻回放應(yīng)用獲得高品質(zhì)的效果。然而,等時(shí)數(shù)據(jù)傳輸?shù)腜CIExpress實(shí)現(xiàn)放寬了一些嚴(yán)格的PCI排序(order)規(guī)則。所以經(jīng)由PCIExpress通道等時(shí)傳輸數(shù)據(jù)的軟件應(yīng)用可能需要利用不同于用于追蹤常規(guī)PCI數(shù)據(jù)傳輸進(jìn)展的技術(shù)來(lái)追蹤這樣的傳輸進(jìn)展。


此處描述的本發(fā)明是以示例的形式而非限制性形式在附圖中描述的。為了描述的簡(jiǎn)單與清晰,圖中所示要素并不一定是按照比例繪制的。舉例來(lái)說(shuō),為了清晰起見(jiàn),一些要素的尺寸可能相對(duì)于其他要素被放大了。再者,在適當(dāng)?shù)目紤]下,圖中重復(fù)出現(xiàn)的標(biāo)號(hào)是用來(lái)指示對(duì)應(yīng)的或類似的要素。
圖1描述了具有音頻控制器的計(jì)算設(shè)備的實(shí)施方案。
圖2描述了與系統(tǒng)存儲(chǔ)器的緩沖區(qū)和緩沖區(qū)描述符(descriptor)列表(list)相關(guān)的音頻控制器的實(shí)施方案。1.
圖3描述了在系統(tǒng)存儲(chǔ)器中緩沖區(qū)與編解碼器(codec)之間傳輸數(shù)據(jù)的方法的實(shí)施方案。
詳細(xì)描述以下描述了數(shù)據(jù)流向(Data Streaming)技術(shù)。在以下的描述中,闡述了諸如實(shí)現(xiàn)邏輯實(shí)現(xiàn)、操作碼、指定操作數(shù)的方式、資源劃分/共享/復(fù)制的實(shí)現(xiàn)、系統(tǒng)組件(component)的類型和它們間的相互關(guān)系、以及邏輯劃分/整合抉擇等很多具體的細(xì)節(jié),以提供對(duì)本發(fā)明的更透徹的理解。然而,本領(lǐng)域內(nèi)的技術(shù)人員將會(huì)意識(shí)到,無(wú)需使用這些具體的細(xì)節(jié)可以實(shí)現(xiàn)本發(fā)明。此外,為了不模糊本發(fā)明,控制結(jié)構(gòu)、門級(jí)電路和完整的軟件指令序列沒(méi)有詳細(xì)示出。本領(lǐng)域普通技術(shù)人員,利用所包括的描述,能夠在不需非常規(guī)試驗(yàn)(undueexperimentation)的情況下實(shí)現(xiàn)適當(dāng)?shù)墓δ堋?br> 在說(shuō)明書(shū)中提及的“一個(gè)實(shí)施方案”、“實(shí)施方案”、“示例性的實(shí)施方案”等等,表明所述實(shí)施方案可以包括具體特征、結(jié)構(gòu)和特性,但每一個(gè)實(shí)施方案并不一定要包括所述具體特征、結(jié)構(gòu)和特性。而且這些短語(yǔ)不一定是指相同的實(shí)施方案。再者,在描述與實(shí)施方案相關(guān)的具體特征、結(jié)構(gòu)和特性時(shí),無(wú)論是否被明確地描述,認(rèn)為本領(lǐng)域內(nèi)的技術(shù)人員在其知識(shí)范圍內(nèi)是能實(shí)現(xiàn)與其他實(shí)施方案相關(guān)的這些特征、結(jié)構(gòu)和特性的。
本發(fā)明的實(shí)施方案可以以硬件、固件、軟件或它們的任何組合形式實(shí)現(xiàn)。本發(fā)明的實(shí)施方案也可以用能夠被一個(gè)或更多個(gè)處理器讀取和執(zhí)行、存儲(chǔ)在機(jī)器可讀介質(zhì)中的指令來(lái)實(shí)現(xiàn)。機(jī)器可讀介質(zhì)可以包括任何用于存儲(chǔ)或傳輸可被機(jī)器(如計(jì)算設(shè)備)讀取的信息的機(jī)制。舉例來(lái)說(shuō),機(jī)器可讀介質(zhì)可以包括只讀存儲(chǔ)器(ROM);隨機(jī)訪問(wèn)存儲(chǔ)器(RAM);磁盤(pán)存儲(chǔ)介質(zhì);光存儲(chǔ)介質(zhì);閃存設(shè)備;電、光、聲或其他形式的傳播信號(hào)(如載波、紅外信號(hào)、數(shù)字信號(hào)等)以及其他介質(zhì)。
計(jì)算設(shè)備的實(shí)施方案如圖1所示。計(jì)算設(shè)備可能包括一個(gè)或更多個(gè)經(jīng)由處理器總線104與芯片組102耦合的處理器100的。芯片組102可以包括一個(gè)或更多個(gè)集成電路封裝(package)或芯片,所述集成電路封裝或芯片將處理器100耦合到主存儲(chǔ)器或者系統(tǒng)存儲(chǔ)器106、音頻控制器108和/或計(jì)算設(shè)備的其他組件110。具體來(lái)說(shuō),芯片組102可以包括一個(gè)或更多個(gè)設(shè)備接口112,所述設(shè)備接口112支持通過(guò)一條或更多條總線114送到和/或傳自計(jì)算設(shè)備的其他組件110(例如BIOS固件、鍵盤(pán)、鼠標(biāo)、存儲(chǔ)設(shè)備、網(wǎng)絡(luò)設(shè)備等)的數(shù)據(jù)傳輸。
芯片組102還可以包括經(jīng)由存儲(chǔ)器總線118訪問(wèn)系統(tǒng)存儲(chǔ)器106的存儲(chǔ)控制器116。存儲(chǔ)控制器106可以響應(yīng)于對(duì)與處理器100、音頻控制器108和計(jì)算設(shè)備的其他組件110相關(guān)聯(lián)的存儲(chǔ)器事務(wù)訪問(wèn)系統(tǒng)存儲(chǔ)器106。此外,系統(tǒng)存儲(chǔ)器106還可以包括提供可尋址存儲(chǔ)位置(location)的各種存儲(chǔ)設(shè)備,存儲(chǔ)控制器116可以從中讀取數(shù)據(jù)和/或?qū)?shù)據(jù)寫(xiě)入其中。具體來(lái)說(shuō),系統(tǒng)存儲(chǔ)器106可以包括一個(gè)或更多個(gè)不同類型的存儲(chǔ)器設(shè)備,例如DRAM(動(dòng)態(tài)隨機(jī)訪問(wèn)存儲(chǔ)器)設(shè)備、SDRAM(同步DRAM)設(shè)備、DDR(雙倍數(shù)據(jù)速率)SDRAM設(shè)備或其他存儲(chǔ)器設(shè)備。
計(jì)算設(shè)備還可以包括經(jīng)由音頻總線122耦合到音頻控制器108的一個(gè)或更多個(gè)編解碼器120。編解碼器120可以集成到音頻控制器108和/或芯片組102中,也可以安裝到計(jì)算設(shè)備的主板上,也可以安裝到與計(jì)算設(shè)備耦合的附加卡(add-in card)上,和/或成為諸如塢站(docking station)、音頻混音器等耦合到計(jì)算設(shè)備的接口端口(未示出)的外部設(shè)備的一部分。此外,編解碼器120還可以與計(jì)算設(shè)備中可產(chǎn)生和/或處理數(shù)據(jù)流的聲卡、調(diào)制解調(diào)器、傳真設(shè)備、電話設(shè)備、音頻捕捉設(shè)備、視頻捕捉設(shè)備等相關(guān)聯(lián)。
音頻控制器108可以使數(shù)據(jù)在編解碼器120與系統(tǒng)存儲(chǔ)器106的緩沖區(qū)124之間流動(dòng),所述緩沖區(qū)120由存儲(chǔ)在系統(tǒng)存儲(chǔ)器106中的一個(gè)或更多個(gè)緩沖區(qū)描述符列表(BDL)126來(lái)定義。音頻控制器108也可以更新系統(tǒng)存儲(chǔ)器106的緩沖區(qū)中的直接存儲(chǔ)器訪問(wèn)(DirectMemory Access,DMA)位置(Direct Memory Access Position in Buffer,DPIB)結(jié)構(gòu)128,以反映音頻控制器108在音頻控制器108與一個(gè)或多或更多個(gè)緩沖區(qū)124之間傳輸數(shù)據(jù)的進(jìn)展。
音頻控制器108可以集成到芯片組102中。但是,在所述的實(shí)施方案中,音頻控制器108是與芯片組102分離的。在這樣的實(shí)施方案中,芯片組102與音頻控制器108可以各包括一條或更多條支持經(jīng)由等時(shí)通道132的等時(shí)數(shù)據(jù)傳輸和/或經(jīng)由非等時(shí)通道134的非等時(shí)數(shù)據(jù)傳輸?shù)目偩€接口130。在一個(gè)實(shí)施方案中,一條或更多條等時(shí)通道132將音頻控制器108的總線接口130耦合到芯片組102的總線接口130來(lái)支持彼此之間的等時(shí)數(shù)據(jù)傳輸。在一個(gè)實(shí)施方案中,每個(gè)總線接口130可以實(shí)現(xiàn)與PCI Express兼容的接口,所述接口支持等時(shí)虛擬通道。但是,總線接口130可以實(shí)現(xiàn)另外的和/或可替換的接口協(xié)議。此外,芯片組102和總線接口130還可以實(shí)現(xiàn)類似于比傳統(tǒng)的PCI排序規(guī)則要更加寬松的PCI Express排序規(guī)則的排序規(guī)則。具體來(lái)說(shuō),不同于PCI排序規(guī)則,供處理器讀取的完成數(shù)據(jù)(completion data)不會(huì)推動(dòng)對(duì)系統(tǒng)存儲(chǔ)器106的等時(shí)讀和/或?qū)?。此外,中斷也不?huì)推動(dòng)對(duì)系統(tǒng)存儲(chǔ)器106的等時(shí)讀和/或?qū)?。但是,在一個(gè)實(shí)施方案中,排序規(guī)則保證了等時(shí)寫(xiě)不會(huì)經(jīng)由相同的通道傳遞先前發(fā)布的等時(shí)讀/或?qū)?。幫我弄清?FIX-ME)這些排序規(guī)則準(zhǔn)確嗎(ARE THESE ORDERING RULES ACCURATE)?音頻控制器108還可以包括用于將編解碼器120耦合到音頻控制器108的音頻總線122上的音頻總線接口136。在一個(gè)實(shí)施方案中,音頻總線接口136可以經(jīng)由音頻總線122的一個(gè)或更多個(gè)點(diǎn)對(duì)點(diǎn)串行輸入鏈路接收來(lái)自于編解碼器120的數(shù)據(jù)幀。音頻總線接口136還可以經(jīng)由音頻總線122的廣播串行輸出鏈路將數(shù)據(jù)幀發(fā)送到一個(gè)或更多個(gè)編解碼器120,所述編解碼器120根據(jù)不同的格式對(duì)流進(jìn)行編碼和/或解碼。
現(xiàn)在參照?qǐng)D2,音頻控制器108可以包括一個(gè)或更多個(gè)BDL DMA控制器138、DPIBDMA控制器140、一個(gè)或更多個(gè)輸入DMA控制器142,以及一個(gè)或更多個(gè)輸出DMA控制器144。在一個(gè)實(shí)施方案中,每一個(gè)輸入DMA控制器142可以被處理器100編程,以分別使得從一個(gè)或更多個(gè)編解碼器120接收到的數(shù)據(jù)流到系統(tǒng)存儲(chǔ)器106的緩沖區(qū)124。類似地,每個(gè)輸出DMA控制器142可被處理器100編程,以分別使得來(lái)自系統(tǒng)存儲(chǔ)器106的緩沖區(qū)124的數(shù)據(jù)流到一個(gè)或更多個(gè)編解碼器120。
每個(gè)BDL DMA控制器138可以從系統(tǒng)存儲(chǔ)器106讀取緩沖區(qū)描述符列表126,并且給適當(dāng)?shù)腄MA控制器142、144提供緩沖區(qū)描述符列表。每個(gè)緩沖區(qū)描述符列表126可以定義緩沖區(qū)124的很多緩沖區(qū)段(segment)146,其中對(duì)應(yīng)的輸出DMA控制器142、144可從所述緩沖區(qū)段146中讀取數(shù)據(jù)或者對(duì)應(yīng)的輸入DMA控制器可以將數(shù)據(jù)寫(xiě)入所述緩沖區(qū)段146。緩沖區(qū)描述符列表126的每一個(gè)描述符148可以包括標(biāo)識(shí)緩沖區(qū)124的緩沖區(qū)段146開(kāi)始端的基址(base)和標(biāo)識(shí)緩沖區(qū)段146末端的長(zhǎng)度。在一個(gè)實(shí)施方案中,DMA控制器142、144可以把它們各自的緩沖區(qū)124作為環(huán)狀或者循環(huán)的緩沖區(qū)。因此,在到達(dá)它們各自緩沖區(qū)124的末端時(shí),DMA控制器142、144可以繞回(wrap-around)或返回它們對(duì)應(yīng)的緩沖區(qū)124的開(kāi)始端。
音頻控制器108還可以包括用于每一個(gè)輸入DMA控制器142和輸出DMA控制器144的分別的(separate)緩沖區(qū)長(zhǎng)度寄存器150、分別的緩沖區(qū)中DMA位置(DPIB)計(jì)數(shù)器152以及分別的緩沖區(qū)中鏈路位置(Link Position In Buffer,LPIB)計(jì)數(shù)器154。處理器100和/或BDL DMA控制器138可以在每個(gè)DMA控制器142、144的緩沖區(qū)長(zhǎng)度寄存器150中存儲(chǔ)對(duì)應(yīng)的緩沖區(qū)124的長(zhǎng)度。每個(gè)輸入DMA控制器142可以遞增其DPIB計(jì)數(shù)器152以便DPIB計(jì)數(shù)器152包含的計(jì)數(shù)與輸入DMA控制器142已向緩沖區(qū)124傳輸?shù)淖止?jié)(byte)數(shù)相等。另外,每個(gè)輸入DMA控制器還可以遞增其LPIB計(jì)數(shù)器154以便其LPIB計(jì)數(shù)器154包含的計(jì)數(shù)與輸入DMA控制器142從其輸入鏈路中已接收到的字節(jié)數(shù)相等。類似地,每個(gè)輸出DMA控制器144可以遞增它的DPIB計(jì)數(shù)器152以便DPIB計(jì)數(shù)器152包含的計(jì)數(shù)與輸出DMA控制器144從其緩沖區(qū)124中已傳輸出的字節(jié)數(shù)相等。每個(gè)輸出DMA控制器還可以遞增它的LPIB計(jì)數(shù)器154以便LPIB計(jì)數(shù)器154包含的計(jì)數(shù)與輸出DMA控制器144已傳輸?shù)揭纛l總線122的輸出鏈路的字節(jié)數(shù)相等。
一旦DPIB計(jì)數(shù)器152和LPIB計(jì)數(shù)器154的計(jì)數(shù)指示已經(jīng)到達(dá)了各自緩沖區(qū)124的末端時(shí),它們可以清除自身或者復(fù)位到初始值(比如0、對(duì)應(yīng)的緩沖區(qū)長(zhǎng)度等等)。在一個(gè)實(shí)施方案中,一旦它們的計(jì)數(shù)與對(duì)應(yīng)的緩沖區(qū)長(zhǎng)度寄存器150的緩沖區(qū)長(zhǎng)度到達(dá)預(yù)定的關(guān)系時(shí),DPIB計(jì)數(shù)器152和LPIB計(jì)數(shù)器154可以清除自身或者以其他方式復(fù)位到初始值。在另一個(gè)實(shí)施方案中,DPIB計(jì)數(shù)器152和LPIB計(jì)數(shù)器154可以響應(yīng)于計(jì)數(shù)器152、154的上溢(overflow)和下溢(underflow),清除自身或者以其他方式復(fù)位到初始值。另外,LPIB計(jì)數(shù)器154還可以這樣來(lái)實(shí)現(xiàn),從而使處理器能夠讀取LPIB計(jì)數(shù)器154的計(jì)數(shù),但是不能寫(xiě)或者更新LPIB計(jì)數(shù)器154的計(jì)數(shù)。
音頻控制器還可以包括刷新(update)計(jì)數(shù)器156和刷新率(update rate)寄存器158。在一個(gè)實(shí)施方案中,刷新計(jì)數(shù)器156可以響應(yīng)于刷新計(jì)數(shù)器156的計(jì)數(shù)遞增到超過(guò)存儲(chǔ)在刷新率寄存器158中的值,產(chǎn)生上溢信號(hào)。響應(yīng)于該上溢信號(hào),刷新計(jì)數(shù)器156的計(jì)數(shù)可以被清除或置為0。在另一個(gè)實(shí)施方案中,刷新計(jì)數(shù)器156可以響應(yīng)于刷新計(jì)數(shù)器156的計(jì)數(shù)遞減到超過(guò)0,產(chǎn)生下溢信號(hào)。響應(yīng)于下溢信號(hào),刷新計(jì)數(shù)器156的計(jì)數(shù)可以被置為存儲(chǔ)在刷新率寄存器158中的值。
DPIB DMA控制器140可以使用下溢/上溢信號(hào)來(lái)確定什么時(shí)候更新DPIB結(jié)構(gòu)128。如圖2所示,DPIB結(jié)構(gòu)128可以包括用于每個(gè)輸入DMA控制器142和每個(gè)輸出DMA控制器144的DPIB字段(field)160。DPIB結(jié)構(gòu)128還可以包括被保留作為將來(lái)可能使用的保留字段162。在一個(gè)實(shí)施方案中,DPIB結(jié)構(gòu)128包括系統(tǒng)存儲(chǔ)器106的連續(xù)的部分,并且DPIB結(jié)構(gòu)的每個(gè)字段160、162包括32位(bit)。
圖3示出了在緩沖區(qū)124和編解碼器120之間引流(stream)或者傳輸數(shù)據(jù)的方法的實(shí)施方案。在方框200中,處理器100可以給流分配緩沖區(qū)124,并且可以將標(biāo)識(shí)己分配緩沖區(qū)124的緩沖區(qū)段146的緩沖區(qū)描述符列表126存儲(chǔ)在系統(tǒng)存儲(chǔ)器106中。在方框202中,處理器100可以將音頻控制器108的DMA控制器142、144分配給流,并且可以配置音頻控制器108來(lái)使數(shù)據(jù)流動(dòng)。在一個(gè)實(shí)施方案中,處理器100可以給音頻控制器108提供已分配緩沖區(qū)124的長(zhǎng)度、緩沖區(qū)描述符列表126的基址、要傳輸?shù)牧鞯牧鳂?biāo)識(shí)符、用于使數(shù)據(jù)流動(dòng)的DMA控制器142和144的DMA標(biāo)識(shí)符、一個(gè)或更多個(gè)用于在數(shù)據(jù)傳輸中涉及的編解碼器120的編解碼器標(biāo)識(shí)符以及刷新率寄存器158的更新值。
在方框204中,音頻控制器108可基于接收自處理器100的信息為流配置一個(gè)或更多個(gè)DMA控制器138、140、142、144。在一個(gè)實(shí)施方案中,音頻控制器108可以基于接收到的緩沖區(qū)長(zhǎng)度更新已分配的DMA控制器142、144緩沖區(qū)的長(zhǎng)度寄存器150,可以初始化已分配的DMA控制器142、144的DPIB計(jì)數(shù)器和LPIB計(jì)數(shù)器154,并且可以給已經(jīng)分配的DMA控制器142、144的BDL DMA控制器138提供已分配緩沖區(qū)124的緩沖區(qū)描述符列表126的基址和已分配DMA控制器142、144的DMA描述符。
在方框206中,BDL DMA控制器138可以從系統(tǒng)存儲(chǔ)器106中讀取緩沖區(qū)描述符列表126。BDL DMA控制器138還可以提供緩沖區(qū)描述符列表126給與接收到的DMA控制器相關(guān)聯(lián)的DMA控制器142、144,和/或可以配置DMA控制器142、144根據(jù)(per)讀取的緩沖區(qū)描述符列表126來(lái)傳輸數(shù)據(jù)。接著在方框208中,音頻控制器108可以根據(jù)緩沖區(qū)描述符列表126在緩沖區(qū)124與編解碼器120之間傳輸數(shù)據(jù)。具體來(lái)說(shuō),對(duì)于輸入流,音頻總線接口136可以經(jīng)由音頻總線122的輸入鏈路從編解碼器120接收流描述符和相關(guān)的數(shù)據(jù)。音頻總線接口136可基于流描述符將數(shù)據(jù)路由(route)到適當(dāng)?shù)妮斎隓MA控制器142,并且輸入DMA控制器142可以經(jīng)由等時(shí)通道132將數(shù)據(jù)寫(xiě)到已分配的緩沖區(qū)124。類似地,輸出DMA控制器144可以經(jīng)由等時(shí)通道132從如緩沖區(qū)描述符126所定義的已分配緩沖區(qū)124中讀取數(shù)據(jù)。音頻總線接口136可以從輸出DMA控制器144接收數(shù)據(jù),并且可以經(jīng)由音頻總線122的輸出鏈路將數(shù)據(jù)以幀的形式傳輸?shù)竭m當(dāng)?shù)木幗獯a器120中。
方框210中,響應(yīng)于經(jīng)由音頻總線接口136發(fā)送和接收數(shù)據(jù),DMA控制器142、144可以更新各自的LPIB計(jì)數(shù)器154來(lái)反映在音頻總線122的鏈路上的傳輸進(jìn)展。在一個(gè)實(shí)施方案中,DMA控制器142、144可根據(jù)自從上次更新以來(lái)在鏈路上傳輸?shù)淖止?jié)數(shù)來(lái)遞增其LPIB計(jì)數(shù)器154。此外,在方框212中,DMA控制器142、144還可以基于其鏈路上傳輸?shù)臄?shù)據(jù)來(lái)更新刷新計(jì)數(shù)器156。在一個(gè)實(shí)施方案中,每個(gè)DMA控制器142、144可以根據(jù)自從上次更新以來(lái)在其對(duì)應(yīng)的鏈路上傳輸?shù)膸瑪?shù)來(lái)更新刷新計(jì)數(shù)器156的計(jì)數(shù),從而使刷新計(jì)數(shù)器156追蹤在音頻總線122上傳輸?shù)膸瑪?shù)。
在方框214中,響應(yīng)于從緩沖區(qū)124讀取數(shù)據(jù)或?qū)?shù)據(jù)寫(xiě)入緩沖區(qū)124,DMA控制器142、144可以更新其各自的DPIB計(jì)數(shù)器152,來(lái)反映在緩沖區(qū)124與音頻控制器108之間進(jìn)行數(shù)據(jù)傳輸?shù)倪^(guò)程中DMA控制器142、144已取得的進(jìn)展。在一個(gè)實(shí)施方案中,DMA控制器142、144可以根據(jù)自從上次更新以來(lái)緩沖區(qū)124與音頻控制器108之間傳輸?shù)淖止?jié)數(shù)來(lái)更新其DPIB計(jì)數(shù)器512。
在方框216中,基于刷新計(jì)數(shù)器156的計(jì)數(shù),DPIB DMA控制器140可以確定是否要更新系統(tǒng)存儲(chǔ)器106中的DPIB結(jié)構(gòu)128。在一個(gè)實(shí)施方案中,DPIB DMA控制器140可以響應(yīng)于刷新計(jì)數(shù)器156的上溢和/或下溢信號(hào),確定更新存儲(chǔ)在系統(tǒng)存儲(chǔ)器106中的DPIB結(jié)構(gòu)128。在另一個(gè)實(shí)施方案中,DPIB DMA控制器140可以響應(yīng)于確定刷新計(jì)數(shù)器156的計(jì)數(shù)與存儲(chǔ)在刷新率寄存器158中的更新值具有預(yù)定的關(guān)系(比如說(shuō)相等),確定更新DPIB結(jié)構(gòu)128。方框218中,響應(yīng)于確定要更新DPIB結(jié)構(gòu)128,DPIB DMA控制器140可以經(jīng)由被DMA控制器142、144使用的相同的虛擬通道將DPIB計(jì)數(shù)器152的當(dāng)前值寫(xiě)入系統(tǒng)存儲(chǔ)器106中DPIB結(jié)構(gòu)128的各自的DPIB字段160。
由于總線接口130維持經(jīng)由虛擬通道的寫(xiě)排序,處理器100可以從DPIB結(jié)構(gòu)128確定音頻控制器108等時(shí)地向系統(tǒng)存儲(chǔ)器106中的緩沖區(qū)124傳輸數(shù)據(jù)和/或從系統(tǒng)存儲(chǔ)器106中的緩沖區(qū)124傳輸數(shù)據(jù)的進(jìn)展。此外,處理器100還可以讀取LPIB計(jì)數(shù)器154來(lái)確定音頻控制器108經(jīng)由音頻總線122的鏈路傳輸數(shù)據(jù)的進(jìn)展。
在方框220中,音頻控制器108可以確定DMA控制器142、144是否到達(dá)了其緩沖區(qū)124的末端。在一個(gè)實(shí)施方案中,音頻控制器108響應(yīng)于DPIB計(jì)數(shù)器156的上溢和/或下溢信號(hào),可以確定DMA控制器142、144到達(dá)了其緩沖區(qū)的末端。在另一個(gè)實(shí)施方案中,音頻控制器108響應(yīng)于確定DPIB計(jì)數(shù)器152的計(jì)數(shù)與其對(duì)應(yīng)的緩沖區(qū)長(zhǎng)度寄存器150中存儲(chǔ)的緩沖區(qū)長(zhǎng)度具有預(yù)定的關(guān)系,確定DMA控制器142、144到達(dá)了其緩沖區(qū)124的末端。方框222中,DMA控制器142、144響應(yīng)于確定到達(dá)緩沖區(qū)124末端,可以復(fù)位或初始化其DPIB計(jì)數(shù)器152和LPIB計(jì)數(shù)器154。DMA控制器142、144還可以根據(jù)其緩沖區(qū)描述符列表126返回緩沖區(qū)124的開(kāi)始端。然后DMA控制器142、144可以返回方框208,以繼續(xù)在其緩沖區(qū)124與音頻控制器108之間傳輸數(shù)據(jù)。
參照示例性的實(shí)施方案描述了本發(fā)明的某些特征。但是所述描述不想要被視為限制性的。本發(fā)明所屬領(lǐng)域內(nèi)的技術(shù)人員將會(huì)清楚,示例性實(shí)施方案的各種修改以及本發(fā)明的其他實(shí)施方案,被視為落在本發(fā)明的精神和范圍之內(nèi)。
權(quán)利要求
1.一種在包括系統(tǒng)存儲(chǔ)器和編解碼器的計(jì)算設(shè)備的控制器中的方法,所述方法包括通過(guò)所述控制器的第一接口從所述系統(tǒng)存儲(chǔ)器的緩沖區(qū)讀取數(shù)據(jù),通過(guò)所述控制器的第二接口向所述編解碼器傳輸所述數(shù)據(jù),追蹤所述緩沖區(qū)中的位置,所述控制器已從所述位置讀取所述數(shù)據(jù),以及通過(guò)所述第一接口向所述系統(tǒng)存儲(chǔ)器寫(xiě)入值,以指示所述緩沖區(qū)中的所述位置。
2.如權(quán)利要求1所述的方法,其中讀取操作包括通過(guò)所述第一接口等時(shí)地接收所述數(shù)據(jù)。
3.如權(quán)利要求1所述的方法,還包括追蹤通過(guò)所述第二接口將所述數(shù)據(jù)傳輸?shù)剿鼍幗獯a器的進(jìn)展。
4.如權(quán)利要求1所述的方法,其中從所述緩沖區(qū)讀取所述數(shù)據(jù)的操作包括根據(jù)定義所述緩沖區(qū)的緩沖區(qū)描述符列表讀取數(shù)據(jù)。
5.如權(quán)利要求4所述的方法,其中從所述緩沖區(qū)讀取所述數(shù)據(jù)的操作還包括響應(yīng)于到達(dá)所述緩沖區(qū)的末端,返回所述緩沖區(qū)的開(kāi)始端。
6.如權(quán)利要求1所述的方法,還包括在將所述值寫(xiě)入所述系統(tǒng)存儲(chǔ)器之前,基于通過(guò)所述第二接口傳輸?shù)乃鰯?shù)據(jù),確定更新所述系統(tǒng)存儲(chǔ)器中的所述值。
7.一種在包括系統(tǒng)存儲(chǔ)器和編解碼器的計(jì)算設(shè)備的控制器中的方法,所述方法包括通過(guò)所述控制器的第一接口從所述編解碼器接收數(shù)據(jù),通過(guò)所述控制器的第二接口將所述數(shù)據(jù)寫(xiě)入所述系統(tǒng)存儲(chǔ)器的緩沖區(qū),追蹤所述緩沖區(qū)中的位置,所述控制器已向所述位置寫(xiě)入所述數(shù)據(jù),以及通過(guò)所述第二接口向所述系統(tǒng)存儲(chǔ)器寫(xiě)入值,以指示所述緩沖區(qū)中的所述位置。
8.如權(quán)利要求7所述的方法,其中將所述數(shù)據(jù)寫(xiě)入所述緩沖區(qū)的操作包括通過(guò)所述第二接口向所述緩沖區(qū)等時(shí)地傳輸所述數(shù)據(jù)。
9.如權(quán)利要求7所述的方法,還包括追蹤通過(guò)所述的第一接口從所述編解碼器接收所述數(shù)據(jù)的進(jìn)展。
10.如權(quán)利要求7所述的方法,其中將所述數(shù)據(jù)寫(xiě)入所述緩沖區(qū)的操作包括根據(jù)定義所述緩沖區(qū)的緩沖區(qū)描述符列表寫(xiě)入數(shù)據(jù)。
11.如權(quán)利要求10所述的方法,其中將所述數(shù)據(jù)寫(xiě)入所述緩沖區(qū)的操作還包括響應(yīng)于到達(dá)所述緩沖區(qū)的末端,返回所述緩沖區(qū)的開(kāi)始端。
12.如權(quán)利要求7所述的方法,還包括在將所述值寫(xiě)入系統(tǒng)存儲(chǔ)器之前,基于通過(guò)所述第一接口接收的所述數(shù)據(jù),確定更新所述系統(tǒng)存儲(chǔ)器中的所述值。
13.一種系統(tǒng),包括處理器,包括緩沖區(qū)和緩沖區(qū)位置的系統(tǒng)存儲(chǔ)器,通過(guò)第一總線耦合到所述系統(tǒng)存儲(chǔ)器的音頻控制器,以及通過(guò)第二總線耦合到所述音頻控制器的編解碼器,其中所述音頻控制器通過(guò)所述第一總線和所述第二總線在所述緩沖區(qū)和所述編解碼器之間傳輸數(shù)據(jù),并且通過(guò)所述第一總線來(lái)更新所述緩沖區(qū)位置以指示緩沖區(qū)中與所述緩沖區(qū)和所述音頻控制器之間的所述音頻控制器傳輸有關(guān)的位置。
14.如權(quán)利要求13所述的系統(tǒng),其中所述音頻控制器通過(guò)等時(shí)通道將所述數(shù)據(jù)經(jīng)過(guò)所述第一總線傳輸,并且通過(guò)所述等時(shí)通道更新所述緩沖區(qū)位置。
15.如權(quán)利要求13所述的系統(tǒng),其中所述音頻控制器將所述數(shù)據(jù)經(jīng)過(guò)所述第一總線的鏈路傳輸,并且基于經(jīng)過(guò)所述鏈路傳輸?shù)臄?shù)據(jù)更新所述音頻控制器的鏈路位置計(jì)數(shù)器。
16.如權(quán)利要求13所述的系統(tǒng),其中所述系統(tǒng)存儲(chǔ)器還包括定義所述緩沖區(qū)的緩沖區(qū)描述符列表,并且所述音頻控制器基于所述的緩沖區(qū)描述符列表傳輸所述數(shù)據(jù)。
17.如權(quán)利要求13所述的系統(tǒng),其中所述音頻控制器通過(guò)所述第一總線等時(shí)地從所述緩沖區(qū)讀取所述數(shù)據(jù),并且通過(guò)所述第二總線將所述數(shù)據(jù)傳輸?shù)剿鼍幗獯a器。
18.如權(quán)利要求13所述的系統(tǒng),其中所述音頻控制器通過(guò)所述第二總線從所述編解碼器接收所述數(shù)據(jù),并且通過(guò)所述第一總線將所述數(shù)據(jù)等時(shí)地寫(xiě)入所述緩沖區(qū)。
19.一種控制器,包括第一直接存儲(chǔ)器訪問(wèn)控制器,所述第一直接存儲(chǔ)器訪問(wèn)控制器通過(guò)到系統(tǒng)存儲(chǔ)器的第一接口和到編解碼器的第二接口在所述系統(tǒng)存儲(chǔ)器和所述編解碼器之間傳輸數(shù)據(jù),以及緩沖區(qū)中位置控制器,所述緩沖區(qū)中位置控制器通過(guò)所述第一接口更新所述系統(tǒng)存儲(chǔ)器中的位置值,以指示所述直接存儲(chǔ)器訪問(wèn)控制器在所述緩沖區(qū)中的位置。
20.如權(quán)利要求19所述的控制器,還包括第二直接存儲(chǔ)器訪問(wèn)控制器,所述第二直接存儲(chǔ)器訪問(wèn)控制器,用來(lái)從所述系統(tǒng)存儲(chǔ)器讀取定義所述系統(tǒng)存儲(chǔ)器中緩沖區(qū)的緩沖區(qū)描述符列表,以及配置所述第一直接存儲(chǔ)器訪問(wèn)控制器,以根據(jù)所述的緩沖區(qū)描述符列表在所述緩沖區(qū)與所述編解碼器之間傳輸所述數(shù)據(jù)。
21.如權(quán)利要求19所述的控制器,還包括用于維持計(jì)數(shù)的鏈路計(jì)數(shù)器,所述計(jì)數(shù)指示所述第一直接存儲(chǔ)器訪問(wèn)控制器經(jīng)過(guò)所述第二接口傳輸所述數(shù)據(jù)的進(jìn)展。
22.如權(quán)利要求19所述的控制器,還包括用于維持計(jì)數(shù)的緩沖區(qū)位置計(jì)數(shù)器,所述計(jì)數(shù)指示所述第一直接存儲(chǔ)器訪問(wèn)控制器經(jīng)過(guò)所述第一接口傳輸所述數(shù)據(jù)的進(jìn)展。
23.如權(quán)利要求19所述的控制器,其中所述第一直接存儲(chǔ)器訪問(wèn)控制器將所述數(shù)據(jù)等時(shí)地寫(xiě)入所述緩沖區(qū)。
24.如權(quán)利要求19所述的控制器,其中所述的第一直接存儲(chǔ)器訪問(wèn)控制器從所述緩沖區(qū)等時(shí)地讀取所述數(shù)據(jù)。
25.一種包括多條指令的機(jī)器可讀介質(zhì),響應(yīng)于所述指令被執(zhí)行,導(dǎo)致計(jì)算設(shè)備配置音頻控制器來(lái)使數(shù)據(jù)在所述計(jì)算設(shè)備的系統(tǒng)存儲(chǔ)器中的緩沖區(qū)和所述計(jì)算設(shè)備的編解碼器之間流動(dòng),配置所述音頻控制器來(lái)基于所述緩沖區(qū)與所述編解碼器之間傳輸數(shù)據(jù)的進(jìn)展來(lái)更新所述系統(tǒng)存儲(chǔ)器中的緩沖區(qū)位置;以及從所述系統(tǒng)存儲(chǔ)器中讀取所述緩沖區(qū)位置來(lái)確定所述音頻控制器使所述數(shù)據(jù)在所述緩沖區(qū)和所述音頻控制器之間流動(dòng)的進(jìn)展。
26.如權(quán)利要求25所述的機(jī)器可讀介質(zhì),其中響應(yīng)于所述多條指令的執(zhí)行,還導(dǎo)致所述計(jì)算設(shè)備從所述音頻控制器讀取鏈路位置,以確定所述音頻控制器使所述數(shù)據(jù)在所述編解碼器與所述音頻控制器之間流動(dòng)的進(jìn)展。
27.如權(quán)利要求25所述的機(jī)器可讀介質(zhì),其中響應(yīng)于所述多條指令的執(zhí)行,還導(dǎo)致所述計(jì)算設(shè)備在所述系統(tǒng)存儲(chǔ)器中分配所述緩沖區(qū),并且將緩沖區(qū)描述符列表存入所述系統(tǒng)存儲(chǔ)器中,以及配置所述音頻控制器,以根據(jù)所述緩沖區(qū)描述符列表傳輸所述數(shù)據(jù)。
28.如權(quán)利要求25所述的機(jī)器可讀介質(zhì),其中響應(yīng)于所述多條指令的執(zhí)行,還導(dǎo)致所述計(jì)算設(shè)備在所述系統(tǒng)存儲(chǔ)器中分配緩沖區(qū)中位置結(jié)構(gòu),以及進(jìn)行配置,以利用所述緩沖區(qū)位置更新所述緩沖區(qū)中位置結(jié)構(gòu)。
全文摘要
描述了用于使數(shù)據(jù)在編解碼器和系統(tǒng)存儲(chǔ)器中的緩沖區(qū)之間流動(dòng)以及用于在系統(tǒng)存儲(chǔ)器中維持指示緩沖區(qū)當(dāng)前位置的數(shù)值的機(jī)器可讀介質(zhì)、方法和設(shè)備。在一些實(shí)施方案中,音頻控制器經(jīng)由具有松散型排序規(guī)則的等時(shí)通道使數(shù)據(jù)流到系統(tǒng)存儲(chǔ)器中的緩沖區(qū)并且通過(guò)經(jīng)由所述等時(shí)通道對(duì)系統(tǒng)存儲(chǔ)器的寫(xiě)操作來(lái)更新指示當(dāng)前位置的值。
文檔編號(hào)G06F13/28GK1882927SQ200480034078
公開(kāi)日2006年12月20日 申請(qǐng)日期2004年11月10日 優(yōu)先權(quán)日2003年11月25日
發(fā)明者佐哈爾·博金, 布倫特·沙特蘭德, 小阿瑟·亨特 申請(qǐng)人:英特爾公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1