• / 11
  • 下載費用:30 金幣  

一種位域覆蓋裝置及操作方法.pdf

摘要
申請專利號:

CN201510446008.5

申請日:

2015.07.27

公開號:

CN104991758A

公開日:

2015.10.21

當前法律狀態:

授權

有效性:

有權

法律詳情: 授權|||實質審查的生效IPC(主分類):G06F 9/318申請日:20150727|||公開
IPC分類號: G06F9/318 主分類號: G06F9/318
申請人: 中國科學院自動化研究所
發明人: 周沈剛; 李任偉
地址: 100190北京市海淀區中關村東路95號
優先權:
專利代理機構: 中科專利商標代理有限責任公司11021 代理人: 宋焰琴
PDF完整版下載: PDF下載
法律狀態
申請(專利)號:

CN201510446008.5

授權公告號:

||||||

法律狀態公告日:

2017.11.21|||2015.11.18|||2015.10.21

法律狀態類型:

授權|||實質審查的生效|||公開

摘要

本發明一種位域覆蓋裝置及操作方法,位域覆蓋裝置包括第一譯碼裝置、第二譯碼裝置、移位器、位選擇裝置、加法器及選擇器組,通過移位器得到前景值,通過位選擇裝置得到最終符號位,通過第一譯碼裝置得到背景位選擇信號,通過加法器及第二譯碼裝置得到符號位選擇信號,選擇器組根據符號擴展使能信號、背景位選擇信號及符號位選擇信號,對前景值、最終符號位及背景寄存器中的值進行選擇,得出結果。本發明能快速響應位域覆蓋操作,并具有可選的符號擴展功能。

權利要求書

權利要求書
1.  一種位域覆蓋裝置,用于處理器,所述處理器包括前景寄存器及背景寄存器,其特征在于,所述位域覆蓋裝置包括第一譯碼裝置、第二譯碼裝置、移位器、位選擇裝置、加法器及選擇器組,其中:
所述移位器根據覆蓋起始位置,將所述前景寄存器中的值進行左移,得到前景值;
所述位選擇裝置根據覆蓋長度,選擇所述前景寄存器中需要擴展的符號位,根據覆蓋起始位置選擇所述背景寄存器中的符號位,并從所述選擇的兩個符號位中確定最終符號位;
所述第一譯碼裝置對所述覆蓋起始位置進行譯碼,得到背景位選擇信號;
所述加法器計算所述覆蓋長度與覆蓋起始位置的和,得到和值;
所述第二譯碼裝置對所述和值進行譯碼,得到符號位選擇信號;
所述選擇器組根據符號擴展使能信號、所述背景位選擇信號及所述符號位選擇信號,對所述前景值、所述最終符號位及背景寄存器中的值進行選擇,得出結果。

2.  根據權利要求1所述的位域覆蓋裝置,其特征在于,所述第一譯碼裝置包括第一譯碼器及第一反相器,所述第一譯碼器對所述覆蓋起始位置進行譯碼后,所述第一反相器對譯碼結果進行反向,得到所述背景位選擇信號。

3.  根據權利要求1所述的位域覆蓋裝置,其特征在于,所述位選擇裝置包括第一位選擇器、第二位選擇器及符號位選擇器,所述第一位選擇器根據覆蓋長度選擇所述前景寄存器中需要擴展的符號位,所述第二位選擇器根據覆蓋起始位置選擇所述背景寄存器中的符號位,所述符號位選擇器從所述選擇的兩個符號位中確定最終符號位。

4.  根據權利要求3所述的位域覆蓋裝置,其特征在于,當所述覆蓋長度等于0時,所述符號位選擇器選擇所述第一位選擇器輸出的符號位,否則,所述符號位選擇器選擇所述第二位選擇器輸出的符號位。

5.  根據權利要求1所述的位域覆蓋裝置,其特征在于,所述加法器 還輸出一個進位值。

6.  根據權利要求5所述的位域覆蓋裝置,其特征在于,所述第二譯碼裝置包括第二譯碼器、第二反向器及與門,其中,所述第二譯碼器對所述和值進行譯碼后,輸入到所述與門的一個輸入端,所述第二反向器對所述加法器的進位值進行反向后,輸入到所述與門的另一個輸入端,所述與門對其兩個輸入端的輸入進行與運算,得到所述符號位選擇信號。

