JP2003330702A - Dspのデータ抽出/挿入方法、データ抽出/挿入装置、およびdsp - Google Patents

Dspのデータ抽出/挿入方法、データ抽出/挿入装置、およびdsp

Info

Publication number
JP2003330702A
JP2003330702A JP2003117662A JP2003117662A JP2003330702A JP 2003330702 A JP2003330702 A JP 2003330702A JP 2003117662 A JP2003117662 A JP 2003117662A JP 2003117662 A JP2003117662 A JP 2003117662A JP 2003330702 A JP2003330702 A JP 2003330702A
Authority
JP
Japan
Prior art keywords
value
data
position value
modulo
register
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2003117662A
Other languages
English (en)
Other versions
JP4154276B2 (ja
Inventor
Seung Jae Chung
勝 在 鄭
Yong-Chun Kim
容 天 金
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of JP2003330702A publication Critical patent/JP2003330702A/ja
Application granted granted Critical
Publication of JP4154276B2 publication Critical patent/JP4154276B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30018Bit or string instructions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30032Movement instructions, e.g. MOVE, SHIFT, ROTATE, SHUFFLE
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3004Arrangements for executing specific machine instructions to perform operations on memory
    • G06F9/30043LOAD or STORE instructions; Clear instruction

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Error Detection And Correction (AREA)

Abstract

(57)【要約】 【課題】 DSPのデータ抽出/挿入方法及びデータ抽
出/挿入装置を提供する。 【解決手段】 ソースレジスタ及び目的レジスタを備
え、データ抽出の基準位置を示すポジション値と抽出す
るデータの大きさを示すオフセット値とを利用して前記
ソースレジスタから前記目的レジスタにデータを抽出ま
たは挿入するためのDSPのデータ抽出または挿入方法
である。よって、データ抽出/挿入方法及びデータ抽出
及び挿入装置はデータパケットの大きさがバイトやワー
ド単位ではなくして連続的にデータパケットを抽出また
は挿入しなければならない場合、データパケットの連続
的な抽出及び挿入を効率的に行ってメモリを節約できる
長所がある。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はDSPに係り、特に
データパケットの抽出及び挿入動作時に、大きさがバイ
トやワード単位ではない場合のデータパケットの連続的
な抽出及び挿入を効率的にしてメモリを節約できるデー
タ抽出/挿入方法及び装置に関する。
【0002】
【従来の技術】一般的にパケット単位の通信データなど
の処理のために、最近のDSP(Digital Signal Proce
ssor;以下、DSPとする)は、データの抽出、挿入演
算を行える。図1は、DSPのデータ抽出及び挿入動作
の概念を説明する図面である。図1Aは、データ抽出を
説明する図面である。
【0003】データ抽出は、ソースレジスタS_REG
から一定の大きさのデータを抽出して、目的レジスタD
_REGに貯蔵することである。すなわち、データ抽出
の基準位置を示すポジション値POSと、抽出するデー
タの大きさを示すオフセット値WTHとを利用し、ソー
スレジスタS_REGから一定の大きさのデータを抽出
して、目的レジスタD_REGに貯蔵する。ポジション
値POSにより、ソースレジスタS_REGの特定位置
から、オフセット値WTHに該当する特定の大きさほど
のデータを抽出する。
【0004】図1Bは、データ挿入を説明する図面であ
る。データ挿入は、ソースレジスタS_REGの一定の
大きさのデータを、目的レジスタD_REGの一定の位
置に挿入することである。すなわち、データ挿入の基準
位置を示すポジション値WTHにより、目的レジスタD
_REGの特定位置が指定される。そして、挿入するデ
ータの大きさを示すオフセット値WTHを利用して、ポ
ジション値POSにより指定された目的レジスタD_R
EGの特定位置から、オフセット値WTHに対応する一
定の大きさほどのデータを、目的レジスタD_REGに
挿入する。
【0005】ところで、かようなデータの抽出や挿入
は、データパケットの大きさがバイトやワード単位では
なく、連続してデータを抽出または挿入しなければなら
ない場合には、データが貯蔵されるメモリを効率的に利
用できずに浪費するという問題がある。なぜなら、デー
タはバイト単位やワード単位でメモリに整列されねばな
らないが、データパケットがバイト単位やワード単位で
はないので、データをメモリに空き空間が存在しないよ
うに効率的に貯蔵されないためである。
【0006】
【発明が解決しようとする課題】本発明がなそうとする
技術的課題は、大きさがバイトやワード単位ではない場
合のデータパケットの連続的な抽出及び挿入を効率的に
行って、メモリを節約できるデータ抽出/挿入方法を提
供するところにある。本発明がなそうとする他の技術的
課題は、大きさがバイトやワード単位ではない場合のデ
ータパケットの連続的な抽出及び挿入を効率的に行っ
て、メモリを節約できるデータ抽出/挿入装置を提供す
るところにある。
【0007】
【課題を解決するための手段】前記技術的課題を達成す
るための本発明の第1実施例によるデータ抽出方法は、
ソースレジスタ及び目的レジスタを備え、データ抽出の
基準位置を示すポジション値と抽出するデータの大きさ
を示すオフセット値とを利用して前記ソースレジスタか
ら前記目的レジスタにデータを抽出するためのDSPの
データ抽出方法において、(a)N(Nは自然数)ビッ
トのメモリブロックを複数備えるメモリの第M(Mは自
然数)番目メモリブロックに貯蔵されているデータを前
記ソースレジスタの上位ハーフビットに貯蔵し、第M+
1番目メモリブロックに貯蔵されているデータを前記ソ
ースレジスタの下位ハーフビットに貯蔵する段階、
(b)前記ソースレジスタの前記ポジション値に対応す
る位置から前記オフセット値に対応する大きさのデータ
を抽出して前記目的レジスタに貯蔵し、前記ポジション
値と前記オフセット値とを加えて新しいポジション値と
設定する段階、(c)前記新しいポジション値が所定の
モジューロ値より大きいか小さいかを判断し、前記ポジ
ション値が前記モジューロ値より小さければフラッグ信
号を第1論理レベルに、前記ポジション値が前記モジュ
ーロ値より大きければ前記フラッグ信号を第2論理レベ
ルに発する段階、(d)前記フラッグ信号が第1論理レ
ベルならば前記新しいポジション値を利用して前記
(b)段階及び(c)段階の動作を反復し、前記フラッ
グ信号が第2論理レベルならば前記ソースレジスタの下
位部分のデータを前記ソースレジスタの上位部分に貯蔵
する段階、(e)第2論理レベルを有する前記フラッグ
信号に応じて前記メモリの第M+2番目メモリブロック
に貯蔵されているデータを前記ソースレジスタの下位部
分に貯蔵し、前記新しいポジション値から前記モジュー
ロ値を引いた値を次のポジション値と設定して前記
(b)段階に戻る段階を備えることを特徴とする。
【0008】前記ソースレジスタ及び前記目的レジスタ
は2Nビットのサイズを有し、前記モジューロ値はNで
あることを特徴とする。前記ソースレジスタの上位部分
は前記ソースレジスタの半分であることを特徴とする。
【0009】前記技術的課題を達成するための本発明の
第2実施例によるデータ挿入方法は、ソースレジスタ及
び目的レジスタを備え、データが挿入される基準位置を
示すポジション値と挿入するデータの大きさを示すオフ
セット値とを利用して前記ソースレジスタから前記目的
レジスタにデータを挿入するためのDSPのデータ挿入
方法において、(a)前記ソースレジスタのデータのう
ち前記オフセット値の大きさを有するデータを前記目的
レジスタの前記ポジション値に対応する位置に挿入して
前記目的レジスタに貯蔵し、前記ポジション値と前記オ
フセット値とを加えて新しいポジション値と設定する段
階、(b)前記新しいポジション値が所定のモジューロ
値より大きいか小さいかを判断し、前記ポジション値が
前記モジューロ値より小さければフラッグ信号を第1論
理レベルに、前記ポジション値が前記モジューロ値より
大きければ前記フラッグ信号を第2論理レベルに発する
段階、(c)前記フラッグ信号が第1論理レベルならば
前記新しいポジション値を利用して前記(a)段階及び
(b)段階の動作を反復し、前記フラッグ信号が第2論
理レベルならば前記目的レジスタの上位ハーフビットの
データをN(Nは自然数)ビットのメモリブロックを複
数備えるメモリの第M(Mは自然数)番目メモリブロッ
クに貯蔵する段階、(d)第2論理レベルを有する前記
フラッグ信号に応じて前記目的レジスタの下位ハーフビ
ットのデータを前記目的レジスタの上位ハーフビットに
貯蔵して前記新しいポジション値から前記モジューロ値
を引いた値を次のポジション値と設定して前記(a)段
階に戻る段階、を備えることを特徴とする。
【0010】前記ソースレジスタ及び前記目的レジスタ
は2Nビットのサイズを有し、 前記モジューロ値はN
であることを特徴とする。
【0011】前記他の技術的課題を達成するための本発
明の第1実施例によるデータ抽出及び挿入装置は、デー
タ抽出及び挿入部、ポジション値発生部及びフラッグ信
号発生部を備えることを特徴とする。
【0012】データ抽出及び挿入部は所定のプレポジシ
ョン値と抽出するデータの大きさを示すオフセット値と
を受信して所定のフラッグ信号の第1論理レベルに応じ
てソースレジスタから目的レジスタにデータを抽出また
は挿入し、前記フラッグ信号の第2論理レベルに応じ
て、前記ソースレジスタや前記目的レジスタにメモリか
らデータを受信して貯蔵したり、前記メモリに前記ソー
スレジスタや前記目的レジスタからデータを受信して貯
蔵したりする。ポジション値発生部は外部から入力され
るプレポジション値と外部から入力される前記オフセッ
ト値とを加えて前記ポジション値を発する。
【0013】フラッグ信号発生部は前記ポジション値を
受信して所定のモジューロ値と比較し、前記ポジション
値が前記モジューロ値より小さければ前記ポジション値
を前記プレポジション値として発し、前記ポジション値
が前記モジューロ値より大きければ前記ポジション値か
ら前記モジューロ値を引いた値を前記プレポジション値
として発し、前記ポジション値と前記モジューロ値との
比較結果により前記フラッグ信号を発する。
【0014】前記ポジション値発生部は前記プレポジシ
ョン値を貯蔵するプレポジション値貯蔵部、外部から入
力されるオフセット値を貯蔵するオフセット値貯蔵部、
前記プレポジション値貯蔵部の出力と前記オフセット値
貯蔵部の出力とを加えて前記ポジション値を発する加算
部を備えることを特徴とする。
【0015】前記フラッグ信号発生部は前記モジューロ
値を貯蔵するモジューロ値貯蔵部、前記ポジション値と
前記モジューロ値貯蔵部から出力される前記モジューロ
値の大きさを比較し、前記ポジション値が前記モジュー
ロ値より小さい場合には前記ポジション値を所定の選択
部に出力し、前記ポジション値が前記モジューロ値より
大きい場合には前記ポジション値を所定の減算部に出力
し、前記ポジション値と前記モジューロ値の大きさを比
較した結果により前記フラッグ信号を発する比較部、前
記ポジション値及び前記モジューロ値を受信し、前記ポ
ジション値からモジューロ値を引く演算を行う前記減算
部、前記フラッグ信号に応じて前記比較部から出力され
る前記ポジション値と前記減算部の出力のうち一つを選
択して前記プレポジション値として出力する選択部を備
えることを特徴とする。
【0016】前記比較部は前記ポジション値が前記モジ
ューロ値より小さければ前記フラッグ信号を第1論理レ
ベルに発し、前記ポジション値が前記モジューロ値より
大きければ前記フラッグ信号を第2論理レベルに発す
る。前記選択部は前記フラッグ信号が第1論理レベルな
らば前記比較部から出力される前記ポジション値を選択
して出力し、前記フラッグ信号が第2論理レベルならば
前記減算部の出力を選択して出力することを特徴とす
る。
【0017】前記データ抽出及び挿入部は、データ抽出
動作の場合に前記フラッグ信号の第1論理レベルに応じ
て前記ソースレジスタのデータのうち前記オフセット値
の大きさを有するデータを前記目的レジスタの前記プレ
ポジション値に対応する位置に挿入して前記目的レジス
タに貯蔵し、前記フラッグ信号の第2論理レベルに応じ
て前記ソースレジスタの下位ハーフビットのデータを前
記ソースレジスタの上位ハーフビットに貯蔵し、N(N
は自然数)ビットのメモリブロックを複数備えるメモリ
のM(Mは自然数)番目メモリブロックに貯蔵されてい
るデータを前記ソースレジスタの下位ハーフビットに貯
蔵することを特徴とする。
【0018】前記データ抽出及び挿入部は、データ挿入
動作の場合に前記フラッグ信号の第1論理レベルに応じ
て前記目的レジスタの前記プレポジション値に対応する
位置に前記オフセット値に対応する大きさのデータを挿
入し、前記フラッグ信号の第2論理レベルに応じて前記
目的レジスタの上位ハーフビットのデータをN(Nは自
然数)ビットのメモリブロックを複数備えるメモリの第
M(Mは自然数)番目メモリブロックに貯蔵し、前記目
的レジスタの下位ハーフビットのデータを前記目的レジ
スタの上位ハーフビットに貯蔵することを特徴とする。
【0019】前記ソースレジスタ及び前記目的レジスタ
は2Nビットのサイズを有することを特徴とする。前記
モジューロ値はNであることを特徴とする。前記データ
抽出及び挿入装置はDSPに装着される。
【0020】前記他の技術的課題を達成するための本発
明の第2実施例によるDSPは、ポジション値発生部、
フラッグ信号発生部及びデータパケット抽出及び挿入手
段を備える。
【0021】ポジション値発生部は、外部から入力され
るプレポジション値と外部から入力されるオフセット値
とを加えて前記ポジション値を発する。
【0022】フラッグ信号発生部は前記ポジション値を
受信して所定のモジューロ値と比較し、前記ポジション
値が前記モジューロ値より小さければ前記ポジション値
を前記プレポジション値として発し、前記ポジション値
が前記モジューロ値より大きければ前記ポジション値か
ら前記モジューロ値を引いた値を前記プレポジション値
として発し、前記ポジション値と前記モジューロ値との
比較結果により前記フラッグ信号を発する。
【0023】データパケット抽出及び挿入手段はバイト
やワードの大きさを有するデータパケットを抽出したり
挿入する手段であり、所定のプレポジション値と抽出す
るデータの大きさを示す前記オフセット値とを受信して
所定のフラッグ信号の第1論理レベルに応じてソースレ
ジスタから目的レジスタにデータを抽出または挿入し、
前記フラッグ信号の第2論理レベルに応じて前記ソース
レジスタや前記目的レジスタにメモリからデータを受信
して貯蔵したり前記メモリにデータを貯蔵する。
【0024】
【発明の実施の形態】以下、添付した図面を参照して本
発明の望ましい実施例を説明することにより、本発明を
詳細に説明する。各図面に提示された同じ参照符号は、
同じか均等な構成要素を示す。図2は本発明の第2実施
例によるデータ抽出方法を示すフローチャートである。
図3は図2のデータ抽出方法の概念を説明する図面であ
る。
【0025】図2を参照すれば、本発明の第1実施例に
よるデータ抽出方法200はソースレジスタ及び目的レ
ジスタを備え、データ抽出の基準位置を示すポジション
値と抽出するデータの大きさを示すオフセット値とを利
用して前記ソースレジスタから前記目的レジスタにデー
タを抽出するためのDSPのデータ抽出方法である。さ
らに説明すれば、データ抽出方法200は、N(Nは自
然数)ビットのメモリブロックを複数備えるメモリの第
M(Mは自然数)番目メモリブロックに貯蔵されている
データを前記ソースレジスタの上位ハーフビットに貯蔵
し、第M+1番目メモリブロックに貯蔵されているデー
タを前記ソースレジスタの下位ハーフビットに貯蔵する
(210段階)。
【0026】前記ソースレジスタの前記ポジション値に
対応する位置から前記オフセット値に対応する大きさの
データを抽出して、前記目的レジスタに貯蔵し、前記ポ
ジション値と前記オフセット値とを加えて、新しいポジ
ション値と設定する(220段階)。前記新しいポジシ
ョン値が所定のモジューロ値より大きいか小さいかを判
断し、前記ポジション値が前記モジューロ値より小さけ
ればフラッグ信号を第1論理レベルに、前記ポジション
値が前記モジューロ値より大きければ前記フラッグ信号
を第2論理レベルに発する(230段階)。
【0027】前記フラッグ信号が第1論理レベルならば
前記新しいポジション値を利用して前記220段階及び
230段階の動作を反復し(240段階)、前記フラッ
グ信号が第2論理レベルならば前記ソースレジスタの下
位ハーフビットのデータを前記ソースレジスタの上位ハ
ーフビットに貯蔵する(250,260段階)。第2論
理レベルを有する前記フラッグ信号に応じて前記メモリ
の第M+2番目メモリブロックに貯蔵されているデータ
を前記ソースレジスタの下位ハーフビットに貯蔵し、前
記新しいポジション値から前記モジューロ値を引いた値
を次のポジション値と設定して前記220段階に戻る
(270段階)。前記ソースレジスタ及び前記目的レジ
スタは2Nビットのサイズを有し、前記モジューロ値は
Nであることを特徴とする。
【0028】以下図2及び図3を参照して、本発明の第
1実施例によるデータ抽出方法が詳細に説明する。図3
にはソースレジスタS_REG(1),S_REG
(2)が2つ、目的レジスタD_REG(1),D_R
EG(2)が2つ示されている。ソースレジスタS_R
EG(1)とソースレジスタS_REG(2)とは同じ
レジスタである。すなわち、後述されるソースレジスタ
S_REG(1)の下位ハーフビットのデータが同じソ
ースレジスタS_REG(1)の上位ハーフビットにコ
ピーされる動作を説明するために2つに分けて示しただ
けである。目的レジスタD_REG(1)と目的レジス
タD_REG(2)も同様に同じレジスタである。
【0029】メモリは普通Nビットのサイズを有する。
ここで、Nは自然数である。一般的にメモリは16ビッ
トや32ビットのサイズを有する。普通一つのデータパ
ケットのサイズはバイトやワード単位である。従って、
バイトやワードのサイズを有するデータパケットは、メ
モリからレジスタに移動される場合にデータパケットが
分割されずに移動されうる。しかし、データパケットの
サイズがバイトやワード単位ではなくして処理さるべき
データパケットが連続的な場合、バイトやワードサイズ
を有さないデータパケットはメモリからレジスタに移動
する場合にデータパケットが分割されるという問題があ
る。
【0030】また、レジスタからメモリにデータパケッ
トが貯蔵される場合にも16ビットや32ビットのメモ
リ空間を全て満たせずに次のメモリに貯蔵されるので、
メモリ空間を効率的に使用できなくなる。本発明の第1
実施例によるデータ抽出方法200はこのような問題を
解決するためのものである。図3のメモリ300はデー
タパケットの大きさがバイトやワード単位ではない場合
を示す。図3では説明の便宜のためにデータパケットP
0,P1 …,P13はそれぞれ7ビットのサイズを有
するものとする。
【0031】メモリ300は、説明の便宜のために、1
6ビットサイズを有して複数のメモリブロックを備える
ものとする。第1メモリブロックM1に7ビットの大き
さを有する第1データパケットP0と第2データパケッ
トP1とが貯蔵されている。第3データパケットP2も
7ビットのサイズを有するが、第1メモリブロックM1
に全て貯蔵されえないので、第1メモリブロックM1に
2ビット、第2メモリブロックM2に5ビットが貯蔵さ
れる。第4データパケットP3が第2メモリブロックM
2に貯蔵されている。第5データパケットP4は第2メ
モリブロックM2に全て貯蔵されえないので、第2メモ
リブロックM2に4ビット、第3メモリブロックM3に
3ビットが貯蔵される。かような方法で、第14データ
パケットP13の一部が第6メモリブロックM6に貯蔵
されている。
【0032】まず、第Mメモリブロックに貯蔵されてい
るデータをソースレジスタS_REG(1)の上位ハー
フビットに貯蔵し、第M+1番目メモリブロックに貯蔵
されているデータをソースレジスタS_REG(1)の
下位ハーフビットに貯蔵する(210段階)。ここで、
Mは説明の便宜のために1とする。従って、第1メモリ
ブロックM1に貯蔵されているデータをソースレジスタ
S_REG(1)の上位ハーフビットに貯蔵し、第2メ
モリブロックM2に貯蔵されているデータをソースレジ
スタS_REG(1)の下位ハーフビットに貯蔵する。
【0033】従って、第1データパケットP0ないし第
4データパケットP3と第5データパケットP4の一部
とがソースレジスタに貯蔵される。このような過程は図
3にて(1)と(2)とで示されている。ソースレジス
タS_REG(1)はメモリのサイズの2倍のサイズを
有する。すなわち、ここでは32ビットのサイズを有す
る。ソースレジスタS_REG(1)のポジション値に
対応する位置からオフセット値に対応する大きさのデー
タを抽出して、目的レジスタD_REG(1)に貯蔵
し、ポジション値とオフセット値とを加えて、新しいポ
ジション値と設定する(220段階)。
【0034】ポジション値PVはデータ抽出の基準位置
を示し、オフセット値は抽出するデータの大きさを示
す。ここで、オフセット値は一つのデータパケットを抽
出するために7ビットとする。最初のポジション値PV
1からオフセット値に対応する大きさのデータを抽出す
る。オフセット値が一つのデータパケットの大きさと同
じなので、結局、第1データパケットP0が抽出されて
目的レジスタD_REG(1)に貯蔵される。そして、
以前のポジション値PV1にオフセット値を加えて、新
しいポジション値PV2と設定する。従って、新しいポ
ジション値PV2は、もとのポジション値PV1より7
ビットほど大きくなる。最初のポジション値PV1がソ
ースレジスタS_REG(1)の0番目ビットならば、
新しいポジション値PV2はソースレジスタS_REG
(1)の7番目ビットとなる。
【0035】新しいポジション値PV2が所定のモジュ
ーロ値MVより大きいか小さいかを判断し、ポジション
値PV2がモジューロ値MVより小さければフラッグ信
号を第1論理レベルに、ポジション値PV2がモジュー
ロ値MVより大きければフラッグ信号を第2論理レベル
に発する(230段階)。フラッグ信号が第1論理レベ
ルならば新しいポジション値を利用して前記220段階
及び230段階の動作を反復する(240段階)。さら
に説明すれば、ポジション値PV2が所定のモジューロ
値MVより大きいか小さいかを比較する。ここで、モジ
ューロ値MVはソースレジスタS_REG(1)または
目的レジスタD_REG(1)の大きさの1/2値であ
る。従って、図3では16になる。
【0036】モジューロ値MVについてさらに説明す
る。モジューロ値MVは、ポジション値PVが示すソー
スレジスタS_REG(1)でのアドレスの範囲を規定
したものである。ポジション値PVが示すアドレスが定
められたモジューロ値MVを超える場合、ポジション値
PVは、定められたモジューロ値MVの範囲内に再び戻
る。例えば、モジューロ値MVが16であって、ポジシ
ョン値PVが10であって、オフセット値が3である場
合、ポジション値PVにオフセット値を加えた結果であ
る13は、モジューロ値MVの16より小さい。この場
合には、そのまま13が新しいポジション値PVにな
る。
【0037】しかし、もしオフセット値PVが8なら
ば、ポジション値PVとオフセット値とを加えた結果は
18であり、これはモジューロ値MVの16より大きい
ので18から16を引いた結果である2が新しいポジシ
ョン値PVになる。すなわち、ポジション値PVは、モ
ジューロ値MVより常に小さい値と決定される。このよ
うな概念をDSPのモジューロアドレシング概念とい
う。ポジション値PV2は、ソースレジスタS_REG
(1)の7番目ビットであって、モジューロ値MVは1
6である。ポジション値PV2がモジューロ値MVより
小さいので、フラッグ信号は第1論理レベルに発せられ
る。
【0038】フラッグ信号は、ポジション値PV2とモ
ジューロ値MVの大きさを比較した結果に応じて、第1
論理レベルまたは第2論理レベルに発せられる信号であ
る。ここで、第1論理レベルは論理ハイレバルである
か、あるいは論理ローレベルでありうる。しかし、説明
の便宜のために論理ローレベルとする。フラッグ信号が
論理ローレベルであるので、第210段階の動作を再び
反復する。すなわち、ソースレジスタS_REG(1)
のポジション値PV2からオフセット値に対応する大き
さのデータを抽出する。オフセット値が一つのデータパ
ケットの大きさと同じなので、結局第2データパケット
P1が抽出されて目的レジスタD_REG(1)に貯蔵
される。目的レジスタD_REG(1)に貯蔵されてい
た第1データパケットP0は外部に出力される。
【0039】そして、以前のポジション値PV27とオ
フセット値とが加えられて新しいポジション値PV3が
14と設定される。ポジション値PV3とモジューロ値
MVとを比較する。ポジション値PV3がモジューロ値
MVより小さいので、フラッグ信号は論理ローレベルに
発せられる。ソースレジスタS_REG(1)の新しい
ポジション値PV3からオフセット値に対応する大きさ
のデータを抽出する。オフセット値が一つのデータパケ
ットの大きさと同じなので、結局第3データパケットP
2が抽出されて目的レジスタD_REG(1)に貯蔵さ
れる。この時、目的レジスタD_REG(1)に貯蔵さ
れていた第2データパケットP1は外部に出力される。
【0040】以前のポジション値PV314とオフセッ
ト値とを加えて、新しいポジション値PV4を21と設
定する。そして、ポジション値PV4が所定のモジュー
ロ値MVより大きいか小さいかを比較する。ポジション
値PV4は21であってモジューロ値MVは16である
ので、ポジション値PV4がモジューロ値MVより大き
い。従って、フラッグ信号は第2論理レベルに発せられ
る。フラッグ信号が第2論理レベルならば、ソースレジ
スタS_REG(1)の下位ハーフビットのデータをソ
ースレジスタS_REG(2)の上位ハーフビットに貯
蔵する(260段階)。
【0041】第2論理レベルを有するフラッグ信号に応
じて、メモリ300の第M+2番目メモリブロックに貯
蔵されているデータを、ソースレジスタS_REG
(2)の下位ハーフビットに貯蔵し、新しいポジション
値PV4からモジューロ値MVを引いた値を、次のポジ
ション値PV5と設定して、前記220段階に戻る(2
70段階)。すなわち、図3にて第3データパケットP
2の一部と第4データパケットP3及び第5データパケ
ットP4の一部とが、ソースレジスタS_REG(2)
の上位ハーフビットに貯蔵される。
【0042】そして、メモリ300の第3メモリブロッ
クM3に貯蔵されているデータ、すなわち第5データパ
ケットP4の一部と第6データパケットP5及び第7デ
ータパケットP6の一部とを、ソースレジスタS_RE
G(2)の下位ハーフビットに貯蔵する。このような動
作は図3にて(3)と示されている。そして、ポジショ
ン値PV4の21とモジューロ値MVIN16との差で
ある5を、新しいポジション値PV5と設定する。新し
いポジション値PV5からオフセット値に対応するデー
タを抽出して目的レジスタD_REG(2)に貯蔵する
第220段階の動作を再び反復する。これは図3にて
(4)と示されている。
【0043】第1実施例による方法200を利用すれ
ば、データパケットの大きさがバイト単位ではなくてビ
ット単位の場合にも、新しいデータパケットをメモリか
ら連続的に読み込めて、メモリを効率的に使用できる。
第1実施例による方法200は、ビットアドレシング概
念と言える。ソースレジスタや目的レジスタにバイト当
たりのアドレスを割り当てたのではなく、ビット当たり
のアドレスを割り当てることにより、任意サイズの連続
的なデータパケットの処理もメモリの浪費なく可能にな
されうる。
【0044】図4は、本発明の第2実施例によるデータ
挿入方法を示すフローチャートである。図5は、図4の
データ挿入方法の概念を説明する図面である。図4を参
照すれば、本発明の第2実施例によるデータ挿入方法4
00は、ソースレジスタ及び目的レジスタを備え、デー
タが挿入される基準位置を示すポジション値と挿入する
データの大きさを示すオフセット値とを利用し、前記ソ
ースレジスタから前記目的レジスタにデータを挿入する
ためのDSPのデータ挿入方法に関するものである。
【0045】まず、前記ソースレジスタのデータのう
ち、前記オフセット値の大きさを有するデータを、前記
目的レジスタの前記ポジション値に対応する位置に挿入
して、前記目的レジスタに貯蔵し、前記ポジション値と
前記オフセット値とを加えて新しいポジション値と設定
する(410段階)。前記新しいポジション値が所定の
モジューロ値より大きいか小さいかを判断し、前記ポジ
ション値が前記モジューロ値より小さければフラッグ信
号を第1論理レベルに、前記ポジション値が前記モジュ
ーロ値より大きければ前記フラッグ信号を第2論理レベ
ルに発する(420ないし440段階)。
【0046】前記フラッグ信号が第1論理レベルなら
ば、前記新しいポジション値を利用して前記第410段
階及び420段階の動作を反復する。前記フラッグ信号
が第2論理レベルならば、前記目的レジスタの上位ハー
フビットのデータを、N(Nは自然数)ビットのメモリ
ブロックを複数備えるメモリの第M(Mは自然数)番目
メモリブロックに、貯蔵する(450段階)。第2論理
レベルを有する前記フラッグ信号に応じて、前記目的レ
ジスタの下位ハーフビットのデータを、前記目的レジス
タの上位ハーフビットに貯蔵し、前記新しいポジション
値から前記モジューロ値を引いた値を次のポジション値
と設定して、前記410段階に戻る(460段階)。前
記ソースレジスタ及び前記目的レジスタは2Nビットの
サイズを有し、前記モジューロ値はNであることを特徴
とする。
【0047】以下、図4及び図5を参照して本発明の第
2実施例によるデータ挿入方法が詳細に説明される。図
5には、目的レジスタD_REG(1),D_REG
(2)が2つ示されている。目的レジスタD_REG
(1)と目的レジスタD_REG(2)とは同じレジス
タである。すなわち、後述される目的レジスタD_RE
G(1)の下位ハーフビットのデータが、同じ目的レジ
スタD_REG(1)の上位ハーフビットにコピーされ
る動作を説明するために、2つに分けて示しただけであ
る。
【0048】データパケットのサイズがバイトやワード
単位ではなくて、処理さるべきデータパケットが連続的
である場合、バイトやワードサイズを有さないデータパ
ケットは、レジスタからメモリに貯蔵される場合にデー
タパケットが分割されるという問題がある。本発明の第
2実施例によるデータ抽出方法400は、このような問
題を解決するためのものである。図5では、説明の便宜
のために、データパケットP0,P1 …P4はそれぞ
れ7ビットのサイズを有するものとする。メモリ(図示
せず)は、説明の便宜のために、16ビットサイズを有
して複数のメモリブロックを備えるものとする。
【0049】まず、ソースレジスタS_REGのデータ
のうち、オフセット値の大きさを有するデータを、目的
レジスタD_REG(1)のポジション値PV1に対応
する位置に挿入して、目的レジスタD_REG(1)に
貯蔵し、ポジション値PV1とオフセット値とを加え
て、新しいポジション値PV2と設定する(410段
階)。ソースレジスタS_REGと目的レジスタD_R
EG(1)とは、メモリ(図示せず)サイズの2倍のサ
イズを有する。すなわち、ここでは32ビットのサイズ
を有する。
【0050】ポジション値PVはデータ挿入の基準位置
を示し、オフセット値は挿入するデータの大きさを示
す。ここで、オフセット値は一つのデータパケットを挿
入するために7ビットとする。ポジション値PV1を0
としてオフセット値を7とすれば、ソースレジスタS_
REGに貯蔵されていた第1データパケットP0は、目
的レジスタD_REG(1)に挿入される。そして、新
しいポジション値PV2は、以前のポジション値PV1
0にオフセット値7を加えて7になる。
【0051】新しいポジション値PV2が所定のモジュ
ーロ値MVより大きいか小さいかを判断する(420段
階)。ポジション値PV2がモジューロ値MVより小さ
ければ、フラッグ信号を第1論理レベルに、ポジション
値PV2がモジューロ値MVより大きければ、フラッグ
信号を第2論理レベルに発する(430及び440段
階)。フラッグ信号が第1論理レベルならば、新しいポ
ジション値を利用して前記410段階及び420段階の
動作を反復する。
【0052】さらに説明すれば、ポジション値PV2が
所定のモジューロ値MVより大きいか小さいかを比較す
る。ここで、モジューロ値MVは、ソースレジスタS_
REG(1)または目的レジスタD_REG(1)の大
きさの1/2値である。従って、図5では16になる。
モジューロ値MVは、第1実施例によるデータ抽出方法
200にて説明したのと同じ概念であるので、ここでは
説明を省略する。
【0053】ポジション値PV2は、目的レジスタD_
REG(1)の7番目ビットであって、モジューロ値M
Vは16である。ポジション値PV2がモジューロ値M
Vより小さいので、フラッグ信号は第1論理レベルに発
せられる。フラッグ信号はポジション値PV2とモジュ
ーロ値MVの大きさとを比較した結果に応じて第1論理
レベルまたは第2論理レベルに発せられる信号である。
ここで、第1論理レベルは論理ハイレバルであるか、あ
るいは論理ローレベルでありうる。しかし、説明の便宜
のために論理ローレベルとする。
【0054】フラッグ信号が論理ローレベルに発せられ
れば、目的レジスタD_REG(1)の新しいポジショ
ン値PV3にオフセット値に対応する大きさのデータを
挿入する。オフセット値が一つのデータパケットの大き
さと同じなので、結局第3データパケットP2が挿入さ
れて、目的レジスタD_REG(1)に貯蔵される。そ
して、新しいポジション値PV4は、元来のポジション
値PV3にオフセット値を加えて21と設定される。
【0055】ポジション値PV4が所定のモジューロ値
MVより大きいか小さいかを比較する。ポジション値P
V4は21であって、モジューロ値MVは16であるの
で、ポジション値PV4がモジューロ値MVより大き
い。従って、フラッグ信号は第2論理レベルに発せられ
る。フラッグ信号が第2論理レベルならば、目的レジス
タD_REG(1)の上位ハーフビットのデータを、N
(Nは自然数)ビットのメモリブロックを複数備えるメ
モリ(図示せず)の第M(Mは自然数)番目メモリブロ
ックに、貯蔵する(450段階)。
【0056】第2論理レベルを有するフラッグ信号に応
じて、目的レジスタD_REG(1)の下位ハーフビッ
トのデータを、目的レジスタD_REG(2)の上位ハ
ーフビットに貯蔵して、新しいポジション値PV4から
モジューロ値MVを引いた値を、次のポジション値PV
5と設定して、410段階に戻る(460段階)。すな
わち、図5にて第1データパケットP0、第2データパ
ケットP1及び第3データパケットP2の2ビットが、
メモリ(図示せず)のM番目ブロックに貯蔵される。こ
のような動作は、図5にて(1)と示されている。そし
て、目的レジスタD_REG(1)の下位ハーフビット
に貯蔵されていた第3データパケットP2の5ビット
が、目的レジスタD_REG(1)の上位ハーフビット
に貯蔵される。これは図5にて(2)と示されている。
【0057】目的レジスタD_REG(2)の新しいポ
ジション値PV5に、オフセット値に対応するデータを
抽出して貯蔵する動作を、また反復する。すなわち、第
4データパケットP3が、目的レジスタD_REG
(2)に挿入される。そして、ポジション値PV5がモ
ジューロ値MVと比較される動作が、続けてなされる。
第2実施例による方法400を利用すれば、データパケ
ットの大きさがバイト単位ではなくして、ビット単位の
場合にも、新しいデータパケットをメモリに連続的に貯
蔵できるので、メモリを効率的に使用できる。
【0058】第2実施例によるデータ挿入方法400
は、ビットアドレシング概念と言える。ソースレジスタ
や目的レジスタに、バイト当たりのアドレスを割り当て
たのではなくして、ビット当たりのアドレスを割り当て
ることにより、任意サイズの連続的なデータパケットの
処理も、メモリの浪費なく可能になされうる。
【0059】図6は本発明の第1実施例によるデータ抽
出及び挿入装置を示すブロック図である。図6を参照す
れば、本発明の第1実施例によるデータ抽出及び挿入装
置600は、DSPにおいてデータ抽出及び挿入部61
0、ポジション値発生部620及びフラッグ信号発生部
640を備えることを特徴とする。
【0060】データ抽出及び挿入部610は、所定のポ
ジション値PVと抽出するデータの大きさを示すオフセ
ット値OFFSETとを受信して、所定のフラッグ信号
FLAGの第1論理レベルに応じて、ソースレジスタか
ら目的レジスタにデータを抽出または挿入する。そし
て、データ抽出及び挿入部610は、フラッグ信号FL
AGの第2論理レベルに応じて、ソースレジスタや目的
レジスタにメモリ(図示せず)から受け取られた(受信
された)データを貯蔵したり、ソースレジスタや目的レ
ジスタから受け取られた(受信された)データをメモリに
貯蔵したりする。
【0061】さらに説明すれば、データ抽出及び挿入部
610は、データ抽出動作の場合に、フラッグ信号FL
AGの第1論理レベルに応じて、ソースレジスタのデー
タのうちオフセット値OFFSETの大きさを有するデ
ータを、目的レジスタのプレポジション値PREPVに
対応する位置に挿入して、目的レジスタに貯蔵する。ま
た、データ抽出及び挿入部610は、フラッグ信号FL
AGの第2論理レベルに応じて、ソースレジスタの下位
ハーフビットのデータを、ソースレジスタの上位ハーフ
ビットに貯蔵し、N(Nは自然数)ビットのメモリブロ
ックを複数備えるメモリ(図示せず)のM(Mは自然
数)番目メモリブロックに貯蔵されているデータを、ソ
ースレジスタの下位ハーフビットに貯蔵する。
【0062】データ抽出及び挿入部610は、データ挿
入動作の場合に、フラッグ信号FLAGの第1論理レベ
ルに応じて、前記目的レジスタのプレポジション値PR
EPVに対応する位置に、オフセット値OFFSETに
対応する大きさのデータを、挿入する。また、データ抽
出及び挿入部610は、フラッグ信号FLAGの第2論
理レベルに応じて、前記目的レジスタの上位ハーフビッ
トのデータを、N(Nは自然数)ビットのメモリブロッ
クを複数備えるメモリの第M(Mは自然数)番目メモリ
ブロックに貯蔵し、前記目的レジスタの下位ハーフビッ
トのデータを、前記目的レジスタの上位ハーフビットに
貯蔵する。
【0063】ポジション値発生部620は、外部から入
力されるプレポジション値PREPVと、外部から入力
されるオフセット値OFFSETとを加えて、ポジショ
ン値PVを発する。さらに説明すれば、ポジション値発
生部620は、プレポジション値PREPVを貯蔵する
プレポジション値貯蔵部625、外部から入力されるオ
フセット値OFFSETを貯蔵するオフセット値貯蔵部
630、プレポジション値貯蔵部625の出力OPRE
PVとオフセット値貯蔵部630の出力OFFSET_
1とを加えてポジション値PVを発する加算部635を
備える。
【0064】フラッグ信号発生部640は、ポジション
値PVを受信して所定のモジューロ値MVと比較し、ポ
ジション値PVがモジューロ値MVより小さければ、ポ
ジション値PVをプレポジション値PREPVとして発
し、ポジション値PVがモジューロ値MVより大きけれ
ば、モジューロ値MVからポジション値PVを引いた値
をプレポジション値PREPVとして発し、ポジション
値PVとモジューロ値MVとの比較結果によりフラッグ
信号FLAGを発する。
【0065】さらに説明すれば、フラッグ信号発生部6
40は、モジューロ値貯蔵部650、比較部645、減
算部655及び選択部660を備える。モジューロ値貯
蔵部650は、モジューロ値MVを貯蔵する。比較部6
45は、ポジション値PVとモジューロ値貯蔵部650
から出力されるモジューロ値MVの大きさを比較し、ポ
ジション値PVがモジューロ値MVより小さい場合に
は、ポジション値PVを所定の選択部660に出力し、
ポジション値PVがモジューロ値MVより大きい場合に
は、ポジション値PVを所定の減算部655に出力し、
ポジション値PVとモジューロ値MVの大きさを比較し
た結果により、フラッグ信号FLAGを発する。
【0066】比較部645は、ポジション値PVがモジ
ューロ値MVより小さければ、フラッグ信号FLAGを
第1論理レベルに発し、ポジション値PVがモジューロ
値MVより大きければ、フラッグ信号FLAGを第2論
理レベルに発する。減算部655はポジション値PV及
びモジューロ値MVを受信して、ポジション値PVから
モジューロ値MVを引く演算を行う。選択部660は、
フラッグ信号FLAGに応じて、比較部645から出力
されるポジション値PVと減算部655の出力のうち一
つを選択して、プレポジション値PREPVとして出力
する。選択部660は、フラッグ信号FLAGが第1論
理レベルならば、比較部645から出力されるポジショ
ン値PVを選択して出力し、フラッグ信号FLAGが第
2論理レベルならば、減算部655の出力を選択して出
力する。前記ソースレジスタ及び前記目的レジスタは、
2Nビットのサイズを有し、前記モジューロ値はNであ
る。
【0067】以下、図6を参照して本発明の第1実施例
によるデータ抽出及び挿入装置の動作が詳細に説明され
る。データ抽出及び挿入装置600は、データ抽出方法
200及びデータ挿入方法400を装置として具現した
ものである。ポジション値発生部620は、外部から入
力されるプレポジション値PREPVと、外部から入力
されるオフセット値OFFSETとを加えて、ポジショ
ン値PVを発する。
【0068】プレポジション値PREPVは、後述する
フラッグ信号発生部640の選択部660から発せら
れ、データ抽出動作の場合にソースレジスタからデータ
を抽出する基準位置を示し、データ挿入動作の場合に目
的レジスタからデータが挿入される基準位置を示す。オ
フセット値OFFSETは、抽出または挿入するデータ
の大きさを示す。プレポジション値PREPVとオフセ
ット値OFFSETとは、データ抽出及び挿入部610
に印加される。データ抽出及び挿入部610では、入力
されるプレポジション値PREPVとオフセット値OF
FSETとに応じて、データの抽出または挿入動作がな
される。これについては後述する。
【0069】プレポジション値PREPVとオフセット
値OFFSETとは、データ抽出及び挿入部610に印
加されると共に、ポジション値発生部620に入力され
る。プレポジション値発生部620のプレポジション値
貯蔵部625は、プレポジション値PREPVを受信し
て貯蔵する。オフセット値貯蔵部630は、入力される
オフセット値OFFSETを貯蔵する。プレポジション
値発生部620とオフセット値貯蔵部630とは、レジ
スタでありうる。
【0070】加算部635は、プレポジション値貯蔵部
625の出力OPREPVとオフセット値貯蔵部630
の出力OFFSET_1とを加えて、ポジション値PV
を発する。プレポジション値貯蔵部625の出力OPR
EPVは、プレポジション値PREPVと同一であっ
て、オフセット値貯蔵部630の出力OFFSET_1
はオフセット値OFFSETと同じである。例えば、プ
レポジション値PREPVを0としてオフセット値を7
とすれば、ポジション値PVは、プレポジション値PR
EPV0にオフセット値OFFSET7を加えて、7に
なる。
【0071】フラッグ信号発生部640は、ポジション
値PVを受信して所定のモジューロ値MVと比較し、ポ
ジション値PVがモジューロ値MVより小さければ、ポ
ジション値PVをプレポジション値PREPVとして発
し、ポジション値PVがモジューロ値MVより大きけれ
ば、モジューロ値MVからポジション値PVを引いた値
をプレポジション値PREPVとして発し、ポジション
値PVとモジューロ値MVとの比較結果により、フラッ
グ信号FLAGを発する。
【0072】モジューロ値MVは、データ抽出方法20
0及びデータ挿入方法400にて説明されたのと同じ概
念である。メモリ(図示せず)のサイズが16ならば、
モジューロ値MVも16である。モジューロ値MVは、
モジューロ値貯蔵部650に貯蔵されている。比較部6
45は、ポジション値PVとモジューロ値貯蔵部650
から出力されるモジューロ値MVの大きさを比較する。
ポジション値PVがモジューロ値MVより小さい場合に
はポジション値PVを所定の選択部660として出力す
る。ポジション値PVがモジューロ値MVより大きい場
合にはポジション値PVを所定の減算部655に出力す
る。
【0073】また、比較部645は、ポジション値PV
とモジューロ値MVの大きさを比較した結果により、フ
ラッグ信号FLAGを発する。フラッグ信号FLAG
は、ポジション値PVがモジューロ値MVより小さけれ
ば第1論理レベルに発せられ、ポジション値PVがモジ
ューロ値MVより大きければ第2論理レベルに発せられ
る。第1論理レベルは論理ハイレバルであって第2論理
レベルは論理ローレベルでありうる。反対に、第1論理
レベルは論理ローレベルであって第2論理レベルは論理
ハイレバルでありうる。
【0074】フラッグ信号FLAGが第1論理レベルに
発せられれば、データ抽出及び挿入部610は、プレポ
ジション値PREPVとオフセット値OFFSETとを
利用して、データ抽出または挿入動作を行う。フラッグ
信号FLAGが第2論理レベルに発せられれば、データ
抽出及び挿入部610は、データ抽出動作の場合、ソー
スレジスタの下位ハーフビットのデータを上位ハーフビ
ットに貯蔵してメモリに貯蔵されている16ビットサイ
ズのデータを、ソースレジスタの下位ハーフビットに貯
蔵する。
【0075】フラッグ信号FLAGが第2論理レベルに
発せられれば、データ抽出及び挿入部610は、データ
挿入動作の場合、目的レジスタの上位ハーフビットのデ
ータをメモリに貯蔵して目的レジスタの下位ハーフビッ
トのデータを、目的レジスタの上位ハーフビットに貯蔵
する。減算部655は、比較部645の出力信号PVH
からモジューロ値MVを引く演算を行う。比較部645
の出力信号PVHは、ポジション値PVがモジューロ値
MVより大きい場合に発せられるので、減算部655の
出力は正の値である。選択部660は、フラッグ信号F
LAGが第1論理レベルならば、比較部645の出力信
号PVLを選択して出力し、フラッグ信号FLAGが第
2論理レベルならば、減算部655の出力を選択してプ
レポジション値PREPVとして出力する。
【0076】整理すれば、ポジション値PVがモジュー
ロ値MVより小さいならば、比較部645は、ポジショ
ン値PVを比較部645の出力信号PVLとして、選択
部660に印加して、フラッグ信号FLAGを第1論理
レベルに出力する。選択部660は、比較部645の出
力信号PVLを選択して、プレポジション値PREPV
として発する。データ抽出及び挿入部610は、フラッ
グ信号FLAGの第1論理レベルに応じて、プレポジシ
ョン値PREPVとオフセット値OFFSETとを利用
して、データ抽出または挿入動作を行う。
【0077】ポジション値PVがモジューロ値MVより
大きいならば、比較部645は、ポジション値PVを比
較部645の出力信号PVHとして減算部655に印加
して、フラッグ信号FLAGを第2論理レベルに出力す
る。減算部655は、比較部645から印加される信号
PVHからモジューロ値MVを引いて、その結果を選択
部660に印加する。選択部660は、減算部655の
出力信号を選択して、プレポジション値PREPVとし
て発する。データ抽出及び挿入部610は、フラッグ信
号FLAGの第2論理レベルに応じて、データをメモリ
に貯蔵したりメモリから、データを読み込む。
【0078】
【発明の効果】前述の如く、本発明によるデータ抽出/
挿入方法及びデータ抽出及び挿入装置は、データパケッ
トの大きさがバイトやワード単位ではなくして、連続的
にデータパケットを抽出または挿入しなければならない
場合、データパケットの連続的な抽出及び挿入を効率的
にして、メモリを節約できる長所がある。以上のよう
に、図面と明細書とによって、最適な実施例が開示され
た。ここで、特定の用語が使われたが、それは単に本発
明を説明するための目的に使われたのであって、意味限
定や特許請求範囲に記載された本発明の範囲を制限する
ために使われたものではない。従って、本技術分野の当
業者ならば、これから多様な変形及び均等な他実施例が
可能である、という点を理解できるであろう。従って、
本発明の真の技術的保護範囲は、特許請求範囲の技術的
思想により決まるべきである。
【図面の簡単な説明】
【図1】DSPのデータ抽出及び挿入動作の概念を説明
する図面である。
【図2】本発明の第1実施例によるデータ抽出方法を示
すフローチャートである。
【図3】図2のデータ抽出方法の概念を説明する図面で
ある。
【図4】本発明の第2実施例によるデータ挿入方法を示
すフローチャートである。
【図5】図4のデータ挿入方法の概念を説明する図面で
ある。
【図6】本発明の第1実施例によるデータ抽出及び挿入
装置を示すブロック図である。
【符号の説明】
200 データ抽出方法 300 メモリ 400 データ挿入方法 600 データ抽出及び挿入装置
───────────────────────────────────────────────────── フロントページの続き Fターム(参考) 5B022 AA00 BA04 BA06 BA07 CA01 CA03 DA02 DA06 EA06 FA00

Claims (18)

    【特許請求の範囲】
  1. 【請求項1】 ソースレジスタ及び目的レジスタを備
    え、データ抽出の基準位置を示すポジション値と抽出す
    るデータの大きさを示すオフセット値とを利用して、前
    記ソースレジスタから前記目的レジスタにデータを抽出
    するためのDSPのデータ抽出方法において、 (a)N(Nは自然数)ビットのメモリブロックを複数
    備えるメモリの第M(Mは自然数)番目メモリブロック
    に貯蔵されているデータを前記ソースレジスタの上位部
    分に貯蔵し、第M+1番目メモリブロックに貯蔵されて
    いるデータを前記ソースレジスタの下位部分に貯蔵する
    段階と、 (b)前記ソースレジスタの前記ポジション値に対応す
    る位置から前記オフセット値に対応する大きさのデータ
    を抽出して前記目的レジスタに貯蔵し、前記ポジション
    値と前記オフセット値とを加えて新しいポジション値と
    設定する段階と、 (c)前記新しいポジション値が所定のモジューロ値よ
    り大きいか小さいかを判断し、前記ポジション値が前記
    モジューロ値より小さければフラッグ信号を第1論理レ
    ベルに、前記ポジション値が前記モジューロ値より大き
    ければ前記フラッグ信号を第2論理レベルに発する段階
    と、 (d)前記フラッグ信号が第1論理レベルならば前記新
    しいポジション値を利用して前記(b)段階及び(c)
    段階の動作を反復し、前記フラッグ信号が第2論理レベ
    ルならば前記ソースレジスタの下位部分のデータを前記
    ソースレジスタの上位部分に貯蔵する段階と、 (e)第2論理レベルを有する前記フラッグ信号に応じ
    て前記メモリの第M+2番目メモリブロックに貯蔵され
    ているデータを前記ソースレジスタの下位部分に貯蔵
    し、前記新しいポジション値から前記モジューロ値を引
    いた値を次のポジション値と設定して前記(b)段階に
    戻る段階と、を備える、 ことを特徴とするDSPのデータ抽出方法。
  2. 【請求項2】 前記ソースレジスタの上位部分は、前記
    ソースレジスタの半分である、ことを特徴とする請求項
    1に記載のDSPのデータ抽出方法。
  3. 【請求項3】 前記ソースレジスタ及び前記目的レジス
    タは、2Nビットのサイズを有する、ことを特徴とする
    請求項2に記載のDSPのデータ抽出方法。
  4. 【請求項4】 前記モジューロ値は、Nである、ことを
    特徴とする請求項2に記載のDSPのデータ抽出方法。
  5. 【請求項5】 ソースレジスタ及び目的レジスタを備
    え、データが挿入される基準位置を示すポジション値と
    挿入するデータの大きさを示すオフセット値とを利用し
    て、前記ソースレジスタから前記目的レジスタにデータ
    を挿入するためのDSPのデータ挿入方法において、 (a)前記ソースレジスタのデータのうち前記オフセッ
    ト値の大きさを有するデータを前記目的レジスタの前記
    ポジション値に対応する位置に挿入して前記目的レジス
    タに貯蔵し、前記ポジション値と前記オフセット値とを
    加えて新しいポジション値と設定する段階と、 (b)目的レジスタの前記新しいポジション値に対応す
    る位置から前記オフセット値に対応する大きさのデータ
    を挿入して前記目的レジスタに貯蔵し、前記新しいポジ
    ション値が所定のモジューロ値より大きいか小さいかを
    判断し、前記ポジション値が前記モジューロ値より小さ
    ければフラッグ信号を第1論理レベルに、前記ポジショ
    ン値が前記モジューロ値より大きければ前記フラッグ信
    号を第2論理レベルに発する段階と、 (c)前記フラッグ信号が第1論理レベルならば前記新
    しいポジション値を利用して前記(a)段階及び(b)
    段階の動作を反復し、前記フラッグ信号が第2論理レベ
    ルならば前記目的レジスタの上位ハーフビットのデータ
    をN(Nは自然数)ビットのメモリブロックを複数備え
    るメモリの第M(Mは自然数)番目メモリブロックに貯
    蔵する段階と、 (d)第2論理レベルを有する前記フラッグ信号に応じ
    て、前記目的レジスタの下位ハーフビットのデータを前
    記目的レジスタの上位ハーフビットに貯蔵して、前記新
    しいポジション値から前記モジューロ値を引いた値を次
    のポジション値と設定して前記(a)段階に戻る段階
    と、を備える、ことを特徴とするDSPのデータ挿入方
    法。
  6. 【請求項6】 前記ソースレジスタ及び前記目的レジス
    タは、2Nビットのサイズを有する、ことを特徴とする
    請求項5に記載のDSPのデータ挿入方法。
  7. 【請求項7】 前記モジューロ値は、Nである、ことを
    特徴とする請求項5に記載のDSPのデータ挿入方法。
  8. 【請求項8】 所定のプレポジション値と抽出するデー
    タの大きさを示すオフセット値とを受信して、所定のフ
    ラッグ信号の第1論理レベルに応じて、ソースレジスタ
    から目的レジスタにデータを抽出または挿入し、前記フ
    ラッグ信号の第2論理レベルに応じて、前記ソースレジ
    スタや前記目的レジスタにメモリからデータを受信して
    貯蔵したり、前記メモリに前記ソースレジスタや前記目
    的レジスタからデータを受信して貯蔵したりするデータ
    抽出及び挿入部と、 外部から入力されるプレポジション値と外部から入力さ
    れる前記オフセット値とを加えて前記ポジション値を発
    するポジション値発生部と、 前記ポジション値を受信して所定のモジューロ値と比較
    し、前記ポジション値が前記モジューロ値より小さけれ
    ば前記ポジション値を前記プレポジション値として発
    し、前記ポジション値が前記モジューロ値より大きけれ
    ば前記ポジション値から前記モジューロ値を引いた値を
    前記プレポジション値として発し、前記ポジション値と
    前記モジューロ値との比較結果により前記フラッグ信号
    を発するフラッグ信号発生部と、を備える、ことを特徴
    とするデータ抽出及び挿入装置。
  9. 【請求項9】 前記データ抽出及び挿入装置はDSPに
    装着される、ことを特徴とする請求項8に記載のデータ
    抽出及び挿入装置。
  10. 【請求項10】 前記ポジション値発生部は、 前記プレポジション値を貯蔵するプレポジション値貯蔵
    部と、 外部から入力されるオフセット値を貯蔵するオフセット
    値貯蔵部と、 前記プレポジション値貯蔵部の出力と前記オフセット値
    貯蔵部の出力とを加えて前記ポジション値を発する加算
    部と、を備える、ことを特徴とする請求項9に記載のデ
    ータ抽出及び挿入装置。
  11. 【請求項11】 前記フラッグ信号発生部は、 前記モジューロ値を貯蔵するモジューロ値貯蔵部と、 前記ポジション値と前記モジューロ値貯蔵部から出力さ
    れる前記モジューロ値の大きさを比較し、前記ポジショ
    ン値が前記モジューロ値より小さい場合には前記ポジシ
    ョン値を所定の選択部に出力し、前記ポジション値が前
    記モジューロ値より大きい場合には前記ポジション値を
    所定の減算部に出力し、前記ポジション値と前記モジュ
    ーロ値の大きさを比較した結果により前記フラッグ信号
    を発する比較部と、 前記ポジション値及び前記モジューロ値を受信し、前記
    ポジション値から前記モジューロ値を引く演算を行う前
    記減算部と、 前記フラッグ信号に応じて前記比較部から出力される前
    記ポジション値と前記減算部の出力のうち一つを選択し
    て前記プレポジション値として出力する選択部と、を備
    える、ことを特徴とする請求項9に記載のデータ抽出及
    び挿入装置。
  12. 【請求項12】 前記比較部は、 前記ポジション値が前記モジューロ値より小さければ前
    記フラッグ信号を第1論理レベルに発し、前記ポジショ
    ン値が前記モジューロ値より大きければ前記フラッグ信
    号を第2論理レベルに発することを特徴とする請求項9
    に記載のデータ抽出及び挿入装置。
  13. 【請求項13】 前記選択部は、 前記フラッグ信号が第1論理レベルならば前記比較部か
    ら出力される前記ポジション値を選択して出力し、前記
    フラッグ信号が第2論理レベルならば前記減算部の出力
    を選択して出力する、ことを特徴とする請求項9に記載
    のデータ抽出及び挿入装置。
  14. 【請求項14】 前記データ抽出及び挿入部は、データ
    抽出動作の場合、 前記フラッグ信号の第1論理レベルに応じて前記ソース
    レジスタのデータのうち前記オフセット値の大きさを有
    するデータを抽出して前記目的レジスタの前記プレポジ
    ション値に対応する位置に挿入して前記目的レジスタに
    貯蔵し、 前記フラッグ信号の第2論理レベルに応じて前記ソース
    レジスタの下位ハーフビットのデータを前記ソースレジ
    スタの上位ハーフビットに貯蔵し、N(Nは自然数)ビ
    ットのメモリブロックを複数備えるメモリのM(Mは自
    然数)番目メモリブロックに貯蔵されているデータを前
    記ソースレジスタの下位ハーフビットに貯蔵する、こと
    を特徴とする請求項9に記載のデータ抽出及び挿入装
    置。
  15. 【請求項15】 前記データ抽出及び挿入部は、データ
    挿入動作の場合、 前記フラッグ信号の第1論理レベルに応じて前記目的レ
    ジスタの前記プレポジション値に対応する位置に前記オ
    フセット値に対応する大きさのデータを挿入し、 前記フラッグ信号の第2論理レベルに応じて前記目的レ
    ジスタの上位ハーフビットのデータをN(Nは自然数)
    ビットのメモリブロックを複数備えるメモリの第M(M
    は自然数)番目メモリブロックに貯蔵し、前記目的レジ
    スタの下位ハーフビットのデータを前記目的レジスタの
    上位ハーフビットに貯蔵する、ことを特徴とする請求項
    9に記載のデータ抽出及び挿入装置。
  16. 【請求項16】 前記ソースレジスタ及び前記目的レジ
    スタは、2Nビットのサイズを有する、ことを特徴とす
    る請求項9に記載のデータ抽出及び挿入装置。
  17. 【請求項17】 前記モジューロ値はNである、ことを
    特徴とする請求項9に記載のデータ抽出及び挿入装置。
  18. 【請求項18】 データ抽出及び挿入装置を備えるDS
    Pにおいて、 外部から入力されるプレポジション値と外部から入力さ
    れるオフセット値とを加えて前記ポジション値を発する
    ポジション値発生部と、 前記ポジション値を受信して所定のモジューロ値と比較
    し、前記ポジション値が前記モジューロ値より小さけれ
    ば前記ポジション値を前記プレポジション値として発
    し、前記ポジション値が前記モジューロ値より大きけれ
    ば前記ポジション値から前記モジューロ値を引いた値を
    前記プレポジション値として発し、前記ポジション値と
    前記モジューロ値との比較結果により前記フラッグ信号
    を発するフラッグ信号発生部と、 バイトやワードの大きさを有するデータパケットを抽出
    したり挿入する手段であり、所定のプレポジション値と
    抽出するデータの大きさを示す前記オフセット値とを受
    信して所定のフラッグ信号の第1論理レベルに応じてソ
    ースレジスタから目的レジスタにデータを抽出または挿
    入し、前記フラッグ信号の第2論理レベルに応じて前記
    ソースレジスタや前記目的レジスタにメモリからデータ
    を受信して貯蔵したり前記メモリにデータを貯蔵する前
    記データパケット抽出及び挿入手段と、を備える、こと
    を特徴とするDSP。
JP2003117662A 2002-05-07 2003-04-22 Dspのデータ抽出/挿入方法、データ抽出/挿入装置、およびdsp Expired - Fee Related JP4154276B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR2002-025133 2002-05-07
KR10-2002-0025133A KR100434502B1 (ko) 2002-05-07 2002-05-07 DSP(Digital SignalProcessor)의 데이터 추출/삽입 방법 및 데이터추출/삽입 장치

Publications (2)

Publication Number Publication Date
JP2003330702A true JP2003330702A (ja) 2003-11-21
JP4154276B2 JP4154276B2 (ja) 2008-09-24

Family

ID=19720598

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003117662A Expired - Fee Related JP4154276B2 (ja) 2002-05-07 2003-04-22 Dspのデータ抽出/挿入方法、データ抽出/挿入装置、およびdsp

Country Status (4)

Country Link
US (1) US6950922B2 (ja)
JP (1) JP4154276B2 (ja)
KR (1) KR100434502B1 (ja)
GB (1) GB2390187B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107918708A (zh) * 2017-11-15 2018-04-17 成都海威华芯科技有限公司 一种GaN HEMT器件寄生参数的提取方法

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7610466B2 (en) * 2003-09-05 2009-10-27 Freescale Semiconductor, Inc. Data processing system using independent memory and register operand size specifiers and method thereof
US7275148B2 (en) * 2003-09-08 2007-09-25 Freescale Semiconductor, Inc. Data processing system using multiple addressing modes for SIMD operations and method thereof
US7315932B2 (en) 2003-09-08 2008-01-01 Moyer William C Data processing system having instruction specifiers for SIMD register operands and method thereof
US7493481B1 (en) * 2004-05-17 2009-02-17 Netxen, Inc. Direct hardware processing of internal data structure fields
US7529918B2 (en) * 2006-07-21 2009-05-05 Broadcom Corporation System and method for efficiently performing bit-field extraction and bit-field combination operations in a processor
US9560630B2 (en) 2011-08-12 2017-01-31 Qualcomm Incorporated Devices for reduced overhead paging
US9560632B2 (en) 2011-08-12 2017-01-31 Qualcomm Incorporated Devices for title of invention reduced overhead paging
US9137778B2 (en) 2011-12-05 2015-09-15 Qualcomm Incorporated Systems and methods for low overhead paging
US11544214B2 (en) 2015-02-02 2023-01-03 Optimum Semiconductor Technologies, Inc. Monolithic vector processor configured to operate on variable length vectors using a vector length register
US10180829B2 (en) * 2015-12-15 2019-01-15 Nxp Usa, Inc. System and method for modulo addressing vectorization with invariant code motion

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5119092A (en) * 1988-11-22 1992-06-02 Sharp Kabushiki Kaisha Apparatus for encoding, decoding, and storing waveforms
JPH02306339A (ja) * 1989-02-09 1990-12-19 Nec Corp ビット・アドレシング方式
EP0649224B1 (en) * 1993-09-23 1999-03-03 Lg Electronics Inc. Variable length coder and variable length decoder
US5659700A (en) * 1995-02-14 1997-08-19 Winbond Electronis Corporation Apparatus and method for generating a modulo address
KR0183173B1 (ko) * 1995-12-13 1999-05-15 윤종용 버퍼 메모리 제어 장치
US5835793A (en) * 1997-05-02 1998-11-10 Texas Instruments Incorporated Device and method for extracting a bit field from a stream of data
KR100315303B1 (ko) * 1997-08-30 2002-04-06 구자홍 디지탈 신호 처리기
US6643760B2 (en) 2001-04-30 2003-11-04 Zilog, Inc. Architecture to relax memory performance requirements
US6745314B1 (en) * 2001-11-26 2004-06-01 Lsi Logic Corporation Circular buffer control circuit and method of operation thereof

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107918708A (zh) * 2017-11-15 2018-04-17 成都海威华芯科技有限公司 一种GaN HEMT器件寄生参数的提取方法

Also Published As

Publication number Publication date
GB2390187A (en) 2003-12-31
KR20030087176A (ko) 2003-11-13
GB0307255D0 (en) 2003-05-07
US20030212876A1 (en) 2003-11-13
GB2390187B (en) 2004-12-29
US6950922B2 (en) 2005-09-27
KR100434502B1 (ko) 2004-06-05
JP4154276B2 (ja) 2008-09-24

Similar Documents

Publication Publication Date Title
US5918252A (en) Apparatus and method for generating a modulo address
JP5269610B2 (ja) ユーザレベル命令に応じた巡回冗長検査演算の実行
JP2003330702A (ja) Dspのデータ抽出/挿入方法、データ抽出/挿入装置、およびdsp
US20080209087A1 (en) Method and Apparatus for Transferring Data from a Memory Subsystem to a Network Adapter by Extending Data Lengths to Improve the Memory Subsystem and PCI Bus Efficiency
JP2003249029A (ja) データ書き込み装置及びdvdフォーマットデータ生成方法
JP4021623B2 (ja) 適合アドレスルックアップテーブルジェネレータのための方法および装置
US20020169900A1 (en) Direct memory access controller, and direct memory access control method
US6308249B1 (en) Storing data in a grey code system
CN113608786B (zh) 一种向量读写方法、向量寄存器系统、设备及介质
US5942002A (en) Method and apparatus for generating a transform
JP2000148442A (ja) 提供媒体、並びにデータ処理装置およびデータ処理方法
US6820191B2 (en) Apparatus and method for executing an instruction with a register bit mask for transferring data between a plurality of registers and memory inside a processor
US7356664B2 (en) Method and apparatus for transferring data from a memory subsystem to a network adapter for improving the memory subsystem and PCI bus efficiency
EP1039370A1 (en) Modulo address generator and a method for implementing modulo addressing
JP4324968B2 (ja) フレーム生成装置
US20100153609A1 (en) Non-system bus width data transfer executable at a non-aligned system bus address
CN117406957B (zh) 一种模乘方法、模乘组件和半定制电路
JP2001308832A (ja) 速度変換装置
US6502179B2 (en) Method and apparatus for compactly storing instruction codes
JP3787951B2 (ja) コード変換方法及びこれを用いたコード変換装置
JP2005032035A (ja) メモリデータ格納方式、メモリアクセス回路、及び集積回路
JP4142299B2 (ja) 円環状アドレスバッファのアドレス生成装置およびこれを備えた集積回路
JPH0731635B2 (ja) 情報処理装置
JPH07271656A (ja) 画像データ処理システム
JPH04104345A (ja) Ecc機構付主記憶装置の部分書き換えデータの書き込み制御方式

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060123

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080304

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080602

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080624

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080707

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110711

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120711

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130711

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees