基于ARM和DSP架構(gòu)的多處理器高速通訊協(xié)議設(shè)計(jì)_第1頁
基于ARM和DSP架構(gòu)的多處理器高速通訊協(xié)議設(shè)計(jì)_第2頁
基于ARM和DSP架構(gòu)的多處理器高速通訊協(xié)議設(shè)計(jì)_第3頁
基于ARM和DSP架構(gòu)的多處理器高速通訊協(xié)議設(shè)計(jì)_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、基于ARM和DSP架構(gòu)的多處理器高速通訊協(xié)議設(shè)計(jì)杭州??低晹?shù)字技術(shù)有限公司 蔣海青 關(guān)鍵詞:RISC processor(精簡(jiǎn)指令集處理器),DSP(數(shù)字信號(hào)處理器), ARM, Trimedia,RTOS(嵌入式操作系統(tǒng)),數(shù)字視頻,STB(機(jī)頂盒),PCI, 通訊目前,建立在寬帶網(wǎng)絡(luò)的多媒體應(yīng)用日漸增多,高性能的DSP也不斷推陳出新,由于DSP具備非常靈活的編程運(yùn)算能力,針對(duì)不同的編碼標(biāo)準(zhǔn),采用不同的編碼軟件,加上合適的芯片價(jià)位,在視頻會(huì)議終端、視頻監(jiān)控服務(wù)器、IP數(shù)字機(jī)頂盒等產(chǎn)品中已被普遍采用。雖然DSP具備眾多的優(yōu)點(diǎn), 但卻不適合作系統(tǒng)控制,因?yàn)镈SP通常沒有強(qiáng)大的操作系統(tǒng)

2、,沒有完備的網(wǎng)絡(luò)協(xié)議棧和可靠的文件系統(tǒng),DSP架構(gòu)在作控制指令時(shí)無法并行處理,分支判斷和高速緩存沒命中(cache miss)都會(huì)使運(yùn)行效率極大降低。而這些正好是嵌入式RISC處理器的強(qiáng)項(xiàng),比如ARM和MIPS系列,所以現(xiàn)在很多國(guó)際知名的半導(dǎo)體公司如PHILIPS和TI都推出了整合了RISC處理器和DSP的SOC芯片,如PNX8550、PNX8525、OMAP等。高性能的DSP在進(jìn)行媒體處理時(shí)會(huì)產(chǎn)生和消費(fèi)大量的音視頻數(shù)據(jù),這些數(shù)據(jù)需要在RISC 和DSP兩個(gè)處理器之間高速、穩(wěn)定地交換數(shù)據(jù),另外,RISC處理器也要經(jīng)常給DSP發(fā)送指令,并且還要支持來自DSP的RPC調(diào)用。下面本文將要介紹一種基于

3、多處理器之間的高速通訊機(jī)制,并且已在實(shí)踐中得到商業(yè)化的應(yīng)用。本方案采用了SAMSUNG的S3C2510(ARM940T內(nèi)核)和PHILIPS的Trimedia1300(TM1300) 數(shù)字信號(hào)處理器,ARM940T內(nèi)置了PCI2.1規(guī)范的總線接口,Trimedia1300可以作為PCI的MASTER和SLAVE,基本架構(gòu)如圖-1。   圖-1基于上述的硬件架構(gòu),在ARM和Trimedia1300處理器上分別采用了WindRiver的實(shí)時(shí)嵌入式操作系統(tǒng)(RTOS)vxWorks和pSos2.5,本通訊協(xié)議的基本思路為,在ARM的內(nèi)存空間上開辟一塊共享內(nèi)存,并能使TRIMEDIA能夠訪問

4、,數(shù)據(jù)通訊的握手協(xié)議通過兩個(gè)處理器的中斷來實(shí)現(xiàn),配合信號(hào)量的使用,可以達(dá)到高速、高效通訊的目的,其軟件架構(gòu)如圖-2。  圖-2該通訊協(xié)議采用分層分布,兩個(gè)處理器基本處于對(duì)稱狀態(tài),因此,主要軟件模塊是公用的,有區(qū)別的是硬件抽象層和操作系統(tǒng)抽象層,與硬件和操作系統(tǒng)相關(guān)的模塊比如中斷驅(qū)動(dòng)、信號(hào)量同步處理都分別提煉出來,單獨(dú)放在這些模塊文件中,減少軟件開發(fā)和維護(hù)的工作量。下面對(duì)圖-2中的軟件模塊進(jìn)行說明:1. 硬件抽象層:該層主要完成對(duì)不同處理器的硬件的抽象,比如地址映射、中斷處理、 PCI配置空間的訪問,IO寄存器的訪問等功能。將兩個(gè)處理器之間的硬件差異隱藏起來,以便上一層統(tǒng)一管理接口。2

5、. 操作系統(tǒng)抽象層:該層主要完成對(duì)不同操作系統(tǒng)之間的抽象,提供vxWorks和pSos兩個(gè)操作系統(tǒng)的統(tǒng)一接口,主要是同步、信號(hào)量、關(guān)鍵代碼的互斥保護(hù)機(jī)制等功能。3. 通道及同步事件管理層:為了建立多處理器之間的多通道通訊和同步機(jī)制,該層支持多個(gè)通道獨(dú)立通訊能力,每個(gè)通道都有唯一的句柄用于訪問,通道的打開、使用、關(guān)閉相互獨(dú)立。該層同時(shí)也支持命名的同步事件,可用于處理器之間的同步等待功能。4. 消息處理管理層:該層完成多通道的指定長(zhǎng)度分組包通訊功能,支持小數(shù)據(jù)量的通訊數(shù)據(jù),并支持同步機(jī)制,DSP的控制指令可以采用這種方式進(jìn)行通訊。5. 共享緩存:支持多通道命名共享緩存,其中的數(shù)據(jù)可以同時(shí)被兩個(gè)處理

