<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > EDA/PCB > 設(shè)計(jì)應(yīng)用 > 基于消息機(jī)制的片上多處理器系統(tǒng)的研究

          基于消息機(jī)制的片上多處理器系統(tǒng)的研究

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

          2.2.1 控制器到處理器方向
          控制器到處理器方向的連接屬于一對(duì)多的模式,每條通路各自獨(dú)立,因此該方向上的傳遞比較簡(jiǎn)單,由控制器直接向目標(biāo)FIFO寫入數(shù)據(jù)即可。該方向的傳遞流程圖如圖2(a)所示。

          本文引用地址:http://www.ex-cimer.com/article/189737.htm

          b.JPG


          2.2.2 處理器到控制器方向
          處理器到控制器方向的連接屬于多對(duì)一的模式,當(dāng)處理器同時(shí)有消息要傳遞給控制器時(shí)會(huì)引起沖突。為解決該沖突,引入了互斥核。因此該方向上的消息傳遞時(shí)需要先鎖定互斥核,才能向控制器的FIFO寫入消息數(shù)據(jù)。該方向的傳遞流程圖如圖2(b)所示。
          2.3 消息的讀取
          消息的讀取過(guò)程為處理器從消息存儲(chǔ)器FIFO讀出數(shù)據(jù)的過(guò)程。由于采用的是雙端口FIFO,數(shù)據(jù)的寫入與讀取可同時(shí)進(jìn)行。但由于處理器可能存在中斷、寫入與讀出速率不一致等原因,因此消息的讀取采用異步讀取的方式,即判斷FIFO中的數(shù)據(jù)個(gè)數(shù),先讀取消息的前兩個(gè)字節(jié),獲得該消息的長(zhǎng)度,然后根據(jù)該長(zhǎng)度等待消息傳遞完畢,再一次性讀取剩余消息數(shù)據(jù)。
          2.4 消息的處理
          消息讀取完之后,首先發(fā)送確認(rèn)消息給發(fā)送者,表示成功收到了消息。然后根據(jù)洧息中的類型跳轉(zhuǎn)到該類型的處理函數(shù),接著再根據(jù)消息中的子類型跳轉(zhuǎn)到該子類型的處理函數(shù)。最后,當(dāng)任務(wù)執(zhí)行完之后發(fā)送任務(wù)結(jié)束消息。
          2.5 數(shù)據(jù)移動(dòng)
          當(dāng)中有大量的數(shù)據(jù)需要移動(dòng)時(shí),為了減少的開(kāi)銷,加入DMA核。數(shù)據(jù)的移動(dòng)由DMA核控制,而DMA核由控制器進(jìn)行控制。因此,從處理器如果有移動(dòng)數(shù)據(jù)的需要,需要用消息先通知控制器,然后由控制器控制DMA進(jìn)行移動(dòng)。圖3為控制器利用DMA進(jìn)行數(shù)據(jù)移動(dòng)的流程圖。

          c.JPG


          2.6 容錯(cuò)性設(shè)計(jì)
          當(dāng)系統(tǒng)長(zhǎng)時(shí)間運(yùn)行時(shí),不排除處理器出現(xiàn)問(wèn)題的可能性,因此需要引入容錯(cuò)性設(shè)計(jì),保證系統(tǒng)能正確運(yùn)行。
          首先,主控制器中定義一個(gè)從處理器列表。從處理器初始化完成時(shí),發(fā)送初始化完成消息,主控制器對(duì)發(fā)送消息的從處理器進(jìn)行登記,并添加到列表。
          接著,主控制器中定義一個(gè)任務(wù)結(jié)構(gòu),包含任務(wù)所屬的組、任務(wù)ID、任務(wù)允許最長(zhǎng)處理時(shí)間、任務(wù)開(kāi)始處理的時(shí)間等字段。運(yùn)行時(shí),主控制器根據(jù)事先設(shè)計(jì)的程序生成任務(wù)列表,然后根據(jù)從處理器列表分配任務(wù),并記錄任務(wù)處理開(kāi)始時(shí)間。
          然后,主控制器反復(fù)查詢?nèi)蝿?wù)列表,檢查任務(wù)時(shí)間。當(dāng)發(fā)現(xiàn)任務(wù)超時(shí),則重新分配該任務(wù),使得系統(tǒng)仍能正常工作,并將處理該任務(wù)的從處理器從列表中別除,發(fā)出警報(bào)。

          3 實(shí)驗(yàn)與結(jié)果
          為了驗(yàn)證該系統(tǒng)的可行性及性能,本文采用JPEG編碼器(以DCT變換為基礎(chǔ)的有損壓縮算法)作為該系統(tǒng)的測(cè)試程序。DCT算法的大致流程為:對(duì)于一塊最小數(shù)據(jù)處理單元(MCU),先把數(shù)據(jù)從空間域變換到頻率域,從而去除數(shù)據(jù)的冗余度;量化器用加權(quán)函數(shù)來(lái)產(chǎn)生對(duì)人眼優(yōu)化的量化DCT系數(shù),同時(shí)熵編碼器將量化DCT系數(shù)的熵最小化。
          其中前向DCT的變換公式如下:
          d.JPG



          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();