《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 業界動態 > 異質多處理器芯片中的數據流核心設計

異質多處理器芯片中的數據流核心設計

2008-06-13
作者:詹承華,楊志義,楊 柳

  摘 要: TMS320DM270異質多處理器" title="多處理器">多處理器由ARM和DSP兩種微處理器組成。以其為基礎,設計了DSP端的數據流核心和ARM端的DSP管理者。
  關鍵詞: 多處理器 ARM DSP 數據流


  異質多處理器系統(Heterogeneous Multiprocessor)是將兩種以上不同工作性質的處理器核心整合為一的處理器系統。它通常包含了一般用途處理器(General Purpose Processor)和特殊用途處理器(Specific Purpose Processor)。隨著片上系統SoC(System on Chip)及相關技術的成熟,已經可以將不同的處理器整合到一個芯片里,成為多處理器芯片。以多媒體應用為例,比較著名的異質多處理芯片有德州儀器公司的TMS320DSC25、TMS320DM270和TMS320DM320。這些芯片都是由ARM微核心和DSP微核心組成。傳統的多處理器系統架構(如Intel SMP架構)是由多個處理芯片通過外部總線匯接而成,而多處理器片上系統架構是在單一芯片上包含了多個處理器核心。它能減少系統的功耗并使整個系統發揮最大的運算效能。
1 硬件平臺
  本設計采用的硬件平臺是德州儀器公司的TMS320DM270,它由兩個微處理器核心ARM7TDMI[2]和TMS320C5409[3]組成。采用主從式架構,前者為主動端,后者為被動端。ARM7TDMI是32位的一般用途處理器,負責DM270系統的整體運作和所有周邊設備的控制。TMS320C5409為16位的數字信號處理器,主要負責多媒體信號處理,如音視頻的編解碼運算等。ARM可以經由DSP控制器重置或喚醒,還可對DSP發出不可屏蔽式的中斷(Non-Masked Interrupt)。
  雙處理器之間必須有良好的通信和數據交換機制,才能使系統在多進程環境下有效合作。在DM270中,ARM端的DSP控制器控制數據傳輸,DSP端通過HPI[3](Host Post Interface)與ARM處理器溝通。兩個微處理器使用HPIB(Host Port Interface Bridge)相互連接。ARM和DSP可向對方發出硬件中斷,同時它們之間存在一段共享存儲區。通過共享存儲區映射機制和中斷的搭配,雙方可以傳輸信息和數據,并且可以在共享存儲區存取雙方共同定義的指令,使兩端根據指令進行對應的動作。
2 ARM端的DSP管理者
  為配合DSP的工作,在ARM端微核心(Micro Kernel)中設計了一個伺服進程,它負責ARM與DSP的溝通及協調運行。該進程稱為DSP管理者(DSP Manager),如圖1所示。


  ARM端的進程并不知道DSP處理器的存在,只知道DSP管理者在運行。當ARM端的進程需要使用DSP進程所提供的數據處理" title="數據處理">數據處理服務時,只需向DSP管理者提出請求。DSP端的進程也不知道ARM處理器的存在,DSP管理者把ARM端的請求存放在共享存儲區,由DSP的數據流核心讀取這些請求,并交給相應的DSP進程。當請求被DSP進程接收后,DSP管理者還要負責把提出請求的ARM端進程的數據存放在共享存儲區,以便DSP端進程的讀取和處理。因此ARM與DSP溝通的效能取決于DSP管理者的執行效能。
  DSP管理者接收ARM端進程的數據處理請求。請求信息應該包括提出請求的ARM端進程的ID、DSP端服務進程的ID、數據處理服務類型的ID以及相關參數。同時DSP管理者把這些請求信息打包封裝為DSP端系統能識別的內容格式,再通過共享存儲區交給DSP端的數據流核心。
  由于真正維持系統運作的是ARM端系統,DSP只是附屬的處理系統,所以ARM端的DSP管理者可以在系統正常工作的情況下更換DSP系統,以支持不同的DSP應用。
