<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 消費電子 > 設計應用 > 采用可配置處理器技術(shù)構建多發(fā)射向量DSP

采用可配置處理器技術(shù)構建多發(fā)射向量DSP

——
作者: 時(shí)間:2005-08-31 來(lái)源: 收藏
采用可配置處理器技術(shù)構建多發(fā)射向量DSP
等所有媒體的數字化對信號處理提出了越來(lái)越高的要求,這些數字信號數據內容需要建立、存儲、傳輸和重放。同時(shí),越來(lái)越多的通信和娛樂(lè )傳輸系統是便攜式的,這需要極大地提高信號處理的帶寬。日益增長(cháng)的信號處理負載使得電氣功耗成為信號處理系統的制約因素。
  DSP是進(jìn)行數字信號處理的絕好選擇,因為數字信號處理器可以編程,并且在當今數字媒體處理飛速變化的世界里可以容易地處理眾多變化的標準。然而,通用DSP的“通用性”使得其并非對所有應用都能夠實(shí)現很好的功耗效率(power-efficient)。
  硬線(xiàn)連接的信號處理模塊通常有比較好的功耗效率,但是缺少DSP那樣的靈活性和可編程特性??膳渲锰幚砥骷夹g(shù)通過(guò)建立針對某一特定任務(wù)屬性正確的、功能豐富和可編程的DSP,在DSP的固定ISA(指令集體系結構)靈活性和可編程特性與硬線(xiàn)連接模塊的功耗有效性之間建立起橋梁。 Tensilica的Vectra LX是這種概念很好的詮釋。Vectra LX是一個(gè)定點(diǎn)的向量DSP引擎,該引擎是通過(guò)配置選項在Xtensa LX可配置處理器的基礎上建立起來(lái)的。

本文引用地址:http://dyxdggzs.com/article/8017.htm

  可配置架構
  Vectra LX定點(diǎn)DSP引擎是Xtensa LX微處理器內核的一種配置。該定點(diǎn)DSP引擎是一個(gè)3發(fā)射的SIMD處理器,具有四個(gè)乘法器/累加器(四個(gè)MAC),它可以處理128位的向量。128位向量可以分成8個(gè)16位或者4個(gè)32位的元素。整個(gè)Vectra LX DSP引擎是用TIE(Tensilica’s Instruction Extension)語(yǔ)言開(kāi)發(fā)的,通過(guò)修改可以適合目標應用領(lǐng)域。正像圖1所示,Vectra LX DSP引擎增加了16個(gè)向量寄存器(每個(gè)寄存器160位寬)、四個(gè)128位的向量隊列寄存器、第二個(gè)加載/存儲單元和210多條現有Xtensa LX處理器指令集體系結構中的通用DSP指令。



  基本的Xtensa LX處理器是一個(gè)單發(fā)射的微處理器,具有16位和24位指令。但是,Tensilica的處理器產(chǎn)生器(processor generator)能夠讓開(kāi)發(fā)人員增加更寬的指令字長(cháng)。通過(guò)一種稱(chēng)為可變長(cháng)度指令擴展FLIX(Flexible-Length Instruction Extensions)的技術(shù)為處理器指令集增添多個(gè)獨立操作。FLIX指令寬度可以為32位或者64位,并且由于Xtensa LX處理器已經(jīng)設計成可以處理多種指令寬度,因此多操作FLIX指令可以在處理器代碼流中自由組合,并且可以和現有的單發(fā)射Xtensa LX處理器指令連接在一起。
  當開(kāi)發(fā)人員選擇Vectra LX DSP引擎配置選項時(shí),Tensilica的處理器產(chǎn)生器會(huì )自動(dòng)將DSP引擎的RTL代碼添加到可綜合的 Xtensa LX處理器中。新的Vectra LX指令被添加到處理器自動(dòng)產(chǎn)生的軟件工具集(編譯器、匯編器、調試器、指令集仿真器ISS和實(shí)時(shí)操作系統RTOS接口)中。Vectra LX使得Xtensa LX處理器門(mén)數增加20萬(wàn)~25萬(wàn)門(mén)。這些增加的門(mén)數中的大部分用于構建Vectra LX DSP引擎中的寄存器和執行部件,因為通用處理器和DSP引擎擴展可以共享處理器中現有的取指令和指令譯碼部件,所以那些硬件模塊不需要重新復制。然而,需要增加一些邏輯用于對新的指令進(jìn)行譯碼。圖2為Vectra LX DSP引擎配置選項中增加的寄存器和執行部件框圖。



  圖3表示三操作Vectra LX指令字格式。指令字中最右邊四位表示該指令寬度為64位。剩下的60位指令字長(cháng)度不等地分布在三個(gè)操作指令槽中:一個(gè)24位和兩個(gè)18位的指令槽。Vectra LX指令字中的24位操作指令槽(指令字中第4位到第27位)可放置Xtensa LX處理器中所有80條基本指令,包括控制第一個(gè)加載/存儲單元的操作。該操作指令槽還可以處理擴展的128位加載/存儲指令,此指令可將信息存到Vectra LX寬向量寄存器中,也可以從該向量寄存器讀出信息。



  24位的操作指令槽能提供足夠寬的編碼位數,允許加載和存儲指令在指令槽中指定對齊或者非對齊加載和存儲操作,如圖4所示。非對齊加載和存儲操作幫助相關(guān)的向量化編譯器處理存儲器數據陣列,這些數據陣列可以任意方式對齊,因為編譯器產(chǎn)生的代碼有時(shí)是非對齊的數據陣列,這將降低DSP的性能。然而,這種性能損失可以通過(guò)DSP引擎以非對齊加載和存儲操作方式提供的支持加以補償。



  Vectra LX DSP引擎的對齊寄存器提供部分向量存儲功能,這些對齊寄存器在非對齊加載或者存儲字符串的開(kāi)始用第一個(gè)部分向量進(jìn)行初始化。后續的非對齊加載或者存儲操作隱含地和新的向量數據進(jìn)行合并,這些向量數據經(jīng)過(guò)循環(huán)移位并和部分對齊寄存器內容相連接,在對齊寄存器中將整個(gè)向量組合在一起。這些非對齊加載和存儲操作還為下一個(gè)非對齊加載或者存儲操作準備好對齊寄存器,以便使得一系列連續的非對齊加載或者存儲操作能和對齊數據近似相同的效率將數據送入或者送出非對齊數據陣列。
  Vectra LX DSP引擎采用第一個(gè)18位操作指令槽(第28位到第45位)來(lái)放置4



關(guān)鍵詞: 音頻 視頻 圖像

評論


相關(guān)推薦

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

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>