国产精品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>

      一種嵌入式異構(gòu)多核體系片上通信的實(shí)現(xiàn)方法

      文檔序號(hào):6460485閱讀:233來(lái)源:國(guó)知局
      專利名稱:一種嵌入式異構(gòu)多核體系片上通信的實(shí)現(xiàn)方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及嵌入式異構(gòu)多核技術(shù)領(lǐng)域,特別是涉及一種嵌入式異構(gòu)多核體系 片上通信的實(shí)現(xiàn)方法。
      背景技術(shù)
      隨著集成電路工藝發(fā)展到深亞微米的階段,當(dāng)代處理器體系結(jié)構(gòu)的研究正在 朝著多核的方向發(fā)展。無(wú)論對(duì)于提高處理器性能,還是考慮單位計(jì)算性能的能 耗因素,多核體系結(jié)構(gòu)都是目前的熱點(diǎn)研究方向。
      在產(chǎn)業(yè)界,Intel、 IBM、 AMD、 SUN等國(guó)際頂級(jí)芯片公司都已經(jīng)在市場(chǎng)上 發(fā)布了多核處理器。這里面既有同構(gòu)多核處理器,也有異構(gòu)多核處理器。
      目前多核處理器的發(fā)展還處于起步階段,有很多問(wèn)題還亟待解決。其中,一 個(gè)主要的方面就是設(shè)計(jì)高效的片上通信架構(gòu)。這里的通信不僅包括多個(gè)片上處 理核之間的通信,也包括處理核對(duì)于內(nèi)存數(shù)據(jù)的存取。
      當(dāng)前,單核處理器的處理能力己經(jīng)達(dá)到了非常高的水平。為了充分發(fā)揮單個(gè) 芯片上多個(gè)處理核的性能,片上的通信架構(gòu)必須在反應(yīng)時(shí)間、帶寬等方面都能 有非常好的表現(xiàn)而傳統(tǒng)的片外總線和其他通信方式并不能直接適應(yīng)片上通信的 需求,因此多核處理器的設(shè)計(jì)者必須針對(duì)片上多核的特點(diǎn)重新設(shè)計(jì)合適的片上 通信架構(gòu)。
      進(jìn)一步,當(dāng)面對(duì)嵌入式異構(gòu)多核這一類多核體系時(shí),片上通信架構(gòu)的設(shè)計(jì)又 需要新的考慮。異構(gòu)多核處理器的特點(diǎn)是面向應(yīng)用,結(jié)構(gòu)多變,經(jīng)常是一個(gè)處 理芯片上集成有幾類不同的處理核。這要求片上通信的設(shè)計(jì)需充分考慮片上各 個(gè)不同種類處理核的通信需求與特點(diǎn),并結(jié)合相應(yīng)應(yīng)用的特點(diǎn)、內(nèi)存架構(gòu)的設(shè) 置等。面向嵌入式領(lǐng)域,對(duì)于處理器的設(shè)計(jì)、實(shí)現(xiàn)、使用的代價(jià)都有更加嚴(yán)格 的要求,而且嵌入式異構(gòu)多核處理器大多應(yīng)用在多媒體處理、信號(hào)編解碼、數(shù) 據(jù)比對(duì)等領(lǐng)域中,要求片上通信能夠在有限的代價(jià)下提供更好的片內(nèi)數(shù)據(jù)傳輸 性能。
      這一方面表明了片上通信在嵌入式異構(gòu)多核處理器設(shè)計(jì)中的重要性,也展示 了設(shè)計(jì)一個(gè)能充分發(fā)揮出處理器中各個(gè)處理核心性能的片上通信架構(gòu)的艱難。 總的來(lái)說(shuō),嵌入式異構(gòu)多核體系的片上通信研究才剛剛起步,面向嵌入式系統(tǒng)、 面向應(yīng)用的定制也才剛剛出現(xiàn),很多問(wèn)題還有待解決。當(dāng)前,多核架構(gòu)已經(jīng)成為處理器體系發(fā)展的主要方向,并發(fā)展出了同構(gòu)多核
      與異構(gòu)多核兩個(gè)主要分支。同構(gòu)多核體系的如IBM的Power4、 Power5, Intel 的Core微架構(gòu),Sun的UltraSPARC等,而異構(gòu)多核的典型有IBM的CELL, TI的OMAP。這些多核體系的設(shè)計(jì)架構(gòu)代表了當(dāng)前多核處理器領(lǐng)域的主要方向。
      然而,目前多核處理器的發(fā)展還處于起步階段,許多方面的研究還需要進(jìn)一 步的開(kāi)展。多核的片上通信就是其中的一個(gè)主要研究難點(diǎn)。當(dāng)前,單核處理器 的處理能力已經(jīng)達(dá)到了非常高的水平。為了充分發(fā)揮單個(gè)芯片上多個(gè)處理核的 性能,片上的通信架構(gòu)必須在反應(yīng)時(shí)間、帶寬等方面都能有非常好的表現(xiàn)。因 而片上通信的設(shè)計(jì)是否優(yōu)良直接關(guān)系到芯片內(nèi)各個(gè)處理核的性能發(fā)揮。
      目前,主流的片上高效通信機(jī)制有兩種, 一是基于總線共享存儲(chǔ)媒介(主要 是Cache)的結(jié)構(gòu), 一種是基于片上的互連結(jié)構(gòu)。
      總線共享Cache的結(jié)構(gòu)是指芯片上的各個(gè)處理器核通過(guò)片上的互連總線共 享一個(gè)二級(jí)或三級(jí)Cache,進(jìn)而達(dá)到對(duì)數(shù)據(jù)的共享和相互間通信。核間要傳遞的 數(shù)據(jù)一般都通過(guò)共享的Cache做一個(gè)中轉(zhuǎn)。典型的總線共享Cache架構(gòu)如斯坦 福大學(xué)的Hydra多核處理器。
      正如上文所述,目前多核處理器正在成為處理器發(fā)展的焦點(diǎn),而片上通信則 是這個(gè)焦點(diǎn)的重心。嵌入式異構(gòu)多核體系中片上通信架構(gòu)設(shè)計(jì)的研究難點(diǎn)主要 體現(xiàn)在嵌入式異構(gòu)多核體系片上通信設(shè)計(jì)與實(shí)現(xiàn)。
      異構(gòu)多核體系中各個(gè)處理核的指令集、存儲(chǔ)層次、實(shí)現(xiàn)細(xì)節(jié)、功能特性都可 能各不相同,如何為各個(gè)處理核設(shè)計(jì)一種高效的協(xié)作方式就成了首要的難題。 另一方面,由于片上通信架構(gòu)的功能不僅包括各個(gè)處理核之間的數(shù)據(jù)傳輸,也 包括為各個(gè)處理核提供高效的內(nèi)存數(shù)據(jù)存取性能。各個(gè)處理核如何合理的存取 內(nèi)存數(shù)據(jù)也就成了一個(gè)非常重要的問(wèn)題。上述這些都要求設(shè)計(jì)者針對(duì)不同的多 核架構(gòu)以及所面向的應(yīng)用不同而綜合地設(shè)計(jì)片上通信架構(gòu)方式。
      嵌入式異構(gòu)多核體系片上通信的設(shè)計(jì)應(yīng)考慮軟件在多核處理器上運(yùn)行的便 捷性的問(wèn)題。軟件在多核處理器上的運(yùn)行主要包括軟件如何在多個(gè)核上加載, 不同處理核上的軟件如何進(jìn)行內(nèi)存數(shù)據(jù)存儲(chǔ)和如何進(jìn)行相互通信等三個(gè)方面。 軟件執(zhí)行的方便與否決定了多核處理器能否以最低的代價(jià)提供最高的性能。

      發(fā)明內(nèi)容
      本發(fā)明的目的在于提供一種嵌入式異構(gòu)多核體系片上通信的實(shí)現(xiàn)方法。 本發(fā)明解決其技術(shù)問(wèn)題采用的技術(shù)方案如下 l)構(gòu)建通信模型以主-輔控制模型作為該嵌入式異構(gòu)多核處理器的通信架構(gòu);主核將任務(wù)分 配給輔助核,輔助核自行建立該任務(wù)的執(zhí)行環(huán)境并處理該任務(wù);主核將任務(wù)的 屬性信息,主要包括任務(wù)在內(nèi)存中的起始地址、長(zhǎng)度,在輔助核本地存儲(chǔ)的地 址等,發(fā)送給信息控制單元;然后,信息控制單元根據(jù)這些屬性信息自行將任 務(wù)主體信息從系統(tǒng)內(nèi)存中搬運(yùn)到輔助核的本地存儲(chǔ)中;同時(shí),對(duì)于輔助核處理 完成的結(jié)果數(shù)據(jù),這些結(jié)果數(shù)據(jù)存于本地存儲(chǔ)中,也由其將控制信息發(fā)送給通 信控制單元,并由其搬運(yùn)到系統(tǒng)內(nèi)存中;
      主核和輔助核之間還需要進(jìn)行一些消息類的通信與數(shù)據(jù)同步;這種消息傳 遞類通信的數(shù)據(jù)量很小,且一般都是從各個(gè)核中直接發(fā)出的;這將由信息控制 單元進(jìn)行處理;
      2) 構(gòu)建信息控制單元
      信息控制單元ICU處于輔助處理單元內(nèi)部,作為輔助處理核與系統(tǒng)其他成 員的通信接口;其主要負(fù)責(zé)本地存儲(chǔ)與系統(tǒng)主存之間的數(shù)據(jù)交換以及輔助處理 核與系統(tǒng)的主核、其他輔助核,系統(tǒng)其它設(shè)備之間的通信;
      ICU位于SPU與總線接口之間;ICU中主要包含兩大部分信箱通信模塊 和數(shù)據(jù)搬運(yùn)模塊,分別完成消息傳遞類通信和數(shù)據(jù)搬運(yùn)類通信;信息控制單元 分別和兩個(gè)片內(nèi)互連總線的接口相連,分別是MPBIU, Message Passing, Bus Interface Unit,即消息傳遞總線接口 ,和DT BIU, Data Transfer, Bus Interface Unit, 即數(shù)據(jù)傳輸總線接口;
      ICU內(nèi)部按照功能分為信箱通信模塊和數(shù)據(jù)搬運(yùn)模塊兩大部分。其中,信 箱通信模塊主要包括通信輸入隊(duì)列InQueue、通信輸出隊(duì)列Out Queue,外部命 令隊(duì)列External Command Queue和內(nèi)部命令隊(duì)歹U Inner Command Queue 4個(gè)緩沖 隊(duì)列和一個(gè)隊(duì)列管理單元Queue Management Unit;而數(shù)據(jù)搬運(yùn)模塊則包括解碼 單元Decoder、 DMA和內(nèi)存管理單元MMU;
      3) 實(shí)現(xiàn)通信過(guò)程
      基本的通信類型可分為4類,分別為主核向輔助核發(fā)起通信、輔助核向
      主核發(fā)起通信、主核發(fā)起數(shù)據(jù)搬運(yùn)類通信、輔助核發(fā)起數(shù)據(jù)搬運(yùn)類通信。
      本發(fā)明與背景技術(shù)相比,具有的有益的效果是
      本發(fā)明是一種嵌入式異構(gòu)多核體系片上通信的實(shí)現(xiàn)方法,其主要功能是結(jié) 合嵌入式異構(gòu)多核體系結(jié)構(gòu)的特點(diǎn),提出了"主-輔"控制模型的構(gòu)建方法,由主 核將任務(wù)分配給輔助核,輔助核自行建立該任務(wù)的執(zhí)行環(huán)境并處理該任務(wù),以 此為基本的核間協(xié)作方式。(1) 高效性。實(shí)現(xiàn)了主輔核間的通信以及輔助核中的本地存儲(chǔ)與系統(tǒng)內(nèi)存之 間的數(shù)據(jù)交換,提供了高效的核間協(xié)作以及數(shù)據(jù)傳輸性能。
      (2) 實(shí)用性。面向嵌入式多核領(lǐng)域的較常見(jiàn)的多媒體處理、數(shù)據(jù)比對(duì)、信號(hào)
      編解碼、模式匹配等計(jì)算密集型處理,具有很強(qiáng)的實(shí)用性。


      圖1是本發(fā)明的實(shí)施過(guò)程示意圖。
      圖2是本發(fā)明所面向的嵌入式異構(gòu)多核體系結(jié)構(gòu)圖。 圖3是本發(fā)明信息控制單元(ICU)基本架構(gòu)圖。
      具體實(shí)施例方式
      本發(fā)明是一種嵌入式異構(gòu)多核體系片上通信的實(shí)現(xiàn)方法,下面結(jié)合圖1說(shuō) 明其具體實(shí)施過(guò)程。
      l)構(gòu)建通信模型
      本發(fā)明所面向的嵌入式異構(gòu)多核體系結(jié)構(gòu)如圖2所示,是一個(gè)典型的嵌入
      式異構(gòu)多核體系結(jié)構(gòu)。這樣的處理器中主要包含了主處理單元MPE (Main Processor Element)和輔助處理單元SPE (Synergistic Processor Element)兩種處
      理核心。其中,主處理器單元主要負(fù)責(zé)運(yùn)行系統(tǒng)操作系統(tǒng)、應(yīng)用軟件的控制和 簡(jiǎn)單運(yùn)算部分等通用處理;而輔助處理單元負(fù)責(zé)數(shù)據(jù)比對(duì)、模式匹配等計(jì)算密
      集型運(yùn)算。每個(gè)主處理器單元亦即主核擁有一級(jí)緩存,每個(gè)輔助處理單元亦即 輔助核或者復(fù)核,SPE主要包括了兩大部分,第一部分是輔助核(Synergistic Processor Unit, SPU),其內(nèi)部包含執(zhí)行單元(Executing Unit, EU)和本地存儲(chǔ) (Local Store, LS)兩個(gè)子部件;第二部分是信息控制單元(Information Control Unit, ICU)。其中信息控制單元為本發(fā)明的實(shí)現(xiàn),將在本發(fā)明的步驟3)中具體 實(shí)現(xiàn)。
      本發(fā)明以"主-輔"控制模型作為該嵌入式異構(gòu)多核處理器的通信架構(gòu)。主核 將任務(wù)分配給輔助核,輔助核自行建立該任務(wù)的執(zhí)行環(huán)境并處理該任務(wù)。主核 將任務(wù)的屬性信息(主要包括任務(wù)在內(nèi)存中的起始地址、長(zhǎng)度,在輔助核本地 存儲(chǔ)的地址等)發(fā)送給信息控制單元;然后,信息控制單元根據(jù)這些屬性信息 自行將任務(wù)主體信息從系統(tǒng)內(nèi)存中搬運(yùn)到輔助核的本地存儲(chǔ)中。同時(shí),對(duì)于輔 助核處理完成的結(jié)果數(shù)據(jù)(存于本地存儲(chǔ)中),也由其將控制信息發(fā)送給通信控 制單元,并由其搬運(yùn)到系統(tǒng)內(nèi)存中。
      主核和輔助核之間還需要進(jìn)行一些消息類的通信與數(shù)據(jù)同步。這種消息傳 遞類通信的數(shù)據(jù)量很小,且一般都是從各個(gè)核中直接發(fā)出的。這將由信息控制單元進(jìn)行處理。
      2)構(gòu)建信息控制單元
      信息控制單元ICU處于輔助處理單元(SPE)內(nèi)部,作為輔助處理核(SPU) 與系統(tǒng)其他成員的通信接口 。其主要負(fù)責(zé)本地存儲(chǔ)(LS)與系統(tǒng)主存之間的數(shù)據(jù)交 換以及輔助處理核與系統(tǒng)其它成員(包括主核、其他輔助核,系統(tǒng)其它設(shè)備) 之間的通信。
      ICU位于SPU與總線接口之間,虛線框內(nèi)的部分即為其內(nèi)部的主要模塊。 ICU中主要包含兩大部分信箱通信模塊和數(shù)據(jù)搬運(yùn)模塊,分別完成消息傳遞 類通信和數(shù)據(jù)搬運(yùn)類通信。這兩類通信對(duì)于總線的要求各不相同,信箱通信模 塊實(shí)際上是一個(gè)被動(dòng)接收消息的模塊,而數(shù)據(jù)搬運(yùn)模塊可以在系統(tǒng)中主動(dòng)發(fā)出 數(shù)據(jù)傳輸請(qǐng)求。因而,信息控制單元分別和兩個(gè)片內(nèi)互連總線的接口相連,分 別是MP BIU (Message Passing, Bus Interface Unit),即消息傳遞總線接口,和 DTBIU (Data Transfer, Bus Interface Unit),即數(shù)據(jù)傳輸總線接口。
      ICU內(nèi)部按照功能分為信箱通信模塊和數(shù)據(jù)搬運(yùn)模塊兩大部分。其中,信 箱通信模塊主要包括通信輸入隊(duì)列(InQueue)、通信輸出隊(duì)列(Out Queue), 外部命令隊(duì)列(External Command Queue)和內(nèi)部命令隊(duì)列(Inner Command Queue)等4個(gè)緩沖隊(duì)列和一個(gè)隊(duì)列管理單元(Queue Management Unit);而數(shù) 據(jù)搬運(yùn)模塊則包括解碼單元(Decoder)、 DMA和內(nèi)存管理單元(MMU)。
      信箱通信模塊中的4個(gè)隊(duì)列,就是MPE與SPE之間通信的信箱,用于中轉(zhuǎn) 兩者發(fā)送的消息通信信息。
      每個(gè)隊(duì)列有4個(gè)緩沖槽,即最多可以緩存4組數(shù)據(jù)。每個(gè)緩沖槽的寬度為 64bit,即可以存儲(chǔ)64bit的信息。同時(shí),每個(gè)隊(duì)列還有一個(gè)Queue Empty (隊(duì)列 空)寄存器和一個(gè)Queue Full (隊(duì)列滿)寄存器,用以表示隊(duì)列的當(dāng)前狀態(tài)。其 中Queue Empty寄存器可以且僅可以被讀口所讀取,而Queue Full寄存器則只 能被寫口所讀取。4條隊(duì)列形成4個(gè)通信信箱,分別面向不同的消息通信功能。
      通信輸入隊(duì)列負(fù)責(zé)傳遞系統(tǒng)其他設(shè)備(主要是MPE)發(fā)送給此SPE的通信 信息。這些信息可以直接被SPU通過(guò)通道指令經(jīng)由通道接口讀取。因而,通信 輸入隊(duì)列與QMU連接的接口只有寫功能,而與SPU連接的接口只有讀功能。
      通信輸出隊(duì)列負(fù)責(zé)傳遞SPU向系統(tǒng)其他設(shè)備(主要是MPE)發(fā)送的通信信 息。這些信息可以由目標(biāo)設(shè)備經(jīng)由MPBIU通過(guò)QMU讀取。因此,通信輸出隊(duì) 列與QMU連接的接口只有讀功能,而與SPU連接的接口只有寫功能。與其他 隊(duì)列不同的是,通信輸出隊(duì)列還有一個(gè)中斷端口 Out—Queue—Write—INT,直接與系統(tǒng)中斷控制器相互連接,以向其發(fā)出中斷。該中斷端口也就是完成輔助核向 主核發(fā)起通信時(shí)的信箱模塊的中斷功能當(dāng)SPU向通信輸出隊(duì)列中寫入新的信 息時(shí),該隊(duì)列就向系統(tǒng)發(fā)出一個(gè)中斷,以提示MPE及時(shí)讀取新的信息。
      外部命令隊(duì)列,顧名思義,負(fù)責(zé)傳遞"外部"的系統(tǒng)其他設(shè)備(主要是MPE) 發(fā)送的控制信息(命令)。外部命令隊(duì)列與QMU連接的接口只有寫功能,而其 與信息的接收者~~Decoder連接的接口只有讀功能。
      相應(yīng)的,內(nèi)部命令隊(duì)列負(fù)責(zé)傳遞SPE中的SPU通過(guò)通道接口發(fā)送的控制信 息。這條隊(duì)列主要是為滿足SPU在必要時(shí),如處理完任務(wù),需要將結(jié)果數(shù)據(jù)搬 出,自主發(fā)起本地存儲(chǔ)和系統(tǒng)內(nèi)存之間的數(shù)據(jù)交換。SPU可以通過(guò)通道接口訪 問(wèn)該隊(duì)列。因而,內(nèi)部命令隊(duì)列與SPU連接的接口只有寫功能,與Decoder連 接的接口只有讀功能。
      綜上所述,只有通信輸入隊(duì)列和通信輸出隊(duì)列是真正用于核間消息通信的 信箱。其主要是完成通信模型中所列的第一類通信功能——消息傳遞類通信; 而兩條命令隊(duì)列主要是用以傳遞各方發(fā)送的數(shù)據(jù)搬運(yùn)控制命令,因而其完成的 是第二類通信——數(shù)據(jù)搬運(yùn)類通信的第一步功能。
      隊(duì)列管理單元(QMU)是輸入隊(duì)列、輸出隊(duì)列、外部命令隊(duì)列與MP BIU 相互連接的統(tǒng)一接口,負(fù)責(zé)對(duì)隊(duì)列信息與總線接口傳遞的數(shù)據(jù)之間進(jìn)行編解碼 轉(zhuǎn)換。QMU內(nèi)部主要是一個(gè)編解碼部件和兩個(gè)接口寄存器輸入寄存器和輸出 寄存器。MP BIU接收到來(lái)自總線的數(shù)據(jù)之后就將其發(fā)送給QMU的輸入寄存器。 QMU解碼該數(shù)據(jù),并根據(jù)其內(nèi)容對(duì)相應(yīng)的隊(duì)列執(zhí)行相應(yīng)的操作。最后,QMU 將操作的反饋信息寫入其輸出寄存器中,以等待外界讀取該信息。
      由于QMU完成的是外界與信箱隊(duì)列之間數(shù)據(jù)的編解碼以及相應(yīng)操作,外界 傳遞給QMU的數(shù)據(jù)信息需按照特定格式編寫才能被QMU正確識(shí)別,隊(duì)列反饋 給外界的數(shù)據(jù)信息也將被QMU按照特定格式編碼之后外界才能夠識(shí)別。同時(shí), 這種數(shù)據(jù)編解碼格式必須與QMU的內(nèi)部編解碼部件的具體編解碼算法相對(duì)應(yīng)。 由于該數(shù)據(jù)編解碼格式可以根據(jù)不同實(shí)現(xiàn)進(jìn)行靈活的設(shè)計(jì),本文并未對(duì)其進(jìn)行 具體限定。
      以上是信箱通信模塊中的主要部件,而數(shù)據(jù)搬運(yùn)模塊中的核心部件則是 DMA。它能夠根據(jù)其控制信號(hào)完成對(duì)LS的訪問(wèn),并將其中的數(shù)據(jù)搬運(yùn)到系統(tǒng) 外界的存儲(chǔ)區(qū)域(主要是系統(tǒng)內(nèi)存)中,或執(zhí)行相反的操作。
      輔助DMA工作的是數(shù)據(jù)搬運(yùn)模塊中的Decoder和MMU。 Decoder的主要 功能是接收外部命令隊(duì)列和內(nèi)部命令隊(duì)列中的控制信息,經(jīng)過(guò)解碼之后根據(jù)其內(nèi)容設(shè)置相應(yīng)的DMA控制信號(hào)或者設(shè)置相應(yīng)的特殊寄存器。由于有兩個(gè)隊(duì)列 源,因而解碼單元也對(duì)兩個(gè)隊(duì)列進(jìn)行基于優(yōu)先級(jí)的仲裁選擇。在解碼命令的同 時(shí),對(duì)整個(gè)SPE的控制也集中在這里,Decoder可以根據(jù)控制信息設(shè)置一些特殊 寄存器SPR (Special Purpose Register),從而決定啟動(dòng)SPE/SPU、清空LS、是 否使用MMU以及設(shè)置MMU相關(guān)的頁(yè)表基址寄存器等。通過(guò)設(shè)定SPR, ICU 可以控制整個(gè)SPE的工作。
      與QMU中的情況類似,兩個(gè)命令隊(duì)列中控制信息也具有特定的格式,其與 Decoder中的解碼算法相對(duì)應(yīng)。在架構(gòu)設(shè)計(jì)中,本文也未對(duì)該格式進(jìn)行具體限定, 而是在架構(gòu)實(shí)現(xiàn)中根據(jù)具體情況再進(jìn)行相應(yīng)的設(shè)計(jì)。
      ICU里的MMU是一個(gè)負(fù)責(zé)虛地址/實(shí)地址轉(zhuǎn)換和內(nèi)存訪問(wèn)保護(hù)的部件,能 夠支持不同的處理器模式和更好的配合操作系統(tǒng)。在本發(fā)明中,ICU的MMU 是一個(gè)可選的單元。若在其中配置了 MMU,則ICU中DMA與系統(tǒng)主內(nèi)存或其 他設(shè)備之間的數(shù)據(jù)交換就可以使用虛地址。這將有利于用戶程序?qū)τ诘刂返慕y(tǒng) 一操作,即在系統(tǒng)全局地址空間內(nèi)都使用虛擬地址進(jìn)行訪問(wèn)。由于主處理單元 中已經(jīng)有一個(gè)專屬于其的MMU,這就使得體系結(jié)構(gòu)中出現(xiàn)了多個(gè)MMU。這種 情況下,多個(gè)MMU之間必須進(jìn)行一致性設(shè)計(jì), 一致性設(shè)計(jì)可以使用已經(jīng)成熟 的技術(shù)進(jìn)行。
      3)實(shí)現(xiàn)通信過(guò)程
      基本的通信類型可分為4類,分別為主核向輔助核發(fā)起通信、輔助核向 主核發(fā)起通信、主核發(fā)起數(shù)據(jù)搬運(yùn)類通信、輔助核發(fā)起數(shù)據(jù)搬運(yùn)類通信。通過(guò) 這4類基本通信可以組成所有的通信需求。通信過(guò)程分別為
      1. 主核向輔助核發(fā)起通信 該類型通信的主要過(guò)程如下
      a) 主核將通信信息發(fā)送給信息控制單元的信箱模塊;
      b) 信箱模塊接收并存儲(chǔ)該信息;
      c) 輔助核通過(guò)信息控制單元的信箱模塊獲取該信息;
      輔助核并不知道主核何時(shí)會(huì)發(fā)送信息。因而,在通信過(guò)程中,步驟c)的輔 助核采用輪詢的方式,不斷訪問(wèn)信箱模塊以及時(shí)獲得信息。
      2. 輔助核向主核發(fā)起通信 該類型通信的主要過(guò)程如下-
      a) 輔助核將通信信息發(fā)送給信息控制單元的信箱模塊;
      b) 信箱模塊接收并存儲(chǔ)該信息,同時(shí)向主核發(fā)出一個(gè)中斷信號(hào);c)主核接收到中斷信號(hào)后從信息控制單元的信箱模塊中獲取通信信息;
      該通信過(guò)程中信箱模塊在接收到輔助核發(fā)給主核的通信信息時(shí)會(huì)先向主核 發(fā)出一個(gè)中斷信號(hào)。通過(guò)該中斷信號(hào)的導(dǎo)引,主核可以及時(shí)的獲取通信信息。 由于主核主要負(fù)責(zé)系統(tǒng)的控制,其本身?yè)碛兄袛喙δ堋@弥袛嗟姆绞絹?lái)獲取 信息,主核就可以不用輪詢信息控制單元。這一方面降低了系統(tǒng)運(yùn)行時(shí)的通信 量,也使得主核不用運(yùn)行輪詢程序,其處理器資源可以更好的被其他任務(wù)所利 用。
      3. 主核發(fā)起數(shù)據(jù)搬運(yùn)類通信 該類型通信的主要過(guò)程如下
      a) 主核將數(shù)據(jù)搬運(yùn)控制信息發(fā)送給信息控制單元的信箱模塊;
      b) 信箱模塊接收并存儲(chǔ)該控制信息;
      C)數(shù)據(jù)搬運(yùn)模塊從信箱模塊中獲取該信息,處理后發(fā)起數(shù)據(jù)搬運(yùn)操作; 在這個(gè)過(guò)程中,步驟c)中的數(shù)據(jù)搬運(yùn)模塊實(shí)際上是在不停地查詢信箱模塊 中有無(wú)控制信息,從而及時(shí)進(jìn)行相應(yīng)的數(shù)據(jù)搬運(yùn)操作。由于數(shù)據(jù)搬運(yùn)模塊是全 硬件模塊,且只負(fù)責(zé)接收控制信息并執(zhí)行,則其采用這種輪詢的方式來(lái)獲取控 制信息并不會(huì)引起自身運(yùn)行效率的降低。同時(shí),數(shù)據(jù)搬運(yùn)模塊和信箱模塊同屬 于信息控制單元,兩者通過(guò)內(nèi)部通路直接連接,而不走片內(nèi)通信通道,因而也 不會(huì)增加系統(tǒng)運(yùn)行時(shí)的通信量。
      4. 輔助核發(fā)起數(shù)據(jù)搬運(yùn)類通信 該類型通信的主要過(guò)程如下
      a) 輔助核核將數(shù)據(jù)搬運(yùn)控制信息發(fā)送給信息控制單元的信箱模塊;
      b) 信箱模塊接收并存儲(chǔ)該控制信息;
      c) 數(shù)據(jù)搬運(yùn)模塊從信箱模塊中獲取該信息,處理后發(fā)起數(shù)據(jù)搬運(yùn)操作; 在這個(gè)過(guò)程中,步驟c)中的數(shù)據(jù)搬運(yùn)模塊實(shí)際上是在不停地查詢信箱模塊
      中有無(wú)控制信息,從而及時(shí)進(jìn)行相應(yīng)的數(shù)據(jù)搬運(yùn)操作。由于數(shù)據(jù)搬運(yùn)模塊是全 硬件模塊,且只負(fù)責(zé)接收控制信息并執(zhí)行,則其采用這種輪詢的方式來(lái)獲取控 制信息并不會(huì)引起自身運(yùn)行效率的降低。同時(shí),數(shù)據(jù)搬運(yùn)模塊和信箱模塊同屬 于信息控制單元,兩者通過(guò)內(nèi)部通路直接連接,而不走片內(nèi)通信通道,因而也 不會(huì)增加系統(tǒng)運(yùn)行時(shí)的通信量。
      權(quán)利要求
      1.一種嵌入式異構(gòu)多核體系片上通信的實(shí)現(xiàn)方法,其特征在于1)構(gòu)建通信模型以主-輔控制模型作為該嵌入式異構(gòu)多核處理器的通信架構(gòu);主核將任務(wù)分配給輔助核,輔助核自行建立該任務(wù)的執(zhí)行環(huán)境并處理該任務(wù);主核將任務(wù)的屬性信息,主要包括任務(wù)在內(nèi)存中的起始地址、長(zhǎng)度,在輔助核本地存儲(chǔ)的地址等,發(fā)送給信息控制單元;然后,信息控制單元根據(jù)這些屬性信息自行將任務(wù)主體信息從系統(tǒng)內(nèi)存中搬運(yùn)到輔助核的本地存儲(chǔ)中;同時(shí),對(duì)于輔助核處理完成的結(jié)果數(shù)據(jù),這些結(jié)果數(shù)據(jù)存于本地存儲(chǔ)中,也由其將控制信息發(fā)送給通信控制單元,并由其搬運(yùn)到系統(tǒng)內(nèi)存中;主核和輔助核之間還需要進(jìn)行一些消息類的通信與數(shù)據(jù)同步;這種消息傳遞類通信的數(shù)據(jù)量很小,且一般都是從各個(gè)核中直接發(fā)出的;這將由信息控制單元進(jìn)行處理;2)構(gòu)建信息控制單元信息控制單元ICU處于輔助處理單元內(nèi)部,作為輔助處理核與系統(tǒng)其他成員的通信接口;其主要負(fù)責(zé)本地存儲(chǔ)與系統(tǒng)主存之間的數(shù)據(jù)交換以及輔助處理核與系統(tǒng)的主核、其他輔助核,系統(tǒng)其它設(shè)備之間的通信;ICU位于SPU與總線接口之間;ICU中主要包含兩大部分信箱通信模塊和數(shù)據(jù)搬運(yùn)模塊,分別完成消息傳遞類通信和數(shù)據(jù)搬運(yùn)類通信;信息控制單元分別和兩個(gè)片內(nèi)互連總線的接口相連,分別是MP BIU,Message Passing,BusInterface Unit,即消息傳遞總線接口,和DT BIU,Data Transfer,Bus Interface Unit,即數(shù)據(jù)傳輸總線接口;ICU內(nèi)部按照功能分為信箱通信模塊和數(shù)據(jù)搬運(yùn)模塊兩大部分。其中,信箱通信模塊主要包括通信輸入隊(duì)列In Queue、通信輸出隊(duì)列Out Queue,外部命令隊(duì)列External Command Queue和內(nèi)部命令隊(duì)列Inner Command Queue 4個(gè)緩沖隊(duì)列和一個(gè)隊(duì)列管理單元Queue Management Unit;而數(shù)據(jù)搬運(yùn)模塊則包括解碼單元Decoder、DMA和內(nèi)存管理單元MMU;3)實(shí)現(xiàn)通信過(guò)程基本的通信類型可分為4類,分別為主核向輔助核發(fā)起通信、輔助核向主核發(fā)起通信、主核發(fā)起數(shù)據(jù)搬運(yùn)類通信、輔助核發(fā)起數(shù)據(jù)搬運(yùn)類通信。
      全文摘要
      本發(fā)明公開(kāi)了一種嵌入式異構(gòu)多核體系片上通信的實(shí)現(xiàn)方法。本發(fā)明的方法結(jié)合嵌入式異構(gòu)多核體系結(jié)構(gòu)的特點(diǎn),提出了主-輔控制模型的構(gòu)建方法,由主核將任務(wù)分配給輔助核,輔助核自行建立該任務(wù)的執(zhí)行環(huán)境并處理該任務(wù),以此為基本的核間協(xié)作方式。本發(fā)明實(shí)現(xiàn)了主輔核間的通信以及輔助核中的本地存儲(chǔ)與系統(tǒng)內(nèi)存之間的數(shù)據(jù)交換,提供了高效的核間協(xié)作以及數(shù)據(jù)傳輸性能;面向嵌入式多核領(lǐng)域的較常見(jiàn)的多媒體處理、數(shù)據(jù)比對(duì)、信號(hào)編解碼、模式匹配等計(jì)算密集型處理,具有很強(qiáng)的實(shí)用性。
      文檔編號(hào)G06F15/163GK101303687SQ20081006216
      公開(kāi)日2008年11月12日 申請(qǐng)日期2008年6月3日 優(yōu)先權(quán)日2008年6月3日
      發(fā)明者嚴(yán)力科, 馮德貴, 施青松, 章鐵飛, 威 胡, 蔣冠軍, 斌 謝, 陳天洲, 項(xiàng)凌祥, 黃江偉 申請(qǐng)人:浙江大學(xué)
      網(wǎng)友詢問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1