3 DSP端的數據流核心
  DSP端的系統采用數據流核心(Dataflow Kernel)架構。傳統系統核心" title="系統核心">系統核心架構中的進程切換由Timer Tick決定,但數據流核心中的進程卻不受Timer Tick的影響,它們以數據驅動(Data Driven)的方式工作。
  在DSP端的核心運行著多個不同類型的數據處理服務進程,這些進程在DSP啟動時都被設為阻塞態(Sleep)。因為此時沒有任何數據可以用來驅動DSP服務進程的執行。當ARM端開始傳送數據處理請求到DSP端時,數據流核心會根據這些請求找到對應的DSP服務進程,并使其進入執行態(Busy)。當該服務進程的數據處理任務完成后,其返回結果可能是新的數據處理請求,該請求同樣也可以進入數據流核心,驅動其他服務進程的執行。所以整個核心的運行是根據數據流(ARM端的數據和DSP進程自己產生的數據)的動向決定的。與基于Timer Tick的傳統系統核心相比,只要某一服務進程不斷地接收數據處理請求,并且所需的數據不斷到達,該進程就可以一直擁有CPU的使用權,而無須進行時間片方式的進程切換,從而減少了系統資源的浪費,提高了DSP的處理效能。


  DSP端的進程有執行和阻塞兩種狀態。進程的狀態轉移如圖2所示。當CPU使用權切換給某個進程時,該進程的狀態將被核心設定為Busy并開始處理數據。當數據處理完后,數據流核心從數據請求隊列DRQ(Data Request Queue)中取出下一個請求。如果請求信息中指定的DSP服務進程與目前進程相同,則該進程的狀態依舊為Busy,否則核心便將目前進程的狀態設定為Sleep,同時開始進程切換,將請求信息中所指定的服務進程設定為Busy。
3.1 進程隊列狀態寄存器" title="狀態寄存器">狀態寄存器
  ARM端系統和DSP端系統在共享存儲區共同定義了16位的進程隊列狀態寄存器(Process Queue Status Register),每一位代表DSP端一個進程的狀態,所以DSP端最多有16個數據處理服務進程。若DSP端的數據流核心將寄存器的某一位設為0,則表示與該位對應的DSP進程有能力處理新的數據處理請求;若設為1,則表示與該位對應的DSP進程沒有能力處理新的請求。
  DSP管理者通過查看該寄存器,可以知道DSP端的某些進程已不能接收新的數據處理請求,它就會使ARM端的相關進程停止向這些DSP進程發出請求。這樣可以充分利用DSP的資源,降低DSP端的系統負擔。
3.2 數據流核心的進程調度策略
  核心中的進程調度策略是根據數據流架構上進程運行狀態變化的規律設計的。其工作方式是將ARM端對DSP端的數據處理請求利用環行隊列(Circular Queue)的架構以FIFO的方式排序,并存入DRQ中。該策略的特點是DSP端的每一個進程都預先指定最多可以擁有DRQ空間的數目,等級越高的進程擁有DRQ使用空間就越多,證明其可以處理更多的數據請求。該策略將傳統系統核心中進程優先級(Priority)的概念轉化為進程可以處理數據請求的多少。進程等級越高,能處理的數據請求也越多,同時占用CPU的執行時間也較長。LDE(Local Data Element)是DSP端每一個進程都有的參數,它表示DSP進程在執行過程中還可以接收多少個數據處理請求。LDE的初始值由系統定義。整個DRQ空間的大小由所有DSP進程的LDE預設最大值的總和決定。
  當DSP端的數據流核心取得ARM端的數據處理請求時,根據請求找到指定的DSP端進程,把該進程的LDE減1,然后進行相應的數據處理。如果LDE被減至0,則DSP端數據流核心把該DSP進程在進程隊列狀態寄存器中所對應的狀態位設為1,以通知DSP管理者該進程不能再接收新的請求,分配給該進程的所有DRQ 空間都已被使用。此后,隨著DRQ中的數據請求逐漸被處理,使得該進程的DRQ空間再出現剩余時,數據流核心會把進程隊列狀態寄存器中所對應的狀態位設為0,通知DSP管理者可以再次向該DSP進程發送數據處理請求。
  如圖3所示,DRQ是環行隊列結構,存儲所有的請求信息。DRQ有兩個指針:Tail指向DRQ沒有被使用的空間;Head指向DRQ中將被處理的請求。LDE有三個元素EA、EB、EC,代表DSP的進程A、B、C分別可使用的DRQ個數。數據流核心接收請求RB后,調度算法將EB減1,并且通過Tail指針將請求RB加入DRQ中。當系統需要處理請求時,調度算法由Head指針取出請求并交由適當的DSP進程處理。