7.  根據權利要求1所述的位域覆蓋裝置,其特征在于,所述選擇器組包括第一選擇器、第二選擇器及第三選擇器,其中:
所述前景值及所述背景寄存器中的值分別輸入至所述第一選擇器的輸入端,所述背景位選擇信號輸入至所述第一選擇器的控制端;
所述最終符號位及所述背景寄存器中的值分別輸入至所述第二選擇器的輸入端,將一個擴展使能信號輸入至所述第二選擇器的控制端;
所述第一選擇器及所述第二選擇器的輸出端接所述第三選擇器的輸入端,所述符號位選擇信號輸入至所述第三選擇器的控制端。

8.  一種位域覆蓋操作方法,用于處理器,所述處理器包括前景寄存器及背景寄存器,其特征在于,所述方法包括:
S1,根據覆蓋起始位置,將所述前景寄存器中的值進行左移,得到前景值;
S2,在進行所述步驟S1的同時,根據覆蓋長度,選擇所述前景寄存器中需要擴展的符號位,根據覆蓋起始位置選擇所述背景寄存器中的符號位,并從所述兩個符號位中確定最終符號位;
S3,在進行所述步驟S1的同時,對所述覆蓋起始位置進行譯碼,得到背景位選擇信號;
S4,在進行所述步驟S1的同時,計算所述覆蓋長度與覆蓋起始位置的和,并對所述和值進行譯碼,得到符號位選擇信號;
S5,根據符號擴展使能信號、所述背景位選擇信號及所述符號位選擇信號,對所述前景值、所述最終符號位及背景寄存器中的值進行選擇,得出結果。

說明書

