《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > TMS320C6678多核DSP的核間通信方法
TMS320C6678多核DSP的核間通信方法
來源:電子技術應用2012年第9期
吳 灝,肖吉陽,范紅旗,付 強
國防科學技術大學 ATR國家重點實驗室,湖南 長沙410073
摘要: 嵌入式應用中采用多處理系統(tǒng)所面臨的主要難題是多處理器內(nèi)核之間的通信。對KeyStone架構TMS320C6678處理器的多核間通信機制進行研究,利用處理器間中斷和核間通信寄存器,設計并實現(xiàn)了多核之間的通信。從系統(tǒng)的角度出發(fā),設計與仿真了兩種多核通信拓撲結構,并分析對比了性能。對設計多核DSP處理器的核間通信有一定的指導價值。
中圖分類號: TN915.04
文獻標識碼: A
文章編號: 0258-7998(2012)09-0011-03
Inter-processor communication method of TMS320C6678 multicore DSP
Wu Hao,Xiao Jiyang,F(xiàn)an Hongqi,F(xiàn)u Qiang
ATR Key Laboratory, National University of Defense Technology, Changsha 410073,China
Abstract: Inter-processor communication is the main problem of chip multi-processor system. Based on the study of the inter- processor interrupt and the inter-processor communication registers, the inter-processor communication mechanism of TMS320C6678 multi-processor is analyzed, and two topological structures of inter-processor communication are compared. Some reference value is provided for designing inter-processor communication.
Key words : TMS320C6678;KeyStone;inter-processor interrupt;inter-processor communication

     嵌入式領域的處理器設計已向多核處理器迅速發(fā)展,TI公司的KeyStone架構的多核處理器就是其中之一。2010年11月,TI公司發(fā)布了最新的KeyStone架構的8核DSP處理器TMS320C6678,每個C66x內(nèi)核頻率為1.25 GHz,提供每秒高達40 GB MAC定點運算和20 GB FLOP浮點運算能力;1片8核的TMS320C6678提供等效達10 GHz的內(nèi)核頻率,單精度浮點并行運算能力理論上可達160 GB FLOP,是TS201S的50倍、C67x+的115.2倍[1],適合于諸如油氣勘探、雷達信號處理以及分子動力學等對定浮點運算能力及實時性有較高要求的超高性能計算應用。

    核間通信是多核處理器系統(tǒng)所面臨的主要難點,通信機制的優(yōu)劣直接影響多核處理器的性能,高效的通信機制是發(fā)揮多核處理器高性能的重要保障。TMS320C6678采用TI全新KeyStone多核架構,屬于單芯片多核架構,有別于常見的板載多芯片通信方式[2]。而KeyStone架構的通信研究才剛剛起步,因多核通信復雜,需要搭建合適的通信拓撲結構,因此拓撲結構的選取會直接影響通信代價和并行計算的效率[3]。TMS320C6678采用基于KeyStone架構的中斷控制器、核間通信寄存器以及合適的通信拓撲結構實現(xiàn)多核間的通信。通過中斷系統(tǒng)激活處理器,觸發(fā)具有通信功能的中斷服務程序,調用寄存器完成相應的功能,并通過合適拓撲結構完成通信。
    基于以上分析,本文針對TMS320C6678多核處理器,首先分析了中斷控制器和核間中斷原理及其實現(xiàn);然后分析了核間通信的原理,給出了通信的發(fā)起和響應的實現(xiàn)方法;最后介紹了主輔和數(shù)據(jù)流兩種多核通信的拓撲結構,并通過仿真對其通信代價進行了對比,得出了兩種結構的優(yōu)缺點以及適用范圍。對設計多核處理器核間通信有一定指導意義。
1 TMS320C6678中斷控制器
    TMS320C6678采用基于KeyStone架構的中斷控制器INTC(Interrupt Controller)[4]、激活處理器觸發(fā)相應的中斷服務程序,完成通信的第一步。
    首先需要配置中斷向量表,啟動CPU中斷功能。TMS320C6678的CPU可接收15個中斷,其中:1個硬件異常(EXCEP)、1個不可屏蔽中斷(NMI)、1個復位(RESET)和12個可屏蔽中斷(INT4~INT15),中斷源支持最多128個。每個核心通過事件控制器產(chǎn)生事件(Event),觸發(fā)核間中斷(IPI)和其他核心進行通信。在TMS320C6678中,核間中斷(IPC_LOCAL)默認對應91號事件,而核間中斷屬于可屏蔽中斷,通過中斷控制器可以映射到INT4~INT15任意一個中斷上。為了實現(xiàn)核間中斷,必須按以下方式進行設置:
    (1)控制狀態(tài)寄存器(CSR)中的全局中斷使能位置為1,全局中斷使能;
    (2)中斷使能寄存器(IER)中的NMIE位置為1,可屏蔽中斷使能;
    (3)中斷使能寄存器(IER)將要映射的可屏蔽中斷的相應位置1;
    (4)選擇91號事件作為中斷源,映射事件到指定的物理中斷號。中斷發(fā)生后,將中斷標志寄存器(IFR)的相應位置1。
    中斷發(fā)生時,由事先配置好的中斷向量表跳入中斷服務程序(ISR),完成核間通信,如圖1所示。

