久久ER99热精品一区二区-久久精品99国产精品日本-久久精品免费一区二区三区-久久综合九色综合欧美狠狠

新聞中心

EEPW首頁 > 手機與無線通信 > 設計應用 > 基于SystemC的異構多核通信模塊設計

基于SystemC的異構多核通信模塊設計

作者: 時間:2011-01-10 來源:網絡 收藏

通信控制模塊

  該模塊用來專門處理各個核之間的通信指令,對其進行解釋翻譯,并將最終行為直觀的 告訴總線,達到核間通信的目的。新架構設計按照SystemC 交易級建模(TLM)原則,為以后 多核功能的擴展性提供可能性。

  3.2 通信機制

  為了異構多核通信的實現,需要向多核仿真器的每個模擬器內核擴展三條訪問共享存儲 區的指令,分別是:申請空間、讀取和寫入。

  在內核代碼中對共享存儲區訪問指令進行譯碼之后,需要對共享存儲區發出操作請求, 與操作請求一起發送的是操作的信息,對于申請、讀取和寫入三種操作,各自的操作信息如 下表所示:

操作信息

  當 CMCCtrl 受到接收到來自Core1/Core2 的訪問請求,模塊觸發。同時隨著請求一起接 收下來的其他信息,包括指令編碼、請求的數據類型、地址偏移等等。CMCCtrl 對這些請求 信息進行分析,當判斷出核間需要數據通信后,將需要的信息提取發送至總線模塊。具體模 塊描述如下:

  SC_MODULE(CMCCtrl)

  { sc_inout isCore1, isCore2; //來自Core1/Core2 的訪問請求,是本模塊的觸發信號

  sc_out core1_latency, core2_latency; //返回給Core1/Core2 的延時信息

  sc_inout data_value; //需要傳遞的數據

  sc_port bus_port; //通信總線模塊接口

  /*返回給Core1/Core2 的應答信號,表明CORE1/Core2 獲得了共享存儲區的訪問權,并

  且可以繼續執行下一個周期的操作*/

  sc_inout ackCore1, ackCore2;

  /*隨著isCore1/isCore2 請求一起接收下來的請求信息,包括指令編碼、請求的數據類型、

  地址移等等*/

  sc_inout data_type, array_capacity, data_index, data_id;

  /*隨著is Core1/isCore2 請求一起接收下來的,表明當前Core1/Core2 運行的周期數,用

  于進行內核調度判斷和訪存沖突分析*/

  sc_in core1_cycle, core2_cycle;

  /*對isCore1 或者isCore2 的上升沿敏感的響應函數,它被定義為線程類型,是CMCCtrl

  類的實現函數。函數內部需要對兩個內核的訪問請求進行判斷、控制,并調用相應的其它成員函數。



關鍵詞: 收發器

評論


相關推薦

技術專區

關閉