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

流控制初始化方法和信息處理裝置的制作方法

文檔序號(hào):6655625閱讀:169來源:國(guó)知局
專利名稱:流控制初始化方法和信息處理裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及用于初始化流控制的信息處理裝置與方法,具體而言,涉及具有用于初始化高速串行總線的流控制的部件的信息處理裝置和用于初始化高速串行總線的流控制的方法。
背景技術(shù)
近年來,信息處理裝置中中央處理單元(CPU)的處理速度已經(jīng)顯著提高。
隨著CPU處理速度的提高,連接各種類型設(shè)備與CPU的數(shù)據(jù)總線的數(shù)據(jù)傳輸速率也提高了。
信息處理裝置的數(shù)據(jù)總線可以分成三類超高速數(shù)據(jù)總線、高速數(shù)據(jù)總線和低速數(shù)據(jù)總線。
對(duì)于互連CPU與主存儲(chǔ)器單元的數(shù)據(jù)總線,需要最高速度。這種總線稱為“超高速數(shù)據(jù)總線”,還稱為“存儲(chǔ)器總線”或“處理器總線”。
對(duì)于互連CPU與圖形控制單元的數(shù)據(jù)總線,需要高速,其中圖形控制單元控制信息處理裝置的顯示和例如硬盤的高速外圍單元。這種總線稱為“高速數(shù)據(jù)總線”。
互連CPU與例如鍵盤、鼠標(biāo)和軟盤驅(qū)動(dòng)器的低速外圍單元的數(shù)據(jù)總線稱為“低速數(shù)據(jù)總線”。
數(shù)據(jù)傳輸方法包括并行傳輸數(shù)據(jù)位信號(hào)的并行傳輸方法(用于這種方法的數(shù)據(jù)總線稱為并行總線)和串行傳輸位信號(hào)的串行傳輸方法(用于這種方法的數(shù)據(jù)總線稱為串行總線)??偟膩碚f,超高速數(shù)據(jù)總線和高速數(shù)據(jù)總線采用并行傳輸方法,而低速數(shù)據(jù)總線采用串行傳輸方法。
這些數(shù)據(jù)總線中每一種的速度都提高了。特別地,需要高速數(shù)據(jù)總線進(jìn)一步的加速,因?yàn)橛糜诶鐖D形控制單元或LAN卡的連接到高速數(shù)據(jù)總線的設(shè)備的傳輸數(shù)據(jù)量已經(jīng)顯著地增加了。
已知的高速數(shù)據(jù)總線是采用并行傳輸方法的并行總線,例如PCI總線。為了提高并行總線的數(shù)據(jù)傳輸速率,位寬度,即同時(shí)發(fā)送的信號(hào)個(gè)數(shù),必須擴(kuò)展且傳輸時(shí)鐘頻率必須提高。
例如,PCI總線的傳輸速率已經(jīng)通過將位寬度從16位擴(kuò)展到32位,現(xiàn)在是64位,提高了。
此外,傳輸時(shí)鐘頻率已經(jīng)從例如33MHz提高到66MHz,現(xiàn)在是133MHz。
但是,并行總線傳輸速率的提高造成以下問題(1)在并行傳輸方法中,數(shù)據(jù)位必須在并行信號(hào)線上同時(shí)傳輸并且必須與傳輸時(shí)鐘同步地同時(shí)接收。但是,隨著傳輸時(shí)鐘速度的提高,并行數(shù)據(jù)每個(gè)位信號(hào)的延遲時(shí)間變得更加關(guān)鍵。因此,并行傳輸?shù)臄?shù)據(jù)位不能始終被同時(shí)接收;(2)在并行傳輸方法中,所有位信號(hào)都在物理上靠近的線上傳輸。因此,每個(gè)位信號(hào)都受來自其它位信號(hào)的噪聲影響。在相對(duì)低的傳輸時(shí)鐘頻率,這種噪聲問題不會(huì)發(fā)生。但是,在高傳輸時(shí)鐘頻率,噪聲問題是關(guān)鍵的。
由于這些問題,并行傳輸方法中傳輸速率的提高是有限的。
為了實(shí)現(xiàn)傳輸速率的進(jìn)一步提高,推薦了串行傳輸方法的數(shù)據(jù)傳輸,如在非專利文獻(xiàn)1中所公開的。根據(jù)這種串行傳輸方法,上述問題(1)和(2)不會(huì)發(fā)生。因此,傳輸時(shí)鐘可以提高到非常高的頻率,例如每秒2.5G位(Gbps),從而提高了數(shù)據(jù)傳輸速率。
此外,在串行傳輸方法中,數(shù)據(jù)傳輸啟動(dòng)設(shè)備與目標(biāo)設(shè)備之間的多個(gè)串行傳輸線可以提供數(shù)據(jù)傳輸速率的進(jìn)一步提高。
“PCI ExpressTMBase Specification Revision1.0a”,[在線],2003年4月15日,PCI-SIG,2004年2月從因特網(wǎng)上檢索的<URLhttp//www/pcisig.com/specifications/pciexpress/>
如上所述,高速串行總線越來越多地用作信息處理裝置的數(shù)據(jù)總線。例如,使用遵循PCI ExpressTM規(guī)范的總線?!癙CI Express”是PCI特殊利益團(tuán)體(PCI-SIG)的商標(biāo)。
盡管這種高速串行總線可以通過稱為開關(guān)的設(shè)備連接到多個(gè)外圍設(shè)備,但這些連接基本上是點(diǎn)到點(diǎn)的連接。
在點(diǎn)到點(diǎn)的數(shù)據(jù)傳輸中,為了防止目標(biāo)設(shè)備中所傳輸數(shù)據(jù)的溢出,數(shù)據(jù)的傳輸速受到控制。如果溢出有可能發(fā)生,則數(shù)據(jù)傳輸常常停止。這稱為流控制。
但是,已知的PCI ExpressTM的流控制技術(shù)具有流控制的初始化處理依賴于組件的類型與設(shè)置可能不能完成的缺點(diǎn)。

