在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

    <address id="qec3z"><var id="qec3z"><center id="qec3z"></center></var></address>

      <span id="qec3z"><code id="qec3z"></code></span>
    • <dfn id="qec3z"></dfn>
      <ruby id="qec3z"><thead id="qec3z"><noscript id="qec3z"></noscript></thead></ruby>
      <label id="qec3z"></label><dfn id="qec3z"><var id="qec3z"></var></dfn>

        新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于Xtensa可配置處理器技術(shù)的視頻加速引擎技術(shù)開發(fā)

        基于Xtensa可配置處理器技術(shù)的視頻加速引擎技術(shù)開發(fā)

        作者: 時(shí)間:2010-11-24 來源:網(wǎng)絡(luò) 收藏

          
          4、自動(dòng)化軟件開發(fā)工具套件支持
          
          可和可擴(kuò)展的關(guān)鍵是不僅能夠自動(dòng)產(chǎn)生預(yù)先經(jīng)過驗(yàn)證的RTL代碼,用于設(shè)計(jì)人員定制(包括所有系統(tǒng)擴(kuò)展功能),而且還能夠自動(dòng)產(chǎn)生完整的軟件工具,包括一個(gè)與相匹配并經(jīng)過優(yōu)化的開發(fā)工具套件、一個(gè)時(shí)鐘周期的指令集仿真器以及系統(tǒng)模型。
          這種自動(dòng)化意味著編譯器知道設(shè)計(jì)人員所添加的新指令、相關(guān)的寄存器以及寄存器文件。因此,編譯器能夠?qū)τ脩舳x的指令進(jìn)行調(diào)度,并執(zhí)行寄存器分配操作。類似地,軟件開發(fā)人員在調(diào)試時(shí)除了本身的基本寄存器,還能夠了解設(shè)計(jì)人員定義的寄存器和寄存器文件;同時(shí),軟件開發(fā)人員能夠利用指令集仿真器對設(shè)計(jì)人員定義的新指令進(jìn)行仿真。與處理器相關(guān)的實(shí)時(shí)操作系統(tǒng)RTOS端口和系統(tǒng)模型也能夠自動(dòng)產(chǎn)生。Tensilica的軟件工具能夠在一個(gè)小時(shí)內(nèi)自動(dòng)產(chǎn)生上述軟件工具,這是對使用可處理器用戶的核心承諾,能夠執(zhí)行諸如SAD運(yùn)算,而不必采用RTL那樣的實(shí)現(xiàn)方法。
          
          5、采用可處理器構(gòu)建建立多操作功能部件
          
          
          將SAD這樣的融合操作加到一個(gè)可配置處理器中是一件麻煩的事情。一條稱為“sub.abs.ac”的新指令可以完成“減法-絕對值-累加”運(yùn)算操作。這條新指令能夠?qū)D2中的操作變成圖3中的復(fù)操作。
          
          圖3 使用新指令計(jì)算“減法-絕對值-累加”操作
          
          將該指令添加到處理器中后,C編譯器能夠識(shí)別這條新的“sub.abs.ac”指令,并調(diào)度相關(guān)指令;調(diào)度器將顯示“sub.abs.ac”功能部件所使用的內(nèi)部信號(hào);匯編器能夠處理這條新指令;指令集仿真器ISS能夠按照時(shí)鐘周期模式進(jìn)行仿真。
           新的專用功能部件插入處理器后的數(shù)據(jù)通路簡圖如圖4所示。注意到,除了產(chǎn)生功能部件邏輯外,硬件生成工具還能夠自動(dòng)插入前饋通路、控制邏輯以及旁路邏輯,以便將新的功能部件與數(shù)據(jù)通路中的其它邏輯互連。
          
          圖4 插入sub.abs.ac專用功能部件后的簡化數(shù)據(jù)通路示意圖
          
           包含新指令的C代碼描述的SAD算法如下:
           for (row = 0; row numrows; row++) {for (col = 0; col numcols; col++) {
          sub.abs.ac( accum, macroblk1[row][col], macroblk2[row][col]);
          } /* column loop */
          } /* row loop */
           正如前面提到的,對于一個(gè)16x16宏塊而言,增加新指令后程序主循環(huán)中的操作數(shù)減少到256個(gè)(即numrows = numcols = 16)。
          


        評(píng)論


        相關(guān)推薦

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

        關(guān)閉