[發(fā)明專利]一種矢量CRC校驗指令的設計方法在審
| 申請?zhí)枺?/td> | 201410366239.0 | 申請日: | 2014-07-29 |
| 公開(公告)號: | CN104133736A | 公開(公告)日: | 2014-11-05 |
| 發(fā)明(設計)人: | 劉勇;陶建平;王和國;孫振瑋;張永攀 | 申請(專利權)人: | 江蘇宏云技術有限公司 |
| 主分類號: | G06F11/10 | 分類號: | G06F11/10 |
| 代理公司: | 常州市維益專利事務所 32211 | 代理人: | 王涵江 |
| 地址: | 215634 江蘇省蘇州市張家港市保稅*** | 國省代碼: | 江蘇;32 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 矢量 crc 校驗 指令 設計 方法 | ||
技術領域
一種DSP中矢量CRC校驗指令的設計方法,涉及通信芯片中的數字信號處理,屬于通信、存儲領域,特別涉及數字信號處理芯片中CRC校驗模塊的設計。
背景技術
CRC編碼是一種循環(huán)冗余校驗碼(Cyclic?Redundancy?Check),是數據通信領域中最常用的一種差錯校驗碼,其特征是信息字段和檢驗字段的長度可以任意選定。
CRC校驗的基本思想是利用線性編碼理論,在發(fā)送端根據要傳送的k位二進制碼序列,以一定的規(guī)則產生一個檢驗碼r位,附在信息后,構成一個新的二進制碼序列共(k+r)位,最后發(fā)送出去。接收端根據同樣的規(guī)則校驗,以確定傳送中是否出錯。
傳統(tǒng)的CRC校驗實現(xiàn)方法有軟件方法和硬件方法,軟件方法主要有直接計算法和查表法,直接計算法適用于所有長度的數據校驗,最為靈活,但由于是按位計算,是一種串行計算方法,效率差,速度慢。查表法按字節(jié)計算CRC校驗,是一種并行計算方法,但是需要提前存儲一個256字節(jié)的表格,會占用較多的硬件資源。硬件實現(xiàn)方法的優(yōu)點是計算速度快、效率高,但靈活性較差、不具有通用性,成本高。
隨著通訊技術的發(fā)展,對數據的處理效率要求越來越高,越來越多的設計方法選擇了CRC的硬件實現(xiàn)方式,為了克服硬件實現(xiàn)方式靈活性和通用性差的缺點,在處理器中設計CRC校驗指令逐漸成為一種趨勢,Intel公司提出了一套靈活CRC指令集(CN?102096609?A),任給一個CRC多項式和數據,都可以對數據進行多項式規(guī)定的CRC校驗,其實現(xiàn)過程是首先通過多項式求模運算對CRC多項式進行擴展,得到預計算擴展多項式,然后對數據進行混洗,混洗后利用擴展多項式反復對數據在Galois域上做多項式除法,最后得到CRC校驗結果,此種CRC指令集雖然使用靈活,但是實現(xiàn)流程復雜,運行效率較低。
本DSP主要面向通信領域,使用的CRC校驗種類比較固定,所以直接在DSP中設計了CRC的專用指令,指令設計簡單,運行效率高,設計方法與Intel的靈活CRC指令集有本質的區(qū)別。通過軟件編程調用這些CRC指令即可快速完成CRC校驗,實現(xiàn)簡單、快速且節(jié)省資源。本發(fā)明利用SIMD(Single?Instruction?Multiple?Data)技術、流水線技術和指令并發(fā)技術大幅提高了CRC校驗的速率。同時,本CRC校驗的專用指令共享了處理器的部分硬件資源,節(jié)省了硬件開銷。
發(fā)明內容
本發(fā)明要解決的技術問題是:本發(fā)明設計了一種全新的矢量CRC執(zhí)行單元,在此基礎上完實現(xiàn)了矢量CRC5校驗指令、矢量CRC8校驗指令、矢量CRC16校驗指令、矢量CRC24校驗指令、矢量CRC32校驗指令的設計以及使用這些指令設計的CRC校驗裝置。
本發(fā)明解決其技術問題所采用的技術方案是:全新的矢量CRC執(zhí)行單元由硬件復用管理單元和狀態(tài)寄存器并行轉移單元組成,硬件復用管理單元控制各條矢量CRC指令充分復用硬件資源,可以保證使用較少的硬件資源即可完成多條矢量CRC指令的設計,減少了硬件開銷;狀態(tài)寄存器并行轉移單元在輸入8bit數據后只需要一個周期即可完成狀態(tài)寄存器值的轉移,運行效率高。
矢量CRC5校驗指令是8路并行CRC校驗指令,每次調用該指令可計算8bit數據,輸入8bit數據后通過推導出的CRC5并行計算公式一個周期即可完成CRC計算,將所有數據計算完成后,結果寄存器中剩余的5bit數據即是CRC校驗結果。
矢量CRC8校驗指令是8路并行CRC校驗指令,每次調用該指令可計算8bit數據,輸入8bit數據后通過推導出的CRC8并行計算公式一個周期即可完成CRC計算,將所有數據計算完成后,結果寄存器中剩余的8bit數據即是CRC校驗結果。
矢量CRC16校驗指令,每次調用該指令可計算8bit數據,輸入8bit數據后通過推導出的CRC16并行計算公式一個周期即可完成CRC計算,將所有數據計算完成后,結果寄存器中剩余的16bit數據即是CRC校驗結果。
矢量CRC24校驗指令,每次調用該指令可計算8bit數據,輸入8bit數據后通過推導出的CRC24并行計算公式一個周期即可完成CRC計算,將所有數據計算完成后,結果寄存器中剩余的24bit數據即是CRC校驗結果。
矢量CRC32校驗指令,每次調用該指令可計算8bit數據,輸入8bit數據后通過推導出的CRC32并行計算公式一個周期即可完成CRC計算,將所有數據計算完成后,結果寄存器中剩余的32bit數據即是CRC校驗結果。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于江蘇宏云技術有限公司,未經江蘇宏云技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業(yè)授權和技術合作,請聯(lián)系【客服】
本文鏈接:http://www.17sss.com.cn/pat/books/201410366239.0/2.html,轉載請聲明來源鉆瓜專利網。





