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

集成電路和用于事務(wù)中止的方法

文檔序號(hào):6655415閱讀:227來源:國知局
專利名稱:集成電路和用于事務(wù)中止的方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種集成電路,其具有多個(gè)處理模塊和用于耦合所述多個(gè)處理的互連裝置,一種用于該集成電路中的事務(wù)中止的方法以及一種數(shù)據(jù)處理系統(tǒng)。
背景技術(shù)
由于對(duì)實(shí)現(xiàn)新的特征和增強(qiáng)現(xiàn)有功能的不斷增長(zhǎng)的需要,硅上系統(tǒng)呈現(xiàn)出復(fù)雜度的持續(xù)增加。這是通過增加部件集成在集成電路上的密度實(shí)現(xiàn)的。同時(shí)電路操作的時(shí)鐘速度也趨向于增加。較高的時(shí)鐘速度同增加的部件密度組合,減小了可以在相同的時(shí)鐘域中同步操作的面積。這產(chǎn)生了對(duì)模塊化方法的需要。根據(jù)該方法,處理系統(tǒng)包括多個(gè)相對(duì)獨(dú)立的復(fù)雜模塊。在傳統(tǒng)的處理系統(tǒng)中,系統(tǒng)模塊通常經(jīng)由總線相互通信。然而,隨著模塊數(shù)目的增加,出于下列原因,這種通信方法不再是實(shí)用的。一方面,大量的模塊形成了很高的總線負(fù)載。另一方面,總線形成了通信瓶頸,其僅能夠使一個(gè)設(shè)備向總線發(fā)送數(shù)據(jù)。
一種通信網(wǎng)絡(luò)形成了用于克服這些缺點(diǎn)的有效方法。片上網(wǎng)絡(luò)(NoC),作為對(duì)高度復(fù)雜的芯片中的互連問題的一種解決方案,近來得到很大的關(guān)注。原因是雙重的。首先,由于NoC構(gòu)造和管理全局連線,因此其有助于解決新的深亞微米技術(shù)中的電氣問題。同時(shí)它們共享連線,降低了它們的數(shù)目并且增加了它們的利用。NoC還可以是能量有效的和可靠的,并且相比于總線是可按比例縮小的。其次,NoC還分離計(jì)算和通信,這在管理數(shù)十億個(gè)晶體管的芯片的設(shè)計(jì)時(shí)是不可或缺的。由于傳統(tǒng)地使用協(xié)議棧設(shè)計(jì)NoC,該協(xié)議棧提供了使通信服務(wù)使用同服務(wù)實(shí)現(xiàn)隔開的良好定義的接口,因此NoC實(shí)現(xiàn)了該分離。
然而,在設(shè)計(jì)片上系統(tǒng)(SoC)時(shí)使用網(wǎng)絡(luò)用于片上通信,帶來了許多新的必須考慮的問題。這是因?yàn)?,同現(xiàn)有片上互連(例如,總線、開關(guān)、或點(diǎn)對(duì)點(diǎn)連線)相反,其中通信模塊是直接連接的,在NoC中,模塊經(jīng)由網(wǎng)絡(luò)節(jié)點(diǎn)遠(yuǎn)程通信。結(jié)果,互連仲裁從集中式的變?yōu)榉植际降?,并且必須由知識(shí)產(chǎn)權(quán)塊(IP)或由網(wǎng)絡(luò)處理如錯(cuò)序事務(wù)、較高延時(shí)和端到端流量控制的問題。
許多該話題已經(jīng)成為局域和廣域網(wǎng)絡(luò)(計(jì)算機(jī)網(wǎng)絡(luò))的領(lǐng)域以及如用于并行機(jī)器互連網(wǎng)絡(luò)的互連的領(lǐng)域中的研究課題。此兩者均與片上網(wǎng)絡(luò)有很大關(guān)系,并且這些領(lǐng)域中的許多結(jié)果同樣適用于片上。然而,NoC的前提不同于片外網(wǎng)絡(luò),并且因此必須重新評(píng)估許多網(wǎng)絡(luò)設(shè)計(jì)選擇。片上網(wǎng)絡(luò)具有不同的屬性(例如,更緊密的鏈路同步)和約束(例如,更高的存儲(chǔ)器代價(jià)),導(dǎo)致了不同的設(shè)計(jì)選擇,其最終影響網(wǎng)絡(luò)服務(wù)。
NoC與片外網(wǎng)絡(luò)的不同之處主要在于它們的約束和同步。典型地,片上比起片外,資源約束是更緊的。存儲(chǔ)(即存儲(chǔ)器)和計(jì)算資源相對(duì)而言更加昂貴,而片上比起片外,點(diǎn)對(duì)點(diǎn)鏈路的數(shù)目是更多的。由于通用片上存儲(chǔ)器,諸如RAM,占用了大的面積,因此存儲(chǔ)是昂貴的。使存儲(chǔ)器以相對(duì)小的尺寸分布在網(wǎng)絡(luò)部件中是更差的,這是因?yàn)榇鎯?chǔ)器中的開銷面積變?yōu)橹湫砸蛩亍?br> 對(duì)于片上網(wǎng)絡(luò),相比于片外網(wǎng)絡(luò),計(jì)算也是相對(duì)高代價(jià)的。片外網(wǎng)絡(luò)接口通常包含專用處理器,用于在網(wǎng)絡(luò)層甚至更高層上實(shí)現(xiàn)協(xié)議棧,以使主處理器免于進(jìn)行通信處理。在網(wǎng)絡(luò)接口中包括專用處理器在片上是不可行的,這是因?yàn)榫W(wǎng)絡(luò)接口的尺寸變得與待連接到網(wǎng)絡(luò)的IP相當(dāng),或者比其更大。而且,在IP自身上運(yùn)行協(xié)議棧也是不可行的,這是因?yàn)檫@些IP常常僅具有一個(gè)專用的功能,并且不具有運(yùn)行網(wǎng)絡(luò)協(xié)議棧的能力。
片上比起片外,用于連接網(wǎng)絡(luò)部件的連線和引腳的數(shù)目更大。如果片上的連線和引腳沒有大規(guī)模用于除了NoC通信以外的其他目的,則它們?cè)试S寬的點(diǎn)對(duì)點(diǎn)互連(例如,300比特鏈路)。這在片外是不可能的,其中鏈路是相對(duì)窄的8~16比特。
相比于直接互連,諸如總線或開關(guān),所介紹的片上互連的網(wǎng)絡(luò)根本上改變了通信。這是因?yàn)榫W(wǎng)絡(luò)的多跳本質(zhì),其中通信模塊不是直接連接的,而是由一個(gè)或多個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)隔開。這與普遍的現(xiàn)有互連(即,總線)相反,其中模塊是直接互連的。該變化的意義在于仲裁(其必須從集中式變?yōu)榉植际?,并且在于通信屬性(例如,排序、或流量控制)。
現(xiàn)代的片上通信協(xié)議(例如,設(shè)備事務(wù)級(jí)DTL、開放內(nèi)核協(xié)議OCP核AXI協(xié)議)基于分割和管道進(jìn)行操作,事務(wù)由請(qǐng)求和響應(yīng)構(gòu)成,并且在主模塊發(fā)出的請(qǐng)求由對(duì)應(yīng)的從模塊接受之后,釋放總線用于由其他設(shè)備使用。事務(wù)的示例包括例如,寫操作+寫數(shù)據(jù)作為請(qǐng)求,和讀操作作為請(qǐng)求+讀數(shù)據(jù)作為響應(yīng)。特別地在多跳互連(例如,片上網(wǎng)絡(luò)、或者具有橋的總線)中使用分割管道通信協(xié)議,允許有效地利用互連。對(duì)于其中從模塊處的響應(yīng)生成是耗時(shí)的情況,分割總線的有效性可以增加。在管道協(xié)議上,允許主模塊具有多個(gè)待處理請(qǐng)求(即,響應(yīng)未決的或者期待響應(yīng)的請(qǐng)求)。
上文提及的協(xié)議設(shè)計(jì)用于在設(shè)備級(jí)上操作,而非系統(tǒng)級(jí)或互連級(jí)。換言之,它們被設(shè)計(jì)為獨(dú)立于實(shí)際的互連實(shí)現(xiàn)方案(例如,仲裁信號(hào)是不可見的),允許重新使用知識(shí)產(chǎn)權(quán)塊IP和它們的前期集成。此外,這些通信協(xié)議設(shè)計(jì)用于確保IP塊可以“自然地”通信(例如,字寬和突發(fā)尺寸可被設(shè)置以適應(yīng)設(shè)備而非總線)。
某些該協(xié)議(例如DTL)包括中止已由目標(biāo)接受的事務(wù)的選擇。在最一般的意義上,不再執(zhí)行被中止的事務(wù),并且其對(duì)目標(biāo)沒有影響。在DTL中,語義是,可以嘗試中止任何待處理的事務(wù)。
然而,在設(shè)備級(jí)的分割管道協(xié)議中中止事務(wù)是困難的,這是因?yàn)樵撌聞?wù)在到達(dá)其最終目的地之前可能通過數(shù)個(gè)中間模塊(例如,橋、適配器)。因此,可能不能停止該事務(wù)。這在諸如片上互連和具有橋的總線的多跳互連中是特別尖銳的。
已知的中止技術(shù)可以具有含糊語義,或者可以使目標(biāo)處于更有可能的狀態(tài)中的一個(gè)狀態(tài)(例如,試圖中止寫操作的結(jié)果可能成功或失敗,并且結(jié)果,寫操作尋址的位置可以包含舊的值或者由寫操作承載的值)。

