(57)【要約】【課題】ＬＵＴ処理に要するメモリアクセスの回数を減らしてＬＵＴ処理にかかる時間をより短縮することが可能なメモリアクセス制御回路を提供すること。【解決手段】メモリアクセス制御回路１００は、入力ベクトルデータ（Ｖ０）の要素データのそれぞれについてＬＵＴ処理が必要であるか否かを示す処理フラグ（Ｆ０）を保持するステータス保持部１１０と、入力ベクトルデータ（Ｖ０）の要素データの中から選択データ（ＲＡ）を選択するデータ選択部１２０と、選択データ（ＲＡ）に対応する変換データ（ＲＤ）を出力するメモリ１３０と、入力ベクトルデータ（Ｖ０）と選択データ（ＲＡ）との比較結果に応じた重複フラグ（Ｆ１）をステータス保持部１１０に出力する重複抽出部１４０と、入力ベクトルデータ（Ｖ０）の重複している要素データに対応する出力ベクトルデータ（Ｖ１）の要素位置に変換データ（ＲＤ）をセットするデータ出力部１５０と、を有する。【選択図】図１
2012174105.tif 000002
【特許請求の範囲】
【請求項１】
第１のベクトルデータを構成する要素データのそれぞれについて、ルックアップテーブル処理が必要であるか否かを示す処理ステータス情報を保持するステータス保持部と、
前記ルックアップテーブル処理が必要であることを示す処理ステータス情報が保持されている前記要素データの中から処理対象の要素データを選択するデータ選択部と、
前記選択された前記処理対象の要素データが入力され、前記入力された前記処理対象の要素データに対応する変換データを出力するメモリと、
前記第１のベクトルデータを構成する前記要素データの中から前記処理対象の要素データと同一の要素データを抽出し、該同一の要素データに対する前記処理ステータス情報をルックアップテーブル処理が不要であることを示す情報に更新するための情報を前記ステータス保持部に出力する重複抽出部と、
前記処理対象の要素データと前記同一の要素データに対応する第２のベクトルデータの要素位置に、前記変換データをセットするデータ出力部と、
を具備することを特徴とするメモリアクセス制御回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デジタル信号処理のためのルックアップテーブル処理に用いられるメモリアクセス制御回路に関し、特に、複数の要素データからなるベクトルデータを処理するためのメモリアクセス制御回路に関する。
【背景技術】
【０００２】
デジタル信号処理では、データ演算の高速化のためにルックアップテーブル（ＬＵＴ）を利用することがある。ＬＵＴを用いた演算（以下、ＬＵＴ処理という）においては、所定の入力データに対応した演算後のデータ（演算結果）を予めメモリに格納しておく。実際のＬＵＴ処理は、入力データに対応した演算結果をメモリから取り出すことによって行われる。このようなＬＵＴ処理は、ＳＩＭＤ（Ｓｉｎｇｌｅ  Ｉｎｓｔｒｕｃｔｉｏｎ  Ｍｕｌｔｉｐｌｅ  Ｄａｔａ）のようなベクトルデータプロセッサにおいても有効である。ベクトルデータプロセッサとは、複数の要素データを有するベクトルデータを一度に処理できる演算器を備えたプロセッサである。ＬＵＴを用いてベクトルデータに対する演算を行う場合には、要素データ毎にＬＵＴを参照する必要がある。このため、１つのベクトルデータについて、複数回のメモリアクセスが生じる。１回のメモリアクセスにつき、数サイクルから数十サイクルの遅延がするため、ベクトルデータに対してＬＵＴを用いて演算をすると実行時間が長くなり易い。
【０００３】
これに対し、特許文献１では、ＬＵＴ処理において、１回のメモリアクセスに要するサイクルの遅延を短くするデータロード方式を提案している。この方式では、ＬＵＴのアドレスと主記憶装置から取得したデータとを履歴として残すアドレス履歴テーブルを備える。そして、ベクトルデータのそれぞれの要素データとアドレス履歴テーブルに保持したアドレスとを比較し、一致すればアドレス履歴テーブルから該当データを取り出す。アドレス履歴テーブルは、主記憶装置に比べてサイクルの遅延が少ないため、結果として特許文献１の方式では、ＬＵＴ処理にかかる時間を短縮することが可能である。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平５−２４２１３５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ここで、特許文献１では、アドレス遅延テーブルを用いた場合に１回のメモリアクセスに要するサイクルの遅延を短縮することが可能である。しかしながら、特許文献１であってもベクトルデータに含まれる要素の数の分のメモリアクセスが必要である。このため、ＬＵＴ処理に要する時間の短縮効果は十分ではないと考えられる。
【０００６】
本発明は、上記の事情に鑑みてなされたもので、ＬＵＴ処理に要するメモリアクセスの回数を減らしてＬＵＴ処理にかかる時間をより短縮することが可能なメモリアクセス制御回路を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記の目的を達成するために、本発明の一態様のメモリアクセス制御回路は、第１のベクトルデータを構成する要素データのそれぞれについて、ルックアップテーブル処理が必要であるか否かを示す処理ステータス情報を保持するステータス保持部と、前記ルックアップテーブル処理が必要であることを示す処理ステータス情報が保持されている前記要素データの中から処理対象の要素データを選択するデータ選択部と、前記選択された前記処理対象の要素データが入力され、前記入力された前記処理対象の要素データに対応する変換データを出力するメモリと、前記第１のベクトルデータを構成する前記要素データの中から前記処理対象の要素データと同一の要素データを抽出し、該同一の要素データに対する前記処理ステータス情報をルックアップテーブル処理が不要であることを示す情報に更新するための情報を前記ステータス保持部に出力する重複抽出部と、前記処理対象の要素データと前記同一の要素データに対応する第２のベクトルデータの要素位置に、前記変換データをセットするデータ出力部と、を具備することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、ＬＵＴ処理に要するメモリアクセスの回数を減らしてＬＵＴ処理にかかる時間をより短縮することが可能なメモリアクセス制御回路を提供することができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の一実施形態におけるメモリアクセス制御回路の構成を示すブロック図ある。
【図２】図２（ａ）は入力ベクトルデータの例を示す図であり、図２（ｂ）は出力ベクトルデータの例を示す図である。
【図３】ステータス保持部の一例としての構成を示す回路図である。
【図４】処理フラグの例を示す図である。
【図５】データ選択部の一例としての構成を示す回路図である。
【図６】データ選択部の選択論理を示す図である。
【図７】重複抽出部の一例としての構成を示す回路図である。
【図８】重複フラグの例を示す図である。
【図９】データ出力部の一例としての構成を示す回路図である。
【図１０】本発明の一実施形態に係るメモリアクセス制御回路の動作について示すタイミングチャートである。
【発明を実施するための形態】
【００１０】
以下、図面を参照して本発明の実施形態を説明する。  
図１は、本発明の一実施形態におけるメモリアクセス制御回路の構成を示すブロック図ある。図１に示すメモリアクセス制御回路１００は、入力ベクトルデータ（Ｖ０）とメモリアクセス要求信号（ＲＥＱ）とが入力され、出力ベクトルデータ（Ｖ１）とメモリアクセスビジー信号（ＢＳＹ）とを出力する。
【００１１】
第１のベクトルデータとしての入力ベクトルデータ（Ｖ０）は、図２（ａ）に示すように、データ長がｍビットであり、ｎ個の要素データを有している。同様に、第２のベクトルデータとしての出力ベクトルデータ（Ｖ１）は、図２（ｂ）に示すように、データ長がｍビットであり、ｎ個の要素データを有している。
【００１２】
メモリアクセス要求信号（ＲＥＱ）は、入力ベクトルデータ（Ｖ０）についてのメモリアクセス要求を表わす１ビットの信号である。例えば、メモリアクセス要求（ＲＥＱ）の値が０である場合は、入力ベクトルデータ（Ｖ０）について、メモリ１３０へのメモリアクセス要求がないことを示す。また、メモリアクセス要求（ＲＥＱ）の値が１である場合は、入力ベクトルデータ（Ｖ０）について、メモリ１３０へのメモリアクセス要求があることを示す。メモリアクセスビジー信号（ＢＳＹ）は、メモリアクセス制御回路１００が、入力ベクトルデータ（Ｖ０）を出力ベクトルデータ（Ｖ１）に変換中であるか否かを表わす１ビットの信号である。例えば、メモリアクセスビジー信号（ＢＳＹ）の値が０である場合は、変換が完了していることを示す。また、メモリアクセスビジー信号（ＢＳＹ）の値が１である場合は、変換中であることを示す。
【００１３】
図１に示すメモリアクセス制御回路１００は、ステータス保持部１１０と、データ選択部１２０と、メモリ１３０と、重複抽出部１４０と、データ出力部１５０と、を有している。
ステータス保持部１１０は、入力ベクトルデータ（Ｖ０）を構成するそれぞれの要素データに対してＬＵＴ処理が必要であるか否かを判別し、この判別結果を処理ステータス情報として保持する。この処理ステータス情報は、処理フラグ（Ｆ０）である。また、ステータス保持部１１０は、入力ベクトルデータ（Ｖ０）の処理ステータス情報としての処理フラグ（Ｆ０）に応じて、メモリアクセスビジー信号（ＢＳＹ）を出力する。
【００１４】
図３は、ステータス保持部１１０の一例としての構成を示す回路図である。図３に示すステータス保持部１１０は、ＯＲ回路２１０と、ＡＮＤ回路２２０と、ＡＮＤ回路２３０と、フリップフロップ（ＦＦ）２４０と、ＡＮＤ回路２５０と、ＮＯＴ回路２６０と、を有している。
【００１５】
ＯＲ回路２１０は、処理フラグ（Ｆ０）と重複フラグ（Ｆ１）との論理和を演算する。ＡＮＤ回路２２０は、メモリアクセス要求信号（ＲＥＱ）とメモリアクセスビジー信号（ＢＳＹ）との論理積を演算する。  
ＡＮＤ回路２３０は、処理フラグ（Ｆ０）のビット長に対応したｎ個のＡＮＤ回路を有している。ＡＮＤ回路２３０が有するそれぞれのＡＮＤ回路は、処理フラグ（Ｆ０）のそれぞれのビットに対応しており、入力された処理フラグ（Ｆ０）のビットとＡＮＤ回路２２０との論理積を演算する。  
ＦＦ２４０は、ＡＮＤ回路２３０が有するそれぞれのＡＮＤ回路からの出力を、新たな処理フラグ（Ｆ０）として保持する。  
ＡＮＤ回路２５０は、ＦＦ２４０から出力された新たな処理フラグ（Ｆ０）のそれぞれのビットの論理積を演算する。ＮＯＴ回路２６０は、ＡＮＤ回路２５０の出力の否定を演算し、この演算結果をメモリアクセスビジー信号（ＢＳＹ）として出力する。
【００１６】
図３に示すような構成においては、メモリアクセス要求信号（ＲＥＱ）の値が０の場合又はメモリアクセスビジー信号（ＢＳＹ）の値が０の場合には、ＡＮＤ回路２３０が有するそれぞれのＡＮＤ回路の出力が全て０となる。したがって、ステータス保持部１１０から出力される処理フラグ（Ｆ０）も、全ビットの値が０となる。一方、メモリアクセス要求信号（ＲＥＱ）の値とメモリアクセスビジー信号（ＢＳＹ）の値の両方が１の場合には、ステータス保持部１１０から出力される処理フラグ（Ｆ０）のそれぞれのビットは、ステータス保持部１１０に帰還された処理フラグ（Ｆ０）のそれぞれのビットと重複抽出部１４０から出力される重複フラグ（Ｆ１）のそれぞれのビットとの論理和となる。
【００１７】
ここで、処理フラグ（Ｆ０）は、入力ベクトルデータ（Ｖ０）を構成するそれぞれの要素データに対してＬＵＴ処理が必要であるか否かを示すフラグである。この処理フラグ（Ｆ０）は、図４に示すように、データ長がｎビットであり、それぞれのビット位置の値が入力ベクトルデータ（Ｖ０）のそれぞれの要素データの位置に対応している。例えば、処理フラグ（Ｆ０）の最下位ビット（Ｆ０［０］）は、入力ベクトルデータ（Ｖ０）の要素データ（Ｖ０（０））に対応している。そして、処理フラグ（Ｆ０）は、ビットの値が０ならば対応する要素データに対するＬＵＴ処理が必要であることを示し、ビットの値が１ならば対応する要素データに対するＬＵＴ処理が不要であることを示す。また、メモリアクセスビジー信号（ＢＳＹ）は、上述したように、処理フラグ（Ｆ０）の全ビットの論理積を反転した信号である。即ち、処理フラグ（Ｆ０）の全ビットの値が１の場合にメモリアクセスビジー信号（ＢＳＹ）の値が０になる。この場合、入力ベクトルデータ（Ｖ０）から出力ベクトルデータ（Ｖ１）への変換が完了したことを表わす。処理フラグ（Ｆ１）については後述する。
【００１８】
データ選択部１２０は、ステータス保持部１１０から出力されるｎビットの処理フラグ（Ｆ０）の値に応じて、入力ベクトルデータ（Ｖ０）から処理対象の要素データを選択する。
図５は、データ選択部１２０の一例としての構成を示す回路図である。図５に示すように、データ選択部１２０は、セレクタ３１０を有している。図６は、セレクタ３１０の選択論理を示している。セレクタ３１０は、図６に示す選択論理に従って入力ベクトルデータ（Ｖ０）の要素データ（ＲＡ）を選択する。そして、データ選択部１２０は、選択した要素データ（ＲＡ）は、入力ベクトルデータ（Ｖ０）とともに、メモリ１３０及び重複抽出部１４０に出力する。ここで、図６に示す論理では、処理フラグ（Ｆ０）の下位ビットから順に値が０のビットを抽出する。そして、値が０のビットが抽出された場合にそのビット位置に対応する位置の入力ベクトルデータ（Ｖ０）の要素データ（ＲＡ）を選択する。図６では、処理フラグ（Ｆ０）の下位ビットから順に値が０のビットを抽出している。しかしながら、セレクタ３１０の選択論理は図６に限るものではない。例えば、処理フラグ（Ｆ０）の上位ビットから順に抽出しても構わないし、任意の順序で抽出しても構わない。
【００１９】
メモリ１３０は、要素データ（ＲＡ）の値と、要素データ（ＲＡ）の値の変換結果としての変換データ（ＲＤ）とを対応付けて記憶しているＬＵＴ用のメモリである。このメモリ１３０は、データ選択部１２０によって選択した要素データ（ＲＡ）が入力され、この要素データ（ＲＡ）の値に対応したアドレスデータに対応した変換データ（ＲＤ）を出力する。図１の例では、メモリ１３０をメモリアクセス制御回路１００の内部に設けている。これに対し、ＬＵＴ用のメモリをメモリアクセス制御回路１００の外部に設けられた主記憶装置内に設けるようにしても良い。
【００２０】
重複抽出部１４０は、データ選択部１２０にて選択された要素データ（ＲＡ）と入力ベクトルデータ（Ｖ０）の全ての要素データとの間での重複を抽出し、その抽出結果としてｎビットの重複フラグ（Ｆ１）を出力する。
図７は、重複抽出部１４０の一例としての構成を示す回路図である。図７に示す重複抽出部１４０は、比較器４１０と、ＦＦ４２０と、を有している。  
比較器４１０は、入力ベクトルデータ（Ｖ０）を構成する要素データの数に対応したｎ個の比較器を有する。それぞれの比較器には、入力ベクトルデータ（Ｖ０）を構成する要素データのうちの対応する要素データと選択データ（ＲＡ）とが入力される。そして、それぞれの比較器は、入力された要素データ（ＲＡ）と入力ベクトルデータ（Ｖ０）の要素データとを比較し、両者が一致する場合には１を出力し、一致しない場合には０を出力する。また、それぞれの比較器による比較の結果、一致する要素データが全く無い場合は、比較器４１０は、データ選択部１２０にて選択された要素データ（ＲＡ）の位置に対応する対応する比較器からのみ１を出力させる。  
ＦＦ４２０は、比較器４１０が有するそれぞれの比較器からの出力を、次回の重複フラグ（Ｆ１）として保持する。  
重複フラグ（Ｆ１）は、図８に示すように、データ長がｎビットであり、それぞれのビット位置の値が入力ベクトルデータ（Ｖ０）の要素データが選択データ（ＲＡ）と重複しているか否かを示している。そして、重複フラグ（Ｆ１）は、ビットの値が０ならば入力ベクトルデータ（Ｖ０）の対応する要素データが選択データ（ＲＡ）と重複していないことを示し、ビットの値が１ならば入力ベクトルデータ（Ｖ０）の対応する要素データが選択データ（ＲＡ）と重複していることを示す。例えば、重複フラグ（Ｆ１）の最下位ビット（Ｆ１［０］）の値が１の場合には、入力ベクトルデータ（Ｖ０）の要素データ（Ｖ０（０））が選択データ（ＲＡ）と重複していることを示す。
【００２１】
データ出力部１５０は、重複抽出部１４０から出力される重複フラグ（Ｆ１）の値に応じて、メモリ１３０から出力される変換データ（ＲＤ）を出力ベクトルデータ（Ｖ１）にセットする。
図９は、データ出力部１５０の一例としての構成を示す回路図である。図９に示すデータ出力部１５０は、セレクタ５１０と、ＦＦ５２０と、を有する。  
セレクタ５１０は、ｎ個のセレクタを有している。それぞれのセレクタには、メモリ１３０から出力される変換データ（ＲＤ）と、１サイクル前の出力ベクトルデータ（ＶＯＬＤ）の対応する要素データとが入力される。また、それぞれのセレクタには、ｎビットの重複フラグ（Ｆ１）のうち、出力ベクトルデータ（Ｖ１）のそれぞれの要素データ位置に対応するビットの値が入力される。このような構成において、それぞれのセレクタは、重複フラグ（Ｆ１）のビットの値が０の場合には１サイクル前の出力ベクトルデータ（ＶＯＬＤ）の対応する要素データを出力し、値が１の場合には変換データ（ＲＤ）を出力する。  
ＦＦ５２０は、それぞれのセレクタの出力を新たな出力ベクトルデータ（ＶＯＬＤ）として保持する。  
このように、データ出力部１５０は、出力ベクトルデータ（Ｖ１）のうち、データ選択部１２０から出力された要素データ（ＲＡ）に対応する位置の要素データだけではなく、重複抽出部１４０から出力された重複フラグ（Ｆ１）の値が１のビットに対応する位置の要素データの全てに、メモリ１３０から出力される変換データ（ＲＤ）をセットする。
【００２２】
以上のような構成を有するメモリアクセス制御回路１００の動作について図１０のタイミングチャートを参照しながら説明する。ここで、図１０では、入力ベクトルデータ（Ｖ０）が、データ長が３２ビットで要素データの数が４個（それぞれの要素データのデータ長は８ビットである）の例を示している。また、それぞれの要素データが、Ｖ０（３）＝Ａ１、Ｖ０（２）＝Ａ０、Ｖ０（１）＝Ａ１、Ｖ０（０）＝Ａ０となっている。また、初期状態では、メモリアクセス要求信号（ＲＥＱ）が０、メモリアクセスビジー信号（ＢＳＹ）が１であるとする。さらに、初期状態では、処理フラグ（Ｆ０）の全てのビットの値が０であり、重複フラグ（Ｆ１）も全てのビットの値が０であるとする。
【００２３】
ＬＵＴ処理の開始に伴って、ステータス保持部１１０に入力されているメモリアクセス要求信号（ＲＥＱ）が１となる。また、このときに、入力ベクトルデータ（Ｖ０）がデータ選択部１２０に入力される。さらに、ステータス保持部１１０のＦＦ２４０は処理フラグ（Ｆ０）を保持するとともに、重複抽出部１４０のＦＦ４２０は処理フラグ（Ｆ１）を保持する。上述したように、１サイクル目で保持される処理フラグ（Ｆ０）は全てのビットの値が０（処理要）であり、重複フラグ（Ｆ１）も全てのビットの値が０（重複なし）である。また、ＦＦ２４０に処理フラグ（Ｆ０）が保持されることにより、メモリアクセスビジー信号（ＢＳＹ）の値が演算される。１サイクル目においてはメモリアクセスビジー信号（ＢＳＹ）の値は１のままである。
【００２４】
入力ベクトルデータ（Ｖ０）と処理フラグ（Ｆ０）との入力を受けて、データ選択部１２０は、図６で示した選択論理に従って選択データ（ＲＡ）を選択する。１サイクル目では、処理フラグ（Ｆ０）の全ビットの値が０（処理要）である。このため、データ選択部１２０は、選択データ（ＲＡ）として要素データ（Ｖ０（０））であるＡ０を選択する。
【００２５】
データ選択部１２０からの選択データ（ＲＡ）の入力を受けて、メモリ１３０は、選択データ（ＲＡ）に対応した変換データ（ＲＤ）の読み出しを開始する。
重複抽出部１４０は、入力ベクトルデータ（Ｖ０）と選択データ（ＲＡ）とを比較する。選択データ（ＲＡ）がＡ０であるので、重複フラグ（Ｆ１）は、入力ベクトルデータ（Ｖ０）の要素データ（Ｖ０（２））に対応した第２位のビットの値と入力ベクトルデータ（Ｖ０）の要素データ（Ｖ０（０））に対応した最下位ビットの値とが１（重複あり）となる。
【００２６】
データ出力部１５０は、重複フラグ（Ｆ１）のビットの値に応じて変換データ（ＲＤ）と１サイクル前の出力ベクトルデータ（ＶＯＬＤ）の何れかを選択する。１サイクル目では、重複フラグ（Ｆ１）の全てのビットの値が０であるので、それぞれのセレクタは１サイクル前の出力ベクトルデータ（ＶＯＬＤ）を選択する。ただし、１サイクル前には出力ベクトルデータ（Ｖ１）が存在しないので、この選択は無効である。
【００２７】
次のサイクルにおいて、ステータス保持部１１０のＦＦ２４０は新たな処理フラグ（Ｆ０）を保持するとともに、重複抽出部１４０のＦＦ４２０は新たな処理フラグ（Ｆ１）を保持する。２サイクル目で保持される新たな重複フラグ（Ｆ１）は、１サイクル目で演算された重複フラグ（Ｆ１）である。即ち、新たな重複フラグ（Ｆ１）は、第２位のビットの値と最下位ビットの値とが１（重複あり）である。そして、２サイクル目で保持される新たな処理フラグ（Ｆ０）は、１サイクル目で保持された処理フラグ（Ｆ０）と２サイクル目で保持された重複フラグ（Ｆ１）との論理和である。このため、２サイクル目で保持される新たな処理フラグ（Ｆ０）も、第２位のビットの値と最下位ビットの値とが１（処理不要）となる。また、ＦＦ２４０に新たな処理フラグ（Ｆ０）が保持されることにより、メモリアクセスビジー信号（ＢＳＹ）の値が演算される。２サイクル目においてもメモリアクセスビジー信号（ＢＳＹ）の値は１のままである。
【００２８】
入力ベクトルデータ（Ｖ０）と処理フラグ（Ｆ０）との入力を受けて、データ選択部１２０は、図６で示した選択論理に従って選択データ（ＲＡ）を選択する。２サイクル目では、処理フラグ（Ｆ０）の第２位のビットの値と最下位ビットの値とが１（処理不要）である。このため、データ選択部１２０は、選択データ（ＲＡ）として要素データ（Ｖ０（１））の値であるＡ１を選択する。
【００２９】
２サイクル目において、メモリ１３０は、１サイクル目で選択された選択データ（ＲＡ）に対応した変換データ（ＲＤ）の読み出しを完了する。ここで、図１０では、選択データ（ＲＡ）＝Ａ０に対応した変換データ（ＲＤ）がＤ０であるとしている。変換データ（ＲＤ）の読み出し後、メモリ１３０は、次の選択データに対応した変換データ（ＲＤ）の読み出しを開始する。
【００３０】
重複抽出部１４０は、入力ベクトルデータ（Ｖ０）と選択データ（ＲＡ）とを比較する。選択データ（ＲＡ）がＡ１であるので、重複フラグ（Ｆ１）は、入力ベクトルデータ（Ｖ０）の要素データ（Ｖ０（３））に対応した最上位のビットの値と入力ベクトルデータ（Ｖ０）の要素データ（Ｖ０（１））に対応した第３位のビットの値とが１（重複あり）となる。
【００３１】
データ出力部１５０は、重複フラグ（Ｆ１）のビットの値に応じて変換データ（ＲＤ）と１サイクル前の出力ベクトルデータ（ＶＯＬＤ）の何れかを選択する。２サイクル目では、重複フラグ（Ｆ１）の第２位のビットの値と最下位ビットの値とが１（重複あり）である。したがって、出力ベクトルデータ（Ｖ１）の要素データ（Ｖ１（２））に対応したセレクタと要素データ（Ｖ１（０））に対応したセレクタのみがメモリ１３０から出力された変換データ（ＲＤ）＝Ｄ０を選択し、選択した変換データ（ＲＤ）＝Ｄ０を出力ベクトルデータの要素データ（Ｖ１（２））、（Ｖ１（０））として出力する。残りのセレクタは、出力ベクトルデータ（ＶＯＬＤ）を選択する。ただし、この出力ベクトルデータ（ＶＯＬＤ）は無効データである。
【００３２】
次のサイクルにおいて、ステータス保持部１１０のＦＦ２４０は新たな処理フラグ（Ｆ０）を保持するとともに、重複抽出部１４０のＦＦ４２０は新たな処理フラグ（Ｆ１）を保持する。３サイクル目で保持される新たな重複フラグ（Ｆ１）は、２サイクル目で演算された重複フラグ（Ｆ１）である。即ち、新たな重複フラグ（Ｆ１）は、最上位のビットの値と第３位のビットの値とが１（重複あり）である。そして、３サイクル目で保持される新たな処理フラグ（Ｆ０）は、２サイクル目で保持された処理フラグ（Ｆ０）と３サイクル目で保持された重複フラグ（Ｆ１）との論理和である。このため、３サイクル目で保持される新たな処理フラグ（Ｆ０）は、全てのビットの値が１（処理不要）となる。また、ＦＦ２４０に新たな処理フラグ（Ｆ０）が保持されることにより、メモリアクセスビジー信号（ＢＳＹ）の値が演算される。３サイクル目においてメモリアクセスビジー信号（ＢＳＹ）の値が０となる。
【００３３】
入力ベクトルデータ（Ｖ０）と処理フラグ（Ｆ０）との入力を受けて、データ選択部１２０は、図６で示した選択論理に従って選択データ（ＲＡ）を選択する。３サイクル目では、処理フラグ（Ｆ０）の全てのビットの値が１であるので、データ選択部１２０は、選択データ（ＲＡ）の選択を行わない。
【００３４】
３サイクル目において、メモリ１３０は、２サイクル目で選択された選択データ（ＲＡ）に対応した変換データ（ＲＤ）の読み出しを完了する。ここで、図１０では、選択データ（ＲＡ）＝Ａ１に対応した変換データ（ＲＤ）がＤ１であるとしている。次の変換データ（ＲＤ）が入力されないので、メモリ１３０は待機状態となる。また、重複抽出部１４０も待機状態となる。
【００３５】
データ出力部１５０は、重複フラグ（Ｆ１）のビットの値に応じて変換データ（ＲＤ）と１サイクル前の出力ベクトルデータ（ＶＯＬＤ）の何れかを選択する。３サイクル目では、重複フラグ（Ｆ１）の最上位のビットの値と第３位のビットの値とが１（重複あり）である。したがって、出力ベクトルデータ（Ｖ１）の要素データ（Ｖ１（３））に対応したセレクタと要素データ（Ｖ１（１））に対応したセレクタのみがメモリ１３０から出力された変換データ（ＲＤ）＝Ｄ１を選択し、選択した変換データ（ＲＤ）＝Ｄ１を出力ベクトルデータの要素データ（Ｖ１（３））、（Ｖ１（１））として出力する。残りのセレクタは、出力ベクトルデータ（ＶＯＬＤ）を選択する。即ち、出力ベクトルデータ（Ｖ１）の要素データ（Ｖ１（２））に対応したセレクタと要素データ（Ｖ１（０））に対応したセレクタはそれぞれＤ０を出力する。
【００３６】
以上の処理により、メモリアクセスビジー信号（ＢＳＹ）の値が０となったため、ＬＵＴ処理が完了する。
以上説明したように、本実施形態では、重複フラグ（Ｆ１）の値が１のビットに対応する位置の要素データについては、データ出力部１５０から同時に出力させるようにしている。これにより、重複フラグ（Ｆ１）の値が１のビットに対応する位置の要素データについては、以降のメモリアクセスを不要とすることができる。このように、本実施形態では、入力ベクトルデータ（Ｖ０）の重複する要素データによる同一内容のメモリアクセスを回避する効率的なメモリアクセス制御を行うことにより、メモリアクセス期間を短縮することができる。例えば、図１０では、４個の要素データをＬＵＴ処理するのにメモリアクセスサイクルを２サイクルとして処理を完了させることが可能である。
【００３７】
以上実施形態に基づいて本発明を説明したが、本発明は上述した実施形態に限定されるものではなく、本発明の要旨の範囲内で種々の変形や応用が可能なことは勿論である。
さらに、上記した実施形態には種々の段階の発明が含まれており、開示される複数の構成要件の適当な組合せにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件からいくつかの構成要件が削除されても、上述したような課題を解決でき、上述したような効果が得られる場合には、この構成要件が削除された構成も発明として抽出され得る。
【符号の説明】
【００３８】
１００…メモリアクセス制御回路、１１０…ステータス保持部、１２０…データ選択部、１３０…メモリ、１４０…重複抽出部、１５０…データ出力部
【図１】
2012174105.tif 000003
【図２】
2012174105.tif 000004
【図３】
2012174105.tif 000005
【図４】
2012174105.tif 000006
【図５】
2012174105.tif 000007
【図６】
2012174105.tif 000008
【図７】
2012174105.tif 000009
【図８】
2012174105.tif 000010
【図９】
2012174105.tif 000011
【図１０】
2012174105.tif 000012