4 共享存儲區管理
  本設計將DM270系統平臺中的一段32KB大小的存儲區作為ARM和DSP的共享存儲區。該存儲區由DSP管理者負責管理。由于TMS320C5409的存儲單位是字節,所以規定它所訪問的共享存儲區地址為0x8000~0xBFFF;而ARM7TDMI的存儲單位是字,所以規定它能訪問的共享存儲區地址為0x50000~0x57FFF,共享存儲區分配如圖4所示。共享存儲區分為32個存儲塊" title="存儲塊">存儲塊,每塊大小為1 024B。前兩個字節為共享存儲塊的狀態標志位,其值為0代表此存儲塊閑置,1代表此存儲塊已被使用。存儲塊中剩下的1 022B用來存放數據。DSP管理者將所有ARM端需要DSP處理的數據都存儲到這32個存儲塊上。


  當32個存儲塊全部被使用或者數據處理請求中所指定的DSP進程的LDE為0時,DSP管理者向ARM端提出該請求的進程阻塞,防止因不斷地提出請求而造成系統資源的浪費。當所指定的DSP進程數據處理結束后,DSP端的數據流核心將該進程阻塞,并對DRQ空間和進程隊列狀態寄存器作相應調整,然后主動釋放該DSP進程使用的共享存儲塊,同時向ARM端發出中斷信號。DSP管理者接收到此中斷信號后,根據進程隊列狀態寄存器判斷出請求所指定的DSP進程已經可以開始處理數據了,讓剛才在ARM端被阻塞的進程繼續運行,并把數據寫入共享存儲塊,以便DSP進程讀取和處理。
  當存在閑置的存儲塊并且數據處理請求所指定的DSP進程的LDE不為0時,DSP管理者可直接將ARM端進程的數據寫到共享存儲塊,以便相應的DSP進程讀取和處理。
5 DSP端系統的熱抽換
  DSP系統的更換技術對多媒體應用而言非常重要。如果DSP端需要播放不同格式的影片,則必須把整個DSP端系統更換以支持不同格式的解碼器。因此在系統設計中使用了熱抽換技術。傳統熱抽換技術的定義是動態地把系統中的核心層部分更換,在不重新開機的情況下,進程還可以正常工作。而本設計的熱抽換是更換整個DSP端的系統,同時維持ARM端進程的正常工作。為了實現熱抽換,必須在某段靜態存儲區存放多個版本的DSP系統程序。本設計中,這些程序被存放到DM270的Flash Memory中,ARM端的檔案系統負責維護和管理這部分內容。
  DSP系統的熱抽換過程如下:①DSP端要把那些由于沒有進行數據處理而陷入阻塞的DSP進程全部釋放,否則當DSP端系統更新后,這些進程會因為永遠不能再得到相應的數據,而造成永久阻塞,形成系統資源浪費;②ARM端的DSP管理者會清空所有的共享存儲區,同時阻塞ARM端的所有用戶進程;③ARM端的檔案系統將從Flash Memory中讀取所需的DSP系統檔案并將它加載到DSP的內存;④DSP端系統啟動,DSP管理者喚醒ARM端所有被阻塞的進程,為更新后的DSP系統服務。
  ARM端的系統負責整個系統的正常運行,同時將數據處理請求和相關數據傳送給DSP,而不管這些數據如何被DSP使用;DSP端只負責數據的處理,而不管數據的來源和用途。這種架構關系保證了DSP系統的熱抽換是安全可靠的,不會破壞系統的正常運行。
  本文以DM270平臺為基礎,設計了DSP端的數據流核心和ARM端的DSP管理者。與傳統的、基于時間片的多進程系統核心相比,數據流核心的進程是靠數據驅動的方式工作的。它能有效地減少進程的切換,節約系統資源,使DSP可以更加專注于多媒體數據的處理。