發(fā)明內(nèi)容
因此,本發(fā)明的一個(gè)目的是提供用于高速串行總線的改進(jìn)的流控制方法并提供具有用于執(zhí)行流控制的部件的信息處理裝置。
根據(jù)本發(fā)明,在用于初始化第一組件與第二組件之間流控制的方法中,第一組件通過串行總線連接到第二組件,第一組件以第一組件的第一初始化模式發(fā)送第一第一組件初始值并以第一組件的第二初始化模式發(fā)送第二第一組件初始值,而第二組件以第二組件的第一初始化模式發(fā)送第一第二組件初始值并以第二組件的第二初始化模式發(fā)送第二第二組件初始值。該方法包括使第一組件進(jìn)入第一初始化模式的第一步驟;使第一組件向第二組件發(fā)送第一第一組件初始值的第二步驟;當(dāng)?shù)谝唤M件從第二組件接收到第一第二組件初始值或第二第二組件初始值時(shí),使第一組件進(jìn)入第二初始化模式的第三步驟;使第一組件向第二組件發(fā)送第二第一組件初始值的第四步驟;當(dāng)?shù)谝唤M件從第二組件接收到第二第二組件初始值、第二組件流控制值或第二組件數(shù)據(jù)時(shí),使第一組件進(jìn)入初始化完成模式的第五步驟;及使第一組件向第二組件發(fā)送至少一次第一組件流控制值和第一組件數(shù)據(jù)中的至少一個(gè)的第六步驟。
根據(jù)本發(fā)明,信息處理裝置包括第一組件;通過串行總線連接到第一組件的第二組件;用于初始化第一組件和第二組件之間流控制的初始化部件,其中第一組件以第一組件的第一初始化模式發(fā)送第一第一組件初始值并以第一組件的第二初始化模式發(fā)送第二第一組件初始值,而第二組件以第二組件的第一初始化模式發(fā)送第一第二組件初始值并以第二組件的第二初始化模式發(fā)送第二第二組件初始值;用于使第一組件進(jìn)入第一初始化模式的部件;用于使第一組件向第二組件發(fā)送第一第一組件初始值的部件;用于當(dāng)?shù)谝唤M件從第二組件接收到第一第二組件初始值或者第二第二組件初始值時(shí),使第一組件進(jìn)入第二初始化模式的部件;用于使第一組件向第二組件發(fā)送第二第一組件初始值的部件;用于當(dāng)?shù)谝唤M件從第二組件接收到第二第二組件初始值、第二組件流控制值或者第二組件數(shù)據(jù)時(shí),使第一組件進(jìn)入初始化完成模式的部件;及用于使第一組件向第二組件發(fā)送至少一次第一組件流控制值和第一組件數(shù)據(jù)中的至少一個(gè)的部件。


