JP2002007110A - ディジタル信号処理装置 - Google Patents

ディジタル信号処理装置

Info

Publication number
JP2002007110A
JP2002007110A JP2000192762A JP2000192762A JP2002007110A JP 2002007110 A JP2002007110 A JP 2002007110A JP 2000192762 A JP2000192762 A JP 2000192762A JP 2000192762 A JP2000192762 A JP 2000192762A JP 2002007110 A JP2002007110 A JP 2002007110A
Authority
JP
Japan
Prior art keywords
data
word
area
bit
length
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.)
Pending
Application number
JP2000192762A
Other languages
English (en)
Inventor
Kazutoshi Shibuya
和俊 澁谷
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2000192762A priority Critical patent/JP2002007110A/ja
Publication of JP2002007110A publication Critical patent/JP2002007110A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 簡易な構成かつ少ない命令数により高速にビ
ット処理を実現する。 【解決手段】 それぞれビット長が異なる3種類のアド
レス領域が混在して設けられた作業用メモリ4を備え
る。3種類のアドレス領域は、固定ビット長領域4aお
よび制限ビット長領域4b,4cであり、それぞれ複数
のアドレス領域が属する。固定ビット長領域4aに属す
るアドレス領域は1ワード分のビット長(nビット)
を、また制限ビット長領域4b,4cに属するアドレス
領域は1ワード分よりも短くかつそれぞれ異なるビット
長(m0ビット,m1ビット)をそれぞれ有する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、ディジタル信号処
理などに用いられる、いわゆるDSP(DigitalSignal
Processor)などと呼ばれるディジタル信号処理装置に
関する。
【0002】
【従来の技術】DSPを用いた通信処理では、1ワード
単位のデータ以外に1ビット、4ビットなどの1ワード
よりも短いデータ(以下、制限長データと称する)を取
り扱うことがある。例えば、演算結果の正負のみに着目
する場合には、1ワード長の演算結果データのうちの最
上位の1ビットのみが以降の処理に用いられることとな
る。
【0003】さて、通常DSPが有するメモリは、1ア
ドレスに対応する記憶領域が1ワード長に設定されてい
る。従って制限長データを1ワード幅のメモリに格納す
ると、メモリの利用効率が低下してしまう。例えば、1
ビット長の制限長データを1000個メモリに格納する
場合、通常は1000個の記憶領域を占有することとな
り、1kワード分が必要となる。すなわち、1ワードを
16ビットとするならば、実際のデータ量の16倍もの
容量の記憶領域を占有してしまうことになる。
【0004】しかし、制限長データを1ワード分連結し
てからメモリに格納することとすれば、実際のデータ量
と同容量の記憶領域で全てのデータを保持することが可
能である。
【0005】そこで従来より、このような制限長データ
の連結処理(以下、パック動作と称する)を行うことで
メモリ使用効率の向上を図ることが行われている。な
お、このパック動作を行う場合、制限長データを用いた
処理を行うために連結データから個々の制限長データを
分離する処理(以下、アンパック動作と称する)も行う
こととなる。
【0006】さて、このようなパック動作やアンパック
動作を通常の論理演算処理により実現する場合、対象デ
ータの切出し用のマスク処理のための論理積(AN
D)、ビット位置合わせのためのシフト命令およびビッ
ト連結を行うための論理和(OR)演算を行うなどの処
理を実行することになる。このため、多数の命令を実行
しなければならず、実質的な演算速度の向上の妨げとな
ってしまう。
【0007】なお、上述のようなパック動作やアンパッ
ク動作を実現するユニットをDSPの外部に設けて、こ
のユニットを外部バスを介してアクセスすることでパッ
クされたデータをDSP内部のメモリに格納可能とする
構成も考えられるが、この場合には外部バスへのアクセ
スが必要であるために、依然として多数の命令を実行し
なければならない。
【0008】そこで、パック動作やアンパック動作を簡
単に良く行うことを可能とするために使用可能なメモリ
アクセスモード機能を有するDSPが存在する。
【0009】ここでメモリアクセスモードとは、ワー
ド、バイト、ビット単位などでメモリをアクセスするモ
ードである。そしてこのメモリアクセスモードを利用す
れば、例えばメモリアクセスをビットモードに設定し、
1ビットデータを1ビット単位でメモリに格納したの
ち、ワードモードに切替えて読み出すとパック動作が可
能となる。また、ワードモードでデータを格納し、ビッ
トモードに切替えて読み出せば、ビットデータの切り出
し(アンパック動作)が可能となる。
【0010】しかしながら、メモリアクセスモード機能
を実現するためには、全メモリ空間についてのアクセス
形態をモード毎で変更できるようにするためにアドレス
デコーダおよび出力データの加工などの回路が必要とな
る。そしてこの種の回路は、非常に複雑な構成となるた
めに、メモリ応答速度の低下を来たし、その結果、DS
P演算速度の向上の妨げになるなどの不具合が生じる。
【0011】また、無線通信端末などにおいてはインタ
リーブ処理が行われることが多いが、このようなインタ
リーブ処理は1ビット毎などのような小さなデータブロ
ックの並べ替えにより実現される。
【0012】従ってこのような処理も、多数の命令の組
み合わせによるか、あるいはメモリアクセスモード機能
を備えたDSPを用いなければならず、演算速度向上の
妨げとなっていた。
【0013】
【発明が解決しようとする課題】以上のように従来は、
DSPにてパック動作・アンパック動作やインタリーブ
処理などのような1ワード長に満たないデータを処理対
象とするいわゆるビット処理を行おうとすると、多数の
命令を使用しなければならなかったり、メモリアクセス
モード機能を備えた低速なDSPを用いなければならな
いという不具合があった。
【0014】本発明はこのような事情を考慮してなされ
たものであり、その目的とするところは、簡易な構成か
つ少ない命令数により高速にビット処理を実現すること
ができるディジタル信号処理装置を提供することにあ
る。
【0015】
【課題を解決するための手段】以上の目的を達成するた
めに第1の本発明は、作業用メモリへのデータの書き込
みおよび読み出しによるデータ操作をともなってディジ
タル信号を処理するディジタル信号処理装置において、
前記作業用メモリを、1アドレスで指定される例えば固
定ビット長領域などの記憶領域として、その容量が1ワ
ードである第1領域および容量が1/gワード(gは所
定の自然数)である例えば制限ビット長領域などの第2
領域とを設けたものとした。
【0016】このような手段を講じたことにより、作業
用メモリの第2領域へのデータの書き込みや読み出しを
適宜行うことで、1/gワード分のビット列単位でのビ
ット処理を行うことが可能となる。
【0017】また上記目的を達成するために第2の本発
明は、前記第1の発明に加えて、前記第2領域が書込み
先として指定された場合に、データバス上を伝送される
1ワードデータにおける所定ビット位置の1/gワード
長のビット列を作業用メモリに与える例えばデータ制御
部などの書込データ処理手段と、前記第2領域のいずれ
かの記憶領域が読出し先として指定された場合に、指定
された記憶領域に関連する所定のg個の記憶領域を順に
読出し先として前記作業用メモリからデータを読み出す
例えばアドレス制御部などの読出制御手段と、この読出
制御手段により読み出された1/gワード長のg個のデ
ータを所定の順序で並べて1ワード長のデータを生成し
て前記データバスへと出力する例えばデータ制御部など
の読出しデータ処理手段とを備えた。
【0018】このような手段を講じたことにより、デー
タバス上を伝送される1ワードデータにおける所定ビッ
ト位置の1/gワード長のビット列が抽出されて作業用
メモリの第2領域に格納される。そしてこの第2領域に
記憶された所定のg個のビット列が読み出され、これら
を所定の順序で並べて1ワード長のデータが生成され
る。従って、g個の1ワードデータにおける所定ビット
位置の1/gワード長のビット列をそれぞれ連結するパ
ック動作が行われる。
【0019】また上記目的を達成するために第3の本発
明は、前記第1の発明に加えて、前記第2領域のいずれ
かの記憶領域が書込み先として指定された場合に、指定
された記憶領域に関連する所定のg個の記憶領域を順に
書込み先として順次指定する例えばアドレス制御部など
の書込み領域制御手段と、前記第2領域が書込み先とし
て指定された場合に、前記書込み領域制御手段により指
定されたg個の記憶領域にデータバス上を伝送される1
ワードデータにおけるそれぞれ異なる所定ビット位置の
1/gワード長ずつのg個のビット列を順に書込むべく
作業用メモリに与える例えばデータ制御部などの書込デ
ータ処理手段と、前記第2領域のいずれかの記憶領域が
読出し先として指定された場合に、その記憶領域から出
力される1/gワード長のデータのみを所定のビット位
置に設定してなる1ワード長のデータを生成して前記デ
ータバスへと出力する例えばデータ制御部などの読出し
データ処理手段とを備えた。
【0020】このような手段を講じたことにより、デー
タバス上を伝送される1ワードデータにおけるそれぞれ
異なる所定ビット位置の1/gワード長ずつのg個のビ
ット列がそれぞれ抽出されて作業用メモリの第2領域に
格納される。そしてこの第2領域に記憶された1/gワ
ード長のデータのそれぞれの読み出し時に、その1/g
ワード長のデータのみを所定のビット位置に設定してな
る1ワード長のデータが生成される。従って、1/gワ
ード長のビット列をg個連結してなるデータから1/g
ワード長のビット列のそれぞれを分離するアンパック動
作が行われる。
【0021】また上記目的を達成するために第4の本発
明は、前記第1の発明に加えて、前記第2領域が書込み
先として指定された場合に、データバス上を伝送される
1ワードデータにおける所定ビット位置の1/gワード
長のビット列を作業用メモリに与える例えばデータ制御
部などの書込データ処理手段と、前記第2領域のいずれ
かの記憶領域が読出し先として指定された場合に、その
記憶領域から出力される1/gワード長のデータのみを
所定のビット位置に設定してなる1ワード長のデータを
生成して前記データバスへと出力する例えばデータ制御
部などの読出しデータ処理手段とを備えた。
【0022】このような手段を講じたことにより、デー
タバス上を伝送される1ワードデータにおける所定ビッ
ト位置の1/gワード長のビット列が抽出されて作業用
メモリの第2記憶領域に格納される。そしてこの第2記
憶領域に記憶された1/gワード長のビット列の読み出
し時に、その1/gワード長のデータのみを所定のビッ
ト位置に設定してなる1ワード長のデータが生成され
る。従って、1ワードデータにおける所定ビット位置の
1/gワード長のビット列の抽出が行われる。
【0023】また上記目的を達成するために第5の本発
明は、前記第1の発明に加えて、前記第2領域のいずれ
かの記憶領域が書込み先として指定された場合に、指定
された記憶領域に関連する所定のg個の記憶領域を順に
書込み先として順次指定する例えばアドレス制御部など
の書込み領域制御手段と、前記第2領域が書込み先とし
て指定された場合に、前記書込み領域制御手段により指
定されたg個の記憶領域にデータバス上を伝送される1
ワードデータにおけるそれぞれ異なる所定ビット位置の
1/gワード長ずつのg個のビット列を順に書込むべく
作業用メモリに与える例えばデータ制御部などの書込デ
ータ処理手段と、前記第2領域のいずれかの記憶領域が
読出し先として指定された場合に、指定された記憶領域
に関連する所定のg個の記憶領域を順に読出し先として
前記作業用メモリからデータを例えばアドレス制御部な
どの読み出す読出制御手段と、この読出制御手段により
読み出された1/gワード長のg個のデータを所定の順
序で並べて1ワード長のデータを生成して前記データバ
スへと出力する例えばデータ制御部などの読出しデータ
処理手段とを備えた。
【0024】このような手段を講じたことにより、デー
タバス上を伝送される1ワードデータにおけるそれぞれ
異なる所定ビット位置の1/gワード長ずつのg個のビ
ット列がそれぞれ分離されて作業用メモリの第2領域に
格納される。そしてこの第2記憶領域に記憶された1/
gワード長のビット列の読み出し時に、その1/gワー
ド長のg個のデータを所定の順序で並べて1ワード長の
データが生成される。従って、1ワードデータにおける
それぞれ異なる所定ビット位置の1/gワード長ずつの
g個のビット列を一旦分離した上で、それら1/gワー
ド長ずつのg個のビット列をそれぞれ連結する再パック
動作が行われる。
【0025】
【発明の実施の形態】以下、図面を参照して本発明の一
実施形態につき説明する。
【0026】図1は本実施形態のディジタル信号処理装
置を適用して構成されたDSPの要部構成を示すブロッ
ク図である。
【0027】この図に示すように本実施形態のDSP
は、プログラム制御部1、アドレス管理部2、アドレス
制御部3、作業用メモリ4、データ制御部5、モードレ
ジスタ6、アドレス管理部7、係数メモリ8、レジスタ
9,10、積算部11、積算出力レジスタ12、セレク
タ13、論理・算術演算部14、レジスタ15,16お
よびI/O制御部17を有している。
【0028】そして、プログラム制御部1、アドレス管
理部2、データ制御部5、モードレジスタ6、アドレス
管理部7、係数メモリ8、レジスタ9,10、積算出力
レジスタ12、セレクタ13、論理・算術演算部14、
レジスタ15,16およびI/O制御部17は、それぞ
れデータバスB1に接続されている。またアドレス管理
部2,7はアドレスバスB2に、I/O制御部17は外
部バスB3にもそれぞれ接続されている。
【0029】プログラム制御部1は、任意に設定される
プログラムに基づいて、そのプログラムの記述内容に応
じた任意の信号処理を実現するべく各部の動作を制御す
る。なお図示を省略しているが、このプログラム制御部
1の制御対象となる部分とプログラム制御部1との間は
制御線により接続されている。
【0030】アドレス管理部2は、作業用メモリ4に関
するアドレス管理処理を行う。すなわちアドレス管理部
2は、アドレスバスB2を介して指定されるアドレスが
作業用メモリ4に対応するものであるときに、そのアド
レスに対応した作業用メモリ4の実アドレスを出力する
などの処理を行う。このアドレス管理部2が出力するア
ドレスはアドレス制御部3へと与えられる。
【0031】アドレス制御部3は、作業用メモリ4に設
けられた多数のアドレス領域(1つのアドレスが割り付
けられた記憶領域)のそれぞれをアクセス先として指定
するセレクト信号を任意に発生して作業用メモリ4へと
与える。アドレス制御部3は、アドレス管理部2から与
えられるアドレスに基づいてセレクト信号の出力を行う
が、モードレジスタ6から与えられるモード制御信号に
より示されるモードに応じてセレクト信号の出力形態を
後述するように変化させる。
【0032】作業用メモリ4は、半導体メモリよりな
り、多数のアドレス領域が設定されている。この多数の
アドレス領域は、固定ビット長領域4aおよび制限ビッ
ト長領域4b,4cのいずれかに複数ずつが属してい
る。ここで各領域は図2に示すように、固定ビット長領
域4aに属するアドレス領域は1ワード分のビット長
(nビット)を、また制限ビット長領域4b,4cに属
するアドレス領域は1ワード分よりも短くかつそれぞれ
異なるビット長(m0ビット,m1ビット)をそれぞれ有
する。すなわち作業用メモリ4は、それぞれビット長が
異なる3種類のアドレス領域が混在して設けられてい
る。
【0033】データ制御部5は、作業用メモリ4に設け
られた多数のアドレス領域のそれぞれに対応するメモリ
データ信号線により作業用メモリ4に接続されている。
そしてデータ制御部5はデータバスB1から取り込んだ
データを任意のアドレス領域に与えたり、任意のアドレ
ス領域から出力されるデータをデータバスB1へと出力
する。データ制御部5はデータを作業用メモリ4やデー
タバスB1へと出力するに当り、モードレジスタ6から
与えられるモード制御信号により示されるモードに応じ
て後述するようなデータ処理を行う。
【0034】モードレジスタ6は、ビット処理を行う場
合の処理内容に応じたモード情報が任意に登録される。
モードレジスタ6は、この登録されたモード情報に応じ
たモード制御信号を生成してアドレス制御部3およびデ
ータ制御部5へと与える。
【0035】アドレス管理部7は、係数メモリ8に関す
るアドレス管理処理を行う。すなわちアドレス管理部7
は、アドレスバスB2を介して指定されるアドレスが係
数メモリ8に対応するものであるときに、そのアドレス
に対応した係数メモリ8の実アドレスを出力するなどの
処理を行う。このアドレス管理部7が出力するアドレス
は係数メモリ8へと与えられる。
【0036】係数メモリ8は、信号処理のための係数デ
ータを格納しておくために使用される。
【0037】レジスタ9,10は、積算部11の入力用
レジスタである。すなわちレジスタ9,10は、積算部
11で積算するべき2つのデータを一時的に保持してお
く。
【0038】積算部11は、レジスタ9,10にそれぞ
れ保持された2つのデータを積算し、その結果を積算出
力レジスタ12へと与える。
【0039】積算出力レジスタ12は、積算部11の出
力用レジスタである。すなわち積算出力レジスタ12
は、積算部11での積算結果を一時的に保持しておく。
この積算出力レジスタ12は、レジスタ9,10の容
量、すなわち1ワード長の2倍のビット長を有し、これ
により演算精度を確保する。この積算出力レジスタ12
の保持データは、データバスB1またはセレクタ13へ
と必要に応じて出力される。なお、積算出力レジスタ1
2の保持データは2ワード長を持つので、データバスB
1にて転送する場合には上位、下位の指定が必要とな
る。
【0040】セレクタ13は、積算出力レジスタ12か
ら出力されるデータと、データバスB1を介して到来す
るデータとのいずれか一方を選択して論理・算術演算部
14へと与える。
【0041】論理・算術演算部14には、レジスタ9,
10,15,16の保持データおよび積算出力レジスタ
12の保持データの上位側のうちのいずれか2つが任意
に供給される。そして論理・算術演算部14は、この供
給される2つのデータを対象として和算や論理和算など
の処理を行う。そして論理・算術演算部14は、2ワー
ド長となる演算結果データの上位側をレジスタ15へ、
また下位側をレジスタ16へそれぞれ出力する。
【0042】レジスタ15,16は、1ワード長の容量
を有し、論理・算術演算部14から与えられる1ワード
長ずつのデータを一時的に保持しておき、データバスB
1へと必要に応じて出力する。
【0043】I/O制御部17は、データバスB1と外
部バスB3との間でのデータ交換、すなわち本DSPの
外部とのデータ入出力を行う。
【0044】図3はプログラム制御部1の詳細な構成を
示すブロック図である。
【0045】この図に示すようにプログラム制御部1
は、プログラムカウンタ21、プログラムメモリ22、
インストラクションレジスタ23、インストラクション
デコーダ24、割込み制御部25、分岐制御部26、ス
タック制御部27およびアドレスカウントアップ28を
有している。
【0046】プログラムカウンタ21は、所定のタイミ
ング毎にプログラムアドレスをカウントアップし、最新
のプログラムアドレスをプログラムメモリ22およびス
タック制御部27へと与える。
【0047】プログラムメモリ22は、実行すべき信号
処理の手順が記述されたプログラムが登録されている。
そしてプログラムメモリ22は、プログラムカウンタ2
1から与えられるプログラムアドレスが付されたインス
トラクションコードをインストラクションレジスタ23
に与える。
【0048】インストラクションレジスタ23は、プロ
グラムメモリ22から与えられたインストラクションコ
ードを一時的に記憶しておき、インストラクションデコ
ーダ24へと供給する。
【0049】インストラクションデコーダ24は、イン
ストラクションレジスタ23に保持されたインストラク
ションコードをデコードし、そのデコード結果に基づい
て図1の各部に必要な制御信号を与える。
【0050】割込み制御部25は、割込みが発生した場
合にその割込みを実現するためにプログラムカウンタ2
1が発生するプログラムアドレスを変更させる。
【0051】分岐制御部26は、プログラムによる分岐
条件、分岐、サブルーチンの呼び出しが発生した場合に
それらの処理分岐を実現するためにプログラムカウンタ
21が発生するプログラムアドレスを変更させる。
【0052】スタック制御部27は、割込みやサブルー
チンからの復帰動作のために、プログラムアドレスを必
要に応じて待避(スタック)しておき、復帰時にスタッ
クしてある値をプログラムカウンタ21に再設定する。
【0053】アドレスカウントアップ28は、アドレス
のカウントアップ動作を行う。
【0054】次に以上のように構成されたDSPの動作
につき説明する。
【0055】まず作業用メモリ4のうちの固定ビット長
領域4aおよび制限ビット長領域4b,4cの各アドレ
ス領域をアクセスするためのアドレスは既知であって、
ユーザはこれらの3種類のアドレス領域を適宜使用する
ことができる。
【0056】作業用メモリ4のうちの固定ビット長領域
4aは、従来通りの1ワード長の領域であるから、この
固定ビット長領域4aに属するアドレス領域を用いるこ
とで、従来通りの1ワード単位でのデータ処理を行うこ
とができる。
【0057】一方、制限ビット長領域4b、4cは、容
量が1ワードよりも小さな制限長(m0ビット,m1ビッ
ト)に制限された領域であって、以下に説明するように
して使用することでm0ビット単位やm1ビット単位での
ビット処理を行うことができる。
【0058】以下、このようなビット処理に関する動作
について詳しく説明する。
【0059】まずビット処理を行う場合、モードレジス
タ6に第1モード〜第4モードのそれぞれを示すモード
情報のいずれかを設定しておく。
【0060】(第1モード)このモードは、1ワード中
の所定位置のm0ビット分のビット列をn/m0ワード
分、あるいは1ワード中の所定位置のm1ビット分のビ
ット列をn/m1ワード分連結してnビット長、すなわ
ち1ワード長のデータを作成するパック動作を行うモー
ドである。
【0061】1ワード中の所定位置のm0ビット分のビ
ット列をn/m0ワード分連結するパック動作を行う場
合には、連結すべきビット列を含むn/m0個がデータ
バスB1を伝送されるときに、制限ビット長領域4bに
属する連続するn/m0個のアドレス領域を書込み先ア
ドレスi,i+1…,i+kとして順次指定することと
する。なおここでのkは[(n/m0)−1]で求まる
値であり、n=16、m0=4とするならば、k=3と
なる。
【0062】そうするとアドレス制御部3は、このn/
0個の書込み先アドレスのそれぞれが示すアドレス領
域をアクセス先とするべくセレクト信号を出力する。ま
たアドレス制御部3は、アクセス先が制限ビット長領域
4bであることをデータ制御部5に対して通知する。
【0063】一方、データ制御部5は、アクセス先が制
限ビット長領域4bであることが通知され、かつ書き込
み時であるならば、データバスB1を介して到来する1
ワード長のデータのうちの上位m0ビットのみを作業用
メモリ4に与える。
【0064】かくして、図4(a)に示すように、アド
レスi,i+1…,i+kの各アドレス領域に、n/m
0個の1ワードデータのうちの上位m0ビットずつがそれ
ぞれ書き込まれることとなる。なお、1ワードデータの
うちの上位m0ビット以外のビット列は廃棄する。
【0065】続いて、このように作業用メモリ4に書き
込んだデータを出力する場合、連結するデータが記憶さ
れた先頭のアドレス領域のアドレスiを指定することと
する。
【0066】そうするとアドレス制御部3は、アドレス
iから連続するn/m0個のアドレス領域、すなわちア
ドレスi,i+1…,i+kのアドレス領域をそれぞれ
読出し先とするべくセレクト信号を順次出力する。また
アドレス制御部3は、アクセス先が制限ビット長領域4
bであることをデータ制御部5に対して通知する。
【0067】これにより、作業用メモリ4からはアドレ
スi,i+1…,i+kの各アドレス領域に格納されて
いるm0ビットずつのデータが順にn/m0個出力される
こととなる。
【0068】そこでデータ制御部5は、このn/m0
のm0ビットデータを上位側から順に配置した状態で連
結することで、図4(a)に示すようにnビット長、す
なわち1ワード長のデータを生成する。そして作業用メ
モリ4から出力されるデータを個々には出力することな
しに、生成した1ワード長のデータをデータバスB1へ
と出力する。
【0069】1ワード中の所定位置のm1ビット分のビ
ット列をn/m1ワード分連結するパック動作を行う場
合には、書込み先および読出し先のアドレスをj,j+
1…,j+hとして、かつ制限ビット長領域4cを使用
して、図4(b)に示すような上記と同様な動作により
実現される。なおここでのhは[(n/m1)−1]で
求まる値であり、n=16、m1=1とするならば、h
=15となる。
【0070】以上のようにして、ユーザ側、すなわちプ
ログラム作成者側から見れば、制限ビット長領域4b,
4cをアクセス先としてのデータの書き込みと、その書
き込んだデータの読み出しとを行うだけで、n/m0
またはn/m1個の1ワードデータから抽出したm0ビッ
ト長ずつまたはm1ビット長ずつのビット列をパックし
てなる1ワード長のデータを生成することができる。
【0071】(第2モード)このモードは、m0ビット
長ずつのビット列をn/m0個パックしてなる1ワード
長のデータや、m1ビット長ずつのビット列をn/m1
パックしてなる1ワード長のデータからm0ビット長ず
つまたはm1ビット長ずつのビット列を分離するアンパ
ック動作を行うモードである。
【0072】m0ビット長ずつのビット列をn/m0個パ
ックしてなる1ワード長のデータを分離するアンパック
動作を行う場合には、まず分離すべき1ワードデータが
データバスB1を伝送されるときに、制限ビット長領域
4bに属する任意のアドレス領域のアドレスiを書込み
先として指定することとする。
【0073】そうするとアドレス制御部3は、アドレス
iから連続するn/m0個のアドレス領域、すなわちア
ドレスi,i+1…,i+kのアドレス領域をそれぞれ
書き込み先とするべくセレクト信号を順次出力する。ま
たアドレス制御部3は、アクセス先が制限ビット長領域
4bであることをデータ制御部5に対して通知する。
【0074】一方、データ制御部5は、アクセス先が制
限ビット長領域4bであることが通知され、かつ書き込
み時であるならば、データバスB1を介して到来する1
ワード長のデータを上位からm0ビット分づつ分離し
て、作業用メモリ4のアドレスi,i+1…,i+kの
アドレス領域へとそれぞれ与える。
【0075】かくして、図5(a)に示すように、アド
レスi,i+1…,i+kの各アドレス領域に、1ワー
ド長のデータから分離されたm0ビットずつのn/m0
のデータがそれぞれ書き込まれることとなる。
【0076】続いて、このように作業用メモリ4に書き
込んだデータを出力する場合、各データが記憶されたア
ドレス領域のアドレスi,i+1…,i+kを順次指定
することとする。
【0077】そうするとアドレス制御部3は、このアド
レスのそれぞれに対応するアドレス領域をそれぞれアク
セス先とするべく順次セレクト信号を出力する。またア
ドレス制御部3は、アクセス先が制限ビット長領域4b
であることをデータ制御部5に対して通知する。
【0078】これにより、作業用メモリ4からはアドレ
スi,i+1…,i+kの各アドレス領域に格納されて
いるm0ビットずつのデータが順にn/m0個出力される
こととなる。
【0079】そこでデータ制御部5は、このm0ビット
ずつのデータのそれぞれを上位側に配し、残りのビット
を全て「0」とした1ワード長のデータとして順次デー
タバスB1へと出力する。
【0080】m1ビット長ずつのビット列をn/m1個パ
ックしてなる1ワード長のデータからm1ビット長ずつ
のビット列を分離するアンパック動作を行う場合には、
書込み先および読出し先のアドレスをj,j+1…,j
+hとして、かつ制限ビット長領域4cを使用して、図
5(b)に示すような上記と同様な動作により実現され
る。
【0081】以上のようにして、ユーザ側、すなわちプ
ログラム作成者側から見れば、制限ビット長領域4b,
4cをアクセス先としてのデータの書き込みと、その書
き込んだデータの読み出しとを行うだけで、m0個また
はm1ビット長ずつのビット列をn/m0個またはn/m
1個パックしてなる1ワード長のデータからm1ビット長
ずつのビット列を分離することができる。
【0082】(第3モード)このモードは、1ワード中
の所定位置のm0ビット分のビット列や1ワード中の所
定位置のm1ビット分のビット列を抽出するモードであ
る。
【0083】1ワード中の所定位置のm0ビット分のビ
ット列を抽出する場合には、その抽出すべきビット列を
含むデータがデータバスB1を順次伝送されるのに合わ
せて、制限ビット長領域4bに属する連続するn/m0
個のアドレス領域を書込み先アドレスi,i+1…,i
+kとして順次指定することとする。
【0084】そうするとアドレス制御部3は、このn/
0個の書込み先アドレスのそれぞれが示すアドレス領
域をアクセス先とするべくセレクト信号を出力する。ま
たアドレス制御部3は、アクセス先が制限ビット長領域
4bであることをデータ制御部5に対して通知する。
【0085】一方、データ制御部5は、アクセス先が制
限ビット長領域4bであることが通知され、かつ書き込
み時であるならば、データバスB1を介して到来する1
ワード長のデータのうちの上位m0ビットのみを作業用
メモリ4に与える。
【0086】かくして、図6(a)に示すように、アド
レスi,i+1…,i+kの各アドレス領域に、データ
バスB1を順次伝送されるn/m0個の1ワードデータ
のうちの上位m0ビットずつがそれぞれ書き込まれるこ
ととなる。
【0087】続いて、このように作業用メモリ4に書き
込んだデータを出力する場合、各データが記憶されたア
ドレス領域のアドレスi,i+1…,i+kを順次指定
することとする。
【0088】そうするとアドレス制御部3は、このアド
レスのそれぞれに対応するアドレス領域をそれぞれアク
セス先とするべく順次セレクト信号を出力する。またア
ドレス制御部3は、アクセス先が制限ビット長領域4b
であることをデータ制御部5に対して通知する。
【0089】これにより、作業用メモリ4からはアドレ
スi,i+1…,i+kの各アドレス領域に格納されて
いるm0ビットずつのデータが順にn/m0個出力される
こととなる。
【0090】そこでデータ制御部5は、このm0ビット
ずつのデータのそれぞれを上位側に配し、残りのビット
を全て「0」とした1ワード長のデータとして順次デー
タバスB1へと出力する。
【0091】1ワード中の所定位置のm1ビット分のビ
ット列を抽出する場合には、書込み先および読出し先の
アドレスをj,j+1…,j+hとして、かつ制限ビッ
ト長領域4cを使用して、図6(b)に示すような上記
と同様な動作により実現される。
【0092】以上のようにして、ユーザ側、すなわちプ
ログラム作成者側から見れば、制限ビット長領域4b,
4cをアクセス先としてのデータの書き込みと、その書
き込んだデータの読み出しとを行うだけで、1ワード中
の所定位置のm0ビット分のビット列や1ワード中の所
定位置のm1ビット分のビット列を抽出することができ
る。
【0093】(第4モード)このモードは、m0ビット
長ずつのビット列をn/m0個パックしてなる1ワード
長のデータや、m1ビット長ずつのビット列をn/m1
パックしてなる1ワード長のデータからm0ビット長ず
つまたはm1ビット長ずつのビット列を一旦分離した上
で、再度m0ビット長ずつのビット列をn/m0個パック
してなる1ワード長のデータや、m1ビット長ずつのビ
ット列をn/m1個パックしてなる1ワード長のデータ
を作成する再パック動作を行うモードである。
【0094】m0ビット長ずつのビット列をn/m0個パ
ックしてなる1ワード長のデータの再パック動作を行う
場合には、まず分離すべき1ワードデータがデータバス
B1を伝送されるときに、制限ビット長領域4bに属す
る任意のアドレス領域のアドレスiを書込み先として指
定することとする。
【0095】そうするとアドレス制御部3は、アドレス
iから連続するn/m0個のアドレス領域、すなわちア
ドレスi,i+1…,i+kのアドレス領域をそれぞれ
書き込み先とするべくセレクト信号を順次出力する。ま
たアドレス制御部3は、アクセス先が制限ビット長領域
4bであることをデータ制御部5に対して通知する。
【0096】一方、データ制御部5は、アクセス先が制
限ビット長領域4bであることが通知され、かつ書き込
み時であるならば、データバスB1を介して到来する1
ワード長のデータを上位からm0ビット分づつ分離し
て、作業用メモリ4のアドレスi,i+1…,i+kの
アドレス領域へとそれぞれ与える。
【0097】かくして、図7(a)に示すように、アド
レスi,i+1…,i+kの各アドレス領域に、1ワー
ド長のデータから分離されたm0ビットずつのn/m0
のデータがそれぞれ書き込まれることとなる。
【0098】続いて、このように作業用メモリ4に書き
込んだデータを出力する場合、連結するデータが記憶さ
れた先頭のアドレス領域のアドレスiを指定することと
する。
【0099】そうするとアドレス制御部3は、アドレス
iから連続するn/m0個のアドレス領域、すなわちア
ドレスi,i+1…,i+kのアドレス領域をそれぞれ
読出し先とするべくセレクト信号を順次出力する。また
アドレス制御部3は、アクセス先が制限ビット長領域4
bであることをデータ制御部5に対して通知する。
【0100】これにより、作業用メモリ4からはアドレ
スi,i+1…,i+kの各アドレス領域に格納されて
いるm0ビットずつのデータが順にn/m0個出力される
こととなる。
【0101】そこでデータ制御部5は、このn/m0
のm0ビットデータを上位側から順に配置した状態で連
結することで、図7(a)に示すようにnビット長、す
なわち1ワード長のデータを生成する。そして作業用メ
モリ4から出力されるデータを個々には出力することな
しに、生成した1ワード長のデータをデータバスB1へ
と出力する。
【0102】1ワード中の所定位置のm1ビット分のビ
ット列をn/m1ワード分連結するパック動作を行う場
合には、書込み先および読出し先のアドレスをj,j+
1…,j+hとして、かつ制限ビット長領域4cを使用
して、図7(b)に示すような上記と同様な動作により
実現される。
【0103】以上のようにして、ユーザ側、すなわちプ
ログラム作成者側から見れば、制限ビット長領域4b,
4cをアクセス先としてのデータの書き込みと、その書
き込んだデータの読み出しとを行うだけで、m0ビット
長ずつのビット列をn/m0個パックしてなる1ワード
長のデータや、m1ビット長ずつのビット列をn/m1
パックしてなる1ワード長のデータの再パック動作を行
うことができる。
【0104】以上のように本実施形態によれば、ユーザ
側、すなわちプログラム作成者側から見ての制限ビット
長領域4b,4cをアクセス先としてのデータの書き込
みと、その書き込んだデータの読み出しとにより各種の
ビット処理を行うことが可能である。従って、命令数は
データの書き込みや読み出しに関する少数で済み、短時
間に処理することが可能である。
【0105】しかも本実施形態では、メモリアクセスモ
ード機能を有するDSPのように作業用メモリ4でのア
ドレス領域とアドレスとの対応関係を変化させる必要が
無く、一義的なアドレスにより作業用メモリ4のアクセ
ス制御を行うので、アドレス制御部3は簡易な構成によ
り実現可能であり、作業用メモリ4のアクセス速度の低
下は最小限に抑えることができる。
【0106】このようなことから本実施形態によれば、
高速にビット処理を行うことが可能である。
【0107】なお本発明は上記実施形態に限定されるも
のではない。例えば上記実施形態では、1ワード長のデ
ータからの抽出するビット列を1ワード長のデータの上
位側のビット列としているが、この抽出するビット列の
位置は任意に設定可能である。
【0108】また上記実施形態では、パック動作の際に
は抽出したデータをその抽出順に連結するものとしてい
るが、この連結順序は任意に設定可能である。例えばモ
ード4では、連結順序を抽出順序と異ならせるようにす
ることで、ビット単位でのデータの並べ替えが実現でき
る。
【0109】また上記実施形態では、制限ビット長領域
を4bおよび4cの2種類備えることとしているが、1
種類のみ設けるようにしても良いし、3種類以上設ける
ようにしても良い。
【0110】また上記実施形態では、4つのモードを備
えて、4種類のビット処理を選択的に実行可能としてい
るが、上記の4つのモードの全てを備える必要はない。
そして1種類のビット処理を行うように構成することも
可能であり、その場合にはモード選択のための構成を排
除できる。
【0111】また上記実施形態では、アドレス制御部3
およびデータ制御部5の処理を変更することで任意のビ
ット処理を行うことが可能であり、上記実施形態に挙げ
た4種類のビット処理以外のビット処理を行うようにし
ても良い。
【0112】また、行うビット処理によっては、アドレ
ス制御部3やデータ制御部5での処理をソフトウェア処
理により行うようにすることも可能である。
【0113】また上記実施形態では、本発明に係るディ
ジタル信号処理装置をDSPに適用した例を示している
が、LSI化しないで実現するなどのように他の形態で
実現することも可能である。
【0114】このほか、本発明の要旨を逸脱しない範囲
で種々の変形実施が可能である。
【0115】
【発明の効果】第1の本発明は、作業用メモリを、1ア
ドレスで指定される記憶領域として、その容量が1ワー
ドである第1領域および容量が1/gワード(gは所定
の自然数)である第2領域とを設けたものとしたので、
作業用メモリの第2領域へのデータの書き込みや読み出
しを適宜行うことで、1/gワード分のビット列単位で
のビット処理を行うことが可能となり、しかもアクセス
制御に関しては第1領域および第2領域のいずれも同じ
アドレス領域として扱えば良く、この結果、簡易な構成
かつ少ない命令数により高速にビット処理を実現するこ
とができるディジタル信号処理装置となる。
【0116】また第2の本発明は、データバス上を伝送
される1ワードデータにおける所定ビット位置の1/g
ワード長のビット列を抽出して作業用メモリの第2領域
に一旦格納し、さらにこの第2領域に記憶された所定の
g個のビット列を所定の順序で並べて1ワード長のデー
タを生成するようにしたので、g個の1ワードデータに
おける所定ビット位置の1/gワード長のビット列をそ
れぞれ連結するパック動作を作業用メモリへの書き込み
および読み出し処理により行うことが可能なディジタル
信号処理装置となる。
【0117】また第3の本発明は、データバス上を伝送
される1ワードデータにおけるそれぞれ異なる所定ビッ
ト位置の1/gワード長ずつのg個のビット列をそれぞ
れ抽出して作業用メモリの第2領域に一旦格納し、さら
にこの第2領域に記憶された1/gワード長のデータを
個々に所定のビット位置に設定してなる1ワード長のデ
ータを生成するようにしたので、1/gワード長のビッ
ト列をg個連結してなるデータから1/gワード長のビ
ット列のそれぞれを分離するアンパック動作を作業用メ
モリへの書き込みおよび読み出し処理により行うことが
可能なディジタル信号処理装置となる。
【0118】また第4の本発明は、データバス上を伝送
される1ワードデータにおける所定ビット位置の1/g
ワード長のビット列を抽出して作業用メモリの第2記憶
領域に一旦格納し、さらにこの第2記憶領域に記憶され
た1/gワード長のビット列のみを所定のビット位置に
設定してなる1ワード長のデータを生成するようにした
ので、1ワードデータにおける所定ビット位置の1/g
ワード長のビット列の抽出処理を作業用メモリへの書き
込みおよび読み出し処理により行うことが可能なディジ
タル信号処理装置となる。
【0119】また第5の本発明は、データバス上を伝送
される1ワードデータにおけるそれぞれ異なる所定ビッ
ト位置の1/gワード長ずつのg個のビット列をそれぞ
れ分離して作業用メモリの第2領域に一旦格納し、さら
にこの第2記憶領域に記憶された1/gワード長のビッ
ト列を所定の順序で並べて1ワード長のデータを生成す
るようにしたので、1ワードデータにおけるそれぞれ異
なる所定ビット位置の1/gワード長ずつのg個のビッ
ト列を一旦分離した上で、それら1/gワード長ずつの
g個のビット列をそれぞれ連結する再パック動作を作業
用メモリへの書き込みおよび読み出し処理により行うこ
とが可能なディジタル信号処理装置となる。
【図面の簡単な説明】
【図1】本発明の一実施形態に係るディジタル信号処理
装置を適用して構成されたDSPの要部構成を示すブロ
ック図。
【図2】図1中の作業用メモリ4の詳細構成を示すブロ
ック図。
【図3】図1中のプログラム制御部1の詳細構成を示す
ブロック図。
【図4】第1モードにおけるパック動作の様子を示す
図。
【図5】第2モードにおけるアンパック動作の様子を示
す図。
【図6】第3モードにおけるビット抽出動作の様子を示
す図。
【図7】第4モードにおける再パック動作の様子を示す
図。
【符号の説明】
1…プログラム制御部 2…アドレス管理部 3…アドレス制御部 4…作業用メモリ 4a…固定ビット長領域 4b,4c…制限ビット長領域 5…データ制御部 6…モードレジスタ 7…アドレス管理部 8…係数メモリ 9,10,15,16…レジスタ 11…積算部 12…積算出力レジスタ 13…セレクタ 14…論理・算術演算部 17…I/O制御部 B1…データバス B2…アドレスバス B3…外部バス

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 作業用メモリへのデータの書き込みおよ
    び読み出しによるデータ操作をともなってディジタル信
    号を処理するディジタル信号処理装置において、 前記作業用メモリを、1アドレスで指定される記憶領域
    として、その容量が1ワードである第1領域および容量
    が1/gワード(gは所定の自然数)である第2領域と
    を設けたものとしたことを特徴とするディジタル信号処
    理装置。
  2. 【請求項2】 前記第2領域が書込み先として指定され
    た場合に、データバス上を伝送される1ワードデータに
    おける所定ビット位置の1/gワード長のビット列を作
    業用メモリに与える書込データ処理手段と、 前記第2領域のいずれかの記憶領域が読出し先として指
    定された場合に、指定された記憶領域に関連する所定の
    n個の記憶領域を順に読出し先として前記作業用メモリ
    からデータを読み出す読出制御手段と、 この読出制御手段により読み出された1/gワード長の
    g個のデータを所定の順序で並べて1ワード長のデータ
    を生成して前記データバスへと出力する読出しデータ処
    理手段とを具備したことを特徴とする請求項1に記載の
    ディジタル信号処理装置。
  3. 【請求項3】 前記第2領域のいずれかの記憶領域が書
    込み先として指定された場合に、指定された記憶領域に
    関連する所定のg個の記憶領域を順に書込み先として順
    次指定する書込み領域制御手段と、 前記第2領域が書込み先として指定された場合に、前記
    書込み領域制御手段により指定されたg個の記憶領域に
    データバス上を伝送される1ワードデータにおけるそれ
    ぞれ異なる所定ビット位置の1/gワード長ずつのg個
    のビット列を順に書込むべく作業用メモリに与える書込
    データ処理手段と、 前記第2領域のいずれかの記憶領域が読出し先として指
    定された場合に、その記憶領域から出力される1/gワ
    ード長のデータのみを所定のビット位置に設定してなる
    1ワード長のデータを生成して前記データバスへと出力
    する読出しデータ処理手段とを具備したことを特徴とす
    る請求項1に記載のディジタル信号処理装置。
  4. 【請求項4】 前記第2領域が書込み先として指定され
    た場合に、データバス上を伝送される1ワードデータに
    おける所定ビット位置の1/gワード長のビット列を作
    業用メモリに与える書込データ処理手段と、 前記第2領域のいずれかの記憶領域が読出し先として指
    定された場合に、その記憶領域から出力される1/gワ
    ード長のデータのみを所定のビット位置に設定してなる
    1ワード長のデータを生成して前記データバスへと出力
    する読出しデータ処理手段とを具備したことを特徴とす
    る請求項1に記載のディジタル信号処理装置。
  5. 【請求項5】 前記第2領域のいずれかの記憶領域が書
    込み先として指定された場合に、指定された記憶領域に
    関連する所定のg個の記憶領域を順に書込み先として順
    次指定する書込み領域制御手段と、 前記第2領域が書込み先として指定された場合に、前記
    書込み領域制御手段により指定されたg個の記憶領域に
    データバス上を伝送される1ワードデータにおけるそれ
    ぞれ異なる所定ビット位置の1/gワード長ずつのg個
    のビット列を順に書込むべく作業用メモリに与える書込
    データ処理手段と、 前記第2領域のいずれかの記憶領域が読出し先として指
    定された場合に、指定された記憶領域に関連する所定の
    g個の記憶領域を順に読出し先として前記作業用メモリ
    からデータを読み出す読出制御手段と、 この読出制御手段により読み出された1/gワード長の
    g個のデータを所定の順序で並べて1ワード長のデータ
    を生成して前記データバスへと出力する読出しデータ処
    理手段とを具備したことを特徴とする請求項1に記載の
    ディジタル信号処理装置。
