新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > SHARC并行系統(tǒng)軟件設(shè)計(jì)方法

SHARC并行系統(tǒng)軟件設(shè)計(jì)方法

作者: 時(shí)間:2014-02-17 來(lái)源:網(wǎng)絡(luò) 收藏

  隨著數(shù)字信號(hào)處理(Digital Signal ProcESSor,DSP)技術(shù)的發(fā)展,DSP已被廣泛應(yīng)用于雷達(dá)、通信等領(lǐng)域。雖然DSP經(jīng)歷了幾代的發(fā)展,運(yùn)算速度和能力都有了很大的提高,但在很多情況下,單片DSP已經(jīng)不能滿(mǎn)足實(shí)時(shí)處理的要求,必須尋求多片DSP并行處理的方案。

本文引用地址:http://butianyuan.cn/article/241699.htm

  從系統(tǒng)結(jié)構(gòu)出發(fā)可以將并行系統(tǒng)分為共享存儲(chǔ)器并行系統(tǒng)和分布存儲(chǔ)器并行系統(tǒng)。AD公司推出的系列DSP芯片同時(shí)支持這二種并行處理器結(jié)構(gòu)。通常,將AD公司的一系列雙位高性能浮點(diǎn)DSP稱(chēng)為(Super Harvard Architecture)。對(duì)于共享存儲(chǔ)器系統(tǒng),通過(guò)間的外部共享總線(xiàn)實(shí)現(xiàn)。對(duì)于分布存儲(chǔ)器系統(tǒng),通過(guò)2個(gè)SHARC間的鏈路口直接連接,實(shí)現(xiàn)DSP間點(diǎn)對(duì)點(diǎn)的通信。

  然而,不能認(rèn)為將多個(gè)SHARC互相進(jìn)行硬件連接就實(shí)現(xiàn)了并行處理。真正的并行處理應(yīng)該是使互連的各個(gè)DSP能夠協(xié)調(diào)工作,縮短系統(tǒng)處理的時(shí)間。這需要并行系統(tǒng)中SHARC間能完成數(shù)據(jù)流的傳遞。并行系統(tǒng)中各個(gè)SHARC間數(shù)據(jù)流的傳遞同數(shù)據(jù)處理同等重要。本文針對(duì)這二種并行方式,分別給出了軟件的設(shè)計(jì)方法和設(shè)計(jì)技巧,并且給出了針對(duì)ADSP2116X的程序?qū)崿F(xiàn)。

  1 共享存儲(chǔ)器并行系統(tǒng)的設(shè)計(jì)

  SHARC為多處理器系統(tǒng)提供了強(qiáng)大的支持,用戶(hù)可以在不附加任何外圍電路的情況下構(gòu)成共享存儲(chǔ)器并行系統(tǒng)。SHARC具有一套巧妙的分布式總線(xiàn)仲裁機(jī)制。使用2~6片SHARC把各SHARC的相應(yīng)引腳相連就可以共享外部總線(xiàn)。每片SHARC都可以訪(fǎng)問(wèn)其他SHARC的片內(nèi)存儲(chǔ)器,還可以通過(guò)設(shè)置IOP寄存器啟動(dòng)其他SHARC的DMA操作。

  組成共享存儲(chǔ)器并行系統(tǒng)時(shí),每一個(gè)SHARC都有一個(gè)惟一的標(biāo)識(shí):ID2~0,取值范圍為000~110。ID=001表示該SHARC為1號(hào)DSP,ID=010表示該SHARC為2號(hào)DSP,依此類(lèi)推。ID=000表示是單DSP系統(tǒng)。在多DSP系統(tǒng)中,ID=001號(hào)的DSP是必須存在的,這是DSP加載成功以后的主處理器。

  在共享存儲(chǔ)器系統(tǒng)中,任何時(shí)刻都只有一片SHARC可以驅(qū)動(dòng)外部總線(xiàn),該SHARC就被稱(chēng)為主處理器。其余的從SHARC如果需要訪(fǎng)問(wèn)總線(xiàn),則必須先申請(qǐng)總線(xiàn)。主處理器如果此時(shí)沒(méi)有數(shù)據(jù)傳遞或者總線(xiàn)占用時(shí)間到,就會(huì)釋放總線(xiàn)控制權(quán),把自己的外部總線(xiàn)驅(qū)動(dòng)為三態(tài),完成總線(xiàn)控制權(quán)的轉(zhuǎn)移。

  主處理器對(duì)從SHARC的內(nèi)存訪(fǎng)問(wèn)和對(duì)自己的內(nèi)存訪(fǎng)問(wèn)一樣簡(jiǎn)單,既可以通過(guò)內(nèi)核直接讀寫(xiě)完成,也可以通過(guò)外部口DMA實(shí)現(xiàn)。在共享存儲(chǔ)器并行系統(tǒng)中,每一片SHARC根據(jù)自己的ID號(hào)都有一個(gè)映射的多處理器存儲(chǔ)空間。例如對(duì)于ADSP2116X,ID=001的SHARC對(duì)應(yīng)的多處理器存儲(chǔ)空間為0x100000~0x1F FFFF,ID=010的SHARC對(duì)應(yīng)的多處理器存儲(chǔ)器空間為0x20 0000~0x2F FFFF等。共享存儲(chǔ)系統(tǒng)的LDF文件與單DSP系統(tǒng)有些不同。下面給出它的一個(gè)示例(以2個(gè)SHARC為例)。

  例1:共享存儲(chǔ)器系統(tǒng)LDF文件。

  ARCHITECTURE(ADSP-21160)

  SEARCH_DIR($ADI_DSP211xxlib)

  MPMEMORY{

  DSP1{START(0X100000)}    //第一片DSP在多處理

  //器空間的映射地址

  DSP2{START(0X200000)} }   //第二片DSP在多處理

  //器空間的映射地址

  MEMORY

  {pm_rsTI { TYPE(PM RAM)START(0x00040004)END

  (0x0004000f)WIDTH(48) }

  pm_code { TYPE(PM RAM)START(0x00040100)END

  (0x00049fff)WIDTH(48) }

  dm_data { TYPE(DM RAM)START(0x00050000)END

  (0x00059fff)WIDTH(32) } }

  PROCESSOR DSP1

  {LINK_AGAINST(DSP2.DXE)    //需要重新連接的

  //DSP2的目標(biāo)文件

  OUTPUT(DSP1.DXE)       //DSP1輸出的目標(biāo)文件

  ……             //和單DSP系統(tǒng)相同,故略去,下同

  }

  PROCESSOR DSP2

  {LINK_AGAINST(DSP1.DXE)    //需要重新連接的

  //DSP1的目標(biāo)文件

  OUTPUT(DSP2.DXE)        //DSP2輸出的目標(biāo)文件

  ……

  }

  這樣,這二片DSP便可以通過(guò)外部總線(xiàn)訪(fǎng)問(wèn)對(duì)方的內(nèi)部資源。當(dāng)DSP1需要直接訪(fǎng)問(wèn)DSP2中的某一變量時(shí),只需要DSP2將該變量設(shè)置為global類(lèi)型,DSP1就可以在多處理器空間中通過(guò)外部總線(xiàn)直接訪(fǎng)問(wèn)該變量,當(dāng)然,也可以根據(jù)變量的內(nèi)存地址直接訪(fǎng)問(wèn)。


上一頁(yè) 1 2 3 下一頁(yè)

關(guān)鍵詞: SHARC 并行系統(tǒng)軟件

評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