圖1是根據(jù)本發(fā)明第一實(shí)施方式的信息處理裝置的外視圖;圖2示出了根據(jù)本發(fā)明的信息處理裝置的硬件體系結(jié)構(gòu)的例子;圖3A和3B示出了用于解釋根據(jù)本發(fā)明的流控制初始化處理的串行總線的基本組件;圖4是用于解釋在根據(jù)本發(fā)明的流控制初始化處理中包創(chuàng)建步驟的第一個(gè)圖;圖5是用于解釋在根據(jù)本發(fā)明的流控制初始化處理中包創(chuàng)建步驟的第二個(gè)圖;圖6A和6B是用于解釋在根據(jù)本發(fā)明的流控制初始化處理中數(shù)據(jù)鏈路層包(DLLP)的圖;圖7是已知的流控制初始化處理的流程圖;圖8是用于顯示已知的流控制初始化處理中缺點(diǎn)的圖;圖9示出了根據(jù)本發(fā)明第一實(shí)施方式的流控制的初始化處理;圖10示出了根據(jù)本發(fā)明第二實(shí)施方式的流控制的初始化處理;及圖11示出了根據(jù)本發(fā)明第三實(shí)施方式的流控制的初始化處理。
具體實(shí)施例方式
以下將參考附圖描述根據(jù)本發(fā)明用于流控制的初始化方法和信息處理裝置的實(shí)施方式。
圖1是根據(jù)本發(fā)明第一實(shí)施方式的具有用于執(zhí)行流控制的部件的信息處理裝置的外視圖。
信息處理裝置1包括例如薄盒子一樣的主體2和連接到主體2的面板單元3,從而可以打開和關(guān)閉。
在主體2的上表面布置了鍵盤4和電源開關(guān)5。鍵盤4用于操作信息處理裝置1并向信息處理裝置1輸入各種類型的數(shù)據(jù)。
面板單元3包括用于顯示各種類型字符和圖形信息的顯示器6。顯示器6包括例如液晶顯示器(LCD)。
根據(jù)本發(fā)明,信息處理裝置1的外視圖不限于圖1所示的那種。信息處理裝置1可以具有任何形狀與大小。而且,可以不包括例如面板單元3或鍵盤4的某個(gè)部分。
圖2示出了信息處理裝置1的硬件體系結(jié)構(gòu)的例子。
信息處理裝置1的關(guān)鍵部分是中央處理單元(CPU)10,CPU 10執(zhí)行信息處理裝置1各種類型的控制并執(zhí)行數(shù)據(jù)的處理與計(jì)算。CPU10通過CPU總線11連接到根復(fù)合體12。CPU總線11通常是并行總線。
主存儲(chǔ)器13臨時(shí)存儲(chǔ)各種類型的程序與數(shù)據(jù)。主存儲(chǔ)器13通過存儲(chǔ)器總線14連接到根復(fù)合體12。存儲(chǔ)器總線14通常也是并行總線。
根復(fù)合體12將CPU總線11的總線信號(hào)轉(zhuǎn)換成存儲(chǔ)器總線14的總線信號(hào),反之亦然。這種功能與總線信號(hào)轉(zhuǎn)換芯片集的功能一樣,總線信號(hào)轉(zhuǎn)換芯片集是由主要用于轉(zhuǎn)換總線信號(hào)的LSI組成的電路,稱為北橋或存儲(chǔ)器橋。
根復(fù)合體12的另一關(guān)鍵特征是通過將CPU總線11的總線信號(hào)轉(zhuǎn)換成高速串行總線15的信號(hào),它允許CPU總線11通過單個(gè)或多個(gè)根端口12a與信息處理裝置1的每個(gè)設(shè)備通信。
在此,高速串行總線12遵循例如在非專利文獻(xiàn)1中公開的PCIExpressTM規(guī)范。
根復(fù)合體12通過高速串行總線15連接到圖形控制器16,然后連接到顯示器6。
而且,根復(fù)合體12通過高速串行總線15連接到開關(guān)17。盡管在圖2中示出了兩個(gè)開關(guān)17,但根復(fù)合體12可以連接到一個(gè)或多于兩個(gè)開關(guān)。
開關(guān)17還連接到多個(gè)端點(diǎn)18或PCI橋19。
圖2示出但不限于高速串行總線15的連接的例子。要點(diǎn)是可以實(shí)現(xiàn)根復(fù)合體12在頂端的層次連接結(jié)構(gòu)。例如,層次連接結(jié)構(gòu)可以通過將另一開關(guān)17連接到開關(guān)17來擴(kuò)展。
如在此所使用的,端點(diǎn)18是層次連接結(jié)構(gòu)中用于通過高速串行總線15連接的端點(diǎn)組件的通用術(shù)語。
因此,端點(diǎn)18可以是任何類型的組件。例如,端點(diǎn)18可以是輔助存儲(chǔ)設(shè)備,如硬盤驅(qū)動(dòng)器(HDD)??蛇x地,端點(diǎn)18可以是包括CD-ROM驅(qū)動(dòng)器和DVD驅(qū)動(dòng)器的驅(qū)動(dòng)器或者局域網(wǎng)(LAN)接口。即,端點(diǎn)18通常指處于層次連接結(jié)構(gòu)端點(diǎn)的組件。
高速串行總線15可以通過PCI橋19連接到已知的PCI總線槽20,各種類型的PCI設(shè)備都可以連接到PCI總線槽20。
盡管圖2示出了其中除CPU總線11和存儲(chǔ)器總線14以外的所有組件都通過高速串行總線15彼此連接的層次連接結(jié)構(gòu),但如USB總線和PCI總線的各種其它類型的組件也可以混合在層次連接結(jié)構(gòu)中。
如圖2所示,高速串行總線15以點(diǎn)到點(diǎn)方式連接特定的組件與特定的組件。例如,兩個(gè)特定的組件是根復(fù)合體12和圖形控制器16??蛇x地,兩個(gè)特定的組件可以是開關(guān)17和端點(diǎn)18。
本發(fā)明涉及高速串行總線15的總線通信,具體而言,涉及通信流控制的初始化方法,而不涉及高速串行總線15的所有特征。因此,連接到高速串行總線15的組件可以是任何類型。
因此,在下文中,連接到高速串行總線15的兩個(gè)組件中的一個(gè)稱為第一組件,而另一組件稱為第二組件。關(guān)于高速串行總線15通信的流控制的初始化方法,兩個(gè)組件執(zhí)行相同的功能。為了簡(jiǎn)單,以下將只描述第一組件。
圖3A和3B示出了高速串行總線15的基本配置的組件?;九渲冒ǖ谝唤M件21、第二組件22和連接第一組件21與第二組件22的高速串行總線15。
高速串行總線15是雙向的串行總線。雙向通信的速度是相同的,例如2.5Gbps。
如圖3B所示,基本硬盤配置包括兩條傳輸線15a和兩條傳輸線15b,第一組件21在傳輸線15a上以差分傳輸策略向第二組件22發(fā)送信號(hào),第一組件21在傳輸線15b上以差分傳輸策略從第二組件22接收信號(hào)。這四條傳輸線構(gòu)成雙向串行總線的一個(gè)單元。該單元稱為巷(lane)。
兩個(gè)組件可以由多個(gè)巷連接。這多個(gè)巷稱為鏈接。
高速串行總線15發(fā)送一連串預(yù)定長(zhǎng)度的位,作為一組。這個(gè)組稱為包。
包的概念對(duì)于高速串行總線15的傳輸方法是必須的。因此,以下將參考圖4和5示意性地描述這個(gè)概念。
圖4示出了第一組件21與第二組件22之間的信息流。這種信息包括例如預(yù)定的指令、預(yù)定的存儲(chǔ)器地址和各種類型的數(shù)據(jù)。
例如,第一組件21是圖2所示的根復(fù)合體12,而第二組件22是存儲(chǔ)設(shè)備,CPU 10將數(shù)據(jù)寫到存儲(chǔ)設(shè)備中。在這種情況下,根復(fù)合體12從CPU 10接收指令(寫指令)、存儲(chǔ)設(shè)備的存儲(chǔ)器地址和要寫的數(shù)據(jù),然后向存儲(chǔ)設(shè)備,即第二組件22,發(fā)送這種信息。
當(dāng)發(fā)送數(shù)據(jù)時(shí),數(shù)據(jù)被分成包。包是在以下三個(gè)通信層中創(chuàng)建的事務(wù)層、數(shù)據(jù)鏈路層和物理層。
包分成兩種類型。一種類型的包是稱為事務(wù)層包(TLP)的包,它主要是在事務(wù)層創(chuàng)建的。例如,指令、存儲(chǔ)器地址和要寫的數(shù)據(jù)被分成預(yù)定義長(zhǎng)度的數(shù)據(jù),以便創(chuàng)建TLP。
從第一組件發(fā)送的數(shù)據(jù)被分成稱為TLP1的包(第一組件數(shù)據(jù))。從第二組件發(fā)送的數(shù)據(jù)被分成稱為TLP2的包(第二組件數(shù)據(jù))。
其它類型的包是稱為數(shù)據(jù)鏈路層包(DLLP)的包,它是在數(shù)據(jù)鏈路層獨(dú)立創(chuàng)建的。
DLLP是用于流控制的包,即用于控制兩個(gè)組件之間數(shù)據(jù)流發(fā)送的包。
TLP和DLLP是以時(shí)間復(fù)用的方式在兩個(gè)組件的物理層之間發(fā)送的。
圖5示出了TLP和DLLP如何在三個(gè)層中創(chuàng)建的處理。為了創(chuàng)建TLP,要發(fā)送的數(shù)據(jù)在事務(wù)層中被分成預(yù)定長(zhǎng)度的數(shù)據(jù)(最大4K字節(jié)),并創(chuàng)建包括具有指令和地址的頭的第一包。
隨后,指示所劃分包的編號(hào)的順序號(hào)和將用于檢測(cè)發(fā)送錯(cuò)誤的循環(huán)冗余校驗(yàn)碼(CRC)位在數(shù)據(jù)鏈路層中添加到包。
最后,在物理層,在包的前面和后面添加一幀,以獲得TLP。
相反,DLLP是在數(shù)據(jù)鏈路層中獨(dú)立創(chuàng)建的用于流控制的包。DLLP包括4字節(jié)的DLLP數(shù)據(jù)和2字節(jié)的CRC。在物理層,在包的前面和后面添加1字節(jié)的幀。DLLP的長(zhǎng)度總共是8個(gè)字節(jié),而且不管DLLP數(shù)據(jù)的內(nèi)容是什么,它都保持不變。
當(dāng)?shù)诙M件22檢測(cè)到從第一組件21發(fā)送的TLP1中的錯(cuò)誤時(shí),第二組件22向第一組件21返回錯(cuò)誤檢測(cè)的指示(Nak)和出錯(cuò)TLP1的順序號(hào)。當(dāng)沒有檢測(cè)到錯(cuò)誤時(shí),第二組件22向第一組件21返回肯定確認(rèn)(Ack)和所接收TLP1的順序號(hào)。在接收到Nak的情況下,第一組件21重新向第二組件22發(fā)送具有相同順序號(hào)的TLP1。
在高速串行總線15的傳輸方法中,基于信用(credit)的流控制通過使用DLLP進(jìn)一步執(zhí)行。
圖6是用于解釋基于信用的流控制概念的圖。
詞“基于信用”意味著啟動(dòng)組件基于目標(biāo)組件的“信用”執(zhí)行流控制。
更具體而言,目標(biāo)組件的“信用”是基于目標(biāo)組件的接收緩沖區(qū)中剩余的容量確定的。高信用指其中目標(biāo)組件在接收緩沖區(qū)中具有足夠容量的狀態(tài),而低信用指其中目標(biāo)組件在接收緩沖區(qū)中具有小的剩余容量的狀態(tài)。
當(dāng)目標(biāo)組件的接收緩沖區(qū)中剩余的容量變小時(shí),啟動(dòng)組件臨時(shí)停止發(fā)送數(shù)據(jù),以防止目標(biāo)組件的接收緩沖區(qū)中數(shù)據(jù)的溢出。
為了實(shí)現(xiàn)這種流控制,啟動(dòng)組件必須在數(shù)據(jù)發(fā)送過程中以時(shí)間為基礎(chǔ)接收目標(biāo)組件的接收緩沖區(qū)中剩余的容量。
DLLP用于這種功能。通過使用DLLP,組件接收緩沖區(qū)中剩余的容量返回到另一端的組件。
圖6B示出了初始化完成后的數(shù)據(jù)發(fā)送狀態(tài)。第一組件21將其接收緩沖區(qū)21b中剩余的容量嵌入到DLLP數(shù)據(jù)中并發(fā)送DLLP數(shù)據(jù)。這種DLLP數(shù)據(jù)稱為第一組件流控制值(簡(jiǎn)寫為FC1)。FC1和TLP1以時(shí)間復(fù)用的方式發(fā)送到第二組件22。類似地,第二組件22將其接收緩沖區(qū)22b中剩余的容量嵌入到DLLP數(shù)據(jù)中并發(fā)送。這種DLLP數(shù)據(jù)稱為第二組件流控制值(簡(jiǎn)寫為FC2)。FC2和TLP2以時(shí)間復(fù)用的方式發(fā)送到第一組件21。
圖6A示出了兩個(gè)組件開始數(shù)據(jù)發(fā)送之前的初始化狀態(tài)。由于這是數(shù)據(jù)發(fā)送之前的狀態(tài),因此兩個(gè)組件的接收緩沖區(qū)中剩余的容量都顯示完全容量。
流控制的初始化意味著啟動(dòng)組件向目標(biāo)組件發(fā)送其接收緩沖區(qū)中的完全容量并接收目標(biāo)組件的接收緩沖區(qū)中的完全容量。在第一組件21向第二組件22發(fā)送其接收緩沖區(qū)21b中的完全容量并從第二組件22接收第二組件22的接收緩沖區(qū)22b中的完全容量后,第二組件22的初始化完成。
兩個(gè)初始化不一定要同時(shí)開始。為了確保這種情況下正確的初始化,每個(gè)初始化都有兩個(gè)步驟第一初始化模式和第二初始化模式。
在第一組件21的第一初始化模式中,要發(fā)送到第二組件22的接收緩沖區(qū)21b的完全容量稱為第一第一組件初始值(簡(jiǎn)寫為“FC(I)11”)。
在第一組件21的第二初始化模式中,要發(fā)送到第二組件22的接收緩沖區(qū)21b的完全容量稱為第二第一組件初始值(簡(jiǎn)寫為“FC(I)21”)。盡管包FC(I)11和FC(I)21的類型不同,但數(shù)據(jù)的內(nèi)容是相同的,即接收緩沖區(qū)21b的完全容量。
類似地,在第二組件22的第一初始化模式中,要發(fā)送到第一組件21的接收緩沖區(qū)22b的完全容量稱為第一第二組件初始值(簡(jiǎn)寫為“FC(I)12”)。
而且,在第二組件22的第二初始化模式中,要發(fā)送到第一組件21的接收緩沖區(qū)22b的完全容量稱為第二第二組件初始值(簡(jiǎn)寫為“FC(I)22”)。
此外,F(xiàn)C(I)12和FC(I)22包含相同的數(shù)據(jù),即接收緩沖區(qū)22b的完全容量。
圖7是在非專利文獻(xiàn)1中公開的已知流控制初始化處理的流程圖。盡管圖7是用于第一組件21的流程圖,但這個(gè)圖也示出了用于第二組件22的流程圖。
首先,第一組件21等待從例如上級(jí)軟件傳送的初始化命令(步驟S1)。例如,當(dāng)信息處理裝置1上電時(shí),初始化命令傳送到第一組件21和第二組件22及在本例中還有其它組件對(duì)。
此外,例如,當(dāng)?shù)诙M件連接到上電的信息處理裝置1時(shí),即,當(dāng)?shù)诙M件熱插到信息處理裝置1時(shí),初始化命令傳送到兩個(gè)組件。
當(dāng)接收到初始化命令時(shí),第一組件21進(jìn)入第一初始化模式,然后向第二組件22發(fā)送FC(I)11(步驟S2)。
第一組件21以預(yù)定間隔發(fā)送FC(I)11。因此,確定預(yù)定間隔是否到了。如果預(yù)定間隔已經(jīng)到了(在步驟S3“是”的情況下),則FC(I)11重新發(fā)送。
如果在預(yù)定間隔到了之前(在步驟S3“否”的情況下)第一組件21從第二組件22接收到FC(I)12或FC(I)22(在步驟S4“是”的情況下),第一組件21進(jìn)入第二初始化模式。
另一方面,如果第一組件21沒有接收到FC(I)12或FC(I)22(在步驟S4“否”的情況下),則第一組件21停留在第一初始化模式,直到第一組件21接收到FC(I)12或FC(I)22,同時(shí)繼續(xù)以預(yù)定間隔發(fā)送FC(I)12。
在第二初始化模式,第一組件21向第二組件22發(fā)送FC(I)21(步驟S5)。FC(I)21也以預(yù)定的時(shí)間間隔發(fā)送(步驟S6)。
在第二初始化模式,當(dāng)接收到FC(I)22、FC2或TLP2(在步驟S7“是”的情況下)時(shí),第一組件21的初始化處理完成(步驟S8)。
另一方面,如果第一組件21既沒有接收到FC(I)22、FC2,也沒有接收到TLP2(在步驟S7“否”的情況下),則第一組件21停留在第二初始化模式,直到第一組件21接收到FC(I)22、FC2或TLP2,同時(shí)繼續(xù)以預(yù)定間隔發(fā)送FC(I)21。
換句話說,第一組件21的初始化處理直到接收到FC(I)22、FC2或TLP2才完成。
圖8示出了第一組件21和第二組件22的遵循圖7所示流程圖的初始化處理的三種情況。
在圖8所示的情況(a)下,初始化命令基本上同時(shí)傳送到第一組件21和第二組件22。在這種情況下,由于兩個(gè)組件順序接收FC(I)11、FC(I)21、FC(I)12和FC(I)22,因此兩個(gè)組件都可以完成它們的初始化處理。
在圖8所示的情況(b)下,用于第二組件22的初始化命令滯后于用于第一組件21的初始化命令。在這種情況下,第一組件21的初始化處理比第二組件22的初始化處理完成得早。在第一組件21的初始化處理完成以后,第一組件21發(fā)送FC1或TLP1。
另一方面,當(dāng)接收到FC(I)21、FC1或TLP1時(shí),第二組件22的初始化處理完成,如圖7所示(在這種情況下,盡管圖7所示的處理是對(duì)第一組件21描述的,但應(yīng)當(dāng)可以理解為用于第二組件22的處理,即,步驟S7應(yīng)當(dāng)理解為“接收到FC(I)21、FC1或TLP1了嗎?”)。
由于第一組件21的初始化處理完成了,但FC(I)21還未發(fā)送,因此,發(fā)送FC1或TLP1或者FC1及TLP1。
在情況(b)下,第二組件22的初始化處理可以通過接收FC1完成。
如上所述,高速串行總線15采用基于信用的流控制。在非專利文獻(xiàn)1中公開的規(guī)范允許將信用設(shè)置成“無限”。用于信用設(shè)置的詞“無限”指具有無限容量的接收緩沖區(qū)并且當(dāng)接收數(shù)據(jù)時(shí)沒有溢出的可能性。
此外,根據(jù)非專利文獻(xiàn)1中公開的規(guī)范,當(dāng)設(shè)置無限流控制信用時(shí),接收緩沖區(qū)的容量不需要向另一端的組件確認(rèn)。即,如果第一組件21設(shè)置為“無限信用”,則第一組件21不需要向第二組件22發(fā)送FC1。消除從其接收緩沖區(qū)中具有足夠容量的組件發(fā)送FC1的需求目的在于對(duì)另一數(shù)據(jù)(例如,TLP1)的發(fā)送設(shè)置優(yōu)先級(jí)。
但是,在無限流控制信用中,會(huì)發(fā)生問題,如圖8中情況(c)所示。
情況(b)與情況(c)之間的差別在于在情況(b)中沒有設(shè)置“無限信用”而在情況(c)中設(shè)置了“無限信用”。在無限信用設(shè)置的情況下,有可能FC1沒有從第一組件21發(fā)送。
TLP1的創(chuàng)建依賴于組件的類型。當(dāng)?shù)谝唤M件21是根復(fù)合體12而第二組件22是存儲(chǔ)設(shè)備時(shí),很長(zhǎng)時(shí)間都不創(chuàng)建TLP1,直到CPU 10訪問該存儲(chǔ)設(shè)備。
相反,如果第一組件21是從單元,如存儲(chǔ)單元,則直到第二組件22利用TLP2訪問第一組件21時(shí)TLP1才創(chuàng)建。
因此,在無限信用設(shè)置的情況下,有可能第一組件21既不創(chuàng)建FC1也不創(chuàng)建TLP1。
因此,如圖8情況(c)所示,有可能第二組件22的初始化處理永遠(yuǎn)或者很長(zhǎng)時(shí)間都不會(huì)完成。如果發(fā)生這種情況,則第一組件21不能與第二組件22通信。
圖9示出了根據(jù)本發(fā)明第一實(shí)施方式的解決上述問題的流控制的初始化處理。相同的標(biāo)號(hào)用于指示與圖7相同的處理。
根據(jù)第一實(shí)施方式,步驟S100是在步驟S7和S8之間實(shí)現(xiàn)的。即,當(dāng)完成第一組件21的初始化處理時(shí)(在步驟S7“是”的情況下),第一組件21向第二組件22發(fā)送至少一次FC1或TLP1,而不管無限信用設(shè)置。
可選地,當(dāng)完成第一組件21的初始化處理時(shí)(在步驟S7“是”的情況下),第一組件21可以只向第二組件22發(fā)送至少一次FC1,而不管無限信用設(shè)置。
因此,即使在圖8所示的情況(c)下,也可以完成第二組件22的初始化處理。
TLP1應(yīng)當(dāng)對(duì)第二組件22沒有反面影響。例如,如果第二組件22是存儲(chǔ)設(shè)備,則TLP1不可以在特定的地址寫特定的數(shù)據(jù)。
圖10示出了根據(jù)本發(fā)明第二實(shí)施方式的流控制的初始化處理。相同的標(biāo)號(hào)用于指示與圖7相同的處理。
根據(jù)本發(fā)明的第二實(shí)施方式,當(dāng)在第一組件21完成初始化處理之后第一組件21從第二組件22接收FC(I)22時(shí)(在步驟S200“是”的情況下),第一組件21向第二組件22發(fā)送至少一次FC1或TLP1,而不管是否設(shè)置了無限信用。
可選地,當(dāng)在第一組件21完成初始化處理之后第一組件21從第二組件22接收FC(I)22時(shí)(在步驟S200“是”的情況下),第一組件21可以只向第二組件22發(fā)送至少一次FC1,而不管是否設(shè)置了無限信用。
接收FC(I)22指示第二組件22仍然處于第二初始化模式。因此,第二組件22的第二初始化模式通過向第二組件發(fā)送至少一次FC1或TLP1完成。
就象在第一實(shí)施方式中,TLP1優(yōu)選地不對(duì)第二組件22有反面影響。
圖11示出了根據(jù)本發(fā)明第三實(shí)施方式的流控制初始化處理。相同的標(biāo)號(hào)用于指示與圖7相同的處理。
根據(jù)第三實(shí)施方式,當(dāng)?shù)谝唤M件21處于第二初始化模式時(shí),盡管第一組件21接收FC(I)22、FC2或TLP2(在步驟S7“是”的情況下),初始化處理也不立即完成。第一組件21向第二組件22發(fā)送至少一次FC(I)21(步驟300),然后初始化處理完成。
因此,即使在圖8的情況(c)下,第二組件22的初始化處理也可以完成。
此外,圖9至11所示流控制的初始化處理可以由軟件或硬件執(zhí)行。
工業(yè)應(yīng)用性根據(jù)本發(fā)明,用于流控制的初始化方法和信息處理裝置允許初始化處理不管連接到串行總線的組件類型與設(shè)置如何都能完成。
權(quán)利要求
1.一種用于初始化第一組件和第二組件之間流控制的方法,第一組件通過串行總線連接到第二組件,第一組件以第一組件的第一初始化模式發(fā)送第一第一組件初始值并以第一組件的第二初始化模式發(fā)送第二第一組件初始值,而第二組件以第二組件的第一初始化模式發(fā)送第一第二組件初始值并以第二組件的第二初始化模式發(fā)送第二第二組件初始值,該方法包括使第一組件進(jìn)入第一初始化模式的第一步驟;使第一組件向第二組件發(fā)送第一第一組件初始值的第二步驟;當(dāng)?shù)谝唤M件從第二組件接收到第一第二組件初始值或者第二第二組件初始值時(shí),使第一組件進(jìn)入第二初始化模式的第三步驟;使第一組件向第二組件發(fā)送第二第一組件初始值的第四步驟;當(dāng)?shù)谝唤M件從第二組件接收到第二第二組件初始值、第二組件流控制值或者第二組件數(shù)據(jù)時(shí),使第一組件進(jìn)入初始化完成模式的第五步驟;及使第一組件向第二組件發(fā)送至少一次第一組件流控制值和第一組件數(shù)據(jù)中的至少一個(gè)的第六步驟。
2.如權(quán)利要求1所述的用于初始化流控制的方法,其中第六步驟是使第一組件向第二組件發(fā)送至少一次第一組件流控制值的步驟。
3.如權(quán)利要求1所述的用于初始化流控制的方法,其中第六步驟是當(dāng)?shù)谝唤M件從第二組件接收到第二第二組件初始值時(shí),使第一組件向第二組件發(fā)送至少一次第一組件流控制值和第一組件數(shù)據(jù)中的至少一個(gè)的步驟。
4.如權(quán)利要求1所述的用于初始化流控制的方法,其中第六步驟是當(dāng)?shù)谝唤M件從第二組件接收到第二第二組件初始值時(shí)使第一組件向第二組件發(fā)送至少一次第一組件流控制值的步驟。
5.如權(quán)利要求1所述的用于初始化流控制的方法,其中第五步驟是當(dāng)?shù)谝唤M件從第二組件接收到第二第二組件初始值時(shí),使第一組件向第二組件發(fā)送至少一次第二第一組件初始值的步驟,而第六步驟是使第一組件進(jìn)入初始化完成模式的步驟。
6.如權(quán)利要求1至5中一項(xiàng)所述的用于初始化流控制的方法,其中串行總線遵循PCI Express規(guī)范。
7.一種信息處理裝置,包括第一組件;通過串行總線連接到第一組件的第二組件;用于初始化第一組件和第二組件之間流控制的初始化部件,其中第一組件以第一組件的第一初始化模式發(fā)送第一第一組件初始值并以第一組件的第二初始化模式發(fā)送第二第一組件初始值,而第二組件以第二組件的第一初始化模式發(fā)送第一第二組件初始值并以第二組件的第二初始化模式發(fā)送第二第二組件初始值;用于使第一組件進(jìn)入第一初始化模式的部件;用于使第一組件向第二組件發(fā)送第一第一組件初始值的部件;用于當(dāng)?shù)谝唤M件從第二組件接收到第一第二組件初始值或者第二第二組件初始值時(shí),使第一組件進(jìn)入第二初始化模式的部件;用于使第一組件向第二組件發(fā)送第二第一組件初始值的部件;用于當(dāng)?shù)谝唤M件從第二組件接收到第二第二組件初始值、第二組件流控制值或者第二組件數(shù)據(jù)時(shí),使第一組件進(jìn)入初始化完成模式的部件;及用于使第一組件向第二組件發(fā)送至少一次第一組件流控制值和第一組件數(shù)據(jù)中的至少一個(gè)的部件。
8.如權(quán)利要求7所述的信息處理裝置,其中串行總線遵循PCIExpress規(guī)范。
全文摘要
提供了將第一組件設(shè)置成第一初始化狀態(tài)(S1)并向第二組件發(fā)送FC(I)11(S2)的流控制初始化方法與信息處理設(shè)備。當(dāng)從第二組件接收到FC(I)12或FC(I) 22時(shí),第一組件設(shè)置成第二初始化狀態(tài)并且FC(I)21發(fā)送到第二組件(S5)。當(dāng)從第二組件接收到FC(I)22、FC2或TLP2時(shí),第一組件設(shè)置成初始化完成狀態(tài),且FC1和TCP1中的至少一個(gè)被發(fā)送至第二組件至少一次(S100)。利用上述配置,有可能提供能夠完成流控制初始化處理而不管所連接組件的類型和設(shè)置狀態(tài)如何的流控制初始化方法和信息處理設(shè)備。
文檔編號(hào)G06F13/38GK1947108SQ20058001295
公開日2007年4月11日 申請(qǐng)日期2005年3月7日 優(yōu)先權(quán)日2004年3月31日
發(fā)明者安居良基 申請(qǐng)人:株式會(huì)社東芝
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
卓资县| 金山区| 东阳市| 岱山县| 新竹县| 东山县| 湘阴县| 焦作市| 会东县| 柳河县| 云浮市| 泗阳县| 临沭县| 广水市| 遂宁市| 义马市| 玉溪市| 商河县| 东兰县| 得荣县| 湄潭县| 资中县| 辽宁省| 合江县| 山东| 炎陵县| 调兵山市| 乌兰察布市| 三原县| 怀远县| 钟山县| 沙坪坝区| 大庆市| 山西省| 安徽省| 惠州市| 武威市| 清远市| 益阳市| 遂平县| 民乐县|