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

          新聞中心

          EEPW首頁 > EDA/PCB > 設計應用 > 基于FPGA實現(xiàn)VLIW微處理器

          基于FPGA實現(xiàn)VLIW微處理器

          作者: 時間:2011-12-28 來源:網絡 收藏

          超長指令字架構采用了先進的清晰并行指令設計。的最大優(yōu)點是簡化了處理器的結構,刪除了處理器內部許多復雜的控制電路,它能從應用程序中提取高度并行的指令數(shù)據,并把這些機器指令均勻地分配給芯片中的眾多執(zhí)行單元。本設計是針對的基本功能設計實現(xiàn)的,是針對64位指令字和192位數(shù)據進行操作處理,主要功能是將指令和數(shù)據分別劃分到3個并行操作單元中,在執(zhí)行單元中根據3個并行指令控制,對3個并行操作單元的數(shù)據進行并行處理,同時對操作處理數(shù)據進行存儲處理管理。

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

          1 VLIW微處理器

          1.1 VLIW微處理的基本結構

          VLIW微處理器的基本架構如圖1所示,采用4級流水線的形式進行架構組織,分別是取指令、譯碼、執(zhí)行、寫回。VLIW微處理器從外部儲存器中,取出指令和數(shù)據,指令通過譯碼操作,要求處理器進行執(zhí)行動作,處理寄存器中的數(shù)據或者是取指令單元傳輸來的數(shù)據,并通過寫回單元,將處理的數(shù)據存儲到寄存器中。取指令單元是從存儲器中取出相對應的指令和數(shù)據,并將相應的信息傳輸給譯碼單元和寄存器堆單元;譯碼單元的作用是將取指令單元的指令信息翻譯為執(zhí)行單元能夠識別的操作,將相應的信息傳輸?shù)綀?zhí)行單元中;執(zhí)行單元是執(zhí)行對應的指令信息和處理相關的數(shù)據,同時也對寄存器堆送來的數(shù)據和指令進行相應的操作;寫回單元是將執(zhí)行單元的數(shù)據存儲到寄存器堆中;寄存器堆是暫時存放取指令單元和寫回單元的數(shù)據或是指令。

          49.jpg

          1.2 VLIW微處理器操作方式

          VLIW處理器指令操作方式是實行3種并行的操作,指令格式設置為:最高4位作為保留位,其余各20位依次劃給操作1、操作2、操作3,在每個20位中又分別留有4位的保留位,最后對16位的指令進行劃分為操作碼、源1地址、源2地址、目標地址。3種操作方式是并行執(zhí)行,相互獨立,互不干擾,并且操作執(zhí)行都是64位的數(shù)據;每一種操作方式都可以實現(xiàn)16種操作運算:空操作、加、減、乘、裝載、移動、讀、比較、或、與非、或非、取反、左移、右移、循環(huán)左移、循環(huán)右移等操作。任何一種操作都可以對16個寄存器中的數(shù)據進行操作處理,且寄存器中所存儲的數(shù)據是64位。整個操作過程是將源1與源2寄存器中的數(shù)據進行某種操作運算,將其操作處理結果存入目標寄存器中,其操作處理方式是采用寄存器尋址方式。

          2 VLIW微處理器的設計與實現(xiàn)

          根據VLIW微處理器系統(tǒng)架構和基本原理,將整個VLIW微處理劃分為5個主要部分,并對如圖2所示的5個部分進行功能設計與實現(xiàn)。具體原理:取指令模塊把外部存儲器的數(shù)據和指令傳送給譯碼模塊,并將部分指令信息傳送給寄存器堆,實現(xiàn)取指令的功能;譯碼模塊將取指模塊的數(shù)據和指令進行相對應的譯碼,實現(xiàn)某一種具體的操作,并將譯碼結果傳送到執(zhí)行模塊中;執(zhí)行模塊將譯碼模塊或者寄存器堆模塊的數(shù)據和指令實現(xiàn)其操作的具體功能,并將操作結果傳送到寫回模塊中;寫回模塊將執(zhí)行模塊的信息寫入寄存器中,并輸出相關操作處理的數(shù)據。

          50.jpg

          2.1 取指令模塊的設計

          取指令模塊的功能是從外部指令/數(shù)據的Catch取得VLIW指令和數(shù)據,將取得的信息傳輸給譯碼模塊,讓指令進行譯碼,同時也將取得的信息傳輸給寄存器堆模塊,讓執(zhí)行模塊執(zhí)行操作進入內部寄存器而從寄存器堆取回數(shù)據。取指令模塊設計實現(xiàn)如圖3所示。將指令和數(shù)據通過選擇器分配到3個操作并行單元中,然后細分操作執(zhí)行的方式。具體劃分為頂層模塊和3種并行操作模塊。頂層模塊主要實現(xiàn)對指令和數(shù)據進行分流,分成操作碼和操作地址的形式。由于都是并行操作,只需要寫出操作1的功能,其余的操作功能一致,只是輸入的操作指令和操作地址不一樣。

          51.jpg

          2.2 譯碼操作模塊的設計

          譯碼操作模塊的功能是將取指令模塊傳輸來的信息進行譯碼操作,將所進行譯碼操作傳輸給執(zhí)行模塊。由于在進行譯碼操作時,操作1、操作2、操作3的指令與數(shù)據沒有相互沖突,而且每一種操作的功能都是對16種操作進行相對應的譯碼,不同在于輸入的各個操作的數(shù)據或指令的不相同,因此,在實現(xiàn)譯碼模塊時,只需要實現(xiàn)一個操作譯碼的功能就可以。在改變輸入的情況下就實現(xiàn)操作2、操作3的2種操作譯碼的功能,從而可實現(xiàn)譯碼模塊的整個功能。譯碼模塊其劃分原理如圖4所示。

          52.jpg

          2.3 執(zhí)行模塊的設計

          執(zhí)行模塊是在VLIW微處理器所有模塊中最復雜的模塊,其主要功能是執(zhí)行VLIW指令操作,并將執(zhí)行的操作結果送到寫回模塊中。在執(zhí)行模塊中采用寄存器旁路的特點,寄存器旁路用于處理指令或者數(shù)據之間的相互沖突問題。

          將執(zhí)行模塊劃分為:頂層模塊、操作1模塊、操作2模塊、操作3模塊、功能執(zhí)行模塊、異常處理模塊。頂層模塊實現(xiàn)3種操作的數(shù)據與指令分流和中間變量的處理;操作1模塊實現(xiàn)寄存器旁路的功能和數(shù)據的處理;操作2模塊和操作3模塊實現(xiàn)的功能與操作1模塊相同,不同點在于中間數(shù)據沖突處理不一樣;功能執(zhí)行模塊實現(xiàn)16種操作的具體功能;異常處理模塊實現(xiàn)數(shù)據或指令的異常處理的具體功能。將各個模塊連接就實現(xiàn)執(zhí)行單元的整個功能。

          2.4 寄存器堆的實現(xiàn)

          寄存器堆的結構如圖5所示。輸入端的數(shù)據、指令是來自2個單元,一個是取指令單元數(shù)據和指令,另一個是寫回單元的數(shù)據;輸出的指令、數(shù)據要傳輸?shù)綀?zhí)行單元中進行執(zhí)行操作。因為3種操作是并行執(zhí)行的,每一種操作功能都是一樣,因此在某個輸入信號下,經由某種操作單元時,在選擇器MUX下,選擇某種具體操作運算。在功能單元FU中,對取出的存儲器數(shù)據進行相應的操作運算處理,并將操作處理的結果輸出送到執(zhí)行單元中。圖中虛線表示將寫回單元輸送來的操作數(shù)據直接存儲到存儲器中。實現(xiàn)時,要注意處理數(shù)據的相關問題。

          53.jpg

          2.5 寫回單元的設計

          寫回單元是VLIW微處理器的最后一個單元,它的功能是將執(zhí)行單元的操作結果寫回到寄存器堆中,并在讀有效的情況下,輸出相應的操作處理數(shù)據。該模塊設計相對比較簡單,要實現(xiàn)寫回寄存器堆的數(shù)據和該數(shù)據的目標寄存器地址,以及讀出處理單元的操作處理數(shù)據。

          54.jpg

          2.6 綜合仿真與測試

          將上述所設計的模塊,運用原理圖的設計方法,按圖2 VLIW微處理模塊劃分結構進行相應的連接,并選擇相應的器件進行編譯測試,其仿真測試功能波形如圖6所示。圖中的波形圖添加了中間變量寄存器的波形圖,以便能夠更好地對比輸出波形,分析處理器功能。VLIW微處理器首先將要處理的數(shù)據裝入寄存器中,利用寄存器尋址的方式,對數(shù)據進行相應的16種功能操作運算,然后利用讀的功能讀出操作處理的數(shù)據結果。

          在圖6中,添加的中間變量是寄存器地址,基本的輸入有時鐘信號、復位信號、指令、數(shù)據。復位信號為低電平時,電路處于有效的工作狀態(tài),輸出相關的操作數(shù)據。運用裝載指令對寄存器依次裝入數(shù)據,在下一個時鐘脈沖時,對寄存器的數(shù)據進行讀出操作,輸出數(shù)據有效信號輸出高電平。

          基于實現(xiàn)微處理器的設計是一個熱點,在主流設計中主要模塊的劃分一般大致相同,主要區(qū)別在于主要模塊下的小模塊劃分是完全不相同的,并且實現(xiàn)與設計方式也不相同。在VLIW處理器設計中,細分各個小模塊,運用硬件描述語言實現(xiàn)各個基本模塊的功能,從而最終實現(xiàn)整個微處理器的邏輯功能,并在開發(fā)板進行相應的邏輯分析與功耗分析,為實際DSP并行處理器架構提供一定的參考基礎。



          關鍵詞: FPGA VLIW 微處理器

          評論


          相關推薦

          技術專區(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); })();