欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

總線結(jié)構(gòu)中的死鎖避免的制作方法

文檔序號(hào):6655715閱讀:256來源:國(guó)知局
專利名稱:總線結(jié)構(gòu)中的死鎖避免的制作方法
技術(shù)領(lǐng)域
本發(fā)明大體上涉及總線結(jié)構(gòu)中的死鎖避免,且更明確地說,涉及集成電路之間的接口處的死鎖避免。
背景技術(shù)
沒有幾種應(yīng)用對(duì)計(jì)算機(jī)系統(tǒng)資源的著重程度會(huì)達(dá)到視頻的著重程度。視頻捕捉、編碼和類似物涉及計(jì)算機(jī)系統(tǒng)中各個(gè)電路之間(例如視頻捕捉卡、中央處理單元、圖形處理器、系統(tǒng)存儲(chǔ)器與其它電路之間)的數(shù)據(jù)的大量傳送。
通常,此數(shù)據(jù)在各種總線上移動(dòng),所述總線例如PCI總線、HyperTransportTM總線和類似物,其位于形成計(jì)算機(jī)系統(tǒng)的集成電路上及其之間。通常,先進(jìn)先出存儲(chǔ)器(first-in-first-out memory,F(xiàn)IFO)用于使這些電路彼此隔離,且減少它們之間的數(shù)據(jù)傳送的定時(shí)限制。
但這些FIFO消耗昂貴的集成電路晶粒面積和功率。因此,希望限制FIFO的深度。遺憾的是,這意味著這些FIFO可能被填滿,且不能夠容納進(jìn)一步的輸入,因此限制系統(tǒng)性能。
如果這些被填滿的FIFO位于形成回路的數(shù)據(jù)路徑中,那么尤其成問題。在那種情況下,回路中可能存在變成死鎖(即,無法接收或發(fā)送數(shù)據(jù))的處理器,例如圖形處理器,或其它電路。
舉例來說,這可在以下情況下發(fā)生。從電路接收數(shù)據(jù)的第一FIFO不能接收數(shù)據(jù),因?yàn)槠湟褲M。第一FIFO不能將數(shù)據(jù)發(fā)送到第二FIFO,因?yàn)榈诙﨔IFO也已滿。同樣,第二FIFO也不能發(fā)送數(shù)據(jù),因?yàn)槠湎胍獙?shù)據(jù)發(fā)送到電路,而電路也不能容納所述數(shù)據(jù),因?yàn)槠湔却龑?shù)據(jù)發(fā)送到第一FIFO。此組遺憾的事件可導(dǎo)致穩(wěn)定的死鎖情況。
因此,需要用于避免這些死鎖情況的電路、方法和裝置。雖然增加FIFO的尺寸可減輕一些死鎖情況,但仍然存在晶粒面積和功率方面的相關(guān)成本,且更深FIFO可能填滿的可能性仍然存在。因此,希望這些電路、方法和裝置不僅依靠將這些FIFO制造得更深且具有有限的復(fù)雜性。