參考文獻
1 Singh K.Design and Evaluation of an Embedded Real-time Micro-Kernel.Virginia Polytechnic Institute and State Univer-sity,2002
2 Furber S.ARM System-on-Chip Architecture.United states:Addison Wesley professional,2000
3 孫宗瀛,謝鴻琳.TMS320C5XDSP原理設計與應用.北京:清華大學出版社,2002
4 沈建華.ARM嵌入式系統開發:軟件設計與優化.北京:北京航空航天大學出版社,2005
5 陳曙暉,王繼進.嵌入式系統——體系結構、編程與設計.北京:清華大學出版社,2005

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          久久久免费av| 亚洲二区在线观看| 欧美日韩中国免费专区在线看| 欧美日韩精品免费观看视频完整| 欧美日韩国产色站一区二区三区| 国产精品久久精品日日| 欧美日韩1区2区| 欧美日韩精品二区第二页| 亚洲伦理在线免费看| 激情视频一区| 欧美大片在线观看| 亚洲国产高清aⅴ视频| 国产亚洲欧美日韩日本| 国产精品区二区三区日本| 国产亚洲精品综合一区91| 久久亚洲欧美| 欧美日韩亚洲视频一区| 香蕉久久一区二区不卡无毒影院| 久久国产色av| 欧美黄色小视频| 国产一区二区三区电影在线观看| 久久综合影视| 欧美在线看片| 亚洲第一搞黄网站| 久久久久久亚洲精品中文字幕| 国产综合网站| 国产精品一区二区你懂的| 欧美久久影院| 亚洲国产精品久久久久婷婷884| 国产精品青草久久| 久久久国际精品| 亚洲六月丁香色婷婷综合久久| 国产精品国产三级国产专播品爱网| 一区在线视频| 亚洲在线一区二区三区| 欧美欧美天天天天操| 午夜一区不卡| 一区二区国产在线观看| 欧美资源在线观看| 国产日韩欧美三区| 久久久久久日产精品| 欧美成人黄色小视频| 亚洲欧美日韩一区二区三区在线观看| 国产偷国产偷精品高清尤物| 国产精品外国| 欧美一级在线亚洲天堂| 蜜桃av一区二区| 欧美午夜电影完整版| 亚洲福利在线看| 伊人精品成人久久综合软件| 久久久久久久网站| 欧美在线综合| 亚洲主播在线| 久久亚洲精品中文字幕冲田杏梨| 欧美性猛交xxxx免费看久久久| 欧美日韩国产色视频| 99人久久精品视频最新地址| 欧美69视频| 国产一区二区三区久久精品| 国产精品天天看| 亚洲电影毛片| 欧美日韩国产成人在线观看| 国产女主播一区| 国产乱码精品| 激情六月婷婷综合| 欧美国产先锋| 91久久视频| 亚洲人精品午夜| 欧美精品在线观看播放| 国产精品国产福利国产秒拍| 亚洲免费av观看| 亚洲美女福利视频网站| 亚洲黄色在线| 国产精品久久久久免费a∨大胸| 久久久精品国产一区二区三区| 国产精品美女久久久久aⅴ国产馆| 欧美精品一区二区久久婷婷| 亚洲青涩在线| 久久亚洲精品网站| 欧美mv日韩mv国产网站app| 欧美日韩精品系列| 欧美日韩国产天堂| 国产精品人人做人人爽人人添| 中文一区在线| 亚洲视频电影在线| 欧美成人国产va精品日本一级| 日韩亚洲国产精品| 欧美日韩国产成人在线91| 在线看片欧美| 亚洲国产成人久久综合一区| 欧美另类极品videosbest最新版本| 久久理论片午夜琪琪电影网| 亚洲网在线观看| 久久一区激情| 国产欧美精品在线播放| 欧美三级乱码| 亚洲精品一区二区三区av| 国产精品日本| 国产午夜精品一区二区三区欧美| 国产精品草草| 国产精品色一区二区三区| 国产日韩在线播放| 欧美日韩国产电影| 日韩午夜在线播放| 国产亚洲精品一区二区| 日韩午夜电影av| 9久草视频在线视频精品| 99国产欧美久久久精品| 亚洲一区二区三区在线观看视频| 国产精品入口麻豆原神| 国产精品男gay被猛男狂揉视频| 亚洲九九精品| 蜜桃伊人久久| 欧美日韩一区国产| 日韩视频在线免费观看| 麻豆成人在线播放| 国产精品色午夜在线观看| 欧美日韩一二区| 免费成人黄色av| 99精品国产福利在线观看免费| 韩国女主播一区| 国产裸体写真av一区二区| 国产伦精品一区二区三区视频黑人| 欧美精品在线视频观看| 亚洲三级毛片| 欧美一区二区三区视频| 国产一区二区三区在线观看免费视频| 欧美日韩不卡在线| 国产午夜一区二区三区| 欧美区一区二区三区| 精品av久久707| 国产欧美日本一区二区三区| 久久免费99精品久久久久久| 久久蜜桃资源一区二区老牛| 亚洲狠狠丁香婷婷综合久久久| 99热精品在线| 国产精品久久久久婷婷| 欧美va亚洲va日韩∨a综合色| 亚洲电影视频在线| 欧美激情第10页| 欧美午夜精品理论片a级按摩| 国产精品呻吟| 亚洲欧美一级二级三级| 免费观看成人www动漫视频| 亚洲欧美综合精品久久成人| 亚洲激情国产精品| 国产精品午夜春色av| 午夜精品久久久久久99热软件| 国产精品日日摸夜夜添夜夜av| 黄色精品一区二区| 亚洲欧美日韩在线不卡| 国产九色精品成人porny| 亚洲高清毛片| 亚洲国产精品一区二区www| 亚洲激精日韩激精欧美精品| 亚洲欧美成人精品| 欧美日韩一区二区在线观看| 校园春色国产精品| 夜夜嗨av色综合久久久综合网| 久久福利视频导航| 久久激情久久| 欧美一区二区三区日韩视频| 国产亚洲va综合人人澡精品| 亚洲欧美在线免费观看| 欧美日韩一区二区三区四区五区| 香蕉成人啪国产精品视频综合网| 另类亚洲自拍| 欧美人成在线视频| 久久精品夜色噜噜亚洲a∨| 欧美激情一区二区| 亚洲伊人色欲综合网| 午夜视频久久久| 国产亚洲一区在线播放| 免费不卡亚洲欧美| 亚洲视频免费观看| 亚洲精品日韩一| 日韩视频精品| 精品1区2区3区4区| 国产日韩欧美在线播放| 国产精品亚洲第一区在线暖暖韩国| 精品动漫3d一区二区三区免费| 最新亚洲电影| 国产精品qvod| 亚洲欧美在线aaa| 欧美日韩无遮挡| 久久婷婷色综合| 亚洲片区在线| 激情成人综合网| 亚洲一区二区av电影| 国产视频欧美视频| 日韩视频在线观看| 一区二区三区在线视频免费观看| 亚洲欧洲三级电影| 久久国产欧美日韩精品| 国产真实乱子伦精品视频| 国产精品一区二区在线观看网站| 国产亚洲一区二区在线观看| 欧美一区二区三区视频免费播放| 一区二区三区高清在线观看| 国内外成人在线| 久久人人97超碰国产公开结果| 国产精品一区二区视频| 欧美激情视频在线免费观看 欧美视频免费一| 国产网站欧美日韩免费精品在线观看| 麻豆国产va免费精品高清在线| 在线亚洲美日韩| 久久久久国产一区二区| 国产精品视频精品视频| 国产视频在线观看一区二区三区| 欧美一区二区免费观在线| 久久国产手机看片| 欧美理论电影网| 久久久精品国产免大香伊| 裸体一区二区| 亚洲福利在线看| 国产伦理精品不卡| 亚洲午夜未删减在线观看| 久久久久**毛片大全| 欧美激情1区2区3区| 日韩视频在线你懂得| 亚洲三级国产| 亚洲国产精品电影| 欧美精品综合| 精品成人一区二区三区四区| 亚洲一区三区视频在线观看| 欧美jizzhd精品欧美喷水| 一区二区动漫| 亚洲欧美成人一区二区在线电影| 久久免费视频观看| 国产亚洲一区二区三区在线观看| 午夜精品久久久久久久久久久久| 久久久在线视频| 国产午夜精品福利| 国产偷自视频区视频一区二区| 国产精品乱看| 午夜视频久久久| 亚洲欧洲精品一区二区精品久久久| 狠色狠色综合久久| 欧美精品一二三| 日韩亚洲欧美高清| 亚洲日韩欧美一区二区在线| 最新国产の精品合集bt伙计| 精品1区2区3区4区| 亚洲一区二区3| 亚洲欧美日韩中文播放| 欧美亚州韩日在线看免费版国语版| 亚洲一区二区三区在线观看视频| 欧美视频在线观看 亚洲欧| 国产在线精品一区二区中文| 国产一区二区中文字幕免费看| 免费看的黄色欧美网站| 一区二区欧美日韩视频| 亚洲免费视频一区二区| 一区二区三区在线看| 久久激情视频久久| 亚洲人成网站精品片在线观看| 久久精品日韩一区二区三区| 亚洲天堂av图片| 艳妇臀荡乳欲伦亚洲一区| 久久精品一级爱片| 欧美在线中文字幕| 国产精品久久午夜夜伦鲁鲁| 欧美激情中文字幕在线| 欧美调教视频| 欧美日韩综合在线| 欧美激情综合亚洲一二区| 亚洲欧美国产日韩中文字幕| 狠狠入ady亚洲精品经典电影| 日韩一区二区精品葵司在线| 国产精品福利影院| 欧美精品一区二区三区在线播放| 欧美日韩午夜剧场| 亚洲人成77777在线观看网| 国产欧美一区二区视频| 久久国产综合精品| 久久免费高清| 国产精品普通话对白| 免费在线成人| 国产精品久久久久7777婷婷| 国产精品入口福利| 欧美精品网站| 亚洲精品一区二区在线观看| 免费久久99精品国产| 一区二区日韩精品| 蜜臀久久99精品久久久画质超高清| 欧美成人亚洲成人| 黑人巨大精品欧美黑白配亚洲| 欧美日韩精品在线| 久久婷婷国产综合尤物精品| 久久本道综合色狠狠五月| 亚洲欧美国产va在线影院| 夜夜爽夜夜爽精品视频| 欧美人与性动交α欧美精品济南到| 久久人人爽人人| 久久综合九色| 在线国产精品一区| 欧美一区二区三区在| 99pao成人国产永久免费视频| 国产在线日韩| 欧美一区二区女人| 亚洲国产精品黑人久久久| 一区二区三区蜜桃网| 国产一区二区三区在线观看视频| 国产一区深夜福利| 久久gogo国模裸体人体| 日韩视频精品| 亚洲在线一区| 美日韩免费视频| 欧美激情亚洲综合一区| 亚洲黄色在线视频| 久久综合久久久| 久久精品亚洲国产奇米99| 在线亚洲精品福利网址导航| 久久精品综合一区| 欧美猛交免费看| 欧美天堂在线观看| 亚洲在线成人精品| 午夜精品999| 亚洲第一网站免费视频| 国产精品高潮呻吟久久av无限| 欧美激情1区2区3区| 香蕉精品999视频一区二区| 在线视频精品一| 欧美日本免费一区二区三区| 久久久999精品视频| 欧美大片va欧美在线播放| 亚洲国产精品一区二区久| 久久综合伊人77777尤物|