2 多核處理器的核間通信機制
    多核處理器由中斷觸發(fā)通信后,配置相應的寄存器,以完成通信。TMS320C6678主要的核間通信寄存器有16個,其中8個IPC中斷生成寄存器(IPCGR0~IPCGR7)和8個IPC中斷確認寄存器(IPCAR0~IPCAR7)。將IPC中斷生成寄存器IPCGRx(0≤x≤7)的最后一位IPCG位置1,就能產(chǎn)生對core_x的中斷;1~3位是保留位,4~31位(SRCS0~SRCS27)提供了可以識別多達28種的中斷來源。IPC中斷確認寄存器IPCARx(0≤x≤7)的0~3位是保留位,4~31位(SRCC0~SRCC27)分別對應28種不同的中斷來源。當SRCSx被置1時,寄存器將相應的中斷確認寄存器的SRCCx位置1。當中斷被確認后,寄存器將SRCCx和相應的SRCSx位同時置0。
    當TMS320C6678的一個處理器核準備與其他處理器核通信時,根據(jù)TMS320C6678的中斷事件映射表,引發(fā)91號事件,產(chǎn)生可屏蔽的核間中斷,調用中斷服務例程。中斷服務例程IPC_ISR函數(shù)設計如下:
    void IPC_ISR()
    {
    KICK0 = KICK0_UNLOCK;
    KICK1 = KICK1_UNLOCK;
    *(volatile uint32_t *) IPCGR[2] = 0x20;
    *(volatile uint32_t *) IPCGR [2] |= 1;
    KICK0 = KICK0_UNLOCK;
    KICK1 = KICK1_UNLOCK;
    }
    以向core_2發(fā)送0x20信息的中斷為例,對應的0x20的信息存入SRCS位中,用于識別中斷源。同時將當前CPU核心內(nèi)的中斷產(chǎn)生寄存器IPCGR2的最后一位IPCG位置1,觸發(fā)IPC中斷。當目標處理器核被中斷觸發(fā)后,會自動跳轉到中斷異常向量表中相應的入口點,讀取當前核心中斷產(chǎn)生寄存器IPCGRx(0≤x≤7),從寄存器的SRCS位中獲取通信發(fā)起方傳來的核間信息。然后將信息存入對應的中斷確認寄存器IPCARx中,清空SRCC和相應的SRCS位,用以接收下一次的核間中斷。其中的KICK0和KICK1為陷阱控制寄存器,用來避免通信沖突的發(fā)生。
3 拓撲結構設計與性能測試
    以上對TMS320C6678基本核間通信機制及其實現(xiàn)過程進行了分析,但是要實現(xiàn)TMS320C6678強大的多核功能,必須從系統(tǒng)的角度上設計良好的并行計算方案,設計合適的系統(tǒng)并行拓撲是其中的關鍵所在。通信代價、帶寬和功能是評測通信的重要指標,下面介紹了兩種多核通信并行方式,分析了它們的拓撲結構,并對上述指標做了測試對比。
3.1 通信的拓撲結構
    適用于多核DSP通信的并行方式有兩種:一種是主輔拓撲結構(Master Slave)[5],另一種是數(shù)據(jù)流拓撲結構(Data Flow)[6]。
    主輔拓撲結構,在TMS320C6678中如圖2所示。作為主核(控制核)的處理器通過EDMA與外部存儲器DDR進行數(shù)據(jù)交換,然后主核通過核間中斷與輔核通信。主核起到控制的作用,所有輔核(計算核)的中斷都由控制核來處理,輔核只負責計算任務,輔核之間沒有任何核間通信的產(chǎn)生。

        數(shù)據(jù)流拓撲結構,在TMS320C6678中如圖3所示,是一種基于片上互聯(lián)的結構。每個處理器核均有單獨的處理單元和存儲媒介。第一個核與FPGA或者外部存儲器DDR相連,核間通信順序產(chǎn)生。核間通信時每個處理器核既是控制核又是計算核,核間傳遞的信息在每個核內(nèi)都起到一個中轉站的作用。

