欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

適于矩陣求逆的超長指令集微處理系統(tǒng)的制作方法

文檔序號:6481472閱讀:298來源:國知局
專利名稱:適于矩陣求逆的超長指令集微處理系統(tǒng)的制作方法
技術領域
本發(fā)明屬于數(shù)字通信及數(shù)字信號處理領域,涉及一種適用于矩陣求逆的超長 指令集(VLIW)微處理系統(tǒng)的體系結(jié)構。
背景技術
在許多數(shù)字通信及數(shù)字信號處理系統(tǒng)中都需要用到大量的矩陣運算,其中運 算量最大的操作是矩陣求逆。為了滿足矩陣求逆操作實時應用的需求,因而對整 個處理系統(tǒng)硬件實現(xiàn)提出了非常高的要求。目前主流的處理系統(tǒng)有三種實現(xiàn)方 式, 一種是采用通用的DSP芯片作為平臺,用軟件編程的方式實現(xiàn)相關的處 理。第二種是采用FPGA芯片,以狀態(tài)機電路作為數(shù)據(jù)流控制部件配合相關的運 算電路,完全以硬件的方式實現(xiàn)所需的處理算法。第三種是采用超長指令集的微 處理系統(tǒng)。其中
以DSP器件為核心構成的處理系統(tǒng),所能實現(xiàn)的性能指標依賴DSP器件的 性能, 一旦所要求的運算數(shù)據(jù)流量超出芯片的指標,實現(xiàn)起來就變得比較復雜。 雖然可以采用多片DSP處理器并行處理的解決方案,但并行處理的程度不會很 高,同時各個DSP處理器之間的數(shù)據(jù)共享與通信也是必須要解決的問題。此外 每片DSP芯片還必須配備相關的數(shù)據(jù)/程序存儲器和I/O接口器件,因此系統(tǒng)結(jié) 構和電路設計的復雜程度大幅提高,造成PCB板布局/布線難度大、系統(tǒng)的功耗 和體積大等缺點。
采用FPGA器件完全以硬件的方法構建DSP處理系統(tǒng),能夠充分利用 FPGA內(nèi)部的電路資源,開發(fā)出專門的運算部件,在單片F(xiàn)PGA芯片內(nèi)實現(xiàn)高度 并行化的處理。但這種方法的缺點是電路設計非常復雜,能夠?qū)崿F(xiàn)的運算單 一,運算參數(shù)難以更改,復用性差, 一旦算法改變,就必須重新設計全部電路。 另外由于運算中全部數(shù)據(jù)流均由硬件狀態(tài)機控制,因而只能實現(xiàn)數(shù)據(jù)流程相對簡 單的處理。
超長指令集微處理系統(tǒng),目前主要有兩種體系結(jié)構 一是單寄存器文件結(jié)
構,如圖l所示;二是分族寄存器文件結(jié)構,如圖2所示。這兩種結(jié)構的主要區(qū)
別在于寄存器單元的構成形式不同,其中單寄存器文件結(jié)構是由所有的運算單元
4共享一個單獨的寄存器文件,該結(jié)構的優(yōu)點是可以減少各個運算單元之間的數(shù)據(jù)通信,進而提高處理速度,但它的不足之處在于電路規(guī)模大,占用資源多;分族寄存器文件結(jié)構的每個運算單元都有自己本地的寄存器單元,這種結(jié)構的優(yōu)點在于電路規(guī)模小,但是它需要花費較多的時鐘周期來完成各個運算單元之間的數(shù)據(jù)通信。