說明書一種位域覆蓋裝置及操作方法
技術領域
本發明屬于數字信號處理領域,尤其涉及一種快速可選符號擴展的位域覆蓋裝置及操作方法。
背景技術
數字信號處理器主要常用于需要大量數據快速處理的特殊領域。現在通信、密碼學、圖像處理、生物計算學等學科領域的發展都需求處理器可以進行快速的位域操作。
所謂位域操作是相對于處理器中其他面向“字”(Word)的操作,其操作力度是比特。普通的移位指令,“與”、“或”、“非”指令即是位域操作,但是其操作簡單,“字”中的每一個都進行了相同的操作。現在,在一些要求苛刻的企業和技術應用領域,一些面向高端市場的通用處理器也引入了一些高級的位域操作指令,例如Intel的Itanium系列處理器。而在數字信號處理中,高級位域指令則比較常見。零擴展或者符號擴展的位域抽取指令是常見的高級位域操作指令,而位域覆蓋指令作為位域抽取指令的反向操作指令也在一些數字處理器中出現。
當前數字信號處理器中位域覆蓋操作的執行方式各有不同,沒有位域覆蓋指令的處理器需要多條其他位域操作指令聯合使用才能完成;某些處理器的位域指令使用現有的移位器加法器等運算單元,經過多個周期的實現,特別是實現符號擴展功能時,有的處理器使用一個32位加法器實現,使得指令實現時間更長(參考ARM專利US7370180B2)。所以較多的處理器的指令集定義的位域覆蓋指令不支持符號擴展,例如ARM Cortex-M3的指令集;某些支持符號擴展的位域覆蓋指令的處理器,該指令也需要多個周期實現。
發明內容
(一)要解決的技術問題
本發明針對現有處理器并不能快速響應具有符號擴展功能的位域覆蓋操作的問題,提供了一個快速的位域覆蓋裝置及操作方法,并具有可選的符號擴展功能。
(二)技術方案
本發明提供一種位域覆蓋裝置,用于處理器,所述處理器包括前景寄存器及背景寄存器,其特征在于,位域覆蓋裝置包括第一譯碼裝置、第二譯碼裝置、移位器、位選擇裝置、加法器及選擇器組,其中:
移位器根據覆蓋起始位置,將前景寄存器中的值進行左移,得到前景值;
位選擇裝置根據覆蓋長度,選擇前景寄存器中需要擴展的符號位,根據覆蓋起始位置選擇背景寄存器中的符號位,并從選擇的兩個符號位中確定最終符號位;
第一譯碼裝置對覆蓋起始位置進行譯碼,得到背景位選擇信號;
加法器計算覆蓋長度與覆蓋起始位置的和,得到和值;
第二譯碼裝置對和值進行譯碼,得到符號位選擇信號;
選擇器組根據符號擴展使能信號、背景位選擇信號及符號位選擇信號,對前景值、所述最終符號位及背景寄存器中的值進行選擇,得出結果。
本發明還提供一種位域覆蓋操作方法,包括:
S1,根據覆蓋起始位置,將前景寄存器中的值進行左移,得到前景值;
S2,在進行步驟S1的同時,根據覆蓋長度,選擇前景寄存器中需要擴展的符號位,根據覆蓋起始位置選擇背景寄存器中的符號位,并從兩個符號位中確定最終符號位;
S3,在進行步驟S1的同時,對所述覆蓋起始位置進行譯碼,得到背景位選擇信號;
S4,在進行步驟S1的同時,計算覆蓋長度與覆蓋起始位置的和,并對所述和值進行譯碼,得到符號位選擇信號;
S5,根據符號擴展使能信號、所述背景位選擇信號及所述符號位選擇信號,對所述前景值、所述最終符號位及背景寄存器中的值進行選擇,得出結果。
(三)有益效果
本發明提供的位域覆蓋裝置及操作方法,借用了處理器中已有的移位模塊,減少了標準單元的使用,減少了面積,降低了功耗;整個邏輯操作是高度并行的,在數字信號處理器中,可以在一個周期之內執行完畢,這簡化了流水線設計,提高了執行效率;使用位選擇器,在移位的同時可并行得到需要擴展的符號位,使用擴展使能信號選擇符號位,比不需要擴展的位域覆蓋操作只多了一級“選擇器”的延時。
附圖說明
圖1是本發明實施例中位域覆蓋操作的示例圖。
圖2是本發明實施例中的位域覆蓋裝置的結構圖。
具體實施方式
本發明提供一種位域覆蓋裝置,包括第一譯碼裝置、第二譯碼裝置、移位器、位選擇裝置、加法器及選擇器組,通過移位器得到前景值,通過位選擇裝置得到最終符號位,通過第一譯碼裝置得到背景位選擇信號,通過加法器及第二譯碼裝置得到符號位選擇信號,選擇器組根據符號擴展使能信號、背景位選擇信號及符號位選擇信號,對前景值、最終符號位及背景寄存器中的值進行選擇,得出結果。
在一種實施方式中,移位器根據覆蓋起始位置,將前景寄存器中的值進行左移,得到前景值;位選擇裝置根據覆蓋長度,選擇前景寄存器中需要擴展的符號位,根據覆蓋起始位置選擇背景寄存器中的符號位,并從選擇的兩個符號位中確定最終符號位;第一譯碼裝置對所述覆蓋起始位置進行譯碼,得到背景位選擇信號;加法器計算所述覆蓋長度與覆蓋起始位置的和,得到和值,第二譯碼裝置對和值進行譯碼,得到符號位選擇信號。
在一種實施方式中,第一譯碼裝置包括第一譯碼器及第一反相器,第一譯碼器對覆蓋起始位置進行譯碼后,第一反相器對譯碼結果進行反向,得到背景位選擇信號。
在一種實施方式中,位選擇裝置包括第一位選擇器、第二位選擇器及符號位選擇器,第一位選擇器根據覆蓋長度選擇前景寄存器中需要擴展的 符號位,第二位選擇器根據覆蓋起始位置選擇背景寄存器中的符號位,符號位選擇器根據覆蓋長度,從選擇的兩個符號位中確定最終符號位。
在一種實施方式中,當覆蓋長度等于0時,符號位選擇器選擇第一位選擇器輸出的符號位,否則,符號位選擇器選擇第二位選擇器輸出的符號位。
在一種實施方式中,加法器還輸出一個進位值。
在一種實施方式中,第二譯碼裝置包括第二譯碼器、第二反向器及與門,其中,第二譯碼器對和值進行譯碼后,輸入到與門的一個輸入端,第二反向器對加法器的進位值進行反向后,輸入到與門的另一個輸入端,與門對其輸入端的輸入進行與運算,得到符號位選擇信號。
在一種實施方式中,選擇器組包括第一選擇器、第二選擇器及第三選擇器,前景值及背景寄存器中的值分別輸入至第一選擇器的輸入端,所述背景位選擇信號輸入至第一選擇器的控制端;最終符號位及所述背景寄存器中的值分別輸入至所述第二選擇器的輸入端,將一個擴展使能信號輸入至第二選擇器的控制端;第一選擇器及第二選擇器的輸出端接第三選擇器的輸入端,符號位選擇信號輸入至第三選擇器的控制端。
本發明還提供一種位域覆蓋操作方法,包括:
S1,根據覆蓋起始位置,將前景寄存器中的值進行左移,得到前景值;
S2,在進行步驟S1的同時,根據覆蓋長度,選擇前景寄存器中需要擴展的符號位,根據覆蓋起始位置選擇背景寄存器中的符號位,并從兩個符號位中確定最終符號位;
S3,在進行步驟S1的同時,對所述覆蓋起始位置進行譯碼,得到背景位選擇信號;
S4,在進行步驟S1的同時,計算覆蓋長度與覆蓋起始位置的和,并對所述和值進行譯碼,得到符號位選擇信號;
S5,根據符號擴展使能信號、所述背景位選擇信號及所述符號位選擇信號,對所述前景值、所述最終符號位及背景寄存器中的值進行選擇,得出結果。
為使本發明的目的、技術方案和優點更加清楚明白,以下結合具體實施例,并參照附圖,對本發明進一步詳細說明。
圖1是本發明一實施例提供的位域覆蓋操作的示意圖。
位域覆蓋操作的操作數在處理器中的定義如下:
1、背景寄存器Rb和前景寄存器Rf,寄存器位寬與處理器位寬相同,下文中涉及的寄存器均是處理器位寬N,一般情況下N=32或64;
2、覆蓋起始位置Pos,位寬為log2N,取值范圍N-1至0;
3、覆蓋長度Len,位寬為log2N+1,取值范圍N至0;
4、符號擴展使能E。
圖1的(a)圖是無需符號擴展的位域操作示意圖。在前景寄存器Rf中從最低位開始,取Len位,覆蓋到背景寄存器中從Pos位(第Pos+1位,含該位)開始的Len位。當Pos等于0,Len不為0,則背景寄存器Rb中的最低位也將被覆蓋。若Pos+Len>31,則超出范圍的數值將被舍去。當符號擴展使能時,需要根據結果低Pos+Len位的最高位進行擴展,即S=Dest[Pos+Len-1]。若Len不等于0,則擴展的符號位是前景寄存器中的第Len位(即Rf[Len-1]),結果如圖1的(b)圖所示;若Len等于0,則Pos+Len=Pos,于是當前結果的Pos+Len位是背景寄存器的第Pos位(即Rb[Pos-1]),結果如圖1的(c)圖所示。若Len和Pos都為0,不擴展符號時,結果與背景寄存器相同,符號擴展時,結果是0。
圖2是本發明一實施例提供的位域覆蓋裝置的結構圖,如圖2所示,位域覆蓋裝置包括第一譯碼裝置、第二譯碼裝置、移位器201、位選擇裝置、加法器205及選擇器組206,其中,第一譯碼裝置包括第一譯碼器204及第一反相器,第二譯碼裝置包括第二譯碼器207、第二反向器及與門,選擇器組206包括第一選擇器2061、第二選擇器2062及第三選擇器2063。
位域覆蓋裝置的操作分為兩步,其中,第一步有以下并行操作:
生成前景值F
移位器201根據覆蓋起始位置Pos,將前景寄存器Rf中的值進行左移,得到前景值F。本實施例中,將前景寄存器左移Pos位,如此前景寄存器Rf需要取出的位與背景寄存器中需要覆蓋的位的位置就重合了,如表1所示:
Rb:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbF:ffffffffffffffffffffff0000000000
表1
其中F就是將Rf左移Pos的到的值,用下劃線表示的位是需要覆蓋的比特,移位器201可以使用當前處理器中已有的運算單元實現。
生成背景位選擇信號SelB
第一譯碼裝置包括第一譯碼器204及第一反相器,第一譯碼器對覆蓋起始位置Pos進行譯碼后,第一反相器對譯碼結果進行反向,得到背景位選擇信號SelB。若N=32,則其真值表為:
輸入(Pos)輸出(SelB)000000000_0000_0000_0000_0000_0000_0000_0000000010000_0000_0000_0000_0000_0000_0000_0001000100000_0000_0000_0000_0000_0000_0000_0011000110000_0000_0000_0000_0000_0000_0000_0111001000000_0000_0000_0000_0000_0000_0000_1111111100011_1111_1111_1111_1111_1111_1111_1111111110111_1111_1111_1111_1111_1111_1111_1111
表2
上表的基本意思是SelB從最低位開始,有Pos個1,因為Pos的范圍是31值0,所以SelB的最高位永遠是0。SelB中的每一位將作為一個二選一選擇器的選擇信號。值為1表示該位置不會被前景覆蓋,需要選擇北京寄存器中的對應值。
生成擴展符號S
圖2中使用第一位選擇器202執行從N比特中取出指定位,所以第一位選擇器202的設計實現是一個N選1的選擇器。第二位選擇器203與202的結構相同。位選擇器202輸出Sb=Rb[Pos-1],位選擇器203輸出Sf=Rf[Len-1],由于Pos和Len都可能為0,所以位選擇器202和203滿足輸入是0時輸出也是0,這樣滿足前文的要求。在進行位選擇的同時,可以判斷Len是否為零,在得到Sb和Sf之后,使用判斷結果選擇對應的符號位。一般情況下N選1的選擇器比N位的移位器快(除非兩者都使用二選一選擇器實現),所以認為得到擴展符號位S的時間與移位時間相當。
生成符號位選擇信號SelS
加法器計算覆蓋長度與覆蓋起始位置的和,得到和值,第二譯碼裝置對和值進行譯碼,得到符號位選擇信號SelS。其中,加法器還輸出一個進位值,并且其中,第二譯碼裝置包括第二譯碼器207、第二反向器及與門,其中,第二譯碼器對和值進行譯碼后,輸入到與門的一個輸入端,第二反向器對加法器的進位值進行反向后,輸入到與門的另一個輸入端,與門對其輸入端的輸入進行與運算,得到符號位選擇信號SelS。在本實施例中,雖然Len是Log2N+1位的,但是因為其值只能是N至0,所以加法器205是一個LogN位加法器。使用加法器的和通過與譯碼器204相同的譯碼器207(此處不用加反相器),得到的N位中,值為1表示該位處于需要符號擴展的位置。加法器的進位或者Len的最高位(沒有在圖中表明)如果是1,則表示Len+Pos大于等于N,這表明,結果的N位中,沒有需要擴展的空間,于是即使使能符號擴展,最后的結果也無需選擇擴展符號。操作4)雖然操作較多,但是路徑較短,一個Log2N位的加法器,一級一個Log2N-N的非典型譯碼器,在靜態CMOS中,比N位的移位器路徑短。
通過位片式的選擇器組206進行第二步操作,如圖2所示,選擇器組206包括第一選擇器2061、第二選擇器2062及第三選擇器2063,前景值F及背景寄存器Rb中的值分別輸入至第一選擇器2061的輸入端,所述背景位選擇信號SelB輸入至第一選擇器2061的控制端;擴展符號S及背景寄存器Rb中的值分別輸入至第二選擇器2062的輸入端,將一個擴展使能信號E輸入至第二選擇器2062的控制端;第一選擇器2061及第二選擇器2062的輸出端接第三選擇器2063的輸入端,符號位選擇信號SelS輸入至第三選擇器2063的控制端。
以下是SelB和SelS的示例:
SelB00000000000000000000001111111111SelS11111111111000000000000000000000DestSSSSSSSSSSSFFFFFFFFFFFbbbbbbbbbb
表3
其中下劃線部分是需要前景覆蓋背景的位。
通過表3可以很明顯的看出選擇邏輯。首先根據符號擴展使能信號E確定結果中應該擴展位符號位S還是應該保留背景寄存器Rb中的對應值, 這個操作使用第二選擇器2062進行,得到擴展值ES。
當SelB中值為1時,需要選擇背景寄存器的對應值,否則選擇前景值F,使用第一選擇器2061進行,進行到此處,除了需要擴展的位域數值不對,其他值都已正確,所以進行最后一步,使用SelS進行選擇,SelS中為1的位置正好是需要選擇位擴展值ES的位置,其余的保留使用SelB選擇得到的結果,于是得到最終結果。
以上邏輯也可以進行簡單的刪減,得到不支持符號擴展的硬件邏輯:無需202和203進行符號位的選擇。最終選擇前,將SelB和SelS相“或”,結果中,為1的位置表示需要選擇背景寄存器Rb的值,為0的地方表示需要選擇前景的值。與可選符號擴展的邏輯相比較,在延遲上而言,支持符號擴展的邏輯最多比不支持符號擴展的邏輯多一級二選一邏輯,在單元消耗而言,前者比后者多了兩個位選擇器。不管是延遲還是單元消耗,完全在可承受的范圍之內。
以上所述的具體實施例,對本發明的目的、技術方案和有益效果進行了進一步詳細說明,所應理解的是,以上所述僅為本發明的具體實施例而已,并不用于限制本發明,凡在本發明的精神和原則之內,所做的任何修改、等同替換、改進等,均應包含在本發明的保護范圍之內。

關 鍵 詞:
一種 覆蓋 裝置 操作方法
  專利查詢網所有資源均是用戶自行上傳分享,僅供網友學習交流,未經上傳用戶書面授權,請勿作他用。
關于本文
本文標題:一種位域覆蓋裝置及操作方法.pdf
鏈接地址:http://www.rgyfuv.icu/p-6381623.html
關于我們 - 網站聲明 - 網站地圖 - 資源地圖 - 友情鏈接 - 網站客服客服 - 聯系我們

[email protected] 2017-2018 zhuanlichaxun.net網站版權所有
經營許可證編號:粵ICP備17046363號-1 
 


收起
展開
山东11选5中奖结果走势图