System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 人妻精品无码一区二区三区,无码国内精品人妻少妇,无码av人妻一区二区三区四区
  • 
    <ul id="o6k0g"></ul>
    <ul id="o6k0g"></ul>

    基于CORDIC指令的角度解算系統技術方案

    技術編號:44504194 閱讀:4 留言:0更新日期:2025-03-07 13:03
    本發明專利技術屬于計算機技術領域,涉及基于CORDIC指令的角度解算系統。該系統包括IFU取指令單元與EXU執行單元;IFU取指令單元在取指階段根據PC的地址讀取指令存儲器中的CORDIC指令;EXU執行單元包括譯碼模塊、算術邏輯單元、加載存儲單元與寫回單元。本發明專利技術基于RISC?V架構擴展CORDIC角度解算指令集并設計完整的流水線硬件結構,支持三角函數運算;具有完整的CORDIC運算通路硬件電路結構,不同的運算過程復用同一套運算通路,提高硬件資源利用率;克服基于CORDIC算法進行角度解算時計算結果范圍收斂的局限性,通過預存特殊角度結果來減少計算時間,優化電路工作頻率。

    【技術實現步驟摘要】

    本專利技術屬于計算機,具體而言,涉及基于cordic指令的角度解算系統。


    技術介紹

    1、在科學計算、數字信號處理、伺服控制和圖像處理等領域,反正切運算是常用的基礎操作之一。目前,多數處理器不支持三角函數運算,一般嵌入式微處理器在計算諸如反正切函數一類的三角運算時,采取調用軟件的方式,但以調用軟件的方式計算反正切函數來進行角度解算等工作很難滿足嵌入式微處理器對于實時性的要求。通過通用處理器進行反正切角度解算一般使用基礎的處理器指令集,往往需要使用幾十條指令來實現函數的計算,計算時間長。單獨設計反正切角度解算模塊又會增大硬件開銷,為了兼顧反正切函數計算的計算時間、資源消耗和工作頻率,在通用處理器中擴展角度解算指令集,設計相應硬件控制電路來實現反正切函數運算,視為更優的解決方法。


    技術實現思路

    1、為了解決上述技術問題,本專利技術提供基于cordic指令的角度解算系統,包括ifu取指令單元與exu執行單元;

    2、ifu取指令單元在取指階段根據pc的地址讀取指令存儲器中的cordic指令;

    3、exu執行單元包括譯碼模塊、算術邏輯單元、加載存儲單元與寫回單元;exu執行單元在執行階段通過譯碼模塊進行cordic指令譯碼將cordic指令解碼出相應的操作數并將解碼出的操作數傳遞給算術邏輯單元,并從加載存儲單元中讀取操作數;算術邏輯單元執行結束后,由寫回單元將結果寫回寄存器堆中;

    4、算術邏輯單元,包括alu邏輯運算子單元、cordic運算子單元與運算數據通路模塊;cordic運算子單元根據cordic角度解算指令,發起對運算數據通路模塊的共享操作請求,并從運算通路模塊中取回運算結果;運算數據通路模塊接受alu邏輯運算子模塊與cordic運算子單元的請求并進行計算,計算完畢后將計算結果返回給對應的alu邏輯運算子模塊與cordic運算子單元;

    5、cordic運算子單元包括象限與特殊角度判別模塊、cordic算法串行迭代模塊與角度補償模塊;象限與特殊角度判別模塊對輸入的源操作數對應的坐標值進行象限預判,并且對角度進行判別,當角度為預設角度值時,輸出預設的角度解算值,否則進入cordic算法串行迭代模塊,運算結束后經角度補償模塊輸出角度值。

    6、在上述技術方案的基礎上,本專利技術還可以做如下改進。

    7、進一步,cordic指令共32位,第25-31位為func7字段,內容為0000010,定義為cordic指令集;指令的第20-24位為第二源操作數索引;指令的第15-19位為第一源操作數索引;指令的第12-14位為func3字段,該字段為反正切運算指令;指令的第7-11位為結果操作數索引;指令的第0-6位為opcode碼。

    8、進一步,alu邏輯運算子單元與cordic運算子單元在執行指令并進行運算的過程中,共享運算數據通路;alu邏輯運算子單元根據alu指令發起對共享運算通路的操作請求,并從共享運算通路中取回運算結果;cordic運算子單元根據cordic角度解算指令,發起對運算數據通路的共享操作請求,并從運算數據通路中取回運算結果;運算數據通路接受alu邏輯運算子模塊與cordic運算子單元的請求,同時進行運算過程,在計算完畢后,將計算結果返回給相應子單元的運算數據通路。

    9、進一步,操作值包括執行cordic指令所需要讀取的操作數寄存器索引、寫回寄存器索引與操作數。

    10、進一步,譯碼模塊與運算數據通路之間設置有派遣模塊;cordic角度解算長指令首先被派遣到alu邏輯運算子單元,通過alu邏輯運算子單元與交付模塊的接口進行交付,同時根據譯碼得到的相應指示信號經alu邏輯運算子單元將cordic角度解算長指令派遣給cordic運算子單元。

    11、進一步,派遣模塊設置有fifo模塊,當派遣cordic角度解算長指令時,在fifo模塊中分配表項存儲該cordic角度解算長指令的源操作數寄存器索引與結果寄存器索引,之后cordic角度解算長指令完成寫回后將表項中信息從fifo模塊的緩存退出,后續cordic角度解算長指令在派遣時將cordic角度解算長指令的源操作數寄存器索引與結果寄存器索引分別與fifo模塊中各個表項進行對比,判斷cordic角度解算長指令是否與已經派遣但尚未寫回的cordic角度解算長指令產生raw和waw相關性。

    12、進一步,cordic運算子單元初始狀態時接受到初始源操作數與源操作數,同時初始化首輪迭代的角度值;在收到cordic_i_valid信號時,進入cordic角度解算指令執行狀態,cordic_sta_is_exec有效;在接收到exec_last_cycle信號時,完成cordic角度解算指令最后一輪計算:退出角度計算迭代過程,cordic_sta_is_done信號有效;運算完成后輸出cordic_o_valid信號與最后解算出的32位角度值;cordic運算子單元在收到初始化與刷新等命令時,不采取任何操作,狀態為閑置狀態。

    13、進一步,cordic運算子單元復用與共享運算數據通路,包括:

    14、cordic運算子單元在每一輪迭代運算的過程中向運算數據通路x值和y值分別表示cordic運算輸入值,z值表示cordic運算輸出值,x和y均為坐標信息,z為根據輸入的角度信息求得的輸出角度值,并通過輸出控制信號同時控制迭代計算開始、迭代計算進行與迭代計算結束;控制信號包括加運算信號、減運算信號與移位信號;運算數據通路接收到控制信號,使用運算通路內部加法器、減法器與移位寄存器進行運算;每一輪迭代運算的輸出反饋為cordic運算子單元的輸入,直到導出最終結果。

    15、進一步,cordic運算子單元包含角度補償單元與角度判別單元;角度補償單元通過區間轉換,將cordic角度輸出范圍拓寬至(0,2π),同時經過角度判別單元判斷cordic角度,在cordic角度屬于設定角度時,直接輸出對應的函數值。

    16、本專利技術的有益效果是:

    17、(1)本專利技術基于risc-v架構,根據risc-v架構的指令編碼規則擴展cordic角度解算指令集并設計相應的流水線硬件結構,原有的risc-v指令集采用固定的47條指令rv32i作為核心,為基本整數指令,其中r-type指令集為算數運算指令,包含基礎指令集(funct7字段為0000000)和乘法指令集(funct7字段為0000001)。本設計在原有指令集基礎上擴展cordic運算指令集(funct7字段為0000010),并具備完整的包含取指階段與執行階段的硬件流水線結構,使得risc-v架構支持三角函數運算;

    18、(2)本專利技術設計完成了完整的cordic運算通路硬件電路結構。當接收到來自ifu指令寄存器中的cordic運算指令后由譯碼模塊根據risc-v架構的指令編碼規則進行譯碼,產生cordic運算指令類型信息、操作數寄存器索引。cordic運算指令經過譯碼且從寄存本文檔來自技高網...

    【技術保護點】

    1.基于CORDIC指令的角度解算系統,其特征在于,包括IFU取指令單元與EXU執行單元;

    2.根據權利要求1所述基于CORDIC指令的角度解算系統,其特征在于,CORDIC指令共32位,第25-31位為func7字段,內容為0000010,定義為CORDIC指令集;指令的第20-24位為第二源操作數索引;指令的第15-19位為第一源操作數索引;指令的第12-14位為func3字段,該字段為反正切運算指令;指令的第7-11位為結果操作數索引;指令的第0-6位為opcode碼。

    3.根據權利要求1所述基于CORDIC指令的角度解算系統,其特征在于,ALU邏輯運算子單元與CORDIC運算子單元在執行指令并進行運算的過程中,共享運算數據通路;ALU邏輯運算子單元根據ALU指令發起對共享運算通路的操作請求,并從共享運算通路中取回運算結果;CORDIC運算子單元根據CORDIC角度解算指令,發起對運算數據通路的共享操作請求,并從運算數據通路中取回運算結果;運算數據通路接受ALU邏輯運算子模塊與CORDIC運算子單元的請求,同時進行運算過程,在計算完畢后,將計算結果返回給相應子單元的運算數據通路。

    4.根據權利要求1所述基于CORDIC指令的角度解算系統,其特征在于,操作值包括執行CORDIC指令所需要讀取的操作數寄存器索引、寫回寄存器索引與操作數。

    5.根據權利要求1所述基于CORDIC指令的角度解算系統,其特征在于,譯碼模塊與運算數據通路之間設置有派遣模塊;CORDIC角度解算長指令首先被派遣到ALU邏輯運算子單元,通過ALU邏輯運算子單元與交付模塊的接口進行交付,同時根據譯碼得到的相應指示信號經ALU邏輯運算子單元將CORDIC角度解算長指令派遣給CORDIC運算子單元。

    6.根據權利要求4所述基于CORDIC指令的角度解算系統,其特征在于,派遣模塊設置有FIFO模塊,當派遣CORDIC角度解算長指令時,在FIFO模塊中分配表項存儲該CORDIC角度解算長指令的源操作數寄存器索引與結果寄存器索引,之后CORDIC角度解算長指令完成寫回后將表項中信息從FIFO模塊的緩存退出,后續CORDIC角度解算長指令在派遣時將CORDIC角度解算長指令的源操作數寄存器索引與結果寄存器索引分別與FIFO模塊中各個表項進行對比,判斷CORDIC角度解算長指令是否與已經派遣但尚未寫回的CORDIC角度解算長指令產生RAW和WAW相關性。

    7.根據權利要求1所述基于CORDIC指令的角度解算系統,其特征在于,CORDIC運算子單元初始狀態時接受到初始源操作數與源操作數,同時初始化首輪迭代的角度值;在收到cordic_i_valid信號時,進入CORDIC角度解算指令執行狀態,cordic_sta_is_exec信號有效;在接收到exec_last_cycle信號時,完成CORDIC角度解算指令最后一輪計算:退出角度計算迭代過程,cordic_sta_is_done信號有效;運算完成后輸出cordic_o_valid信號與最后解算出的32位角度值;CORDIC運算子單元在收到初始化與刷新等命令時,不采取任何操作,狀態為閑置狀態。

    8.根據權利要求1所述基于CORDIC指令的角度解算系統,其特征在于,CORDIC運算子單元復用與共享運算數據通路,包括:

    9.根據權利要求1所述基于CORDIC指令的角度解算系統,其特征在于,CORDIC運算子單元包含角度補償單元與角度判別單元;角度補償單元通過區間轉換,將CORDIC角度輸出范圍拓寬至(0,2π),同時經過角度判別單元判斷CORDIC角度,在CORDIC角度屬于設定角度時,直接輸出對應的函數值。

    ...

    【技術特征摘要】

    1.基于cordic指令的角度解算系統,其特征在于,包括ifu取指令單元與exu執行單元;

    2.根據權利要求1所述基于cordic指令的角度解算系統,其特征在于,cordic指令共32位,第25-31位為func7字段,內容為0000010,定義為cordic指令集;指令的第20-24位為第二源操作數索引;指令的第15-19位為第一源操作數索引;指令的第12-14位為func3字段,該字段為反正切運算指令;指令的第7-11位為結果操作數索引;指令的第0-6位為opcode碼。

    3.根據權利要求1所述基于cordic指令的角度解算系統,其特征在于,alu邏輯運算子單元與cordic運算子單元在執行指令并進行運算的過程中,共享運算數據通路;alu邏輯運算子單元根據alu指令發起對共享運算通路的操作請求,并從共享運算通路中取回運算結果;cordic運算子單元根據cordic角度解算指令,發起對運算數據通路的共享操作請求,并從運算數據通路中取回運算結果;運算數據通路接受alu邏輯運算子模塊與cordic運算子單元的請求,同時進行運算過程,在計算完畢后,將計算結果返回給相應子單元的運算數據通路。

    4.根據權利要求1所述基于cordic指令的角度解算系統,其特征在于,操作值包括執行cordic指令所需要讀取的操作數寄存器索引、寫回寄存器索引與操作數。

    5.根據權利要求1所述基于cordic指令的角度解算系統,其特征在于,譯碼模塊與運算數據通路之間設置有派遣模塊;cordic角度解算長指令首先被派遣到alu邏輯運算子單元,通過alu邏輯運算子單元與交付模塊的接口進行交付,同時根據譯碼得到的相應指示信號經alu邏輯運算子單元將cordic角度解算長指令派遣給cordic運算子單元。

    6.根據權利要求4所述基于co...

    【專利技術屬性】
    技術研發人員:靳松遲藝璐
    申請(專利權)人:華北電力大學保定
    類型:發明
    國別省市:

    網友詢問留言 已有0條評論
    • 還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。

    1
    主站蜘蛛池模板: 国产成人无码A区在线观看视频| av色欲无码人妻中文字幕| 亚洲AV无码一区二区一二区 | 人妻丰满熟妇AV无码片| 亚洲日韩国产二区无码| 亚洲中文字幕无码久久精品1| 人妻夜夜添夜夜无码AV| 久久亚洲精品无码gv| 午夜不卡无码中文字幕影院| 日韩精品无码一区二区视频| 乱人伦人妻中文字幕无码久久网| 亚洲AV无码资源在线观看| 国产成人无码AV一区二区 | 亚洲av麻豆aⅴ无码电影| 亚洲AV日韩AV永久无码免下载 | 成人av片无码免费天天看| 精品国精品无码自拍自在线| 欧洲Av无码放荡人妇网站| 亚洲AV无码一区二区三区在线观看 | 国产午夜无码视频在线观看| 精品无码国产AV一区二区三区| 无码无需播放器在线观看| 亚洲国产精品无码中文字| 亚洲AV无码乱码在线观看富二代 | 国产热の有码热の无码视频| 无码人妻精品一区二区三区不卡| 精品久久无码中文字幕| 人妻少妇偷人精品无码| 国产热の有码热の无码视频| 亚洲AV无码精品色午夜在线观看| 精品无码久久久久久久动漫 | 人妻AV中出无码内射| 曰韩无码AV片免费播放不卡| 亚洲Av无码国产一区二区| 亚洲一区二区三区国产精品无码 | 亚洲欧洲自拍拍偷午夜色无码| 日韩人妻系列无码专区| 精品无码黑人又粗又大又长| 成年午夜无码av片在线观看| 久久av高潮av无码av喷吹| 十八禁视频在线观看免费无码无遮挡骂过 |