JP2000192762A 2000-06-27 2000-06-27 ディジタル信号処理装置 Pending JP2002007110A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000192762A JP2002007110A (ja) 2000-06-27 2000-06-27 ディジタル信号処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000192762A JP2002007110A (ja) 2000-06-27 2000-06-27 ディジタル信号処理装置

Publications (1)

Publication Number Publication Date
JP2002007110A true JP2002007110A (ja) 2002-01-11

Family

ID=18691846

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000192762A Pending JP2002007110A (ja) 2000-06-27 2000-06-27 ディジタル信号処理装置

Country Status (1)

Country Link
JP (1) JP2002007110A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7219116B2 (en) 2002-08-21 2007-05-15 Oki Electric Industry Co., Ltd. Data processing apparatus
US7516171B2 (en) 2002-08-22 2009-04-07 Oki Semiconductor Co., Ltd. Arithmetic unit and method for data storage and reading

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7219116B2 (en) 2002-08-21 2007-05-15 Oki Electric Industry Co., Ltd. Data processing apparatus
US7516171B2 (en) 2002-08-22 2009-04-07 Oki Semiconductor Co., Ltd. Arithmetic unit and method for data storage and reading

Similar Documents

Publication Publication Date Title
JPS58149548A (ja) メモリ制御方式
JP4955149B2 (ja) ビットfifoを有するディジタル信号プロセッサ
KR100852590B1 (ko) 메모리 제어 회로 및 메모리 제어 방법
JP2002007110A (ja) ディジタル信号処理装置
JPS6041769B2 (ja) アドレス指定方式
JP4586633B2 (ja) デコーダ回路、デコード方法及びデータ記録装置
KR100515413B1 (ko) 비트 스트림 처리기
JP2571682B2 (ja) 情報処理装置
JPH023163A (ja) 多ポートメモリ
US6081869A (en) Bit-field peripheral
JPS6211736B2 (ja)
JPH08166880A (ja) コンピュータ
EP1585024A1 (en) An improved on-chip storage memory for storing variable data bits
JPH0496172A (ja) データ格納方法,ベクトルデータバッファ装置およびベクトルデータ処理装置
JP2514473B2 (ja) 並列処理装置
JP2003196156A (ja) 情報処理装置および情報処理方法
JPS62110697A (ja) アドレス制御方式
JPH03157720A (ja) 汎用レジスタ構成回路
JP2007249651A (ja) コンピュータ装置及びそのデータ転送方法
JPS6116364A (ja) ベクトルデ−タ処理装置
JPS6116363A (ja) ベクトルデ−タ処理装置
JPS6052448B2 (ja) マイクロプログラム制御装置
JPH0255822B2 (ja)
JP2001166918A (ja) プロセッサシステム
JPH06161939A (ja) 集積回路