專利名稱:芯片組的數(shù)據(jù)鏈結(jié)層及用于其處理包的方法
技術(shù)領(lǐng)域:
本發(fā)明有關(guān)于芯片組,特別是有關(guān)于芯片組與處理器間的包傳輸。
背景技術(shù):
芯片組(Chipset)是一組被安置在主機(jī)板上的芯片,是主機(jī)板不可或缺的元件。芯片組的功能主要是作為處理器和其他周邊、零組件溝通的橋梁。處理器負(fù)責(zé)運(yùn)算和處理數(shù)據(jù),而處理器所需的數(shù)據(jù)或處理完成的數(shù)據(jù),都由芯片組負(fù)責(zé)轉(zhuǎn)換或傳遞。每一個(gè)處理器都需要有一套芯片組搭配,才能順利完成工作。
圖1為已知的一計(jì)算機(jī)系統(tǒng)100的區(qū)塊圖。計(jì)算機(jī)系統(tǒng)100包括芯片組102、處理器104、存儲(chǔ)器106、以及多個(gè)外圍設(shè)備112~116。處理器104負(fù)責(zé)處理整個(gè)計(jì)算機(jī)系統(tǒng)的數(shù)據(jù)。當(dāng)處理器104的運(yùn)算需要儲(chǔ)存數(shù)據(jù)時(shí),便儲(chǔ)存于存儲(chǔ)器106中。多個(gè)外圍設(shè)備112~116可為硬盤、光盤、鼠標(biāo)等等。當(dāng)處理器104欲存取外圍設(shè)備112~116時(shí),必須透過芯片組102以進(jìn)行存??;而外圍設(shè)備112~116欲傳送數(shù)據(jù)至處理器104時(shí),亦須透過芯片組102以進(jìn)行傳遞。因此芯片組與處理器間數(shù)據(jù)傳遞的效率對于處理器的效能影響很大。
圖2為計(jì)算機(jī)系統(tǒng)200的芯片組210與處理器240間進(jìn)行數(shù)據(jù)傳送的示意圖。芯片組210與處理器240間的數(shù)據(jù)傳送皆分工為多個(gè)階層,其中由底層至高層分別為實(shí)體層(physical layer)212及242、數(shù)據(jù)鏈結(jié)層(data link layer)214及244、傳輸層(transactionlayer)216及246。當(dāng)傳輸層將欲發(fā)送的數(shù)據(jù)包遞送至數(shù)據(jù)鏈結(jié)層時(shí),數(shù)據(jù)鏈結(jié)層會(huì)將傳輸層的數(shù)據(jù)包再拆解成為在實(shí)體網(wǎng)絡(luò)上可傳送的最小單位,往下交到實(shí)體層做實(shí)質(zhì)上的傳輸。
然而,芯片組210與處理器240間實(shí)體層的連線有時(shí)可能會(huì)中斷。此時(shí)芯片組210的傳輸層216便無法向數(shù)據(jù)鏈結(jié)層214傳送數(shù)據(jù)包,造成系統(tǒng)效能的下降。若于芯片組210與處理器240間實(shí)體層的連線中斷時(shí),讓芯片組210的傳輸層216可持續(xù)向數(shù)據(jù)鏈結(jié)層214傳送數(shù)據(jù)包,便可提升計(jì)算機(jī)系統(tǒng)整體的效能。因此,需要一種于芯片組與處理器間的連線中斷時(shí),仍舊可讓傳輸層持續(xù)向數(shù)據(jù)鏈結(jié)層傳送數(shù)據(jù)包的芯片組。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明的目的在于提供一種用于芯片組(chipset)的數(shù)據(jù)鏈結(jié)層(data link layer)處理包的方法,以解決已知技術(shù)存在的問題。若該數(shù)據(jù)鏈結(jié)層自該芯片組的一傳輸層收到包,便將包的種類存入一包種類隊(duì)列。若該芯片組與一處理器的連線中斷時(shí),分別計(jì)算該包種類隊(duì)列中各種類的包的第一數(shù)目。接著,當(dāng)該芯片組與該處理器的連線重建后,比較連線重建后該芯片組自該處理器首先收到的包的第二確認(rèn)序號(ACK serialnumber)與連線中斷前該芯片組最后自該處理器收到的包的第一確認(rèn)序號。若該第二確認(rèn)序號與該第一確認(rèn)序號不同,依據(jù)該第二確認(rèn)序號分別計(jì)算該包種類隊(duì)列中各種類的不需重發(fā)送的包的第二數(shù)目。最后,依據(jù)所述第一數(shù)目及所述第二數(shù)目向該處理器發(fā)送包。
本發(fā)明提供一種芯片組(chipset)的數(shù)據(jù)鏈結(jié)層(data linklayer)。該數(shù)據(jù)鏈結(jié)層包括一包種類隊(duì)列及一控制電路。若該數(shù)據(jù)鏈結(jié)層自該芯片組的一傳輸層收到包時(shí),便將包的種類存入其中。該控制電路,用以從該芯片組與一處理器的連線中斷時(shí)分別計(jì)算該包種類隊(duì)列中各種類的包的第一數(shù)目,當(dāng)該芯片組與該處理器的連線重建后比較連線重建后該芯片組自該處理器首先收到的包的第二確認(rèn)序號(ACK serial number)與連線中斷前該芯片組最后自該處理器收到的包的第一確認(rèn)序號,若該第二確認(rèn)序號與該第一確認(rèn)序號不同時(shí)依據(jù)該第二確認(rèn)序號分別計(jì)算該包種類隊(duì)列中各種類的不需重發(fā)送的包的第二數(shù)目,以及依據(jù)所述第一數(shù)目及所述第二數(shù)目向該處理器發(fā)送包。
本發(fā)明所述的芯片組的數(shù)據(jù)鏈結(jié)層及用于其處理包的方法,在芯片組與處理器間的連線中斷時(shí),芯片組的傳輸層仍可向數(shù)據(jù)鏈結(jié)層傳輸包,因此可增進(jìn)整體系統(tǒng)的效能。
圖1為已知的一計(jì)算機(jī)系統(tǒng)的區(qū)塊圖;圖2為計(jì)算機(jī)系統(tǒng)的芯片組與處理器間進(jìn)行數(shù)據(jù)傳送的示意圖;圖3為依據(jù)本發(fā)明的芯片組的區(qū)塊圖;圖4顯示依據(jù)本發(fā)明的包種類隊(duì)列的示意圖;圖5為依據(jù)本發(fā)明的芯片組的數(shù)據(jù)鏈結(jié)層于連線中斷時(shí)處理包的方法的流程圖。
具體實(shí)施例方式
為了讓本發(fā)明的上述和其他目的、特征和優(yōu)點(diǎn)能更明顯易懂,下文特舉數(shù)較佳實(shí)施例,并配合所附圖示,作詳細(xì)說明如下。
圖3為依據(jù)本發(fā)明的芯片組300的區(qū)塊圖。芯片組300包括實(shí)體層(physical layer)模塊312、數(shù)據(jù)鏈結(jié)層(data link layer)模塊314、以及傳輸層(transaction layer)316。當(dāng)芯片組300欲向處理器傳送數(shù)據(jù)時(shí),首先由芯片組300傳輸層模塊316向數(shù)據(jù)鏈結(jié)層模塊314傳送數(shù)據(jù)包。數(shù)據(jù)鏈結(jié)層模塊314將數(shù)據(jù)編碼、加框、偵錯(cuò),并進(jìn)行流程控制、錯(cuò)誤控制、鏈結(jié)順序控制和碼框同步等。接著再由實(shí)體層模塊312通過實(shí)體連線傳送數(shù)據(jù)至處理器。
數(shù)據(jù)鏈結(jié)層模塊314包括控制電路322、包種類隊(duì)列324、包數(shù)據(jù)隊(duì)列326。控制電路322控制數(shù)據(jù)鏈結(jié)層314的包的傳送流程。包種類隊(duì)列324儲(chǔ)存?zhèn)鬏攲?16發(fā)送至數(shù)據(jù)鏈結(jié)層314的包種類,而包數(shù)據(jù)隊(duì)列326儲(chǔ)存?zhèn)鬏攲?16發(fā)送至數(shù)據(jù)鏈結(jié)層314的包數(shù)據(jù)。數(shù)據(jù)鏈結(jié)層模塊314尚包括多個(gè)第一包種類計(jì)數(shù)器及多個(gè)第二包種類計(jì)數(shù)器(未圖示),用以依據(jù)包種類隊(duì)列324儲(chǔ)存的包種類分別計(jì)算各種類的包的數(shù)目。
于一實(shí)施例中,包種類隊(duì)列324中所儲(chǔ)存的包種類可分為4種,分別為讀取命令(read command)、寫入命令(writecommand)、讀取回應(yīng)命令(read response command)、回應(yīng)命令(response command)。舉例來說,當(dāng)圖1的芯片組102欲讀取存儲(chǔ)器106的數(shù)據(jù),便向處理器104發(fā)出讀取命令;當(dāng)圖1的芯片組102欲將數(shù)據(jù)寫入存儲(chǔ)器106,便向處理器104發(fā)出寫入命令。當(dāng)處理器104欲讀取外圍設(shè)備112~116的數(shù)據(jù),而芯片組102欲將外圍設(shè)備112~116的數(shù)據(jù)回傳至處理器,便向處理器104發(fā)出讀取回應(yīng)命令。另外,外圍設(shè)備112~116欲向處理器104發(fā)出一些信息時(shí),芯片組102便向處理器104發(fā)出回應(yīng)命令。例如,外圍設(shè)備112~116對處理器104發(fā)出的寫入命令配置成功時(shí),芯片組102便向處理器104發(fā)出回應(yīng)命令。于此情況下,第一包種類計(jì)數(shù)器及第二包種類計(jì)數(shù)器便各自包括讀取命令計(jì)數(shù)器、寫入命令計(jì)數(shù)器、讀取回應(yīng)命令計(jì)數(shù)器、回應(yīng)命令計(jì)數(shù)器,以分別計(jì)算各種類的包的數(shù)目。
圖4顯示依據(jù)本發(fā)明的包種類隊(duì)列400的示意圖。包種類隊(duì)列400包括存入隊(duì)列指標(biāo)402、取出隊(duì)列指標(biāo)404、第一指標(biāo)406、及第二指標(biāo)408等4個(gè)指標(biāo)。每當(dāng)控制電路312存入(push)一筆包種類至包種類隊(duì)列400,存入隊(duì)列指標(biāo)402便遞加一,以指向最后存入的一筆包種類。每當(dāng)控制電路312接收到處理器所回應(yīng)一相應(yīng)的確認(rèn)序號時(shí),取出隊(duì)列指標(biāo)404便等于該相應(yīng)的確認(rèn)序號,以指向尚未被確認(rèn)取出(pop)的頭一筆包種類。因此,自取出隊(duì)列指標(biāo)404起算至存入隊(duì)列指標(biāo)402兩者間的包種類,便是包種類隊(duì)列400中所儲(chǔ)存的所有包種類,如圖4中斜線部分所示。
圖5為依據(jù)本發(fā)明的芯片組的數(shù)據(jù)鏈結(jié)層于連線中斷時(shí)處理包的方法500的流程圖。此處將以圖3的芯片組300進(jìn)行說明。首先于步驟502中,每當(dāng)數(shù)據(jù)鏈結(jié)層314自傳輸層316接到一包,控制電路312便將包數(shù)據(jù)儲(chǔ)存于包數(shù)據(jù)隊(duì)列326中,同時(shí)控制電路312亦將包種類儲(chǔ)存于包種類隊(duì)列324中。無論芯片組300與處理器間的連線是否中斷,本發(fā)明不阻止傳輸層316繼續(xù)往數(shù)據(jù)鏈結(jié)層314輸送數(shù)據(jù)包。
若在步驟504中,被實(shí)體層312通知到芯片組300與處理器間的連線中斷時(shí),接著,控制電路322便可于步驟506中依據(jù)包種類隊(duì)列324中儲(chǔ)存的包種類計(jì)算所儲(chǔ)存的各種包的數(shù)目??刂齐娐?22首先將第一指標(biāo)406指向取出隊(duì)列指標(biāo)404的位置,此即包種類隊(duì)列400中儲(chǔ)存的第一筆包種類。接著,逐次將第一指標(biāo)406遞增至存入隊(duì)列指標(biāo)402的位置,此即包種類隊(duì)列400中儲(chǔ)存的最后一筆包種類。每當(dāng)?shù)谝恢笜?biāo)406增加一時(shí),控制電路322便將第一指標(biāo)406指到的包種類所對應(yīng)的第一包種類計(jì)數(shù)器中的值累加一,以分別累計(jì)各種類的包的數(shù)目。舉例來說,若第一指標(biāo)406指到的包種類為讀取命令,則第一讀取命令計(jì)數(shù)器的值便增加一;若第一指標(biāo)406指到的包種類為寫入命令,則第一寫入命令計(jì)數(shù)器的值便增加一。
當(dāng)各種包的數(shù)目累計(jì)完畢后,于芯片組300與處理器的連線建立的準(zhǔn)備期間,控制電路322必須暫時(shí)于步驟508中防止傳輸層316繼續(xù)向數(shù)據(jù)鏈結(jié)層314傳輸包,以防止于連線建立的準(zhǔn)備期間,各第一包種類計(jì)數(shù)器的包數(shù)目累計(jì)發(fā)生錯(cuò)誤。進(jìn)一步來說,芯片組300與處理器的連線建立的準(zhǔn)備期間,控制電路322防止傳輸層316繼續(xù)向數(shù)據(jù)鏈結(jié)層314傳輸包的時(shí)間需大于傳輸層316向數(shù)據(jù)鏈結(jié)層314傳輸包傳輸所需要的時(shí)間,即可防范各第一包種類計(jì)數(shù)器的包數(shù)目累計(jì)發(fā)生錯(cuò)誤。
接著,當(dāng)芯片組300與處理器的連線重新建立后,芯片組300便會(huì)與處理器開始相互傳輸包。芯片組300與處理器間傳輸?shù)陌瑫?huì)帶有一確認(rèn)序號(ACK serial number)。此時(shí)控制電路322便可于步驟510中記錄連線重建后自處理器收到的包的第二確認(rèn)序號,并將第二確認(rèn)序號與步驟504的連線中斷前芯片組300自處理器收到的包的第一確認(rèn)序號比較。若第二確認(rèn)序號與第一確認(rèn)序號相同,表示連線于步驟504中斷后,處理器未多傳送出確認(rèn)序號。因此控制電路322可于步驟516中直接以各第一包種類計(jì)數(shù)器所儲(chǔ)存的值作為數(shù)據(jù)鏈結(jié)層需向處理器發(fā)送的各種類包數(shù)目,并據(jù)此向處理器發(fā)送儲(chǔ)存于包數(shù)據(jù)隊(duì)列326中的包。
反之,若第二確認(rèn)序號與第一確認(rèn)序號不同,表示連線于步驟504中斷后,實(shí)體層312未收到處理器發(fā)出的確認(rèn)序號。也就是說,實(shí)體層312在連線中斷前發(fā)出的包已被處理器正確地接收,但隨后連線中斷,造成處理器發(fā)出的確認(rèn)序號未被實(shí)體層312所接收。因此控制電路322必須先自包數(shù)據(jù)隊(duì)列326中剔除多傳送的包,才可再向處理器發(fā)送包。此時(shí)控制電路322可于步驟512中先將第二指標(biāo)408指向取出隊(duì)列指標(biāo)404的位置,此即包種類隊(duì)列400中儲(chǔ)存的第一筆包種類。接著,逐次將第二指標(biāo)408遞增至第二確認(rèn)序號的包對應(yīng)的位置,此即應(yīng)自包種類隊(duì)列400中剔除的最后一筆包種類。每當(dāng)?shù)诙笜?biāo)408增加一時(shí),控制電路322便將第二指標(biāo)408指到的包種類所對應(yīng)的第二包種類計(jì)數(shù)器中的值累加一,以分別累計(jì)已于連線中斷前傳送而不需重新發(fā)送的各種類的包的數(shù)目。
此時(shí)各第一包計(jì)數(shù)器中已分別儲(chǔ)存了包種類隊(duì)列324中各種類包的總數(shù)目,而各第二包計(jì)數(shù)器中已分別儲(chǔ)存了應(yīng)自包種類隊(duì)列324中剔除的各種類包的數(shù)目。因此,控制電路322可于步驟514中以各第一包種類計(jì)數(shù)器中所儲(chǔ)存的值減去所對應(yīng)的第二包種類計(jì)數(shù)器中所儲(chǔ)存的值,作為數(shù)據(jù)鏈結(jié)層314需向處理器發(fā)送的各種類包數(shù)目,并據(jù)此向處理器發(fā)送儲(chǔ)存于包數(shù)據(jù)隊(duì)列326中的包。
本發(fā)明提供一種芯片組,即使在芯片組與處理器間的連線中斷時(shí),其傳輸層仍可向數(shù)據(jù)鏈結(jié)層傳輸包。通過于數(shù)據(jù)鏈結(jié)層增加包種類隊(duì)列以儲(chǔ)存包的種類及多個(gè)包種類計(jì)數(shù)器以計(jì)算各種類包的數(shù)目,可于連線重建后計(jì)算出應(yīng)重新發(fā)送的各種類包的數(shù)目,以作為包發(fā)送的依據(jù)。由于在芯片組與處理器間的連線中斷時(shí),芯片組的傳輸層仍可向數(shù)據(jù)鏈結(jié)層傳輸包,因此可增進(jìn)整體系統(tǒng)的效能。
經(jīng)由以上的實(shí)施例與其說明,對于本領(lǐng)域技術(shù)人員,可運(yùn)用電路設(shè)計(jì)軟件及現(xiàn)有技術(shù),將本發(fā)明的方法體現(xiàn)在控制電路。據(jù)此,以上所述僅為本發(fā)明較佳實(shí)施例,然其并非用以限定本發(fā)明的范圍,任何熟悉本項(xiàng)技術(shù)的人員,在不脫離本發(fā)明的精神和范圍內(nèi),可在此基礎(chǔ)上做進(jìn)一步的改進(jìn)和變化,因此本發(fā)明的保護(hù)范圍當(dāng)以本申請的權(quán)利要求書所界定的范圍為準(zhǔn)。
附圖中符號的簡單說明如下100計(jì)算機(jī)系統(tǒng)102芯片組
104處理器106存儲(chǔ)器112-116外圍設(shè)備210芯片組240處理器212、242實(shí)體層214、244數(shù)據(jù)鏈結(jié)層216、246傳輸層300芯片組312實(shí)體層314數(shù)據(jù)鏈結(jié)層316傳輸層322控制電路324包種類隊(duì)列326包數(shù)據(jù)隊(duì)列400包種類隊(duì)列402存入隊(duì)列指標(biāo)404取出隊(duì)列指標(biāo)406第一指標(biāo)408第二指標(biāo)
權(quán)利要求
1.一種用于芯片組的數(shù)據(jù)鏈結(jié)層處理包的方法,其特征在于,包括下列步驟若該數(shù)據(jù)鏈結(jié)層自該芯片組的一傳輸層收到包,便將包的種類存入一包種類隊(duì)列;若該芯片組與一處理器的連線中斷時(shí),分別計(jì)算該包種類隊(duì)列中各種類的包的第一數(shù)目;當(dāng)該芯片組與該處理器的連線重建后,比較連線重建后該芯片組自該處理器首先收到的包的第二確認(rèn)序號與連線中斷前該芯片組最后自該處理器收到的包的第一確認(rèn)序號;若該第二確認(rèn)序號與該第一確認(rèn)序號不同,依據(jù)該第二確認(rèn)序號分別計(jì)算該包種類隊(duì)列中各種類的不需重發(fā)送的包的第二數(shù)目;以及依據(jù)所述第一數(shù)目及所述第二數(shù)目向該處理器發(fā)送包。
2.根據(jù)權(quán)利要求1所述的用于芯片組的數(shù)據(jù)鏈結(jié)層處理包的方法,其特征在于,該方法更包括下列步驟當(dāng)該芯片組與一處理器的連線中斷時(shí),每當(dāng)該數(shù)據(jù)鏈結(jié)層自該傳輸層收到包,便將包的數(shù)據(jù)存入一包數(shù)據(jù)隊(duì)列;以及當(dāng)該芯片組與該處理器的連線重建后,自該包數(shù)據(jù)隊(duì)列取出包以向該處理器發(fā)送。
3.根據(jù)權(quán)利要求1所述的用于芯片組的數(shù)據(jù)鏈結(jié)層處理包的方法,其特征在于,該方法更包括下列步驟若該第二確認(rèn)序號與該第一確認(rèn)序號相同,向該處理器分別發(fā)送各種類的所述第一數(shù)目的包;若該第二確認(rèn)序號與該第一確認(rèn)序號不同,向該處理器分別發(fā)送各種類的由所述第一數(shù)目減去對應(yīng)的所述第二數(shù)目的包。
4.根據(jù)權(quán)利要求1所述的用于芯片組的數(shù)據(jù)鏈結(jié)層處理包的方法,其特征在于,該包種類隊(duì)列包括一存入隊(duì)列指標(biāo)及一取出隊(duì)列指標(biāo),該存入隊(duì)列指標(biāo)指向該包種類隊(duì)列中最后一個(gè)存入的包種類,而該取出隊(duì)列指標(biāo)指向該包種類隊(duì)列中最先一個(gè)存入且未被處理器確認(rèn)的包種類。
5.根據(jù)權(quán)利要求4所述的用于芯片組的數(shù)據(jù)鏈結(jié)層處理包的方法,其特征在于,所述第一數(shù)目的計(jì)算包括下列步驟以一第一指標(biāo)自該取出隊(duì)列指標(biāo)指向的包種類逐次遞增至該存入隊(duì)列指標(biāo)指向的包種類;以及每當(dāng)該第一指標(biāo)更換所指向的包種類時(shí),依據(jù)該第一指標(biāo)指向的包種類分別以多個(gè)第一包種類計(jì)數(shù)器累計(jì)各包種類,而得到所述第一數(shù)目。
6.根據(jù)權(quán)利要求4所述的用于芯片組的數(shù)據(jù)鏈結(jié)層處理包的方法,其特征在于,所述第二數(shù)目的計(jì)算包括下列步驟以一第二指標(biāo)自該取出隊(duì)列指標(biāo)指向的包種類逐次遞增至該第二確認(rèn)序號對應(yīng)的包的包種類;以及每當(dāng)該第二指標(biāo)更換所指向的包種類時(shí),依據(jù)該第二指標(biāo)指向的包種類分別以多個(gè)第二包種類計(jì)數(shù)器累計(jì)各包種類,而得到所述第二數(shù)目。
7.根據(jù)權(quán)利要求1所述的用于芯片組的數(shù)據(jù)鏈結(jié)層處理包的方法,其特征在于,該方法更包括于該芯片組與該處理器的連線建立的準(zhǔn)備期間,防止該傳輸層向該數(shù)據(jù)鏈結(jié)層傳輸包。
8.一種芯片組的數(shù)據(jù)鏈結(jié)層,其特征在于,包括一包種類隊(duì)列,若該數(shù)據(jù)鏈結(jié)層自該芯片組的一傳輸層收到包時(shí),便將包的種類存入其中;一包數(shù)據(jù)隊(duì)列,若該數(shù)據(jù)鏈結(jié)層自該芯片組的一傳輸層收到包時(shí),便將包的數(shù)據(jù)存入其中;一控制電路,用以從該芯片組與一處理器的連線中斷時(shí)分別計(jì)算該包種類隊(duì)列中各種類的包的第一數(shù)目,當(dāng)該芯片組與該處理器的連線重建后比較連線重建后該芯片組自該處理器首先收到的包的第二確認(rèn)序號與連線中斷前該芯片組最后自該處理器收到的包的第一確認(rèn)序號,若該第二確認(rèn)序號與該第一確認(rèn)序號不同時(shí)依據(jù)該第二確認(rèn)序號分別計(jì)算該包種類隊(duì)列中各種類的不需重發(fā)送的包的第二數(shù)目,以及依據(jù)所述第一數(shù)目及所述第二數(shù)目向該處理器發(fā)送包。
9.根據(jù)權(quán)利要求8所述的芯片組的數(shù)據(jù)鏈結(jié)層,其特征在于,若該第二確認(rèn)序號與該第一確認(rèn)序號相同,則該控制電路向該處理器分別發(fā)送各種類的所述第一數(shù)目的包,而若該第二確認(rèn)序號與該第一確認(rèn)序號不同,則該控制電路向該處理器分別發(fā)送各種類的由所述第一數(shù)目減去對應(yīng)的所述第二數(shù)目的包。
10.根據(jù)權(quán)利要求8所述的芯片組的數(shù)據(jù)鏈結(jié)層,其特征在于,該包種類隊(duì)列包括一存入隊(duì)列指標(biāo)及一取出隊(duì)列指標(biāo),該存入隊(duì)列指標(biāo)指向該包種類隊(duì)列中最后一個(gè)存入的包種類,而該取出隊(duì)列指標(biāo)指向該包種類隊(duì)列中最先一個(gè)存入且未被處理器確認(rèn)的包種類。
11.根據(jù)權(quán)利要求10所述的芯片組的數(shù)據(jù)鏈結(jié)層,其特征在于,該數(shù)據(jù)鏈結(jié)層更包括多個(gè)第一包種類計(jì)數(shù)器,該控制電路以一第一指標(biāo)自該取出隊(duì)列指標(biāo)指向的包種類逐次遞增至該存入隊(duì)列指標(biāo)指向的包種類,同時(shí)每當(dāng)該第一指標(biāo)更換所指向的包種類時(shí),所述第一包種類計(jì)數(shù)器依據(jù)該第一指標(biāo)指向的包種類分別累計(jì)各包種類,而得到所述第一數(shù)目;以及多個(gè)第二包種類計(jì)數(shù)器,該控制電路以一第二指標(biāo)自該取出隊(duì)列指標(biāo)指向的包種類逐次遞增至該第二確認(rèn)序號對應(yīng)的包的包種類,同時(shí)每當(dāng)該第二指標(biāo)更換所指向的包種類時(shí),所述第二包種類計(jì)數(shù)器依據(jù)該第二指標(biāo)指向的包種類分別累計(jì)各包種類,而得到所述第二數(shù)目。
全文摘要
本發(fā)明提供一種芯片組的數(shù)據(jù)鏈結(jié)層及用于其處理包的方法。首先,若該數(shù)據(jù)鏈結(jié)層自該芯片組的一傳輸層收到包,便將包的種類存入一包種類隊(duì)列。若該芯片組與一處理器的連線中斷時(shí),分別計(jì)算該包種類隊(duì)列中各種類的包的第一數(shù)目。接著,當(dāng)該芯片組與該處理器的連線重建后,比較連線重建后該芯片組自該處理器首先收到的包的第二確認(rèn)序號與連線中斷前該芯片組最后向該處理器發(fā)送的包的第一確認(rèn)序號。若該第二確認(rèn)序號與該第一確認(rèn)序號不同,依據(jù)該第二確認(rèn)序號分別計(jì)算該包種類隊(duì)列中各種類的不需重發(fā)送的包的第二數(shù)目。最后,依據(jù)所述第一數(shù)目及所述第二數(shù)目向該處理器發(fā)送包。本發(fā)明可增進(jìn)整體系統(tǒng)的效能。
文檔編號G06F13/42GK101082898SQ20071014370
公開日2007年12月5日 申請日期2007年7月30日 優(yōu)先權(quán)日2007年7月30日
發(fā)明者秦鵬, 張斌 申請人:威盛電子股份有限公司