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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 通過分布式處理提升處理器效率

          通過分布式處理提升處理器效率

          作者: 時間:2010-01-04 來源:網絡 收藏

          在剛剛過去的數年內,我們見證了多系統(tǒng)日漸成為主流,事實上大多數現代個人計算的CPU均采用了對稱多系統(tǒng)(SMP),其中,相同的多個實現例程分擔運行在PC上的應用程序負荷。SMP目前已相當常見,但在嵌入式計算中,向多處理的轉移趨勢并不常見。然而,新的嵌入式設計技術為工程師提供了相當的自由度,能夠在數字子系統(tǒng)上智能化地分配處理功能。在本文中,研究了一個使用Cypress半導體公司PSoC 3和PSoC 5架構的處理技術示例,該架構由一個主CPU(在本例中為8051或ARM Cortex M3)、一個DMA引擎、以及通用數字模塊(UDB)陣列構成。UDB可高效用作微陣列。在這類子系統(tǒng)上分配處理功能,減少計算復雜程度和處理負荷,工程師能夠整個系統(tǒng)的。

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

          將處理功能分解到多個功能塊上具有很多優(yōu)點,最大的優(yōu)點是降低了實際功耗。降低CPU在處理MIPS方面的負荷,只計算簡單的函數,如服務中斷,能夠以較低的頻率運行應用程序,這是因為,除了應用程序的所有函數外,CPU無需在不太復雜的函數上耗費指令周期。這樣,就能從兩個方面降低整個應用的功耗。第一個優(yōu)點顯而易見,降低CPU時鐘,隨著時鐘速度的降低,實際功率呈線性下降。第二個優(yōu)點有些容易被忽視,但同樣重要,CPU具有的邏輯門約是UDB的10倍以上,將處理功能從主CPU卸載到微上,可釋放大量用于完成處理功能的邏輯門,從而進一步顯著改善實際功耗。

          除了顯著降低應用程序的實際功耗外,處理還具有另一項優(yōu)點,由于CPU從更平凡的處理負擔中解脫出來,能夠將其MIPS更多地用在可更好發(fā)揮CPU特性的功能上,用于具有更高計算強度的函數上,如乘除指令。

          為了理解將處理功能分解在架構上的方式,我們將分析常見的嵌入式應用,如無刷直流電機控制。首先我們深入實質,了解PSoC 3和PSoC 5數字子系統(tǒng),以便理解其能力。

          PSoC 3和PSoC 5器件公用平臺架構,這意味著在兩個系列中,基本硬件是相同的。PSoC3和5平臺架構由四個主要功能塊構成,它們是:

          CPU子系統(tǒng):首先是CPU子系統(tǒng),它包含主CPU(8051或Cortex M3)以及所有支撐IP,包括中斷控制器,調試硬件,以及DMA控制器。其他系統(tǒng)功能也包含在CPU子系統(tǒng)中,如計時,電源管理,以及系統(tǒng)存儲器。通過CPU與DMA引擎的結合,可為我們提供實現處理功能所需的兩個關鍵部件。

          數字子系統(tǒng):數字子系統(tǒng)是PSoC 3和PSoC 5系列架構的另一重要部分,使用它,能夠實現分布式處理系統(tǒng)。PSoC 3和PSoC 5中的數字子系統(tǒng)主要由可靈活編程的通用數字模塊(UDB)陣列構成。正如從圖X中所見到的,UDB硬件包含數據路徑元素,它本質上是8位微處理器,能夠執(zhí)行標準的處理功能,如移位、加和比較。數據路徑元素(圖XX)還與PLD單元相結合,可用于實現定制的邏輯功能,甚至能夠查詢表以找出可用作參考的數據路徑元素。這些UDB可用于實現很多外圍標準功能,如PWM、定時器和SPI,它們也能用于實現定制的外圍功能。正因為這種靈活性,PSoC能夠實現分布式處理功能。

          圖1
          圖1



          上一頁 1 2 下一頁

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁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); })();