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

在高速數(shù)據(jù)總線上并行傳輸數(shù)據(jù)的方法和設(shè)備的制作方法

文檔序號:6450183閱讀:443來源:國知局
專利名稱:在高速數(shù)據(jù)總線上并行傳輸數(shù)據(jù)的方法和設(shè)備的制作方法
本申請與1996年6月27日提交的序號為No.08/669,775,題為″碼分多址(CDMA)通信系統(tǒng)″的申請同時提交,在此引入該申請好象完全引述一樣作為參考。
一條通信總線通常包含一組用于確定哪個裝置應(yīng)發(fā)送或接收的數(shù)據(jù)線和地址線,和表明正在執(zhí)行的命令類型的控制和選通線。控制和選通線從中央處理單元單向通信。通常,所有數(shù)據(jù)線是雙向的。
寫入指令期間由CPU確證數(shù)字線,讀取期間由外圍設(shè)備確證數(shù)據(jù)線。CPU和外圍設(shè)備都針對數(shù)據(jù)線使用三態(tài)驅(qū)動器。
在計(jì)算機(jī)系統(tǒng)中,幾個數(shù)據(jù)處理裝置在一條共用數(shù)據(jù)總線上交換數(shù)據(jù),由一個有效電壓負(fù)載(pullup)實(shí)現(xiàn)高和低電壓(表示二進(jìn)制的1和0)的兩種正常狀態(tài)。然而,當(dāng)幾個處理模塊在一條數(shù)據(jù)總線上交換數(shù)據(jù)時,必須增加第三種輸出狀態(tài),即開路,以便位于總線上的另一個裝置可驅(qū)動同一條線。
由于在給定時間只有一個裝置將數(shù)據(jù)確定到總線上,使用三態(tài)或集電極開路驅(qū)動器以使連接到該總線的裝置可阻塞其總線驅(qū)動器。每個總線系統(tǒng)具有一個用于確定哪個裝置確證數(shù)據(jù)的定義協(xié)議。這樣設(shè)計(jì)總線系統(tǒng),以便一次最多只有一個裝置使其驅(qū)動器開通,而所有其它裝置被阻塞(第三狀態(tài))。一個裝置通過識別其自身在控制線上的地址了解將數(shù)據(jù)確證到總線上。該裝置查看控制線并當(dāng)其在地址線上看到其特定地址和一個讀取脈沖時確證數(shù)據(jù)。然而,必須有一些外部邏輯電路,以確保共用相同線路的三態(tài)裝置不同時談話或造成總線爭用。
總線控制邏輯電路或″總線仲裁器″針對用來仲裁對總線的控制權(quán)的協(xié)議執(zhí)行代碼??偩€主控器可以是CPU的一部分或獨(dú)立的功能元件。更重要的是,可授權(quán)另一個裝置對總線的控制權(quán)。更復(fù)雜的總線系統(tǒng)允許位于總線上的其它裝置控制該總線。
數(shù)據(jù)處理系統(tǒng)具有執(zhí)行多個存儲單元中存儲的編程指令的處理器。如

