TW548587B

Apparatus and method for data processing and computer program product

Abstract

A data processing system is provided with an instruction (ADD8TO16) thatunpacks non-adjacent portions of a data word using sign or zero extension andcombines this with a single-instruction-multiple-data type arithmetic operation, suchas an add, performed in response to the same instruction. The instruction is wellsuited to use within systems having a data path (2) including a shifting circuit (6)upstream of an arithmetic circuit (8).

TW548587B, drawing sheet 1
Sheet 1 of 3

Term

No projected expiry on record.

  1. Priority
  2. Filed
  3. Granted
  4. Today

15 claims: 15 independent, 0 dependent

  1. 1
    一種資料處理裝置,該裝置至少包含:(i)一平移電路;(ii)一算術電路;和(iii)一指令解碼器,在一制令下達之後動作,用以控制上述平移電路和上述算術電路的一指令,且對一資料字組Rn及一資料字組Rm執行一運算產生一特定的值,該動作包含下列步驟:(iv)選擇多個上述資料字組Rm的非相鄰多位元部分組成一位元長度A的多位元部分;(v)隨意地以一般的的平移量平移上述多個多位元部分至平移後的位元位置;(vi)將上述多組多位元部份每個都從上述之A位元長度提升(promote)至B位元長度用以構成多組已提升的多位元部份,如此一來上述已提升的多位元部份可以連接構成一已提升的資料字組P;及(vii)執行多組獨立的算術運算當作輸入運算元,其為B位元長度之個別的位元位置部份由上述已提升之資料字組P和上述的字組Rn構成一結果字組Rd。
  2. 2
    如申請專利範圍第1項所述之裝置,其中B=2*A。
  3. 3
    如申請專利範圍第1項所述之裝置,其中上述多個為位元部分會平移至以平移的位元位置使得一最低的位元位置部分從第零位元位置往上延伸。
  4. 4
    如申請專利範圍第1項所述之裝置,其中將上述多位元部分從位元長度A提升至位元長度B的步驟至少包含下列之一:(i)有號延伸(sign extending)上述多位元部分至位元長度為B;且(ii)零延伸(zero extending)上述多位元部分至位元長度為B。
  5. 5
    如申請專利範圍第1項所述之裝置,其中上述獨立的算術運算為獨立的加法運算。
  6. 6
    如申請專利範圍第1項所述之裝置,其中上述的資料字組位元長度為C且C=N*B,其中N為大於一的整數。
  7. 7
    如申請專利範圍第2項所述之裝置,其中C=B*2。
  8. 8
    如申請專利範圍第1項所述之裝置,其中B=16,且A=8。
  9. 9
    如申請專利範圍第1項所述之裝置,其中上述一般位移量是B-A。
  10. 10
    如申請專利範圍第1項所述之裝置,其中上述指令是一單一-指令-多重-資料指令。
  11. 11
    如申請專利範圍第1項所述之裝置,其中上述指令結合一資料值卸載運算和一算術運算。
  12. 12
    如申請專利範圍第1項所述之裝置,其中上述平移電路是上述裝置的資料路徑中上述算術電路的逆運作。
  13. 13
    如申請專利範圍第1項所述之裝置,其中該提升電路可用以將上述多位元部分由位元長度A提升為位元長度B,且該提升電路用以和上述平移電路並聯,而當執行上述指令時上述平移電路將有限制範圍的一般平移量當作資料值提供予上述平移電路傳遞,與其相比較的是當執行其他指令時上述平移電路提供的是一般平移量範圍。
  14. 14
    一種處理資料的方法,該方法至少包含解碼和執行一產生特定值的指令,該指令執行下列步驟:(i)選擇多個上述資料字組Rm的非相鄰多位元部分用以組成多個位元長度為A的多位元部分;(ii)隨意地以一般平移量平移上述多個多位元部分至平移後的位元位置;(iii)將上述多組多位元部份每個都從上述之A位元長度提升(promote)至B位元長度用以構成多組已提升的多位元部份,如此一來上述已提升的多位元部份可以連接構成一已提升的資料字組P;且(iv)執行多組獨立的算術運算當作輸入運算元,其為B位元長度之個別的位元位置部份由上述已提升之資料字組P和上述的字組Rn構成一結果字組Rd。
  15. 15
    一種計算機程式產品,至少包含一計算機程式,用以控制計算機執行如申請專利範圍第14項中所述的方法。
Independent claims15