發(fā)明內(nèi)容
因此,本發(fā)明的目的在于,在基于事務(wù)的通信環(huán)境中提供一種改進(jìn)的事務(wù)中止。
通過權(quán)利要求1的集成電路、權(quán)利要求7的用于事務(wù)中止的方法和權(quán)利要求8的數(shù)據(jù)處理系統(tǒng),實(shí)現(xiàn)了該目的。
因此,提供了一種集成電路,其具有多個(gè)處理模塊和互連,所述互連用于耦合所述多個(gè)處理模塊并且用于實(shí)現(xiàn)基于所述多個(gè)處理模塊之間的事務(wù)的設(shè)備級(jí)通信。至少一個(gè)第一處理模塊向至少一個(gè)第二處理模塊發(fā)出至少一個(gè)事務(wù)。所述集成電路包括至少一個(gè)事務(wù)中止單元,其用于通過接收由所述第一模塊發(fā)出的中止請(qǐng)求,通過啟動(dòng)待中止的所述至少一個(gè)事務(wù)的放棄操作,并且通過發(fā)出指出所請(qǐng)求的事務(wù)中止的成功/失敗的響應(yīng),中止由所述第一模塊發(fā)出的所述至少一個(gè)事務(wù)。
中止事務(wù)是關(guān)于通信協(xié)議的理想屬性,這是因?yàn)椋?dāng)不再需要事務(wù)時(shí)(例如,待發(fā)送的數(shù)據(jù)太晚以至于不能處理,或者由于已經(jīng)過了某些最后期限,讀數(shù)據(jù)不再是有用的),其將允許卸除互連和從模塊的負(fù)載。中止事務(wù)的優(yōu)點(diǎn)在于,其允許主模塊在中止操作之后洞察系統(tǒng)的狀態(tài)。這可以允許中止事務(wù)的更加廣泛的使用以及由此導(dǎo)致的互連和從模塊的更加有效的使用。這里,事務(wù)中止單元可以在互連裝置、從模塊中實(shí)現(xiàn),或者在主模塊中實(shí)現(xiàn)。
根據(jù)本發(fā)明的一個(gè)方面,所述集成電路包括至少一個(gè)網(wǎng)絡(luò)接口,其同所述多個(gè)處理模塊中的一個(gè)處理模塊相關(guān)聯(lián),用于控制所述多個(gè)處理模塊中的所述一個(gè)處理模塊和所述互連之間的通信。所述至少一個(gè)事務(wù)中止單元被配置在一個(gè)所述網(wǎng)絡(luò)接口中。通過使事務(wù)中止單元同網(wǎng)絡(luò)接口相關(guān)聯(lián),即接近發(fā)出中止的模塊,模塊可以繼續(xù)其專用操作,不必處理實(shí)際的中止通信。
根據(jù)本發(fā)明的另一方面,所述至少一個(gè)事務(wù)中止單元適于,以原子方式地執(zhí)行至少一個(gè)事務(wù)中止,即要么中止事務(wù)的完整集合,要么不中止任何事務(wù),或者部分地執(zhí)行至少一個(gè)事務(wù)中止,即中止盡可能多的事務(wù),但是可能存在未被中止的事務(wù)。
根據(jù)本發(fā)明的另一方面,所述至少一個(gè)網(wǎng)絡(luò)接口包括用于緩沖接收數(shù)據(jù)的請(qǐng)求緩沖器,和/或用于緩沖離開數(shù)據(jù)的響應(yīng)緩沖器,并且發(fā)出關(guān)于存儲(chǔ)在所述請(qǐng)求緩沖器或所述響應(yīng)緩沖器中的待中止的所述至少一個(gè)事務(wù)的放棄操作。放棄請(qǐng)求/響應(yīng)緩沖器中的數(shù)據(jù)是用于處置待中止的請(qǐng)求/響應(yīng)的有效方法。
根據(jù)本發(fā)明的優(yōu)選方面,對(duì)所述事務(wù)中止的所述請(qǐng)求指明了將中止哪些事務(wù),并且由所述事務(wù)中止單元發(fā)出的所述響應(yīng)指明了已中止了哪個(gè)請(qǐng)求的至少一個(gè)事務(wù)。通過該具體響應(yīng),主模塊將準(zhǔn)確地了解與其通信的所有從模塊的狀態(tài)。
本發(fā)明還涉及一種用于集成電路中的事務(wù)中止的方法,所述集成電路具有多個(gè)處理模塊和互連裝置,所述互連裝置用于耦合所述多個(gè)處理模塊并且用于實(shí)現(xiàn)基于所述多個(gè)處理模塊之間的事務(wù)的設(shè)備級(jí)通信。至少一個(gè)第一處理模塊向至少一個(gè)第二處理模塊發(fā)出至少一個(gè)事務(wù)。通過接收由所述第一模塊發(fā)出的中止請(qǐng)求,通過啟動(dòng)待中止的所述至少一個(gè)事務(wù)的放棄操作,并且通過發(fā)出指出所請(qǐng)求的事務(wù)中止的成功/失敗的響應(yīng),來中止由所述第一模塊發(fā)出的所述至少一個(gè)事務(wù)。
本發(fā)明進(jìn)一步涉及一種數(shù)據(jù)處理系統(tǒng),其具有多個(gè)處理模塊和互連,所述互連用于耦合所述多個(gè)處理模塊并且用于實(shí)現(xiàn)基于所述多個(gè)處理模塊之間的事務(wù)的設(shè)備級(jí)通信。至少一個(gè)第一處理模塊向至少一個(gè)第二處理模塊發(fā)出至少一個(gè)事務(wù)。所述集成電路包括至少一個(gè)事務(wù)中止單元,其用于通過接收由所述第一模塊發(fā)出的中止請(qǐng)求,通過啟動(dòng)待中止的所述至少一個(gè)事務(wù)的放棄操作,并且通過發(fā)出指出所請(qǐng)求的事務(wù)中止的成功/失敗的響應(yīng),來中止由所述第一模塊發(fā)出的所述至少一個(gè)事務(wù)。
因此,還可以在包括數(shù)個(gè)分立的集成電路或多芯片網(wǎng)絡(luò)的系統(tǒng)中實(shí)現(xiàn)事務(wù)中止。
本發(fā)明基于這樣的思想,即引入特殊的中止事務(wù),用于嘗試中止事務(wù)。由于中止可能成功或失敗,因此需要一種響應(yīng),用于描述中止事務(wù)的成功/失敗。當(dāng)發(fā)出了關(guān)于中止結(jié)果的響應(yīng)時(shí),發(fā)出中止事務(wù)的主模塊將精確地了解從模塊或從模塊的環(huán)境的結(jié)果狀態(tài)??梢酝暾鼗虿煌暾刂兄故聞?wù),由此從模塊不會(huì)結(jié)束于中間狀態(tài),或者不會(huì)僅具有部分結(jié)果。
在附屬權(quán)利要求中描述了本發(fā)明的另外的方面。
通過參考下文描述的實(shí)施例,本發(fā)明的這些和其他的方面將是顯而易見的,并且將得到闡明。