3.2 性能測試實驗
    本文設計了核間通信測試程序來測試兩種結構。程序的功能是:當一個核收到來自其他核的中斷后,立即確認并按照拓撲結構依次發(fā)出核間中斷,沒有其他耗時的操作。程序在TMDXEVM6678L評估板上進行仿真,板載有一塊TMS320C6678芯片,處理器運行的頻率設置為1 GHz,采用的編譯環(huán)境是TI公司的CCSv5.0。
    通信測試結果如表1所示,主輔結構運行完測試程序所需要的總通信代價是171 352個時鐘周期。其中,作為主核的core_0耗費116 311個時鐘周期,而7個輔核每個核均耗費7 863個時鐘周期。采用數(shù)據(jù)流結構運行完測試程序所需要的總通信代價是171 319個時鐘周期,其中core_0耗費21 385個時鐘周期,core_7耗費21 366個時鐘周期,其他6個核耗費21 428個時鐘周期。
    如圖4所示,采用主輔結構時,作為輔助核的7個核可以同時并行運行,理論上通信時間可以減少到124 174個時鐘周期。主輔結構由于利用了多核的并行處理,總的通信時間是數(shù)據(jù)流結構的72.5%,以測試環(huán)境中的1 GHz的主頻計算,則節(jié)省了47.1 μs。

     

 

        主輔結構涉及到通信任務的分配,主核的設計困難,而且輔核之間不能通信。每個線程的執(zhí)行時間可能是隨機的,作為控制核的主核需要最優(yōu)化負載均衡以達到系統(tǒng)最優(yōu)的并行效率,適用于高級的操作系統(tǒng)(如Linux)上,并預先要設定好每個核的通信線程,由操作系統(tǒng)進行調度。
    數(shù)據(jù)流結構的優(yōu)點是數(shù)據(jù)帶寬有保證,可擴展性好。但是設計過程復雜,而且由于具有比較高的數(shù)據(jù)傳輸速率,對通信帶寬有較高的要求,因此數(shù)據(jù)流結構更適用于簡單的實時系統(tǒng)。因為每個數(shù)據(jù)單元的傳輸都是統(tǒng)一的,結構相對簡單,數(shù)據(jù)的通信也是有規(guī)律的,不過通信時間較長。
    本文研究了基于TMS320C6678多核DSP處理器的核間通信,深入分析了核間中斷、核間通信機制(包括寄存器配置以及具體的實現(xiàn)方法),討論及測試了主輔結構和數(shù)據(jù)流結構兩種多核通信的拓撲結構,并對比了兩者的性能和優(yōu)缺點。對設計多核DSP處理器的核間通信有一定的指導價值。
參考文獻
[1] Texas Instruments Inc. TMS320C6678 data manual[Z].2011.
[2] 邢向磊,周余,都思丹.基于ARM11MPCore的多核間通信機制研究[J].計算機應用與軟件,2009,26(5):9-10,110.
[3] 謝子光.多核處理器核間通信技術研究[D].成都:電子科技大學,2009.
[4] Texas Instruments Inc.KeyStone architecture interrupt controller user guide[Z].2011.
[5] 陳國兵.嵌入式異構多核體系的片上通信[D].杭州:浙江大學,2007.
[6] Texas Instruments Inc.Multicore design overview[Z].2011.




