專利名稱:用于傳送數(shù)據(jù)的數(shù)據(jù)處理設(shè)備以及方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種用于把數(shù)據(jù)從第一處理器系統(tǒng)的第一存儲器傳送至第二處理器系統(tǒng)的第二存儲器的數(shù)據(jù)處理設(shè)備以及方法。例如,本發(fā)明可以用于建立兩個(gè)或更多處理器之間的通信。本發(fā)明特別涉及設(shè)置在同一半導(dǎo)體電路小片上的處理器之間的相互處理器通信。
依照本發(fā)明的用于傳送數(shù)據(jù)的數(shù)據(jù)處理設(shè)備以及方法總體上支持使用多微處理器的應(yīng)用程序,其中處理器核心之間大塊數(shù)據(jù)的快速交換是必要的。這包括移動電話、聯(lián)網(wǎng)的個(gè)人數(shù)字助理(PDA),聯(lián)網(wǎng)裝備或通用計(jì)算裝備,其中不同的處理器核心在數(shù)據(jù)必須跨越處理器邊界的系統(tǒng)中共享不同的任務(wù)。
隨著對更大功率的計(jì)算設(shè)備的需要的增加,提供越來越多的包括不只是一個(gè)處理器的系統(tǒng)。
存在這樣的系統(tǒng),其中兩個(gè)或更多處理器被集成在同一芯片或半導(dǎo)體電路小片上。典型實(shí)例是智能卡,其在同一半導(dǎo)體電路小片上具有主處理器以及隱藏處理器。
隨著小型手持設(shè)備變得越來越流行,對功能強(qiáng)大以及靈活的芯片的需要也不斷增加。典型實(shí)例是便攜式電話,開始時(shí),它的傳播作用僅僅是語音傳輸?shù)碾娫?,即,用于模擬通信。近幾年來,已經(jīng)增添了附加的特征,并且大多數(shù)當(dāng)今的便攜式電話被設(shè)計(jì)成用于語音以及數(shù)據(jù)服務(wù)。增加的微分器是無線應(yīng)用協(xié)議(WAP)支持、傳呼以及短消息系統(tǒng)(SMS)功能,僅僅用于命名某些新發(fā)展。所有這些特征都要求功能性更強(qiáng)的處理器并且甚至往往要求雙處理器或多處理器芯片。
以后,處理例如數(shù)字視頻流的系統(tǒng)將變得可用。此系統(tǒng)還要求功能性強(qiáng)并且靈活的芯片集。
其它例子是集成電路卡、諸如多目的JavaCards、小型手持設(shè)備,諸如掌上型計(jì)算機(jī)或個(gè)人數(shù)字助理(PDA)等等。
在Ghodrat及其他人提出的USP 6 266 723中,描述了一種用于優(yōu)化外圍組件互聯(lián)PCI總線傳送的方法以及系統(tǒng)。這種方法和設(shè)備是特別為優(yōu)化數(shù)據(jù)處理系統(tǒng)中總線上的數(shù)據(jù)傳送而提供的。為此目的,所述數(shù)據(jù)處理系統(tǒng)包括中央處理單元、存儲器子系統(tǒng)、用于接收傳送數(shù)據(jù)的總線事務(wù)的總線以及連接至所述總線的設(shè)備。此設(shè)備還包括總線事務(wù)啟動器,用于產(chǎn)生總線事務(wù)請求,總線事務(wù)優(yōu)化器,用于響應(yīng)于接收原始總線事務(wù)請求來產(chǎn)生多個(gè)總線事務(wù)請求,并且其中這些請求包括高性能總線事務(wù)請求以及低性能總線事務(wù)請求。所述設(shè)備還包括總線接口單元,其用于響應(yīng)于接收總線事務(wù)請求來控制總線事務(wù)。
Melo及其他人提出的USP 6 212 590描述了具有延遲事務(wù)判優(yōu)機(jī)制的集成總線橋接設(shè)計(jì)的計(jì)算機(jī)系統(tǒng)。將其應(yīng)用于對接至擴(kuò)展基的膝上型計(jì)算機(jī)內(nèi),借此可以獲得較高的性能。所述系統(tǒng)包括便攜式計(jì)算機(jī)中的次級總線橋接設(shè)備,并且包括所述便攜式計(jì)算機(jī)對接的擴(kuò)展基中的另一個(gè)次級總線橋接設(shè)備。擴(kuò)展基中的外圍設(shè)備可以初始化延遲周期來經(jīng)由主總線橋接設(shè)備向存儲器讀取或?qū)懭霐?shù)據(jù),其中所述主總線橋接設(shè)備還耦合至CPU。兩個(gè)總線橋接設(shè)備均包括判優(yōu)器,用于控制連接兩個(gè)次級橋接設(shè)備的外圍總線的判優(yōu)。
在Melo及其他人提出的USP 6 279 087中,描述了一種用于在支持寫寄送操作的總線橋中保持相關(guān)性并且改善性能的系統(tǒng)和方法。所述橋在耦合至處理器總線的微處理器、耦合至存儲器總線的主存儲器以及耦合至外圍總線的外圍設(shè)備之間提供接口。為了保持相關(guān)性,所述橋在某些情況下禁止寄送,并且在允許某些讀請求被服務(wù)以前刷新寄送的寫事務(wù)。至少在Melo及其他人提出的USP 6 199 131中,描述了采用優(yōu)化的延遲事務(wù)判優(yōu)技術(shù)的計(jì)算機(jī)系統(tǒng)。缺點(diǎn)是,兩個(gè)方法都不允許同時(shí)讀取和寫入數(shù)據(jù)。
在Pardillos提出的USP 5 642 482中,描述了一種使用通信協(xié)同處理器進(jìn)行網(wǎng)絡(luò)傳輸?shù)南到y(tǒng),其包括用于實(shí)現(xiàn)協(xié)議層的微處理器以及用于管理直接存儲器訪問的微處理器。用于在計(jì)算機(jī)總線和網(wǎng)絡(luò)之間傳輸數(shù)據(jù)的系統(tǒng)包括連接至所述總線并且連接至網(wǎng)絡(luò)連接的適配器的通用單元,并且還包括第一微處理器以及用于在所述總線和適配器之間傳送幀的單元,所述適配器包括在兩者之間連接的雙端口存儲器。所述系統(tǒng)還包括連接至通用單元的通信協(xié)同處理器。所述通信協(xié)同處理器包括第二微處理器,用于通過向每個(gè)幀提供適用于協(xié)議的控制數(shù)據(jù)來為每個(gè)通信層實(shí)現(xiàn)相應(yīng)的協(xié)議。所述第二微處理器相連到第一微處理器和雙端口存儲器。最后,所述系統(tǒng)包括第三微處理器,用于提供第二微處理器和雙端口存儲器之間的數(shù)據(jù)傳送的直接存儲器訪問管理。
此方案的缺點(diǎn)在于由于在整個(gè)數(shù)據(jù)塊或字可由相對的處理器讀出以前必須把它們首先寫入雙端口存儲器,所以存在塊或單個(gè)傳送的高的等待時(shí)間。在所有這些時(shí)間內(nèi),所述處理器從事傳送。另一缺點(diǎn)在于固件包含于執(zhí)行傳送的兩個(gè)處理器塊傳送。兩側(cè)上的傳送功能還必須一致。
在Honda提出的USP 5 916 296中描述了另外的多處理器系統(tǒng)。其中描述的雙處理器自動控制系統(tǒng)包括具有只讀存儲器(ROM)的主機(jī)微處理器、隨機(jī)訪問存儲器(RAM)、中央處理單元(CPU)和直接存儲器訪問(DMA)控制器。所述系統(tǒng)還包括敲擊-控制系統(tǒng)微處理器,裝備有ROM、RAM、CPU和DMA控制器。所述主機(jī)微處理器和所述敲擊-控制系統(tǒng)微處理器由雙向通信線路連接。
此方案的缺點(diǎn)在于兩個(gè)DMA控制器之間的雙向通信線路沒有采用流水線緩沖器。
本發(fā)明的一個(gè)目的在于提供一種用于把數(shù)據(jù)從第一處理器傳送至第二處理器的數(shù)據(jù)處理設(shè)備和方法,其中在兩個(gè)處理器之間可以同時(shí)雙向交換數(shù)據(jù)。
本發(fā)明的另一目的在于把數(shù)據(jù)從第一處理器傳送至另一處理器,其中等待時(shí)間盡可能的短,所述等待時(shí)間指的是意圖發(fā)送數(shù)據(jù)和總線對于傳送可用的時(shí)間點(diǎn)之間的時(shí)間。
本發(fā)明的又一目的在于優(yōu)化兩個(gè)處理器核心的性能。把數(shù)據(jù)從一個(gè)處理器傳送至另一處理器將不會消耗處理器核心的性能,并且由此防止系統(tǒng)的總體性能的減少。
如果在依照現(xiàn)有技術(shù)的系統(tǒng)中所述處理器時(shí)鐘速度千差萬別,那么這將使較快的處理器變慢并且降低數(shù)據(jù)傳送期間整個(gè)系統(tǒng)的性能。由此,本發(fā)明的另一目的在于當(dāng)處理器以不同的時(shí)鐘頻率運(yùn)行時(shí),防止處理器和系統(tǒng)性能的損失。
與用于只傳送單個(gè)數(shù)據(jù)字的系統(tǒng)相比,用于傳送較大數(shù)據(jù)塊的系統(tǒng)需要不同的硬件實(shí)現(xiàn)。本發(fā)明的一個(gè)目的還在于提供一種用于把數(shù)據(jù)從第一處理器傳送至第二處理器的數(shù)據(jù)處理設(shè)備和方法,其中傳送較大數(shù)據(jù)塊像傳送單個(gè)字一樣來利用。
一旦把數(shù)據(jù)從具有第一處理器的一個(gè)子系統(tǒng)傳送至具有第二處理器的另一個(gè)子系統(tǒng),現(xiàn)有技術(shù)解決方案往往要求附加過程來把數(shù)據(jù)移動到所述子系統(tǒng)內(nèi)的期望位置。缺點(diǎn)是,這樣做進(jìn)一步降低了處理器性能。因此,本發(fā)明的另一目的在于提供一種用于把數(shù)據(jù)從第一處理器傳送至第二處理器的數(shù)據(jù)處理設(shè)備和方法,其中把數(shù)據(jù)傳送至子系統(tǒng)內(nèi)的期望位置不會影響處理器性能。
所述問題是通過具有如獨(dú)立的裝置權(quán)利要求所述的特征的數(shù)據(jù)處理設(shè)備來解決的,所述設(shè)備主要包括鏈接到第一總線的第一處理單元,鏈接到第二總線的第二處理單元,鏈接到所述第一總線的第一總線主設(shè)備,鏈接到所述第二總線的第二總線主設(shè)備,使所述第一和所述第二總線主設(shè)備彼此鏈接的通信信道以及用于在兩個(gè)總線主設(shè)備之間經(jīng)由通信信道傳送數(shù)據(jù)的控制器。
用于把數(shù)據(jù)從第一處理器傳送至第二處理器的適當(dāng)方法包括在獨(dú)立的方法權(quán)利要求中列出的特征。依照本發(fā)明的用于把數(shù)據(jù)從第一處理器系統(tǒng)的第一存儲器傳送至第二處理器系統(tǒng)的第二存儲器的此方法,包括如下步驟第一存儲器利用第一時(shí)鐘速率經(jīng)由第一總線把數(shù)據(jù)發(fā)送至由第一總線主設(shè)備控制的第一流水線;隨后,借助于第二總線主設(shè)備利用第二時(shí)鐘速率的把數(shù)據(jù)從第一流水線經(jīng)由第二總線傳送至第二存儲器。
有益的是,本發(fā)明的進(jìn)一步的演變可以參見從屬權(quán)利要求中列出的特征。
依照本發(fā)明實(shí)施例的數(shù)據(jù)處理設(shè)備中的第一和第二通信信道包括緩沖器。由此,從一個(gè)處理器核心至另一個(gè)處理器核心的數(shù)據(jù)傳送被緩沖,因此,較快處理器的性能不會受到較慢處理器的性能的影響。因此,數(shù)據(jù)傳送不會降低上級系統(tǒng)的整體性能。
在依照本發(fā)明的數(shù)據(jù)處理設(shè)備的另一個(gè)實(shí)施例中,每個(gè)緩沖器均具有第一和第二時(shí)鐘輸入端,其中第一時(shí)鐘輸入端與第一總線主設(shè)備鏈接,而第二時(shí)鐘輸入端與第二總線主設(shè)備鏈接。此實(shí)施例的優(yōu)勢在于如果處理器速度明顯不同,那么此方案不會使較快的處理器變慢,并且在數(shù)據(jù)傳送期間不會降低較快系統(tǒng)的性能。例如,所述數(shù)據(jù)可以利用第一處理器的時(shí)鐘被寫入第一緩沖器,并且數(shù)據(jù)可以利用第二處理器的時(shí)鐘速率從第一緩沖器中被讀出。
在依照本發(fā)明的數(shù)據(jù)處理設(shè)備的進(jìn)一步的實(shí)施例中,第一總線具有第一總線寬度,而第二總線具有第二總線寬度,并且第一和第二通信信道包括用于適應(yīng)所述總線寬度的適應(yīng)單元。這具有如下好處,即數(shù)據(jù)傳送對軟件是透明的。
在依照本發(fā)明的數(shù)據(jù)處理設(shè)備的又一實(shí)施例中,第一總線具有一種類型的字節(jié)次序,而第二總線具有另一類型的字節(jié)次序。此外,第一和第二通信信道包括用于適應(yīng)所述字節(jié)次序的又一適應(yīng)單元。由此,即使兩個(gè)子系統(tǒng)具有不同的字節(jié)次序,也可以確保處理器之間的數(shù)據(jù)傳送。例如,如果一個(gè)子系統(tǒng)利用低位在前(littleendian)結(jié)構(gòu)來工作,而另一個(gè)子系統(tǒng)利用高位在前(big endian)結(jié)構(gòu),那么這兩個(gè)子系統(tǒng)之間的通信仍然是可能的。
此外,依照本發(fā)明的數(shù)據(jù)處理設(shè)備的控制單元可以包括用于單數(shù)據(jù)傳送的輸出寄存器,其輸入端與第一總線相連。多路復(fù)用器接入所述通信信道之一,并且連接至從屬訪問輸出寄存器。以此,單數(shù)據(jù)傳送或數(shù)據(jù)塊傳送得以實(shí)現(xiàn)。
進(jìn)一步建議的是,在數(shù)據(jù)處理設(shè)備中,處理單元之一是主設(shè)備,而其它處理單元是從設(shè)備。所述控制單元與主設(shè)備相連以便接收并且發(fā)送控制和狀態(tài)信號。
有益的是,依照本發(fā)明的數(shù)據(jù)處理設(shè)備的控制單元包括地址寄存器產(chǎn)生器,其輸入端與主設(shè)備相連,并且其輸出端與第一總線主設(shè)備相連,并且所述控制單元包括另一地址寄存器產(chǎn)生器,其輸入端與主設(shè)備相連并且其輸出端與第二總線主設(shè)備相連。
此外,依照本發(fā)明的數(shù)據(jù)處理設(shè)備的控制單元可以被配備以便地址得以自動遞增。于是,利用地址的生成沒有子系統(tǒng)被加載。
在另一有益的實(shí)施例中,依照本發(fā)明的數(shù)據(jù)處理設(shè)備的控制單元可以被配備以便使地址可以依照環(huán)形緩沖模式被產(chǎn)生。
有益的是,依照本發(fā)明的數(shù)據(jù)處理設(shè)備的控制單元包括連接至第一總線的字計(jì)數(shù)器。
依照本發(fā)明的另一實(shí)施例,所述控制單元被配備以便當(dāng)緩沖器已滿時(shí),使數(shù)據(jù)傳送可以被掛起。以此,可以防止緩沖器溢出以及由此造成的數(shù)據(jù)丟失的結(jié)果。
在依照本發(fā)明的數(shù)據(jù)處理設(shè)備的另一方面中,所述控制單元被配備以便使總線訪問負(fù)載可以被控制,如此使得總線訪問負(fù)載被控制在預(yù)定值以下。
此外,依照本發(fā)明的數(shù)據(jù)處理設(shè)備可以被配備以便使作為主設(shè)備的第一處理器可以掛起數(shù)據(jù)傳送。
在依照本發(fā)明的數(shù)據(jù)處理設(shè)備的另一個(gè)實(shí)施例中,第一總線主設(shè)備被配備以便使其可以檢測有關(guān)地址調(diào)整或非法地址的錯(cuò)誤并且將此轉(zhuǎn)發(fā)至控制單元。
在依照本發(fā)明的用于傳送數(shù)據(jù)的方法的又一實(shí)施例中,從第二處理器到第一處理器的數(shù)據(jù)傳送包括如下步驟所述第二存儲器借助于第二總線主設(shè)備利用第二時(shí)鐘速率把數(shù)據(jù)經(jīng)由第二總線發(fā)送至第二流水線。過后,借助于第一總線主設(shè)備利用第一時(shí)鐘速率把數(shù)據(jù)從第二流水線經(jīng)由第一總線傳送到第一存儲器。
附圖
示出了依照本發(fā)明的數(shù)據(jù)處理設(shè)備的框圖。
本發(fā)明提供了一種在多處理器系統(tǒng)中數(shù)據(jù)交換的改進(jìn)方案。在圖中示出了兩個(gè)處理器系統(tǒng)的實(shí)施例,其中所述處理器系統(tǒng)具有經(jīng)由流水線鏈接至遠(yuǎn)程總線主設(shè)備的本地主設(shè)備。
在圖中示出的依照本發(fā)明的數(shù)據(jù)處理設(shè)備包括第一處理器A,用參考標(biāo)記1表示,其可以是中央處理單元(CPU),還包括第二處理器B,用參考標(biāo)記2表示,其例如可以是數(shù)字信號處理器(DSP)。第一處理器A(用參考標(biāo)記5表示)經(jīng)由第一總線A被鏈接至本地總線主設(shè)備3。第二處理器B(用參考標(biāo)記6表示)經(jīng)由第二總線B被鏈接至遠(yuǎn)程總線主設(shè)備4。所述系統(tǒng)還包括鏈接到第一總線5的第一存儲器A,以及鏈接到第二總線6的第二存儲器B。
第一子系統(tǒng)包括第一處理器A、第一總線A、第一存儲器A以及本地總線主設(shè)備3。第二子系統(tǒng)包括第二處理器B、第二總線B、第二存儲器B以及遠(yuǎn)程總線主設(shè)備4。
所述數(shù)據(jù)傳送是由兩個(gè)通信信道執(zhí)行的,其中第一通信信道把數(shù)據(jù)從遠(yuǎn)程總線主設(shè)備4傳送至本地總線主設(shè)備3,而第二通信信道把數(shù)據(jù)從本地總線主設(shè)備3傳送至遠(yuǎn)程總線主設(shè)備4。第一通信信道還被稱為RX-信道,而第二通信信道還稱為TX-信道。所述RX-信道包括RX流水線,其輸入端與遠(yuǎn)程總線主設(shè)備4的數(shù)據(jù)輸出端R_data_out相連,并且其數(shù)據(jù)輸出端7.4經(jīng)由適應(yīng)單元20與本地總線主設(shè)備3的數(shù)據(jù)輸入端L_data_in相連。所述TX-信道包括TX流水線8,其輸入端經(jīng)由多路復(fù)用器10和第二適應(yīng)單元21與本地總線主設(shè)備3的數(shù)據(jù)輸出端L_data_out相連,并且其數(shù)據(jù)輸出端8.5與遠(yuǎn)程總線主設(shè)備4的數(shù)據(jù)輸入端R_data_in相連。
第一適應(yīng)單元20被提供以便把從遠(yuǎn)程總線主設(shè)備4的數(shù)據(jù)輸出端R_data_out遞送的數(shù)據(jù)轉(zhuǎn)換為適于本地總線主設(shè)備3的格式。特別是,如果遠(yuǎn)程總線主設(shè)備4在具有m1條線路的數(shù)據(jù)總線上遞送其輸出數(shù)據(jù),而本地總線主設(shè)備的數(shù)據(jù)總線具有n1條線路,那么第一適應(yīng)單元20轉(zhuǎn)換所述數(shù)據(jù),以便使它們適合于本地總線主設(shè)備3的數(shù)據(jù)總線。如果遠(yuǎn)程總線主設(shè)備4以低位在前格式(計(jì)算機(jī)工業(yè)中已知的第一字節(jié)尋址格式)遞送其輸出數(shù)據(jù)R_data_out,但是本地總線主設(shè)備3需要具有以高位在前格式(計(jì)算機(jī)工業(yè)中已知的第二字節(jié)尋址格式)的數(shù)據(jù)時(shí),那么第一適應(yīng)單元20適當(dāng)?shù)剞D(zhuǎn)換輸出數(shù)據(jù)R_data_out。是否必須轉(zhuǎn)換來自于遠(yuǎn)程總線主設(shè)備4的輸出數(shù)據(jù)R_data_out取決于控制單元9,其與第一適應(yīng)單元20的控制輸入端20.1鏈接。
第二適應(yīng)單元21被提供以便把從本地總線主設(shè)備3的數(shù)據(jù)輸出端L_data_out遞送的數(shù)據(jù)轉(zhuǎn)換為適于遠(yuǎn)程總線主設(shè)備4的格式。如果本地總線主設(shè)備3在具有n2條線路的數(shù)據(jù)總線上遞送其輸出數(shù)據(jù),而遠(yuǎn)程總線主設(shè)備的數(shù)據(jù)總線具有m2條線路,那么第二適應(yīng)單元21轉(zhuǎn)換所述輸出數(shù)據(jù),以便使它們適合于遠(yuǎn)程總線主設(shè)備4的數(shù)據(jù)總線。如果所述本地總線主設(shè)備3依照低位在前格式遞送其輸出數(shù)據(jù)L_data_out,但是遠(yuǎn)程總線主設(shè)備4需要具有高位在前格式的數(shù)據(jù),那么第二適應(yīng)單元21適當(dāng)?shù)剞D(zhuǎn)換輸出數(shù)據(jù)L_data_out。類似地,如果來自于本地總線主設(shè)備3的輸出數(shù)據(jù)L_data_out依照高位在前格式被遞送,但是遠(yuǎn)程總線主設(shè)備4要求依照低位在前格式,那么也是有效的。是否必須轉(zhuǎn)換來自于本地總線主設(shè)備3的輸出數(shù)據(jù)L_data_out取決于控制單元9,其與第二適應(yīng)單元21的控制輸入端21.1鏈接。
在本發(fā)明的所示出的實(shí)施例中,所述RX流水線包括先進(jìn)先出(FIFO)緩沖器7,其具有時(shí)鐘輸入端7.1和7.2。所述時(shí)鐘輸入端7.1與遠(yuǎn)程總線主設(shè)備4相連,同時(shí)時(shí)鐘輸入端7.2與本地總線主設(shè)備3相連。借此,能夠?qū)崿F(xiàn)從遠(yuǎn)程總線主設(shè)備4至本地總線主設(shè)備3的異步數(shù)據(jù)傳送。如果第一處理器A的時(shí)鐘和第二處理器B的時(shí)鐘非常不同,那么這也不會在數(shù)據(jù)傳送期間使較快處理器變慢并且不會降低較快子系統(tǒng)的性能,這是因?yàn)樘幚砥?和2的時(shí)鐘速率由緩沖器7去耦。例如,所述數(shù)據(jù)可以依照處理器B的時(shí)鐘被寫入緩沖器7,并且數(shù)據(jù)可以依照處理器A的時(shí)鐘速率從緩沖器7中被讀出。
為了防止緩沖器欠載運(yùn)行或者緩沖器溢出,緩沖器7經(jīng)由其緩沖控制輸入端7.3被連接至控制單元9的RX-控制單元11的控制輸出端??偟膩碚f,所述RX-控制單元11控制緩沖器7。所述RX-控制單元11通過狀態(tài)線7.4獲取經(jīng)由緩沖器7接收的數(shù)據(jù)的狀態(tài)。
所述TX流水線包括緩沖器8,所述緩沖器8具有兩個(gè)時(shí)鐘輸入端8.1和8.2,所述緩沖器8也是先進(jìn)先出緩沖器。緩沖器8的第一時(shí)鐘輸入端8.1與所述遠(yuǎn)程總線主設(shè)備4相連,而緩沖器8的第二時(shí)鐘輸入端8.2與本地總線主設(shè)備3相連。借此,還能夠?qū)崿F(xiàn)從本地總線主設(shè)備3至遠(yuǎn)程總線主設(shè)備4的異步數(shù)據(jù)傳送。如果第一處理器A的時(shí)鐘和第二處理器B的時(shí)鐘明顯不同,那么這也不會在數(shù)據(jù)傳送期間使較快處理器變慢并且不會降低較快子系統(tǒng)的性能,這是因?yàn)閮蓚€(gè)處理器1和2的時(shí)鐘速率由緩沖器8去耦。例如,數(shù)據(jù)可以依照處理器A的時(shí)鐘被寫入緩沖器8,并且數(shù)據(jù)可以利用處理器B的時(shí)鐘速率從緩沖器8中被讀出。
為了避免緩沖器8的緩沖器欠載運(yùn)行或者緩沖器溢出,將其經(jīng)由它的緩沖控制輸入端8.3與控制單元9的TX-控制單元12的控制輸出端連接。總的來說,所述TX-控制單元12控制緩沖器8。所述TX-控制單元11通過狀態(tài)行8.4獲取經(jīng)由緩沖器8發(fā)送的數(shù)據(jù)的狀態(tài)。
本發(fā)明通過為每個(gè)處理器核心1和2的兩總線5和6提供通過專用的本地和遠(yuǎn)程總線主設(shè)備3和4而期望的改善。由于兩個(gè)總線主設(shè)備3和4能夠在處理器1和2不需要總線5和6時(shí)進(jìn)行數(shù)據(jù)傳送,所以處理器性能不會受到阻礙。
數(shù)據(jù)流水線8在從本地總線主設(shè)備3至遠(yuǎn)程總線主設(shè)備4的路徑上傳送輸出數(shù)據(jù)L_data_out,而數(shù)據(jù)流水線7在從遠(yuǎn)程總線主設(shè)備4至本地總線主設(shè)備3的路徑上傳送輸出數(shù)據(jù)R_data_out。當(dāng)總線主設(shè)備3或者4之一暫時(shí)不可用于接收或發(fā)送數(shù)據(jù)到其專用總線5或者6(這可能由于總線5或者6不可用或者因?yàn)榱硪粋€(gè)總線5或者6不能以因不同子系統(tǒng)時(shí)鐘速度而提供的相同速率接收數(shù)據(jù)包)時(shí),此方案是特別有益的。使用數(shù)據(jù)流水線7和8的體系結(jié)構(gòu)允許兩個(gè)時(shí)鐘域依照獨(dú)立的時(shí)鐘速度來運(yùn)行。
覆蓋總線A和總線B全部地址范圍的地址寄存器13和14確定數(shù)據(jù)被傳送到的或從其傳送出的子系統(tǒng)地址,并因此不需要進(jìn)一步的數(shù)據(jù)傳送。這是因?yàn)樗鰯?shù)據(jù)可以直接被從所期望的源地址位置傳送至所期望的目的地地址位置。
由于對每個(gè)處理器域的直接存儲器訪問,當(dāng)傳送大塊數(shù)據(jù)時(shí),等待時(shí)間被減少為最小。
任選地,依照本發(fā)明的數(shù)據(jù)處理單元還能夠在沒有編程完整寄存器集開銷的情況下、每次傳送單個(gè)數(shù)據(jù)字。這可能通過位于控制單元9上并且經(jīng)由控制單元總線19連接至總線A的從屬訪問數(shù)據(jù)輸入寄存器16和從屬訪問數(shù)據(jù)輸出寄存器17。
本地總線主設(shè)備3服務(wù)于總線A,并且被稱為本地總線主設(shè)備,因?yàn)樗c同一處理器A相連,所述處理器A用于經(jīng)由控制接口22來控制控制單元9。所述遠(yuǎn)程總線主設(shè)備4服務(wù)于總線B??偩€主設(shè)備3和4都還可以被稱作總線接口。例如,總線A可以是具有16位總線寬度的總線,而總線B可以具有32位總線寬度。
兩條總線5和6的數(shù)據(jù)通路沿一個(gè)方向經(jīng)由接收(RX)數(shù)據(jù)流水線7并且沿另一個(gè)方向經(jīng)由發(fā)送(TX)數(shù)據(jù)流水線8被連接。如果總線A或者總線B不是立即可用于接收或者發(fā)送,那么所述流水線7和8充當(dāng)緩沖器。向流水線7和8寫入并從中讀取是由控制單元9控制的。
為了經(jīng)由數(shù)據(jù)流水線7和8并行發(fā)送和接收每個(gè)字,分別把控制和狀態(tài)信息傳送到RX-控制單元11和TX-控制單元12。
遠(yuǎn)程總線主設(shè)備4的地址是通過遠(yuǎn)程總線主設(shè)備4自身產(chǎn)生的。只有初始塊地址(也稱為起始地址)被從控制單元9發(fā)送到遠(yuǎn)程總線主設(shè)備4。這是為了防止對該地址也采用流水線。由于地址是遞增的,所以遠(yuǎn)程總線主設(shè)備4通過自身在每次傳送字后遞增地址。
所述控制單元9包含寄存器13和14,用于待傳送到并且從中傳送的源和目的地地址。
所述控制單元9還包含字計(jì)數(shù)器15,用于確定待傳送的字的數(shù)目。
所述控制單元9還包括控制和狀態(tài)寄存器18,其允許控制處理器A檢驗(yàn)傳送的狀態(tài)并且能夠經(jīng)由控制單元11和12進(jìn)行數(shù)據(jù)傳送。
最后,所述控制單元9包含從屬訪問數(shù)據(jù)輸入寄存器16和從屬訪問數(shù)據(jù)輸出寄存器17,其允許處理器A還在沒有使用總線A上的本地總線主設(shè)備3的情況下執(zhí)行單數(shù)據(jù)傳送。
已經(jīng)舉例說明并且描述了用于數(shù)據(jù)傳送的新穎的數(shù)據(jù)處理設(shè)備和方法的優(yōu)選實(shí)施例,應(yīng)注意的是,在不脫離本發(fā)明的一般概念或者所附權(quán)利要求書的范圍的情況下,可以做出設(shè)備和方法方面的改變和修改。
權(quán)利要求
1.一種數(shù)據(jù)處理設(shè)備,包括鏈接到第一總線(5)的第一處理單元(1),鏈接到第二總線(6)的第二處理單元(2),鏈接到所述第一總線(5)的第一總線主設(shè)備(3),鏈接到所述第二總線(6)的第二總線主設(shè)備(4),使所述第一和所述第二總線主設(shè)備(3,4)彼此鏈接的第一和第二通信信道(7,20,8,21),以及在所述第一和所述第二總線主設(shè)備(3,4)之間經(jīng)由所述第一和所述第二通信信道(7,20,8,21)來控制數(shù)據(jù)傳送的控制單元(9)。
2.如權(quán)利要求1所述的數(shù)據(jù)處理設(shè)備,其中第一和第二通信信道(7,20,8,21)的每個(gè)均包括一個(gè)或多個(gè)緩沖器(7,8)。
3.如權(quán)利要求2所述的數(shù)據(jù)處理設(shè)備,其中每個(gè)緩沖器(7,8)具有第一和第二時(shí)鐘輸入端(7.1,7.2,8.1,8.2),并且其中所述第一時(shí)鐘輸入端(7.1,8.1)與第一總線主設(shè)備(3)鏈接,而所述第二時(shí)鐘輸入端(7.2,8.2)與第二總線主設(shè)備(4)鏈接。
4.如先前任一項(xiàng)權(quán)利要求所述的數(shù)據(jù)處理設(shè)備,其中第一總線(5)具有第一總線寬度(n1,n2),而所述第二總線(6)具有第二總線寬度(m1,m2),并且第一和第二通信信道(7,20,8,21)包括用于適應(yīng)總線寬度(n1,n2,m1,m2)的適應(yīng)單元(20,21)。
5.如先前任一項(xiàng)權(quán)利要求所述的數(shù)據(jù)處理設(shè)備,其中第一總線(5)具有第一字節(jié)次序并且第二總線(6)具有第二字節(jié)次序,并且第一和第二通信信道(7,20,8,21)包括用于適應(yīng)字節(jié)次序的又一適應(yīng)單元(20,21)。
6.如先前任一項(xiàng)權(quán)利要求所述的數(shù)據(jù)處理設(shè)備,其中所述控制單元(9)包括用于單數(shù)據(jù)傳送的輸出寄存器(17),其輸入端與第一總線(5)相連,并且多路復(fù)用器(10)被接入通信信道(8,21)之一并且被連接至輸出寄存器(17)。
7.如先前任一項(xiàng)權(quán)利要求所述的數(shù)據(jù)處理設(shè)備,其中處理單元(1,2)之一是主設(shè)備,而另一個(gè)是從設(shè)備,并且所述控制單元(9)與所述主設(shè)備(1)相連以便接收并且發(fā)送控制和狀態(tài)信號。
8.如先前任一項(xiàng)權(quán)利要求所述的數(shù)據(jù)處理設(shè)備,其中所述控制單元(9)包括地址寄存器產(chǎn)生器(13),其輸入端(13.1)與第一處理單元(1)相連并且其輸出端(13.2)與第二總線主設(shè)備(4)相連,并且所述控制單元(9)包括又一地址寄存器產(chǎn)生器(14),其輸入端(14.1)與第一處理單元(1)相連并且其輸出端(14.2)與第一總線主設(shè)備(3)相連。
9.如先前任一項(xiàng)權(quán)利要求所述的數(shù)據(jù)處理設(shè)備,其中所述控制單元(9)被配備以便使將被傳送的數(shù)據(jù)的地址自動地遞增。
10.如先前任一項(xiàng)權(quán)利要求所述的數(shù)據(jù)處理設(shè)備,其中所述控制單元(9)被配備以便使將要被傳送的數(shù)據(jù)的地址以環(huán)形緩沖模式被產(chǎn)生。
11.如先前任一項(xiàng)權(quán)利要求所述的數(shù)據(jù)處理設(shè)備,其中所述控制單元(9)包括連接至第一總線(5)的字計(jì)數(shù)器(15)。
12.如權(quán)利要求2至11任一項(xiàng)所述的數(shù)據(jù)處理設(shè)備,其中所述控制單元(9)被配備以便如果緩沖器(7,8)已滿時(shí),數(shù)據(jù)傳送能被掛起。
13.如先前任一項(xiàng)權(quán)利要求所述的數(shù)據(jù)處理設(shè)備,其中所述控制單元(9)被配備以便使總線訪問負(fù)載能被控制,如此使得總線訪問負(fù)載被保持在預(yù)定值以下。
14.如先前任一項(xiàng)權(quán)利要求所述的數(shù)據(jù)處理設(shè)備,被配備以便使作為主設(shè)備的第一處理單元(1)能掛起數(shù)據(jù)傳送。
15.如先前任一項(xiàng)權(quán)利要求所述的數(shù)據(jù)處理設(shè)備,其中總線第一主設(shè)備(3)被配備以便使其能檢測有關(guān)地址調(diào)整或非法地址的錯(cuò)誤并且將此轉(zhuǎn)發(fā)至控制單元(9)。
16.一種用于把數(shù)據(jù)從第一處理器系統(tǒng)的第一存儲器傳送至第二處理器系統(tǒng)的第二存儲器的方法,包括如下步驟所述第一存儲器借助于第一總線主設(shè)備(3)利用第一時(shí)鐘速率把數(shù)據(jù)經(jīng)由第一總線(5)發(fā)送至第一流水線(8),并且借助于第二總線主設(shè)備(4)利用第二時(shí)鐘速率把所述數(shù)據(jù)從第一流水線(8)經(jīng)由第二總線(6)傳送至所述第二存儲器。
17.如權(quán)利要求16所述的方法,其中控制單元(9)控制總線訪問負(fù)載,如此使得總線訪問負(fù)載被保持在預(yù)定值以下。
18.如權(quán)利要求16或者17所述的方法,把數(shù)據(jù)從第二存儲器傳送至第一存儲器包括如下步驟所述第二存儲器借助于第二總線主設(shè)備(4)利用第二時(shí)鐘速率把所述數(shù)據(jù)經(jīng)由第二總線(5)發(fā)送至第二流水線(7),并且借助于第一總線主設(shè)備(3)利用第一時(shí)鐘速率把所述數(shù)據(jù)從第二流水線(7)經(jīng)由第一總線(3)傳送至所述第一存儲器。
全文摘要
依照本發(fā)明的數(shù)據(jù)處理設(shè)備包括鏈接到第一總線(5)的第一處理單元(1),鏈接到第二總線(6)的第二處理單元(2),鏈接到第一總線(5)的第一總線主設(shè)備(3),鏈接到第二總線(6)的第二總線主設(shè)備(4),使第一和第二總線主設(shè)備(3,4)彼此鏈接的第一和第二通信信道(7,20,8,21),以及控制第一和第二總線主設(shè)備(3,4)之間經(jīng)由第一和第二通信信道(7,20,8,21)的數(shù)據(jù)傳送的控制單元(9)。
文檔編號G06F13/40GK1759385SQ200480006438
公開日2006年4月12日 申請日期2004年3月3日 優(yōu)先權(quán)日2003年3月12日
發(fā)明者H·-J·格爾克, S·M·科赫, A·雷丁 申請人:皇家飛利浦電子股份有限公司