專利名稱:全局總線網(wǎng)絡(luò)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一個(gè)使用全局總線實(shí)現(xiàn)多個(gè)處理器間的串行數(shù)據(jù)傳輸?shù)耐ㄐ啪W(wǎng)絡(luò)。更具體地說,本發(fā)明涉及一種與全局總線有關(guān)的網(wǎng)絡(luò),這類全局總線具有能增加信道帶寬利用率并更穩(wěn)定地控制整個(gè)網(wǎng)絡(luò)中的誤差的性質(zhì)。
全局總線網(wǎng)絡(luò)是網(wǎng)絡(luò)拓?fù)涞囊环N,它通過連接在網(wǎng)絡(luò)中的多個(gè)處理器構(gòu)成的全局總線通路使微處理器間串行數(shù)據(jù)的發(fā)送和接收成為可能。同時(shí),在全局總線系統(tǒng)中,在多個(gè)處理器間通過總線的串行數(shù)據(jù)傳輸,是通過一圓片形(Round-Robin)結(jié)構(gòu)的允牌進(jìn)行傳送。
參閱這里公開的
圖1,傳統(tǒng)的網(wǎng)絡(luò)的部件包括處理器10、總線控制單元30、和總線故障檢測和控制單元20。所述處理器10控制數(shù)據(jù)傳送期間發(fā)生的情況的總的狀態(tài)。所述總線控制單元30能夠與處理器10接口并能根據(jù)來自處理器10的總線請求信號輸入向所述處理器10輸出一總線確認(rèn)信號。另外,所述總線故障檢測和控制單元20在收到總線確認(rèn)信號時(shí)檢測總線的故障,如檢測到故障發(fā)生則向處理器10提供一故障確認(rèn)信號,并同時(shí)向所述總線控制單元30發(fā)出一總線禁止信號?,F(xiàn)參閱圖2,在傳統(tǒng)的處理器節(jié)點(diǎn)(node)中的總線控制單元30包括DMAC(直接存儲(chǔ)存取控制器(DirectMemoryAccessController)31、SIO(串行I/O)32、總線驅(qū)動(dòng)器34和一個(gè)總線控制模塊33。
所述DMAC31能夠?yàn)榭焖贁?shù)據(jù)傳送高速存取存在處理器10的局部存儲(chǔ)器中的數(shù)據(jù)。SIO32把DMAC31從處理器10的局部存儲(chǔ)器中獲得的并行數(shù)據(jù)轉(zhuǎn)換成用于串行數(shù)據(jù)通信的串行數(shù)據(jù)??偩€驅(qū)動(dòng)器34提供處理器和網(wǎng)絡(luò)之間的實(shí)際連接(Ex,IEEE488)裝置。如果認(rèn)為在收到來自處理器10的總線請求信號時(shí)該處理器擁有允牌,則總線控制模塊33能向處理器10發(fā)出總線確認(rèn)信號,并能通過總線驅(qū)動(dòng)器34發(fā)送來自SIO32的確認(rèn)的數(shù)據(jù)。以及由網(wǎng)絡(luò)(GBI)送到SIO32的數(shù)據(jù)。下面根據(jù)附圖解釋總線結(jié)構(gòu)的傳統(tǒng)網(wǎng)絡(luò)的通常的工作過程。
在總線結(jié)構(gòu)的網(wǎng)絡(luò)中要發(fā)送數(shù)據(jù)的處理器10,在收到總線確認(rèn)信號后,就可以發(fā)送數(shù)據(jù),總線確認(rèn)信號的接收意味著允許使用總線??偩€故障檢測和控制單元20作為計(jì)數(shù)器電路能和確定總線確認(rèn)信號同步啟動(dòng),并能通過在占有總線期間內(nèi)計(jì)數(shù)脈沖來控制處理器節(jié)點(diǎn)的最大總線確定時(shí)間。如果處理器節(jié)點(diǎn)占用網(wǎng)絡(luò)的時(shí)間超過預(yù)定的最大總線確定時(shí)間,總線故障檢測和控制單元20就認(rèn)為這是處理器節(jié)點(diǎn)本身發(fā)生了某種故障。因此,單元20向處理器10發(fā)送一故障確認(rèn)信號并向總線控制單元30發(fā)出一總線禁止信號。結(jié)果,處理器節(jié)點(diǎn)最終釋放總線,然后將最終得到某些恢復(fù)。更具體地說,所述處理器數(shù)據(jù)通信的處理可參考圖3進(jìn)行描述。當(dāng)處理器有要發(fā)的數(shù)據(jù)時(shí)(一處理器確認(rèn)一個(gè)到總線控制模塊33的總線請求信號),確認(rèn)總線請求步驟101按下面步驟進(jìn)行總線控制單元33計(jì)數(shù)確認(rèn)同步時(shí)鐘到一個(gè)固定的值(如,F(xiàn)FH),直到被給予使用總線的機(jī)會(huì)時(shí)(如,允牌),除非網(wǎng)絡(luò)未被使用。此時(shí),已請求總線的處理器10判斷是否收到總線確認(rèn)信號(中斷信號,圖5)。如果中斷判斷102為“是”,則DMAC/SIO起動(dòng)103以一個(gè)總線確認(rèn)信號開始。數(shù)據(jù)傳送104以信號103為開始,且作出傳送是否完成的判斷105。如傳送是否完成判斷為“是”,則確定總線釋放106;如果傳送是否完成判斷為“否”,則繼續(xù)數(shù)據(jù)傳送104。在執(zhí)行106步后,系統(tǒng)返回101步?,F(xiàn)參考圖1,在總線結(jié)構(gòu)的傳統(tǒng)網(wǎng)絡(luò)的處理器節(jié)點(diǎn)中,檢測故障的方法限制了最大總線確定時(shí)間,以保證網(wǎng)絡(luò)中連接的每個(gè)處理器節(jié)點(diǎn)都有相同的使用總線的機(jī)會(huì)。而且,在這個(gè)傳統(tǒng)的網(wǎng)絡(luò)中,故障檢測僅在占用網(wǎng)絡(luò)的處理器節(jié)點(diǎn)中進(jìn)行。因此,傳統(tǒng)網(wǎng)絡(luò)中的系統(tǒng)不能檢測通信信道引起的故障。這種系統(tǒng)還有另一個(gè)問題,即不能控制其它的空閑處理器,因?yàn)橐粋€(gè)處理器和另一處理器之間不能互相監(jiān)視。特別是當(dāng)任一空閑處理器工作失常時(shí),會(huì)出現(xiàn)很大問題。參看圖2和圖3,傳統(tǒng)網(wǎng)絡(luò)中的數(shù)據(jù)傳送步驟是這樣工作的,即在發(fā)出一總線請求信號以啟動(dòng)數(shù)據(jù)傳送處理之后,處理器需等到總線確認(rèn)信號被接收。因此,在數(shù)據(jù)傳送處理期間就會(huì)發(fā)生多種延遲;由于總線請求信號在工作規(guī)程的任何時(shí)刻都會(huì)產(chǎn)生,所以由控制總線的傳統(tǒng)硬件隨機(jī)產(chǎn)生總線確認(rèn)信號,因而控制總線的動(dòng)作也是隨機(jī)的;換句話說,總線請求信號和總線確定信號的間隔之間沒有規(guī)律;需要一段時(shí)間來確認(rèn)總線確認(rèn)信號;啟動(dòng)DMAC和SIO需要額外的傳播延遲。
這種延遲在某種程度上限制了總線形式的網(wǎng)絡(luò)中的網(wǎng)絡(luò)利用。傳統(tǒng)網(wǎng)絡(luò)的另一個(gè)問題,是工作情況下性能的惡化;在傳統(tǒng)系統(tǒng)中,每個(gè)處理器節(jié)點(diǎn)一次能發(fā)送相同的最大數(shù)目的幀,而不考慮隊(duì)列中每個(gè)處理器包括的數(shù)據(jù)量。因此,對在輸入隊(duì)列中有大負(fù)荷的處理器來說,由于輸出隊(duì)列中的擁擠,發(fā)送延遲就要增加。這引起整個(gè)發(fā)送的延遲。所以,在處理器的通信業(yè)務(wù)負(fù)荷彼此很不同的網(wǎng)絡(luò)中,這一系統(tǒng)是不合適的。
為解決上述問題,本發(fā)明的一個(gè)目的是提供一個(gè)故障檢測算法和由雙節(jié)點(diǎn)結(jié)構(gòu)即一個(gè)主處理器節(jié)點(diǎn)和一個(gè)從處理器節(jié)點(diǎn)構(gòu)成的裝置。這里,主處理器節(jié)點(diǎn)能檢測整個(gè)網(wǎng)絡(luò)的一些故障;另一方面,從處理器僅能檢測自身的一些故障并能確定發(fā)自主處理器的故障檢測信號。本發(fā)明的另一個(gè)目的是提供一種高速數(shù)據(jù)傳送方法,該方法能提高總線的利用率。這一目的是由總線預(yù)定實(shí)現(xiàn)的。總線預(yù)定使得不必因總線請求信號的時(shí)間與總線確認(rèn)信號的時(shí)間之間的不一致而進(jìn)行延遲。本發(fā)明還有一個(gè)目的是提供多幀發(fā)送控制裝置,其中根據(jù)通信業(yè)務(wù)負(fù)荷在處理器中鑒別可能的一次發(fā)送幀的數(shù)目。
因此,本發(fā)明的一個(gè)目的是提供結(jié)構(gòu)上便宜且高性能的改進(jìn)的網(wǎng)絡(luò)。
本發(fā)明的另一個(gè)目的是提供一個(gè)有擴(kuò)展的能力的處理器節(jié)點(diǎn)。
本發(fā)明的又一個(gè)目的是提供硬件支持機(jī)構(gòu)以控制網(wǎng)絡(luò)的執(zhí)行。
本發(fā)明的又一目的,是為網(wǎng)絡(luò)運(yùn)行控制提供更有效的硬件支持。
簡言之,本發(fā)明由結(jié)構(gòu)上相同的主處理器節(jié)點(diǎn)和從處理器節(jié)點(diǎn)組成。每個(gè)處理器的部件都得到了改進(jìn)。另外,還附加了一些部件,以改進(jìn)網(wǎng)絡(luò)的性能。
本發(fā)明實(shí)施例的新穎技術(shù)特征將在下面根據(jù)附圖詳細(xì)說明,其中圖1是與總線構(gòu)成的網(wǎng)絡(luò)相連的傳統(tǒng)處理器節(jié)點(diǎn)的結(jié)構(gòu)框圖;
圖2是圖1所示的總線控制單元的方框圖;
圖3是傳統(tǒng)處理器節(jié)點(diǎn)中數(shù)據(jù)通信的流程圖;
圖4是構(gòu)成本發(fā)明的處理器節(jié)點(diǎn)的方框圖;
圖5和圖6說明了圖4所示的全局總線網(wǎng)絡(luò)中的故障檢測和控制的工作流程圖;
圖7是本發(fā)明的處理器節(jié)點(diǎn)中的總線控制單元的擴(kuò)展方框圖;
圖8是圖7中總線控制模塊的詳細(xì)方框圖;
圖9是構(gòu)成本發(fā)明的處理器節(jié)點(diǎn)中數(shù)據(jù)通信的流程圖;
圖10是構(gòu)成本發(fā)明的、專為全局總線網(wǎng)絡(luò)中的多幀發(fā)送設(shè)計(jì)的總線控制單元的方框圖;
圖11是圖10中的各種信號有關(guān)的時(shí)間同步曲線圖。
參看圖4,構(gòu)成本發(fā)明的一個(gè)處理器節(jié)點(diǎn)被分成兩組主處理器節(jié)點(diǎn)和從處理節(jié)點(diǎn);主處理器節(jié)點(diǎn)包括處理器40、僅對發(fā)生在處理器40自身的故障感興趣的故障控制單元50、檢測和控制整個(gè)網(wǎng)絡(luò)中故障的總線故障檢測和控制單元60、以及包含有與總線網(wǎng)絡(luò)接口并向處理器40發(fā)出總線確認(rèn)信號的總線控制單元70;從處理器通過向主節(jié)點(diǎn)中的總線故障檢測和控制單元(60,圖4)發(fā)送故障信號來確認(rèn)故障檢測信號,并檢測僅發(fā)生在自身的一些故障,而不能檢測和控制整個(gè)網(wǎng)絡(luò)中的故障。因此,從處理器節(jié)點(diǎn)包括總線故障檢測單元80、用于檢測從處理器節(jié)點(diǎn)自身故障的局部故障檢測單元50A、能與全局總線網(wǎng)絡(luò)接口并能向處理器40A發(fā)送總線確認(rèn)信號的總線控制單元70A、和處理器40A。
參看圖5和圖6,本發(fā)明的全局總線網(wǎng)絡(luò)中故障檢測和控制工作,將分為主節(jié)點(diǎn)和從節(jié)點(diǎn)而詳細(xì)加以解釋。
首先,全局總線網(wǎng)絡(luò)中的故障被大致分成兩組。一種故障是占用網(wǎng)絡(luò)的處理器節(jié)點(diǎn)產(chǎn)生的。另一組故障是從信道或從整個(gè)網(wǎng)絡(luò)中產(chǎn)生的。
首先參看圖5,在主處理器節(jié)點(diǎn)中檢測和控制兩類誤差的步驟解釋如下檢測網(wǎng)絡(luò)故障判斷210判定是否檢測到一個(gè)網(wǎng)絡(luò)故障。如果判斷為“是”,確定故障確認(rèn)信號211通過故障控制單元50被送到每個(gè)從處理器。在第211步后,執(zhí)行處理器節(jié)點(diǎn)自身判定212,以判定是否發(fā)生了故障。如果為“是”,則執(zhí)行確認(rèn)主處理器判斷213,以判定主處理器是否占用總線。如果為“是”,則轉(zhuǎn)入釋放總線狀態(tài)214;如果為“否”,該系統(tǒng)重復(fù)開始第210步。如果處理器節(jié)點(diǎn)自身判斷212為“否”,則執(zhí)行確認(rèn)從處理器判斷215,以判定從處理器是否被確定;如果判斷215為“是”,系統(tǒng)反回第210步;如果為“否”,告知網(wǎng)絡(luò)故障步驟216就把固有網(wǎng)絡(luò)故障告知用戶。
參看圖6,其中采用了描述檢測和控制從處理器節(jié)點(diǎn)中故障的軟件說明流程圖;是在從處理器節(jié)點(diǎn)的總線故障檢測單元80中作出檢測故障判斷220,以判斷從處理器節(jié)點(diǎn)中是否發(fā)生故障。執(zhí)行確認(rèn)故障判斷221以判斷處理器是否收到總線故障檢測和控制單元60發(fā)出的故障確認(rèn)信號。執(zhí)行總線確認(rèn)檢測判斷222以由局部控制單元(50A,圖4)判斷是否有處理器占用網(wǎng)絡(luò)。如果總線檢測判斷222為“是”,則執(zhí)行確認(rèn)處理器自身判斷223,以判斷從處理器(40A,圖4)自身是否占用總線。如果判斷223為“是”,則進(jìn)行總線釋放224,確認(rèn)這類故障是來自從處理器自身。在第224步之后,從處理器(40A,圖4)釋放總線;如果判斷223為“否”,則轉(zhuǎn)到起始狀態(tài)。如判斷222為“否”,執(zhí)行告知網(wǎng)絡(luò)故障步驟225,認(rèn)為故障發(fā)生在網(wǎng)絡(luò)。
參看圖7,構(gòu)成本發(fā)明的總線控制單元(70,70A,圖4)包括一個(gè)DMAC14、一個(gè)SIO15、一個(gè)DMAC/SIO連接程序16、一個(gè)總線控制模塊17、和一個(gè)總線驅(qū)動(dòng)器18。所述DMAC/SIO連接程序16控制DMAC和SIO的工作。所述總線驅(qū)動(dòng)器18提供到全局總線(GB2)的連接。所述總線控制模塊17在其收到來自處理器的總線請求信號后,確認(rèn)一個(gè)到DMAC/SIO連接程序16的總線確認(rèn)信號。
參看圖8,總線控制模塊(17,圖7)包括緩沖控制單元5、總線判優(yōu)程序6和局部計(jì)數(shù)器7;所述總線控制單元5把來自SIO15的串行數(shù)據(jù)送到與BRCLK(總線請求時(shí)鐘)同步的總線驅(qū)動(dòng)器18并把來自總線的數(shù)據(jù)經(jīng)過總線驅(qū)動(dòng)器18送到SIO15。所述局部計(jì)數(shù)器7從一初始值到一確定值(優(yōu)先級數(shù),比如FFM)計(jì)數(shù)同步時(shí)鐘;當(dāng)?shù)竭_(dá)該確定值(如,F(xiàn)FH)時(shí),有作為優(yōu)先級數(shù)的該確定值的處理器就能占用總線。如果優(yōu)先級的最低數(shù)被設(shè)定,則局部計(jì)數(shù)器7通過產(chǎn)生一個(gè)FRS(幀復(fù)位同步)信號,使每個(gè)處理器節(jié)點(diǎn)的計(jì)數(shù)器回到初始值。所述總線判優(yōu)程序6,以來自處理器的總線請求信號輸入和來自局部計(jì)數(shù)器的ASTCLK和AST輸入,輸出總線確認(rèn)信號。上述結(jié)構(gòu)的總線控制模塊的工作將詳細(xì)描述如下;每個(gè)處理器被給定固定標(biāo)識號碼,以控制給予使用總線的機(jī)會(huì)。這個(gè)標(biāo)識號碼作為初始值被輸入所述局部計(jì)數(shù)器7中。局部計(jì)數(shù)器7在啟動(dòng)之后與ASTCLK同步,局部計(jì)數(shù)器7僅在總線空閑時(shí)計(jì)數(shù)。當(dāng)達(dá)到某一確定值(比如,F(xiàn)FH)時(shí),總線被允許使用。
當(dāng)一個(gè)處理器獲得總線時(shí),如不保留總線,總線將不能被處理器確認(rèn)。但當(dāng)處理器獲得總線時(shí),如處理器保留總線,則總線將被處理器確認(rèn)如下;圖8所示的總線判優(yōu)程序(6,圖8)通過發(fā)出一AST信號使局部計(jì)數(shù)器不能使用,并通知緩沖控制單元5總線確認(rèn)狀態(tài)已被完成。然后緩沖控制單元驅(qū)動(dòng)總線驅(qū)動(dòng)器。總線判優(yōu)程序也告知DMAC/SIO連接程序16一個(gè)總線確認(rèn)信號,以開始數(shù)據(jù)接收。當(dāng)數(shù)據(jù)接收完成時(shí),圖8中所示的總線判優(yōu)程序檢查總線請求信號和傳送完成信號。如果僅有傳送完成信號存在,總線判優(yōu)程序6則釋放總線。圖8中所示的緩沖控制單元5使總線驅(qū)動(dòng)器18不能工作,以使所有的局部計(jì)數(shù)器重新計(jì)數(shù),從而使下個(gè)處理器占用總線成為可能。如果所有的處理器都已占用總線一次,則最后占用總線的處理器(即有最低優(yōu)先級號碼的處理器)用與FRS信號同步的每個(gè)處理器的所有不同的ID號碼設(shè)定局部計(jì)數(shù)器(6,圖8)。
參看圖9,構(gòu)成本發(fā)明的包括總線控制單元的處理器節(jié)點(diǎn)中的數(shù)據(jù)通信的工作過程是這樣的當(dāng)所述處理器要傳送數(shù)據(jù)時(shí),向總線控制模塊(17,圖7)請求總線(第301步)、完成第301步后,同時(shí)進(jìn)行驅(qū)動(dòng)DMAC和SIO步(第302步)。當(dāng)進(jìn)行302步時(shí),DMAC/SIO連接程序阻塞DMAC和SIO之間的數(shù)據(jù)通信,因?yàn)檫€沒有收到來自所述總線控制模塊的總線確認(rèn)信號??偩€控制模塊17在第301步收到總線請求信號后,進(jìn)行總線存取提供判斷303,以判斷請求總線的處理器是否能占用總線;如果判斷303為“否”,則總線控制模塊仍要判斷,直到處理器在頂定后能夠占用總線為止;如果判斷303為“是”,則發(fā)送數(shù)據(jù)步(第304步)如下進(jìn)行在總線控制模塊17占用總線后,它啟動(dòng)總線驅(qū)動(dòng)器18,然后向DMAC/SIO連接程序16發(fā)出總線確認(rèn)信號。
DMAC/SIO連接程序識別總線確認(rèn)信號,而后用一種特殊控制信號驅(qū)動(dòng)DAMC14和SIO15,使預(yù)定了總線的處理器可以進(jìn)行數(shù)據(jù)處理,而不考慮任何其它請求總線的處理器。第304步完成之后,進(jìn)行數(shù)據(jù)發(fā)送完成判斷305。由305步的結(jié)果確定是否產(chǎn)生傳送完成信號。如第305步判斷為“是”,則釋放總線(第306步),從而使下一個(gè)處理器能夠占用總線。在第306步完成后,系統(tǒng)反回第301步,重新開始。
參看圖10,構(gòu)成本發(fā)明的且為多幀發(fā)送設(shè)計(jì)的總線控制單元包括幀計(jì)數(shù)器100、總線確定確認(rèn)單元200、數(shù)據(jù)發(fā)送請求單元300、總確定控制單元400、幀間隔控制單元500、SIO600、SIO/DMA連接程序70、DMA800、和幀發(fā)送完成單元900。所述幀計(jì)數(shù)器100計(jì)數(shù)一次發(fā)送的幀的數(shù)目。所述總線確定確認(rèn)單元200作用與其名稱指出的相同。所述數(shù)據(jù)發(fā)送請求單元300告知處理器是否有數(shù)據(jù)要發(fā)送。所述確定控制單元400決定總線是否能被幀計(jì)數(shù)器100產(chǎn)生的LMULTI*信號輸入、總線確定確認(rèn)單元200產(chǎn)生的Tx-ALLOW信號輸入、和來自數(shù)據(jù)發(fā)送請求單元300的TxSTB*輸入所占用。所述幀間隔控制單元500消除幀之間的間隔。所述SIO600向總線發(fā)送串行數(shù)據(jù)。所述幀發(fā)送控制單元900檢測一幀的發(fā)送是否完成。所述SIO/DMA連接程序700,在收到來自SIO600的STRE-*信號和來自總線確定控制單元400的Tx-RDF*信號后,產(chǎn)生DTX REQ*(數(shù)據(jù)發(fā)送請求)信號到DMA。幀計(jì)數(shù)器100的輸入代表輸往總線確認(rèn)單元400的Tx-COM*(發(fā)送完成)信號的幀數(shù)。
參看圖11,上述部件構(gòu)成的總線控制單元的操作將解釋如下;圖11說明了根據(jù)多幀發(fā)送處理的總線控制單元的輸入和輸出的時(shí)間同步圖。
多幀發(fā)送順序如下1.當(dāng)處理器要發(fā)送數(shù)據(jù)時(shí),該處理器命令數(shù)據(jù)發(fā)送請求單元(300,圖10)產(chǎn)生TXSTB*信號(A,圖11),并隨后通知總線確定控制單元(400,圖10)存在要發(fā)送的數(shù)據(jù);(開始)2.SIO(600,圖10)復(fù)位到對應(yīng)TXSTB*信號的初始狀態(tài)。而后,SIO產(chǎn)生STXREQ*信號(B,圖11);
3.當(dāng)總線到達(dá)時(shí),總線確定確認(rèn)單元(200,圖10)產(chǎn)生一個(gè)Tx ALLOW*信號(G,圖11),并把它發(fā)送到幀計(jì)數(shù)器(100,圖10)和總線確定控制單元(400,圖10);
4.所述幀計(jì)數(shù)器(100,圖10)和總線確定控制單元(400,圖10)以TX ALLOW(G,圖11)信號進(jìn)行響應(yīng);相應(yīng)的幀計(jì)數(shù)器輸入預(yù)定的幀計(jì)數(shù)值(P1…PN)。如果TXSTB*(A)信號被確認(rèn),則相應(yīng)的總線控制單元產(chǎn)生一個(gè)ASTRDF*信號(H,圖11);
5.總線確定控制單元(400,圖10)在總線被確定后,也產(chǎn)生一TX RDF*(I,圖11)信號,把數(shù)據(jù)從SIO送到DMA;
6.響應(yīng)于SIO(600)產(chǎn)生的STXREQ*信號(B),SIO/DMA連接程序(700,圖10)產(chǎn)生一個(gè)DTXREQ*(C,圖11)信號到DMA(500,圖10);
7.響應(yīng)于STXREQ*信號(B),所述DMA(800,圖10)產(chǎn)生一個(gè)TX ACK*信號(D,圖11)到幀發(fā)送完成單元(900,圖10)和SIO(600,圖10);
8.響應(yīng)于TXACK*信號,SIO發(fā)送總線從DMA收到的數(shù)據(jù)。當(dāng)DMA完成一幀的發(fā)送時(shí),它產(chǎn)生DONE*信號(E,圖11)。DMA在每個(gè)幀發(fā)送完成的點(diǎn)確定DONE*信號。
9.響應(yīng)于DONE*信號和TXACK*,幀發(fā)送完成單元(900,圖10)產(chǎn)生TX DONE*信號(F,圖11)。
10.當(dāng)TXDONE*信號被確定時(shí),幀計(jì)數(shù)器(100,圖10)計(jì)數(shù)在總線占用期間內(nèi)發(fā)送的幀的數(shù)目,而且,幀間隔控制單元(500,圖10)產(chǎn)生一個(gè)TXCOMP*持續(xù)一固定時(shí)間的信號(J,圖11),以給出幀之間的間隔。
11.響應(yīng)于TXCOMP*信號(J),總線確定控制單元(400,圖10)產(chǎn)生一個(gè)不活動(dòng)的TXRDF*信號(I,圖11);這樣DMA(800,圖10)被控制,不產(chǎn)生DTXREQ*信號(C,圖11);
12.當(dāng)幀間隔控制單元(500,圖10)拒絕TXCOMP*信號(J,圖11)時(shí),產(chǎn)生一個(gè)總線RES*(K,圖11);
13.根據(jù)總線RES*信號(K)、TXSTB*信號(A)和LMVLTI*信號(L,圖11),總線確定控制單元(400,圖10)決定處理器是否仍然保留總線;上述決定是這樣進(jìn)行的;如果TXSTB*信號(A)待用,且產(chǎn)生了LMULTI*信號(L),總線確定控制單元(400,圖10)產(chǎn)生ASTRDF*信號等待釋放占用的總線。但是,如果TXSTB*信號(L)沒有產(chǎn)生,總線確定控制單元(400,圖10)則保留總線以完成多幀發(fā)送(結(jié)束)。
下面是圖11中所用的縮寫TX STB*-發(fā)送選通脈沖STX REQ*-來自SIO TX請求DTX REQ*-數(shù)據(jù)發(fā)送請求TX ACK*-發(fā)送確認(rèn)TX DONE*-發(fā)送完成(Transmirsion Done)TX ALLOW*-發(fā)送允許ASTRDF*-確定準(zhǔn)備標(biāo)志TX RDF*-發(fā)送準(zhǔn)備標(biāo)志TX COMP*-發(fā)送完成BUS RES*-總線釋放LMULTI*-最后的多個(gè)幀(Last Multiframe)
權(quán)利要求
1.在包括主處理器節(jié)點(diǎn)和多個(gè)從處理器節(jié)點(diǎn)的全局總線網(wǎng)絡(luò)中檢測和控制故障的方法,包括下列步驟(a)若主處理器檢測到故障,則向與網(wǎng)絡(luò)和所述主處理節(jié)點(diǎn)的故障檢測裝置連接的多個(gè)從處理器節(jié)點(diǎn)提供故障信號;(b)如處理器正占用總線,則當(dāng)檢測到故障時(shí),由所述主處理器的故障檢測裝置提供釋放總線的操作;(c)如果處理器沒有占用總線,則當(dāng)檢測到故障時(shí),向網(wǎng)絡(luò)外部提供網(wǎng)絡(luò)故障存在信號;(d)如果當(dāng)檢測到故障時(shí)從處理器正占用總線,則由所述從處理器節(jié)點(diǎn)的故障檢測裝置提供釋放總線操作;(e)提供包括決定處理器是否使用總線的決定裝置的從處理器節(jié)點(diǎn);以及如果沒有處理器使用總線,則向網(wǎng)絡(luò)外部提供網(wǎng)絡(luò)故障存在信號。
2.用于檢測和控制發(fā)生在全局總線網(wǎng)絡(luò)中的數(shù)據(jù)傳送處理期間的故障的裝置,所述全局總線網(wǎng)絡(luò)具有一個(gè)基本上控制網(wǎng)絡(luò)的整體操作的主處理器節(jié)點(diǎn)和多個(gè)從處理器節(jié)點(diǎn),所述裝置包括;(a)主處理器節(jié)點(diǎn)中的故障檢測裝置,它判斷網(wǎng)絡(luò)故障是否存在并產(chǎn)生一個(gè)故障信號;(b)主處理器節(jié)點(diǎn)中的故障控制裝置,它在檢測到網(wǎng)絡(luò)故障時(shí)告知用戶在網(wǎng)絡(luò)中有故障,并在檢測到處理器故障時(shí)釋放總線,以響應(yīng)所述故障檢測裝置發(fā)出的信號;以及(c)從處理器節(jié)點(diǎn)中的、響應(yīng)上述裝置發(fā)出的所述信號的故障檢測和控制裝置,它在故障在從處理器節(jié)點(diǎn)時(shí)使從處理器釋放總線并通知用戶。
3.根據(jù)權(quán)利要求2所述的裝置,其中如果沒有處理器占用總線,則主處理器和多個(gè)從處理器中的所述故障檢測和控制裝置認(rèn)為在網(wǎng)絡(luò)中發(fā)生了故障。
4.在本網(wǎng)絡(luò)的多處理器中的各個(gè)處理器,還包括連接兩個(gè)傳統(tǒng)裝置的裝置。
5.根據(jù)權(quán)利要求4所述的裝置,其中,連接數(shù)據(jù)結(jié)構(gòu)轉(zhuǎn)換裝置和存取數(shù)據(jù)裝置的所述裝置產(chǎn)生一個(gè)總線確認(rèn)信號。來自存取數(shù)據(jù)裝置的數(shù)據(jù)不能通過數(shù)據(jù)結(jié)構(gòu)轉(zhuǎn)換裝置。
6.根據(jù)權(quán)利要求4所述的裝置,其中,如果數(shù)據(jù)發(fā)送未繼續(xù),則所述數(shù)據(jù)結(jié)構(gòu)轉(zhuǎn)換裝置和存取數(shù)據(jù)裝置的所述連接裝置產(chǎn)生一個(gè)總線釋放信號到總線確定控制裝置,以釋放總線。
7.在全局總線網(wǎng)絡(luò)中控制數(shù)據(jù)發(fā)送的方法,該方法包括下列步驟(a)決定是否給請求總線的處理器提供總線;(b)驅(qū)動(dòng)發(fā)送數(shù)據(jù)所需的裝置的運(yùn)行;(c)在上述(a)步中,如果總線確認(rèn)信號沒有被確定,則阻塞存取數(shù)據(jù)裝置和數(shù)據(jù)結(jié)構(gòu)轉(zhuǎn)換裝置之間的連接;(d)在上述(a)步中,如果總線確認(rèn)信號被確定,則提供多個(gè)裝置之間的連接并占用總線,以開始數(shù)據(jù)發(fā)送;以及(e)在上述(d)步中,如判斷數(shù)據(jù)發(fā)送完成,則斷開多個(gè)裝置間的連接以釋放總線。
8.在具有數(shù)據(jù)結(jié)構(gòu)轉(zhuǎn)換裝置、從存儲(chǔ)器中存取數(shù)據(jù)的裝置、確定總線的裝置和請求總線的裝置的全局總線網(wǎng)絡(luò)中控制多幀數(shù)據(jù)發(fā)送的電路,包括(a)用于在總線被確定時(shí)計(jì)數(shù)所發(fā)送的幀數(shù)的裝置;(b)用于根據(jù)計(jì)數(shù)幀數(shù)裝置產(chǎn)生的LMULTI信號、確定總線裝置產(chǎn)生的TX ALLOW信號、和請求總線裝置產(chǎn)生的TX STB信號來判斷總線是否被確定的裝置;以及(c)用于檢測幀發(fā)送是否完成的裝置。
9.根據(jù)權(quán)利要求8所述的電路,其中進(jìn)一步包括通過控制總線確定裝置來消除發(fā)送幀之間的間隔的裝置。
全文摘要
本發(fā)明的全局總線網(wǎng)絡(luò)能增加信道帶寬的利用率,提供高速數(shù)據(jù)發(fā)送,能更穩(wěn)定地控制故障并減小在高通信業(yè)務(wù)負(fù)荷時(shí)發(fā)送數(shù)據(jù)期間的延遲浪費(fèi)。本網(wǎng)絡(luò)包括檢測和控制由主處理器節(jié)點(diǎn)和從處理器節(jié)點(diǎn)組成的雙節(jié)點(diǎn)結(jié)構(gòu)的故障的裝置和方法。主處理器節(jié)點(diǎn)能檢測整個(gè)網(wǎng)絡(luò)中的故障,從處理器節(jié)點(diǎn)僅能檢測自身的故障并確認(rèn)主處理器節(jié)點(diǎn)發(fā)出的故障檢測信號。本網(wǎng)絡(luò)還包括控制高速數(shù)據(jù)發(fā)送的裝置和方法,并提供多幀發(fā)送電路。
文檔編號H04L29/14GK1083644SQ9310846
公開日1994年3月9日 申請日期1993年7月14日 優(yōu)先權(quán)日1992年7月15日
發(fā)明者金昌鎬, 崔鐿愚 申請人:金星情報(bào)通信株式會(huì)社