發(fā)明內(nèi)容
本發(fā)明的目的在于克服上述已有處理系統(tǒng)的不足,提供一種適于矩陣求逆的超長指令集微處理系統(tǒng),以減小電路規(guī)模和占用資源,以及各個運算單元之間數(shù)據(jù)通信的時鐘周期,提高運算速度。
為實現(xiàn)上述目的,本發(fā)明的超長指令集微處系統(tǒng),包括四組運算單元、全局寄存器單元、兩組本地寄存器單元、數(shù)據(jù)地址產(chǎn)生單元、程序定序單元和數(shù)據(jù)輸入/輸出存儲器單元,其中
數(shù)據(jù)輸入/輸出存儲器單元與四組運算單元之間連接有全局寄存器單元,用于為四組運算單元提供操作數(shù)和暫存運算結(jié)果數(shù)據(jù),以及與輸入/輸出存儲器單元交換數(shù)據(jù);
第一組運算單元1與第二組運算單元2之間連接有第一本地寄存器單元A,用于暫存第一組運算單元1和第二組運算單元2的中間結(jié)果數(shù)據(jù);
第三組運算單元3與第四組運算單元4之間連接有第二本地寄存器單元B,用于暫存第三組運算單元3和第四組運算單元4的中間結(jié)果數(shù)據(jù)。
所述的全局寄存器單元由16個16-Bit的寄存器組成。
所述的第一本地寄存器單元A與第二本地寄存器單元B結(jié)構相同,分別由8個16-Bit的寄存器組成。
所述的四組運算單元用于完成操作數(shù)的算術、邏輯和乘法和除法運算;所述的數(shù)據(jù)地址產(chǎn)生單元實現(xiàn)算術運算結(jié)果在數(shù)據(jù)輸入/輸出存儲器單元
中存取地址的尋址,以及與寄存器單元進行數(shù)據(jù)交換的地址尋址;所述的程序定序單元用于控制所述各單元的程序執(zhí)行;所述的數(shù)據(jù)輸入/輸出存儲器單元用于高速緩存系統(tǒng)中的局部數(shù)據(jù)。本發(fā)明由于在數(shù)據(jù)輸入/輸出存儲器單元與四組運算單元之間連接有全局寄
存器單元,可以有效地減少各個運算單元之間的數(shù)據(jù)通信,從而提高處理速度;同時由于在第一組運算單元1與第二組運算單元2之間連接有第一本地寄存器單元A,在第三組運算單元3與第四組運算單元4之間連接有第二本地寄存器單元B,可以有效地減少電路規(guī)模和占用資源。