發(fā)明內(nèi)容
因此,本發(fā)明的實(shí)施例提供用于避免死鎖情況的電路、裝置和方法。一個(gè)示范性實(shí)施例提供地址解碼器,用于確定所接收到的投遞式寫入請(qǐng)求是否為對(duì)等請(qǐng)求。如果是,那么將所述請(qǐng)求轉(zhuǎn)換成非投遞式寫入請(qǐng)求。維持并不超過對(duì)待決非投遞式請(qǐng)求的數(shù)目的限制,從而避免死鎖。通過從所發(fā)送的非投遞式請(qǐng)求的數(shù)目中減去所接收到的響應(yīng)的數(shù)目來跟蹤待決非投遞式請(qǐng)求的數(shù)目。
另一示范性實(shí)施例不將所接收到的投遞式請(qǐng)求轉(zhuǎn)換成非投遞式請(qǐng)求,而是提供判優(yōu)器,其跟蹤待決投遞式請(qǐng)求的數(shù)目。當(dāng)待決投遞式請(qǐng)求的數(shù)目(例如,F(xiàn)IFO或隊(duì)列中的待決請(qǐng)求的數(shù)目)達(dá)到預(yù)定或可編程水平(其為低水位標(biāo)記)時(shí),將阻斷對(duì)等信號(hào)發(fā)送給判優(yōu)器的客戶機(jī)。這阻止數(shù)據(jù)回路中的FIFO被填滿,因此避免死鎖。當(dāng)判優(yōu)器接收到指示待決投遞式請(qǐng)求的數(shù)目低于此水平的響應(yīng)或信號(hào)時(shí),移除阻斷對(duì)等信號(hào),且可再次準(zhǔn)許對(duì)等請(qǐng)求?;蛘?,可跟蹤待決對(duì)等請(qǐng)求的數(shù)目,且當(dāng)達(dá)到預(yù)定或可編程水平時(shí),確定阻斷對(duì)等信號(hào)。與本發(fā)明一致的電路、方法和裝置可包含本文所述的這些或其它實(shí)施例中的一者或兩者。
本發(fā)明的又一示范性實(shí)施例提供一種傳送數(shù)據(jù)的方法。此方法包括接收傳送請(qǐng)求;確定所述傳送請(qǐng)求是否為到存儲(chǔ)器位置的寫入,如果傳送請(qǐng)求為到存儲(chǔ)器位置的寫入,那么將傳送請(qǐng)求作為投遞式請(qǐng)求來發(fā)送,否則確定投遞式請(qǐng)求先進(jìn)先出存儲(chǔ)器中的可用傳送請(qǐng)求入口的數(shù)目,且如果可用的傳送請(qǐng)求入口的數(shù)目大于第一數(shù)目,那么將傳送請(qǐng)求作為投遞式請(qǐng)求來發(fā)送,否則等待將傳送請(qǐng)求作為投遞式請(qǐng)求來發(fā)送。
本發(fā)明的又一示范性實(shí)施例提供傳送數(shù)據(jù)的另一方法。此方法包括維持第一數(shù)目的令牌;接收復(fù)數(shù)個(gè)投遞式請(qǐng)求,如果第一數(shù)目的令牌的剩余數(shù)目小于第一數(shù)目,那么將復(fù)數(shù)個(gè)投遞式請(qǐng)求中的一者作為非投遞式請(qǐng)求來轉(zhuǎn)發(fā),否則不將復(fù)數(shù)個(gè)投遞式請(qǐng)求中的一者作為非投遞式請(qǐng)求來轉(zhuǎn)發(fā)。
本發(fā)明的又一示范性實(shí)施例提供一種集成電路。此集成電路包括判優(yōu)器,其經(jīng)配置以跟蹤投遞式請(qǐng)求FIFO中的可用入口的數(shù)目;復(fù)數(shù)個(gè)客戶機(jī),其耦接到所述判優(yōu)器;和HyperTransport總線,其耦接到所述判優(yōu)器,其中判優(yōu)器從復(fù)數(shù)個(gè)客戶機(jī)接收對(duì)等請(qǐng)求,且將投遞式請(qǐng)求提供到投遞式請(qǐng)求FIFO,且當(dāng)投遞式請(qǐng)求FIFO中的可用入口的數(shù)目等于第一數(shù)目時(shí),那么阻止復(fù)數(shù)個(gè)客戶機(jī)發(fā)送對(duì)等請(qǐng)求。
參考以下詳細(xì)描述和附圖,可獲得對(duì)本發(fā)明的性質(zhì)和優(yōu)勢(shì)的更好理解。


