JP2999101B2 - インターリーブ装置 - Google Patents

インターリーブ装置

Info

Publication number
JP2999101B2
JP2999101B2 JP21107793A JP21107793A JP2999101B2 JP 2999101 B2 JP2999101 B2 JP 2999101B2 JP 21107793 A JP21107793 A JP 21107793A JP 21107793 A JP21107793 A JP 21107793A JP 2999101 B2 JP2999101 B2 JP 2999101B2
Authority
JP
Japan
Prior art keywords
data
address
memory
bit
interleave
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.)
Expired - Fee Related
Application number
JP21107793A
Other languages
English (en)
Other versions
JPH0749779A (ja
Inventor
稔 岡本
勝彦 上田
延夫 浅野
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.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial 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 Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP21107793A priority Critical patent/JP2999101B2/ja
Publication of JPH0749779A publication Critical patent/JPH0749779A/ja
Application granted granted Critical
Publication of JP2999101B2 publication Critical patent/JP2999101B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)
  • Error Detection And Correction (AREA)
  • Transmission Systems Not Characterized By The Medium Used For Transmission (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は送信データのインターリ
ーブ処理を行なうインターリーブ装置に関するものであ
る。
【0002】
【従来の技術】近年、ディジタル信号処理プロセッサ
(以下DSPと略称する)を通信分野に適用する場合、
送信データに対する処理の1つとして、インターリーブ
処理を行なうようにしている。このインターリーブ処理
は、順序道りに並べられたビット列をある一定の規則に
基づいて並べかえる処理である。
【0003】DSPにおけるインターリーブ処理は、例
えば、以下のような手順によって行なわれる。それは、
インターリーブするべき順序道りに並べられたデータを
メモリから読出し、そのデータを特定のビット数だけシ
フトし、シフトされたデータとインターリーブ処理をし
て格納する特定番地(例えば、A番地)のメモリデータ
との論理和を計算し、その計算結果をメモリのA番地に
格納して行われる。この手順を送信データのビットの数
だけ繰返すことによってインターリーブ処理が完成す
る。
【0004】以下、上記の従来技術によるインターリー
ブ装置について、図3に従いその構成を説明する。図3
は従来のインターリーブ装置の構成を示すブロック図で
ある。
【0005】図3において、300は1語又は1ワード
当たりNdビット(Ndは正の整数、例えば16)で構
成される複数の語からなるインターリーブ処理前の又は
処理するべきデータの記憶域と、インターリーブ処理後
のデータ又は処理されるべきデータ(既にインターリー
ブしたビットを有し、更に継続してインターリーブする
べきものを含む)の記憶域とを含むデータメモリ、32
4はデータメモリ300のアクセス番地を指定し、イン
ターリーブ処理後のデータが格納される番地を保持する
ポインタ、340はデータメモリ300から読出された
インターリーブ処理後のデータを入力し、それを後述の
レジスタ342で示すビット数だけシフトするシフタで
ある。
【0006】更に、342はシフタ340がシフトする
ビットの数を供給するレジスタ、360は後述のレジス
タ370から出力したデータとデータメモリ300から
読出されシフタ340でシフトされたデータとを入力し
て論理演算する論理演算器、370はNdビット(Nd
は正の整数、例えば16)で構成され、論理演算器36
0またはデータメモリ300からデータを入力するレジ
スタ、380はここで実行するプログラムを格納するプ
ログラムメモリ、382はプログラムメモリ380から
読出された命令を解読するデコーダ、384は論理演算
器360の動作を制御する制御信号、である。
【0007】以下、図3、図4、図6、図9に従い、上
記のように構成されたインターリーブ装置によってイン
ターリーブ処理を実行するその動作について説明する。
ここで、図4は従来のインターリーブ処理によりインタ
ーリーブするべき又はインターリーブ処理前のデータの
格納状態を示す構成図である。図6はインターリーブ処
理によりインターリーブ処理後のデータの格納状態を示
す構成図である。図9はプログラムメモリに格納された
従来のプログラムの例を示す図である。尚、図3につい
ては前述した。
【0008】以下で説明するインターリーブ処理は、例
えば、図4に示した状態でデータメモリ300に格納さ
れているインターリーブ処理前のデータを図6に示すよ
うに並べかえるものとし、図4に示すように、インター
リーブ処理前のデータD1乃至DNtは0番地から順に
その最下位ビットに格納されており、また、図6に示す
データメモリ300の領域には初期値として0が既に格
納され、データメモリ300及びレジスタ370は16
ビット(Nd=16)構成という条件の下で行われるも
のと仮定する。
【0009】一方、プログラムは、図9に示すように、
プログラムメモリ380の各番地(n〜n+m)に格納
されており、その処理は番地順に従って行うものとす
る。以下、その処理手順について番地順に説明する。
【0010】[プログラムメモリ380:n番地]デー
タメモリ300のポインタ324(ポインタ324には
予め100を格納しておく)で指定された番地から(予
め0・・・・・0に初期化されている)データを読出し
レジスタ370に格納する。
【0011】[プログラムメモリ380:n+1番地]
レジスタ342にシフタ340でシフトするビット数を
設定する。本例では、最初、図4に示すように、データ
メモリ300の0番地に格納されているデータD1をレ
ジスタ370のビット15に格納するため、シフトビッ
ト数15を設定する。
【0012】[プログラムメモリ380:n+2番地]
データメモリ300の0番地のデータ‘0・・・・・0
D1’をシフタ340に読出し、そこでレジスタ342に
保持されているシフトビット数‘15’だけ上位側にシ
フトし、それを論理演算器360に送る。そこで、15
ビット位置にシフトされたデータ‘D10・・・・・0’
とレジスタからのデータ(予め格納された‘0・・・・
・・0’)との論理和(オア)を計算し、その結果のデ
ータ‘D10・・・・・0’をレジスタ370に格納す
る。これにより、レジスタ370のビット15にD1を
格納することができた(他のビット位置は全部0)。
【0013】それ以降のインターリーブ処理も上記同様
にプログラムを進め、ビットを付加してインターリーブ
処理を実行することができる。すなわち、プログラムメ
モリ380における次のプログラムn+3番地及びn+
4番地においても、n+1番地及びn+2番地のプログ
ラムと類似する動作を行う。しかし、ここでは、データ
メモリ300の16番地に格納されているビットD17
をデータメモリ300の100番地のD1の次のビット
位置(ビット位置14)に格納するインターリーブ処理
を実行することになる。
【0014】実際には、前回の演算結果のデータ‘D10
・・・・・0’はレジスタ370に格納されているの
で、それを取出して論理演算器360の一方の入力に挿
入する。他方、データメモリ300の16番地に格納さ
れているデータビットD17(ビット位置0に格納され
ている)を読出し、シフタ340において上位に14ビ
ット位置シフトして論理演算器360の他方の入力に挿
入する。論理演算器360から両入力データの論理和
‘D1 D17 0・・・・・0’が出力され、それをレジスタ
370に格納し、前に格納されていたデータ‘D10・・
・・・0’と置き換える。このインターリーブ処理にお
いて、ビットD17が0の場合は‘D10・・・・・
0’、ビットD17が1の場合は‘D11・・・・・0’
となる。D1の値も勿論0か1である。
【0015】以上説明したn+3番地及びn+4番地の
プログラム処理と同様な動作をNd回(本例では16
回)実行して、最後にn+31番地及びn+32番地の
プログラム処理を終了すると、レジスタ370の全ビッ
トが完成する。
【0016】[プログラムメモリ380:n+m番地]
レジスタ370に格納されている完成した16ビットの
データをデータメモリ300のポインタ324で指定し
た番地(100番地)に格納し、ポインタ324の値を
1増分す(ポインタ324の増分機構は図示せず)。こ
れにより、データメモリ300のポインタ324で指定
した番地(100番地)にはインターリーブ処理が完成
した後のデータ(16ビット)を格納することができた
ことになる。
【0017】以後、プログラムメモリのn番地からn+
m番地と同様な処理をデータメモリ300の101番地
以下の番地についても同様に実行することによりインタ
ーリーブ処理が完了する。(例えば、「MN1901/
MN1909ユーザーズマニュアル6、99、104頁
(松下電子工業刊)」に示された命令セット、及びハー
ドウェア構成により上記処理を実行することができ
る)。
【0018】
【発明が解決しようとする課題】しかしながら、上記の
ような構成でインターリーブ処理を行なうと、プログラ
ムメモリ380及び、データメモリ300に非常に大き
な記憶領域を必要とする。すなわち、プログラムメモリ
380においては、n+1番地及びn+2番地の2命令
中で使用するレジスタ342に対するシフトビット数
(上記の例では、最初15、次に14)、およびデータ
メモリ300から読みだすべき番地の指定(上記の例で
は、最初0番地、次に16番地)は、インターリーブす
べきデータ毎に固有の値であるため、プログラムごとに
行うべき番地指定をループ処理(繰り返し処理)で実行
することができない。従って、プログラムをループ処理
できないので、プログラムメモリ380の使用量は1回
のインターリーブ処理(Nt個のデータに対し)におい
て、n+1番地及びn+2番地の命令に相当する命令を
インターリーブすべきデータの個数(Nt個)分実行し
なければならないことになる。そのため、プログラムは
2×Nt語(1語は下記のように、本例ではNiビッ
ト)だけ記述する必要がある。(本例では、インターリ
ーブ処理後のデータのデータメモリ300における最初
の格納番地を100番地としたが、Nt=230とした
場合はそれを230番地以降としなければならないこと
になる。)
【0019】又、図9に示すn番地及びn+m番地に相
当する2つの命令はNd回ごとに一回実行するので、N
t/Nd個記述する必要がある。従って、プログラムメ
モリ380の1語当りのビット数をNi(Niは正の整
数)ビットとすると、使用メモリは全体として(2×N
t+2×Nt/Nd)×Niビットの領域をインターリ
ーブ処理のために確保しなければならない。また、デー
タメモリ300においては、Nt×Ndビットの領域
(図4)をインターリーブ処理前のデータ格納領域とし
て確保しなければならない。従って、全体として、例え
ば、Nt=230,Nd=16,Ni=32とすると、
プログラムメモリ380において15640ビット、デ
ータメモリ300においては3680ビット、全体で1
9320ビット必要となる。
【0020】このように、上記のような構成でインター
リーブ処理を実行する場合、プログラムメモリ380及
びデータメモリ300の回路規模が非常に増大するとい
う問題があった。
【0021】本発明は、上記の問題に鑑みてなされたも
ので、インターリーブ処理の実行に必要なプログラム及
びデータを記憶するプログラムメモリ及びデータメモリ
が占有する記憶領域を大幅に縮小したインターリーブ装
置を提供することを目的とする。
【0022】
【課題を解決するための手段】本発明によるインターリ
ーブ装置は、上記の問題を解決するため、インターリー
ブ処理前のデータの記憶域とインターリーブ処理後のデ
ータの記憶域とを含む第1の記憶手段と、インターリー
ブ処理後のデータの記憶域の番地情報と、該データのイ
ンターリーブ処理後のビットのビット位置情報とを記憶
する第2の記憶手段と、インターリーブ処理前のデータ
のインターリーブを希望するビットの状態を判別するビ
ット判別手段と、番地情報に基づき第1の記憶手段から
読出されたインターリーブ処理後のデータの、該データ
に対するビット位置情報により指定された位置のビット
をビット判別手段の出力に応じセットもしくはリセット
の操作を行なう演算手段と、演算手段の出力をインター
リーブ処理後のデータの記憶域に書込む書込手段と、を
備えたことを特徴とする
【0023】本発明によるインターリーブ装置は、更
に、上記の問題を解決するため、第2の記憶手段に記憶
されている番地情報を相対的番地情報とし、インターリ
ーブ装置は、更に、相対的番地情報と共同して番地情報
を構成する基準値を含むポインタと、第2の記憶手段か
らの相対的番地情報とポインタからの基準値とを加算し
てインターリーブ処理後のデータの記憶域の番地を指定
する番地情報を出力する加算器と、を含むことを特徴と
する。
【0024】
【0025】
【0026】
【作用】本発明によれば、インターリーブ処理後のデー
タの記憶域に対する番地情報とそのインターリーブ処理
後のビットの位置を指定するビット位置情報とを記憶す
る記憶手段を設け、その番地情報とビット位置情報とに
よりインターリーブ処理後のデータの番地とビット位置
とを個々に任意指定することができるようにしたことに
より、インターリーブ処理前のデータの全ビット位置に
インターリーブ処理前のビットを記憶することができる
と共に、該インターリーブ処理前のデータを同一プログ
ラムの反復で番地指定可能にして、インターリーブに使
用するメモリ領域を大幅に削減することができる。
【0027】また、インターリーブ処理後のデータの記
憶域に対する番地情報を全番地に共通の基準値と各番地
に固有な相対的番地とを加算して生成するようにしたこ
とにより、相対的番地の記憶域を更に削減することがで
きる。
【0028】
【実施例】以下、添付図面を参照して、本発明の実施例
を詳細に説明する。先ず、図1、5、6、7、10に基
づき、本発明の第一実施例によるインターリーブ装置に
ついて詳細に説明する。図1は、本発明の第1実施例に
よるインターリーブ装置の構成を示す構成図である。
【0029】図1において、100は1語あたりNdビ
ット(Ndは正の整数、例えば16)構成で、複数語か
らなるデータメモリ、110はデータメモリ100から
インターリーブ処理前のデータを読出すために指定する
番地を保持するポインタ、120はデータメモリ100
に対しインターリーブ処理後のデータを書込む際に指定
する番地データ及びビット位置情報を保持するアドレス
メモリ、121はアドレスメモリ120のアクセス番地
を指定するポインタ、122はアドレスメモリ120か
ら出力する番地データ、123はアドレスメモリ120
から出力するビット位置情報、124は番地データ12
2を保持し、データメモリ100に対しインターリーブ
処理後のデータの格納番地を与えるポインタである。
【0030】130はビット位置情報123と後述のラ
ッチ167に記憶されたフラグとを入力する制御装置で
あって、後述のフラグ(ラッチ167の値)が0の場合
は、ビット位置情報123で示したビットのみが値0
で、他のビットすべてを値1にした後述のデータ132
(例えば、ビット位置情報123で指定したビット位置
が15であると‘01・・・・・1’となる)を後述の
論理演算器160の一方の入力に出力すると同時に、フ
ラグが0の場合には論理積(アンド)を計算させるよう
論理演算器160の動作を制御する制御信号134を制
御部186に出力する。
【0031】又、制御装置130は後述のフラグ(ラッ
チ167の値)が1の場合は、ビット位置情報123で
示したビットのみが値1で、他のビットすべてを値0に
した後述のデータ132(例えば、前述のように、指定
したビット位置が15であると‘10・・・・・0’と
なる)を後述の論理演算器160の一方の入力に出力す
ると同時に、フラグが0の場合には、論理和(オア)を
計算させるよう論理演算器160の動作を制御する制御
信号134を制御部186に対して出力する。
【0032】更に、132は制御装置130から論理演
算器160に出力するデータ(前述)、134は制御装
置130から制御部186に出力して論理演算器160
に対し論理積を実行するか又は論理和を実行するかの指
示を与える制御信号188を制御部186から出力させ
る制御信号、150は後述のレジスタ170からのデー
タ及びデータメモリ100の出力データを入力し、どち
らか一方を選択して論理演算器160の他方の入力に出
力するマルチプレクサ、160はデータ132とマルチ
プレクサ150からの出力データとを入力し、制御信号
188に応答して論理積か又は論理和を計算する論理演
算器である。
【0033】更に、165は論理演算器160の出力デ
ータを下位側に1ビットシフトし、後述のレジスタ17
0にシフトした結果を出力し、及びその最下位ビットを
ラッチ167に出力するシフタ、167はシフタ165
の出力データの最下位ビット(フラグ)を保持するラッ
チ、170はr0及びr1の2語からなり、1語あたり
Ndビット(Ndは正の整数、例えば16)で構成さ
れ、シフタ165からの出力データを入力してそれをデ
ータメモリ100及びマルチプレクサ150に出力する
レジスタである。
【0034】180はインターリーブ処理用プログラム
(例えば、図10,11に示す)を格納するプログラム
メモリ、182はプログラムメモリ180から読出され
た命令を解読するデコーダ、184はデコーダ182か
ら制御部186に出力される制御信号、186は制御信
号184及び制御信号134を入力し、論理演算器16
0の動作を制御する制御部、188は制御信号134の
入力に応答して制御部186から論理演算器160に出
力してその計算(論理積又は論理和)を制御する制御信
号である。
【0035】又、図1において、ポインタ110、マル
チプレクサ150、論理演算器160、シフタ165、
レジスタ170、及びラッチ167によってビット判別
手段を構成し、制御装置130、データ132、制御信
号134、マルチプレクサ150、論理演算器160、
制御部186、及び制御信号188によって演算手段を
構成し、レジスタ170、及びデータメモリ100によ
って書込手段を構成している。
【0036】以下、上記のように構成された本第1実施
例によるインターリーブ装置において、インターリーブ
処理を実行する動作を図1のほか、図5乃至図7、図1
0を用いて説明する。図5は本発明によるインターリー
ブ処理前のデータの格納状態を示す構成図である。図6
はインターリーブ処理後のデータの格納状態を示す構成
図である。図7は本第1実施例のインターリーブ処理に
使用するアドレスメモリのデータ格納状態を示す構成図
である。図10はプログラムメモリに格納された本第1
実施例のインターリーブ処理に使用するプログラムの例
を示す図である。尚、図1については前述した。
【0037】以下で示すインターリーブ処理動作は、例
えば、データメモリ100に図5に示した状態で格納さ
れているインターリーブ処理前のデータを図6に示すよ
うに並べかえるものとし、インターリーブ処理前のデー
タD1乃至DNtは、図5に示すように、0番地を先頭
番地として最下位ビットから最上位ビットまで順に格納
されており、データメモリ100及びレジスタ170は
16ビット(Nd=16)で構成されるという条件の下
で行われるものと仮定する。
【0038】アドレスメモリ120には、インターリー
ブ処理前のデータ・ビットD1〜DNtそれぞれに対す
るインターリーブ処理後のデータのデータメモリ100
に対する格納先番地及びそのビット位置が0番地から順
に、本実施例では図7に示すような形式で格納されてい
る。また、ポインタ121には予め0が格納されている
ものとする。
【0039】プログラムメモリ180には、図10に示
すプログラムが格納されている。以下、そのプログラム
メモリ180の番地に従い、n番地から順に処理の手順
を説明する。
【0040】[プログラムメモリ180:n番地]ポイ
ンタ110によって指定されたデータメモリ100の番
地(0番地)のデータをマルチプレクサ150、論理演
算器160、及びシフタ165を経由してレジスタ17
0のr1に格納し、同時に最下位ビット(D1)をラッ
チ167に格納する。更に、ポインタ121で指定した
アドレスメモリ120の番地(最初は0番地)のデータ
を読み出し、番地データ122をポインタ124に格納
する。本例による番地データによると、初回はアドレス
メモリ120の0番地を指定したからポインタ124の
値は100となる(図7)。それと同時に、ポインタ1
10の値を1増分する(ポインタ110の増分機構は図
に示していない)。
【0041】[プログラムメモリ180:n+1番地]
n+2〜n+4番地に示すプログラムの処理を繰り返す
回数は、本例では処理を1語ごとに行うから、‘Nd−
1=15’を設定する。なお、処理の繰り返し実行の機
構は図に示していない。
【0042】[プログラムメモリ180:n+2番地]
インターリーブ格納命令を実行する。この命令はデータ
メモリ100のポインタ124で指定した番地(本例で
は100番地)のデータの指定ビット位置にラッチ16
7の値(本例では、下記のように、D1=0であれば
0、D1=1であれば1)をセットして、レジスタ17
0のr0に格納し、同時にポインタ121を1増分する
(101になる)というものである。すなわち、プログ
ラムメモリ180からこの命令が読みだされると、デコ
ーダ182で解読され、インターリーブ格納命令の実行
を制御する制御信号184が出力される。
【0043】一方、制御装置130は、以下に述べるよ
うなデータ132及び制御信号134を出力する。すな
わち、ラッチ167の値(D1)が0のときは、ビット
位置情報123で指定したビット位置(本例では図7に
示すように、その0番地でビット位置15を指定)のビ
ットを0とし、他のビットすべてを1に設定したデータ
132を出力する。それは、x‘7FFF’で示され
る。(xは16進数であることを示し、7は0111、
Fは1111を示す)。同時に、論理演算器160にお
いて論理積を計算させるよう制御する制御信号134を
制御部186に出力する。
【0044】同様に、ラッチ167の値(D1)が1の
ときは、ビット位置情報123で指定したビット位置
(上記と同じく15)のビットを1とし、他のビットす
べてを0に設定したデータ132を出力する。従って、
この場合は、x‘8000’となる。(上記同様、8は
1000、0は0000を示す)。同時に、論理演算器
160に対し論理和を計算させるよう制御する制御信号
134を制御部186に出力する。
【0045】制御部186は、プログラムメモリ180
からの制御信号184の制御に基づき、上記のように制
御信号134に応答して、論理演算器160に対し論理
積または論理和を計算させるよう制御する制御信号18
8を出力する。
【0046】論理演算器160は、ポインタ124で指
定されたデータメモリ100の100番地(本例では、
最初、100番地から始まる)のデータ(最初は内容不
問又は不明‘xx・・・・x’)とデータ132(01
1・・・1、又は100・・・0)を入力し、制御信号
188で制御される計算(論理積又は論理和)を実行し
て、その結果をr0に格納する。
【0047】すなわち、本例では、D1が0の場合は、
ポインタ124で指定されたデータメモリ100の番地
(100番地)のデータ‘xx・・・・x’とデータ1
32の内容x‘7FFF’(01・・・・1)との論理
積を計算し、D1が1の場合は、ポインタ124で指定
されたデータメモリ100の番地(100番地)のデー
タ‘xx・・・・x’とデータ132の内容x‘800
0’(10・・・・0)との論理和を計算する。これに
より、D1が所定のビット位置に格納できたことにな
る。ここで、ポインタ121を1増分してアドレスメモ
リ120の1番地を指定し次の処理に備える(ポインタ
121の増分機構は図示していない)。
【0048】[プログラムメモリ180:n+3番地]
ポインタ124で指定されたデータメモリ100の番地
(100番地)にレジスタ170のr0に格納されてい
るデータを格納する。これにより、データメモリ100
の0番地に格納されているデータのビット位置0(図
5)の1ビット(D1)に対するインターリーブ処理が
完了したことになる。
【0049】[プログラムメモリ180:n+4番地]
レジスタ170のr1に格納されているデータ(本例で
は、‘D16、・・・、D3、D2、D1’)をマルチ
プレクサ150及び論理演算器160を介してシフタ1
65に格納し、そこで下位側に1ビットのみシフトし
て、次のビットD2を最右端に配置する。その結果を再
びr1に格納すると同時に、最下位ビット(D2)をラ
ッチ167にフラグとして格納する。
【0050】そこで、前述同様、ポインタ121で指定
したアドレスメモリ120の番地(上記で1番地に増分
した)のデータ(図7の1番地に示すように、番地デー
タ=102、ビット位置データ=1)を読出し、番地デ
ータ122をポインタ124に格納する。従って、ポイ
ンタ124の値は、現在では102となる。続いて、繰
返し処理の先頭番地(n+2番地)に戻る。以降、n+
2番地からn+4番地をNd−1(=15)回繰り返す
ことによって、D1〜DNd(D16)のデータに対す
るインターリーブ処理を実行することができる。その終
了後、プログラムはプログラムメモリ180のn+5に
進む。
【0051】[プログラムメモリ180:n+5番地]
n番地に分岐し、そこで次にインターリーブするべきデ
ータが格納されているデータメモリ100の番地を指定
して、上記同様の回数の処理を繰返す(本例では、前
回、既に1番地増分してあり、1番地を指定する)。
【0052】次に、インターリーブするべきビットD1
7を上記でインターリーブしたデータ‘0xx・・・
x’又は‘1xx・・・x’(xは不問又は不明ビッ
ト)(図6の100番地にD1のみがインターリーブさ
れている状態)に対し如何に加えるかについて説明す
る。上記のように、プログラムメモリ180のn番地に
戻り、そこで、ポインタ110によりデータメモリ10
0の1番地を指定すると、図5の1番地に示すようなデ
ータ‘・・・・、D18、D17’が読出され、レジス
タ170のr1に格納されると同時に、その最下位ビッ
トD17(0又は1)がラッチ167にフラグとして格
納される。
【0053】次に、プログラムメモリ180をn+2番
地へ進め、ポインタ121の指定によるアドレスメモリ
120の、例えば、16番地を指定して、その番地情報
(本例では、番地データ(100)、ビット位置データ
(14))を読出し、ポインタ124を介してデータメ
モリ100の100番地のデータ(前回インターリーブ
した‘D1xx・・・・x’が格納されている)を読出
し、論理演算器160において、前回同様、ビットD1
7が0の場合は‘1011・・・・1’と論理積され、
ビットD17が1の場合は‘0100・・・・0’と論
理和され、その結果がレジスタ170のr0に格納され
る。このようにして、レジスタ170のr0に格納され
たデータは、ビットD17が0の場合は‘D1 0xx・
・・x’、ビットD17が1の場合は‘D1 1xx・・
・x’となる(このD1の値は、勿論0か1である)。以
下、前述同様にプログラムを進め、ビットを付加してイ
ンターリーブを実行することができる。
【0054】以上の手順により、インターリーブ処理前
のデータD1〜DNtに対し如何にインターリーブ処理
を実行するかについて説明した。次に、その際必要とす
る各種メモリの記憶領域の大きさについて説明する。す
なわち、プログラムメモリ180については上記6ステ
ップの繰り返しとなるため、6×Niビット(Niはプ
ログラムメモリ180の1語のビット数、Niは正の整
数)、データメモリ100についてはNtビット、アド
レスメモリ120についてはNt×Naビット(Naは
アドレスメモリ120の1語のビット数、Naは正の整
数)となる。
【0055】例えば、前述の従来技術の場合同様、Nt
=230,Nd=16,Ni=32,Na=12とする
と、プログラムメモリ180はNi×6=32×6=1
92ビット、データメモリ100はNt=230ビッ
ト、アドレスメモリ120はNt×Na=320×12
=2760ビット必要となる。従って、全メモリでは3
182ビット必要となる。このビット数からわかるよう
に、本発明は前述の従来技術で必要とした19320ビ
ットより相当節約することができたことは明らかとなっ
た。
【0056】次に、本発明の第2実施例によるインター
リーブ装置につき図2、5、6、8、11を参照して説
明する。図2は本発明の第2実施例によるインターリー
ブ装置の構成を示す構成図、図8は本第2実施例のイン
ターリーブ処理に使用するアドレスメモリのデータ格納
状態を示す構成図、図11はプログラムメモリに格納さ
れた本第2実施例のインターリーブ処理に使用するプロ
グラムの例を示す図である。尚、図5及び図6について
は、前述の第1実施例のものと同一である。
【0057】図2において、100〜188は図1に示
したものと同じものである。220はデータメモリ10
0にインターリーブ処理後のデータを書込む際に使用す
る相対的番地情報(格納先番地の相対的に変化する部
分、すなわち、後述のポインタ240からの増分値)、
及びビット位置情報123を保持するアドレスメモリ、
221はアドレスメモリ220にアクセス番地を与える
ポインタ、222はアドレスメモリ220から出力する
相対的番地情報、240はデータメモリ100にインタ
ーリーブ処理後のデータを書込む各番地に共通の部分か
らなる基準値又は基準番地を保持するポインタ、242
は相対的番地情報222とポインタ240からの基準値
とを加算し、データメモリ100にインターリーブ処理
後のデータを書込む際に使用する番地情報をポインタ1
24に出力する加算器である。
【0058】以下、上記のように構成された本実施例の
インターリーブ装置において、インターリーブを実行す
る場合の動作について説明する。以下で示すインターリ
ーブ処理動作は、例えば、データメモリ100に図5に
示した状態で格納されているインターリーブ処理前のデ
ータを図6に示すように並べかえるものとし、図5に示
すように、インターリーブ処理前のデータD1乃至DN
tは0番地を先頭番地として最下位ビットから最上位ビ
ットまで順に格納されており、又、データメモリ100
及びレジスタ170は16ビット(Nd=16)で構成
されるという条件の下で行われるものと仮定する。
【0059】アドレスメモリ220には、インターリー
ブ処理前のデータ・ビットD1〜DNtそれぞれに対す
るインターリーブ処理後のデータのデータメモリ100
に対する格納先である番地の相対的に変化する部分のみ
(以下、相対的番地と呼ぶ)とそのビット位置とが相対
的0番地から順に格納されている。本例では、図8に示
すように、番地データ(0、2、1、 ・・・)及びそ
れに対応するビット位置データ(15、1、7、 ・・
・)がそこに示すような形式で格納されている。また、
ポインタ221には、予め0が格納されており、ポイン
タ240には、データメモリ100にインターリーブ処
理後のデータを書込む際の基準となる基準値(例えば、
最初の番地、本例では100番地)が格納されている。
【0060】プログラムメモリ180には、図11に示
すプログラムが格納されており、その動作が図10に示
したものと異なるのは以下の点である。すなわち、図1
0に示す第1実施例においては、n番地及びn+4番地
において、ポインタ121で指定されたアドレスメモリ
120のその番地からデータを読出し、番地データ12
2をポインタ124に格納するようにしたが、本実施例
では、それに代わる動作として、アドレスメモリ220
のポインタ221で指定した番地からそのデータを読出
し、その中の相対的番地情報222とポインタ240の
基準値(本例では100)とを加算器242において加
算し、その結果をポインタ124に格納するようにした
点が異なる。
【0061】これにより、アドレスメモリ220で保持
するべき番地情報をポインタ240からの基準値を差引
いた相対的な値とすることができ、アドレスメモリ22
0の記憶領域をさらに小さくすることができる。
【0062】尚、第1及び第2の実施例において、イン
ターリーブ処理前のデータを最下位ビットから順に並べ
たが、これは最上位ビットからでもよい。このとき、シ
フタ165は上位に1ビットシフトすることになり、ラ
ッチ167のフラグはシフタ165の出力の最上位ビッ
トを保持することになる。また、インターリーブ処理後
のデータ格納の配列は任意でよいことはいうまでもな
い。
【0063】
【発明の効果】本発明は、以上説明したように構成し、
特に、インターリーブ処理後のデータの記憶域に対する
番地データとそのデータのインターリーブ処理後のビッ
トの位置を指定するビット位置情報とを記憶する記憶手
段を設け、その番地データとビット位置情報とによりイ
ンターリーブ処理後のデータの番地とビット位置とを個
々に任意指定することができるようにしたことにより、
インターリーブ処理前のデータの全域にインターリーブ
処理前のビットを記憶すると共に、該インターリーブ処
理前のデータを同一プログラムの反復で番地指定可能に
したことによって、小さい記憶領域(小回路規模)のプ
ログラムメモリ、及び小さいデータメモリの使用でよい
ため、インターリーブに使用するべきメモリ領域を大幅
に削減することができる。更に、本発明は、以上説明し
たように構成し、特に、インターリーブ処理後のデータ
の記憶域に対する番地データを全番地に共通の基準値と
各番地に固有な各番地の変化分(相対的番地)とを加算
して生成するよう構成し、相対的番地のみをアドレスメ
モリに記憶するようにしたことにより、更に相対的番地
の記憶域を削減することができる。
【図面の簡単な説明】
【図1】本発明の第1実施例によるインターリーブ装置
の構成図
【図2】本発明の第2実施例によるインターリーブ装置
の構成図
【図3】従来のインターリーブ装置の構成図
【図4】従来技術で使用するインターリーブ処理前のデ
ータの格納状態を示す図
【図5】本発明で使用可能なインターリーブ処理前のデ
ータの格納状態を示す図
【図6】インターリーブ処理後のデータの格納状態を示
す図
【図7】本発明の第1実施例で使用するアドレスメモリ
のデータの格納状態を示す図
【図8】本発明の第2実施例で使用するアドレスメモリ
のデータの格納状態を示す図
【図9】従来のプログラムの例を示す図
【図10】本発明の第1実施例で使用するプログラムの
例を示す図
【図11】本発明の第2実施例で使用するプログラムの
例を示す図
【符号の説明】
100 データメモリ 110,121,124 ポインタ 120 アドレスメモリ 170 レジスタ 122 番地データ 123 ビット位置情報 130 制御装置 132 データ 134,184,188 制御信号 150 マルチプレクサ 160 論理演算器 165 シフタ 167 ラッチ 180 プログラムメモリ 182 デコーダ 186 制御部 220 アドレスメモリ 221 ポインタ 222 相対的番地情報 240 ポインタ 242 加算器 300 データメモリ 324 ポインタ 340 シフタ 342 レジスタ 360 論理演算器 370 レジスタ 380 プログラムメモリ 382 デコーダ
フロントページの続き (56)参考文献 特開 昭61−282933(JP,A) 特開 平2−253339(JP,A) 特開 昭56−107655(JP,A) 特開 平4−279934(JP,A) 特開 昭61−276043(JP,A) 特開 昭61−86850(JP,A) 特開 平2−306339(JP,A) 特開 平1−217528(JP,A) 特開 昭61−9725(JP,A) 特開 平5−6303(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 9/30 - 9/355 G06F 9/40 - 9/42

Claims (2)

    (57)【特許請求の範囲】
  1. 【請求項1】インターリーブ処理前のデータの記憶域と
    インターリーブ処理後のデータの記憶域とを含む第1の
    記憶手段と、 前記インターリーブ処理後のデータの記憶域の番地情報
    と、該データのインターリーブ処理後のビットのビット
    位置情報とを記憶する第2の記憶手段と、 前記インターリーブ処理前のデータのインターリーブを
    希望するビットの状態を判別するビット判別手段と、 前記番地情報に基づき前記第1の記憶手段から読出され
    たインターリーブ処理後のデータの、該データに対する
    前記ビット位置情報により指定された位置のビットを前
    記ビット判別手段の出力に応じセットもしくはリセット
    の操作を行なう演算手段と、 前記演算手段の出力を前記インターリーブ処理後のデー
    タの記憶域に書込む書込手段とを備え、 前記第2の記憶手段に記憶した番地情報とビット位置情
    報はポインタを順々に1増分することにより得られるこ
    とを特徴とするインターリーブ装置。
  2. 【請求項2】前記第2の記憶手段に記憶の番地情報は相
    対的番地情報であり、 前記インターリーブ装置は、更に、 前記相対的番地情報と共同して前記番地情報を構成する
    基準値を含むポインタと、 前記相対的番地情報と前記基準値とを加算して前記イン
    ターリーブ処理後のデータの記憶域の前記番地情報を出
    力する加算器と、を含むことを特徴とする請求項1記載
    のインターリーブ装置。
JP21107793A 1993-08-04 1993-08-04 インターリーブ装置 Expired - Fee Related JP2999101B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP21107793A JP2999101B2 (ja) 1993-08-04 1993-08-04 インターリーブ装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP21107793A JP2999101B2 (ja) 1993-08-04 1993-08-04 インターリーブ装置

Publications (2)

Publication Number Publication Date
JPH0749779A JPH0749779A (ja) 1995-02-21
JP2999101B2 true JP2999101B2 (ja) 2000-01-17

Family

ID=16600030

Family Applications (1)

Application Number Title Priority Date Filing Date
JP21107793A Expired - Fee Related JP2999101B2 (ja) 1993-08-04 1993-08-04 インターリーブ装置

Country Status (1)

Country Link
JP (1) JP2999101B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7366962B2 (en) 2003-04-07 2008-04-29 Matsushita Electric Industrial Co., Ltd. Interleaving/deinterleaving method and apparatus

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4949267B2 (ja) * 2004-12-14 2012-06-06 シリコン ハイブ ビー・ヴィー プログラム可能な信号処理回路及びインターリーブ方法
WO2007138384A1 (en) * 2006-05-29 2007-12-06 Freescale Semiconductor, Inc. Method and device for switching data

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7366962B2 (en) 2003-04-07 2008-04-29 Matsushita Electric Industrial Co., Ltd. Interleaving/deinterleaving method and apparatus

Also Published As

Publication number Publication date
JPH0749779A (ja) 1995-02-21

Similar Documents

Publication Publication Date Title
US4037213A (en) Data processor using a four section instruction format for control of multi-operation functions by a single instruction
JPH064282A (ja) 命令データのストリームから複数の命令を選択する回路
US5459847A (en) Program counter mechanism having selector for selecting up-to-date instruction prefetch address based upon carry signal of adder which adds instruction size and LSB portion of address register
JP3237858B2 (ja) 演算装置
US5046040A (en) Microprogram control apparatus using don't care bits as part of address bits for common instructions and generating variable control bits
JP2999101B2 (ja) インターリーブ装置
US4812970A (en) Microprogram control system
JPS6041769B2 (ja) アドレス指定方式
US6363469B1 (en) Address generation apparatus
JP3454393B2 (ja) データ処理装置
JP3252029B2 (ja) 符号化装置及び符号化方法
JPH0644051A (ja) マイクロコンピュータ
JPH07160575A (ja) メモリシステム
JPH07200289A (ja) 情報処理装置
JP3117214B2 (ja) シーケンサのマイクロプログラム制御方式
JP2763655B2 (ja) 半導体集積回路
JP3331682B2 (ja) 演算装置
JPH0895781A (ja) プロセッサの算術論理装置
JPH02148221A (ja) マイクロ制御装置
JPH07120254B2 (ja) シフタ
JPS6388657A (ja) メモリ装置
JP2004139156A (ja) 演算処理装置
JPH0625970B2 (ja) 情報処理装置
JPH08286909A (ja) 命令解読装置及び命令解読方法
JPH04222038A (ja) レジスタファイル

Legal Events

Date Code Title Description
FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071105

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20081105

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20091105

Year of fee payment: 10

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

Year of fee payment: 10

Free format text: PAYMENT UNTIL: 20091105

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

Year of fee payment: 11

Free format text: PAYMENT UNTIL: 20101105

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

Year of fee payment: 12

Free format text: PAYMENT UNTIL: 20111105

LAPS Cancellation because of no payment of annual fees