圖1示出了根據(jù)本發(fā)明的片上網(wǎng)絡(luò)的基本框圖,并且圖2示出了圖1的網(wǎng)絡(luò)接口部分的框圖的基本表述。
具體實(shí)施例方式
下面的實(shí)施例涉及片上系統(tǒng),即,相同芯片(包括例如,系統(tǒng)級(jí)封裝、多管芯模塊)或不同芯片上的多個(gè)模塊,其經(jīng)由某種互連相互通信。該互連體現(xiàn)為片上網(wǎng)絡(luò)NoC。該片上網(wǎng)絡(luò)可以包括網(wǎng)絡(luò)中的連線、總線、時(shí)分多工、開關(guān)、和/或路由器。在所述網(wǎng)絡(luò)的傳輸層處,可以在連接上執(zhí)行模塊之間的通信。連接被認(rèn)為是第一模塊和至少一個(gè)第二模塊之間的信道集合,每個(gè)連接具有一組連接屬性。對(duì)于第一模塊和單一的第二模塊之間的連接,該連接包括至少一個(gè)信道,即從第一模塊到第二模塊的信道,即請(qǐng)求信道,以及從第二模塊到第一模塊的第二信道,即響應(yīng)信道。請(qǐng)求信道被保留用于從第一模塊到第二模塊的數(shù)據(jù)和消息,而響應(yīng)信道被保留用于從第二模塊到第一模塊的數(shù)據(jù)和消息。然而,如果連接牽涉一個(gè)第一模塊和N個(gè)第二模塊,則提供2*N個(gè)信道。連接屬性可以包括排序(有序數(shù)據(jù)傳輸)、流控制(遠(yuǎn)程緩沖器被保留用于連接,并且將允許數(shù)據(jù)產(chǎn)生器僅在確保了存在可用于產(chǎn)生的數(shù)據(jù)的空間時(shí)發(fā)送數(shù)據(jù))、吞吐量(確保關(guān)于吞吐量的下限)、等待時(shí)間(確保關(guān)于延時(shí)的上限)、損失(數(shù)據(jù)丟失)、傳送終止、事務(wù)完成、數(shù)據(jù)正確性、優(yōu)先級(jí)或數(shù)據(jù)遞送。
圖1示出了根據(jù)第一實(shí)施例的片上網(wǎng)絡(luò)。特別地,示出了均具有相關(guān)聯(lián)的網(wǎng)絡(luò)接口NI的主模塊M和從模塊S。每個(gè)模塊M、S分別經(jīng)由其相關(guān)聯(lián)的網(wǎng)絡(luò)接口NI連接到網(wǎng)絡(luò)N。網(wǎng)絡(luò)接口NI用作主和從模塊M、S同網(wǎng)絡(luò)N之間的接口。網(wǎng)絡(luò)可以包括多個(gè)互連網(wǎng)絡(luò)路由器R。網(wǎng)絡(luò)接口NI被提供用于管理各個(gè)模塊M、S同網(wǎng)絡(luò)N之間的通信,由此該模塊可以執(zhí)行其專用操作,而不必處理同網(wǎng)絡(luò)或其他模塊的通信。主模塊M發(fā)出事務(wù),即,向從模塊S發(fā)出請(qǐng)求。該請(qǐng)求可以包括命令以及某些數(shù)據(jù)。從模塊接收該請(qǐng)求,并且基于接收的命令執(zhí)行各自的處理,并且任選地返回還可能帶有某些數(shù)據(jù)的響應(yīng)。
網(wǎng)絡(luò)N可以包括多個(gè)互連的網(wǎng)絡(luò)路由器R。該路由器R可以隨機(jī)地在它們自身之間連接(路由器之間的多個(gè)鏈路也是可能的),并且連接到網(wǎng)絡(luò)接口(即,不存在拓?fù)浼s束)。路由器R將數(shù)據(jù)分組從一個(gè)網(wǎng)絡(luò)接口NI傳輸?shù)搅硪粋€(gè)。
如下文所述的模塊可以是所謂的知識(shí)產(chǎn)權(quán)塊IP(計(jì)算元件、存儲(chǔ)器或者可以內(nèi)部包含互連模塊的系統(tǒng)),其在所述網(wǎng)絡(luò)接口NI處同網(wǎng)絡(luò)交互。網(wǎng)絡(luò)接口NI可以連接到一個(gè)或多個(gè)IP塊。相似地,IP可以連接到不止一個(gè)網(wǎng)絡(luò)接口。
同主模塊M和從模塊S相關(guān)聯(lián)的網(wǎng)絡(luò)接口NI均包括請(qǐng)求緩沖器REQ和響應(yīng)緩沖器RESP以及同每個(gè)緩沖器REQ、RESP相關(guān)聯(lián)的事務(wù)中止單元TAU。優(yōu)選地,事務(wù)中止單元TAU結(jié)合到同主模塊M相關(guān)聯(lián)的網(wǎng)絡(luò)接口NI和同從模塊S相關(guān)聯(lián)的網(wǎng)絡(luò)接口NI中,并且在這些網(wǎng)絡(luò)接口NI的請(qǐng)求部分和/或響應(yīng)部分上??商鎿Q地,當(dāng)從模塊S包括用于緩沖請(qǐng)求的隊(duì)列,即請(qǐng)求緩沖器時(shí),事務(wù)中止單元TAU還可以在從模塊S中實(shí)現(xiàn)。由于在從模塊S處執(zhí)行請(qǐng)求之前可以捕獲和刪除請(qǐng)求,因此可以任選地包括在從模塊S中實(shí)現(xiàn)事務(wù)中止單元TAU。
主模塊M發(fā)出中止請(qǐng)求消息,在主NI中處理該消息(用于刪除主NI中緩沖的請(qǐng)求),并且任選地在網(wǎng)絡(luò)中進(jìn)一步發(fā)送該消息,用于由從網(wǎng)絡(luò)接口來處理(還可能由其之間的某些路由器處理),并且由從模塊自身處理??梢酝耆鼗蛘吒静恢兄故聞?wù),由此從模塊不會(huì)結(jié)束于中間狀態(tài),或者不會(huì)具有部分結(jié)果??商鎿Q地,如果這對(duì)系統(tǒng)是可接受的,則可以部分地放棄事務(wù)(例如,在由從模塊部分地執(zhí)行時(shí),可以停止長(zhǎng)的寫脈沖串)。
可以針對(duì)所有未決的事務(wù)、最后發(fā)出的事務(wù)、最后N個(gè)發(fā)出的事務(wù)、具體標(biāo)識(shí)的事務(wù)或者一組具體標(biāo)識(shí)的事務(wù)來執(zhí)行中止事務(wù)。
已發(fā)出請(qǐng)求,但是主模塊還未從從模塊S接收到響應(yīng)的所有事務(wù),均可進(jìn)行中止。可以進(jìn)一步詳細(xì)描述可能的響應(yīng),以返回誰的事務(wù)已被完全地或部分地中止,并且在部分中止的情況中返回有多少事務(wù)已被實(shí)際中止。
可替換地,中止最后發(fā)出的事務(wù)或者最后N個(gè)發(fā)出的事務(wù)。這里,將發(fā)出針對(duì)指出了中止的成功或失敗的中止事務(wù)的響應(yīng)。
而且,關(guān)于事務(wù)中止的第三種可能是,中止由事務(wù)標(biāo)識(shí)符或一組事務(wù)標(biāo)識(shí)符標(biāo)識(shí)的事務(wù)或一組事務(wù)。當(dāng)事務(wù)具有事務(wù)標(biāo)識(shí)符時(shí)這是適用的(這不是關(guān)于片上協(xié)議的一般情況,例如,OCP、AXI、或者DTL不攜帶事務(wù)標(biāo)識(shí)符,但是MTL攜帶)??商鎿Q地,可以使用相關(guān)標(biāo)識(shí)符(例如,中止最后兩個(gè)事務(wù)或者最后第7~第9個(gè)事務(wù)),其不需要事務(wù)標(biāo)識(shí)符。這里,將發(fā)出針對(duì)指出了中止事務(wù)的成功或失敗的中止請(qǐng)求的響應(yīng)。
當(dāng)中止多個(gè)事務(wù)時(shí)(例如,所有的事務(wù)或者指明的事務(wù)集合),存在兩個(gè)關(guān)于中止的選擇,即原子中止(atomic abortion),即要么中止完整的事務(wù)集合,要么不中止其中任何事務(wù),或者部分中止,即中止盡可能多的事務(wù),但是可能存在未被中止的事務(wù)。
當(dāng)事務(wù)不是侵入性的時(shí)候(即,不改變從模塊的狀態(tài);例如,讀),還可以在它們返回的路徑上中止事務(wù),即放棄響應(yīng)。如果系統(tǒng)可以應(yīng)付這種情況,則對(duì)于侵入性事務(wù)這也是可能的。
網(wǎng)絡(luò)接口、網(wǎng)絡(luò)、某些路由器、主模塊或者從模塊可以發(fā)出對(duì)具有各種程度的細(xì)節(jié)的上文所述中止事務(wù)請(qǐng)求的響應(yīng)(a)成功/失敗響應(yīng)(即,對(duì)于所有事務(wù),中止成功或失敗),(b)具有成功中止的事務(wù)的數(shù)目的響應(yīng),或者(c)具有中止已經(jīng)成功或失敗的那些事務(wù)的列表的響應(yīng)。在最后一種情況中,主模塊M將精確地了解從模塊S的狀態(tài)。在請(qǐng)求中止事務(wù)之后,由網(wǎng)絡(luò)而非從模塊發(fā)出響應(yīng)。僅當(dāng)中止事務(wù)被提供給從模塊時(shí),該從模塊將響應(yīng)該中止事務(wù)。
對(duì)于未實(shí)現(xiàn)中止事務(wù)的從模塊,實(shí)現(xiàn)了向后兼容性,這是因?yàn)槠淇偸菆?zhí)行經(jīng)歷中止的事務(wù)。關(guān)于中止事務(wù)的響應(yīng)將發(fā)出中止失敗的信號(hào)。當(dāng)主模塊未實(shí)現(xiàn)中止事務(wù)時(shí),忽略來自從模塊的對(duì)中止的響應(yīng)。
圖2示出了具有事務(wù)中止單元TAU和對(duì)于消息的硬件FIFO(先入先出)的一部分網(wǎng)絡(luò)接口的可行的實(shí)現(xiàn)方案。特別地,網(wǎng)絡(luò)接口NI的請(qǐng)求部分被示出為包括請(qǐng)求緩沖器REQ和事務(wù)中止單元TAU。請(qǐng)求緩沖器REQ接收進(jìn)入的消息msg_in作為輸入,并且輸出離開的消息msg_out。事務(wù)中止單元TAU接收中止請(qǐng)求abt、有效輸入信號(hào)Vd_in、有效輸出信號(hào)vd_out、和請(qǐng)求信號(hào)req_out。事務(wù)中止單元TAU輸出多個(gè)字#wd、有效選擇vd_sel信號(hào)、和響應(yīng)abt_ack。
在正常的流程中,通過msg_in,在請(qǐng)求緩沖器REQ中,即在FIFO中,將消息排成隊(duì)列。實(shí)現(xiàn)經(jīng)典的雙向握手(使能輸入,即en_in/接受輸入,即acp_in用于寫入到FIFO,和使能輸出,即en_out/有效輸出,即vd_out用于從FIFO讀出),用于傳輸消息字。當(dāng)有效字出現(xiàn)時(shí),信號(hào)vd_in升高,通過使信號(hào)acp_in上升一個(gè)周期將該信號(hào)vd_in作為時(shí)鐘輸入信號(hào)。接受信號(hào)acp_in可被缺省設(shè)定為高,由此FIFO可以在單一周期中的任何時(shí)間接受字。因此,當(dāng)有效信號(hào)vd_in和接受信號(hào)acp_in對(duì)于一個(gè)時(shí)鐘周期均為高時(shí),有效地傳輸字。相似地,當(dāng)使能信號(hào)en_out和有效信號(hào)vd_out對(duì)于一個(gè)周期均為高時(shí),從FIFO中移出字。
現(xiàn)在更加詳細(xì)地描述用于中止事務(wù)的中止過程。事務(wù)中止單元TAU由主模塊M發(fā)出的中止信號(hào)abt觸發(fā)。事務(wù)中止單元TAU執(zhí)行請(qǐng)求的中止操作,并且通過響應(yīng)信號(hào)abt_ack向主模塊返回指示了其成功/失敗的響應(yīng)。事務(wù)中止單元TAU還監(jiān)視所請(qǐng)求的針對(duì)FIFO的讀訪問req_out,并且檢查包含消息尺寸的進(jìn)入消息的消息報(bào)頭,以便于跟蹤FIFO隊(duì)列中存儲(chǔ)的所有消息。
現(xiàn)在更加詳細(xì)地描述關(guān)于所有事務(wù)的事務(wù)中止。當(dāng)呼叫中止時(shí),事務(wù)中止單元TAU獲得FIFO的內(nèi)容的快照。因此,其包括刪除計(jì)數(shù)器,用于存儲(chǔ)FIFO中的消息的長(zhǎng)度之和。所存儲(chǔ)的值指出了在已經(jīng)發(fā)送離開消息之后將被放棄的字的數(shù)目,由于它們與待中止的事務(wù)相關(guān)聯(lián)。
中止單元TAU輸出信號(hào)#wd,其指出了FIFO REQ中的非空字的數(shù)目。當(dāng)從主模塊接收到中止請(qǐng)求時(shí),該信號(hào)設(shè)定#wd以便僅指出剩余的離開消息msg_out。事務(wù)中止單元TAU等待,直至完全發(fā)送離開消息,即#wd是0,并且事務(wù)中止單元TAU通過使信號(hào)Vd_out降低使消息輸出msg_out無效,并且由此從FIFO中移除刪除字(經(jīng)由使能輸出en_out,同時(shí)使消息輸出msg_out和有效輸出vd_out無效)。
可以經(jīng)由響應(yīng)abt_ack將刪除消息的數(shù)目返回給主模塊M。如果如上文提及的部分地放棄事務(wù),則可以進(jìn)一步詳細(xì)描述可能的響應(yīng),以返回哪些事務(wù)已被完整地或部分地中止,并且在部分中止的情況中返回有多少已被實(shí)際中止。
可以在執(zhí)行中止操作的同時(shí)接受新的消息,這是因?yàn)橄⒔邮懿挥绊憚h除計(jì)數(shù)器。因此,如果在執(zhí)行中止的同時(shí)接收到新的中止請(qǐng)求abt,則以加入到FIFO隊(duì)列的新消息的長(zhǎng)度和來遞增刪除計(jì)數(shù)器。換言之,在中止的同時(shí)提供新消息時(shí),若干種的選擇是可行的,其中一個(gè)作為響應(yīng)返回。直到中止結(jié)束才接受消息,或者在中止過程中接受消息。當(dāng)接受消息時(shí),依賴于中止語義兩種情況是可能的,即在中止過程中接受的消息也經(jīng)歷中止并且被刪除,或者在中止過程中接受的消息未經(jīng)歷中止并且未被刪除。
現(xiàn)在描述用于中止最后發(fā)出的事務(wù)或者最后N個(gè)發(fā)出的事務(wù)的事務(wù)中止。該功能與上文描述的關(guān)于所有事務(wù)的中止相似。這里,最后的消息或者最后N個(gè)消息之前的所有消息被允許通過msg_out發(fā)送出。在此之后,從FIFO中刪除同待中止的事務(wù)相關(guān)聯(lián)的消息(通過在輸出FIFO的消息輸出的同時(shí)使輸出無效),并且生成響應(yīng)abt_ack。為了有效地僅刪除所需的消息,通過檢查進(jìn)入消息的消息報(bào)頭,由事務(wù)中止單元TAU識(shí)別消息邊界。如果部分地放棄事務(wù),則響應(yīng)可以返回哪些事務(wù)已被完整地或部分地中止,并且在部分中止的情況中返回有多少已被實(shí)際中止。
通過獲得FIFO的快照,并且將FIFO中使用的字的數(shù)目存儲(chǔ)在計(jì)數(shù)器中,執(zhí)行關(guān)于特定的事務(wù)或者一組特定的事務(wù)的中止。每當(dāng)從FIFO輸出字時(shí),使計(jì)數(shù)器遞減。如果具有特定的標(biāo)識(shí)符TID的消息的報(bào)頭到達(dá)FIFO的頭,同時(shí)計(jì)數(shù)器不是0,則通過使FIFO的輸出無效刪除該消息,并且由響應(yīng)abt_ack返回成功或失敗。如果部分地放棄事務(wù),則該響應(yīng)可以返回哪些事務(wù)已被完整地或部分地中止,并且在部分中止的情況中返回有多少已被實(shí)際中止。
一旦接收到來自主模塊的中止請(qǐng)求,則可以從FIFO中僅移除完整的消息,因?yàn)槿绻@導(dǎo)致系統(tǒng)處于未定義的狀態(tài),則移除消息的一部分是非法的。出于該原因,事務(wù)中止單元TAU通過檢查包含具有消息長(zhǎng)度的字段的消息報(bào)頭,來監(jiān)視進(jìn)入的消息的邊界。
在事務(wù)中止單元TAU中,可以存在三個(gè)計(jì)數(shù)器,其被實(shí)現(xiàn)用于跟蹤消息邊界,即進(jìn)入計(jì)數(shù)器CntIn、FIFO計(jì)數(shù)器CntFifo、和離開計(jì)數(shù)器CntOut。進(jìn)入計(jì)數(shù)器CntIn存儲(chǔ)當(dāng)前進(jìn)入的消息中仍將被接收的字的數(shù)目。計(jì)數(shù)器CntFifo存儲(chǔ)FIFO中存在的消息的字的數(shù)目,包括當(dāng)前進(jìn)入的和離開的消息(該計(jì)數(shù)器可能已存在為FIFO的實(shí)現(xiàn)方案的一部分,由于其存儲(chǔ)FIFO中存在的字的數(shù)目)。離開計(jì)數(shù)器CntOut存儲(chǔ)仍將從當(dāng)前離開的消息中發(fā)送出的字的數(shù)目。
當(dāng)中止請(qǐng)求到達(dá)時(shí),即中止信號(hào)abt對(duì)于至少一個(gè)時(shí)鐘周期是高的,將啟動(dòng)FIFO中的消息的刪除,其包括進(jìn)入的消息但是將離開的消息排除在外。這意味著CntIn+CntFifo-CntOut個(gè)字將被放棄。其可行的實(shí)現(xiàn)方案是,將待放棄的字的數(shù)目存儲(chǔ)在事務(wù)中止單元TAU中的另一計(jì)數(shù)器CntDiscard中,并且升高使能信號(hào)en_a,其釋放FIFO的輸出,并且使FIFO從其中移除字。隨著消息被放棄,信號(hào)vd_out由信號(hào)vd_sel選通(即,未轉(zhuǎn)發(fā)到信號(hào)ack_out)。當(dāng)信號(hào)en_a(并且隱性地還有en_out)和vd_out均為高時(shí),移除字。隨著字被移除,計(jì)數(shù)器CntDiscard遞減。當(dāng)其達(dá)到0時(shí),中止操作結(jié)束,并且繼續(xù)正常操作。
如果中止作為消息被轉(zhuǎn)發(fā)到下一模塊,則事務(wù)中止單元TAU可以創(chuàng)建中止消息,其還包括已被刪除的消息的數(shù)目。從該消息中提取中止信號(hào)。另一種可行的實(shí)現(xiàn)方案是,存儲(chǔ)放棄的事務(wù)的數(shù)目,轉(zhuǎn)發(fā)中止消息、收集其包括進(jìn)一步放棄的事務(wù)數(shù)目的響應(yīng),并且將該數(shù)目加入到本地存儲(chǔ)的放棄的事務(wù)數(shù)目中,將該和接著返回到主模塊。
從模塊或其網(wǎng)絡(luò)接口通過如針對(duì)圖2的事務(wù)中止單元描述的響應(yīng)消息來響應(yīng)中止請(qǐng)求,然后經(jīng)由互連簡(jiǎn)單地將其轉(zhuǎn)發(fā)到主模塊。
應(yīng)當(dāng)注意,優(yōu)選的是,僅在還未發(fā)送(甚至未部分地發(fā)送)請(qǐng)求時(shí),中止所有請(qǐng)求。如果請(qǐng)求已被(部分地)發(fā)送,則可能太晚以至于不能將其放棄。即使在僅發(fā)送了一部分請(qǐng)求時(shí),如果使互連和從模塊處于未定義的狀態(tài),則不能放棄剩余的。然而,如果對(duì)于系統(tǒng)而言處于未定義狀態(tài)不成問題,則可以根據(jù)計(jì)數(shù)器CntDiscard=CntIn+CntFifo放棄已部分發(fā)送的請(qǐng)求。在該情況中,不需要計(jì)數(shù)器CntOut。
盡管上文針對(duì)網(wǎng)絡(luò)接口的請(qǐng)求部分描述了事務(wù)中止單元TAU的實(shí)現(xiàn)方案,但是也可以在網(wǎng)絡(luò)接口的響應(yīng)部分中對(duì)應(yīng)地實(shí)現(xiàn)事務(wù)中止單元TAU。
上文所述的事務(wù)中止單元原則上可以在網(wǎng)絡(luò)N(在任何NI和R中)中或在從模塊S中的任何地方實(shí)現(xiàn),并且可以不僅在一個(gè)網(wǎng)絡(luò)接口NI中實(shí)現(xiàn)。
因此,本發(fā)明提出了引入特殊的中止事務(wù)用于嘗試中止事務(wù)。原因是雙重的。首先,由于這是中止是否成功的問題,因此需要一種響應(yīng)用于報(bào)告中止事務(wù)的成功或失敗。其次,具有關(guān)于中止的結(jié)果的響應(yīng)使發(fā)出中止事務(wù)的主模塊精確地得知系統(tǒng)的結(jié)果狀態(tài)。中止操作的語義可以是下列中的一個(gè)-嘗試中止所有未決的事務(wù),-嘗試中止最后N個(gè)發(fā)出的事務(wù),
-嘗試中止由至少一個(gè)事務(wù)標(biāo)識(shí)符所識(shí)別的至少一個(gè)事務(wù)。
上文所述的事務(wù)中止可以適用于任何多芯片網(wǎng)絡(luò),而非僅適用于單芯片上的網(wǎng)絡(luò)。
所提出的方案同設(shè)備級(jí)通信協(xié)議(例如,DTL、AXI、OCP)相關(guān)。其允許以受控方式中止事務(wù)。利用其擴(kuò)展的策略,所提出的方案是向后兼容的。
應(yīng)當(dāng)注意,上文提及的實(shí)施例說明了而非限制了本發(fā)明,并且在不偏離附屬權(quán)利要求的范圍的前提下,本領(lǐng)域的技術(shù)人員將能夠設(shè)計(jì)許多替換的實(shí)施例。在權(quán)利要求中,被置于括號(hào)之間的任何參考標(biāo)記不應(yīng)被解釋為限制權(quán)利要求。詞“包括”并未排除除了權(quán)利要求中列出的元件或步驟以外的元件或步驟的存在。元件前面的“一個(gè)”并非排除多個(gè)該元件的存在。在列舉數(shù)個(gè)裝置的設(shè)備權(quán)利要求中,數(shù)個(gè)該裝置可由一個(gè)相同的硬件項(xiàng)物化。在互不相同的依賴性權(quán)利要求中敘述了特定的措施,并非說明不能有利地使用這些措施的組合。
而且,權(quán)利要求中的任何參考標(biāo)記不應(yīng)被解釋為限制權(quán)利要求的范圍。
權(quán)利要求
1.集成電路,其具有多個(gè)處理模塊(M、S)和互連裝置(N),所述互連裝置(N)用于耦合所述多個(gè)處理模塊(M、S)并且用于實(shí)現(xiàn)基于所述多個(gè)處理模塊(M、S)之間的事務(wù)的設(shè)備級(jí)通信,其中至少一個(gè)第一處理模塊(M)向至少一個(gè)第二處理模塊(S)發(fā)出至少一個(gè)事務(wù),包括至少一個(gè)事務(wù)中止單元(TAU),其用于通過接收由所述第一模塊(M)發(fā)出的中止請(qǐng)求(abt),通過啟動(dòng)待中止的所述至少一個(gè)事務(wù)的放棄,并且通過發(fā)出指示所請(qǐng)求的事務(wù)中止的成功/失敗的響應(yīng)(abt_ack),從而中止由所述第一模塊發(fā)出的至少一個(gè)事務(wù)。
2.權(quán)利要求1的集成電路,進(jìn)一步包括至少一個(gè)網(wǎng)絡(luò)接口(NI),其同所述多個(gè)處理模塊(M、S)中的一個(gè)處理模塊相關(guān)聯(lián),用于控制所述多個(gè)處理模塊(M、S)中的所述一個(gè)和所述互連(N)之間的通信,其中所述至少一個(gè)事務(wù)中止單元(TAU)被配置在其中一個(gè)所述網(wǎng)絡(luò)接口(NI)中。
3.權(quán)利要求2的集成電路,其中所述至少一個(gè)事務(wù)中止單元(TAU)適于以原子方式地或部分地執(zhí)行所述至少一個(gè)事務(wù)中止。
4.權(quán)利要求2的集成電路,其中所述至少一個(gè)網(wǎng)絡(luò)接口(NI)進(jìn)一步包括用于緩沖接收到的數(shù)據(jù)的請(qǐng)求緩沖器(REQ),其中所述事務(wù)中止單元(TAU)適于發(fā)出對(duì)于如存儲(chǔ)在所述請(qǐng)求緩沖器(REQ)中的待中止的所述至少一個(gè)事務(wù)的放棄操作。
5.權(quán)利要求2或4的集成電路,其中所述至少一個(gè)網(wǎng)絡(luò)接口(NI)進(jìn)一步包括用于緩沖離開數(shù)據(jù)的響應(yīng)緩沖器(RESP),其中所述事務(wù)中止單元(TAU)適于發(fā)出對(duì)于如存儲(chǔ)在所述響應(yīng)緩沖器(RESP)中的待中止的所述至少一個(gè)事務(wù)的放棄操作。
6.權(quán)利要求1的集成電路,其中對(duì)所述至少一個(gè)事務(wù)中止的所述請(qǐng)求指明了將中止哪些事務(wù),并且由所述事務(wù)中止單元(TAU)發(fā)出的所述響應(yīng)(abt_ack)指明了所請(qǐng)求的至少一個(gè)事務(wù)中的哪些已經(jīng)被中止。
7.用于集成電路中的事務(wù)中止的方法,所述集成電路具有多個(gè)處理模塊(M、S)和互連裝置(N),所述互連裝置(N)用于耦合所述多個(gè)處理模塊(M、S)并且用于實(shí)現(xiàn)基于所述多個(gè)處理模塊(M、S)之間的事務(wù)的設(shè)備級(jí)通信,其中至少一個(gè)第一處理模塊(M)向至少一個(gè)第二處理模塊(S)發(fā)出至少一個(gè)事務(wù),包括步驟通過接收由所述第一模塊(M)發(fā)出的中止請(qǐng)求(abt),通過啟動(dòng)待中止的所述至少一個(gè)事務(wù)的放棄操作,并且通過發(fā)出指示了所請(qǐng)求的事務(wù)中止的成功/失敗的響應(yīng)(abt_ack),來中止由所述第一模塊發(fā)出的至少一個(gè)事務(wù)。
8.數(shù)據(jù)處理系統(tǒng),其包括多個(gè)處理模塊(M、S)和互連裝置(N),所述互連裝置(N)用于耦合所述多個(gè)處理模塊(M、S)并且用于實(shí)現(xiàn)基于所述多個(gè)處理模塊(M、S)之間的事務(wù)的設(shè)備級(jí)通信,其中至少一個(gè)第一處理模塊(M)向至少一個(gè)第二處理模塊(S)發(fā)出至少一個(gè)事務(wù),包括至少一個(gè)事務(wù)中止單元(TAU),其用于通過接收由所述第一模塊(M)發(fā)出的中止請(qǐng)求(abt),通過啟動(dòng)待中止的所述至少一個(gè)事務(wù)的放棄操作,并且通過發(fā)出指示了所請(qǐng)求的事務(wù)中止的成功/失敗的響應(yīng)(abt_ack),來中止由所述第一模塊發(fā)出的至少一個(gè)事務(wù)。
全文摘要
提供了一種集成電路,其具有多個(gè)處理模塊(M、S)和互連裝置(N),所述互連裝置(N)用于耦合所述多個(gè)處理模塊(M、S)并且用于實(shí)現(xiàn)基于所述多個(gè)處理模塊(M、S)之間的事務(wù)的設(shè)備級(jí)通信。至少一個(gè)第一處理模塊(M)向至少一個(gè)第二處理模塊(S)發(fā)出至少一個(gè)事務(wù)。所述集成電路包括至少一個(gè)事務(wù)中止單元(TAU),其用于通過接收由所述第一模塊(M)發(fā)出的中止請(qǐng)求(abt),通過啟動(dòng)待中止的所述至少一個(gè)事務(wù)的放棄操作,并且通過發(fā)出指出所請(qǐng)求的事務(wù)中止的成功/失敗的響應(yīng)(abt-ack),來中止由所述第一模塊(M)發(fā)出的所述至少一個(gè)事務(wù)。
文檔編號(hào)G06F15/173GK1938695SQ200580009674
公開日2007年3月28日 申請(qǐng)日期2005年3月15日 優(yōu)先權(quán)日2004年3月26日
發(fā)明者A·拉杜勒斯庫, K·G·W·古森斯 申請(qǐng)人:皇家飛利浦電子股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1