圖1是得益于包含本發(fā)明實(shí)施例的計(jì)算系統(tǒng)的方框圖;圖2是得益于包含本發(fā)明實(shí)施例的經(jīng)改進(jìn)的計(jì)算系統(tǒng)的方框圖;
圖3是圖2的經(jīng)改進(jìn)的計(jì)算處理系統(tǒng)的簡(jiǎn)化方框圖;圖4是圖2的經(jīng)改進(jìn)的計(jì)算系統(tǒng)的又一簡(jiǎn)化方框圖,其說明從視頻捕捉卡到系統(tǒng)存儲(chǔ)器的寫入路徑;圖5是包含本發(fā)明實(shí)施例的圖2的經(jīng)改進(jìn)的計(jì)算系統(tǒng)的簡(jiǎn)化方框圖;圖6是進(jìn)一步描述本發(fā)明的具體實(shí)施例的流程圖;圖7是包含本發(fā)明實(shí)施例的圖2的經(jīng)改進(jìn)的計(jì)算系統(tǒng)的簡(jiǎn)化方框圖;和圖8是進(jìn)一步描述本發(fā)明的具體實(shí)施例的流程圖。
具體實(shí)施例方式
圖1是得益于納入本發(fā)明實(shí)施例的計(jì)算系統(tǒng)100的方框圖。此計(jì)算系統(tǒng)100包括北橋110、圖形加速器120、南橋130、幀緩沖器140、中央處理單元(CPU)150、音頻卡160、以太網(wǎng)卡162、調(diào)制解調(diào)器164、USB卡166、圖形卡168、PCI插槽170和存儲(chǔ)器105。此圖與所有所包括的圖式一樣,僅出于說明性目的而展示,且不限制本發(fā)明的可能實(shí)施例或權(quán)利要求書。
北橋110將信息從CPU150傳遞到存儲(chǔ)器105、圖形加速器120和南橋130,且從所述三者將信息傳遞至CPU150。南橋130通過例如通用串行總線(USB)卡166和以太網(wǎng)卡162等連接而介接到外部通信系統(tǒng)。圖形加速器120經(jīng)由加速的圖形端口(AGP)總線125通過北橋110從CPU150及直接從存儲(chǔ)器或幀緩沖器140接收?qǐng)D形信息。圖形加速器120與幀緩沖器140介接。幀緩沖器140可包括顯示緩沖器,其存儲(chǔ)要顯示的像素。
在此結(jié)構(gòu)中,CPU150執(zhí)行此計(jì)算系統(tǒng)所需要的大量處理任務(wù)。具體而言,圖形加速器120依靠CPU150建立計(jì)算且計(jì)算幾何值。同樣,音頻或聲卡160依靠CPU150來處理音頻數(shù)據(jù)、位置計(jì)算和各種效果,例如合唱、混響、干擾、阻塞等等,所有都是同時(shí)進(jìn)行的。此外,CPU150仍然對(duì)與可能正在運(yùn)行的應(yīng)用程序有關(guān)的其它指令負(fù)責(zé),且對(duì)連接到南橋130的各種外圍設(shè)備的控制負(fù)責(zé)。
圖2是得益于納入本發(fā)明實(shí)施例的經(jīng)改進(jìn)計(jì)算系統(tǒng)的方框圖。此方框圖包括組合的處理器與北橋210、媒體控制處理器240和系統(tǒng)存儲(chǔ)器270。出于示范性目的,此方框圖中還包括視頻捕捉卡280。
組合的處理器與北橋210包括中央處理單元212、FIFO216、多路復(fù)用器222、輸出緩沖器224(包括用于投遞式請(qǐng)求的一者226、用于非投遞式請(qǐng)求的一者228和用于響應(yīng)的一者230)、輸入FIFO232(包括用于投遞式請(qǐng)求的輸入FIFO234、用于非投遞式請(qǐng)求的輸入FIFO236和用于響應(yīng)的輸入FIFO238)、地址解碼器220、對(duì)等FIFO218和存儲(chǔ)器控制器214。
媒體控制處理器包括輸入FIFO242(用于投遞式請(qǐng)求的244、用于非投遞式請(qǐng)求的246和用于響應(yīng)的248)、集成圖形處理器252、判優(yōu)器250和PCI到PCI橋260。組合的CPU與北橋210通過HyperTransport總線290和295與媒體控制處理器240通信。系統(tǒng)存儲(chǔ)器270通過存儲(chǔ)器接口總線272耦接到存儲(chǔ)器控制器214,而視頻捕捉卡280通過PCI總線282連接到PCI到PCI橋260。
在本發(fā)明的具體實(shí)施例中,組合的CPU與北橋210形成于第一集成電路上,而媒體控制處理器240形成于第二集成電路上。在另一實(shí)施例中,圖形處理器252并不集成在媒體控制處理器上,而是通過高級(jí)圖形處理器(AGP)總線與媒體控制處理器240通信的分離的集成電路。在其它實(shí)施例中,這各種功能可以其它方式來劃分,且集成于通過各種總線通信的不同數(shù)目的集成電路上。
數(shù)據(jù)和請(qǐng)求通過總線在這些集成電路和集成電路塊之間移動(dòng),在寫入請(qǐng)求的情況下,電路請(qǐng)求允許其將數(shù)據(jù)放置在總線上,且準(zhǔn)許所述請(qǐng)求。數(shù)據(jù)可作為投遞式請(qǐng)求來發(fā)送,其中不需要響應(yīng),或作為非投遞式請(qǐng)求來發(fā)送,在這種情況下,需要響應(yīng)。在其目標(biāo)電路處已經(jīng)完成寫入后,將響應(yīng)發(fā)送回到發(fā)送電路。
如圖所示,這些不同交易、投遞式請(qǐng)求、非投遞式請(qǐng)求和響應(yīng)存儲(chǔ)在分離的FIFO中。這些分離的FIFO可具有相同尺寸,或其可具有不同尺寸。另外,各個(gè)FIFO可具有不同尺寸。在一個(gè)具體實(shí)施例中,非投遞式請(qǐng)求FIFO236具有6個(gè)入口、對(duì)等FIFO218具有兩個(gè)入口且非投遞式請(qǐng)求FIFO228具有16個(gè)入口。在各個(gè)實(shí)施例中,對(duì)等FIFO218可為用于存儲(chǔ)投遞式和非投遞式請(qǐng)求和響應(yīng)的一個(gè)FIFO,或?qū)Φ菷IFO218可為用于存儲(chǔ)不同類型的交易的分離的FIFO。關(guān)于所述各種類型的請(qǐng)求和對(duì)等交易的更多信息可在HyperTransport規(guī)范中找到,所述HyperTransport規(guī)范最近由HyperTransportConsortium出版了1.05版本,其以引用的方式并入本文中。
在此新穎結(jié)構(gòu)中,圖形處理器已經(jīng)變成與系統(tǒng)存儲(chǔ)器分離。此分離導(dǎo)致可形成回路且因此變成被死鎖的數(shù)據(jù)路徑。具體地說,來自CPU212和視頻捕捉卡280的數(shù)據(jù)傳送可填充各個(gè)FIFO。
在圖2中所示的配置中,CPU212利用以下路徑寫入到系統(tǒng)存儲(chǔ)器270中的幀緩沖器。CPU212在線213上將請(qǐng)求(數(shù)據(jù))提供到FIFO216。FIFO216將數(shù)據(jù)提供到多路復(fù)用器222,多路復(fù)用器222又將數(shù)據(jù)提供到輸出緩沖器224。緩沖器224通過HyperTransport總線290將數(shù)據(jù)提供到FIFO242,F(xiàn)IFO242又將數(shù)據(jù)提供到圖形總線252。圖形處理器252在線254上將請(qǐng)求提供到判優(yōu)器250。判優(yōu)器250通過HyperTransport總線295將請(qǐng)求提供回到FIFO232。FIFO232將請(qǐng)求提供到地址解碼器220,地址解碼器220又將它們提供到存儲(chǔ)器控制器214。存儲(chǔ)器控制器214通過存儲(chǔ)器接口總線272寫入到系統(tǒng)存儲(chǔ)器270。
同樣在此配置中,視頻捕捉卡218利用以下路徑將數(shù)據(jù)寫入到系統(tǒng)存儲(chǔ)器270中的幀緩沖器。視頻捕捉卡280在PCI總線282上將數(shù)據(jù)提供到PCI到PCI橋260。PCI到PCI橋260將數(shù)據(jù)提供到判優(yōu)器250,判優(yōu)器250又通過HyperTransport總線295將請(qǐng)求提供到FIFO232。FIFO232將請(qǐng)求提供到地址解碼器220,地址解碼器220又將其提供到對(duì)等FIFO218。對(duì)等FIFO218將數(shù)據(jù)提供到多路復(fù)用器222,多路復(fù)用器222又將其提供到輸出緩沖器224。輸出緩沖器224將數(shù)據(jù)提供到FIFO242,F(xiàn)IFO242又將其提供到圖形處理器252。
接著,圖形處理器252利用以下路徑寫入到系統(tǒng)存儲(chǔ)器270中的幀緩沖器。圖形處理器252在線254上將經(jīng)修改的請(qǐng)求提供到判優(yōu)器250。判優(yōu)器250通過HyperTransport總線295將數(shù)據(jù)提供到FIFO232。FIFO232將數(shù)據(jù)提供到地址解碼器220。此時(shí),地址解碼器查看由圖形處理器252提供的新地址,且又將請(qǐng)求提供到存儲(chǔ)器控制器214。接著,存儲(chǔ)器控制器214通過存儲(chǔ)器接口總線272將數(shù)據(jù)寫入到系統(tǒng)存儲(chǔ)器270。
由此可見,此錯(cuò)綜復(fù)雜的路徑總共三次交叉HyperTransport接口總線290和295。尤其在CPU212和視頻捕捉卡280寫入到系統(tǒng)存儲(chǔ)器270中的幀緩沖器的情形下,F(xiàn)IFO242、232和218可能變滿,即不能夠容納進(jìn)一步的輸入。在此情況下,可能出現(xiàn)這樣的情形圖形處理器252試圖將數(shù)據(jù)寫入到系統(tǒng)存儲(chǔ)器270中的幀緩沖器,但其無法寫入,因?yàn)榕袃?yōu)器250不會(huì)準(zhǔn)許圖形處理器252訪問HyperTransport總線295。同樣,接收FIFO232不能輸出數(shù)據(jù),因?yàn)閷?duì)等FIFO218已滿。另外,對(duì)等FIFO218不能輸出數(shù)據(jù),因?yàn)槊襟w控制處理器輸入FIFO242同樣也是滿的。在此情形下,總線結(jié)構(gòu)被死鎖且達(dá)到不合需要的穩(wěn)定狀態(tài)。
圖3是圖2的經(jīng)改進(jìn)的計(jì)算處理系統(tǒng)的簡(jiǎn)化方框圖。所述經(jīng)改進(jìn)的計(jì)算處理系統(tǒng)包括組合的CPU與北橋310、媒體控制處理器340、系統(tǒng)存儲(chǔ)器370和視頻捕捉卡380。組合的CPU與北橋310包括發(fā)射器312和接收器314,而媒體控制處理器包括接收器342、發(fā)射器344、圖形處理器346和PCI到PCI橋348。系統(tǒng)存儲(chǔ)器370通過存儲(chǔ)器接口總線372與組合的CPU與北橋通信。在此特定實(shí)例中,包括視頻捕捉卡380,其通過PCI總線382與媒體控制處理器通信。
圖4是圖2的經(jīng)改進(jìn)的計(jì)算系統(tǒng)的另一簡(jiǎn)化方框圖,其說明從視頻捕捉卡480到系統(tǒng)存儲(chǔ)器470的寫入路徑。此方框圖包括組合的CPU與北橋410、媒體控制處理器440、系統(tǒng)存儲(chǔ)器470和視頻捕捉卡480。組合的CPU與北橋電路包括發(fā)射器412和接收器414。媒體控制處理器包括接收器442、發(fā)射器444、圖形處理器446和PCI到PCI橋448。
視頻捕捉卡480將請(qǐng)求提供到PCI到PCI橋448,PCI到PCI橋448又將它們提供到發(fā)射器444。發(fā)射器444將請(qǐng)求發(fā)送到接收器414,接收器414又將它們提供到發(fā)射器412。發(fā)射器412將這些請(qǐng)求發(fā)送到接收器442,接收器442繼續(xù)將它們傳遞到圖形處理器446。圖形處理器446通過將數(shù)據(jù)作為請(qǐng)求發(fā)送到發(fā)射器444來將數(shù)據(jù)寫入到系統(tǒng)存儲(chǔ)器,發(fā)射器444又將數(shù)據(jù)提供到接收器414。接著,接收器414將數(shù)據(jù)寫入到系統(tǒng)存儲(chǔ)器470。
由此可見,在此過程期間,請(qǐng)求從發(fā)射器444到接收器414交叉兩次。這就是出現(xiàn)死鎖的潛在位置。具體地說,在死鎖情況下,圖形處理器不能將請(qǐng)求發(fā)送到發(fā)射器444,因?yàn)榘l(fā)射器不能發(fā)送到接收器414,原因在于其相關(guān)FIFO已滿。圖形處理器不能接受新的請(qǐng)求,因?yàn)槠湔却郎?zhǔn)許其自己的請(qǐng)求。因此,不能耗盡接收器442中的FIFO。此同樣會(huì)造成死鎖情況,產(chǎn)生不合需要的穩(wěn)定狀態(tài)。
圖5是納入本發(fā)明實(shí)施例的圖2經(jīng)改進(jìn)計(jì)算系統(tǒng)的簡(jiǎn)化方框圖。此方框圖包括組合的CPU與北橋510、媒體控制處理器540、系統(tǒng)存儲(chǔ)器570和視頻卡580。組合的CPU與北橋510包括發(fā)射器512和接收器514。媒體控制處理器540包括接收器542、發(fā)射器544、圖形處理器546和PCI到PCI橋548。PCI到PCI橋548進(jìn)一步包括地址解碼器562。
視頻捕捉卡580將投遞式請(qǐng)求提供到PCI到PCI橋548。PCI到PCI橋548中的地址解碼器562確定此投遞式請(qǐng)求為對(duì)等請(qǐng)求,且將其轉(zhuǎn)換成非投遞式請(qǐng)求并將其傳遞到發(fā)射器544。發(fā)射器544將此請(qǐng)求作為非投遞式請(qǐng)求來發(fā)送,將此非投遞式請(qǐng)求發(fā)送到接收器514。接著,接收器514將此請(qǐng)求發(fā)送到發(fā)射器512,其將所述請(qǐng)求傳遞到接收器542。接收器542又將此請(qǐng)求提供到圖形處理器546。
接著,圖形處理器546將所述請(qǐng)求作為投遞式請(qǐng)求而反射回發(fā)射器544的上游,所述投遞式請(qǐng)求在系統(tǒng)存儲(chǔ)器570中的幀緩沖器中具有地址。圖形處理器還發(fā)出“目標(biāo)完成”的完成響應(yīng)。組合的CPU與北橋510從反射器544接收此投遞式請(qǐng)求和響應(yīng)。此投遞式請(qǐng)求發(fā)送到系統(tǒng)存儲(chǔ)器570,且此響應(yīng)發(fā)送回到媒體控制處理器540且在此處由PCI到PCI橋548接收。
在此實(shí)施例中,待決非投遞式請(qǐng)求的數(shù)目被限于某一數(shù)目“N”,例如1,且當(dāng)達(dá)到此數(shù)目時(shí),不再將進(jìn)一步的非投遞式請(qǐng)求提供到發(fā)射器544。具體地說,隨著非投遞式請(qǐng)求被發(fā)送,計(jì)數(shù)在PCI到PCI橋548的地址解碼器部分562中遞增。隨著響應(yīng)由PCI到PCI橋548接收,此計(jì)數(shù)遞減。當(dāng)達(dá)到所述計(jì)數(shù)時(shí),地址解碼器562會(huì)阻止進(jìn)一步的非投遞式請(qǐng)求。這避免了上文所述的死鎖情況。
圖6是進(jìn)一步描述本發(fā)明的此具體實(shí)施例的流程圖。在步驟610中,從視頻捕捉卡接收投遞式請(qǐng)求。在步驟620中,解碼與所述請(qǐng)求相關(guān)聯(lián)的地址,且確定所述請(qǐng)求是否為對(duì)等或待寫入到系統(tǒng)存儲(chǔ)器。如果所述請(qǐng)求并非對(duì)等請(qǐng)求,即其為待寫入系統(tǒng)存儲(chǔ)器的數(shù)據(jù),那么在步驟680中將其作為投遞式請(qǐng)求來發(fā)送。如果所述請(qǐng)求為對(duì)等請(qǐng)求,那么在步驟630中將所述請(qǐng)求轉(zhuǎn)換成非投遞式請(qǐng)求。在步驟640中,確定待決非投遞式請(qǐng)求的數(shù)目是否等于可允許待決非投遞式請(qǐng)求的預(yù)定或可編程數(shù)目,例如1或另一數(shù)目,在步驟650中。如果計(jì)數(shù)未達(dá)到此數(shù)目“N”,那么在步驟660中,可將請(qǐng)求作為非投遞式請(qǐng)求來發(fā)送,且在步驟670中,計(jì)數(shù)遞增1。然而,如果計(jì)數(shù)已經(jīng)達(dá)到“N”,那么在步驟650中,請(qǐng)求被停止且不被準(zhǔn)許,以便避免死鎖情況。當(dāng)非投遞式請(qǐng)求完成時(shí),接收響應(yīng)且計(jì)數(shù)遞減。
返回圖2,我們可以更詳細(xì)地看到此實(shí)施例如何實(shí)施。視頻捕捉卡280在PCI總線282上將投遞式請(qǐng)求提供到PCI到PCI橋260。PCI到PCI橋260中的地址解碼器確定所述請(qǐng)求是否為到系統(tǒng)存儲(chǔ)器270的寫入。如果是,那么將所述請(qǐng)求傳遞到判優(yōu)器250,判優(yōu)器250將其放置在投遞式請(qǐng)求FIFO234中,投遞式請(qǐng)求FIFO234將所述請(qǐng)求轉(zhuǎn)發(fā)到存儲(chǔ)器控制器214,存儲(chǔ)器控制器214將所述請(qǐng)求寫入到系統(tǒng)存儲(chǔ)器270。
如果投遞式請(qǐng)求為對(duì)等請(qǐng)求,即其并非要直接寫入到系統(tǒng)存儲(chǔ)器270,而是去往同等電路,例如圖形處理器252,那么由PCI到PCI橋260中的地址解碼器(或其它電路)將投遞式請(qǐng)求轉(zhuǎn)換成非投遞式請(qǐng)求。此非投遞式請(qǐng)求從判優(yōu)器250發(fā)送到非投遞式請(qǐng)求FIFO236,再到對(duì)等FIFO218。接著,非投遞式請(qǐng)求經(jīng)由總線290到達(dá)圖形處理器252。圖形處理器將請(qǐng)求轉(zhuǎn)換回投遞式請(qǐng)求,且還發(fā)出響應(yīng)。將投遞式請(qǐng)求傳遞到存儲(chǔ)器控制器214,存儲(chǔ)器控制器214將數(shù)據(jù)寫入到系統(tǒng)存儲(chǔ)器270,而響應(yīng)由PCI到PCI橋260接收。
PCI到PCI橋260中的解碼器還保持對(duì)待決非投遞式請(qǐng)求的數(shù)目的跟蹤,且一旦其已經(jīng)確定已達(dá)到待決非投遞式請(qǐng)求的預(yù)定或可編程數(shù)目,就不將非投遞式請(qǐng)求發(fā)送到非投遞式請(qǐng)求FIFO236。
圖7是包含本發(fā)明實(shí)施例的圖2的經(jīng)改進(jìn)的計(jì)算系統(tǒng)的簡(jiǎn)化方框圖。此方框圖包括組合的CPU與北橋710、媒體控制處理器740、系統(tǒng)存儲(chǔ)器770和視頻捕捉卡780。組合的CPU與北橋710包括發(fā)射器712和接收器714。媒體控制處理器740包括接收器742、發(fā)射器744、圖形處理器746和PCI到PCI總線748。發(fā)射器744進(jìn)一步包括判優(yōu)器745。
將由視頻捕捉卡780提供的投遞式請(qǐng)求提供到PCI到PCI橋748,其將它們傳遞到判優(yōu)器745。判優(yōu)器跟蹤在接收器714處待決的投遞式請(qǐng)求(或者,對(duì)等請(qǐng)求)。當(dāng)某一數(shù)目的投遞式請(qǐng)求保持待決時(shí),判優(yōu)器745將阻斷對(duì)等信號(hào)發(fā)出到其客戶機(jī),例如圖形處理器746和PCI到PCI橋748。在此情況下,不再有進(jìn)一步的對(duì)等請(qǐng)求發(fā)送到判優(yōu)器745,直到判優(yōu)器745接收到指示接收器714投遞式請(qǐng)求FIFO中存在空間的響應(yīng)為止。
如果阻斷對(duì)等信號(hào)未被確定,那么將投遞式請(qǐng)求提供到發(fā)射器744,發(fā)射器744將其發(fā)送到接收器714。接收器714經(jīng)由發(fā)射器712將所述投遞式請(qǐng)求發(fā)送到接收器742。接收器742將投遞式請(qǐng)求傳遞到圖形處理器746。圖形處理器746又將投遞式請(qǐng)求傳遞到發(fā)射器744,再到接收器714,接收器714將投遞式請(qǐng)求提供到系統(tǒng)存儲(chǔ)器770。
圖8是進(jìn)一步描述本發(fā)明的此具體實(shí)施例的流程圖。在步驟810中,判優(yōu)器(例如)從視頻捕捉卡接收投遞式請(qǐng)求。在步驟820中,判優(yōu)器確定所述投遞式請(qǐng)求是否為對(duì)等請(qǐng)求。如果不是,那么在步驟830中,將數(shù)據(jù)作為投遞式寫入請(qǐng)求來發(fā)送。如果是,那么在步驟840中,確定FIFO是否低于其低水位標(biāo)記,或者阻斷對(duì)等信號(hào)或狀態(tài)是否已被確定。如果此為真,那么在步驟850中,判優(yōu)器等待入口以在投遞式寫入FIFO中變得可用。在某一點(diǎn)處,投遞式寫入FIFO提供輸出,因此釋放入口。此時(shí),判優(yōu)器發(fā)布阻斷對(duì)等信號(hào),且在步驟830中將數(shù)據(jù)發(fā)送到投遞式寫入FIFO。
返回圖2,我們可以更詳細(xì)地看到此實(shí)施例如何實(shí)施。視頻捕捉卡280在PCI總線282上將投遞式請(qǐng)求提供到PCI到PCI橋260。PCI到PCI橋260將這些請(qǐng)求傳遞到判優(yōu)器250。判優(yōu)器對(duì)投遞式請(qǐng)求FIFO236中的待決投遞式請(qǐng)求的數(shù)目(或者,待決對(duì)等請(qǐng)求的數(shù)目,或FIFO218中的投遞式請(qǐng)求的數(shù)目)保持跟蹤。當(dāng)投遞式請(qǐng)求FIFO236中的待決投遞式請(qǐng)求的數(shù)目達(dá)到預(yù)定或可編程水平時(shí),判優(yōu)器250將阻斷對(duì)等信號(hào)傳播到圖形處理器252、PCI到PCI橋260和其它客戶電路。這阻止那些電路發(fā)送進(jìn)一步的對(duì)等請(qǐng)求,因此避免死鎖情況。
當(dāng)待決投遞式請(qǐng)求的數(shù)目低于此低水位標(biāo)記時(shí),將投遞式請(qǐng)求發(fā)送到投遞式請(qǐng)求FIFO234。接著,通過對(duì)等FIFO218、多路復(fù)用器222、FIFO226和224將投遞式請(qǐng)求發(fā)送到圖形處理器252。接著,圖形處理器將地址轉(zhuǎn)換成系統(tǒng)存儲(chǔ)器地址270,且將投遞式請(qǐng)求轉(zhuǎn)發(fā)到判優(yōu)器250。判優(yōu)器250將投遞式請(qǐng)求傳遞到投遞式請(qǐng)求FIFO234,再到存儲(chǔ)器控制器214,存儲(chǔ)器控制器214將數(shù)據(jù)寫入到系統(tǒng)存儲(chǔ)器270。
在一個(gè)實(shí)施例中,在加電時(shí),判優(yōu)器250接收若干令牌,例如6個(gè)令牌。當(dāng)判優(yōu)器將對(duì)等投遞式請(qǐng)求提供到投遞式請(qǐng)求FIFO234時(shí),其發(fā)送這些令牌中的一者。當(dāng)投遞式請(qǐng)求FIFO輸出對(duì)等投遞式請(qǐng)求時(shí),判優(yōu)器接收令牌。如果令牌的計(jì)數(shù)下降到低水位標(biāo)記(例如1),那么判優(yōu)器250確定阻斷對(duì)等信號(hào)。當(dāng)接收到令牌時(shí),移除阻斷對(duì)等信號(hào)。
已經(jīng)出于說明和描述的目的呈現(xiàn)了本發(fā)明示范性實(shí)施例的以上描述內(nèi)容。不希望其為詳盡的或?qū)⒈景l(fā)明限于所述的精確形式,且根據(jù)上文的教示,可能存在很多修改和改變。為了最好地闡釋本發(fā)明的原理和其實(shí)際應(yīng)用,選擇并描述了實(shí)施例,從而使所屬領(lǐng)域的技術(shù)人員能夠在各種實(shí)施例中以適合于所涵蓋的特定用途的各種修改來利用本發(fā)明。
權(quán)利要求
1.一種傳送數(shù)據(jù)的方法,其包含接收一傳送請(qǐng)求;確定所述傳送請(qǐng)求是否為一到一存儲(chǔ)器位置的寫入;如果所述傳送請(qǐng)求為一到一存儲(chǔ)器位置的寫入,那么將所述傳送請(qǐng)求作為一投遞式請(qǐng)求來發(fā)送;否則確定一投遞式寫入先進(jìn)先出存儲(chǔ)器中的可用傳送請(qǐng)求入口的一數(shù)目;且如果可用傳送請(qǐng)求入口的所述數(shù)目大于一第一數(shù)目;那么將所述傳送請(qǐng)求作為一投遞式請(qǐng)求來發(fā)送,否則等待將所述傳送請(qǐng)求作為一投遞式請(qǐng)求來發(fā)送。
2.根據(jù)權(quán)利要求1所述的方法,其中所述傳送請(qǐng)求由一視頻捕捉卡做出。
3.根據(jù)權(quán)利要求1所述的方法,其中所述傳送請(qǐng)求由一圖形處理器做出。
4.根據(jù)權(quán)利要求1所述的方法,其中所述傳送請(qǐng)求在一HyperTransport總線上發(fā)送。
5.根據(jù)權(quán)利要求1所述的方法,其中待決投遞式請(qǐng)求的所述數(shù)目由一判優(yōu)器來確定。
6.根據(jù)權(quán)利要求1所述的方法,其中所述第一數(shù)目為可編程的。
7.根據(jù)權(quán)利要求1所述的方法,其中所述第一數(shù)目具有一數(shù)值1。
8.一種傳送數(shù)據(jù)的方法,其包含維持一第一數(shù)目的令牌;接收復(fù)數(shù)個(gè)投遞式請(qǐng)求;如果所述第一數(shù)目的令牌的一剩余數(shù)目小于一第一數(shù)目,那么將所述復(fù)數(shù)個(gè)投遞式請(qǐng)求中的一個(gè)作為一非投遞式請(qǐng)求來轉(zhuǎn)發(fā),否則不將所述復(fù)數(shù)個(gè)投遞式請(qǐng)求中的所述一個(gè)作為一非投遞式請(qǐng)求來轉(zhuǎn)發(fā)。
9.根據(jù)權(quán)利要求8所述的方法,其中令牌的所述第一數(shù)目為1。
10.根據(jù)權(quán)利要求8所述的方法,其中令牌的所述第一數(shù)目由一地址解碼器來維持。
11.根據(jù)權(quán)利要求8所述的方法,其進(jìn)一步包含從一待決非投遞式請(qǐng)求接收一響應(yīng);和使可用令牌的所述數(shù)目遞增1。
12.根據(jù)權(quán)利要求11所述的方法,其進(jìn)一步包含當(dāng)令牌的所述數(shù)目遞增到所述第一數(shù)目之上時(shí),那么將所述復(fù)數(shù)個(gè)投遞式請(qǐng)求中的所述一個(gè)作為一非投遞式請(qǐng)求來轉(zhuǎn)發(fā)。
13.一種集成電路,其包含一判優(yōu)器,其經(jīng)配置以跟蹤一投遞式請(qǐng)求FIFO中的可用入口的一數(shù)目;復(fù)數(shù)個(gè)耦接到所述判優(yōu)器的客戶機(jī);和一耦接到所述判優(yōu)器的HyperTransport總線;其中所述判優(yōu)器從所述復(fù)數(shù)個(gè)客戶機(jī)接收對(duì)等請(qǐng)求,且將投遞式請(qǐng)求提供到所述投遞式請(qǐng)求FIFO,且當(dāng)所述投遞式請(qǐng)求FIFO中的可用入口的所述數(shù)目等于一第一數(shù)目時(shí),那么阻止所述復(fù)數(shù)個(gè)客戶機(jī)發(fā)送對(duì)等請(qǐng)求。
14.根據(jù)權(quán)利要求13所述的集成電路,其中所述復(fù)數(shù)個(gè)客戶機(jī)包括一圖形處理器。
15.根據(jù)權(quán)利要求14所述的集成電路,其中所述復(fù)數(shù)個(gè)客戶機(jī)進(jìn)一步包括一PCI到PCI橋。
16.根據(jù)權(quán)利要求13所述的集成電路,其中對(duì)于每個(gè)被準(zhǔn)許的投遞式請(qǐng)求,待決對(duì)等請(qǐng)求的所述數(shù)目都遞增1。
17.根據(jù)權(quán)利要求16所述的集成電路,其中對(duì)于由一接收FIFO提供的每個(gè)對(duì)等請(qǐng)求,待決對(duì)等請(qǐng)求的所述數(shù)目都遞減1。
18.根據(jù)權(quán)利要求13所述的集成電路,其進(jìn)一步包含當(dāng)待決對(duì)等請(qǐng)求的所述數(shù)目小于所述第一數(shù)目時(shí),允許所述數(shù)目的客戶機(jī)發(fā)出一對(duì)等請(qǐng)求。
19.根據(jù)權(quán)利要求18所述的集成電路,其中所述第一數(shù)目為1。
全文摘要
本發(fā)明提供用于在一總線結(jié)構(gòu)中避免死鎖情況的電路、裝置和方法。一個(gè)示范性實(shí)施例提供一種地址解碼器,用于確定一所接收到的投遞式請(qǐng)求是否為一對(duì)等請(qǐng)求。如果是,那么所述投遞式請(qǐng)求作為一非投遞式請(qǐng)求而發(fā)送。維持并不超過對(duì)待決非投遞式請(qǐng)求的數(shù)目的限制,從而避免死鎖。另一示范性實(shí)施例提供一種判優(yōu)器,其跟蹤待決投遞式請(qǐng)求的數(shù)目。當(dāng)待決投遞式請(qǐng)求的數(shù)目達(dá)到預(yù)定或可編程水平時(shí),將一阻斷對(duì)等信號(hào)發(fā)送給所述判優(yōu)器的客戶機(jī),從而再次避免死鎖。
文檔編號(hào)G06F13/40GK1981273SQ200580014340
公開日2007年6月13日 申請(qǐng)日期2005年4月1日 優(yōu)先權(quán)日2004年4月1日
發(fā)明者戴維·G·里德 申請(qǐng)人:輝達(dá)公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
昆明市| 玉龙| 文山县| 宁乡县| 罗源县| 吉隆县| 金乡县| 郴州市| 明溪县| 比如县| 万宁市| 旅游| 兴业县| 琼海市| 宣武区| 吉安县| 沐川县| 六安市| 太保市| 延庆县| 娱乐| 镇康县| 亳州市| 裕民县| 平昌县| 应城市| 揭东县| 永清县| 聊城市| 光泽县| 永福县| 静宁县| 隆化县| 高清| 汝州市| 普洱| 平乡县| 安义县| 嘉祥县| 岳西县| 淮北市|