專利名稱:處理系統(tǒng)和用于傳輸數(shù)據(jù)的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種處理系統(tǒng)。
本發(fā)明還涉及一種用于傳輸數(shù)據(jù)的方法。
由于對實現(xiàn)新特征和改進(jìn)現(xiàn)有功能的需求不斷增長,硅片上系統(tǒng)在復(fù)雜度上顯示出不斷增加的趨勢。這是由密度增加造成的,其中利用該增加的密度可以將多個組件集成在一個集成電路上。同時,電路工作的時鐘速度也趨于增加。較高的時鐘速度與增加的多個組件的密度相結(jié)合,已經(jīng)能夠減小在相同時鐘域中同步工作的區(qū)域。這產(chǎn)生了對模塊式方案的需求。根據(jù)此種方案,所述處理系統(tǒng)包括多個相對獨立的、復(fù)雜的模塊。在傳統(tǒng)處理系統(tǒng)中,所述模塊通常經(jīng)由總線彼此進(jìn)行通信。然而,隨著模塊數(shù)目的增加,由于下述原因,這種通信方式不再實用。一個方面,大量模塊形成了過高的總線負(fù)載。另一方面,由于總線只能使一個設(shè)備將數(shù)據(jù)發(fā)送到該總線上,從而該總線形成了通信瓶頸。通信網(wǎng)絡(luò)形成一種有效方式來克服這些缺點。所述通信網(wǎng)絡(luò)包括多個部分連接的節(jié)點。來自模塊的消息由所述節(jié)點重新導(dǎo)向到一個或多個其他節(jié)點。
由源功能單元發(fā)送的消息包括命令或數(shù)據(jù)包。經(jīng)由一個或多個中間功能單元來轉(zhuǎn)發(fā)該消息,直到該消息到達(dá)目的功能單元。所述目的功能單元繼而向該源功能單元發(fā)送相應(yīng)的消息。功能單元可以是數(shù)據(jù)流中所涉及的任何一種單元,例如對數(shù)據(jù)執(zhí)行操作的單元,比如CPU、DSP或VLIW,或者用于存儲數(shù)據(jù)的單元,比如存儲器,或者用于傳輸數(shù)據(jù)的單元,比如路由器或接口。
分離協(xié)議(split protocol)被定義為一種將事務(wù)分為請求和響應(yīng)的協(xié)議。當(dāng)在通信路徑中完成從源功能單元到第一中間功能單元的請求發(fā)送后,所述源功能單元可以處理下一個發(fā)送,而不必等待來自目的功能單元的對該請求的響應(yīng)。如果必要,所述目的功能單元將啟動單獨的仲裁程序以給出響應(yīng)。當(dāng)在從屬設(shè)備上產(chǎn)生響應(yīng)花費時間時,分離總線協(xié)議更加有效。流水線技術(shù)使得主設(shè)備能夠具有多個待決的請求(即,正在等待響應(yīng)的請求)。對在同一通信線程中的所有事務(wù)進(jìn)行排序(傳送響應(yīng)的順序與由主設(shè)備發(fā)布的針對這些響應(yīng)的請求順序相同)。具有不同通信線程的事務(wù)不具有任何順序約束。
US 6,182,183提供了一種鏈路級協(xié)議,用于在從源功能單元到目的功能單元的通信路徑中在兩個相繼的功能單元之間交換消息。根據(jù)已知的協(xié)議,主設(shè)備功能單元產(chǎn)生信息,比如命令(Cmd)、地址(Addr)或數(shù)據(jù)(DataReq);并且同時提供該信息所屬的線程的標(biāo)識(ReqThreadID)。同樣,從屬設(shè)備功能單元可提供信息(DataResp),并且利用標(biāo)識(RespThreadID)來指示該信息所屬的通信線程。
已知的分離、流水線總線協(xié)議的缺點在于,數(shù)據(jù)使用(dataconsuming)功能單元對其接收數(shù)據(jù)的次序僅僅具有有限的控制權(quán)。如果已經(jīng)發(fā)布了用于幾個通信線程的數(shù)據(jù)請求,那么數(shù)據(jù)產(chǎn)生功能單元確定首先服務(wù)于這些線程中的哪一個。這樣就導(dǎo)致,所請求的數(shù)據(jù)到達(dá)的順序無法使得所述數(shù)據(jù)使用功能單元實現(xiàn)最佳運行。
本發(fā)明的一個目的是提供一種改進(jìn)的鏈路級通信協(xié)議以及使用該通信協(xié)議的改進(jìn)處理系統(tǒng)。該目的可通過如權(quán)利要求1中要求的根據(jù)本發(fā)明的方法和如權(quán)利要求9中要求的處理系統(tǒng)來實現(xiàn)。發(fā)明人認(rèn)識到如果不是數(shù)據(jù)產(chǎn)生功能單元而是數(shù)據(jù)使用功能單元來為交換信息而選擇通信線程,那么在幾種情況下都是有利的。因此,在根據(jù)本發(fā)明的處理系統(tǒng)和方法中,一個方面,應(yīng)用在通信路徑上的分離傳輸協(xié)議。另一方面,對于通信路徑中彼此互相通信的至少一對數(shù)據(jù)使用功能單元和數(shù)據(jù)產(chǎn)生功能單元而言,該數(shù)據(jù)使用功能單元對接收數(shù)據(jù)的通信線程具有直接控制權(quán)。
本發(fā)明的一個實例是一種數(shù)據(jù)處理系統(tǒng),其中數(shù)據(jù)使用功能單元是存儲器控制器。存儲器控制器具有對從幾個通信線程中存儲/重新獲取信息進(jìn)行優(yōu)化調(diào)度的功能,從而存儲和重新獲取可以最小的時間量發(fā)生。由于根據(jù)本發(fā)明的存儲器控制器可以自行選擇請求信息的線程的順序,所以該存儲器控制器可以非常有效地對信息的存儲進(jìn)行調(diào)度。或者,可以提供具有大輸入緩存器的存儲器控制器。這將使得其能夠從多個線程接收大量信息,并按照合適的次序從該輸入緩存器中選擇信息,但是其代價是減小了用于其他功能的硅區(qū)域。
在優(yōu)選的數(shù)據(jù)使用功能單元能夠選擇處理線程的另一個實例中,數(shù)據(jù)使用功能單元是被配置為執(zhí)行多個任務(wù)的處理器。每個任務(wù)切換通??赡芤髱装俚揭磺€處理周期。如果處理器沒有足夠的數(shù)據(jù)來用于特定線程,那么任務(wù)切換通常會出現(xiàn)。在本發(fā)明的一個實施例中,多任務(wù)處理器能夠選擇要求數(shù)據(jù)的線程,以便繼續(xù)相同的線程。換言之,所述處理器考慮其讀取數(shù)據(jù)的要求來調(diào)度任務(wù),并且利用通信線程指示符來將此情況指示給數(shù)據(jù)產(chǎn)生功能單元。
按照這種方式,可以降低任務(wù)切換的頻率。
參照附圖來更詳細(xì)地描述本發(fā)明的這些和其他方面。在附圖中
圖1示意性地示出了數(shù)據(jù)處理系統(tǒng);圖2示意性地示出了根據(jù)本發(fā)明的數(shù)據(jù)處理系統(tǒng)中,在通信路徑上的一對數(shù)據(jù)產(chǎn)生功能單元和數(shù)據(jù)使用功能單元;圖3示意性地示出了根據(jù)本發(fā)明的數(shù)據(jù)處理系統(tǒng)的第二實施例中的一對數(shù)據(jù)產(chǎn)生功能單元和數(shù)據(jù)使用功能單元;圖4示意性地示出了根據(jù)本發(fā)明的數(shù)據(jù)處理系統(tǒng)的第三實施例中的一對數(shù)據(jù)產(chǎn)生功能單元和數(shù)據(jù)使用功能單元;圖5示意性地示出了根據(jù)本發(fā)明的數(shù)據(jù)處理系統(tǒng)的第四實施例中的一對數(shù)據(jù)產(chǎn)生功能單元和數(shù)據(jù)使用功能單元。
圖1示意性地示出了一種數(shù)據(jù)處理系統(tǒng),該數(shù)據(jù)處理系統(tǒng)包括連接多個功能單元的網(wǎng)絡(luò)。該處理系統(tǒng)被設(shè)置成根據(jù)分離協(xié)議,沿著從源功能單元SFU到目的功能單元DFU的通信路徑(如箭頭所示),經(jīng)由一個或多個中間功能單元IFU1、...、IFU5來傳輸數(shù)據(jù)以及用于所述數(shù)據(jù)的通信線程標(biāo)識符。通過傳輸數(shù)據(jù)以及通信線程標(biāo)識符,具有彼此不同的通信線程標(biāo)識符的多個不相關(guān)事務(wù)可以獨立地演進(jìn)。
圖2示意性地示出了一對數(shù)據(jù)使用功能單元CFU和數(shù)據(jù)產(chǎn)生功能單元PFU的具體細(xì)節(jié)。通過例示方式,數(shù)據(jù)使用功能單元CFU和數(shù)據(jù)產(chǎn)生功能單元PFU分別是圖1中的目的功能單元DFU和第五中間功能單元IFU5。
通信路徑中的數(shù)據(jù)使用功能單元(CFU)和數(shù)據(jù)產(chǎn)生功能單元(PFU)被設(shè)置為利用握手程序彼此之間直接進(jìn)行通信。其中,數(shù)據(jù)使用功能單元CFU發(fā)出數(shù)據(jù)請求REQ,并且指示通信線程標(biāo)識符TID,該通信線程標(biāo)識符TID標(biāo)識為哪個通信線程請求數(shù)據(jù)。利用信號TIDVAL來明確地指示TID的有效性?;蛘?,請求REQ和通信線程標(biāo)識符TID的有效性可由這些信號REQ、TID中之一的特定值來指示。如果數(shù)據(jù)產(chǎn)生功能單元PFU具有所請求的通信線程可用的數(shù)據(jù),那么其通過利用信號ACCEPTP指示接受來做出響應(yīng),并且提供所請求的數(shù)據(jù)RESPDAT。在另一個實施例中,數(shù)據(jù)產(chǎn)生功能單元在固定數(shù)目的時鐘周期內(nèi)接受所述請求。因此,用于指示接受的單獨的信號就是多余的。
繼而數(shù)據(jù)使用功能單元CFU利用信號ACCEPTC來指示接受數(shù)據(jù)。在另一個實施例中,當(dāng)數(shù)據(jù)使用功能單元總是在固定數(shù)目的時鐘周期內(nèi)接受數(shù)據(jù)時,不需要由數(shù)據(jù)使用功能單元產(chǎn)生單獨的接受信號。
圖3示出了擴(kuò)展的協(xié)議。該協(xié)議由所述數(shù)據(jù)使用功能單元CFU按照相同的方式發(fā)起,其中該數(shù)據(jù)使用功能單元CFU提供通信線程標(biāo)識符TID的指示,并且利用信號TIDVAL來明確地指示該標(biāo)識符是有效的,或者間接地,通過預(yù)留TID信號的一個特定值來指示其不表示有效通信線程。在該實例中,數(shù)據(jù)使用功能單元CFU可以僅僅通過提供特定通信線程標(biāo)識符來發(fā)布讀取數(shù)據(jù)的請求。在期望所述數(shù)據(jù)使用功能單元CFU還發(fā)布其他命令的情況下,可以添加一個或多個附加的請求標(biāo)識信號來指定命令類型。
與圖2中示出的實施例相反,數(shù)據(jù)產(chǎn)生功能單元PFU另外可以請求CFU來指示想要接收數(shù)據(jù)的另一通信線程的通信線程標(biāo)識符TID。出于此種目的,所述PFU提供第一和第二輸出信號ACCEPTP和READY,在優(yōu)選實施例中,所述信號ACCEPTP和READY具有下述含義
發(fā)布確認(rèn)可能花費多個周期,在該多個周期中READY信號保持為低電平(0)。在該多個周期中信號ACCEPTP的值并不重要(*)。當(dāng)PFU準(zhǔn)備好時,READY上升為高(1),并且根據(jù)信號ACCEPTP指示出,事務(wù)是被接受(1),還是未被接受(0)。如果事務(wù)被延遲(ACCEPTP=0),則可能切換到另一通信線程。
在圖3的實施例中,存在一個附加信號,該附加信號對鏈路級數(shù)據(jù)交換是被執(zhí)行還是被延遲進(jìn)行編碼。利用僅僅一個附加信號,僅存在一種進(jìn)行/延遲的反饋可能。這可被推廣為對關(guān)于事務(wù)為何不能在通信線程上執(zhí)行(當(dāng)存在多種可能的原因時例如,空/滿緩存器,在CPU上正運行不需要通信線程上數(shù)據(jù)的程序等)或事務(wù)在通信線程上執(zhí)行多久(例如,存在足夠的緩存/數(shù)據(jù)來在通信線程上處理至少N個事務(wù))的更為詳細(xì)的反饋進(jìn)行編碼。
參照圖4和圖5來說明本發(fā)明的其他實施例。其中,所述傳輸方法包括另一個握手程序,其中將信息從數(shù)據(jù)產(chǎn)生功能單元(PFU)交換到數(shù)據(jù)使用功能單元(CFU),以交換通信線程信息。所述另一握手程序獨立于其中交換數(shù)據(jù)的握手程序。在圖4和5中,信號TID、TIDVAL、RESPDAT、ACCEPTP和ACCEPTC具有參照圖2描述的含義。這些信號形成部分第一握手程序,該部分第一握手程序用于交換由數(shù)據(jù)使用功能單元CFU指示的特定通信線程的數(shù)據(jù)。由數(shù)據(jù)產(chǎn)生功能單元PFU提供的通信線程信息可由CFU中的調(diào)度器使用,以便更好地調(diào)度為之請求數(shù)據(jù)的通信線程的順序。例如,所述信息可以是通信線程可用的數(shù)據(jù)量或隨后新數(shù)據(jù)將變?yōu)榭捎玫念A(yù)期時間間隔。
在圖4的實施例中,該另一握手程序包括由數(shù)據(jù)使用功能單元CFU控制的信息請求信號INFTID。該信號指示特定通信線程,數(shù)據(jù)使用功能單元為該特定通信線程指示附加信息。所述數(shù)據(jù)使用功能單元CFU利用信號INFVAL來傳送信息請求信號INFTID的有效性。在固定數(shù)目的時鐘周期內(nèi),數(shù)據(jù)產(chǎn)生功能單元PFU提供與所述指定的通信線程相關(guān)的信息TIDINFO。如果數(shù)據(jù)產(chǎn)生功能單元PFU提供指示信息TIDINFO的有效性的信號,那么可以在可變的時間間隔內(nèi)提供信息TIDINFO,而不是在固定數(shù)目時鐘周期后提供該信息TIDINFO。在圖4的實施例中,所述數(shù)據(jù)使用功能單元CFU對PFU進(jìn)行輪詢以請求信息,由于數(shù)據(jù)傳送發(fā)生在獨立的握手過程中(TID、TIDVAL、RESPDAT、ACCEPTP、ACCEPTC),所以輪詢獨立于該數(shù)據(jù)傳送。
圖5示出了一個實施例,在該實施例中,所述PFU控制在所述另一握手程序中通信線程信息的傳送。所述PFU利用信號INFTID指示其具有關(guān)于該通信線程的信息的通信線程,并且該PFU利用信號TIDINFO提供所述信息。利用信號INFVAL來指示這些信號的有效性。所述PFU可以在每個握手程序中提供有關(guān)所有通信線程的信息,但由于數(shù)據(jù)傳送發(fā)生在獨立的握手過程中(TID、TIDVAL、RESPDAT、ACCEPTP、ACCEPTC),所以信息的提供獨立于數(shù)據(jù)傳送?;蛘?,可以一次為一個通信線程提供信息。在一個優(yōu)選實施例中,只有在通信線程狀態(tài)已經(jīng)改變時才提供信息。
顯而易見的是,本發(fā)明的保護(hù)范圍不受限于這里描述的實施例。應(yīng)該注意的是,信息(例如用于通信線程的數(shù)據(jù)、有關(guān)通信線程的信息)可以在多個處理單元之間按照多種方式(例如串行、并行或上述方式的組合)來進(jìn)行交換。
本發(fā)明的保護(hù)范圍也不受限于權(quán)利要求中的附圖標(biāo)記。所述單詞“包括”并不排除權(quán)利要求中提及的那些部分之外的部分。單詞“一個”并不排除多個這樣的要素。形成部分本發(fā)明的裝置可以以專用硬件的形式實現(xiàn),或者以被編程的通用處理器來實現(xiàn)。本發(fā)明體現(xiàn)在每個新特征或特征的組合。
權(quán)利要求
1.一種分離協(xié)議傳輸方法,用于沿著從源功能單元(SFU)到目的功能單元(DFU)的通信路徑傳輸數(shù)據(jù)和所述數(shù)據(jù)的通信線程標(biāo)識符,其中,在所述通信路徑中,數(shù)據(jù)使用功能單元(CFU)和數(shù)據(jù)產(chǎn)生功能單元(PFU)利用握手程序彼此相互直接通信,其中所述數(shù)據(jù)使用功能單元(CFU)將通信線程標(biāo)識符(TID)指示給所述數(shù)據(jù)產(chǎn)生功能單元,并且所述數(shù)據(jù)產(chǎn)生功能單元向所述數(shù)據(jù)使用功能單元提供與所述通信線程標(biāo)識符相關(guān)的數(shù)據(jù)。
2.如權(quán)利要求1所述的方法,其特征在于,在所述數(shù)據(jù)產(chǎn)生功能單元(PFU)已經(jīng)接受所述通信線程標(biāo)識符時,所述數(shù)據(jù)產(chǎn)生功能單元(PFU)做出指示(ACCEPTP)。
3.如權(quán)利要求1所述的方法,其中,所述數(shù)據(jù)產(chǎn)生功能單元(PFU)在固定數(shù)目的時鐘周期內(nèi)接受所述通信線程標(biāo)識符。
4.如權(quán)利要求1所述的方法,其中,在所述數(shù)據(jù)使用功能單元(CFU)已經(jīng)接受來自所述數(shù)據(jù)產(chǎn)生功能單元(PFU)的所述數(shù)據(jù)時,所述數(shù)據(jù)使用功能單元(CFU)做出指示(ACCEPTC)。
5.如權(quán)利要求1所述的方法,其中,所述數(shù)據(jù)使用功能單元(CFU)在固定數(shù)目的時鐘周期內(nèi)接受來自所述數(shù)據(jù)產(chǎn)生功能單元(PFU)的所述數(shù)據(jù)。
6.如權(quán)利要求2所述的方法,其中,所述數(shù)據(jù)產(chǎn)生功能單元(PFU)提供用于指示以下情形之一是否存在的信息,-所述數(shù)據(jù)使用功能單元(CFU)必須繼續(xù)指示所述通信線程標(biāo)識符(TID),-所指示的通信線程標(biāo)識符(TID)被接受,-所述第二功能單元(CFU)被請求來指示另一個通信線程標(biāo)識符。
7.如權(quán)利要求1所述的方法,其特征在于另一個握手程序,其中,信息被從所述數(shù)據(jù)產(chǎn)生功能單元(PFU)交換到所述數(shù)據(jù)使用功能單元(CFU),以交換通信線程信息,所述另一個握手程序與權(quán)利要求1中限定的所述握手程序相互獨立。
8.如權(quán)利要求2所述的方法,其中,在所述數(shù)據(jù)產(chǎn)生功能單元(PFU)已經(jīng)接受所述通信線程標(biāo)識符(TID)的指示時,所述數(shù)據(jù)產(chǎn)生功能單元(PFU)提供線程接受信號(ACCEPTP),并且推遲提供數(shù)據(jù),直到所述數(shù)據(jù)產(chǎn)生功能單元(PFU)已經(jīng)提供所述線程接受信號之后。
9.包括多個功能單元的處理系統(tǒng),所述處理系統(tǒng)被設(shè)置成根據(jù)分離協(xié)議、沿著從源功能單元(SFU)到目的功能單元(DFU)的通信路徑傳輸數(shù)據(jù)和所述數(shù)據(jù)的通信線程標(biāo)識符,所述通信路徑中的數(shù)據(jù)使用功能單元(CFU)和數(shù)據(jù)產(chǎn)生功能單元(PFU)被設(shè)置成利用握手程序彼此相互直接通信,其中,所述數(shù)據(jù)使用功能單元(CFU)將通信線程標(biāo)識符(TID)指示給所述數(shù)據(jù)產(chǎn)生功能單元,并且所述數(shù)據(jù)產(chǎn)生功能單元向所述數(shù)據(jù)使用功能單元提供與所述通信線程標(biāo)識符相關(guān)的數(shù)據(jù)。
10.如權(quán)利要求9所述的處理系統(tǒng),其中,所述數(shù)據(jù)使用功能單元是能夠基于輸入的讀取數(shù)據(jù)來調(diào)度任務(wù)的特定應(yīng)用處理器(ASP)。
11.如權(quán)利要求9所述的處理系統(tǒng),其中,所述數(shù)據(jù)使用功能單元是存儲器控制器,其包括用于按照減少存儲器訪問時間的順序來提供通信線程標(biāo)識符的指示的調(diào)度器。
全文摘要
描述了一種分離協(xié)議傳輸方法,用于沿著從源功能單元(SFU)到目的功能單元(DFU)的通信路徑,經(jīng)由零個或多個中間功能單元(IFU)傳輸數(shù)據(jù)和所述數(shù)據(jù)的通信線程標(biāo)識符。所述通信路徑中的數(shù)據(jù)使用功能單元(CFU)和數(shù)據(jù)產(chǎn)生功能單元(PFU)被設(shè)置成利用握手程序彼此相互直接通信,其中,所述數(shù)據(jù)使用功能單元(CFU)將通信線程標(biāo)識符(TID)指示給所述數(shù)據(jù)產(chǎn)生功能單元,并且所述數(shù)據(jù)產(chǎn)生功能單元向所述數(shù)據(jù)使用功能單元提供與所述通信線程標(biāo)識符相關(guān)的數(shù)據(jù)。同樣,描述了使用這種方法的數(shù)據(jù)處理系統(tǒng)。
文檔編號G06F13/42GK1784668SQ200480012104
公開日2006年6月7日 申請日期2004年5月4日 優(yōu)先權(quán)日2003年5月7日
發(fā)明者安德烈·勒杜列斯庫, 謝斯·G·W·古森斯 申請人:皇家飛利浦電子股份有限公司