(57)【要約】【課題】メモリ内のデータが読み出される前に書き換えられてしまうことを回避する制御に伴う処理負担を軽減できるデータ処理装置を提供する。【解決手段】データ転送部４は、プログラム６内の命令列を順に実行し、読み出し命令を基にバッファメモリ３からデータｄ１，ｄ２，ｄ３，ｄ４を読み出して多重化し、割り込み命令を基に、ＣＰＵ５に対して割り込みｊを出力する。ＣＰＵ５は、割り込みｊを基に、データ転送部４によるプログラム６の実行状況を把握し、それを基に、データ生成命令ｇ１，ｇ２，ｇ３をそれぞれデータ生成部２＿１，２＿２，２＿３に出力する。【選択図】  図２
2004240668.tif 000002
【特許請求の範囲】
【請求項１】
メモリに対してのデータの読み出しおよび書き込みを行うデータ処理装置であって、
前記メモリに対しての複数回のデータ読み出しを順に行い、前記複数回のデータ読み出しのうち予め決められたデータ読み出しに続いて割り込みを発生する読み出し手段と、
前記読み出し手段からの前記割り込みを基に、前記メモリに対してのデータ書き込みを行う書き込み手段と
を有するデータ処理装置。
【請求項２】
前記書き込み手段は、前記割り込みを基に、前記読み出し手段によって前記メモリから既に読み出されたデータを前記データ書き込みによって書き換える
請求項１に記載のデータ処理装置。
【請求項３】
前記読み出し手段は、予め決められた異なる複数の前記読み出しのそれぞれに対応した複数の割り込みを発生し、当該割り込みの発生に伴い、当該割り込みの識別データを前記書き込み手段に提供し、
前記書き込み手段は、前記読み出し手段から受けた前記識別データを基に、前記メモリに対してのデータ書き込みを行う
請求項１に記載のデータ処理装置。
【請求項４】
メモリに対してのデータ読み出しおよびデータ書き込みを行うデータ処理装置であって、
プログラムに基づいて、前記メモリに対しての複数回のデータ読み出しを順に行い、前記複数回のデータ読み出しのうち予め決められたデータ読み出しに続いて割り込みを発生する読み出し手段と、
前記メモリに対してのデータ書き込みを行う書き込み手段と、
前記プログラムを前記読み出し手段に提供し、前記読み出し手段からの前記割り込みを基に、前記書き込み手段による前記データ書き込みを制御する制御手段と
を有するデータ処理装置。
【請求項５】
前記読み出し手段は、前記プログラムに基づいて、予め決められた異なる複数の前記読み出しのそれぞれに対応した複数の割り込みを発生し、当該割り込みの発生に伴い、当該割り込みの識別データを前記制御手段に提供し、
前記制御手段は、前記読み出し手段から受けた前記識別データを基に、前記書き込み手段による前記データ書き込みを制御する
請求項４に記載のデータ処理装置。
【請求項６】
前記読み出し手段は、前記複数回のデータ読み出しによって得た複数のデータを多重化して多重化データを生成する
請求項４に記載のデータ処理装置。
【請求項７】
前記制御手段は、前記プログラムを前記メモリに書き込み、
前記読み出し手段は、前記メモリから読み出した前記プログラムを実行する
請求項４に記載のデータ処理装置。
【請求項８】
前記メモリをさらに有する請求項１に記載のデータ処理装置。
【請求項９】
メモリに対してのデータの読み出しおよび書き込みを行うデータ処理方法であって、
読み出し手段が、前記メモリに対しての複数回のデータ読み出しを順に行い、前記複数回のデータ読み出しのうち予め決められたデータ読み出しに続いて割り込みを発生する第１の工程と、
書き込み手段が、前記第１の工程で前記読み出し手段から受けた前記割り込みを基に、前記メモリに対してのデータ書き込みを行う第２の工程と
を有するデータ処理方法。
【請求項１０】
メモリに対してのデータ読み出しおよびデータ書き込みを行うデータ処理方法であって、
制御手段から読み出し手段にプログラムを提供する第１の工程と、
前記読み出し手段が、前記第１の工程で前記制御手段から受けたプログラムに基づいて、前記メモリに対しての複数回のデータ読み出しを順に行い、前記複数回のデータ読み出しのうち予め決められたデータ読み出しに続いて割り込みを発生する第２の工程と、
前記制御手段が、前記第２の工程で前記読み出し手段から受けた前記割り込みを基に、前記メモリへのデータ書き込みを制御する第３の工程と
を有するデータ処理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、メモリに対してのデータ書き込みおよび読み出しを制御するデータ処理装置およびその方法に関する。
【０００２】
【従来の技術】
例えば、送信用の多重化データを生成するために、バッファメモリから読み出した複数のデータを多重化するマルチプレクサがある。
このようなマルチプレクサは、例えば、バッファメモリからの読み出し命令（制御用コマンド）を含むプログラムをＣＰＵが生成し、このプログラムを基にデータ転送部がバッファメモリからデータを読み出して多重化する。
この場合に、ＣＰＵは、バッファメモリへのデータ書き込みを制御するが、このとき、バッファメモリに記憶されたデータがデータ転送部によって読み出される前に、新たなデータによって書き換えられることがないように、データ転送部による上記多重化がどの段階まで進んだかを把握する必要がある。
従来では、ＣＰＵがデータ転送部の処理進行状況を常に監視し、その監視結果を基に、バッファメモリへのデータ書き込みを制御している。
【０００３】
【発明が解決しようとする課題】
しかしながら、上述したように、ＣＰＵがデータ転送部の処理進行状況を常に監視するのでは、ＣＰＵの処理負担が大きいという問題がある。
一方、ＣＰＵの処理負担を軽減するために、ＣＰＵによる上記監視を一定の間隔で行うようにすると、監視のタイミングをソフトで制御することになり、最適なタイミングで監視することは非常に困難である。
【０００４】
本発明は、上述した従来技術に鑑みてなされ、メモリに対してのデータの読み出しと書き込みとが異なる手段で行われる場合に、メモリ内のデータが読み出される前に書き換えられてしまうことを回避する制御に伴う処理負担を軽減できるデータ処理装置およびその方法を提供することを目的とする。
【０００５】
【課題を解決するための手段】
上述した従来技術の問題点を解決し、上述した目的を達成するために、第１の発明のデータ処理装置は、メモリに対してのデータの読み出しおよび書き込みを行うデータ処理装置であって、前記メモリに対しての複数回のデータ読み出しを順に行い、前記複数回のデータ読み出しのうち予め決められたデータ読み出しに続いて割り込みを発生する読み出し手段と、前記読み出し手段からの前記割り込みを基に、前記メモリに対してのデータ書き込みを行う書き込み手段とを有する。
【０００６】
第１の発明のデータ処理装置の作用は以下のようになる。
読み出し手段が、メモリに対しての複数回のデータ読み出しを順に行い、前記複数回のデータ読み出しのうち予め決められたデータ読み出しに続いて割り込みを発生する。
そして、書き込み手段が、前記読み出し手段からの前記割り込みを基に、前記メモリに対してのデータ書き込みを行う。
【０００７】
第２の発明のデータ処理装置は、メモリに対してのデータ読み出しおよびデータ書き込みを行うデータ処理装置であって、プログラムに基づいて、前記メモリに対しての複数回のデータ読み出しを順に行い、前記複数回のデータ読み出しのうち予め決められたデータ読み出しに続いて割り込みを発生する読み出し手段と、前記メモリに対してのデータ書き込みを行う書き込み手段と、前記プログラムを前記読み出し手段に提供し、前記読み出し手段からの前記割り込みを基に、前記書き込み手段による前記データ書き込みを制御する制御手段とを有する。
【０００８】
第２の発明のデータ処理装置の作用は以下のようになる。
制御手段が読み出し手段にプログラムを提供する。
そして、読み出し手段が、前記プログラムに基づいて、前記メモリに対しての複数回のデータ読み出しを順に行い、前記複数回のデータ読み出しのうち予め決められたデータ読み出しに続いて割り込みを発生する。
そして、制御手段が、前記プログラムを前記読み出し手段に提供し、前記読み出し手段からの前記割り込みを基に、書き込み手段による前記データ書き込みを制御する。
【０００９】
第３の発明のデータ処理方法は、メモリに対してのデータの読み出しおよび書き込みを行うデータ処理方法であって、読み出し手段が、前記メモリに対しての複数回のデータ読み出しを順に行い、前記複数回のデータ読み出しのうち予め決められたデータ読み出しに続いて割り込みを発生する第１の工程と、書き込み手段が、前記第１の工程で前記読み出し手段から受けた前記割り込みを基に、前記メモリに対してのデータ書き込みを行う第２の工程とを有する。
【００１０】
第４の発明のデータ処理方法は、メモリに対してのデータ読み出しおよびデータ書き込みを行うデータ処理方法であって、制御手段から読み出し手段にプログラムを提供する第１の工程と、前記読み出し手段が、前記第１の工程で前記制御手段から受けたプログラムに基づいて、前記メモリに対しての複数回のデータ読み出しを順に行い、前記複数回のデータ読み出しのうち予め決められたデータ読み出しに続いて割り込みを発生する第２の工程と、前記制御手段が、前記第２の工程で前記読み出し手段から受けた前記割り込みを基に、前記メモリへのデータ書き込みを制御する第３の工程とを有する。
【００１１】
【発明の実施の形態】
〔本発明の関連技術〕
図１は、本発明の関連技術に係わるマルチプレクサ１０１の構成図である。
図１に示すマルチプレクサ１０１では、ＣＰＵ１０５が、バッファメモリ３からの読み出し命令を含むプログラム１０６をバッファメモリ３のプログラム領域３＿５に書き込む。
そして、データ転送部１０４が、バッファメモリ３からプログラム１０６を読み出して実行する。
データ転送部１０４は、プログラム１０６内の読み出し命令を基に、バッファメモリ３のデータ領域３＿１，３＿２，３＿３およびＣＰＵ領域からデータｄを読み出して多重化し、多重化データｈ１を生成する。
【００１２】
ＣＰＵ１０５は、データ転送部１０４の転送処理進行状況を常に監視し、データ領域３＿１，３＿２，３＿３に記憶されたデータのうちデータ転送部１０４によって既に読み出されたデータの書き換えに対応するデータ生成部２＿１，２＿２，２＿３にデータ生成命令を出力する。
そして、データ生成部２＿１，２＿２，２＿３は、ＣＰＵ１０５からのデータ生成命令を基に、データを生成してデータ領域３＿１，３＿２，３＿３に書き込む。
しかしながら、マルチプレクサ１０１では、上述したように、ＣＰＵ１０５がデータ転送部１０４の処理進行状況を常に監視するため、ＣＰＵ１０５の処理負担が大きいという問題がある。
以下、上述したマルチプレクサ１０１の問題を解決した本発明の実施形態に係わるマルチプレクサについて説明する。
【００１３】
〔本発明の実施形態〕
図２は、本発明の実施形態に係わるマルチプレクサ１の構成図である。
図２に示すように、マルチプレクサ１は、例えば、データ生成部２＿１，２＿２，２＿３、バッファメモリ３、データ転送部４およびＣＰＵ５を有する。
データ生成部２＿１，２＿２，２＿３およびＣＰＵ５が第１の発明の書き込み手段に対応し、データ転送部４が第１の発明および第２の発明の読み出し手段に対応している。
また、データ生成部２＿１，２＿２，２＿３が第２の発明の書き込み手段に対応し、ＣＰＵ５が第２の発明の制御手段に対応している。
また、バッファメモリ３が本発明のメモリに対応している。
【００１４】
図２に示すマルチプレクサ１は、ＣＰＵ５がバッファメモリ３を介してデータ転送部４に提供するプログラム６内の所定の箇所に、バッファメモリ３からデータ読み出しを指示する読み出し命令、並びにＣＰＵ５に割り込みを発生することを指示うる割り込み命令を挿入している。
データ転送部４は、プログラム６内の命令列を順に実行し、読み出し命令を基にバッファメモリ３からデータｄ１，ｄ２，ｄ３，ｄ４を読み出して多重化し、多重化データｈを生成する。また、データ転送部４は、割り込み命令を基に、ＣＰＵ５に対して割り込みｊを出力する。
【００１５】
ＣＰＵ５は、割り込みｊを基に、データ転送部４によるプログラム６の実行状況を把握し、それを基に、データ生成命令ｇ１，ｇ２，ｇ３をそれぞれデータ生成部２＿１，２＿２，２＿３に出力する。
データ生成部２＿１，２＿２，２＿３は、それぞれデータ生成命令ｇ１，ｇ２，ｇ３を基にデータａ１，ａ２，ａ３を生成し、これをバッファメモリ３内のデータ領域３＿１，３＿２，３＿３にそれぞれ書き込む。
マルチプレクサ１では、上述したように、ＣＰＵ５が割り込みｊを基に、データ転送部４によるプログラム６の実行状況、すなわちデータ転送部４によるデータ領域３＿１，３＿２，３＿３からのデータ読み出し進行状況を把握できるので、データ転送部４によってデータ領域３＿１，３＿２，３＿３から既に読み出されたデータをデータ生成部２＿１，２＿２，２＿３が書き換えるように制御する。
マルチプレクサ１によれば、ＣＰＵ５が割り込みｊを受けることで、ＣＰＵ５がデータ転送部４を常時監視する必要がなく、ＣＰＵ５の処理負担が従来に比べて軽減される。
【００１６】
以下、図２に示す各構成要素について説明する。
〔データ生成部２＿１，２＿２，２＿３〕
データ生成部２＿１，２＿２，２＿３は、それぞれＣＰＵ５からのデータ生成命令ｇ１，ｇ２，ｇ３を基にデータａ１，ａ２，ａ３を生成し、これをバッファメモリ３内のデータ領域３＿１，３＿２，３＿３にそれぞれ書き込む。
当該書き込みにより、データ領域３＿１，３＿２，３＿３から既にデータ転送部４に読み出されたデータが書き換えられる。
また、データ生成部２＿１，２＿２，２＿３は、上記生成したデータａ１，ａ２，ａ３を多重化するために用いられるデータｆ１，ｆ２，ｆ３をＣＰＵ５に出力する。
データｆ１，ｆ２，ｆ３は、例えば、ＭＥＰＧ（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）システムにおけるビデオあるいはオーディオなどのエンコーダーブロックに関するデータである。
【００１７】
〔バッファメモリ３〕
バッファメモリ３は、例えば、データ領域３＿１，３＿２，３＿３、ＣＰＵデータ領域３＿４およびプログラム領域３＿５を有する。
データ領域３＿１，３＿２，３＿３は、それぞれデータ生成部２＿１，２＿２，２＿３によって、データが書き込まれる領域である。
ＣＰＵデータ領域３＿４は、ＣＰＵ５の処理に用いられるデータおよびプログラムを記憶する領域である。
また、ＣＰＵデータ領域３＿４は、ＣＰＵ５から書き込まれた制御データｂを記憶する。
プログラム領域３＿５は、例えば、ＣＰＵ５によって書き込まれ、データ転送部４によって読み出しおよび実行されるプログラム６を記憶する領域である。
【００１８】
〔データ転送部４〕
データ転送部４は、プログラム領域３＿５から読み出したプログラム６内の命令列を順に実行する。
データ転送部４は、プログラム６内の読み出し命令を基に、バッファメモリ３内のデータ領域３＿１，３＿２，３＿３からそれぞれデータｄ１，ｄ２，ｄ３を読み出すと共に、ＣＰＵ領域３＿４から制御データｄ４を読み出し、これらを多重化して多重化データｈを生成する。
ここで、多重化データｈは、ＭＰＥＧシステムにおいて多重化したデータである。
データ転送部４は、プログラム６内の割り込み命令を基に、ＣＰＵ５に対して割り込みｊを出力する。
また、データ転送部４は、図３に示すように、ステータスレジスタ１１を有し、割り込み命令を実行すると、当該割り込み命令に含まれる割り込みＩＤを図３に示すステータスレジスタ１１に書き込む。
【００１９】
〔ＣＰＵ５〕
ＣＰＵ５は、プログラム６を生成し、これをバッファメモリ３のＣＰＵ領域３＿５に書き込む。
プログラム６は、例えば、図４に示すように、データ領域３＿１，３＿２，３＿３からのデータ読み出しを指示する読み出し命令と、ＣＰＵ５への割り込み発生を指示する割り込み命令とを有している。
割り込み命令には、オペレーション（ＯＰ）コードと、割り込みＩＤとが格納されている。
ＣＰＵ５は、データ転送部４から割り込みｊを入力すると、データ転送部４のステータスレジスタ１１にアクセスし、ステータスレジスタ１１に記憶されている割り込みＩＤを基に、データ転送部４によるデータ転送進行状況（バッファメモリ３からのデータ読み出し進行状況）を把握する。
そして、ＣＰＵ５は、当該データ転送進行状況を基に、データ領域３＿１，３＿２，３＿３からデータ転送部４によって既に読み出されたデータに対応したデータ生成部２＿１，２＿２，２＿３にデータ生成命令ｇ１，ｇ２，ｇ３を出力する。
また、ＣＰＵ５は、データ生成部２＿１，２＿２，２＿３から入力したデータｆ１，ｆ２，ｆ３を基に制御データｂを生成し、これをＣＰＵ領域３＿４に書き込む。
本実施形態では、図４に示すプログラム６を基に、図５に示すように、データ転送部４がバッファメモリ３からデータを読み出して多重化する。
なお、図４において、「データ領域ｘｘリードｘ」は読み出し命令であり、複数の連続した読み出し命令の間に、割り込み命令が挿入されている。
データ転送部４は、例えば、多重化データによって１枚のフレーム（画像）を構成する複数のデータについての一連の読み出し命令に続いて、割り込み命令をプログラム６内に挿入する。
【００２０】
以下、図２に示すマルチプレクサ１の動作例を説明する。
図６は、図２に示すマルチプレクサ１の動作例を説明するためのフローチャートである。
ステップＳＴ１：
ＣＰＵ５は、例えば、ユーザによる操作を基に、図４に示すように、一連の複数の読み出し命令に続いて割り込み命令が挿入されたプログラム６を生成する。
ステップＳＴ２：
ＣＰＵ５は、ステップＳＴ１で生成したプログラム６をバッファメモリ３のプログラム領域３＿５に書き込む。
【００２１】
ステップＳＴ３：
データ転送部４は、バッファメモリ３のプログラム領域３＿５からプログラム６を読み出して実行を開始する。
ステップＳＴ４：
データ転送部４は、プログラム６内の読み出し命令を基に、当該読み出し命令で示されるデータ領域３＿１，３＿２，３＿３あるいはＣＰＵ領域３＿４からデータを読み出し、これを用いて多重を行って多重化データｈを生成および出力する。
【００２２】
ステップＳＴ５：
データ転送部４は、一連の連続した読み出し命令についてステップＳＴ３の処理を実行した後に、当該連続した読み出し命令に続いて挿入された割り込み命令を実行する。
このとき、データ転送部４は、割り込み命令を基に、割り込みｊをＣＰＵ５に出力する。
ステップＳＴ６：
データ転送部４は、ステップＳＴ５で実行した割り込み命令に格納された図４に示す割り込みＩＤを図３に示すステータスレジスタ１１に書き込む。
【００２３】
ステップＳＴ７：
ＣＰＵ５は、ステップＳＴ５で入力した割り込みｊを基に、データ転送部４のステータスレジスタ１１から割り込みＩＤを読み出す。
ステップＳＴ８：
ＣＰＵ５は、ステップＳＴ７で読み出した割り込みＩＤを基に、データ転送部４によるデータ転送進行状況（バッファメモリ３からのデータ読み出し進行状況）を特定する。
【００２４】
ステップＳＴ９：
ＣＰＵ５は、当該データ転送進行状況を基に、データ領域３＿１，３＿２，３＿３からデータ転送部４に既に読み出されたデータに対応したデータ生成部２＿１，２＿２，２＿３にデータ生成命令ｇ１，ｇ２，ｇ３を出力する。
【００２５】
ステップＳＴ１０：
データ生成部２＿１，２＿２，２＿３は、それぞれＣＰＵ５からのデータ生成命令ｇ１，ｇ２，ｇ３を基にデータａ１，ａ２，ａ３を生成し、これをバッファメモリ３内のデータ領域３＿１，３＿２，３＿３にそれぞれ書き込む。
当該書き込みにより、データ領域３＿１，３＿２，３＿３から既にデータ転送部４に読み出されたデータが書き換えられる。
【００２６】
以上説明したように、マルチプレクサ１では、図４に示すように、一連の複数の読み出し命令に続いて割り込み命令が挿入されたプログラム６をＣＰＵ５が生成し、これをバッファメモリ３を介してデータ転送部４に供給する。そして、データ転送部４が、プログラム６を基に、一連の複数の読み出し命令の実行が終わると、割り込み命令を実行して割り込みｊをＣＰＵ５に出力する。
そのため、マルチプレクサ１によれば、ＣＰＵ５は、データ転送部４を常に監視していなくても、データ転送部４からの割り込みｊを基に、データ転送部４のデータ転送処理の進行状況を把握できる。そのため、ＣＰＵ５の処理負担を従来に比べて軽減できる。
また、マルチプレクサ１では、上述したように、ＣＰＵ５が割り込みｊを基にデータ転送部４のステータスレジスタ１１から割り込みＩＤを読み出すことで、プログラム６内に複数の割り込み命令がある場合でも、どの割り込み命令が実行されたかを容易に特定でき、データ転送部４によるデータ転送処理の進行状況を複数のタイミングで把握できる。
【００２７】
本発明は上述した実施形態には限定されない。
上述した実施形態では、図２に示すように、データ生成部２＿１，２＿２，２＿３とＣＰＵ５とを別の構成要素とした場合を例示したが、ＣＰＵ５がデータ生成部２＿１，２＿２，２＿３の機能を実現してもよい。
また、本発明は、マルチプレクサ以外に、メモリに対してのデータ読み出しと書き込みとを異なる回路などの手段で行う場合に適用できる。
【００２８】
【発明の効果】
以上説明したように、本発明によれば、メモリに対してのデータの読み出しと書き込みとが異なる手段で行われる場合に、メモリ内のデータが読み出される前に書き換えられてしまうことを回避する制御に伴う処理負担を軽減できるデータ処理装置およびその方法を提供することができる。
【図面の簡単な説明】
【図１】図１は、本発明の関連技術に係わるマルチプレクサの構成図である。
【図２】図２は、本発明の実施形態に係わるマルチプレクサの構成図である。
【図３】図３は、図２に示すデータ転送部を説明するための図である。
【図４】図４は、図２に示すプログラムを説明するための図である。
【図５】図５は、図４に示すプログラムを基にデータ転送部が生成する多重化データを説明するための図である。
【図６】図６は、図２に示すマルチプレクサの動作例を説明するための図である。
【符号の説明】
１…マルチプレクサ、２＿１〜２＿３…データ生成部、３…バッファメモリ、３＿１，３＿２，３＿３…データ領域、３＿４…ＣＰＵ領域、３＿５…プログラム領域、４…データ転送部、５…ＣＰＵ、ｊ…割り込み、ｋ…割り込みＩＤ読み出し、ｈ…多重化データ
【図１】
2004240668.tif 000003
【図２】
2004240668.tif 000004
【図３】
2004240668.tif 000005
【図４】
2004240668.tif 000006
【図５】
2004240668.tif 000007
【図６】
2004240668.tif 000008