圖1所示,利用I/O裝置將進(jìn)和出系統(tǒng)的處理數(shù)據(jù)傳送到與其它數(shù)字裝置互連的總線上??偩€協(xié)議,或信號交換規(guī)則描繪了允許在裝置之間交換數(shù)據(jù)的預(yù)定的步驟順序。
為在一條共用總線上移動數(shù)據(jù),必須規(guī)定數(shù)據(jù)、接收器和傳輸時刻。因此,必須規(guī)定數(shù)據(jù)、地址和一條選通線。數(shù)據(jù)線與一個字中的比特?cái)?shù)一樣多,以便同時開通將要傳送的整個字。由附加選通總線上的脈沖同步數(shù)據(jù)傳送。地址線的數(shù)量確定可尋址裝置的數(shù)量。
通信總線是同步或異步的。在同步總線中,與系統(tǒng)中的CPU或其它地方產(chǎn)生的選通信號同步地將數(shù)據(jù)確證到總線上或從總線檢索。然而,發(fā)送該數(shù)據(jù)的裝置不知道該數(shù)據(jù)是否被接收。在異步總線中,雖然通信裝置之間的信號交換向發(fā)送裝置確保該數(shù)據(jù)被接收,增加了硬件和信令的復(fù)雜性。
在大多數(shù)高速、集中計(jì)算的多信道數(shù)據(jù)處理應(yīng)用中,必須非??焖俚叵蚧驈牧硪粋€處理裝置移動數(shù)字?jǐn)?shù)據(jù)。經(jīng)由總線在存儲器和外圍設(shè)備之間進(jìn)行數(shù)據(jù)傳送,不需要程序介入。這種方式也被稱為直接存儲器存取(DMA),在DMA傳送中,向CPU釋放總線前,該裝置經(jīng)專用的總線請求線請求存取到總線,總線主控器仲裁如何移動數(shù)據(jù)(按字節(jié)、塊或分組)。
如今普遍使用多種不同類型的總線通信系統(tǒng)和協(xié)議進(jìn)行數(shù)據(jù)傳送。如圖2的表中所示,已設(shè)計(jì)了許多方法在處理裝置之間操縱數(shù)據(jù)。除諸如小計(jì)算機(jī)系統(tǒng)接口(SCSI)和載波檢測多路存取/沖突檢測(CSMA/CD)(以太網(wǎng))網(wǎng)絡(luò)之類的標(biāo)準(zhǔn)化并行傳輸外,還存在具有高效SDLC/HDLC(同步/高電平數(shù)據(jù)鏈路控制)協(xié)議的數(shù)據(jù)通信總線。在歐洲專利申請EPS25860A2中已公開一種專用數(shù)據(jù)總線構(gòu)造。然而,在專用的、高速應(yīng)用中,希望簡化的數(shù)據(jù)通信總線。
因此,存在著對簡化數(shù)據(jù)處理系統(tǒng)構(gòu)造的需求,以使駐留在數(shù)據(jù)總線上的各種處理器模塊之間的數(shù)據(jù)和消息傳送最佳。
提供一種并行分組的模塊間仲裁高速控制數(shù)據(jù)總線系統(tǒng),該數(shù)據(jù)總線系統(tǒng)允許微處理器模塊之間在更復(fù)雜的數(shù)字處理環(huán)境中高速通信。該系統(tǒng)的特征在于以在12.5MHz工作的快速FIFO(先入先出)排隊(duì)、TTL CMOS(互補(bǔ)型金屬氧化硅)兼容電平時鐘信號、單總線主控器仲裁、同步時鐘、DMA、和對多處理器系統(tǒng)尋址的專用模塊為特征的簡化硬件構(gòu)造。本發(fā)明包括一條帶有駐留在每個處理模塊上的共用總線主控器的并行數(shù)據(jù)總線,這些處理模塊規(guī)定通信和數(shù)據(jù)傳送協(xié)議。
高速的模塊間通信總線(HSB)用于在各種微處理器模塊之間通信。數(shù)據(jù)總線是同步的并且全部為雙向。在總線上通信的每個處理模塊具有所描述的總線控制構(gòu)造。HSB包括八條用于數(shù)字?jǐn)?shù)據(jù)交換的共用并行數(shù)據(jù)線,和兩條用于仲裁和時鐘信號的輔助線。不需要顯式總線請求或授權(quán)信號。HSB也可構(gòu)成為雙重?cái)?shù)據(jù)線同時保持一個單分量電平的半冗余系統(tǒng)。由帶有起終端連接器作用的電阻負(fù)載的三態(tài)門驅(qū)動總線以使信號反射最小。
為在HSB上移動數(shù)據(jù),每個處理模塊必須指定數(shù)據(jù)、接收器、和數(shù)據(jù)何時有效的時刻。只允許一個被稱為總線主控器的消息源在任何給定時間驅(qū)動總線。由于數(shù)據(jù)流動是雙向的,總線仲裁方案建立一個協(xié)議規(guī)則,以防止當(dāng)一個給定處理模塊的微處理器正在執(zhí)行指令時數(shù)據(jù)線上出現(xiàn)沖突。仲裁方法僅取決于對仲裁總線上出現(xiàn)的沖突的檢測,并在每個數(shù)據(jù)處理模塊上使用狀態(tài)機(jī)以確定總線狀態(tài)。另外,仲裁方法不采用菊花鏈方式,允許更大的系統(tǒng)靈活性。
位于每個處理模塊上的狀態(tài)機(jī)是一個給定處理模塊中使用的微處理器和HSB之間的控制接口。該接口所需的電路由一個發(fā)送FIFO、接收FIFO、多向/雙向信號緩沖器和在EPFD(可擦除可編程邏輯器件)中執(zhí)行的狀態(tài)機(jī)的軟件代碼構(gòu)成。
本發(fā)明的再一個目的是提供一種把已處理的進(jìn)和出數(shù)字系統(tǒng)的數(shù)據(jù)從多個處理模塊傳送到互連所有數(shù)據(jù)處理硬件的總線上的簡單方法。
本發(fā)明的再一個目的是提供一種改進(jìn)的、簡單的數(shù)據(jù)傳送方法。
根據(jù)本發(fā)明的一個方面,提供了一種允許多個數(shù)據(jù)處理模塊在高速數(shù)據(jù)總線上并行傳輸數(shù)據(jù)的方法,用于還包括獨(dú)立于所述數(shù)據(jù)總線的單獨(dú)仲裁線的系統(tǒng),該方法包括以下步驟a)希望訪問所述數(shù)據(jù)總線的給定數(shù)據(jù)處理模塊在所述仲裁線上放置一唯一代碼;b)所述給定數(shù)據(jù)處理模塊監(jiān)測所述仲裁線;c)當(dāng)監(jiān)測步驟指示沒有其它的數(shù)據(jù)處理模塊在仲裁線上放置了與所述給定數(shù)據(jù)處理模塊的代碼沖突的其唯一代碼時,所述給定數(shù)據(jù)處理模塊獲得對所述數(shù)據(jù)總線的訪問;d)當(dāng)在步驟c)中沒有檢測到?jīng)_突時,所述給定數(shù)據(jù)處理模塊將數(shù)據(jù)傳送到所述數(shù)據(jù)總線上。
根據(jù)本發(fā)明的另一個方面,還提供了允許多個數(shù)據(jù)處理模塊中的任意一個在高速數(shù)據(jù)總線上以并行方式傳送數(shù)據(jù)的設(shè)備,包括獨(dú)立于所述數(shù)據(jù)總線的單獨(dú)仲裁線;并且每個數(shù)據(jù)處理模塊包含用于將一唯一代碼放置到所述仲裁線上的裝置,該唯一代碼與其余所有數(shù)據(jù)處理模塊的唯一代碼都不同;用于監(jiān)測所述仲裁線的裝置;和當(dāng)所述監(jiān)測裝置指示沒有其它的數(shù)據(jù)處理模塊在仲裁線上放置了與所述給定數(shù)據(jù)處理模塊的代碼沖突的其唯一代碼時,用于將數(shù)據(jù)傳送到所述數(shù)據(jù)總線的裝置。
在閱讀優(yōu)選實(shí)施例的詳細(xì)說明后,該系統(tǒng)和方法的其它目的和優(yōu)點(diǎn)對本領(lǐng)域技術(shù)人員來說是顯而易見。
圖2是現(xiàn)有技術(shù)的數(shù)據(jù)總線構(gòu)造表。
圖3是優(yōu)選實(shí)施例的簡化方框圖。
圖4是優(yōu)選實(shí)施例的電路示意圖。
圖5是消息發(fā)送DMA的方框圖。
圖6是消息接收DMA的方框圖。
圖7是數(shù)字處理器系統(tǒng)的方框圖。
圖8是發(fā)送指令的總流程圖。
圖9是查詢階段的狀態(tài)圖。
圖10是仲裁階段的狀態(tài)圖。
圖11是發(fā)送階段的狀態(tài)圖。
圖12是接收指令的總流程圖。
圖13是延遲階段的狀態(tài)圖。
圖14是接收階段的狀態(tài)圖。
圖3以簡化形式示出本發(fā)明的高速模塊間總線(HSB)。該優(yōu)選實(shí)施例包括一個總線控制器22,一個發(fā)送FIFO24,一個接收FIFO26,一個八比特并行數(shù)據(jù)總線28,和一個串行仲裁總線50??偩€28的端部端接多個電阻分壓器,以使信號反射最小。一條內(nèi)部8比特地址和數(shù)據(jù)總線30把發(fā)送FIFO24和接收FIFO26以及總線控制器22耦合到CPU32和位于給定處理器模塊34上的DMA控制器33。內(nèi)部地址和數(shù)據(jù)總線30還允許CPU32和總線控制器22以及諸如支持?jǐn)?shù)據(jù)處理模塊34的應(yīng)用所需的SRAM38、和DRAM40之類的各種存儲元件之間的通信。
HSB20是分成分組的消息傳送總線系統(tǒng)。各種處理器模塊可經(jīng)由本發(fā)明傳遞數(shù)據(jù)、控制和狀態(tài)消息。
HSB20以最小的延遲為多個處理器模塊34提供高速服務(wù)。除了存取數(shù)據(jù)總線28和排列每條消息的開銷外,使模塊之間的消息傳送時間持續(xù)較短。利用適當(dāng)?shù)母邥r鐘速率和一條并行數(shù)據(jù)總線28的構(gòu)造實(shí)現(xiàn)這些要求。發(fā)送FIFO24和接收FIFO26用來簡化處理模塊34的CPU32和數(shù)據(jù)總線28之間的接口并使其加速。
參考圖4,包括一個額定頻率為12.5MHz并且工作循環(huán)約50%的TTL兼容CMOS電平信號的公用時鐘信號(HSB CLK)42同步HSB20的所有部件和執(zhí)行。時鐘42的脈沖可在整個數(shù)字系統(tǒng)的任何部分中產(chǎn)生,并且其產(chǎn)生超出該公開的范圍。
并行數(shù)據(jù)總線28(HSB DAT)的線路0-7提供與CMOS電平信號兼容的8個雙向TTL。在任何一個時刻只允許一個消息源,即總線控制器或主控器22驅(qū)動總線28??偩€仲裁方案確定多個處理模塊中的哪一個可變成總線主控器以及何時實(shí)現(xiàn)該變化。
數(shù)據(jù)28和控制信號轉(zhuǎn)移與時鐘信號42邊緣的關(guān)系對在接收模塊可靠地恢復(fù)數(shù)據(jù)來說很重要。通過時鐘信號42的負(fù)或后沿將數(shù)據(jù)從發(fā)送模塊34時鐘輸出到數(shù)據(jù)總線28。然后,在尋址接收模塊通過時鐘信號42的正或前沿將該數(shù)據(jù)時鐘引入。該特性提供足夠的建立和保持時間約40ns而不違反八進(jìn)制寄存器60的最小建立時間。
在數(shù)據(jù)總線28上可發(fā)送數(shù)據(jù)前,總線控制器22必須從仲裁總線50獲得許可,以防止可能的數(shù)據(jù)沖突。消息源必須從可能的多個處理器模塊34的存取請求獲得仲裁。授權(quán)獲勝者臨時對總線的主權(quán),以便發(fā)送單個消息。數(shù)據(jù)傳送結(jié)束后,放棄對總線的主權(quán),從而允許其它處理器模塊34存取總線28。
通過本發(fā)明的串行仲裁方法,不需要顯式總線請求和授權(quán)信號。除必需集中的優(yōu)先權(quán)編碼器和常用的授權(quán)機(jī)構(gòu)外,該優(yōu)選方法還省去了復(fù)雜的信令和信號線。仲裁方法不是菊花鏈方式,以便位于總線28上的任何處理器模塊可騰空或占用,不需要對地址接線的改變。
在本發(fā)明中,集電極開路仲裁總線50允許多個處理模塊競爭對數(shù)據(jù)總線28的控制。由于數(shù)字系統(tǒng)中的處理模塊34事先不知道另一個處理模塊是否已存取仲裁總線50,HSB系統(tǒng)內(nèi)的模塊可在HSB上同時驅(qū)動高和低電平邏輯信號,從而引起仲裁沖突。該沖突的產(chǎn)生不危害驅(qū)動電路元件。然而,該沖突提供了確定總線活動的方法。
仲裁總線50包括連接到一個穩(wěn)定電壓源的負(fù)載電阻,以便提供邏輯1電平。仲裁總線驅(qū)動器52將仲裁總線50接地以驅(qū)動邏輯0電平。這樣僅當(dāng)無其它處理模塊34驅(qū)動邏輯0時得到邏輯1。如果任何處理模塊34仲裁總線50的驅(qū)動器52確證邏輯0,仲裁總線50將為低電平。
正如熟悉本領(lǐng)域的技術(shù)人員已知的,由于其性能象一個大″或非″門,如果任何裝置驅(qū)動高電平,這條線將為低電平(DeMorgan定理),該連接被稱為線″或″。一個現(xiàn)用的低電平接收機(jī)反轉(zhuǎn)邏輯0電平,產(chǎn)生一個等效的″或″門。使用正真(positive-true)邏輯約定產(chǎn)生″線與″,使用負(fù)真邏輯約定產(chǎn)生″線或″。用其來指示是否至少一個裝置正在驅(qū)動仲裁總線50,并且不需要附加邏輯電路。因此,如果處理模塊34在仲裁總線50上確證邏輯1并且經(jīng)由緩沖器53在監(jiān)測線55(BUS_ACT_N)上監(jiān)測邏輯0,處理模塊34的總線控制器22確定已發(fā)生沖突并且其已喪失對存取的仲裁。
該仲裁方法取決于沖突的檢測,并使用每個處理模塊34上的總線控制器22內(nèi)的狀態(tài)機(jī)46和48以確定仲裁總線50的狀態(tài)作為仲裁結(jié)果。仲裁總線50上的所有轉(zhuǎn)移被同步到總線時鐘信號42。每個處理器模塊34有一個提供給仲裁總線50的專用編程二進(jìn)制地址。本實(shí)施例中的裝置地址是6比特,因此產(chǎn)生63個專用處理模塊34的標(biāo)識。
位于HSB20上的每個處理模塊34監(jiān)測(經(jīng)緩沖器53)并查詢(經(jīng)緩沖器52)仲裁總線(HSBI_ARB1_N)50。6個或更多的高電平信號時鐘指示該總線不忙。如果處理模塊34希望發(fā)送消息,則通過將其自己專用的6比特地址以最明顯比特開始連續(xù)移出到仲裁總線50上開始仲裁。隨著6比特地址的每個比特移出并被檢驗(yàn),仲裁總線50上將一比特接一比特地發(fā)生沖突。第一個檢測到的沖突使希望得到存取的處理模塊34退出仲裁。如果發(fā)送模塊的發(fā)送狀態(tài)機(jī)46檢測到一個沖突,則停止驅(qū)動仲裁總線50,否則繼續(xù)移出全部6比特地址。如果成功地移出全部地址而無差錯,則獲得對數(shù)據(jù)總線28的控制權(quán)。
由于邏輯0使仲裁總線50為低電平,從而得到優(yōu)先權(quán)方案。因此,連續(xù)移動一串構(gòu)成其地址的邏輯0的處理模塊34直到移動一個邏輯1為止不識別沖突。在仲裁總線50時,具有先行零的地址實(shí)際上具有優(yōu)先權(quán)。只要總線28的業(yè)務(wù)不繁忙,該影響不明顯。
在一個替換實(shí)施例中,如果需要,可進(jìn)行測量,以增加處理器模塊34之間的公正性。這可通過改變模塊的仲裁ID或消息之間的等待周期實(shí)現(xiàn)。
在成功仲裁之后,處理器模塊34可在數(shù)據(jù)總線28上自由發(fā)送數(shù)據(jù)??偩€控制器22開通其八進(jìn)制總線收發(fā)信機(jī)(驅(qū)動器)60并以時鐘信號42的速率經(jīng)數(shù)據(jù)總線28跟隨著數(shù)據(jù)之后來發(fā)送接收模塊的地址。在此期間,作為繁忙仲裁總線50的表示,仲裁總線50由發(fā)送處理器模塊34保持低電平。所允許的最大消息長度是512字節(jié)。通常,消息為256字節(jié)或更短。成功仲裁之后,在該周期期間由該發(fā)送處理器模塊34將仲裁總線50保持為低電平,作為仲裁總線50忙的指示。
一旦數(shù)據(jù)傳送結(jié)束,總線控制器22經(jīng)線路54(HSB_A_EN_N)阻塞其八進(jìn)制總線收發(fā)信機(jī)(驅(qū)動器)60,并將仲裁總線50釋放到高電平。然后可進(jìn)行系統(tǒng)中任何地方的另一個仲裁。
一個替換實(shí)施例允許總線28的仲裁與數(shù)據(jù)傳送同時進(jìn)行,以改善整個數(shù)字系統(tǒng)的數(shù)據(jù)通過量。在該優(yōu)選實(shí)施例中,認(rèn)為該延遲不足以避免增加復(fù)雜性。
需要總線控制器22控制處理模塊34的微處理器32和HSB20之間以及HSB和總線(數(shù)據(jù)總線28和仲裁總線50)信號之間的接口。在該優(yōu)選實(shí)施例中,總線控制器22是一個Altera7000序列的EPLD(可擦除可編程邏輯器件)。8比特內(nèi)部數(shù)據(jù)總線30將總線控制器22與處理模塊34的CPU32連接。處理器模塊34的CPU32經(jīng)內(nèi)部數(shù)據(jù)總線30直接讀取和寫入總線控制器22的內(nèi)部寄存器??偩€控制器22監(jiān)測仲裁總線50的總線狀態(tài)。這是獲得用于輸出消息的控制權(quán)以及收聽和識別其地址以接收輸入消息所必需的。總線控制器22監(jiān)測并控制數(shù)據(jù)FIFO24和25、DMA控制器33、并且總線緩沖器開通54。
表1示出該優(yōu)選實(shí)施例中使用的元件表1數(shù)量 制造商 部件編號 說明 元件1 IDE或IDT7202LA-50J1Kx9接收FIFO 24Samsung KM75CO2AJ501 IDT或IDT7204LA-50J4Kx9發(fā)送FIFO 26Samsung KM75C04AJ501 TI或TI SN74ABT125 四三態(tài)驅(qū)動器 58SN74BCT1253 TI或TI SN74ABT245 TTL八進(jìn)制緩沖器60SN74BCT2451 Altera 7128E可擦除可編程邏輯器件 22需要地址解碼和DMA選通并在總線控制器22中進(jìn)行??偩€控制器22還包括許多可讀取或?qū)懭氲膬?nèi)部寄存器。CPU32通過8比特內(nèi)部數(shù)據(jù)總線30與總線控制器22通信并向總線控制器22發(fā)指令。
由總線控制器22,總線控制器22中包含的DMA和地址解碼電路處理對發(fā)送FIFO24的加載。獲得對總線28的存取并由發(fā)送狀態(tài)機(jī)處理對FIFO24的卸載。
接通電源時,總線控制器22接收硬件復(fù)位信號56。如果應(yīng)用需要模塊復(fù)位,在處理器模塊34的CPU32上運(yùn)行的應(yīng)用軟件具有經(jīng)寫入選通線復(fù)位總線控制器22的選項(xiàng)。復(fù)位后,總線控制器22監(jiān)測線路55上的仲裁總線50,以確定總線的活動并與數(shù)據(jù)總線28同步。
在不活動周期之后,總線控制器22了解到總線28處在發(fā)送消息的間隔當(dāng)中并且不忙。然后,處理器模塊34可通過仲裁請求對總線的控制權(quán)。如果沒有消息發(fā)送,總線控制器22繼續(xù)監(jiān)測仲裁總線50。
處理器模塊CPU32以約20MBps將消息寫入發(fā)送FIFO24。以25MHz運(yùn)行的Motorola68360DMA控制器33以約12.5MBps DMA發(fā)送FIFO24。由于任何一個時刻在發(fā)送FIFO24中只允許一條消息,CPU32必須在其自身的RAM40中緩沖附加發(fā)送消息。由于最大可允許的消息長度是512字節(jié),而預(yù)期消息的平均長度為256字節(jié),可保證1KB的FIFO長度不溢出。一旦發(fā)送消息成功,發(fā)送FIFO24標(biāo)記成騰空并可載入下一條消息。
由處理模塊34的CPU32以12.5MBps從RAM40向發(fā)送FIFO24發(fā)送典型的256字節(jié)的消息所用的時間小于21微秒。如果總線不忙,總線仲裁不應(yīng)占用大于1微秒。從載入一條發(fā)送消息到下一條消息總共經(jīng)歷的時間大約為43至64微秒。由于該期間不能有許多消息排隊(duì),因此不需要循環(huán)RAM緩沖。
如圖5和7所示,DMA傳送期間,DMA控制器33阻塞處理器模塊34的CPU32并接受對內(nèi)部數(shù)據(jù)總線30的控制權(quán)。由處理器模塊34或來自另一個處理器模塊134的請求完成DMA傳送。另一個處理器134成功地仲裁對數(shù)據(jù)總線28的控制權(quán)并向處理器模塊的CPU32發(fā)信號。CPU32給出許可并釋放對總線30的控制權(quán)。處理器模塊的CPU32向DMA控制器33發(fā)信號,以便開始數(shù)據(jù)傳送。DMA控制器33產(chǎn)生所需的地址并跟蹤移動的字節(jié)數(shù)以及在哪個方向移動。一個字節(jié)和地址計(jì)數(shù)器作為DMA控制器33的一部分。從處理器模塊的CPU32對二者加載以建立所希望的DMA傳送。在來自CPU32的命令中,做出DMA請求并從RAM存儲器40向發(fā)送FIFO24移動數(shù)據(jù)。
由位于總線28上的每個處理器模塊34監(jiān)測在總線28上傳送的數(shù)據(jù)。整個處理器系統(tǒng)中的每個總線控制器22包含總線28上所有裝置的目的地址。如果找到匹配地址,則開通向接收處理模塊34的FIFO26的輸入。由于FIFO26可接收多個消息,F(xiàn)IFO26的存儲量必須比發(fā)送FIFO24的大。接收FIFO26最少具有4KBx9的存儲量。按照256字節(jié)的消息長度,該存儲量允許至少16條消息在接收FIFO26內(nèi)排隊(duì)。來自多個來源的消息字符組可能造成多個消息臨時擁擠在接收FIFO26。接收模塊的CPU32對來自接收FIFO26的消息必須具有合適的通過量,否則,數(shù)據(jù)溢出將導(dǎo)致丟失信息。使用DMA從接收FIFO26向RAM40自動傳送消息。從接收FIFO26到RAM40的傳送時間通常為21微秒。
當(dāng)總線控制器22接收消息時,產(chǎn)生對DMA服務(wù)的請求。參考圖6,DMA控制器33產(chǎn)生一個接收硬件中斷(DMA DONE)的消息并向擁有內(nèi)部總線30的控制權(quán)的處理器模塊的CPU32發(fā)信號。中斷程序更新消息排隊(duì)指針并把接收FIFO26的內(nèi)容傳送到RAM存儲器40。此后,DMA控制器33準(zhǔn)備將要接收下一個消息并指向下一個可利用的消息緩沖器。這樣繼續(xù),直到傳送接收FIFO26的所有內(nèi)容為為止。由接收FIFO26經(jīng)總線控制器22向DMA控制器33發(fā)送消息信號的結(jié)束標(biāo)志。然后,處理器模塊34的CPU32重新獲得對內(nèi)部通信總線的控制權(quán)。
從一個信號源到目的地的消息傳送總共經(jīng)歷的時間約為64至85微秒。如圖7所示,計(jì)算從處理器模塊34開始發(fā)送消息時起,加載其發(fā)送FIFO24、仲裁和獲取數(shù)據(jù)總線28、向目的接收FIFO126傳送數(shù)據(jù)、把消息送到CPU132、最終將消息傳送到接受模塊134的RAM140中所用的時間。實(shí)際通過量幾乎是PCM高速通道上8KBps時隙的200倍。
控制HSB200需要兩個狀態(tài)機(jī);一個發(fā)送信息70,另一個接收信息72。以Altera的MAX+PLUS II 6.0版本的狀態(tài)機(jī)語法的形式作為可編程邏輯在總線控制器22中實(shí)現(xiàn)兩個狀態(tài)機(jī)。
任何一種任意的狀態(tài)機(jī)具有一組狀態(tài)和一組在每個時鐘邊沿用于在那些狀態(tài)之間傳送的轉(zhuǎn)移規(guī)則。轉(zhuǎn)移規(guī)則取決于目前狀態(tài)和下一個時鐘邊沿出現(xiàn)的輸入的特定組合。優(yōu)選實(shí)施例中使用的Altera EPLD22包含表示所有可能狀態(tài)的足夠寄存比特以及實(shí)施轉(zhuǎn)移規(guī)則的足夠輸入和邏輯門。
圖8示出用于發(fā)送狀態(tài)機(jī)的概括發(fā)送程序流程圖。概括流程圖70中有用于發(fā)送狀態(tài)機(jī)的查詢74、仲裁76和發(fā)送78階段的三個狀態(tài)機(jī)示意圖。
處理器模塊的CPU32開始查詢階段74。如圖9所示,除總線控制器22所需的轉(zhuǎn)移規(guī)則外示出了八個狀態(tài)以檢測總線的活動。開始后,向總線控制器22傳送發(fā)送請求,以查看是否存在總線活動。總線控制器22監(jiān)測仲裁總線50最少7個時鐘周期。針對沖突檢驗(yàn)六個內(nèi)部總線控制器的地址。如果沒檢測到?jīng)_突,在不活動的總線上做出仲裁請求。
如圖10所示,仲裁請求設(shè)定觸發(fā)器80并開始送出一個專用標(biāo)識符,其后是仲裁總線(HSBI_ARB1_N)50上的六個地址位。如果發(fā)送的任何比特與所監(jiān)測到的不同,則檢測到?jīng)_突。如果六個比特成功地移到總線28上,該特定總線控制器22擁有對總線的主權(quán)并占用該總線。然后設(shè)定發(fā)送FIFO24的讀取開通。如果任何一個比特遇到?jīng)_突,仲裁總線50處于忙狀態(tài)并且處理器模塊34停止仲裁。
參考圖11,發(fā)送FIFO24的讀取開通設(shè)定一個觸發(fā)器82并開始發(fā)送開通。發(fā)送FIFO24的內(nèi)容通過總線控制器22,經(jīng)八進(jìn)制總線收發(fā)信機(jī)60輸出到數(shù)據(jù)總線28上。發(fā)送數(shù)據(jù)直到遇到消息的結(jié)束標(biāo)記為止。一旦發(fā)送FIFO24騰空,輸出一個清除發(fā)送請求信號,總線控制器22返回以監(jiān)測總線28。
控制接收FIFO26的狀態(tài)機(jī)同樣減少到兩個狀態(tài)機(jī)。如圖12所示,示出控制接收FIFO26的概括流程圖。
參考圖12,總線控制器22對仲裁總線50持續(xù)監(jiān)測7個時鐘周期的時間。通過接收來自另一個處理器模塊34的總線控制器22的引導(dǎo)開始位確定總線活動。如果7個時鐘周期后仍未占用該總線,將一個接收告警信號輸入到接收觸發(fā)器89。
如圖13所示,總線控制器22檢驗(yàn)所發(fā)送數(shù)據(jù)的第一比特,并將該比特與其自身地址比較。如果第一數(shù)據(jù)比特是該總線控制器22的專用標(biāo)識符,則累積數(shù)據(jù)直到遇到消息的結(jié)束標(biāo)記。如果第一數(shù)據(jù)比特不是該收聽總線控制器22的專用標(biāo)識符,總線控制器22則返回收聽狀態(tài)。
有兩個發(fā)送消息的軟件的實(shí)施例。由于未執(zhí)行系統(tǒng)中斷,第一實(shí)施例允許平均等待50微秒發(fā)送消息。這樣簡化了排隊(duì)和未排隊(duì)的消息。第二實(shí)施例假設(shè)該消息快速發(fā)送,操作系統(tǒng)快速且優(yōu)先,快速處理系統(tǒng)的中斷,在發(fā)送消息時不允許處理器32空閑。
發(fā)送DMA結(jié)束時,必須進(jìn)行數(shù)據(jù)總線28的仲裁。成功地仲裁數(shù)據(jù)總線28后,總線控制器22可以釋放發(fā)送FIFO24,從而將內(nèi)容放置在數(shù)據(jù)總線28上。騰空標(biāo)記向總線控制器22和處理器模塊34的CPU32發(fā)出結(jié)束傳送的信號。
雖然已給出并描述了本發(fā)明的具體實(shí)施例,本領(lǐng)域技術(shù)人員在不脫離本發(fā)明精神和范圍的情況下可做出許多改進(jìn)和變化。上面的描述是對本發(fā)明的說明,而不是在任何方面限定該特定形式。
權(quán)利要求
1.一種允許多個數(shù)據(jù)處理模塊在高速數(shù)據(jù)總線上并行傳輸數(shù)據(jù)的方法,用于還包括獨(dú)立于所述數(shù)據(jù)總線的單獨(dú)仲裁線的系統(tǒng),該方法包括以下步驟a)希望訪問所述數(shù)據(jù)總線的給定數(shù)據(jù)處理模塊在所述仲裁線上放置一唯一代碼;b)所述給定數(shù)據(jù)處理模塊監(jiān)測所述仲裁線;c)當(dāng)監(jiān)測步驟指示沒有其它的數(shù)據(jù)處理模塊在仲裁線上放置了與所述給定數(shù)據(jù)處理模塊的代碼沖突的其唯一代碼時,所述給定數(shù)據(jù)處理模塊獲得對所述數(shù)據(jù)總線的訪問;d)當(dāng)在步驟c)中沒有檢測到?jīng)_突時,所述給定數(shù)據(jù)處理模塊將數(shù)據(jù)傳送到所述數(shù)據(jù)總線上。
2.如權(quán)利要求1所述的方法,其中每個唯一代碼是具有多個二進(jìn)制位的二進(jìn)制代碼,并且在所述步驟a)中,所述給定數(shù)據(jù)處理模塊串行地將所述位施加到所述仲裁線。
3.如權(quán)利要求1所述的方法,其中由一上拉電阻將所述仲裁線維持在一給定電壓,并且所述步驟a)還包括通過一驅(qū)動單元將其唯一代碼施加到該仲裁線。
4.如權(quán)利要求1所述的方法,其中,當(dāng)給定數(shù)據(jù)處理模塊在步驟a)中在仲裁線上確定了一給定二進(jìn)制電平并且在步驟b)中檢測到了一相反二進(jìn)制電平時,該給定數(shù)據(jù)處理模塊被阻止對數(shù)據(jù)總線進(jìn)行用于傳送數(shù)據(jù)的訪問。
5.如權(quán)利要求1所述的方法,還包括當(dāng)在步驟b)中檢測到的二進(jìn)制電平與在步驟a)中傳送的二進(jìn)制電平匹配時,該給定數(shù)據(jù)處理模塊在該數(shù)據(jù)總線上傳送數(shù)據(jù)。
6.如權(quán)利要求2所述的方法,還包括當(dāng)在步驟b)中檢測到的數(shù)據(jù)位與在步驟a)中傳送的唯一代碼的數(shù)據(jù)位不匹配時,該給定數(shù)據(jù)處理模塊被阻止在該數(shù)據(jù)總線上傳送數(shù)據(jù)。
7.如權(quán)利要求6所述的方法,其中,一旦在步驟a)中傳送的數(shù)據(jù)位與在步驟b)中監(jiān)測的數(shù)據(jù)比較時發(fā)生第一不匹配情況,該給定數(shù)據(jù)處理模塊被阻止將數(shù)據(jù)傳送到該數(shù)據(jù)總線。
8.如權(quán)利要求1所述的方法,還包括所述給定數(shù)據(jù)處理模塊放置一接收方的唯一代碼,其中該接收方用于接收由所述給定數(shù)據(jù)處理模塊傳送的數(shù)據(jù),從而當(dāng)所述數(shù)據(jù)總線上的代碼與接收方數(shù)據(jù)處理模塊的唯一代碼匹配時,僅有接收方數(shù)據(jù)處理模塊從所述數(shù)據(jù)總線接收所述數(shù)據(jù)。
9.允許多個數(shù)據(jù)處理模塊中的任意一個在高速數(shù)據(jù)總線上以并行方式傳送數(shù)據(jù)的設(shè)備,包括獨(dú)立于所述數(shù)據(jù)總線的單獨(dú)仲裁線;并且每個數(shù)據(jù)處理模塊包含用于將一唯一代碼放置到所述仲裁線上的裝置,該唯一代碼與其余所有數(shù)據(jù)處理模塊的唯一代碼都不同;用于監(jiān)測所述仲裁線的裝置;和當(dāng)所述監(jiān)測裝置指示沒有其它的數(shù)據(jù)處理模塊在仲裁線上放置了與所述給定數(shù)據(jù)處理模塊的代碼沖突的其唯一代碼時,用于將數(shù)據(jù)傳送到所述數(shù)據(jù)總線的裝置。
10.如權(quán)利要求9所述的設(shè)備,其中每個唯一代碼是具有多個二進(jìn)制位的二進(jìn)制代碼,并且所述用于放置的裝置串行地將所述二進(jìn)制位施加到所述仲裁線。
11.如權(quán)利要求9所述的設(shè)備,其中由一上拉電阻將所述仲裁線維持在一給定電壓,并且每個數(shù)據(jù)處理模塊還包括用于將其唯一代碼施加到該仲裁線的一驅(qū)動單元。
12.如權(quán)利要求9所述的設(shè)備,其中每個數(shù)據(jù)處理模塊還包括一裝置,其響應(yīng)施加到仲裁線的給定二進(jìn)制電平和由所述監(jiān)測裝置檢測的相反二進(jìn)制電平,以阻止數(shù)據(jù)處理模塊對數(shù)據(jù)總線進(jìn)行用于傳送數(shù)據(jù)的訪問。
13.如權(quán)利要求9所述的設(shè)備,其中每個數(shù)據(jù)處理模塊包括一裝置,其響應(yīng)施加到仲裁線的給定二進(jìn)制電平和由所述監(jiān)測裝置檢測的匹配二進(jìn)制電平,以允許該數(shù)據(jù)處理模塊訪問該數(shù)據(jù)總線以傳送數(shù)據(jù)。
14.如權(quán)利要求9所述的設(shè)備,其特征還在于該給定數(shù)據(jù)處理模塊包括一裝置,當(dāng)由監(jiān)測裝置檢測的數(shù)據(jù)位與施加到仲裁線的唯一代碼的數(shù)據(jù)位不匹配時,該裝置阻止在數(shù)據(jù)總線上進(jìn)行數(shù)據(jù)傳送。
15.如權(quán)利要求9所述的設(shè)備,其特征還在于當(dāng)由監(jiān)測裝置檢測的數(shù)據(jù)位與由用于放置的裝置施加到仲裁線上的唯一代碼的數(shù)據(jù)位匹配時,該給定數(shù)據(jù)處理模塊將數(shù)據(jù)傳送到數(shù)據(jù)總線。
全文摘要
本發(fā)明公開了一種允許多個數(shù)據(jù)處理模塊在高速數(shù)據(jù)總線上并行傳輸數(shù)據(jù)的方法,用于還包括獨(dú)立于所述數(shù)據(jù)總線的單獨(dú)仲裁線的系統(tǒng),該方法包括以下步驟a)希望訪問所述數(shù)據(jù)總線的給定數(shù)據(jù)處理模塊在所述仲裁線上放置一唯一代碼;b)所述給定數(shù)據(jù)處理模塊監(jiān)測所述仲裁線;c)當(dāng)監(jiān)測步驟指示沒有其它的數(shù)據(jù)處理模塊在仲裁線上放置了與所述給定數(shù)據(jù)處理模塊的代碼沖突的其唯一代碼時,所述給定數(shù)據(jù)處理模塊獲得對所述數(shù)據(jù)總線的訪問;d)當(dāng)在步驟c)中沒有檢測到?jīng)_突時,所述給定數(shù)據(jù)處理模塊將數(shù)據(jù)傳送到所述數(shù)據(jù)總線上。
文檔編號G06F13/374GK1442795SQ0312055
公開日2003年9月17日 申請日期2003年3月11日 優(yōu)先權(quán)日1996年6月27日
發(fā)明者羅伯特T·里吉斯 申請人:交互數(shù)字技術(shù)公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1