專利名稱:集成電路和事務(wù)撤銷方法
技術(shù)領(lǐng)域:
本發(fā)明涉及有多個(gè)處理模塊的集成電路和用于耦接所述多個(gè)處理模塊的互連裝置、一種用于在這種集成電路內(nèi)的事務(wù)撤銷方法和一數(shù)據(jù)處理系統(tǒng)。
背景技術(shù):
由于對(duì)實(shí)現(xiàn)新性能并改進(jìn)現(xiàn)有功能的需求不斷增加,硅上系統(tǒng)的復(fù)雜性也在不斷增強(qiáng)。在集成電路上所能集成的元器件密度不斷增加使這一點(diǎn)成為可能。同時(shí)電路運(yùn)行的時(shí)鐘速度也呈現(xiàn)出加快的趨勢(shì)。時(shí)鐘速度提高,加之元器件密度增加,即已使在相同時(shí)鐘域內(nèi)同步運(yùn)行的區(qū)域減小。由此產(chǎn)生了對(duì)模塊方法的需求。按照這樣一種方法,處理系統(tǒng)包括多個(gè)相對(duì)獨(dú)立、復(fù)雜的模塊。在傳統(tǒng)的處理系統(tǒng)中,系統(tǒng)模塊通常通過總線相互連通。但是,隨著模塊數(shù)量增加,這種通信方式由于下列原因不再實(shí)用。一方面,大量的模塊使總線的負(fù)載過高。另一方面,由于其只能使一個(gè)器件向總線傳送數(shù)據(jù),致使該總線形成通信瓶頸。
通信網(wǎng)絡(luò)會(huì)建立一種有效的方法來克服這些缺點(diǎn)。最近片上網(wǎng)絡(luò)(NoCNetworks on Chip)作為一種解決高度復(fù)雜芯片互連問題的方案已經(jīng)引起了相當(dāng)多的注意。其原因有兩方面。首先,當(dāng)用片上網(wǎng)絡(luò)組織并管理全局線路時(shí),它們有助于解決在新的深亞微米技術(shù)里的電氣問題。同時(shí)它們還可共享線路,降低其數(shù)量并增強(qiáng)其使用性。而且片上網(wǎng)絡(luò)還節(jié)能、可靠,與總線相比可以調(diào)節(jié)。其次,片上網(wǎng)絡(luò)也能從通信中解耦計(jì)算,這在管理十億晶體管量級(jí)的芯片設(shè)計(jì)過程中是必要的。片上網(wǎng)絡(luò)之所以能夠做到這種解耦,是因?yàn)樗鼈兺ǔJ遣捎脜f(xié)議棧設(shè)計(jì)的,其可提供明確的接口把通信業(yè)務(wù)使用與服務(wù)實(shí)現(xiàn)分開。
但是在設(shè)計(jì)片上系統(tǒng)(SoC)時(shí)使用網(wǎng)絡(luò)用于片上通信會(huì)引發(fā)許多必須考慮的新問題。這是因?yàn)椋c片上現(xiàn)有的直接連接通信模塊的互連(例如總線、開關(guān)或點(diǎn)對(duì)點(diǎn)線路)相比,片上網(wǎng)絡(luò)中的模塊可通過網(wǎng)絡(luò)節(jié)點(diǎn)進(jìn)行遠(yuǎn)距離通信。因此,互連仲裁從集中式向分布式改變,必須通過知識(shí)產(chǎn)權(quán)塊(IP)或網(wǎng)絡(luò)來處理類似無序事務(wù)、較高延遲以及端對(duì)端的流量控制問題。
這些題目中的大多數(shù)都已成為本地網(wǎng)和廣域網(wǎng)(計(jì)算機(jī)網(wǎng)絡(luò))領(lǐng)域中的研究主題,并且用于并行機(jī)互連網(wǎng)絡(luò)的相互連接。二者均與片上網(wǎng)絡(luò)密切相關(guān),而且那些領(lǐng)域中的許多成果在芯片上也都適用。不過,片上網(wǎng)絡(luò)的前提不同于片外(off-chip)網(wǎng)絡(luò),因此,對(duì)大多數(shù)網(wǎng)絡(luò)的設(shè)計(jì)選擇必須重新評(píng)定。片上網(wǎng)絡(luò)有不同的特性(例如更為緊密的鏈接同步)和約束條件(例如更高的存儲(chǔ)費(fèi)用)可導(dǎo)致不同的設(shè)計(jì)選擇,而這最終會(huì)影響網(wǎng)絡(luò)服務(wù)。
片上網(wǎng)絡(luò)與片外網(wǎng)絡(luò)的不同主要體現(xiàn)在其約束條件和同步上。通常,片上的資源限制比片外更嚴(yán)格。存儲(chǔ)設(shè)備(即存儲(chǔ)器)和計(jì)算資源相對(duì)更為昂貴,因此片上點(diǎn)對(duì)點(diǎn)鏈接的數(shù)量比片外更大。存儲(chǔ)設(shè)備之所以昂貴,是因?yàn)橹T如隨機(jī)存儲(chǔ)器的通用片上存儲(chǔ)器會(huì)占用很大面積。而如果網(wǎng)絡(luò)組件中分布的存儲(chǔ)器尺寸相對(duì)較小,則更糟,因?yàn)槟菚r(shí)存儲(chǔ)器上的開銷面積就會(huì)占主要地位。
對(duì)于片上網(wǎng)絡(luò)來說,其計(jì)算花費(fèi)的費(fèi)用相對(duì)片外網(wǎng)絡(luò)也較高。一個(gè)片外網(wǎng)絡(luò)接口通常包含一個(gè)專用的處理器來實(shí)現(xiàn)協(xié)議棧直到網(wǎng)絡(luò)層或者更高層,以便從通信處理中釋放主處理機(jī)。在芯片上讓每個(gè)網(wǎng)絡(luò)接口包含一個(gè)專用處理器是不可行的,因?yàn)榫W(wǎng)絡(luò)接口與連接到網(wǎng)絡(luò)的IP相比尺寸相當(dāng)或者更大。而且在IP本身上運(yùn)行這個(gè)協(xié)議棧也可能不可行,因?yàn)檫@些IP常常只有一個(gè)專用功能,并且沒有能力運(yùn)行一個(gè)網(wǎng)絡(luò)協(xié)議棧。
如果與直接互連,如總線或轉(zhuǎn)換器相比,那么引入網(wǎng)絡(luò)作為片上互連技術(shù)從根本上改變了通信。這緣自網(wǎng)絡(luò)的多跳性,其中通信模塊不直接連接,而是被一個(gè)或更多的網(wǎng)絡(luò)節(jié)點(diǎn)分開。這與模塊被直接連接的現(xiàn)有的普遍互連(即總線)形成了對(duì)比。這種變化的實(shí)質(zhì)在于仲裁(其必須從集中式向分布式改變)和通信特性(例如排序或流量控制)。
現(xiàn)代的片上通信協(xié)議(如設(shè)備事務(wù)級(jí)DTL、開放內(nèi)核協(xié)議OCP和AXI協(xié)議)運(yùn)行在由請(qǐng)求和響應(yīng)組成的事務(wù)的分割流水線基礎(chǔ)上,總線被釋放以使其設(shè)備可以在主模塊發(fā)出的請(qǐng)求被相應(yīng)從模塊接收后加以利用。分割流水線通信協(xié)議被特別用在多跳互連中(如片上網(wǎng)絡(luò)或橋接總線),其可使互連技術(shù)得到有效使用。對(duì)于在從模塊生成響應(yīng)很費(fèi)時(shí)的情況,可以提高分割總線的效率。在流水線協(xié)議上,主模塊被允許擁有多個(gè)未完成的請(qǐng)求(即該請(qǐng)求所需的響應(yīng)懸而未決或處在期待中)。
上述協(xié)議被設(shè)計(jì)在與系統(tǒng)或互連級(jí)相對(duì)的設(shè)備級(jí)運(yùn)行。換句話說它們被設(shè)計(jì)成獨(dú)立于實(shí)際的互連實(shí)現(xiàn)(如仲裁信號(hào)不可見),其可使知識(shí)產(chǎn)權(quán)塊IP及其更早的集成得到重新利用。另外,這些通信協(xié)議也被設(shè)計(jì)為確保IP塊能“自然地”通信(例如字寬和突發(fā)長(zhǎng)度被配置為更適于設(shè)備而不是總線)。
這些協(xié)議中的一部分(例如DTL)包括一種將撤銷事務(wù)作為附加協(xié)議性能的功能。當(dāng)一項(xiàng)發(fā)出的事務(wù)還沒有被從模塊接收時(shí),可以在不引起從模塊的狀態(tài)發(fā)生任何變化的情況下就撤銷該事務(wù)。
實(shí)施事務(wù)撤銷的辦法通常是使命令信號(hào)無效。但是為了避免從模塊因撤銷事務(wù)而處于錯(cuò)誤狀態(tài),協(xié)議會(huì)迫使從模塊僅一個(gè)周期內(nèi)處理該事務(wù)。這在一個(gè)具有較高時(shí)鐘頻率的系統(tǒng)里可能特別難。而且,當(dāng)?shù)刂沸盘?hào)(即命令、地址和其他命令參數(shù),例如脈沖串長(zhǎng)度)與寫數(shù)據(jù)信號(hào)無關(guān)時(shí),可能不能撤銷命令。例如,當(dāng)從模塊已經(jīng)(部分地)接受了一條命令的寫數(shù)據(jù)并在實(shí)際的寫信號(hào)本身被接受之前進(jìn)一步發(fā)送(如在AXI協(xié)議中所執(zhí)行的)時(shí),該寫命令不能被撤銷,因?yàn)榭赡軟]有方法能夠抓住并刪除已經(jīng)發(fā)送的寫數(shù)據(jù)。因此,AXI協(xié)議甚至不允許事務(wù)撤銷。
發(fā)明內(nèi)容
因此本發(fā)明的目的是在基于事務(wù)的通信環(huán)境中提供一種改進(jìn)的事務(wù)撤銷。
該目的可以通過如權(quán)利要求1所述的集成電路、如權(quán)利要求7所述的事務(wù)撤銷方法和如權(quán)利要求8所述的數(shù)據(jù)處理系統(tǒng)達(dá)到。
因此提供了有多個(gè)處理模塊I、T的集成電路。至少一個(gè)第一處理模塊I向至少一第二處理模塊T發(fā)出至少一項(xiàng)事務(wù)。所述集成電路還包括至少一個(gè)第一事務(wù)撤銷單元TRU1以表示允許所述至少一個(gè)第一所述處理模塊I根據(jù)所述第二處理模塊T的狀態(tài)撤銷所述至少一項(xiàng)事務(wù)。
所提議的集成電路允許以一種受控方式撤銷事務(wù),由此可以避免在目標(biāo)方中可能出現(xiàn)不一致的狀態(tài),并消除對(duì)目標(biāo)方的不必要的約束條件。既然當(dāng)事務(wù)不再被需要時(shí)(例如數(shù)據(jù)被送得太晚而無法處理或讀出數(shù)據(jù)因某最后期限已過而不再有用)可以減小互連上的負(fù)載,那么實(shí)際執(zhí)行有效事務(wù)撤銷的能力是一種需要的特性。另外,當(dāng)某進(jìn)程正在互連上等待不再被需要的事務(wù)的接收/響應(yīng)時(shí),其被阻塞的時(shí)間周期也得到了減小。
根據(jù)本發(fā)明的一個(gè)方面,所述集成電路包括至少一個(gè)第一事務(wù)撤銷單元,其與所述至少一個(gè)第二處理模塊相關(guān)。因此,允許撤銷的決定在目標(biāo)方執(zhí)行而不是在發(fā)起方。因?yàn)槭聞?wù)撤銷可能由事務(wù)撤銷單元實(shí)現(xiàn),所以無需改變處理模塊的配置。因此,所提議的方案簡(jiǎn)單易行,并且提供了對(duì)現(xiàn)有協(xié)議的向后兼容。
根據(jù)本發(fā)明的另一方面,提供了至少一個(gè)與所述第一處理模塊相關(guān)的第二事務(wù)撤銷單元以便向所述第一事務(wù)撤銷單元或所述第二處理單元發(fā)出明確的事務(wù)撤銷請(qǐng)求。所述第一事務(wù)撤銷單元表示允許所述事務(wù)撤銷請(qǐng)求。這里,所述撤銷被明確請(qǐng)求并被明確允許。
根據(jù)本發(fā)明更進(jìn)一步的方面,所述第一事務(wù)撤銷單元TRU1表示,如果事務(wù)撤銷請(qǐng)求rt存在,則允許所述事務(wù)撤銷請(qǐng)求rt。
根據(jù)本發(fā)明的另一方面,至少一個(gè)第二事務(wù)撤銷單元TRU2與所述用于向所述一事務(wù)撤銷單元TRU1或所述第二處理模塊T發(fā)送明確事務(wù)撤銷請(qǐng)求rt的第一處理模塊相關(guān)。所述第一事務(wù)撤銷單元TRU1表示,如果由所述第一處理模塊I發(fā)出的有效指令CMD存在,該有效命令CMD還未被第二處理模塊T接收,并且事務(wù)撤銷請(qǐng)求rt存在,則允許所述事務(wù)撤銷請(qǐng)求rt。
根據(jù)本發(fā)明的另一方面,所述第一撤銷單元表示,如果從所述第一處理模塊發(fā)出的有效命令存在,且該有效命令還沒有被第二處理模塊接受,則允許撤銷被請(qǐng)求的事務(wù)。其中對(duì)撤銷的允許隱含進(jìn)行。
本發(fā)明還涉及在具有多個(gè)處理模塊I、T的集成電路內(nèi)撤銷事務(wù)的方法。至少一個(gè)第一處理模塊I向至少一個(gè)第二處理模塊T發(fā)出至少一項(xiàng)事務(wù)。對(duì)所述至少一個(gè)第一所述處理模塊I表示允許根據(jù)所述第二處理模塊(T)的狀態(tài)撤銷所述至少一項(xiàng)事務(wù)。
本發(fā)明還涉及具有多個(gè)處理模塊I、T的數(shù)據(jù)處理系統(tǒng)。至少一個(gè)第一處理模塊I向至少一個(gè)第二處理模塊T發(fā)送了至少一項(xiàng)事務(wù)。所述集成電路還包括至少一個(gè)第一事務(wù)撤銷單元TRU1以便表示允許所述至少一個(gè)第一所述處理模塊I根據(jù)所述第二處理模塊T的狀態(tài)撤銷所述至少一項(xiàng)事務(wù)。
因此,還可在多芯片網(wǎng)絡(luò)或由幾個(gè)單獨(dú)的集成電路組成的系統(tǒng)中進(jìn)行事務(wù)的撤銷。
本發(fā)明所基于的設(shè)想是通過允許或拒絕撤銷事務(wù)的特殊信號(hào)或信號(hào)的特殊組合來延長(zhǎng)用于撤銷事務(wù)的握手進(jìn)程。當(dāng)從模塊的狀態(tài)允許這樣做時(shí),即允許撤銷事務(wù),否則它會(huì)被拒絕(例如在沒有來自事務(wù)的寫數(shù)據(jù)被進(jìn)一步發(fā)送時(shí),可能會(huì)允許寫撤銷)。
在從屬權(quán)利要求書中描述了本發(fā)明的其它方面。
本發(fā)明的這些和其他方面在下文所述的實(shí)施例中顯而易見,并參照這些實(shí)施例加以說明。
圖1所示為根據(jù)本發(fā)明的片上網(wǎng)絡(luò)的略圖;圖2所示為根據(jù)第一實(shí)施例在發(fā)起方和目標(biāo)方之間交換的信號(hào)的略圖;圖3-5所示為圖2所示第一實(shí)施例的信號(hào)的示例時(shí)序圖的略圖;圖6所示為根據(jù)第二實(shí)施例在發(fā)起方和目標(biāo)方之間交換的信號(hào)的略圖;圖7所示為圖6所示第二實(shí)施例的信號(hào)的時(shí)序圖的略圖,和圖8所示為圖6所示第二實(shí)施例的信號(hào)的時(shí)序圖的略圖。
具體實(shí)施例方式
下列實(shí)施例涉及片上系統(tǒng),即在同一芯片上的大量模塊(包括如封裝系統(tǒng)、多芯片模塊)或不同芯片上的大量模塊,其彼此通過某種互連進(jìn)行通信。這種互連具體表現(xiàn)為片上網(wǎng)絡(luò)NOC。片上網(wǎng)絡(luò)可以包括布線、總線、時(shí)分多路轉(zhuǎn)換、轉(zhuǎn)換器和/或在一個(gè)網(wǎng)絡(luò)內(nèi)的路由器。在所述網(wǎng)絡(luò)的傳輸層,可以通過連接實(shí)現(xiàn)模塊之間的通信??梢詫⑦B接認(rèn)為是處于第一模塊和至少一個(gè)第二模塊之間的一組信道,其各自都有一組連接特性。對(duì)于在第一模塊和單個(gè)的第二模塊之間的連接來說,連接可以包括兩個(gè)信道,即從第一模塊到第二模塊的一條信道,也就是請(qǐng)求信道,和從第二模塊向第一模塊的第二信道,也就是響應(yīng)信道。請(qǐng)求信道被預(yù)留給從第一模塊到第二模塊的數(shù)據(jù)和消息,而響應(yīng)信道則預(yù)留給從第二模塊到第一模塊的數(shù)據(jù)和消息。不過,如果連接包括一個(gè)第一模塊和N個(gè)第二模塊,則配備2*N個(gè)信道。連接特性可以包括排序(按次序傳輸數(shù)據(jù))、流量控制(為連接保留遠(yuǎn)程緩沖器,并允許數(shù)據(jù)發(fā)生器僅在其被保證有可用空間產(chǎn)生數(shù)據(jù)時(shí)才發(fā)送數(shù)據(jù))、吞吐量(保證吞吐量的下界)、等待時(shí)間(保證等待時(shí)間的上界)、損耗(數(shù)據(jù)丟失)、傳輸終止、事務(wù)完成、數(shù)據(jù)正確性、優(yōu)先級(jí)或數(shù)據(jù)傳輸。
圖1所示為根據(jù)本發(fā)明的片上網(wǎng)絡(luò)的基本布置;特別是描繪出了各自與網(wǎng)絡(luò)接口NI相聯(lián)的主模塊M和從模塊S。每個(gè)模塊M、S通過與其相聯(lián)的網(wǎng)絡(luò)接口NI分別與網(wǎng)絡(luò)N連接。網(wǎng)絡(luò)接口NI用作主從模塊M、S和網(wǎng)絡(luò)N之間的接口。網(wǎng)絡(luò)接口NI用于管理模塊M、S各自與網(wǎng)絡(luò)N之間的通信,以便使模塊能夠執(zhí)行其專用操作而無需處理與網(wǎng)絡(luò)或其他模塊的通信。網(wǎng)絡(luò)N包括多個(gè)網(wǎng)絡(luò)路由器R用以將數(shù)據(jù)通過網(wǎng)絡(luò)從一個(gè)網(wǎng)絡(luò)接口NI向另一個(gè)網(wǎng)絡(luò)接口發(fā)送。
下面所述的模塊即可被稱為所謂的知識(shí)產(chǎn)權(quán)塊IP(可內(nèi)含互連模塊的計(jì)算元件、存儲(chǔ)器或子系統(tǒng)),其可與網(wǎng)絡(luò)在所述網(wǎng)絡(luò)接口NI上相互作用。一個(gè)網(wǎng)絡(luò)接口NI可以連接一個(gè)或更多的IP塊。與此類似,一個(gè)IP塊可以連接不止一個(gè)網(wǎng)絡(luò)接口。
圖2所示為根據(jù)第一實(shí)施例的兩個(gè)模塊,即發(fā)起方模塊I和目標(biāo)方模塊T之間通信的功能聯(lián)系略圖。發(fā)起方I和目標(biāo)方T可以包含事務(wù)撤銷單元TRU2、TRU1以控制事務(wù)的撤銷。發(fā)起方模塊I和目標(biāo)方模塊T之間的通信基礎(chǔ)是請(qǐng)求-響應(yīng)事務(wù),其中發(fā)起方模塊I可能用某種數(shù)據(jù)或所需的連接特性通過發(fā)出請(qǐng)求來發(fā)起事務(wù)。該請(qǐng)求被傳送給目標(biāo)方模塊T。
圖1所示主-從模塊和圖2所示發(fā)起方-目標(biāo)方之間的關(guān)系是如圖2所示的發(fā)起方和目標(biāo)方為鏈路級(jí)實(shí)體,如圖1所示的主從模塊為端對(duì)端實(shí)體。因此,主模塊發(fā)起事務(wù),從模塊執(zhí)行事務(wù)。不過發(fā)起方I產(chǎn)生請(qǐng)求(其可表示發(fā)送請(qǐng)求,象對(duì)于從模塊的網(wǎng)絡(luò)接口NI),目標(biāo)方T接收請(qǐng)求但并不一定執(zhí)行請(qǐng)求(象主模塊的網(wǎng)絡(luò)接口NI)。主模塊總是發(fā)起方,從模塊總是執(zhí)行事務(wù)的目標(biāo)方,而發(fā)起方和目標(biāo)方各自并不一定是主模塊和從模塊。
圖2僅示出需要用于解釋本發(fā)明基本原理的那些信號(hào)或端口。其他信號(hào)可能存在于協(xié)議中。發(fā)起方I包括命令輸出端口cmd和有效輸出端口vd,即目標(biāo)方接收命令信號(hào)cmd和有效信號(hào)vd。目標(biāo)方T包括兩個(gè)輸出端口,即接受端口acp和撤銷允許端口allow_retr。事務(wù)請(qǐng)求被發(fā)起方I通過升高有效端口vd來發(fā)信號(hào),即有效信號(hào)被設(shè)為高,表示在命令端口cmd存在有效命令。(按照本發(fā)明的原理,發(fā)起方I實(shí)際發(fā)出哪個(gè)命令并不重要)。當(dāng)有效信號(hào)vd和接受信號(hào)acp均為高時(shí),請(qǐng)求被目標(biāo)T接受。作為選擇,接受信號(hào)acp可以被默認(rèn)設(shè)置為高,以表示目標(biāo)方無條件接受請(qǐng)求的意愿。
如上所述,發(fā)起方I和目標(biāo)方T的事務(wù)撤銷單元TRU2、TRU1可以用于控制事務(wù)撤銷。然后僅需降低有效信號(hào)vd、將其設(shè)為低即可撤銷事務(wù)。不過,根據(jù)第一實(shí)施例,僅當(dāng)允許撤銷信號(hào)allow_retr被目標(biāo)T設(shè)為高以示目標(biāo)T的狀態(tài)允許事務(wù)撤銷時(shí),才允許這樣做。如果信號(hào)allow_retr為低,則禁止進(jìn)行事務(wù)撤銷。換句話說,如果目標(biāo)方T的事務(wù)撤銷單元TRU1以高狀態(tài)輸出允許信號(hào)allow_retr,則發(fā)起方I的事務(wù)撤銷單元TRU2通過降低有效信號(hào)vd來執(zhí)行撤銷。該撤銷可以被一直執(zhí)行到目標(biāo)方T通過設(shè)置接受信號(hào)acp為高來接受發(fā)起方發(fā)出的命令為止。
圖3-5為圖2所示信號(hào)的時(shí)序圖。特別是分別示出了時(shí)鐘clk、命令信號(hào)cmd、有效信號(hào)vd、接受信號(hào)acp和撤銷允許信號(hào)allow_retr的時(shí)序。第一實(shí)施例涉及隱含的事務(wù)撤銷,即無需特定的撤銷端口或信號(hào)。當(dāng)事務(wù)可以被撤銷時(shí),可以具體指定從目標(biāo)方T到發(fā)起方I的信號(hào),也就是信號(hào)allow_retr。
圖3為一般操作的時(shí)序圖,也就是當(dāng)有效信號(hào)vd與接受信號(hào)acp在周期5開始處均為高時(shí)(見圖3箭頭),來自發(fā)起方I的命令CMD被從模塊S接受。如上所述,命令CMD只有在信號(hào)allow_retract為高時(shí)才能被撤回。在圖3內(nèi),目標(biāo)方T需要兩個(gè)周期(周期3和4)來接受命令CMD。因此,只要目標(biāo)方處理/接受事務(wù),即可在周期3和4內(nèi)降低信號(hào)allow_retract。在上一事務(wù)處理周期(周期4)內(nèi),也可升高接受信號(hào)acp以表示目標(biāo)方T接受事務(wù)。
圖4所示為執(zhí)行事務(wù)撤銷時(shí)的時(shí)序圖。直到周期3開始,有效信號(hào)vd和撤銷允許信號(hào)allow_retr才均為高且接受信號(hào)acp為低,即撤銷事務(wù)是可行的。
圖5所示為不允許事務(wù)撤銷時(shí)的時(shí)序圖。在周期3內(nèi),有效信號(hào)vd為高但撤銷允許信號(hào)allow_retr為低,即如圖5中用叉所標(biāo)記的那樣,周期3內(nèi)的事務(wù)撤銷不可行。但是由于有效信號(hào)vd和撤銷允許信號(hào)allow_retr為高且接受信號(hào)acp為低,所以在周期0-2內(nèi)撤銷是可能的。
換句話說,只要有效信號(hào)vd和撤銷允許信號(hào)allow_retr為高且接受信號(hào)acp為低,則允許根據(jù)第一實(shí)施例的撤銷。
圖6所示為根據(jù)第二實(shí)施例的兩個(gè)模塊,即發(fā)起方模塊I和目標(biāo)方模塊T之間通信的功能聯(lián)系略圖。發(fā)起方I和目標(biāo)方T可以包含事務(wù)撤銷單元TRU2、TRU1以控制事務(wù)的撤銷。兩個(gè)模塊的基本操作相當(dāng)于其在第一實(shí)施例里如圖2所示的操作。圖6僅示出用于解釋本發(fā)明基本原理所需的那些信號(hào)或端口。發(fā)起方I包括命令輸出端口cmd、有效輸出端口vd和撤銷輸出端口rt,也就是目標(biāo)方接收命令信號(hào)cmd、有效信號(hào)vd和撤銷信號(hào)rt。目標(biāo)方T包括兩個(gè)輸出端口,即接受端口acp和允許撤銷輸出端口grant_retr.。
撤銷請(qǐng)求由發(fā)起方即事務(wù)撤銷單元TRU2通過升高有效信號(hào)vd發(fā)出信號(hào),也就是有效信號(hào)被設(shè)為高以表示命令端口cmd存在有效命令。(按照本發(fā)明的原理,發(fā)起方I實(shí)際發(fā)出哪個(gè)命令并不重要)。當(dāng)有效端口vd和接受端口acp均為高時(shí),請(qǐng)求被目標(biāo)方T接受。作為選擇,接受端口acp可以被默認(rèn)設(shè)置為高,以表示目標(biāo)方無條件接受請(qǐng)求的意愿。
按照第二實(shí)施例,發(fā)起方,即事務(wù)撤銷單元TRU2,通過升高撤銷信號(hào)rt來請(qǐng)求撤銷事務(wù)。之后發(fā)起方I的事務(wù)撤銷請(qǐng)求僅當(dāng)有效信號(hào)vd也為高,即當(dāng)有可以被撤銷的有效命令被發(fā)送至目標(biāo)方時(shí)才有意義。另外,僅當(dāng)撤銷信號(hào)rt和允許撤銷信號(hào)grant_retr為高時(shí)才撤銷事務(wù)(假若有效信號(hào)vd也為高且接受信號(hào)acp為低),否則撤銷請(qǐng)求會(huì)無效。
圖7為圖6所示信號(hào)的時(shí)序圖。特別是分別示出了時(shí)鐘clk、命令信號(hào)cmd、有效信號(hào)vd、接受信號(hào)acp、撤銷信號(hào)rt和grant_retr的時(shí)序。第二實(shí)施例涉及明確的事務(wù)撤銷,即有特定的撤銷端口或信號(hào)。發(fā)起方I,即事務(wù)撤銷單元TRU2,發(fā)信號(hào)表示其想用明確信號(hào)、即撤銷信號(hào)rt來撤銷命令。由于接受信號(hào)acp為低且有效信號(hào)vd和撤銷信號(hào)rt在周期1-2均為高,事務(wù)撤銷單元TRU1根據(jù)信號(hào)grant_retr允許撤銷與否。因此,發(fā)起方I只能在周期2撤銷命令。
圖8所示為圖6所示信號(hào)的時(shí)序圖。特別是分別示出了時(shí)鐘clk、命令信號(hào)cmd、有效信號(hào)vd、接受信號(hào)acp、撤銷信號(hào)rt和grant_retr的時(shí)序。這里示出了未被允許的明確的事務(wù)撤銷請(qǐng)求的例子。發(fā)起方I發(fā)信號(hào)表示其想用一明確信號(hào),即如圖7所示的撤銷信號(hào)rt撤銷命令。來自目標(biāo)方T的信號(hào)grant_retr表示允許或不允許撤銷。不過當(dāng)接受信號(hào)acp為高時(shí),不能允許撤銷。
換句話說,假若有效信號(hào)vd和撤銷信號(hào)rt為高且接受信號(hào)acp為低,則允許根據(jù)第二實(shí)施例的撤銷。
上述對(duì)撤銷請(qǐng)求的允許可以基于撤銷信號(hào)或其組合能夠表示該撤銷的一組控制信號(hào)。
上述事務(wù)撤銷是對(duì)現(xiàn)有協(xié)議的擴(kuò)展。兩個(gè)實(shí)施例所提議的擴(kuò)展可以確保對(duì)原協(xié)議的完全兼容性。如果發(fā)起方和目標(biāo)方之一不具備這種擴(kuò)展,那么可以將所增加的信號(hào)設(shè)置為“低”以便使其無效。
被提議的方案尤其與設(shè)備級(jí)通信協(xié)議相關(guān)(例如DTL,AXI,OCP)。它允許以一種受控方式來撤銷事務(wù)該方式能夠避免目標(biāo)方發(fā)生不一致狀態(tài)的可能性,并消除對(duì)目標(biāo)方不必要的約束條件。所提議的方案簡(jiǎn)單易行,并且對(duì)現(xiàn)有協(xié)議向后兼容。
雖然參照片上網(wǎng)絡(luò)對(duì)本發(fā)明的原理進(jìn)行了說明,但其不僅適用于這種網(wǎng)絡(luò),還適用于總線協(xié)議,如DTL。圖上所示全部信號(hào)都是DTL規(guī)格的一部分(那些與撤銷有關(guān)的除外allow_retr,retract,grant_retr)。
在網(wǎng)絡(luò)中,撤銷命令可能在主模塊和它的網(wǎng)絡(luò)接口之間的鏈路實(shí)現(xiàn)。這是因?yàn)榘l(fā)布命令的主模塊能決定命令是否不再被需要。
另外可以實(shí)現(xiàn)撤銷命令的位置是在從模塊網(wǎng)絡(luò)接口和從模塊之間的鏈路上。其原因可能是具有較高優(yōu)先級(jí)的事務(wù)已經(jīng)到達(dá)網(wǎng)絡(luò)接口,而如果所發(fā)出的事務(wù)(優(yōu)先級(jí)較低)還沒有被接受,其可被撤銷以允許處理具有較高優(yōu)先級(jí)的事務(wù)。
本發(fā)明涉及包含允許或拒絕事務(wù)撤銷的特定響應(yīng)的擴(kuò)展握手。目標(biāo)方可以根據(jù)其自身的運(yùn)動(dòng)以信號(hào)(allow_retr)表示發(fā)起方是否能撤銷事務(wù)?;蛘撸繕?biāo)方根據(jù)發(fā)起方的請(qǐng)求信號(hào)(grant_retr和retract)來表示這一點(diǎn)。
在上述實(shí)施例中,撤銷請(qǐng)求可以被發(fā)送到目標(biāo)方T和/或事務(wù)撤銷單元TRU1。如果事務(wù)撤銷單元TRU1為如圖2和圖6所示的目標(biāo)方T的一部分,則撤銷請(qǐng)求可以發(fā)給目標(biāo)方/事務(wù)撤銷單元,而如果事務(wù)撤銷單元TRU1不在目標(biāo)方T內(nèi)實(shí)現(xiàn)但是例如卻接近它,那么撤銷請(qǐng)求可以被發(fā)給事務(wù)撤銷單元TRU1。
因此提供了含多個(gè)處理模塊(I、T)的集成電路。至少一個(gè)第一處理模塊(I)向至少一個(gè)第二處理模塊(T)事務(wù)在鏈路級(jí)基上發(fā)送至少一項(xiàng)事務(wù)。所述集成電路還包括至少一個(gè)第一事務(wù)撤銷單元(TRU1)以表示允許所述至少一個(gè)第一所述處理模塊(I)根據(jù)所述第二處理模塊(T)的狀態(tài)撤銷所述至少一項(xiàng)事務(wù)。
第二事務(wù)撤銷單元TRU2與所述第一處理模塊相關(guān)以便向所述第一事務(wù)撤銷單元TRU1或所述第二處理模塊T發(fā)送明確的事務(wù)撤銷請(qǐng)求rt。所述第一事務(wù)撤銷單元TRU1表示允許所述事務(wù)撤銷請(qǐng)求rt。此外,所述第一事務(wù)撤銷單元TRU1表示允許所述事務(wù)撤銷請(qǐng)求rt且事務(wù)撤銷請(qǐng)求rt存在。因此,即使沒有有效cmd和/或撤銷請(qǐng)求,一條“默認(rèn)被允許的撤銷”也是可能的,即允許撤銷將為高。但如果其中一個(gè)或兩個(gè)都在,那么信號(hào)可能會(huì)變?yōu)榈汀?br>
應(yīng)當(dāng)指出,上述實(shí)施例是說明而不是限制發(fā)明,并且本領(lǐng)域技術(shù)人員還能夠在不背離所附權(quán)利要求書范圍的情況下設(shè)計(jì)出很多可選擇的實(shí)施例。在權(quán)利要求書內(nèi),括號(hào)內(nèi)的任何附圖標(biāo)記都不應(yīng)被理解為限制該權(quán)利要求。單詞“包括”并不排除存在除了該權(quán)利要求所列那些要素或步驟之外的要素或步驟。在某要素之前的冠詞“一”或“一個(gè)”并不排除存在大量的這種要素。在列舉了若干裝置的設(shè)備權(quán)利要求中,可以用完全相同的硬件項(xiàng)目體現(xiàn)這些裝置中的幾個(gè)。某些措施在彼此不同的從屬權(quán)利要求中陳述的這一事實(shí)并不表示這些措施的組合不能被有利地使用。
而且,權(quán)利要求書內(nèi)的任何附圖標(biāo)記都不應(yīng)被理解為是在限制本權(quán)利要求書的范圍。
權(quán)利要求
1.有多個(gè)處理模塊(I、T)的集成電路,其中至少一個(gè)第一處理模塊(I)向至少一個(gè)第二處理模塊(T)發(fā)出至少一項(xiàng)事務(wù),該集成電路包括至少一個(gè)第一事務(wù)撤銷單元(TRU1)以表示允許所述至少一個(gè)第一所述處理模塊(I)根據(jù)所述第二處理模塊(T)的狀態(tài)撤銷所述至少一項(xiàng)事務(wù)。
2.如權(quán)利要求1所述的集成電路,其中所述至少一個(gè)第一事務(wù)撤銷單元(TRU1)與所述至少一個(gè)第二處理模塊(T)相關(guān)。
3.如權(quán)利要求1或2所述的集成電路,還包括至少一個(gè)與所述第一處理模決相關(guān)的第二事務(wù)撤銷單元(TRU2),用于向所述第一事務(wù)撤銷單元(TRU1)或所述第二處理模塊(T)發(fā)送明確的事務(wù)撤銷請(qǐng)求(rt),其中所述第一事務(wù)撤銷單元(TRU1)表示允許所述事務(wù)撤銷請(qǐng)求(rt)。
4.如權(quán)利要求3所述的集成電路,其中如果事務(wù)撤銷請(qǐng)求(rt)存在,則所述第一事務(wù)撤銷單元(TRU1)表示允許所述事務(wù)撤銷請(qǐng)求(rt)。
5.如權(quán)利要求1或2所述的集成電路,還包括至少一個(gè)與所述第一處理模塊相關(guān)的第二事務(wù)撤銷單元(TRU2),用于向所述第一事務(wù)撤銷單元(TRU1)或所述第二處理模塊(T)發(fā)送明確的事務(wù)撤銷請(qǐng)求(rt),其中,如果從所述第一處理模塊(I)發(fā)出的有效命令(CMD)存在,有效命令(CMD)還沒有被第二處理模塊(T)接受,且事務(wù)撤銷請(qǐng)求(rt)存在,則所述第一事務(wù)撤銷單元(TRU1)表示允許所述事務(wù)撤銷請(qǐng)求(rt)。
6.如權(quán)利要求1或2所述的集成電路,其特征在于如果從所述第一處理模塊(I)發(fā)出的有效命令(CMD)存在,并且有效命令(CMD)還沒有被第二處理模塊(T)接受,則所述第一撤銷單元(TRU1)表示允許被請(qǐng)求的事務(wù)撤銷。
7.在有多個(gè)處理模塊(I、T)的集成電路內(nèi)的事務(wù)撤銷方法,其包括步驟通過至少一個(gè)第一處理模塊(I)向至少一個(gè)第二處理模塊(T)發(fā)出至少一項(xiàng)事務(wù),表示允許根據(jù)所述第二處理模塊(T)的狀態(tài)對(duì)所述至少一個(gè)第一所述處理模塊(I)撤銷所述至少一項(xiàng)事務(wù)。
8.數(shù)據(jù)處理系統(tǒng),其包括多個(gè)處理模塊(I、T),其特征在于至少一個(gè)第一處理模塊(I)向至少一個(gè)第二處理模塊(T)發(fā)出至少一項(xiàng)事務(wù),包括至少一個(gè)第一事務(wù)撤銷單元(TRU1)以表示允許所述至少一個(gè)第一所述處理模塊(I)根據(jù)所述第二處理模塊(T)的狀態(tài)撤銷所述至少一項(xiàng)事務(wù)。
全文摘要
提供了有多個(gè)處理模塊(I、T)的集成電路。至少一個(gè)第一處理模塊(I)向至少一個(gè)第二處理模塊(T)發(fā)出至少一項(xiàng)事務(wù)。所述集成電路還包括至少一個(gè)第一事務(wù)撤銷單元(TRU1)以表示允許至少一個(gè)第一所述處理模塊(I)根據(jù)所述第二處理模塊(T)的狀態(tài)撤銷所述至少一項(xiàng)事務(wù)。
文檔編號(hào)G06F15/167GK1934550SQ200580009455
公開日2007年3月21日 申請(qǐng)日期2005年3月15日 優(yōu)先權(quán)日2004年3月26日
發(fā)明者A·拉杜勒斯庫, K·G·W·古森斯 申請(qǐng)人:皇家飛利浦電子股份有限公司