此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
91久久国产综合久久91精品网站| 日韩亚洲精品电影| 欧美日本视频在线| 久久先锋资源| 欧美一区二区三区日韩视频| 在线亚洲欧美视频| 一本大道久久a久久精二百| 亚洲日韩第九十九页| 亚洲国内自拍| 亚洲欧洲视频| 亚洲精品小视频在线观看| 亚洲人成网在线播放| 亚洲精选一区二区| 亚洲精品精选| 一区二区三区国产精华| 一区二区日韩精品| 亚洲午夜伦理| 午夜一区二区三区不卡视频| 亚洲综合三区| 欧美一区二区三区另类| 亚洲影视九九影院在线观看| 亚洲免费在线播放| 欧美一级在线视频| 久久久久久久久岛国免费| 久久久天天操| 欧美国产1区2区| 欧美日韩精品免费观看视一区二区| 欧美日韩国产一区精品一区| 欧美日韩在线播放| 国产精品一二一区| 国模大胆一区二区三区| 在线观看成人小视频| 亚洲精品综合精品自拍| 亚洲午夜免费视频| 欧美一区二区三区在线免费观看| 久久精品视频在线看| 亚洲久久成人| 午夜精品一区二区在线观看| 久久国产精彩视频| 欧美高清视频| 国产精品色婷婷| 国内外成人免费激情在线视频网站| 在线免费观看欧美| 一区二区三区国产在线观看| 欧美一区2区三区4区公司二百| 亚洲欧洲一区二区在线观看| 一区二区三区鲁丝不卡| 欧美在线国产| 欧美黑人在线观看| 国产乱肥老妇国产一区二| 在线日韩欧美视频| 亚洲一级影院| 亚洲激情午夜| 午夜精品福利电影| 免费一级欧美片在线观看| 欧美体内she精视频在线观看| 国产日韩欧美91| 亚洲人成免费| 欧美一级片在线播放| 亚洲美女视频在线观看| 篠田优中文在线播放第一区| 浪潮色综合久久天堂| 国产精品第2页| 在线观看日韩| 午夜视频在线观看一区| 一本色道久久99精品综合| 久久精彩视频| 欧美色播在线播放| 精品动漫3d一区二区三区免费版| 一区电影在线观看| 亚洲国产精品综合| 欧美一区二区精品久久911| 欧美成人精品激情在线观看| 国产精品日日做人人爱| 亚洲欧洲一区二区在线观看| 欧美一区二区三区四区在线| 亚洲无亚洲人成网站77777| 老司机午夜精品| 国产精品自在在线| 日韩亚洲综合在线| 亚洲欧洲精品成人久久奇米网| 性欧美video另类hd性玩具| 欧美精品福利| 在线观看国产日韩| 性8sex亚洲区入口| 亚洲一区二区在线免费观看视频 | 亚洲一级黄色av| 欧美国产精品日韩| 韩国三级电影久久久久久| 亚洲午夜三级在线| 亚洲午夜av| 欧美日韩精品一二三区| 亚洲第一精品久久忘忧草社区| 午夜伦欧美伦电影理论片| 一区二区三区视频在线观看| 欧美国产日韩亚洲一区| 精品91在线| 久久精品观看| 久久久精品999| 国产精品卡一卡二| 在线亚洲欧美视频| 中文有码久久| 欧美日韩精品综合在线| 亚洲三级电影在线观看 | 宅男精品视频| 欧美国产高潮xxxx1819| 在线欧美一区| 亚洲欧洲综合另类| 美女成人午夜| 一区二区三区中文在线观看| 欧美在线一区二区| 久久久久久久久久久成人| 国产亚洲精品资源在线26u| 亚洲自拍偷拍视频| 亚洲欧美一区二区原创| 国产精品视频观看| 亚洲一区二区精品视频| 亚洲欧美日韩久久精品 | 日韩午夜在线电影| 亚洲私人影院| 国产精品毛片| 亚洲一区视频在线观看视频| 午夜一区二区三视频在线观看| 国产精品天天看| 香蕉成人啪国产精品视频综合网| 久久www免费人成看片高清| 国产网站欧美日韩免费精品在线观看 | 亚洲久久视频| 欧美日韩另类字幕中文| 日韩视频免费| 午夜精品在线看| 国产一级精品aaaaa看| 久久精品夜色噜噜亚洲aⅴ| 蜜臀va亚洲va欧美va天堂| 亚洲第一主播视频| 一本久久a久久免费精品不卡| 欧美视频网址| 亚洲欧美一区二区三区久久| 久久福利视频导航| 亚洲第一精品在线| 99在线精品免费视频九九视| 欧美视频导航| 午夜精品久久久久久久久久久久| 久久久人成影片一区二区三区 | 亚洲精品自在久久| 亚洲欧美日韩第一区| 国产无一区二区| 亚洲全部视频| 欧美日韩免费高清| 亚洲欧美久久久久一区二区三区| 久久婷婷久久| 99国产一区| 久久青草久久| 日韩系列欧美系列| 久久精品国产亚洲一区二区三区| 亚洲国产电影| 午夜激情综合网| 伊人一区二区三区久久精品| 一片黄亚洲嫩模| 国产亚洲精品美女| 一区二区国产日产| 国产一区二区三区网站| 夜夜嗨av色一区二区不卡| 国产欧美一级| 99re6热在线精品视频播放速度| 国产精品久久久久久久app| 亚洲二区精品| 国产精品国产三级国产普通话三级| 欧美在线一区二区| 欧美性大战久久久久久久蜜臀| 欧美专区在线观看一区| 欧美日韩一区二区精品| 久久精品亚洲精品| 国产精品www色诱视频| 亚洲国产精品www| 国产精品r级在线| 亚洲国产美国国产综合一区二区| 国产精品v日韩精品v欧美精品网站| 欧美在线视频a| 欧美午夜理伦三级在线观看| 亚洲福利视频网站| 国产精品日韩在线观看| 亚洲麻豆av| 狠狠综合久久| 欧美一区二区三区免费观看视频| 亚洲欧洲日韩综合二区| 久久久久久久网| 亚洲一区二区在线| 欧美高清成人| 亚洲成色最大综合在线| 国产精品视频久久久| 亚洲美女中文字幕| 国内精品伊人久久久久av一坑| 亚洲影院色在线观看免费| 亚洲激情电影中文字幕| 久久久免费观看视频| 亚洲女女女同性video| 欧美网站在线观看| 夜夜嗨av一区二区三区网站四季av| 国产在线不卡精品|