6、器訪問,配合同步事件機(jī)制,流式數(shù)據(jù)可以采用這種方式進(jìn)行高速、高效通訊。6. 同步事件:支持多通道可命名的處理器之間的同步事件功能,ARM或DSP可以讓對(duì)方等待同步事件,用于精確控制同步處理共享資源。7. RPC(遠(yuǎn)程過程調(diào)用)層:在消息處理管理層和同步事件的基礎(chǔ)上,當(dāng)DSP處理器有時(shí)需要打印調(diào)試信息,或者讀取HOST的資源時(shí),比如調(diào)用printf、fopen、fread等標(biāo)準(zhǔn)c輸入輸出函數(shù),通過該層處理后,ARM會(huì)調(diào)用相關(guān)函數(shù)完成指定的任務(wù),并將結(jié)果返回給Trimedia1300。在這里我們還要專門的描述的是位于硬件抽象層里的共享內(nèi)存,它只在HOST的一方存在,所有需要兩個(gè)處理器共享的數(shù)據(jù)都存

7、儲(chǔ)在該區(qū)域里,包括高層的共享緩存、消息、同步事件、通道信息等數(shù)據(jù),因此需要主機(jī)維護(hù)物理連續(xù)的、一定大小的內(nèi)存,并且是處理器非cacheable的區(qū)域。下面本文將描述典型的控制指令傳輸方式,具體的過程見圖-3  圖-3過程說明:本端處理器作初始化,創(chuàng)建同步事件,打開消息通訊句柄, 同步事件用于讀取數(shù)據(jù)時(shí)任務(wù)阻塞,然后創(chuàng)建通訊數(shù)據(jù)包并且發(fā)送,發(fā)送例程將數(shù)據(jù)存儲(chǔ)在共享緩沖區(qū)內(nèi),最后觸發(fā)對(duì)方中斷。對(duì)端處理器進(jìn)入中斷響應(yīng),首先中斷例程分析共享數(shù)據(jù)區(qū)的通訊數(shù)據(jù)狀態(tài),發(fā)現(xiàn)某通道有新的未處理數(shù)據(jù)后,將其拷貝至自己的私有內(nèi)存空間,并清理自己的共享數(shù)據(jù)區(qū)狀態(tài),然后釋放在等待中的通訊任務(wù)的信號(hào)量,使讀通訊

8、數(shù)據(jù)包的任務(wù)解除阻塞狀態(tài),從私有數(shù)據(jù)區(qū)讀取通訊數(shù)據(jù)包并作相應(yīng)處理。數(shù)據(jù)流通訊與數(shù)據(jù)包通訊類似,不過方法更簡(jiǎn)單,在創(chuàng)建共享緩存和同步事件后,一方寫入數(shù)據(jù)后,出發(fā)同步事件,另一方等到同步事件解除后讀取數(shù)據(jù),效率很高而處理器開銷節(jié)省至最低。處理器之間的同步事件功能可以有效地對(duì)共享資源進(jìn)行保護(hù),防止多處理器同時(shí)對(duì)某一個(gè)共享資源訪問,導(dǎo)致數(shù)據(jù)不完整。RPC(遠(yuǎn)程過程調(diào)用)功能能方便的用于系統(tǒng)調(diào)試和利用主處理器資源,能方便產(chǎn)品的調(diào)試和功能開發(fā)。以上是簡(jiǎn)化的多處理器通訊模型,方法適用于大多數(shù)RISC+DSP的架構(gòu),另外為了實(shí)現(xiàn)該通訊機(jī)制,還必須先完成三個(gè)前提,下面將簡(jiǎn)單對(duì)此進(jìn)行描述。1. 位于HOST的共享

9、內(nèi)存必須是物理連續(xù)、非緩沖(none-cacheable)的一段內(nèi)存,否則,兩個(gè)處理器因?yàn)楸旧矶紟в袛?shù)據(jù)高速緩存,會(huì)使數(shù)據(jù)的完整性無法保障,因此需要對(duì)兩個(gè)處理器進(jìn)行配置,對(duì)這段內(nèi)存的訪問關(guān)閉cache操作,具體操作過程不再贅述。2. 在編譯Trimedia1300程序的時(shí)候,將指向共享內(nèi)存的指針設(shè)置為下載時(shí)解析,并且要將Trimedia1300的下載程序移植到vxWorks操作系統(tǒng),再下載解析該指針時(shí)將其指向ARM已分配給好的物理連續(xù)內(nèi)存,Trimedia1300程序開始運(yùn)行后就可以立即對(duì)共享內(nèi)存初始化并進(jìn)行通訊。3. 該通訊協(xié)議以vxWorks的BSP(板級(jí)支持包)的方式提供接口,并創(chuàng)建標(biāo)準(zhǔn)的vxWorks設(shè)備,便于安裝、使用。該通訊規(guī)范已經(jīng)在實(shí)用化的商業(yè)多媒體機(jī)頂盒中運(yùn)行,該產(chǎn)品的數(shù)據(jù)流量較大,對(duì)時(shí)延要求很高,控制命令非常密集,從總體評(píng)價(jià)來看,采用該通訊協(xié)議后,無論是其效率、延時(shí)、處理器占用時(shí)間、靈活性、穩(wěn)定性、可拓展性均獲得很好的表現(xiàn),希望本文也能對(duì)正在開發(fā)類似產(chǎn)品的人員起一定的提示作用,能加快相關(guān)產(chǎn)品的研發(fā)。 2004-7-8參考文獻(xiàn):Tornado Online Manuals by WindriverTrimedia SDE Documents by Philips

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論