基于SystemC的異構(gòu)多核通信模塊設(shè)計(jì)
*/ void Controller();
//對(duì)于每一個(gè)write_shm_data 請(qǐng)求,將數(shù)據(jù)寫(xiě)入指定的共享存儲(chǔ)區(qū)空間
void WriteShmDataHandler(struct InstBuffer *inst);
//對(duì)于每一個(gè)read_shm_data 請(qǐng)求,將數(shù)據(jù)寫(xiě)入指定的共享存儲(chǔ)區(qū)空間
void ReadShmDataHandler(struct InstBuffer *inst);
……
SC_HAS_PROCESS(CMCCtrl);
// constructor
CMCCtrl (sc_module_name _name){……}
};
4 MP3 解碼程序的多核測(cè)試
為了更加充分進(jìn)行驗(yàn)證,并展示多核通信模塊在實(shí)際應(yīng)用中的價(jià)值,本文選擇了MP3 解碼程序進(jìn)行基于多核系統(tǒng)的移植,并驗(yàn)證仿真結(jié)果以及仿真效率。
MP3編碼的主要方法是在頻域上對(duì)音頻文件內(nèi)容進(jìn)行編碼壓縮,而解碼過(guò)程是還原頻域 的內(nèi)容再變換成原始的時(shí)域音頻信號(hào)。按照ISO/IEC11172-3標(biāo)準(zhǔn),MP3解碼算法分為同步與 校驗(yàn)、Huffman解碼、比例因子解析、反量化、重排序、立體聲處理等十個(gè)部分。
在考慮應(yīng)用程序的多核移植時(shí),可以是數(shù)據(jù)劃分也可以是任務(wù)劃分的。對(duì)于MP3代碼, 如果采用數(shù)據(jù)劃分式,則可以在不同的處理器內(nèi)核上解不同的數(shù)據(jù)幀。而如果采用任務(wù)劃分 方式,則可以將解碼的不同過(guò)程在多個(gè)內(nèi)核之間形成流水作業(yè),采用共享存儲(chǔ)區(qū)進(jìn)行不同流 水級(jí)之間的數(shù)據(jù)傳遞。顯然后者需要更多的核間通信,更適合于驗(yàn)證其性能,因此,本文采 用了按照任務(wù)劃分的方式進(jìn)行代碼的多核移植。
在測(cè)試中,我們采用ARM+PISA的雙核系統(tǒng),因此需要將MP3解碼程序按照功能劃分為 兩部分,分別放在兩個(gè)內(nèi)核上運(yùn)行,形成流水線。本文所采用的MP3解碼軟件在ARM開(kāi)發(fā) 套件(ARM Design Suit)軟件仿真平臺(tái)上測(cè)試的結(jié)果表明:合成多項(xiàng)濾波器部分占用了大 約50%的計(jì)算量[4]。根據(jù)這個(gè)結(jié)論,本文粗略地對(duì)應(yīng)用程序在雙核之間進(jìn)行任務(wù)劃分:其中 一個(gè)內(nèi)核運(yùn)行計(jì)算量最大的合成濾波,另外一個(gè)內(nèi)核實(shí)現(xiàn)Huffman解碼、比例因子解析、反 量化等步驟。兩個(gè)內(nèi)核通過(guò)系統(tǒng)提供的通信控制模塊進(jìn)行通信并保持同步。
表2是這一測(cè)試的統(tǒng)計(jì)結(jié)果。統(tǒng)計(jì)數(shù)據(jù)提供了兩方面的信息:
1)MP3解碼程序的雙核加速比,由統(tǒng)計(jì)結(jié)果中的“運(yùn)行周期數(shù)”反映;
2)多核仿真器在進(jìn)行MP3解碼仿真時(shí)的仿真效率,由“仿真時(shí)間”和“仿真速度”兩 項(xiàng)統(tǒng)計(jì)結(jié)果反映。
5 總結(jié)
無(wú)論考慮單位計(jì)算性能的能耗因素,還是對(duì)于提高處理器性能,多核體系結(jié)構(gòu)尤其是異 構(gòu)多核體系結(jié)構(gòu)都是當(dāng)前的熱點(diǎn)研究方向。本文主要論述了面向異構(gòu)多核處理器的片上通信 設(shè)計(jì)。對(duì)于處理器的內(nèi)核間通信,采用了共享內(nèi)存技術(shù)。
本模型充分體現(xiàn)了SystemC的語(yǔ)言優(yōu)勢(shì),對(duì)進(jìn)一步了解和探討異構(gòu)多核處理器結(jié)構(gòu)、核 間通信、異構(gòu)多核低功耗設(shè)計(jì)等方面打下一定基礎(chǔ)。
本文作者創(chuàng)新點(diǎn): 提出了一種基于SystemC的異構(gòu)多核通信架構(gòu)模型,并通過(guò)添加控制 模塊解決異構(gòu)多核間通信通用性問(wèn)題。
評(píng)論