国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      用于發(fā)出事務(wù)的集成電路和方法

      文檔序號(hào):6655647閱讀:127來源:國知局
      專利名稱:用于發(fā)出事務(wù)的集成電路和方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及一種具有多個(gè)處理模塊的集成電路和一種配置用于提供處理模塊之間的連接的網(wǎng)絡(luò),一種用于在這種集成電路中發(fā)出事務(wù)的方法,和一種數(shù)據(jù)處理系統(tǒng)。
      背景技術(shù)
      由于對(duì)實(shí)現(xiàn)新的特征和改善現(xiàn)有功能的不斷增長的需要,硅上系統(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ì)算同通信分離,其在管理百萬級(jí)晶體管芯片的設(shè)計(jì)中是必要的。NoC實(shí)現(xiàn)了該分離,這是因?yàn)樗鼈儌鹘y(tǒng)上是使用協(xié)議棧設(shè)計(jì)的,其提供了良好定義的接口,將通信服務(wù)的使用和服務(wù)的實(shí)現(xiàn)分開。
      然而,在設(shè)計(jì)片上系統(tǒng)時(shí)使用用于片上通信的網(wǎng)絡(luò),產(chǎn)生了許多必須考慮的新的問題。這是因?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ò)處理如無序塊事務(wù)、較高的延時(shí)和端到端流量控制的問題。
      大部分該題目已成為局域和廣域網(wǎng)絡(luò)(計(jì)算機(jī)網(wǎng)絡(luò))的領(lǐng)域中的研究課題,并且作為用于并行機(jī)互連網(wǎng)絡(luò)的互連。此兩者與片上網(wǎng)絡(luò)有很大關(guān)系,并且該領(lǐng)域中的許多結(jié)果同樣適用于片上。然而,NoC的前提不同于片外網(wǎng)絡(luò),并且因此,必須重新評(píng)估大部分網(wǎng)絡(luò)設(shè)計(jì)選擇。片上網(wǎng)絡(luò)具有不同的屬性(例如,更緊密的鏈路同步)和限制(例如,更高的存儲(chǔ)器成本),導(dǎo)致了不同的設(shè)計(jì)選擇,其最終影響網(wǎng)絡(luò)服務(wù)。
      NoC同片外網(wǎng)絡(luò)的主要差別在于它們的限制和同步。典型地,片上相比于片外,資源限制是更緊張的。存儲(chǔ)(即、存儲(chǔ)器)和計(jì)算資源相對(duì)更加昂貴,同時(shí)片上相比于片外,點(diǎn)對(duì)點(diǎn)鏈路的數(shù)目是更大的。由于通用的片上存儲(chǔ)器,諸如RAM,占用了大的面積,因此存儲(chǔ)是昂貴的。由于存儲(chǔ)器中的開銷面積變得是首要的,因此使存儲(chǔ)器以相對(duì)小的尺寸分布在網(wǎng)絡(luò)元件中,是更差的。
      對(duì)于片上網(wǎng)絡(luò),相比于片外網(wǎng)絡(luò),計(jì)算也是相對(duì)高成本的。片外網(wǎng)絡(luò)接口通常包含專用處理器,用于實(shí)現(xiàn)上至網(wǎng)絡(luò)層或甚至更高層的協(xié)議棧,以減輕主機(jī)處理器的通信處理負(fù)擔(dān)。在網(wǎng)絡(luò)接口中包括專用處理器在片上是不可行的,這是因?yàn)榫W(wǎng)絡(luò)接口的尺寸將變得與待連接到網(wǎng)絡(luò)的IP相當(dāng)或者比其更大。而且,由于這些IP僅具有一個(gè)專用功能,并且不具有運(yùn)行網(wǎng)絡(luò)協(xié)議棧的能力,因此在IP自身上運(yùn)行協(xié)議棧也是不可行的。
      計(jì)算機(jī)網(wǎng)絡(luò)拓?fù)渫ǔ>哂胁灰?guī)則的(可能是動(dòng)態(tài)的)結(jié)構(gòu),其可能引入緩沖循環(huán)。例如,通過引入拓?fù)浠蚵酚芍械南拗?,還可以避免死鎖。胖樹型拓?fù)湟驯豢紤]用于NoC,其中通過在緩沖器溢出的情況中在網(wǎng)絡(luò)中彈回分組,避免了死鎖。針對(duì)系統(tǒng)設(shè)計(jì)的基于區(qū)塊的方法使用網(wǎng)狀或圓環(huán)網(wǎng)絡(luò)拓?fù)?,其中使用例如,轉(zhuǎn)彎模型路由算法,可以避免死鎖。死鎖主要是由緩沖器中的循環(huán)引起的。為了避免死鎖,路由必須是無循環(huán)的,這是因?yàn)樵趯?shí)現(xiàn)可靠的通信方面其成本較低。死鎖的第二個(gè)原因是事務(wù)的原子鏈。原因在于,當(dāng)模塊鎖定時(shí),存儲(chǔ)事務(wù)的序列可能由原子事務(wù)鏈外部的事務(wù)填滿,阻擋對(duì)鏈中事務(wù)的訪問到達(dá)鎖定模塊。如果必須實(shí)現(xiàn)原子事務(wù)鏈(用于同允許該原子事務(wù)鏈的處理器兼容,諸如MIPS),則網(wǎng)絡(luò)節(jié)點(diǎn)應(yīng)能夠過濾原子鏈中的事務(wù)。
      相比于直接互連,諸如總線或開關(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é)議)基于分段和管線操作,其中事務(wù)由請(qǐng)求和響應(yīng)組成,并且在由主設(shè)備發(fā)出的請(qǐng)求由從設(shè)備接受之后,由其他設(shè)備將總線釋放以備使用。分段管線通信協(xié)議用于多跳互連中(例如,片上網(wǎng)絡(luò)或者具有橋的總線),允許有效率地利用互連。
      關(guān)于多跳互連的一個(gè)困難是,如何執(zhí)行原子操作(例如,測(cè)試和設(shè)置、比較-交換等)。事務(wù)的原子鏈?zhǔn)怯蓡我坏闹髟O(shè)備發(fā)起的事務(wù)序列,其排他性地在單一的從設(shè)備上執(zhí)行。即,一旦鏈中的第一個(gè)事務(wù)要求從設(shè)備,則拒絕其他的主設(shè)備訪問該從設(shè)備。典型地在多處理系統(tǒng)中使用原子操作,以實(shí)現(xiàn)較高級(jí)別的操作,諸如互斥或信號(hào)量(semaphore),因此其廣泛地用于實(shí)現(xiàn)主模塊之間的同步機(jī)制(例如,信號(hào)量)。
      目前存在兩種方法用于實(shí)現(xiàn)原子操作(為了簡化這里僅描述了測(cè)試和設(shè)置操作,但是可以相似地對(duì)待其他的原子操作),即a)鎖定或b)標(biāo)記。通過鎖定互連,用于由請(qǐng)求原子鏈的主設(shè)備排他性地使用,可以實(shí)現(xiàn)原子操作。使用鎖定,即,主設(shè)備鎖定資源直至原子事務(wù)結(jié)束,事務(wù)總是成功,然而這在開始時(shí)可能耗費(fèi)時(shí)間,并且將影響其他方面。換言之,互連、從設(shè)備或者部分地址空間由主設(shè)備鎖定,其意味著在鎖定時(shí)沒有其他的主設(shè)備能夠訪問鎖定的實(shí)體。因此容易地實(shí)現(xiàn)了原子態(tài),但是帶來了性能損失,特別是在多跳互連的情況中。時(shí)間資源的鎖定是較短的,這是因?yàn)?,一旦批?zhǔn)主設(shè)備訪問總線,則其可以快速地執(zhí)行鏈中的所有事務(wù),并且不需要用于鏈中的后繼事務(wù)的仲裁延遲。因此,鎖定的從設(shè)備和互連可以在短的時(shí)間內(nèi)再次開放。
      此外,可以通過下列方法實(shí)現(xiàn)原子操作,通過設(shè)置標(biāo)記限制對(duì)鎖定從設(shè)備的訪問的批準(zhǔn),即,主設(shè)備將資源標(biāo)記為正在使用,并且如果當(dāng)原子事務(wù)完成時(shí),該標(biāo)記仍這樣設(shè)置,則原子事務(wù)成功,否則失敗。在該情況中,較快速地執(zhí)行原子事務(wù),不會(huì)影響其他方面,但是存在失敗的可能。這里,對(duì)于排他性訪問的情況,原子操作限制于一對(duì)兩個(gè)事務(wù)ReadLinked和WriteConditional。在ReadLinked之后,將標(biāo)記(初始重置)設(shè)置為從設(shè)備或地址范圍(還被稱為從區(qū)域)。后面,嘗試WriteConditional,當(dāng)該標(biāo)記仍這樣設(shè)置時(shí)其成功。當(dāng)在由該標(biāo)記標(biāo)出的從設(shè)備或從范圍中執(zhí)行其他的寫操作時(shí),重置該標(biāo)記?;ミB未被鎖定,并且仍可由其他的模塊使用,然而,這是以從設(shè)備的較長的鎖定時(shí)間為代價(jià)的。
      其次,所鎖定/標(biāo)記的是整個(gè)互連、從設(shè)備(或一組從設(shè)備)、或者存儲(chǔ)器區(qū)域(在從設(shè)備中,或者跨越數(shù)個(gè)從設(shè)備)。
      通常,這些原子操作由兩個(gè)事務(wù)組成,必須在沒有來自其他事務(wù)的任何干擾的情況下順序執(zhí)行這兩個(gè)事務(wù)。例如,在測(cè)試和設(shè)置操作中,首先執(zhí)行讀事務(wù),將讀取值同零(或者其他的預(yù)定的值)比較,并且在成功之后,通過寫事務(wù)將另一值寫回。為了獲得原子操作,在讀和寫事務(wù)之間,不應(yīng)在相同的位置上允許寫事務(wù)。
      在這些情況中,主設(shè)備(例如,CPU)必須在關(guān)于該原子操作的互連上執(zhí)行兩個(gè)或多個(gè)事務(wù)(即,Locked Read和Locked Write、以及ReadLinked和WriteConditional)。對(duì)于多跳互連,其中事務(wù)的延時(shí)是相對(duì)高的,原子操作引入了不需要的長的等待時(shí)間。
      由多跳互連中的高的延時(shí)引起的其他的問題是這兩種實(shí)現(xiàn)方案所特有的。對(duì)于鎖定,由于具有分布式仲裁,因此鎖定完整的多跳互連是不可行的,并且鎖定將耗費(fèi)過多的時(shí)間,并且涉及仲裁器之間的過多的通信。因此,在AXI和OCP協(xié)議中,鎖定從設(shè)備或從區(qū)域而非互連。然而,即使在該情況中,鎖定的從設(shè)備或從區(qū)域?qū)⒔箒碜枣i定主設(shè)備以外的所有主設(shè)備的訪問。因此,來自其他的主設(shè)備的針對(duì)該從設(shè)備的所有業(yè)務(wù)在互連中積累,并且將引起網(wǎng)絡(luò)擁塞,由于還影響了未以鎖定從設(shè)備或從區(qū)域?yàn)槟繕?biāo)的業(yè)務(wù),因此其是不理想的。
      對(duì)于排他性訪問,隨著延時(shí)的增加(典型地在多跳互連中),并且隨著試圖訪問相同的從設(shè)備或從區(qū)域的主設(shè)備的數(shù)目的增加,WriteConditional成功的可能性降低。
      對(duì)于這兩種方案,限制對(duì)其他業(yè)務(wù)的影響的一種解決方案是,使從區(qū)域的尺寸盡可能小。在該情況中,使被影響的(對(duì)于鎖定)或者影響(對(duì)于排他性訪問)原子操作的關(guān)聯(lián)業(yè)務(wù)減少。然而,具有大量的鎖定/標(biāo)記的實(shí)現(xiàn)成本或者用于實(shí)現(xiàn)該方案的動(dòng)態(tài)可編程表格的實(shí)現(xiàn)復(fù)雜度是過高的。

      發(fā)明內(nèi)容
      因此,本發(fā)明的目的在于,提供一種集成電路,其具有改善的處理原子事務(wù)鏈的能力。
      該問題是通過權(quán)利要求1的集成電路、權(quán)利要求6的方法以及權(quán)利要求7的數(shù)據(jù)處理系統(tǒng)解決的。
      因此,提供了一種集成電路,其包括多個(gè)處理模塊和配置用于耦合所述模塊的網(wǎng)絡(luò)。所述集成電路包括第一處理模塊,其用于將原子操作編碼為第一事務(wù),并且用于將所述第一事務(wù)發(fā)出到至少一個(gè)第二處理模塊。此外,提供了一種事務(wù)解碼裝置,其用于將所發(fā)出的第一事務(wù)解碼為至少一個(gè)第二事務(wù)。
      在該集成電路中,減少了互連上的負(fù)載,即,在互連上存在較少的消息。因此,將減少用于支持原子操作的成本。
      根據(jù)本發(fā)明的一個(gè)方面,所述處理模塊包括所述事務(wù)解碼裝置所需的所有信息,用于管理針對(duì)所述第一事務(wù)的所述原子操作執(zhí)行。因此,將所需的所有信息傳遞到事務(wù)解碼裝置,其可以在其自身上執(zhí)行進(jìn)一步的處理步驟,同時(shí)不會(huì)同第一處理模塊交互。
      根據(jù)本發(fā)明的另一方面,所述第一事務(wù)在所述網(wǎng)絡(luò)上從所述第一處理模塊傳輸?shù)剿鍪聞?wù)解碼裝置。因此,執(zhí)行時(shí)間是較短的,并且因此實(shí)現(xiàn)了較短的主設(shè)備和連接的鎖定,這是因?yàn)?,在第二處理模塊側(cè),即在從設(shè)備側(cè),而非在第一處理模塊側(cè),即在主設(shè)備側(cè),執(zhí)行原子事務(wù)。
      根據(jù)本發(fā)明的優(yōu)選方面,所述事務(wù)解碼裝置包括請(qǐng)求緩沖器,其用于對(duì)關(guān)于第二處理模塊的請(qǐng)求進(jìn)行排隊(duì);響應(yīng)緩沖器,其用于對(duì)來自所述第二處理模塊的響應(yīng)進(jìn)行排隊(duì);和消息處理器,其用于檢查進(jìn)入的請(qǐng)求,并且用于向所述第二處理模塊發(fā)出信號(hào)。
      根據(jù)本發(fā)明的另一方面,所述第一事務(wù)包括報(bào)頭,其具有命令,并且任選地包括命令標(biāo)記和地址;以及有效負(fù)載,其包括零個(gè)、一個(gè)或多個(gè)值,其中由消息處理器開始所述命令的執(zhí)行。在簡單的P和V的情況中,存在0個(gè)值。擴(kuò)展P和V操作具有1個(gè)值,TestAndSet具有2個(gè)值。
      本發(fā)明還涉及一種用于在集成電路中發(fā)出事務(wù)的方法,該集成電路包括多個(gè)處理模塊和配置用于連接所述模塊的網(wǎng)絡(luò)。第一處理模塊將原子操作編碼為第一事務(wù),并且將所述第一事務(wù)發(fā)出到至少一個(gè)第二處理模塊。所發(fā)出的第一事務(wù)由事務(wù)解碼裝置解碼為至少一個(gè)第二事務(wù)。
      本發(fā)明還涉及一種數(shù)據(jù)處理系統(tǒng),其包括多個(gè)處理模塊和配置用于耦合所述模塊的網(wǎng)絡(luò)。所述集成電路包括第一處理模塊,其用于將原子操作編碼為第一事務(wù),并且用于將所述第一事務(wù)發(fā)出到至少一個(gè)第二處理模塊。此外,提供了一種事務(wù)解碼裝置,其用于將所發(fā)出的第一事務(wù)解碼為至少一個(gè)第二事務(wù)。
      本發(fā)明基于這樣的思想,即通過將原子操作完整地編碼為單一的事務(wù)并且通過將該事務(wù)的執(zhí)行轉(zhuǎn)移到從設(shè)備,即接收側(cè),將鎖定資源的時(shí)間或者將使用排他性訪問標(biāo)記資源的時(shí)間減少到最小。
      在附屬權(quán)利要求中描述了本發(fā)明的其他方面。


      圖1示出了根據(jù)第一實(shí)施例的片上系統(tǒng)的示意性表述;圖2A和2B示出了根據(jù)第一實(shí)施例的用于實(shí)現(xiàn)原子操作的方案;圖3A和3B示出了根據(jù)第二實(shí)施例的用于實(shí)現(xiàn)原子操作的方案;圖4示出了根據(jù)優(yōu)選實(shí)施例的消息結(jié)構(gòu);圖5示出了目標(biāo)模塊的接收側(cè)及其相關(guān)聯(lián)的網(wǎng)絡(luò)接口的示意性表述;圖6示出了目標(biāo)模塊的可替換的接收側(cè)及其相關(guān)聯(lián)的網(wǎng)絡(luò)接口的示意性表述。
      具體實(shí)施例方式
      下面的實(shí)施例涉及片上系統(tǒng),即同一芯片上的多個(gè)模塊經(jīng)由某種類型的互連相互通信。該互連體現(xiàn)為片上網(wǎng)絡(luò)NoC,其可以在單一的芯片或在多個(gè)芯片上延伸。該片上網(wǎng)絡(luò)可以包括連線、總線、時(shí)分多工、開關(guān)、和/或網(wǎng)絡(luò)中的路由器。在所述網(wǎng)絡(luò)的運(yùn)輸層處,通過連接執(zhí)行模塊之間的通信。連接被視為第一模塊和至少一個(gè)第二模塊之間的一組信道,每個(gè)信道具有一組連接屬性。對(duì)于第一模塊和單一的第二模塊之間的連接,該連接包括兩個(gè)信道,即從第一模塊到第二模塊的信道,也就是請(qǐng)求信道,和從第二模塊到第一模塊的第二信道,也就是響應(yīng)信道。請(qǐng)求信道被保留用于從第一模塊到第二模塊的數(shù)據(jù)和消息,而響應(yīng)信道被保留用于從第二模塊到第一模塊的數(shù)據(jù)和消息。然而,如果連接涉及一個(gè)第一模塊和N個(gè)第二模塊,則提供2*N個(gè)信道。連接屬性可以包括排序(有序的數(shù)據(jù)運(yùn)輸)、流量控制(遠(yuǎn)程緩沖器被保留用于連接,并且允許數(shù)據(jù)產(chǎn)生者僅在確??臻g對(duì)于產(chǎn)生的數(shù)據(jù)可用時(shí)發(fā)送數(shù)據(jù))、吞吐量(確保吞吐量的下限)、延時(shí)(確保延時(shí)的上限)、損耗(數(shù)據(jù)丟失)、傳輸終止、事務(wù)完成、數(shù)據(jù)正確性、優(yōu)先級(jí)、或者數(shù)據(jù)遞送。
      圖1示出了根據(jù)本發(fā)明的片上系統(tǒng)。該系統(tǒng)包括主模塊M、兩個(gè)從模塊S1、S2。每個(gè)模塊分別經(jīng)由網(wǎng)絡(luò)接口NI連接到網(wǎng)絡(luò)N。網(wǎng)絡(luò)接口NI用作主和從模塊M、S1、S2同網(wǎng)絡(luò)N之間的接口。網(wǎng)絡(luò)接口NI被提供用于管理各個(gè)模塊和網(wǎng)絡(luò)N之間的通信,由此模塊可以執(zhí)行它們的專用操作,而不必處理同網(wǎng)絡(luò)或其他模塊的通信。網(wǎng)絡(luò)接口NI可以通過網(wǎng)絡(luò)N相互之間發(fā)送諸如讀rd和寫wr的請(qǐng)求。
      上文所述的模塊可以是所謂的知識(shí)產(chǎn)權(quán)塊IP(計(jì)算元件、存儲(chǔ)器或者子系統(tǒng),其可以內(nèi)部地包含互連模塊),其在所述網(wǎng)絡(luò)接口NI處同網(wǎng)絡(luò)交互。
      特別地,將事務(wù)解碼裝置TDM配置在與從設(shè)備S1、S2其中一個(gè)相關(guān)聯(lián)的至少一個(gè)網(wǎng)絡(luò)接口NI中。原子操作被實(shí)現(xiàn)為通信協(xié)議中將要包括的特殊事務(wù)。這種思路是,將資源鎖定或者使用排他性訪問進(jìn)行標(biāo)記的時(shí)間減少到最小。為了實(shí)現(xiàn)這一點(diǎn),通過主側(cè)將原子操作完整地編碼為單一的事務(wù),并且將其執(zhí)行轉(zhuǎn)移到從側(cè)。
      圖2A和2B中說明了其實(shí)現(xiàn)方案。圖2A中示出了使用鎖定的傳統(tǒng)的原子操作,而圖2B中示出了根據(jù)第一實(shí)施例的原子操作。
      因此,圖2A示出了片上網(wǎng)絡(luò)環(huán)境中的第一和第二主設(shè)備M1、M2與從設(shè)備S之間的通信方案的基本表述。第一主設(shè)備M1請(qǐng)求“讀和鎖定”操作,即讀取從設(shè)備S中的值并且鎖定從設(shè)備S,并且從設(shè)備S返回響應(yīng)“讀和鎖定”,可能返回讀取值。然后,將從設(shè)備S鎖定(L1)到主設(shè)備M1,由此阻擋來自第二主設(shè)備M2的請(qǐng)求“寫2”,即,其執(zhí)行被延遲。在主設(shè)備M1自從設(shè)備S接收到響應(yīng)“讀和鎖定”之后,其向從設(shè)備S發(fā)出請(qǐng)求“寫1”,以便于將值寫入到從設(shè)備S中。來自主設(shè)備M1的該第二請(qǐng)求由從設(shè)備S接收,并且在操作結(jié)束時(shí),將響應(yīng)“寫1”傳遞到主設(shè)備M1并釋放從設(shè)備S的鎖定(L2)。因此,從設(shè)備S從L1到L2是鎖定的,并且阻擋請(qǐng)求“寫2”直至L2,即從設(shè)備S的釋放?,F(xiàn)在從設(shè)備S可以繼續(xù)處理來自第二主設(shè)備M2的請(qǐng)求“寫2”。
      在圖2B中示出了根據(jù)第一實(shí)施例的片上網(wǎng)絡(luò)環(huán)境中的第一和第二主設(shè)備M1、M2與從設(shè)備S之間的通信方案的基本表述。主設(shè)備M1請(qǐng)求“測(cè)試和設(shè)置”操作。通過主設(shè)備1將用于在從設(shè)備側(cè)處理該請(qǐng)求的所有信息包括在單一的原子事務(wù)中。該單一的原子事務(wù)“測(cè)試和設(shè)置”由與從設(shè)備相關(guān)聯(lián)的事務(wù)解碼裝置TDM接收。由原子事務(wù)解碼裝置TDM發(fā)出事務(wù)的執(zhí)行,從設(shè)備執(zhí)行請(qǐng)求的操作,并且在該事務(wù)被執(zhí)行之后,從設(shè)備發(fā)出響應(yīng)“測(cè)試和設(shè)置”。在L10處接收到第一請(qǐng)求時(shí)將從設(shè)備鎖定到主設(shè)備M1,并且在L20處終止事務(wù)執(zhí)行且發(fā)出響應(yīng)“測(cè)試和設(shè)置”時(shí),釋放從設(shè)備。因此,來自第二主設(shè)備M2的請(qǐng)求“寫”被阻擋直至在L20處釋放從設(shè)備。
      換言之,僅在從設(shè)備處的原子操作的執(zhí)行過程中阻擋從設(shè)備,該過程比如圖2A所示的執(zhí)行短得多。而且,由于不需要在主設(shè)備自身中實(shí)現(xiàn)原子操作,因此主設(shè)備更簡單。在主設(shè)備上存在較少的負(fù)擔(dān)(其不需要執(zhí)行部分原子操作)。然而,復(fù)雜性被轉(zhuǎn)移到可重復(fù)使用的互連,特別是網(wǎng)絡(luò)接口。
      在比較如圖2A和圖2B所示的通信方案時(shí),可以觀察到,根據(jù)圖2A的傳統(tǒng)的實(shí)現(xiàn)方案中的鎖定時(shí)間(L1-L2)較長,這是因?yàn)橹髟O(shè)備M1參與原子操作的執(zhí)行,即請(qǐng)求“讀、鎖定”和請(qǐng)求“寫1”。因此,對(duì)于兩倍網(wǎng)絡(luò)延時(shí)加上主設(shè)備M1執(zhí)行其部分原子操作的時(shí)間,從設(shè)備S被鎖定。在全部該時(shí)間中,阻擋了以從設(shè)備S為目標(biāo)的業(yè)務(wù)量(例如,來自主設(shè)備M2)。
      圖3A和3B示出了根據(jù)作為優(yōu)選實(shí)施例的第二實(shí)施例用于實(shí)現(xiàn)原子操作的方案。圖3A中示出了使用鎖定的傳統(tǒng)的原子操作,而在圖3B中示出了根據(jù)第二實(shí)施例的原子操作。
      在圖3A中,特別地,如圖1所示的主設(shè)備M和從設(shè)備S之間的通信連同主設(shè)備M的中間網(wǎng)絡(luò)接口MNI和從設(shè)備S的中間網(wǎng)絡(luò)接口SNI。特別地,針對(duì)兩種示例執(zhí)行描述了基礎(chǔ)原理,即作為第一執(zhí)行示例ex1的LockedRead和作為第二執(zhí)行示例ex2的ReadLinked。
      主設(shè)備M發(fā)出第一事務(wù)t1,其可以是作為執(zhí)行ex1的LockedRead和作為執(zhí)行ex2的ReadLinked。事務(wù)t1被轉(zhuǎn)發(fā)到主設(shè)備M的網(wǎng)絡(luò)接口MNI,經(jīng)由網(wǎng)絡(luò)N傳遞到從設(shè)備的網(wǎng)絡(luò)接口SNI并且最終到達(dá)從設(shè)備S。從設(shè)備S執(zhí)行事務(wù)t1,并且可能經(jīng)由網(wǎng)絡(luò)接口SNI和與主設(shè)備相關(guān)聯(lián)的網(wǎng)絡(luò)接口MNI向主設(shè)備返回某些數(shù)據(jù)。同時(shí),阻擋從設(shè)備S執(zhí)行LockedRead或ReadLinked,并且將其分別標(biāo)記為執(zhí)行Write或WriteConditional。當(dāng)主設(shè)備M接收到從設(shè)備S的響應(yīng)時(shí),其執(zhí)行第二事務(wù)t2,這在上文提及的執(zhí)行ex1和ex2的兩種情況中是比較。隨后,主設(shè)備M向從設(shè)備發(fā)出第三事務(wù)t3,分別地,在執(zhí)行ex1的情況中其是Write命令,而在執(zhí)行ex2的情況中其是WriteConditional命令。從設(shè)備S接收該命令,并且返回對(duì)應(yīng)的響應(yīng)。隨后,釋放從設(shè)備S。
      在圖3B中,示出了根據(jù)第二實(shí)施例的片上網(wǎng)絡(luò)環(huán)境中的主設(shè)備M和從設(shè)備S之間的通信方案的基本表述?;A(chǔ)片上網(wǎng)絡(luò)環(huán)境的基本結(jié)構(gòu)對(duì)應(yīng)于如圖3A中描述的環(huán)境,然而,在片上網(wǎng)絡(luò)環(huán)境中額外地包括事務(wù)解碼裝置TDM。主設(shè)備M發(fā)出原子事務(wù)ta,如TestAndSet,其經(jīng)由主設(shè)備M的網(wǎng)絡(luò)接口MNI被轉(zhuǎn)發(fā)到事務(wù)解碼裝置TDM。
      如根據(jù)圖3A所描述的,描述了關(guān)于TestAndSet命令的原子事務(wù)ta的實(shí)現(xiàn)或解碼的兩個(gè)不同的執(zhí)行示例,即作為第一執(zhí)行示例ex1的LockedRead和Write以及作為第二執(zhí)行示例ex2的ReadLinked和WriteConditional。
      這里,主設(shè)備M發(fā)出原子事務(wù)ta?,F(xiàn)在由事務(wù)解碼裝置TDM執(zhí)行由主設(shè)備M執(zhí)行的如根據(jù)圖3A所描述的原子事務(wù)ta的解碼以及第一、第二和第三事務(wù)t1、t2、t3的處理。因此,事務(wù)解碼裝置TDM將原子事務(wù)ta解碼為事務(wù)t1,即解碼為第一或第二執(zhí)行示例ex1或ex2。因此,一旦從設(shè)備S經(jīng)由與該從設(shè)備相關(guān)聯(lián)的網(wǎng)絡(luò)接口SNI從事務(wù)解碼裝置TDM中接收到第一事務(wù)t1,即ex1或ex2,則執(zhí)行第一事務(wù)t1,并且該從設(shè)備向事務(wù)解碼裝置TDM發(fā)出響應(yīng),其可能包含某些數(shù)據(jù)。事務(wù)解碼裝置TDM根據(jù)第二事務(wù)t2,即根據(jù)第一或第二執(zhí)行示例ex1或ex2執(zhí)行比較,其中其是關(guān)于這兩種情況的比較。隨后,事務(wù)解碼裝置TDM向從設(shè)備S發(fā)出作為ex1的Write或作為ex2的WriteConditional,其執(zhí)行第三事務(wù),并且在LockedRead和Write,即第一執(zhí)行示例ex1,以及ReadLinked和WriteConditional,即第二執(zhí)行示例ex2的情況中,將從設(shè)備解鎖,如果標(biāo)記仍被設(shè)置則其成功。向主設(shè)備M發(fā)出對(duì)應(yīng)的響應(yīng)。
      如圖3B所示,存在較少的需經(jīng)網(wǎng)絡(luò)轉(zhuǎn)發(fā)的事務(wù)。此外,主設(shè)備M僅需處理一個(gè)原子事務(wù)而具有較低的處理負(fù)擔(dān),同時(shí)該原子事務(wù)在事務(wù)解碼裝置TDM處被擴(kuò)展為多個(gè)較簡單的事務(wù)。根據(jù)第二實(shí)施例的主設(shè)備M需了解該原子事務(wù),某些處理步驟現(xiàn)在由事務(wù)解碼裝置TDM執(zhí)行而非由主設(shè)備M執(zhí)行。例如,由事務(wù)解碼裝置TDM執(zhí)行第一和第二事務(wù)t1和t3之間的比較t2。
      可替換地,從設(shè)備還可以了解原子事務(wù),但是在該情況中,事務(wù)解碼裝置TDM可以是從設(shè)備S的一部分。這將導(dǎo)致簡化的網(wǎng)絡(luò),這是因?yàn)槭聞?wù)解碼裝置TDM從網(wǎng)絡(luò)中轉(zhuǎn)移并且配置在從設(shè)備S中。因此,此外,在與從設(shè)備相關(guān)聯(lián)的網(wǎng)絡(luò)接口SNI和從設(shè)備自身之間將傳遞較少的事務(wù)。特別地,這可以僅為原子事務(wù)。
      原子事務(wù)的示例可以是測(cè)試和設(shè)置,以及比較和交換。在這兩種情況中,必須由事務(wù)請(qǐng)求承載兩個(gè)數(shù)據(jù)值待比較的值(CMPVAL)和待寫入的值(WRVAL)。在這兩個(gè)示例中,CMPVAL同事務(wù)地址處的值比較。如果它們是相同的,則寫入WRVAL。來自從設(shè)備的響應(yīng)對(duì)于測(cè)試和設(shè)置在該位置處是新的值,以及對(duì)于比較和交換是舊的值。應(yīng)當(dāng)注意,任何布爾函數(shù)可以替換該簡單比較(例如,小于或等于,如下文所述的信號(hào)量擴(kuò)展中使用的)。
      信號(hào)量事務(wù)是更先進(jìn)的,并且從事務(wù)的觀點(diǎn)來看是更簡單的,其將調(diào)用不使用任何參數(shù)的P和V。P等待直至其訪問事務(wù)中指明的地址,然后嘗試使由事務(wù)地址指明的位置處的值遞減。如果該值是正的,則使其遞減,并且返回成功。如果該值是零或正的,則其不變并返回失敗。V總是成功并且遞增所所指明的地址處的位置。
      P和V事務(wù)的擴(kuò)展是可行的,其中待遞增/遞減的值(VAL)被規(guī)定為P/V事務(wù)的數(shù)據(jù)參數(shù)。如果事務(wù)地址處的值大于或等于VAL,則P使事務(wù)地址處的位置遞減VAL,并且返回成功。否則使該位置不變并且返回失敗。V總是成功的并且使尋址位置遞增VAL。
      本發(fā)明涉及將操作編碼為事務(wù),其在從設(shè)備側(cè)的互連中實(shí)現(xiàn)和執(zhí)行。
      測(cè)試和設(shè)置事務(wù)在IC設(shè)計(jì)中與高延時(shí)互連(例如,具有橋的總線、片上網(wǎng)絡(luò))尤其相關(guān),隨著芯片復(fù)雜度的增加其將變成固有的。
      上文提及的測(cè)試和設(shè)置事務(wù)的優(yōu)點(diǎn)包括不需要鎖定互連。在互連上存在較少的負(fù)載(即,較少的消息)。主設(shè)備處的測(cè)試和設(shè)置操作的執(zhí)行時(shí)間較短。CPU/主設(shè)備僅需要執(zhí)行單一的指令,而代替了執(zhí)行關(guān)于測(cè)試和設(shè)置操作的三個(gè)指令(讀、比較、寫)。而且,減少了用于支持原子操作的成本。然而,缺點(diǎn)在于目前的CPU仍不提供該指令。
      圖4示出了根據(jù)第一實(shí)施例的消息結(jié)構(gòu)。這里,請(qǐng)求消息由報(bào)頭hd和有效負(fù)載p1組成。報(bào)頭hd由命令cmd(例如,讀、寫、測(cè)試和設(shè)置)、標(biāo)記(例如,有效負(fù)載尺寸、比特掩碼、緩沖)和地址組成。有效負(fù)載p1可以是空的(例如,對(duì)于讀命令),可以包含一個(gè)值v1(例如,寫命令)或者兩個(gè)值V1、V2(例如,測(cè)試和設(shè)置命令)。
      圖5示出了接收側(cè),即從設(shè)備S及其相關(guān)聯(lián)的網(wǎng)絡(luò)接口NI。從設(shè)備的網(wǎng)絡(luò)接口以及特別是事務(wù)解碼裝置TDM,實(shí)現(xiàn)了測(cè)試和設(shè)置操作。僅示出了同測(cè)試和設(shè)置操作的實(shí)現(xiàn)相關(guān)的這些部分的網(wǎng)絡(luò)接口,即事務(wù)解碼裝置TDM。
      從設(shè)備網(wǎng)絡(luò)接口中的事務(wù)解碼裝置TDM包含兩個(gè)消息隊(duì)列,即請(qǐng)求緩沖器REQB和響應(yīng)緩沖器RESB、消息處理器MP、比較器CMP、比較器緩沖器CMPB和選擇器SEL。事務(wù)解碼裝置TDM包括連接到請(qǐng)求緩沖器REQB的請(qǐng)求輸入、連接到響應(yīng)緩沖器RESB的輸出的響應(yīng)輸出、關(guān)于待寫入到從設(shè)備中的數(shù)據(jù)wr_data的輸出、關(guān)于自從設(shè)備輸出的數(shù)據(jù)rd_data的輸入、關(guān)于從設(shè)備S中的地址“地址”的控制輸出、用于選擇讀/寫wr/rd的輸出、以及關(guān)于有效寫wr_valid的輸出、關(guān)于讀接受rd_accept的輸出、關(guān)于寫接受wr_accept和關(guān)于有效讀rd_valid的輸入。消息處理器MP包括下列輸入請(qǐng)求緩沖器REQB的輸出、寫接受輸入wr_accept、讀有效輸入rd_valid和比較器CMP的結(jié)果輸出res。消息處理器包括下列輸出地址輸出、寫/讀選擇輸出wr/rd、寫有效輸出wr_valid、讀接受輸出rd_accept、關(guān)于選擇器的選擇信號(hào)SEL、寫使能信號(hào)wr_en、讀使能信號(hào)rd_en、關(guān)于比較器的讀使能信號(hào)cren、和關(guān)于比較器的寫使能信號(hào)cwen。
      請(qǐng)求緩沖器或隊(duì)列REQB容納經(jīng)由網(wǎng)絡(luò)接收自主設(shè)備的并且將在從設(shè)備處遞送的請(qǐng)求(例如,讀、寫、測(cè)試和設(shè)置命令及其標(biāo)記、地址和(有可能)數(shù)據(jù))。響應(yīng)緩沖器或隊(duì)列RESB容納由從設(shè)備S針對(duì)主設(shè)備M產(chǎn)生的消息,作為對(duì)命令的響應(yīng)(例如,讀數(shù)據(jù)、應(yīng)答)。
      而且,消息處理器MP檢查每個(gè)消息報(bào)頭hd,其是針對(duì)請(qǐng)求緩沖器REQB的輸入。依賴于報(bào)頭hd中的命令cmd和標(biāo)記,驅(qū)動(dòng)針對(duì)從設(shè)備的信號(hào)。在寫命令的情況中,將wr/rd信號(hào)設(shè)置為寫,并且通過設(shè)置wr_valid在wr_data輸出上提供數(shù)據(jù)。對(duì)于讀命令,將wr/rd設(shè)置為讀,并且將選擇器SEL設(shè)置為使讀數(shù)據(jù)rd-data通過。當(dāng)讀數(shù)據(jù)出現(xiàn)在輸入rd-data上時(shí)(即rd_valid是高的),設(shè)置rd_en(即準(zhǔn)備好接受),并且當(dāng)響應(yīng)隊(duì)列接受數(shù)據(jù)時(shí)(為了簡化未示出信號(hào)),生成rd_accept。選擇器SEL響應(yīng)消息處理器MP的選擇器信號(hào)SEL,將請(qǐng)求緩沖器REQB的輸出或rd_data輸出傳遞到響應(yīng)緩沖器RESB或比較器緩沖器CMPB。
      對(duì)于測(cè)試和設(shè)置命令,消息處理器MP首先向從設(shè)備發(fā)出讀命令,并且將接收的數(shù)據(jù)存儲(chǔ)在比較器緩沖器或隊(duì)列CMPB中。然后,消息處理器MP激活請(qǐng)求緩沖器REQB和比較器緩沖器CMPB,以產(chǎn)生尺寸=N個(gè)字的通過比較器CMP的數(shù)據(jù)。如果每對(duì)字具有相同的字,則比較測(cè)試成功,并且請(qǐng)求緩沖器或隊(duì)列REQB(尺寸也為N個(gè)字)中的下一個(gè)值被寫入到從設(shè)備S。在該情況中,還經(jīng)由響應(yīng)隊(duì)列REQB將所寫的值直接返回到主設(shè)備M。如果測(cè)試失敗,則放棄請(qǐng)求隊(duì)列中的第二個(gè)值(即不寫入到從設(shè)備),并且將第二個(gè)讀命令發(fā)出到經(jīng)由響應(yīng)隊(duì)列REQB返回到主設(shè)備的相同的地址。
      圖6示出了如圖5中所示的接收側(cè)的可替換的配置方案的示意性表述。圖6的配置方案的操作基本上對(duì)應(yīng)于圖5的配置方案的操作。圖6的配置方案對(duì)應(yīng)于圖5的配置方案,但是圖5的消息處理器MP分為兩部分,即分為消息處理器MP和消息處理器MP同從設(shè)備S之間的協(xié)議外殼PS。這里,對(duì)應(yīng)于事務(wù)解碼裝置TDM的部分,即消息處理器MP、比較器CMP、比較器隊(duì)列CNPB和選擇器sel,由虛線圍繞。請(qǐng)求隊(duì)列REQB和響應(yīng)隊(duì)列RESPQ可以是網(wǎng)絡(luò)N的一部分。
      協(xié)議外殼PS用于將消息處理器MP的消息翻譯為從設(shè)備S可以通信的協(xié)議,即總線協(xié)議。特別地,消息或信號(hào)事務(wù)請(qǐng)求t_req、事務(wù)請(qǐng)求有效t_req_valid和事務(wù)請(qǐng)求接受t_req_accept以及信號(hào)事務(wù)響應(yīng)t_resp、事務(wù)響應(yīng)有效t_resp_valid和事務(wù)響應(yīng)接受t_resp_accept,被翻譯為從設(shè)備S的各個(gè)輸出和輸入信號(hào),如根據(jù)圖5所描述的。
      可替換地,事務(wù)解碼裝置TDM和協(xié)議外殼PS可以在與從設(shè)備S相關(guān)聯(lián)的網(wǎng)絡(luò)接口NI中實(shí)現(xiàn),或者被實(shí)現(xiàn)為網(wǎng)絡(luò)N的一部分。
      上文所述的片上網(wǎng)絡(luò)可以在單一的芯片或多個(gè)芯片的環(huán)境中實(shí)現(xiàn)。
      應(yīng)當(dāng)注意,上文提及的實(shí)施例說明而非限制本發(fā)明,并且在不偏離附屬權(quán)利要求的范圍的前提下,本領(lǐng)域的技術(shù)人員將能夠設(shè)計(jì)許多可替換的實(shí)施例。在權(quán)利要求中,任何置于括號(hào)之間的參考符號(hào)不應(yīng)被解釋為限制權(quán)利要求。詞“包括”不排除權(quán)利要求中列出的元素或步驟以外的元素或步驟的存在。元素之前的詞“一個(gè)”不排除多個(gè)該元素的存在。在列舉數(shù)個(gè)裝置的設(shè)備權(quán)利要求中,數(shù)個(gè)該裝置可由一個(gè)相同的硬件項(xiàng)物化。在互不相同的獨(dú)立權(quán)利要求中陳述了特定的措施這一事實(shí),并非表明這些措施的組合不是有利的。
      而且,權(quán)利要求中的任何參考符號(hào)不應(yīng)被解釋為限制該權(quán)利要求的范圍。
      權(quán)利要求
      1.集成電路,包括多個(gè)處理模塊(M、S)和配置用于耦合所述模塊(M、S;IP)的網(wǎng)絡(luò)(N),包括-第一處理模塊(M),用于將原子操作編碼為第一事務(wù),并且用于將所述第一事務(wù)發(fā)出到至少一個(gè)第二處理模塊(S),和-事務(wù)解碼裝置(TDM),用于將所發(fā)出的第一事務(wù)解碼為至少一個(gè)第二事務(wù)。
      2.根據(jù)權(quán)利要求1的集成電路,其中所述第一處理模塊(M)適于包括所述事務(wù)解碼裝置(TDM)所需的所有信息,用于管理將所述原子操作執(zhí)行為所述第一事務(wù)。
      3.根據(jù)權(quán)利要求2的集成電路,其中所述第一事務(wù)經(jīng)過所述網(wǎng)絡(luò)(N)從所述第一處理模塊(M)傳輸?shù)剿鍪聞?wù)解碼裝置(TDM)。
      4.根據(jù)權(quán)利要求1的集成電路,其中所述事務(wù)解碼裝置(TDM)包括請(qǐng)求緩沖器(REQB),用于對(duì)第二處理模塊(S)的請(qǐng)求進(jìn)行排隊(duì);響應(yīng)緩沖器(RESPB),用于對(duì)來自所述第二處理模塊(S)的響應(yīng)進(jìn)行排隊(duì);和消息處理器(MP),用于檢查輸入的請(qǐng)求,并且用于向所述第二處理模塊(S)發(fā)出信號(hào)。
      5.根據(jù)權(quán)利要求4的集成電路,其中所述第一事務(wù)包括報(bào)頭,其具有命令,并且任選地包括標(biāo)記和地址,以及具有零個(gè)、一個(gè)或多個(gè)值的有效負(fù)載,其中由消息處理器(MP)開始所述命令的執(zhí)行。
      6.用于在集成電路中發(fā)出事務(wù)的方法,所述集成電路包括多個(gè)處理模塊(M;S)和配置用于連接所述模塊(M;S)的網(wǎng)絡(luò)(N),進(jìn)一步包括步驟-通過第一處理模塊(M)將原子操作編碼為第一事務(wù),并且將所述第一事務(wù)發(fā)出到至少一個(gè)第二處理模塊,-通過事務(wù)解碼裝置(TDM)將所發(fā)出的第一事務(wù)解碼為至少一個(gè)第二事務(wù)。
      7.數(shù)據(jù)處理系統(tǒng),包括-多個(gè)處理模塊(M、S)和配置用于耦合所述模塊(M、S)的網(wǎng)絡(luò)(N),包括-第一處理模塊(M),其用于將原子操作編碼為第一事務(wù),并且用于將所述第一事務(wù)發(fā)出到至少一個(gè)第二處理模塊(S),和-事務(wù)解碼裝置(TDM),其用于將所發(fā)出的第一事務(wù)解碼為至少一個(gè)第二事務(wù)。
      全文摘要
      提供了一種集成電路其包括多個(gè)處理模塊(M、S)和配置用于耦合所述模塊(M、S)的網(wǎng)絡(luò)(N)。所述集成電路包括第一處理模塊(M),其用于將原子操作編碼為第一事務(wù),并且用于將所述第一事務(wù)發(fā)出到至少一個(gè)第二處理模塊(S)。此外,提供了一種事務(wù)解碼裝置(TDM),其用于將所發(fā)出的第一事務(wù)解碼為至少一個(gè)第二事務(wù)。
      文檔編號(hào)G06F15/78GK1947112SQ200580013263
      公開日2007年4月11日 申請(qǐng)日期2005年4月12日 優(yōu)先權(quán)日2004年4月26日
      發(fā)明者A·拉杜勒斯庫, K·G·W·古森斯 申請(qǐng)人:皇家飛利浦電子股份有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1