圖1為現(xiàn)有的單寄存器文件結(jié)構圖2為現(xiàn)有的分族寄存器文件結(jié)構圖3為本發(fā)明的寄存器堆互連的多族寄存器結(jié)構圖4為本發(fā)明的由寄存器堆互連的多族寄存器構成的超長指令集微處理系統(tǒng)結(jié)構框圖5為本發(fā)明采用的運算單元結(jié)構框圖6為本發(fā)明采用的數(shù)據(jù)地址產(chǎn)生單元的變址尋址方式示意圖。
具體實施例方式
下面結(jié)合附圖對本發(fā)明進行詳細說明。
參照圖3和圖4,本發(fā)明適于矩陣求逆運算的超長指令集微處理系統(tǒng)主要由四組運算單元、全局寄存器單元、第一本地寄存器單元A、第二本地寄存器單元B、數(shù)據(jù)地址產(chǎn)生單元、程序定序單元和數(shù)據(jù)輸入/輸出存儲器單元構成。其中
四組運算單元,主要完成操作數(shù)的算術、邏輯、乘法和除法運算。其在FPGA中有兩種實現(xiàn)方式, 一種是采用FPGA內(nèi)部可配置宏模塊來構建,另一種是自行設計各種所需運算電路,由FPGA內(nèi)部的可編程邏輯單元來實現(xiàn)。前一種實現(xiàn)方式的優(yōu)點在于電路設計工作量小,運算速度高,但要求所選FPGA芯片具備相關的宏模塊資源,這只有采用先進生產(chǎn)工藝制造的少數(shù)新型號芯片才具備。后一種實現(xiàn)方式電路設計復雜程度較高,運算速度相對較慢,但其對FPGA的選擇無特殊要求,可以在低成本的FPGA中實現(xiàn),因此適用于大規(guī)模生產(chǎn)的產(chǎn)品中。本發(fā)明采用的運算單元如圖5所示,它包括邏輯運算模塊、移位運算模塊、超前進位加法模塊、乘法器控制模塊、除法器模塊、狀態(tài)信號產(chǎn)生模塊、數(shù)據(jù)控制模塊7個模塊。所有的運算單元操作都只能從寄存器單元中讀取數(shù)據(jù),完成算術邏輯運算。運算單元不允許直接訪問外部存儲單元。邏輯運算模塊用于實現(xiàn)操作數(shù)的各種邏輯運算,該模塊的輸入操作數(shù)采用16-Bit,輸出結(jié)果為16-Bit。移位運算模塊用于實現(xiàn)運算過程中的移位操作運算,該模塊的輸入操作數(shù)采用16-Bit,輸出結(jié)果為16-Bit。運算單元中有一個17-bit的超前進位加法模塊,主要完成數(shù)據(jù)的加/減運算,該模塊的輸入操作數(shù)采用16-Bit,輸出結(jié)果為16-Bit。乘法控制模塊完成16-bit的有符號數(shù)乘法,該模塊的輸入操作數(shù)采用16-Bit,輸出結(jié)果為32-Bit。除法器模塊主要完成有符號數(shù)的除法操作,該模塊的輸入操作數(shù)采用16-Bit,輸出結(jié)果為16-Bit。狀態(tài)信號產(chǎn)生模塊根據(jù)計算結(jié)果產(chǎn)生相應的標志位結(jié)果為O用"Z"表示、結(jié)果為負用"N"表示、結(jié)果進位用"C"表示、運算結(jié)果溢出用"V"表示。數(shù)據(jù)控制模塊根據(jù)操作指令選擇相應的操作單元和操作數(shù),并根據(jù)操作類型從各運算單元的運算結(jié)果中選擇相應的結(jié)果作為邏輯單元的輸出,其中位邏輯運算、移位運算、加/減運算結(jié)果存入寄存器AR中。乘法控制電路與加法器電路組合在一起構成了一個典型的移位式乘法器,為了盡可能地提高乘法的運算速度,乘法控制電路采用了修正的Booth電路,乘法運算結(jié)果的高16位存入乘積結(jié)果寄存器的高位MH中,低16位存入乘積結(jié)果寄存器的低位ML中。
全局寄存器單元,主要用于為運算單元提供操作數(shù)和暫存運算結(jié)果數(shù)據(jù),與輸入/輸出存儲器單元交換數(shù)據(jù),同時它還是運算單元與輸入/輸出存儲器單元之間進行數(shù)據(jù)交換的"橋梁"。該全局寄存器單元由16個16-Bit的數(shù)據(jù)寄存器組成,通過寄存器組名R00-R15進行訪問。第一本地寄存單元A用于暫存第一組運算單元1和第二組運算單元2的中間運算結(jié)果,其由8個16-BU的數(shù)據(jù)寄存器組成,通過寄存器組名R16-R23進行訪問;第二本地寄存單元B用于暫存第三組運算單元3和第四組運算單元4的中間運算結(jié)果,其由8個16-Bit的數(shù)據(jù)寄存器組成,通過寄存器組名R24-R31進行訪問。
數(shù)據(jù)地址產(chǎn)生單元,負責實現(xiàn)操作數(shù)和運算結(jié)果在寄存器單元中的尋址,以及全局寄存器單元與數(shù)據(jù)輸入/輸出存儲器單元進行數(shù)據(jù)交換時的地址尋址,其包括地址索引寄存器和地址更改寄存器,每當執(zhí)行完一次存儲器存取后,將地址更改寄存器的內(nèi)容與地址索引寄存器的內(nèi)容相加,并將相加得到的結(jié)果回寫到地址索引寄存器中,該地址索引寄存器中的內(nèi)容即為下一次存儲器訪問的實際地址, 一共設置了4套地址生成寄存器組,分別由地址索引寄存器IO+更改寄存器M0、索引寄存器I1+更改寄存器M1、索引寄存器I2+更改寄存器M2、索引寄存器13 +更改寄存器M3獲得。程序定序單元,主要用以控制專用指令集微處理系統(tǒng)程序的執(zhí)行,用它來提供下一條指令在程序存儲器中的地址。其具體實現(xiàn)的功能有
(1) 程序指令順序執(zhí)行;
(2) 程序的無條件/有條件跳轉(zhuǎn),該程序的有條件跳轉(zhuǎn)的判定依據(jù)為運算單元中的4種狀態(tài)標志"Z" 、 "N" 、 "C"和"V",以及由此派生的"大于"、"小于"、"大于等于"和"小于等于"4種條件,但該4種條件的條件跳轉(zhuǎn)指令必須緊跟在一條減法指令之后;
(3) 子程序的調(diào)用與返回,該調(diào)用與返回設置有4級返回地址的堆棧,自動
保存子程序的返回地址,允許4級子程序嵌套;
(4) 無附加開銷程序循環(huán),該程序循環(huán)有專門的硬件電路記錄循環(huán)體的起始和終止地址,循環(huán)的結(jié)束條件為循環(huán)計數(shù)器值遞減為"0",循環(huán)體允許兩重循環(huán)嵌套;
(5) 程序休眠及外部事件喚醒,該功能主要為程序執(zhí)行與外部實時事件之間提供特定的同步機制,以此來實現(xiàn)實時的數(shù)字信號處理應用。
數(shù)據(jù)輸入/輸出存儲器單元,是針對數(shù)字通信和數(shù)字信號處理的應用特點及輸入/輸出數(shù)據(jù)結(jié)構進行設計。由于數(shù)字通信及數(shù)字信號處理系統(tǒng)的實時性要求,為了保證處理時間,采用輸入數(shù)據(jù)存儲器和輸出數(shù)據(jù)存儲器兩頁面乒乓操作的雙端口存儲器形式來構建該專用指令集微處理系統(tǒng)的相關存儲器,以流水線的方式來實現(xiàn)原始數(shù)據(jù)存儲一存儲數(shù)據(jù)處理一處理后數(shù)據(jù)輸出的工作,且所有存儲器均為雙端口形式,從而保證實時數(shù)據(jù)輸入/輸出的連續(xù)性。
需要特別說明的是超長指令集微處理系統(tǒng)在實際應用時主要由FPGA器件來實現(xiàn),而且往往是以多個運算單元并行處理的方式來構成高速實時的信號處理系統(tǒng)。為了最大限度地開發(fā)指令集的并行性,需要盡可能地降低每一個功能單元的電路復雜程度。本發(fā)明中超長指令集微處理系統(tǒng)的指令集及其相關電路體系結(jié)構在設計上也考慮了電路實現(xiàn)的規(guī)模問題,但在設計時主要考慮的是該設計的可重復利用性,即要使設計具有一定的通用型。因此電路結(jié)構和規(guī)模針對某一具體應用而言并不是最優(yōu)的,需要根據(jù)具體的應用在原有指令集和相關的電路實現(xiàn)結(jié)構上進行進 步的優(yōu)化與裁減,以達到針對具體應用而"量身定做"的目標。
本發(fā)明系統(tǒng)的傳輸關系和工作過程如下-全局寄存器單元與數(shù)據(jù)輸入/輸出存儲器單元、四組運算單元之間雙向連接,其用于為運算單元提供操作數(shù)和暫存運算結(jié)果數(shù)據(jù);第一本地寄存器單元A與第一組運算單元1和第二組運算單元2雙向連接,用于暫存第一組運算單元1和第二組運算單元2的中間結(jié)果數(shù)據(jù);第二本地寄存器單元B與第三組運算單元3和第四組運算單元4雙向連接,用于暫存第三組運算單元3和第四組運算單元4的中間結(jié)果數(shù)據(jù);程序定序單元分別與全局寄存器單元、兩組本地寄存器單元、數(shù)據(jù)地址產(chǎn)生單元和四組運算單元單向連接,用于輸出下一條執(zhí)行指令的地址。
程序定序單元接收程序指令后進行指令譯碼,并同時向全局寄存器單元、第一本地寄存器單元A、第二本地寄存器單元B、數(shù)據(jù)地址產(chǎn)生單元和四組運算單元單向發(fā)送指令代碼;數(shù)據(jù)地址產(chǎn)生單元根據(jù)程序定序單元發(fā)送的指令對寄存器迸行寄存器名尋址,對輸入/輸出存儲器單元進行變址尋址;全局寄存器單元從輸入/輸出存儲器中讀取相應的操作數(shù),此操作數(shù)送往四組運算單元進行相應運算;運算的中間結(jié)果送回全局寄存器單元或兩組本地寄存器單元,并將最終運算結(jié)果存入輸入/輸出存儲單元中,以便輸出。
以上僅為本發(fā)明的一個實例,并不構成對本發(fā)明的任何限制,顯然在本發(fā)明的構思和精神下,任何人均可做出不同的改變,但這些均在本發(fā)明的保護之列。
9
權利要求
1.一種適于矩陣求逆的超長指令集微處理系統(tǒng),包括四組運算單元、全局寄存器單元、兩組本地寄存器單元、數(shù)據(jù)地址產(chǎn)生單元、程序定序單元和數(shù)據(jù)輸入/輸出存儲器單元,其特征在于數(shù)據(jù)輸入/輸出存儲器單元與四組運算單元之間連接有全局寄存器單元,用于為運算單元提供操作數(shù)和暫存運算結(jié)果數(shù)據(jù),以及與輸入/輸出存儲器單元交換數(shù)據(jù);第一組運算單元(1)與第二組運算單元(2)之間連接有第一本地寄存器單元(A),用于暫存第一組運算單元(1)和第二組運算單元(2)的中間結(jié)果數(shù)據(jù);第三組運算單元(3)與第四組運算單元(4)之間連接有第二本地寄存器單元(B),用于暫存第三組運算單元(3)和第四組運算單元(4)的中間結(jié)果數(shù)據(jù)。
2. 根據(jù)權利要求1所述的超長指令集微處理系統(tǒng),其特征在于全局寄存器單元由16個16-Bit的寄存器組成。
3. 根據(jù)權利要求1所述的超長指令集微處理系統(tǒng),其特征在于第一本地寄存器單元(A)與第二本地寄存器單元(B)結(jié)構相同,分別由8個16-Bit的寄存器組成。
4. 根據(jù)權利要求1所述的超長指令集微處理系統(tǒng),其特征在于四組運算單元,包括邏輯運算模塊用于實現(xiàn)操作數(shù)的各種邏輯運算,該模塊的輸入操作數(shù)采用16陽Bit,輸出結(jié)果為16-Bit;移位運算模塊用于實現(xiàn)運算過程中的移位操作運算,該模塊的輸入操作數(shù)采用16-Bit,輸出結(jié)果為16-Bit;超前進位加法模塊用于完成數(shù)據(jù)的加/減運算,該模塊的輸入操作數(shù)采用16-Bit,輸出結(jié)果為16-Bit;乘法器控制模塊用于實現(xiàn)有符號數(shù)乘法,該模塊的輸入操作數(shù)采用16-Bit, 輸出結(jié)果為32-Bit;除法器模塊用于實現(xiàn)有符號數(shù)除法,該模塊的輸入操作數(shù)采用16-Bit,輸出結(jié)果為16-Bit;狀態(tài)信號產(chǎn)生模塊根據(jù)所述計算結(jié)果產(chǎn)生相應的狀態(tài)標志位;數(shù)據(jù)控制模塊根據(jù)操作碼選擇相應的操作單元和操作數(shù)。
5. 根據(jù)權利要求1所述的超長指令集微處理系統(tǒng),其特征在于全局寄存器單元分別與數(shù)據(jù)輸入/輸出存儲器單元和四組運算單元雙向連接。
6. 根據(jù)權利要求1所述的超長指令集微處理系統(tǒng),其特征在于第一本地寄存器單元(A)分別與第一組運算單元(1)和第二組運算單元(2)雙向連接,第二本地寄存器單元(B)分別與第三組運算單元(3)和第四組運算單元(4)雙向連接。
7. 根據(jù)權利要求1所述的超長指令集微處理系統(tǒng),其特征在于所述的數(shù)據(jù)地址產(chǎn)生單元,包括地址索引寄存器和地址更改寄存器,每當執(zhí)行完一次數(shù)據(jù)輸入/輸出存儲器存取后,將地址更改寄存器的內(nèi)容與地址索引寄存器的內(nèi)容相加,并將相加得到的結(jié)果回寫到地址索引寄存器中,該地址索引寄存器中的內(nèi)容即為下一次數(shù)據(jù)輸入/輸出存儲器訪問的實際地址。
8. 根據(jù)權利要求1所述的超長指令集微處理系統(tǒng),其特征在于數(shù)據(jù)輸入/輸出存儲器單元包括輸入數(shù)據(jù)存儲器區(qū)和輸出數(shù)據(jù)存儲器區(qū)兩部分,每一部分均由兩頁面乒乓操作的雙端口存儲器構成,依次實現(xiàn)輸入數(shù)據(jù)與處理后數(shù)據(jù)的高速實時輸入-處理-輸出。
9. 根據(jù)權利要求1所述的超長指令集微處理系統(tǒng),其特征在于所述的程序定序單元分別與全局寄存器單元、兩組本地寄存器單元、數(shù)據(jù)地址產(chǎn)生單元和四組運算單元單向連接,用于輸出下一條執(zhí)行指令的地址。
全文摘要
本發(fā)明公開了一種適于矩陣求逆的超長指令集微處理系統(tǒng),主要解決現(xiàn)有的電路規(guī)模大,運算速度慢的問題。該系統(tǒng)包括四組運算單元、全局寄存器單元、兩組本地寄存器單元、數(shù)據(jù)地址產(chǎn)生單元、程序定序單元和數(shù)據(jù)輸入/輸出存儲器單元,其中數(shù)據(jù)輸入/輸出存儲器單元與四組運算單元之間連接有全局寄存器單元,為運算單元提供操作數(shù)和暫存運算結(jié)果;第一組運算單元(1)與第二組運算單元(2)之間連接有第一本地寄存器單元(A),第三組運算單元(3)與第四組運算單元(4)之間連接有第二本地寄存器單元(B),用于暫存相應運算單元的中間結(jié)果。本發(fā)明具有處理速度快和電路規(guī)模小的優(yōu)點,可用于數(shù)字通信及數(shù)字信號處理。
文檔編號G06F9/38GK101667114SQ20091002417
公開日2010年3月10日 申請日期2009年9月30日 優(yōu)先權日2009年9月30日
發(fā)明者劉仍穩(wěn), 犁 張, 李雙飛, 贊 殷, 石光明, 雯 羅 申請人:西安電子科技大學
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
黄浦区| 青海省| 隆尧县| 永安市| 石狮市| 万宁市| 建瓯市| 司法| 宝坻区| 丰原市| 都安| 沈丘县| 远安县| 株洲市| 德惠市| 曲水县| 建德市| 宕昌县| 兴国县| 兴宁市| 壶关县| 五莲县| 达孜县| 会泽县| 尤溪县| 郧西县| 新邵县| 克拉玛依市| 额尔古纳市| 都安| 黄龙县| 安乡县| 原平市| 腾冲县| 河津市| 彩票| 伊春市| 武邑县| 简阳市| 绥阳县| 远安县|