專利名稱:異構(gòu)多核處理器高速異步互連通信網(wǎng)絡(luò)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及集成電路領(lǐng)域微處理器內(nèi)部的通信網(wǎng)絡(luò),尤其是 異構(gòu)多核處理器內(nèi)部的高速異步互連通信網(wǎng)絡(luò)。
背景技術(shù):
隨著集成電路工藝的發(fā)展,將多個微處理器內(nèi)核集成在同一 芯片中構(gòu)成多核處理器,成為一種有效的高性能處理器系統(tǒng)設(shè)計途徑,可以 提供更強(qiáng)大的處理能力和更高的并行性。根據(jù)內(nèi)含處理器核的種類,多核微 處理器可以分為同構(gòu)多核微處理器與異構(gòu)多核微處理器兩種。其中,異構(gòu)多 核微處理器內(nèi)部包含不同的處理器核,且不同的處理器核在異構(gòu)多核微處理 器中完成不同的功能。怎樣將不同類型的處理器核無縫集成在系統(tǒng)級的微處 理器芯片中,對互連通信網(wǎng)絡(luò)的設(shè)計提出了挑戰(zhàn)??偩€是目前應(yīng)用最廣的片上通信結(jié)構(gòu),如ARM公司的AMB A (Advanced Microprocessor Bus Architecture)總線。不過總線的廣播特性使得信號的延遲 與功耗隨著微處理器的規(guī)模急劇增大,同時可擴(kuò)展性差,不適合未來更大規(guī) 模多核微處理器的通信需求。傳統(tǒng)的靜態(tài)連接網(wǎng)絡(luò),如2000年高等教育出版社出版的《計算機(jī)體系結(jié) 構(gòu)》第七章中介紹的環(huán),通過單向傳輸?shù)耐ㄐ沛溌穼⒕W(wǎng)絡(luò)中的通信節(jié)點(diǎn)連接 起來,以實(shí)現(xiàn)點(diǎn)到點(diǎn)的傳輸,優(yōu)點(diǎn)是結(jié)構(gòu)簡單,容易實(shí)現(xiàn)。但是傳統(tǒng)的環(huán)通 信結(jié)構(gòu)采用全局同步時鐘進(jìn)行通信同步,采用令牌分配的方式分配給通信節(jié) 點(diǎn)通信網(wǎng)絡(luò)占用權(quán),在通信節(jié)點(diǎn)數(shù)目較多時,令牌分配的效率較低,而且由 于只能單向傳輸,在通信鏈路上距離較遠(yuǎn)的兩個通信節(jié)點(diǎn)之間的通信要經(jīng)過 中間節(jié)點(diǎn)的逐次轉(zhuǎn)發(fā),通信的額外開銷很大。全局異步局部同步(Globally Asynchronous Locally Synchronous, GALS)互連技術(shù)目前也正在成為研究的熱點(diǎn)。它比較適合解決片上系統(tǒng)(System on Chip, SoC)中具有多個時鐘域時的問題,將系統(tǒng)中的各個IP模塊與互連總 線隔離開來,互連采用異步電路的方式實(shí)現(xiàn),通過握手協(xié)議實(shí)現(xiàn)通信,并能 夠很好地與現(xiàn)有同步電路模塊的整合。在設(shè)計中不再采用全局同步時鐘而使 用異步握手的方式控制通信,節(jié)約了現(xiàn)代微處理器設(shè)計中越來越龐大的同步 時鐘所產(chǎn)生的功耗。由于增加了額外的通信開銷,以及電路中使用大量的狀 態(tài)保持元件,使得GALS技術(shù)的實(shí)現(xiàn)成本較高。
發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問題是針對現(xiàn)有多核微處理器的互連通 信網(wǎng)絡(luò)要么只能支持具有相同頻率的內(nèi)核,要么可擴(kuò)展性較差,要么傳輸效 率并行性較差、傳輸頻率有限等問題,提出一種新的異構(gòu)多核微處理器內(nèi)部 負(fù)責(zé)各個節(jié)點(diǎn)間通信的高速異步互連通信網(wǎng)絡(luò),為異構(gòu)多核微處理器提供更 好的傳輸并行性與更高的傳輸頻率。本發(fā)明異構(gòu)多核處理器高速異步互連通信網(wǎng)絡(luò)由多個通信節(jié)點(diǎn)、多個通 信棧、 一個通信環(huán)與一個仲裁器連接而成。每個通信桟與一個通信節(jié)點(diǎn)通過 數(shù)據(jù)線連接,所有的通信棧通過通信環(huán)兩兩連接在一起,仲裁器與各個通信 棧通過數(shù)據(jù)線連接。通信節(jié)點(diǎn)向與之連接的通信棧發(fā)訪問請求,通信棧對訪 問請求進(jìn)行譯碼,確定是否向仲裁器發(fā)事務(wù)請求,即通信請求,以取得所請 求設(shè)備即另一個通信節(jié)點(diǎn)的訪問權(quán)。仲裁器則負(fù)責(zé)事務(wù)仲裁,判斷發(fā)出請求 的通信節(jié)點(diǎn)能否獲得訪問權(quán),并控制通信棧將通信環(huán)切分成不同的傳輸路徑 使獲得訪問權(quán)的通信節(jié)點(diǎn)完成通信。通信節(jié)點(diǎn)是向通信網(wǎng)絡(luò)發(fā)出訪問請求或被訪問的設(shè)備,每個通信節(jié)點(diǎn)既 能作為主設(shè)備也能作為從設(shè)備進(jìn)行通信,當(dāng)該通信節(jié)點(diǎn)向別的通信節(jié)點(diǎn)發(fā)出 訪問請求時稱為主設(shè)備,當(dāng)該通信節(jié)點(diǎn)接收來自于其它通信節(jié)點(diǎn)的訪問請求
時稱為從設(shè)備。通信節(jié)點(diǎn)可以是不同的微處理器內(nèi)核,也可以是簡單計算的 功能單元、存儲控制器模塊、外設(shè)模塊以及與其它系統(tǒng)進(jìn)行連接的接口模塊 等,主要用于處理微處理器所承擔(dān)的各項(xiàng)任務(wù)。每個通信節(jié)點(diǎn)都有一個唯一的設(shè)備ID,即設(shè)備編號,假設(shè)微處理器中有W個通信節(jié)點(diǎn),在微處理器系 統(tǒng)設(shè)計時為每個通信節(jié)點(diǎn)分配一個設(shè)備ID,為了方便,設(shè)備ID為O到AM。通信棧由局部譯碼器、節(jié)點(diǎn)配置部件以及通道控制器組成。當(dāng)通信節(jié)點(diǎn) 作為主設(shè)備時,與之連接的通信棧根據(jù)仲裁器的通道分配信息連接相應(yīng)的通 道,同時根據(jù)異步握手協(xié)議向從設(shè)備發(fā)請求信號;當(dāng)通信節(jié)點(diǎn)作為從設(shè)備時, 與之連接的通信棧根據(jù)仲裁器的通道分配信息連接相應(yīng)的通道,同時根據(jù)異 步握手協(xié)議向主設(shè)備發(fā)確認(rèn)信號;當(dāng)通信節(jié)點(diǎn)沒有進(jìn)行通信,與之連接的通 信棧只是作為通信的中間路徑時,通信棧根據(jù)仲裁器的通道分配信息連接相 應(yīng)的通道,同時也作為請求信號與確認(rèn)信號的傳輸路徑,在主設(shè)備與從設(shè)備 之間傳輸通信數(shù)據(jù)與握手信號。局部譯碼器一方面與通信棧對應(yīng)的通信節(jié)點(diǎn)、仲裁器相連, 一方面與節(jié) 點(diǎn)配置部件、通道控制器相連。局部譯碼器接收通信節(jié)點(diǎn)發(fā)來的訪問請求并 對訪問請求進(jìn)行譯碼,確定源通信節(jié)點(diǎn)與目標(biāo)通信節(jié)點(diǎn)地址(ID)以及訪問 類型(讀/寫);同時,它讀取存儲于節(jié)點(diǎn)配置部件中的節(jié)點(diǎn)配置信息,將譯 碼所得的目標(biāo)通信節(jié)點(diǎn)地址與節(jié)點(diǎn)配置信息中預(yù)先定義的主/從設(shè)備地址空 間進(jìn)行比較,如果譯碼所得的目標(biāo)通信節(jié)點(diǎn)地址不是有效的訪問地址,則不 向仲裁器發(fā)出事務(wù)請求;如果是有效的訪問地址,局部譯碼器向仲裁器發(fā)事 務(wù)請求,將譯碼所得的源通信節(jié)點(diǎn)與目標(biāo)通信節(jié)點(diǎn)地址以及訪問類型(讀/ 寫)發(fā)給仲裁器,請求通信網(wǎng)絡(luò)的訪問權(quán)。節(jié)點(diǎn)配置部件是一個記錄對應(yīng)通信節(jié)點(diǎn)的節(jié)點(diǎn)配置信息的存儲器,其大
小由對應(yīng)通信節(jié)點(diǎn)的配置信息的大小決定,它既與局部譯碼器、通信棧對應(yīng) 的通信節(jié)點(diǎn)相連,又與通信環(huán)上相鄰兩個通信棧內(nèi)的其它節(jié)點(diǎn)配置部件相 連。根據(jù)微處理器內(nèi)部結(jié)構(gòu),在微處理器系統(tǒng)設(shè)計時設(shè)置每個通信節(jié)點(diǎn)的配 置參數(shù),分配給每個通信節(jié)點(diǎn)一個固定的節(jié)點(diǎn)配置信息。每個通信節(jié)點(diǎn)的配置信息由8個字組成,第1個字為標(biāo)識,其中第0位到第4位為中斷號IRQ, 第5位到第9位為版本號VERSION,第12到第23位為設(shè)備ID,第24位 到第31位為制造商的Vendor ID;從第5個字到第8個字記錄該通信節(jié)點(diǎn)作 為從設(shè)備時的訪問地址、訪問權(quán)限以及I/0配置信息,每個字中第0位到第 3位為I/O配置信息TYPE,第16位與第17位分別指明了兩種訪問權(quán)限C (Cacheable,可緩存)與P (Prefetchable,可預(yù)取),第20位到第31位為訪 問地址;剩下的3個字(第2到第4個字)供用戶自定義使用。每個通信節(jié) 點(diǎn)的配置信息均以只讀表格的形式起始于地址空間0xFFFFF000,其中主設(shè) 備的地址空間為0xFFFFF000 ~ 0xFFFFF7FF ,從設(shè)備的地址空間為 0xFFFFF800 OxFFFFFFFC。由于通信網(wǎng)絡(luò)中的節(jié)點(diǎn)配置部件都是兩兩相連 的,所以任何通信節(jié)點(diǎn)都能夠讀取到其它通信節(jié)點(diǎn)的節(jié)點(diǎn)配置信息。通道控制器是通道的控制開關(guān),由第一控制部件、第二控制部件、第一 開關(guān)部件和第二開關(guān)部件組成。第一開關(guān)部件和第二開關(guān)部件是結(jié)構(gòu)相同的 多路選擇器;第一控制部件和第二控制部件是結(jié)構(gòu)相同的控制器。第一開關(guān) 部件和第二開關(guān)部件的輸入與各通道相連,輸出均與通信節(jié)點(diǎn)的數(shù)據(jù)線相 連;第一開關(guān)部件的控制信號線與第一控制部件相連,第二開關(guān)部件的控制 信號線與第二控制部件相連,分別接受第一控制部件、第二控制部件產(chǎn)生的 通道分配信號,控制與通信棧相連的通道的連通或關(guān)斷,在通信網(wǎng)絡(luò)中形成 通信所需的傳輸路徑。第一控制部件與第二控制部件均與通信環(huán)上的請求信號線、確認(rèn)信號線以及仲裁器相連,第一控制部件和第二控制部件之間通過 內(nèi)部請求信號線與內(nèi)部確認(rèn)信號線相連。內(nèi)部請求信號線與內(nèi)部確認(rèn)信號線 上分別有一個開關(guān)電路,當(dāng)對應(yīng)通信節(jié)點(diǎn)為主設(shè)備或從設(shè)備時,開關(guān)電路打開,內(nèi)部請求信號線與內(nèi)部確認(rèn)信號線分別斷開;當(dāng)對應(yīng)的通信棧只是作為 主從設(shè)備通信路徑上的中間節(jié)點(diǎn)時,開關(guān)電路閉合,第一控制部件與第二控 制部件上的請求信號線與確認(rèn)信號線連通,此時兩個控制部件之間的連接僅 作為主設(shè)備與從設(shè)備之間請求信號與確認(rèn)信號的傳輸路徑。第一控制部件、第二控制部件與仲裁器中順時針資源分配部件、逆時針 資源分配部件均相連,根據(jù)通信的方向接收仲裁器中順時針資源分配部件或 逆時針資源分配部件發(fā)來的通道配置信號,根據(jù)通道配置信號生成通道分配 信號分別發(fā)給第一開關(guān)部件和第二開關(guān)部件。如果當(dāng)前節(jié)點(diǎn)作為通信的主設(shè)備,且進(jìn)行的是順時針方向的通信時,通 信過程由第二控制部件與第二開關(guān)部件進(jìn)行,第二控制部件選擇接收順時針 資源分配部件發(fā)來的通道配置信號;如果進(jìn)行的是逆時針方向的通信時,通 信過程由第一控制部件與第一開關(guān)部件進(jìn)行,第一控制部件選擇接收逆時針 資源分配部件發(fā)來的通道配置信號。順時針方向的一次過程是第二控制部 件將請求信號線上的電平由"0"變?yōu)?1"以向目標(biāo)通信節(jié)點(diǎn)發(fā)請求信號, 當(dāng)?shù)诙刂撇考z測到確認(rèn)信號線上的電平由"0"變?yōu)?1"時,表明目標(biāo) 通信節(jié)點(diǎn)已經(jīng)接收到請求信號并發(fā)出可以進(jìn)行通信的確認(rèn)信號。此時,第二 控制部件根據(jù)順時針資源分配部件發(fā)來的通道配置信號生成通道分配信號 發(fā)給第二開關(guān)部件,第二開關(guān)部件將通信傳輸路徑所需的通道打開,關(guān)閉其 它不需要的通道,通信節(jié)點(diǎn)沿著形成的傳輸路徑進(jìn)行通信,同時第二控制部 件將請求信號線上的電平由"1"變?yōu)?0"。當(dāng)?shù)诙刂撇考z測到確認(rèn)信
號線上的電平由"1"變?yōu)?0"時,表示通信節(jié)點(diǎn)之間的通信結(jié)束。逆時針 方向的通信過程由第一控制部件與第一開關(guān)部件進(jìn)行,且第一控制部件根據(jù) 逆時針資源分配部件發(fā)來的通道配置信號生成通道分配信號發(fā)給第一開關(guān) 部件,其它與順時針方向的通信過程一樣。
當(dāng)前通信節(jié)點(diǎn)作為通信的從設(shè)備時,如果進(jìn)行順時針方向的通信,通信 過程由第一控制部件與第一開關(guān)部件進(jìn)行,第一控制部件選擇接收順時針資源分配部件發(fā)來的通道配置信號;如果進(jìn)行的是逆時針方向的通信,通信過 程由第二控制部件與第二開關(guān)部件進(jìn)行,第二控制部件選擇接收逆時針資源 分配部件發(fā)來的通道配置信號。順時針方向的一次通信過程是當(dāng)?shù)谝豢刂?部件檢測到請求信號線上的電平由"0"變?yōu)?1"時,第一控制部件將確認(rèn) 信號線上的電平由"0"變?yōu)?1",表示已經(jīng)接收到請求信號,可以進(jìn)行通 信,并且第一控制部件根據(jù)順時針資源分配部件發(fā)來的通道配置信號生成通 道分配信號發(fā)給第一開關(guān)部件,第一開關(guān)部件將通信傳輸路徑所需的通道打 開,關(guān)閉其它不需要的通道。當(dāng)?shù)谝豢刂撇考z測到確認(rèn)信號線上的電平由 "1"變?yōu)?0",且通信完成之后,第一控制部件將確認(rèn)信號線上的電平由 "l"變?yōu)?0",結(jié)束握手過程,表示通信結(jié)束。逆時針方向的通信過程由 第二控制部件與第二開關(guān)部件進(jìn)行,且第二控制部件根據(jù)逆時針資源分配部 件發(fā)來的通道配置信號生成通道分配信號,其它與順時針方向的通信過程一 樣。
如果當(dāng)前通信節(jié)點(diǎn)既不是主設(shè)備也不是從設(shè)備,而與之連接的通信棧只 是作為主從設(shè)備通信路徑上的中間節(jié)點(diǎn)時,如果進(jìn)行順時針方向的通信,第 一控制部件與第二控制部件均接收順時針資源分配部件發(fā)來的通道配置信 號;如果進(jìn)行逆時針方向的通信,第一控制部件與第二控制部件均接收逆時
針資源分配部件發(fā)來的通道配置信號。第一控制部件與第二控制部件生成通 道分配信號分別發(fā)給第一開關(guān)部件與第二開關(guān)部件,兩個開關(guān)部件分別選擇 通信傳輸路徑所需的通道打開,關(guān)閉其它不需要的通道。同時,內(nèi)部請求信 號線與內(nèi)部確認(rèn)信號線上的開關(guān)電路閉合,第一控制部件與第二控制部件上 的請求信號線與確認(rèn)信號線連通,傳輸主從設(shè)備之間的請求信號與確認(rèn)信 號。此時作為通信路徑上中間節(jié)點(diǎn)的通信棧起到的只是連線的作用,不會產(chǎn) 生額外的通信開銷,因此在主從設(shè)備之間的通信延遲除了握手過程的延遲之 外,只有連線的延遲。由于整個通信過程是通過請求信號與確認(rèn)信號之間的握手來控制的,不 是通過同步時鐘信號來進(jìn)行同步,因而在通信網(wǎng)絡(luò)中不需要設(shè)計全局同步時 鐘。同時,采用同步時鐘的電路,出于同步的需要,其執(zhí)行操作所花費(fèi)的時 間必須是時鐘周期的整數(shù)倍,而異步電路中沒有同步時鐘信號,各個部件中 的電路能夠按照自身的執(zhí)行速度來進(jìn)行工作。例如局部譯碼器向仲裁器發(fā)出事務(wù)請求的動作,如果電路的執(zhí)行速度為3ns,而采用時鐘周期為5ns的同 步時鐘,那么該動作的執(zhí)行需要花費(fèi)一個時鐘周期;而不采用同步時鐘的方 式,異步電路執(zhí)行該動作所花費(fèi)的時間就是電路本身的執(zhí)行速度,為3ns。當(dāng)通信過程完成之后,如果進(jìn)行順時針方向的通信,作為主設(shè)備的通信 節(jié)點(diǎn)連接的通信棧內(nèi)的第二控制部件向仲裁器發(fā)事務(wù)撤銷信號;如果進(jìn)行逆 時針方向的通信,作為主設(shè)備的通信節(jié)點(diǎn)連接的通信棧內(nèi)的第一控制部件向 仲裁器發(fā)事務(wù)撤銷信號??刂撇考蛑俨闷靼l(fā)事務(wù)撤銷信號,請求仲裁器撤 銷當(dāng)前事務(wù)并釋放資源,整個通信過程結(jié)束。仲裁器由從設(shè)備沖突檢測部件、順時針資源分配部件、逆時針資源分配 部件、順時針事務(wù)寄存器組、逆時針事務(wù)寄存器組以及資源回收部件組成。
從設(shè)備沖突檢測部件一方面與通信環(huán)上所有通信棧內(nèi)的局部譯碼器相 連, 一方面與順時針資源分配部件、逆時針資源分配部件相連。順時針資源 分配部件與所有通信棧內(nèi)的第一控制部件、第二控制部件相連,還與從設(shè)備 沖突檢測部件、資源回收部件、順時針事務(wù)寄存器組相連。逆時針資源分配 部件與所有通信桟內(nèi)的第一控制部件、第二控制部件相連,還與從設(shè)備沖突 檢測部件、資源回收部件、逆時針事務(wù)寄存器組相連。資源回收部件連接所 有通信棧內(nèi)的第一控制部件與第二控制部件,還與順時針事務(wù)寄存器組、順 時針資源分配部件、逆時針事務(wù)寄存器組以及逆時針資源分配部件相連。順 時針事務(wù)寄存器組與資源回收部件和順時針資源分配部件相連,逆時針事務(wù) 寄存器組與資源回收部件和順時針資源分配部件相連。從設(shè)備沖突檢測部件接收通信環(huán)上所有通信棧中局部譯碼器發(fā)來的事 務(wù)請求。當(dāng)多個通信節(jié)點(diǎn)作為主設(shè)備同時進(jìn)行通信時,會出現(xiàn)多個主設(shè)備向 同一個從設(shè)備發(fā)出訪問請求的情況,此時從設(shè)備沖突檢測部件根據(jù)循環(huán)優(yōu)先 級的仲裁策略確定這些事務(wù)請求的優(yōu)先權(quán),每個通信節(jié)點(diǎn)的優(yōu)先級由操作系統(tǒng)(指微處理器運(yùn)行的操作系統(tǒng),例如嵌入式Lkmx/WinCE這樣的操作系統(tǒng)) 預(yù)先指定,但取得通信網(wǎng)絡(luò)控制權(quán)的通信節(jié)點(diǎn)一旦釋放通信網(wǎng)絡(luò)的占用,其 優(yōu)先級變?yōu)樽畹停瑑?yōu)先級次于它的通信節(jié)點(diǎn)優(yōu)先級上升,所以通信節(jié)點(diǎn)的優(yōu) 先級是依次上升,循環(huán)往復(fù)的。從設(shè)備沖突檢測部件選擇優(yōu)先級最高的通信 節(jié)點(diǎn)的事務(wù)請求,而其它向同一從設(shè)備發(fā)出的訪問請求將不被接受。設(shè)微處 理器中有W個通信節(jié)點(diǎn),如果主設(shè)備到從設(shè)備的通信經(jīng)過通信節(jié)點(diǎn)的數(shù)目小 于7W2,為順時針方向的通信,從設(shè)備沖突檢測部件將事務(wù)請求發(fā)給順時針 資源分配部件;反之,如果主設(shè)備到從設(shè)備的通信經(jīng)過通信節(jié)點(diǎn)的數(shù)目大于 AV2,為逆時針方向的通信,從設(shè)備沖突檢測部件將事務(wù)請求發(fā)給逆時針資
源分配部件。順時針資源分配部件與逆時針資源分配部件是對順時針或逆時針通信方 向上的通道資源進(jìn)行分配的部件,它們的結(jié)構(gòu)完全相同。順時針資源分配部 件接收到從設(shè)備沖突檢測部件發(fā)來的事務(wù)請求后, 一方面訪問順時針事務(wù)寄 存器組,讀取當(dāng)前處于活躍狀態(tài)的事務(wù)信息,即事務(wù)的相關(guān)信息,如通信主、 從設(shè)備地址,狀態(tài)等; 一方面訪問資源回收部件,獲得各個通信節(jié)點(diǎn)和通道 的忙/閑狀態(tài),以確定當(dāng)前的資源使用情況;根據(jù)事務(wù)請求、當(dāng)前活躍的事務(wù) 信息以及資源使用情況,選出能在通信的主從設(shè)備之間形成傳輸路徑的空閑 通道,從而為所請求的通信生成通道配置信息,指明取得訪問權(quán)限的通道的 編號,并將通道配置信息發(fā)給所有通信棧內(nèi)的第一控制部件與第二控制部 件,同時將該路通信的事務(wù)信息更新到順時針事務(wù)寄存器組。逆時針資源分 配部件對逆時針通信方向上的通道資源進(jìn)行分配,只是它訪問和更新的是逆 時針事務(wù)寄存器組。順時針事務(wù)寄存器組與逆時針事務(wù)寄存器組存儲事務(wù)信息,各自由7W2 個事務(wù)寄存器組成,W為微處理器中通信節(jié)點(diǎn)的數(shù)目。每個事務(wù)寄存器記錄 一路通道的事務(wù)信息,事務(wù)信息表示的是該路通道一次通信的相關(guān)信息,包 括源通信節(jié)點(diǎn)地址、目標(biāo)通信節(jié)點(diǎn)地址以及一位有效位,當(dāng)有效位為"1" 時,表明該路通信正在進(jìn)行中,為活躍狀態(tài);當(dāng)有效位為"0"時,該路通 信已經(jīng)結(jié)束,為非活躍狀態(tài)。當(dāng)有新的事務(wù)請求時,如果為順時針方向的通 信,順時針資源分配部件更新順時針事務(wù)寄存器組內(nèi)的事務(wù)寄存器,即寫入 該路通道進(jìn)行新的通信時的源通信節(jié)點(diǎn)地址、目標(biāo)通信節(jié)點(diǎn)地址以及有效位 "1";如果為逆時針方向的通信,逆時針資源分配部件更新逆時針事務(wù)寄存 器組內(nèi)的事務(wù)寄存器。資源回收部件一方面記錄所有通信節(jié)點(diǎn)以及通道的使用情況,分為"忙"、"閑"兩種狀態(tài);另一方面根據(jù)事務(wù)撤銷信號將順時針事務(wù)寄存器組或逆時 針事務(wù)寄存器組中的事務(wù)寄存器有效位置"0"。資源回收部件連接到所有通 信棧中的第一控制部件與第二控制部件,接收控制部件在通信完成之后發(fā)出 的事務(wù)撤銷信號。如果是順時針方向的通信,資源回收部件接收作為主設(shè)備 的通信節(jié)點(diǎn)連接的通信棧內(nèi)的第二控制部件發(fā)來的事務(wù)撤銷信號,將順時針 事務(wù)寄存器組中的該路事務(wù)寄存器的有效位置為"0",同時資源回收部件中 該路事務(wù)所占用的通信節(jié)點(diǎn)和通道的狀態(tài)置為"閑",表示資源結(jié)束,占用 資源被釋放;如果為逆時針方向的通信,資源回收部件接收作為主設(shè)備的通 信節(jié)點(diǎn)連接的通信棧內(nèi)的第一控制部件發(fā)來的事務(wù)撤銷信號,將逆時針事務(wù) 寄存器組中的該路事務(wù)寄存器的有效位置為"0",同時資源回收部件中該路 事務(wù)所占用的通信節(jié)點(diǎn)和通道的狀態(tài)置為"閑",表示資源結(jié)束,占用資源 被釋放。這樣資源回收部件中就有了通信網(wǎng)絡(luò)中新的資源占用情況,供資源 分配部件的下一次訪問。通信環(huán)是將所有通信棧兩兩連接的環(huán)形連線,由交叉雙向的多條通道、 一條請求信號線、 一條確認(rèn)信號線組成。通道與通信棧中通道控制器的第一 開關(guān)部件和第二開關(guān)部件相連,請求信號線、確認(rèn)信號線和通信棧中通道控 制器的第一控制部件和第一控制部件相連。通道的數(shù)目K與通信節(jié)點(diǎn)的數(shù)目 iV有關(guān),尺為iW4取整數(shù)且/C只能為偶數(shù),例如,KAA《8時,《=2,而8<^ 《16時,尺=4。每路通道都是數(shù)據(jù)傳輸?shù)穆窂剑噜弮赏ǖ乐g的傳輸方向 相反。請求信號線在通信桟之間根據(jù)握手協(xié)議傳遞請求信號,確認(rèn)信號線在 通信棧之間根據(jù)握手協(xié)議傳遞確認(rèn)信號,通信棧之間通過請求信號的發(fā)送與 確認(rèn)信號的接收完成整個握手過程。
本發(fā)明中通信節(jié)點(diǎn)之間完成一次順時針方向上的通信過程是
(1) 作為主設(shè)備的一個或多個通信節(jié)點(diǎn)向通信棧中的局部譯碼器發(fā)訪問 請求,請求通信網(wǎng)絡(luò)為其分配一條傳輸路徑完成通信。(2) 局部譯碼器接收訪問請求并進(jìn)行譯碼,確定所請求的目標(biāo)通信節(jié)點(diǎn)地 址。同時局部譯碼器讀取節(jié)點(diǎn)配置部件中的節(jié)點(diǎn)配置信息以獲取通信 節(jié)點(diǎn)的訪問地址,同時將譯碼所得的地址與節(jié)點(diǎn)配置信息中預(yù)先定義 的主/從設(shè)備地址空間進(jìn)行比對,如果不是有效的訪問地址,則不向 仲裁器發(fā)出事務(wù)請求;如果是有效的訪問地址,就將譯碼所得的源通 信節(jié)點(diǎn)與目標(biāo)通信節(jié)點(diǎn)地址以及訪問類型(讀/寫)發(fā)給仲裁器,請 求通信網(wǎng)絡(luò)的訪問權(quán)。
(3) 仲裁器中的從設(shè)備沖突檢測部件接收到事務(wù)請求,首先確認(rèn)是否存在 多個主設(shè)備向同一從設(shè)備發(fā)出訪問請求的情況,如果存在,則釆用循 環(huán)優(yōu)先級的仲裁策略確定發(fā)出訪問請求的通信節(jié)點(diǎn)的優(yōu)先級,選擇優(yōu) 先級最高的通信節(jié)點(diǎn)的事務(wù)請求,其它向同一從設(shè)備發(fā)出的訪問請求 則不被接受。根據(jù)通信的方向,從設(shè)備沖突檢測部件將所選擇的事務(wù) 請求發(fā)給對應(yīng)的順時針資源分配部件。(4) 當(dāng)順時針資源分配部件接收到從設(shè)備沖突檢測部件發(fā)來的事務(wù)請求 時, 一方面訪問順時針事務(wù)寄存器組,讀取當(dāng)前處于活躍狀態(tài)的事務(wù) 信息; 方面訪問資源回收部件,獲取微處理器中各個通信節(jié)點(diǎn)以及 通道的忙/閑狀態(tài),確定當(dāng)前的資源使用情況;根據(jù)事務(wù)請求、當(dāng)前 活躍的事務(wù)信息以及資源使用情況為所請求的通信生成通道配置信 息,選出能在通信的主從設(shè)備之間形成傳輸路徑的空閑通道,從而為 所請求的通信生成通道配置信息,指明獲取訪問權(quán)限的通道的編號,
并將通道配置信息發(fā)給所有通信棧中的第一控制部件與第二控制部 件。同時將該路通信的事務(wù)信息更新到順時針事務(wù)寄存器組。 (5)如果當(dāng)前通信節(jié)點(diǎn)作為通信的主設(shè)備,第二控制部件將請求信號線上的電平將由"0"變?yōu)?1",向目標(biāo)通信節(jié)點(diǎn)發(fā)請求信號,當(dāng)?shù)诙?制部件檢測到確認(rèn)信號線上的電平由"0"變?yōu)?1"時,表明目標(biāo)通 信節(jié)點(diǎn)已經(jīng)接收到請求信號并發(fā)出可以進(jìn)行通信的確認(rèn)信號。此時, 第二控制部件根據(jù)順時針資源分配部件發(fā)來的通道配置信號生成通 道分配信號發(fā)給第二開關(guān)部件,選擇通信傳輸路徑所需的通道打開, 關(guān)閉其它不需要的通道,通信節(jié)點(diǎn)會沿著形成的傳輸路徑進(jìn)行通信, 同時第二控制部件將請求信號線上的電平由"1"變?yōu)?0"。當(dāng)?shù)诙?控制部件檢測到確認(rèn)信號線上的電平由"1"變?yōu)?0"時,表示通信 節(jié)點(diǎn)之間的通信結(jié)束。當(dāng)?shù)谝豢刂撇考z測到請求信號線上的電平由 "0"變?yōu)?1"時,第一控制部件將確認(rèn)信號線上的電平由"0"變?yōu)?1",表示已經(jīng)接收到請求信號,可以進(jìn)行通信,并且第一控制部 件根據(jù)順時針資源分配部件發(fā)來的通道配置信號生成通道分配信號 發(fā)給第一開關(guān)部件,選擇通信傳輸路徑所需的通道打開,關(guān)閉其它不 需要的通道。當(dāng)?shù)谝豢刂撇考z測到確認(rèn)信號線上的電平由"1"變?yōu)?0",且通信完成之后,第一控制部件才能將確認(rèn)信號線上的電平 由"1"變?yōu)?0",結(jié)束握手過程,表示通信結(jié)束。如果當(dāng)前通信節(jié)點(diǎn)既不是主設(shè)備也不是從設(shè)備,而與之連接的通信棧只是作為主從設(shè) 備通信路徑上的中間節(jié)點(diǎn)時,如果進(jìn)行順時針方向的通信,第一控制 部件與第二控制部件均接收順時針資源分配部件發(fā)來的通道配置信 號;如果進(jìn)行逆時針方向的通信,第一控制部件與第二控制部件均接
收逆時針資源分配部件發(fā)來的通道配置信號。第一控制信號與第二控 制信號生成通道分配信號分別發(fā)給第一開關(guān)部件與第二開關(guān)部件,兩 個開關(guān)部件分別選擇通信傳輸路徑所需的通道打開,關(guān)閉其它不需要 的通道。同時,內(nèi)部請求信號線與內(nèi)部確認(rèn)信號線上的開關(guān)電路閉合, 第一控制部件與第二控制部件上的請求信號線與確認(rèn)信號線連通,傳 輸主從設(shè)備之間的請求信號與確認(rèn)信號。(6) 作為主設(shè)備的通信節(jié)點(diǎn)連接的通信棧內(nèi)的第二控制部件檢測到確認(rèn)信號線上的電平由"1"變?yōu)?0"后,第二控制部件向仲裁器發(fā)出事務(wù)撤銷信號,請求仲裁器撤銷當(dāng)前事務(wù)。(7) 資源回收部件接收到作為主設(shè)備的通信節(jié)點(diǎn)連接的通信棧內(nèi)的第二 控制部件發(fā)來的事務(wù)撤銷信號之后,將該路事務(wù)所占用的通信節(jié)點(diǎn)以 及通道的狀態(tài)置為"閑",得到通信網(wǎng)絡(luò)中新的資源占用情況。同時 將順時針事務(wù)寄存器組中該路事務(wù)寄存器的有效位置為"0",表示該 路事務(wù)己經(jīng)結(jié)束,處于非活躍狀態(tài)。根據(jù)通信網(wǎng)絡(luò)中的資源占用情況,在通信環(huán)上可以同時進(jìn)行順時針方向 或逆時針方向上的多路通信。采用本發(fā)明可以達(dá)到以下技術(shù)效果(1) 支持所有通信節(jié)點(diǎn)之間點(diǎn)到點(diǎn)的并行傳輸通信環(huán)中的通道可以由通 道控制器切分成多條傳輸路徑,每條傳輸路徑上的通信可以并行執(zhí) 行。(2) 通信節(jié)點(diǎn)之間采用握手信號進(jìn)行通信控制,不需要設(shè)計龐大的全局同 步時鐘來控制通信,可以大大節(jié)約功耗。(3) 通信速度更快采用全局時鐘控制的通信,通信的每一步動作都依靠
全局時鐘同步,整個通信完成的時間是時鐘周期的整數(shù)倍;而采用異 步握手技術(shù),通信的每一步動作僅依賴于完成動作的模塊自身的速 度,因此整個通信完成的時間會小于或等于采用全局時鐘同步時的時 間。(4) 不需要全局時鐘進(jìn)行同步,從而可以支持多時鐘域的通信節(jié)點(diǎn),擴(kuò)大 了通信網(wǎng)絡(luò)的適用范圍;(5) 節(jié)點(diǎn)配置信息可通過配置參數(shù)進(jìn)行設(shè)置,設(shè)計人員通過設(shè)置配置參數(shù) 能夠方便地修改節(jié)點(diǎn)配置信息,將系統(tǒng)擴(kuò)展至更多節(jié)點(diǎn)之間的通信。
圖1AMBA總線結(jié)構(gòu)示意2《計算機(jī)體系結(jié)構(gòu)》中介紹的環(huán)拓?fù)浣Y(jié)構(gòu)示意3采用GALS技術(shù)的互連結(jié)構(gòu)示意4本發(fā)明的通信網(wǎng)絡(luò)結(jié)構(gòu)示意5本發(fā)明的通信棧結(jié)構(gòu)示意6本發(fā)明的仲裁器結(jié)構(gòu)示意7本發(fā)明仲裁器中的事務(wù)寄存器存儲內(nèi)容示意8本發(fā)明通信節(jié)點(diǎn)配置信息格式圖1為ARM公司的AMBA總線結(jié)構(gòu)示意圖。AMBA總線一般由高性能 的系統(tǒng)總線AHB (Advanced High Performance Bus)與低功耗的外圍總線 APB (Advanced Peripheral Bus)組成,AHB與APB之間通過AHB/APB橋 進(jìn)行連接。AHB總線主要用于連接高性能、高時鐘頻率的模塊,如CPU、 片內(nèi)RAM、 DMA總線控制器、外部存儲器接口等;APB主要用于不需要 高性能流水線接口或不需要高帶寬接口的外圍設(shè)備的連接,如URAT、GP10、
定時器、中斷控制器等。這樣CPU與其它不同速度的IP模塊能夠有機(jī)地結(jié)合在一起。不過總線的廣播特性使得信號的延遲與功耗隨著微處理器的規(guī)模 而急劇增大,同時由于可擴(kuò)展性較差,不適合未來更大規(guī)模的多核微處理器 的通信需求。圖2為2000年高等教育出版社出版的《計算機(jī)體系結(jié)構(gòu)》第七章中介紹 的環(huán)的拓?fù)浣Y(jié)構(gòu)示意圖。環(huán)通過通信鏈路將網(wǎng)絡(luò)中的通信節(jié)點(diǎn)連接起來,以 實(shí)現(xiàn)點(diǎn)到點(diǎn)的傳輸,其優(yōu)點(diǎn)是結(jié)構(gòu)簡單,易于實(shí)現(xiàn),但是傳統(tǒng)的環(huán)通信結(jié)構(gòu) 采用全局同步時鐘進(jìn)行通信同步,采用令牌分配的方式分配給通信節(jié)點(diǎn)通信 網(wǎng)絡(luò)占用權(quán),在通信節(jié)點(diǎn)數(shù)目較多時,令牌分配的效率較低,而且由于只能 單向傳輸,在通信鏈路上距離較遠(yuǎn)的兩個通信節(jié)點(diǎn)之間的通信要經(jīng)過中間節(jié) 點(diǎn)的逐次轉(zhuǎn)發(fā),通信的額外開銷很大。圖3 (a)為采用GALS技術(shù)的互連結(jié)構(gòu)示意圖,圖3 (b)為通信節(jié)點(diǎn)與 棧的結(jié)構(gòu)示意圖。采用GALS技術(shù)的互連網(wǎng)絡(luò)全局采用異步握手方式,沒有 全局同步時鐘,每一個通信節(jié)點(diǎn)采用局部同步的模塊,由自己獨(dú)立的局部同 步時鐘控制。圖3 (b)中所示的棧為簡單的交叉開關(guān),通信節(jié)點(diǎn)的設(shè)計相對 較為復(fù)雜,通信節(jié)點(diǎn)中包含了 GALS接口和分別連接輸入、輸出的FIFO, 還在IP (Intellectual Property,指集成電路設(shè)計中的邏輯模塊或數(shù)據(jù)模塊) 模塊與GALS接口之間設(shè)計了輸入、輸出端口控制邏輯,實(shí)現(xiàn)IP模塊與GALS 接口之間的通信。這種技術(shù)比較適合解決SoC中具有多個時鐘域時的問題, 能夠有效實(shí)現(xiàn)異步通信與現(xiàn)有同步電路模塊的整合。但是復(fù)雜的通信節(jié)點(diǎn)設(shè) 計增加了額外的通信開銷,以及在GALS接口電路中需要使用大量的狀態(tài)保 持元件,使得GALS技術(shù)的實(shí)現(xiàn)成本較高。圖4為本發(fā)明的通信網(wǎng)絡(luò)結(jié)構(gòu)示意圖。整個通信向絡(luò)由多個通信節(jié)點(diǎn)、多個通信棧、 一個通信環(huán)與一個仲裁器連接而成。每個通信棧與對應(yīng)的一個 通信節(jié)點(diǎn)通過數(shù)據(jù)線進(jìn)行連接,所有的通信棧通過通信環(huán)兩兩連接在一起, 仲裁器則與各個通信棧通過數(shù)據(jù)線進(jìn)行連接。通信節(jié)點(diǎn)向?qū)?yīng)的通信棧發(fā)出 訪問請求,通信棧對訪問請求進(jìn)行譯碼,確定是否向仲裁器發(fā)出事務(wù)請求, 以取得所請求設(shè)備的訪問權(quán)。仲裁器則負(fù)責(zé)事務(wù)仲裁,判斷設(shè)備能否獲得訪 問權(quán),并控制通信棧將通信環(huán)切分成不同的傳輸路徑使獲得訪問權(quán)的通信節(jié) 點(diǎn)完成通信。圖5為本發(fā)明的通信棧結(jié)構(gòu)示意圖,包括局部譯碼器、節(jié)點(diǎn)配置部件以 及通道控制器。局部譯碼器與通信節(jié)點(diǎn)相連,接收通信節(jié)點(diǎn)發(fā)出的訪問請求, 通過譯碼確定訪問的目標(biāo)通信節(jié)點(diǎn)地址。局部譯碼器還與節(jié)點(diǎn)配置部件連 接,讀取通信節(jié)點(diǎn)的訪問地址,如果譯碼所得的地址為有效地址,局部譯碼 器將向仲裁器發(fā)出事務(wù)請求。節(jié)點(diǎn)配置部件是一個存儲器,通信網(wǎng)絡(luò)中所有 的節(jié)點(diǎn)配置部件都是兩兩相連的,任何通信節(jié)點(diǎn)都能夠讀取到其它通信節(jié)點(diǎn) 的節(jié)點(diǎn)配置信息。通道控制器是通道的控制開關(guān),由第一控制部件、第二控 制部件、第一開關(guān)部件和第二開關(guān)部件組成。第一開關(guān)部件和第二開關(guān)部件 是結(jié)構(gòu)相同的多路選擇器;第一控制部件和第二控制部件是結(jié)構(gòu)相同的控制 器。第一開關(guān)部件和第二開關(guān)部件的輸入與各通道相連,輸出均與通信節(jié)點(diǎn) 的數(shù)據(jù)線相連;第一開關(guān)部件的控制信號線與第一控制部件相連,第二開關(guān) 部件的控制信號線與第二控制部件相連,分別接受第一控制部件、第二控制 部件產(chǎn)生的通道分配信號,控制與通信棧相連的通道的連通或關(guān)斷,在通信 網(wǎng)絡(luò)中形成通信所需的傳輸路徑。第一控制部件與第二控制部件均與通信環(huán) 上的請求信號線、確認(rèn)信號線以及仲裁器相連,第一控制部件和第二控制部 件之間通過內(nèi)部請求信號線與內(nèi)部確認(rèn)信號線相連。內(nèi)部請求信號線與內(nèi)部 確認(rèn)信號線分別與連接到兩個控制部件的外部的請求信號線與確認(rèn)信號線 連接。內(nèi)部請求信號線與內(nèi)部確認(rèn)信號線上分別有一個開關(guān)電路,當(dāng)對應(yīng)通 信節(jié)點(diǎn)為主設(shè)備或從設(shè)備時,開關(guān)電路打開,內(nèi)部請求信號線與內(nèi)部確認(rèn)信號線分別斷開;當(dāng)對應(yīng)的通信棧只是作為主從設(shè)備通信路徑上的中間節(jié)點(diǎn) 時,開關(guān)電路閉合,第一控制部件與第二控制部件上的請求信號線與確認(rèn)信 號線連通,此時兩個控制部件之間的連接僅作為主設(shè)備與從設(shè)備之間請求信 號與確認(rèn)信號的傳輸路徑。第一控制部件、第二控制部件與仲裁器中順時針 資源分配部件、逆時針資源分配部件均相連,根據(jù)通信的方向接收仲裁器中 順時針資源分配部件或逆時針資源分配部件發(fā)來的通道配置信號。第一控制 部件和第二控制部件根據(jù)通道配置信號生成通道分配信號分別發(fā)給第一開 關(guān)部件和第二開關(guān)部件。當(dāng)通信過程完成之后,如果進(jìn)行順時針方向的通信, 作為主設(shè)備的通信節(jié)點(diǎn)連接的通信棧內(nèi)的第二控制部件向仲裁器發(fā)事務(wù)撤 銷信號;如果進(jìn)行逆時針方向的通信,作為主設(shè)備的通信節(jié)點(diǎn)連接的通信棧 內(nèi)的第一控制部件向仲裁器發(fā)事務(wù)撤銷信號,整個通信過程結(jié)束。圖6為本發(fā)明的仲裁器結(jié)構(gòu)示意圖。仲裁器由從設(shè)備沖突檢測部件、順 時針資源分配部件、逆時針資源分配部件、順時針事務(wù)寄存器組、逆時針事 務(wù)寄存器組以及資源回收部件組成。從設(shè)備沖突檢測部件一方面與通信環(huán)上 所有通信棧內(nèi)的局部譯碼器相連, 一方面與順時針資源分配部件、逆時針資 源分配部件相連。順時針資源分配部件與所有通信棧內(nèi)的第一控制部件、第 二控制部件相連,還與從設(shè)備沖突檢測部件、資源回收部件、順時針事務(wù)寄 存器組相連。逆時針資源分配部件與所有通信棧內(nèi)的第一控制部件、第二控 制部件相連,還與從設(shè)備沖突檢測部件、資源回收部件、逆時針事務(wù)寄存器 組相連。資源回收部件連接所有通信棧內(nèi)的第一控制部件與第二控制部件,還與順時針事務(wù)寄存器組、順時針資源分配部件、逆時針事務(wù)寄存器組以及 逆時針資源分配部件相連。順時針事務(wù)寄存器組與資源回收部件和順時針資 源分配部件相連,逆時針事務(wù)寄存器組與資源回收部件和順時針資源分配部 件相連。圖7為事務(wù)寄存器存儲內(nèi)容示意圖,每個事務(wù)寄存器記錄一路通道的事 務(wù)信息,事務(wù)信息表示的是該路通道一次通信的相關(guān)信息,包括源通信節(jié)點(diǎn) 地址、目標(biāo)通信節(jié)點(diǎn)地址以及一位有效位,當(dāng)有效位為"1"時,表明該路 通信正在進(jìn)行中,為活躍狀態(tài);當(dāng)有效位為"0"時,該路通信己經(jīng)結(jié)束, 為非活躍狀態(tài)。當(dāng)有新的事務(wù)請求時,如果為順時針方向的通信,順時針資 源分配部件更新順時針事務(wù)寄存器組內(nèi)的事務(wù)寄存器,即寫入該路通道進(jìn)行 新的通信時的源通信節(jié)點(diǎn)地址、目標(biāo)通信節(jié)點(diǎn)地址以及有效位"l";如果為 逆時針方向的通信,逆時針資源分配部件更新逆時針事務(wù)寄存器組內(nèi)的事務(wù) 寄存器。圖8為通信節(jié)點(diǎn)配置信息格式,每個通信節(jié)點(diǎn)的配置信息由8個字組成, 第l個字為標(biāo)識,其中第0位到第4位為中斷號IRQ,第5位到第9位為版 本號VERSION,第12到第23位為設(shè)備ID,第24位到第31位為制造商的 Vendor ID;從第5個字到第8個字則記錄了從設(shè)備的地址信息、訪問權(quán)限以 及I/O配置信息,每個字中第0位到第3位為I/O配置信息TYPE,第16位 與第17位分別指明了兩種訪問權(quán)限C(Cacheable,可緩存)與P(Prefetchable, 可預(yù)取),第20位到第31位為訪問地址;剩下的3個字(第2到第4個字) 供用戶自定義使用。所有通信節(jié)點(diǎn)的配置信息均以只讀表格的形式起始于 0xFFFFF000,其中主設(shè)備的表格空間為0xFFFFF000 0xFFFFF7FF,而從設(shè) 備的表格空間為0xFFFFF800 0xFFFFFFFC。由于通信網(wǎng)絡(luò)中的節(jié)點(diǎn)配置部件都是兩兩相連的,所以任何通信節(jié)點(diǎn)都能夠讀取到其它通信節(jié)點(diǎn)的節(jié)點(diǎn)配置{曰息o
權(quán)利要求
1.一種異構(gòu)多核處理器高速異步互連通信網(wǎng)絡(luò),其特征在于它由多個通信節(jié)點(diǎn)、多個通信棧、一個通信環(huán)與一個仲裁器連接而成,每個通信棧與一個通信節(jié)點(diǎn)通過數(shù)據(jù)線連接,所有的通信棧通過通信環(huán)兩兩連接在一起,仲裁器與各個通信棧通過數(shù)據(jù)線連接;通信節(jié)點(diǎn)是向通信網(wǎng)絡(luò)發(fā)出訪問請求或被訪問的設(shè)備,每個通信節(jié)點(diǎn)都有一個唯一的設(shè)備編號即設(shè)備ID;通信棧由局部譯碼器、節(jié)點(diǎn)配置部件以及通道控制器組成;仲裁器由從設(shè)備沖突檢測部件、順時針資源分配部件、逆時針資源分配部件、順時針事務(wù)寄存器組、逆時針事務(wù)寄存器組以及資源回收部件組成;通信環(huán)是將所有通信棧兩兩連接的環(huán)形連線,由交叉雙向的多條通道、一條請求信號線、一條確認(rèn)信號線組成;通信節(jié)點(diǎn)向與之連接的通信棧發(fā)訪問請求,通信棧對訪問請求進(jìn)行譯碼,確定是否向仲裁器發(fā)事務(wù)請求,即通信請求,以取得所請求設(shè)備即另一個通信節(jié)點(diǎn)的訪問權(quán);仲裁器則負(fù)責(zé)事務(wù)仲裁,判斷發(fā)出請求的通信節(jié)點(diǎn)能否獲得訪問權(quán),并控制通信棧將通信環(huán)切分成不同的傳輸路徑使獲得訪問權(quán)的通信節(jié)點(diǎn)完成通信。
2. 如權(quán)利要求1所述的異構(gòu)多核處理器高速異步互連通信網(wǎng)絡(luò),其特征在 于通信棧中的局部譯碼器一方面與通信棧對應(yīng)的通信節(jié)點(diǎn)、仲裁器相連, 一方面與節(jié)點(diǎn)配置部件、通道控制器相連;局部譯碼器接收通信節(jié)點(diǎn)發(fā) 來的訪問請求并對訪問請求進(jìn)行譯碼,確定源通信節(jié)點(diǎn)與目標(biāo)通信節(jié)點(diǎn) 地址以及訪問類型;同時,它讀取存儲于節(jié)點(diǎn)配置部件中的節(jié)點(diǎn)配置信 息,將譯碼所得的目標(biāo)通信節(jié)點(diǎn)地址與節(jié)點(diǎn)配置信息中預(yù)先定義的主/從 設(shè)備地址空間進(jìn)行比較,如果譯碼所得的目標(biāo)通信節(jié)點(diǎn)地址不是有效的 訪問地址,則不向仲裁器發(fā)出事務(wù)請求;如果是有效的訪問地址,局部譯碼器向仲裁器發(fā)事務(wù)請求,將譯碼所得的源通信節(jié)點(diǎn)與目標(biāo)通信節(jié)點(diǎn) 地址以及訪問類型發(fā)給仲裁器,請求通信網(wǎng)絡(luò)的訪問權(quán)。
3. 如權(quán)利要求1所述的異構(gòu)多核處理器高速異步互連通信網(wǎng)絡(luò),其特征在 于通信棧中的節(jié)點(diǎn)配置部件是一個記錄對應(yīng)通信節(jié)點(diǎn)的節(jié)點(diǎn)配置信息的 存儲器,其大小由對應(yīng)通信節(jié)點(diǎn)的配置信息的大小決定,它既與局部譯碼器、通信棧對應(yīng)的通信節(jié)點(diǎn)相連,又與通信環(huán)上相鄰兩個通信棧內(nèi)的 其它節(jié)點(diǎn)配置部件相連。
4. 如權(quán)利要求3所述的異構(gòu)多核處理器高速異步互連通信網(wǎng)絡(luò),其特征在 于所述通信節(jié)點(diǎn)的配置信息由8個字組成,第1個字為標(biāo)識,其中第0 位到第4位為中斷號IRQ,第5位到第9位為版本號VERSION,第12 到第23位為設(shè)備ID,第24位到第31位為制造商的Vendor ID;從第5 個字到第8個字記錄該通信節(jié)點(diǎn)作為從設(shè)備時的訪問地址、訪問權(quán)限以 及I/O配置信息^每個字中第0位到第3位為I/O配置信息TYPE,第16 位與第17位分別指明了兩種可緩存訪問權(quán)限C,與可預(yù)取訪問權(quán)限P, 第20位到第31位為訪問地址;第2到第4個字供用戶自定義使用;每 個通信節(jié)點(diǎn)的配置信息均以只讀表格的形式起始于地址空間 0xFFFFF000,其中主設(shè)備的地址空間為0xFFFFF000 ~ 0xFFFFF7FF,從 設(shè)備的地址空間為0xFFFFF800 OxFFFFFFFC。
5. 如權(quán)利要求1所述的異構(gòu)多核處理器高速異步互連通信網(wǎng)絡(luò),其特征在 于通信棧中的通道控制器是通道的控制開關(guān),由第一控制部件、第二控 制部件、第一開關(guān)部件和第二開關(guān)部件組成第一開關(guān)部件和第二開關(guān) 部件是結(jié)構(gòu)相同的多路選擇器;第一控制部件和第二控制部件是結(jié)構(gòu)相 同的控制器;第一開關(guān)部件和第二開關(guān)部件的輸入與各通道相連,輸出均與通信節(jié)點(diǎn)的數(shù)據(jù)線相連;第一開關(guān)部件的控制信號線與第一控制部 件相連,第二開關(guān)部件的控制信號線與第二控制部件相連,分別接受第 一控制部件、第二控制部件產(chǎn)生的通道分配信號,控制與通信棧相連的 通道的連通或關(guān)斷,在通信網(wǎng)絡(luò)中形成通信所需的傳輸路徑;第一控制 部件與第二控制部件均與通信環(huán)上的請求信號線、確認(rèn)信號線以及仲裁 器相連,第一控制部件和第二控制部件之間通過內(nèi)部請求信號線與內(nèi)部 確認(rèn)信號線相連;內(nèi)部請求信號線與內(nèi)部確認(rèn)信號線上分別有一個開關(guān) 電路,當(dāng)對應(yīng)通信節(jié)點(diǎn)為主設(shè)備或從設(shè)備時,開關(guān)電路打開,內(nèi)部請求 信號線與內(nèi)部確認(rèn)信號線分別斷開;當(dāng)對應(yīng)的通信棧只是作為主從設(shè)備 通信路徑上的中間節(jié)點(diǎn)時,開關(guān)電路閉合,第一控制部件與第二控制部 件上的請求信號線與確認(rèn)信號線連通,此時兩個控制部件之間的連接僅 作為主設(shè)備與從設(shè)備之間請求信號與確認(rèn)信號的傳輸路徑。
6.如權(quán)利要求1所述的異構(gòu)多核處理器高速異步互連通信網(wǎng)絡(luò),其特征在 于仲裁器中,從設(shè)備沖突檢測部件一方面與通信環(huán)上所有通信棧內(nèi)的局 部譯碼器相連, 一方面與順時針資源分配部件、逆時針資源分配部件相 連;順時針資源分配部件與所有通信棧內(nèi)的第一控制部件、第二控制部 件相連,還與從設(shè)備沖突檢測部件、資源回收部件、順時針事務(wù)寄存器 組相連;逆時針資源分配部件與所有通信棧內(nèi)的第一控制部件、第二控 制部件相連,還與從設(shè)備沖突檢測部件、資源回收部件、逆時針事務(wù)寄 存器組相連;資源回收部件連接所有通信棧內(nèi)的第一控制部件與第二控 制部件,還與順時針事務(wù)寄存器組、順時針資源分配部件、逆時針事務(wù) 寄存器組以及逆時針資源分配部件相連;順時針事務(wù)寄存器組與資源回 收部件和順時針資源分配部件相連,逆時針事務(wù)寄存器組與資源回收部件和順時針資源分配部件相連。
7. 如權(quán)利要求1或6所述的異構(gòu)多核處理器高速異步互連通信網(wǎng)絡(luò),其特 征在于從設(shè)備沖突檢測部件接收通信環(huán)上所有通信棧中局部譯碼器發(fā)來 的事務(wù)請求,根據(jù)循環(huán)優(yōu)先級的仲裁策略確定多個主設(shè)備向同一個從設(shè) 備發(fā)出的事務(wù)請求的優(yōu)先權(quán),每個通信節(jié)點(diǎn)的優(yōu)先級由操作系統(tǒng)預(yù)先指 定,但取得通信網(wǎng)絡(luò)控制權(quán)的通信節(jié)點(diǎn)一旦釋放通信網(wǎng)絡(luò)的占用,其優(yōu) 先級變?yōu)樽畹?,?yōu)先級次于它的通信節(jié)點(diǎn)優(yōu)先級上升;從設(shè)備沖突檢測 部件選擇優(yōu)先級最高的通信節(jié)點(diǎn)的事務(wù)請求,而其它向同一從設(shè)備發(fā)出 的訪問請求將不被接受;設(shè)微處理器中有iV個通信節(jié)點(diǎn),如果主設(shè)備到 從設(shè)備的通信經(jīng)過通信節(jié)點(diǎn)的數(shù)目小于AV2,為順時針方向的通信,從設(shè) 備沖突檢測部件將事務(wù)請求發(fā)給順時針資源分配部件;反之,如果主設(shè) 備到從設(shè)備的通信經(jīng)過通信節(jié)點(diǎn)的數(shù)目大于iW2,為逆時針方向的通信, 從設(shè)備沖突檢測部件將事務(wù)請求發(fā)給逆時針資源分配部件。
8. 如權(quán)利要求1或6所述的異構(gòu)多核處理器高速異步互連通信網(wǎng)絡(luò),其特 征在于順時針資源分配部件與逆時針資源分配部件是對順時針或逆時針 通信方向上的通道資源進(jìn)行分配的部件,它們的結(jié)構(gòu)完全相同;順時針 資源分配部件接收到從設(shè)備沖突檢測部件發(fā)來的事務(wù)請求后, 一方面訪 問順時針事務(wù)寄存器組,讀取當(dāng)前處于活躍狀態(tài)的事務(wù)信息,即事務(wù)的 相關(guān)信息,如通信主、從設(shè)備地址,狀態(tài); 一方面訪問資源回收部件, 獲得各個通信節(jié)點(diǎn)和通道的忙/閑狀態(tài),以確定當(dāng)前的資源使用情況;根 據(jù)事務(wù)請求、當(dāng)前活躍的事務(wù)信息以及資源使用情況,選出能在通信的 主從設(shè)備之間形成傳輸路徑的空閑通道,從而為所請求的通信生成通道 配置信息,指明取得訪問權(quán)限的通道的編號,并將通道配置信息發(fā)給所有通信棧內(nèi)的第一控制部件與第二控制部件,同時將該路通信的事務(wù)信息更新到順時針事務(wù)寄存器組;逆時針資源分配部件對逆時針通信方向 上的通道資源進(jìn)行分配,只是它訪問和更新的是逆時針事務(wù)寄存器組。
9. 如權(quán)利要求1或6所述的異構(gòu)多核處理器高速異步互連通信網(wǎng)絡(luò),其特 征在于順時針事務(wù)寄存器組與逆時針事務(wù)寄存器組存儲事務(wù)信息,各自 由AV2個事務(wù)寄存器組成,iV為微處理器中通信節(jié)點(diǎn)的數(shù)目;每個事務(wù) 寄存器記錄一路通道的事務(wù)信息,事務(wù)信息表示該路通道一次通信的相 關(guān)信息,包括源通信節(jié)點(diǎn)地址、目標(biāo)通信節(jié)點(diǎn)地址以及一位有效位,當(dāng) 有效位為"1"時,表明該路通信正在進(jìn)行中,為活躍狀態(tài);當(dāng)有效位為"0"時,該路通信已經(jīng)結(jié)束,為非活躍狀態(tài);當(dāng)有新的事務(wù)請求時,如 果為順時針方向的通信,順時針資源分配部件更新順時針事務(wù)寄存器組 內(nèi)的事務(wù)寄存器,即寫入該路通道進(jìn)行新的通信時的源通信節(jié)點(diǎn)地址、 目標(biāo)通信節(jié)點(diǎn)地址以及有效位"1";如果為逆時針方向的通信,逆時針 資源分配部件更新逆時針事務(wù)寄存器組內(nèi)的事務(wù)寄存器。
10. 如權(quán)利要求1或6所述的異構(gòu)多核處理器高速異步互連通信網(wǎng)絡(luò),其特 征在于資源回收部件一方面記錄所有通信節(jié)點(diǎn)以及通道的使用情況,分 為"忙"、"閑"兩種狀態(tài);另一方面根據(jù)事務(wù)撤銷信號將順時針事務(wù)寄 存器組或逆時針事務(wù)寄存器組中的事務(wù)寄存器有效位置"0";資源回收 部件連接到所有通信棧中的第一控制部件與第二控制部件,接收控制部 件在通信完成之后發(fā)出的事務(wù)撤銷信號;如果是順時針方向的通信,資 源回收部件接收作為主設(shè)備的通信節(jié)點(diǎn)連接的通信棧內(nèi)的第二控制部件 發(fā)來的事務(wù)撤銷信號,將順時針事務(wù)寄存器組中的該路事務(wù)寄存器的有 效位置為"0",同時資源回收部件中該路事務(wù)所占用的通信節(jié)點(diǎn)和通道的狀態(tài)置為"閑",表示資源結(jié)束,占用資源被釋放;如果為逆時針方向 的通信,資源回收部件接收作為主設(shè)備的通信節(jié)點(diǎn)連接的通信棧內(nèi)的第 一控制部件發(fā)來的事務(wù)撤銷信號,將逆時針事務(wù)寄存器組中的該路事務(wù) 寄存器的有效位置為"0",同時資源回收部件中該路事務(wù)所占用的通信 節(jié)點(diǎn)和通道的狀態(tài)置為"閑",表示資源結(jié)束,占用資源被釋放;這樣資 源回收部件中就有了通信網(wǎng)絡(luò)中新的資源占用情況,供資源分配部件的 下一次訪問。
11. 如權(quán)利要求1所述的異構(gòu)多核處理器高速異步互連通信網(wǎng)絡(luò),其特征在 于通信環(huán)中的通道與通信棧中通道控制器的第一開關(guān)部件和第二開關(guān)部 件相連,請求信號線、確認(rèn)信號線和通信棧中通道控制器的第一控制部 件和第一控制部件相連;通道的數(shù)目《與通信節(jié)點(diǎn)的數(shù)目W有關(guān),《為 AV4取整數(shù)且《只能為偶數(shù);每路通道都是數(shù)據(jù)傳輸?shù)穆窂?,相鄰兩?道之間的傳輸方向相反;請求信號線在通信棧之間根據(jù)握手協(xié)議傳遞請 求信號,確認(rèn)信號線在通信棧之間根據(jù)握手協(xié)議傳遞確認(rèn)信號,通信棧 之間通過請求信號的發(fā)送與確認(rèn)信號的接收完成整個握手過程。
12. 如權(quán)利要求5所述的異構(gòu)多核處理器高速異步互連通信網(wǎng)絡(luò),其特征 在于第一控制部件、第二控制部件與仲裁器中順時針資源分配部件、逆 時針資源分配部件均相連,根據(jù)通信的方向接收仲裁器中順時針資源分 配部件或逆時針資源分配部件發(fā)來的通道配置信號,根據(jù)通道配置信號 生成通道分配信號分別發(fā)給第一開關(guān)部件和第二開關(guān)部件12.1如果當(dāng)前節(jié)點(diǎn)作為通信的主設(shè)備,且進(jìn)行的是順時針方向的通信時, 通信過程由第二控制部件與第二開關(guān)部件進(jìn)行,第二控制部件選擇接收順時 針資源分配部件發(fā)來的通道配置信號;如果進(jìn)行的是逆時針方向的通信時,通信過程由第一控制部件與第一開關(guān)部件進(jìn)行,第一控制部件選擇接收逆時 針資源分配部件發(fā)來的通道配置信號;順時針方向的一次通信過程是第二控制部件將請求信號線上的電平由"0"變?yōu)?1"以向目標(biāo)通信節(jié)點(diǎn)發(fā)請求 信號,當(dāng)?shù)诙刂撇考z測到確認(rèn)信號線上的電平由"0"變?yōu)?1"時,表 明目標(biāo)通信節(jié)點(diǎn)己經(jīng)接收到請求信號并發(fā)出可以進(jìn)行通信的確認(rèn)信號;此 時,第二控制部件根據(jù)順時針資源分配部件發(fā)來的通道配置信號生成通道分 配信號發(fā)給第二開關(guān)部件,第二開關(guān)部件將通信傳輸路徑所需的通道打開, 關(guān)閉其它不需要的通道,通信節(jié)點(diǎn)沿著形成的傳輸路徑進(jìn)行通信,同時第二 控制部件將請求信號線上的電平由"1"變?yōu)?0";當(dāng)?shù)诙刂撇考z測到 確認(rèn)信號線上的電平由"1"變?yōu)?0"時,表示通信節(jié)點(diǎn)之間的通信結(jié)束; 逆時針方向的通信過程由第一控制部件與第一開關(guān)部件進(jìn)行,且第一控制部 件根據(jù)逆時針資源分配部件發(fā)來的通道配置信號生成通道分配信號發(fā)給第 一開關(guān)部件,其它與順時針方向的通信過程一樣。 12.2當(dāng)前通信節(jié)點(diǎn)作為通信的從設(shè)備時,如果進(jìn)行順時針方向的通信, 通信過程由第一控制部件與第一開關(guān)部件進(jìn)行,第一控制部件選擇接收順時 針資源分配部件發(fā)來的通道配置信號;如果進(jìn)行的是逆時針方向的通信,通 信過程由第二控制部件與第二開關(guān)部件進(jìn)行,第二控制部件選擇接收逆時針 資源分配部件發(fā)來的通道配置信號;順時針方向的一次通信過程是當(dāng)?shù)谝?控制部件檢測到請求信號線上的電平由"0"變?yōu)?1"時,第一控制部件將 確認(rèn)信號線上的電平由"0"變?yōu)?1",表示已經(jīng)接收到請求信號,可以進(jìn) 行通信,并且第一控制部件根據(jù)順時針資源分配部件發(fā)來的通道配置信號生 成通道分配信號發(fā)給第一開關(guān)部件,第一開關(guān)部件將通信傳輸路徑所需的通 道打開,關(guān)閉其它不需要的通道;當(dāng)?shù)谝豢刂撇考z測到確認(rèn)信號線上的電平由"1"變?yōu)?0",且通信完成之后,第一控制部件將確認(rèn)信號線上的電 平由"1"變?yōu)?0",結(jié)束握手過程,表示通信結(jié)束;逆時針方向的通信過 程由第二控制部件與第二開關(guān)部件進(jìn)行,且第二控制部件根據(jù)逆時針資源分 配部件發(fā)來的通道配置信號生成通道分配信號發(fā)給第二開關(guān)部件,其它與順 時針方向的通信過程一樣。 12.3如果當(dāng)前通信節(jié)點(diǎn)既不是主設(shè)備也不是從設(shè)備,而與之連接的通信棧只是作為主從設(shè)備通信路徑上的中間節(jié)點(diǎn)時,如果進(jìn)行順時針方向的通 信,第一控制部件與第二控制部件均接收順時針資源分配部件發(fā)來的通道配置信號;如果進(jìn)行逆時針方向的通信,第一控制部件與第二控制部件均接收 逆時針資源分配部件發(fā)來的通道配置信號;第一控制部件與第二控制部件生 成通道分配信號分別發(fā)給第一開關(guān)部件與第二開關(guān)部件,兩個開關(guān)部件分別 選擇通信傳輸路徑所需的通道打開,關(guān)閉其它不需要的通道;同時,內(nèi)部請 求信號線與內(nèi)部確認(rèn)信號線上的開關(guān)電路閉合,第一控制部件與第二控制部 件上的請求信號線與確認(rèn)信號線連通,傳輸主從設(shè)備之間的請求信號與確認(rèn) 信號; 12.4當(dāng)通信過程完成之后,如果進(jìn)行順時針方向的通信,作為主設(shè)備的 通信節(jié)點(diǎn)連接的通信棧內(nèi)的第二控制部件向仲裁器發(fā)事務(wù)撤銷信號;如果進(jìn) 行逆時針方向的通信,作為主設(shè)備的通信節(jié)點(diǎn)連接的通信棧內(nèi)的第一控制部 件向仲裁器發(fā)事務(wù)撤銷信號;控制部件向仲裁器發(fā)事務(wù)撤銷信號,請求仲裁 器撤銷當(dāng)前事務(wù)并釋放資源,整個通信過程結(jié)束。
全文摘要
本發(fā)明公開了一種異構(gòu)多核處理器高速異步互連通信網(wǎng)絡(luò),它由多個通信節(jié)點(diǎn)、多個通信棧、一個通信環(huán)與一個仲裁器連接而成,每個通信棧與一個通信節(jié)點(diǎn)通過數(shù)據(jù)線連接,所有的通信棧通過通信環(huán)兩兩連接,仲裁器與各通信棧通過數(shù)據(jù)線連接。通信棧由局部譯碼器、節(jié)點(diǎn)配置部件、通道控制器組成;仲裁器由從設(shè)備沖突檢測部件、順時針資源分配部件、逆時針資源分配部件、順時針事務(wù)寄存器組、逆時針事務(wù)寄存器組、資源回收部件組成;通信環(huán)是將所有通信棧兩兩連接的環(huán)形連線,由交叉雙向的多條通道、一條請求信號線、一條確認(rèn)信號線組成。本發(fā)明支持所有通信節(jié)點(diǎn)之間點(diǎn)到點(diǎn)的并行傳輸,通信節(jié)點(diǎn)之間采用握手信號進(jìn)行通信控制,可以節(jié)約功耗,提高通信速度。
文檔編號H04L12/46GK101132336SQ20071003591
公開日2008年2月27日 申請日期2007年10月17日 優(yōu)先權(quán)日2007年10月17日
發(fā)明者葵 戴, 鋼 晉, 勇 李, 李云照, 蕾 王, 王志英, 賴明澈, 堅 阮, 銳 龔 申請人:中國人民解放軍國防科學(xué)技術(shù)大學(xué)