(57)【特許請求の範囲】
【請求項１】
複数の要素データをまとめて１ワードとして、複数のワードの各々を配列の要素とする構造データを保持する構造データ領域が、前記複数ワードの各々を単位として順次相異なる複数のメモリバンクに割り当てられたメモリと、
前記メモリへのアドレス値が前記複数の要素データにアクセスするための特定のアドレス領域に含まれることを検出するアドレス領域検出部と、
前記アドレス値が前記特定のアドレス領域に含まれることが検出された場合には、前記複数のメモリバンクの各々に割り当てられた前記構造データに含まれる前記複数の要素データを前記複数のメモリバンクから一つずつ同時にアクセスするように前記アドレス値を前記構造データ領域に変換するアドレス変換部と
を具備する情報処理装置。
【請求項２】
前記アドレス値が前記特定のアドレス領域に含まれることが検出された場合には前記構造データと同じサイズのライトデータに含まれる要素データが前記複数のメモリバンクに一つずつ書き込まれるように前記ライトデータを整列させるライトデータ整列部をさらに具備する請求項１記載の情報処理装置。
【請求項３】
前記アドレス値が前記特定のアドレス領域に含まれることが検出された場合には前記複数のメモリバンクから一つずつ読み出された要素データを前記構造データと同じサイズのリードデータとして整列させるリードデータ整列部をさらに具備する請求項１記載の情報処理装置。
【請求項４】
前記構造データは画像の画素データであり、前記複数の要素データは前記画素データの輝度または色に関する成分データである請求項１記載の情報処理装置。
【請求項５】
複数の要素データをまとめて１ワードとして、複数のワードの各々を配列の要素とする構造データを保持する構造データ領域が、前記複数ワードの各々を単位として順次相異なる複数のメモリバンクに割り当てられたメモリに対してアクセスする際のアドレス値が前記複数の要素データにアクセスするための特定のアドレス領域に含まれることを検出するアドレス領域検出部と、
前記アドレス値が前記特定のアドレス領域に含まれることが検出された場合には、前記複数のメモリバンクの各々に割り当てられた前記構造データに含まれる前記複数の要素データを前記複数のメモリバンクから一つずつ同時にアクセスするように前記アドレス値を前記構造データ領域に変換するアドレス変換部と
を具備するメモリ制御装置。
【請求項６】
前記アドレス値が前記特定のアドレス領域に含まれることが検出された場合には前記構造データと同じサイズのライトデータに含まれる要素データが前記複数のメモリバンクに一つずつ書き込まれるように前記ライトデータを整列させるライトデータ整列部をさらに具備する請求項５記載のメモリ制御装置。
【請求項７】
前記アドレス値が前記特定のアドレス領域に含まれることが検出された場合には前記複数のメモリバンクから一つずつ読み出された要素データを前記構造データと同じサイズのリードデータとして整列させるリードデータ整列部をさらに具備する請求項５記載のメモリ制御装置。
【請求項８】
前記構造データは画像の画素データであり、前記複数の要素データは前記画素データの輝度または色に関する成分データである請求項５記載のメモリ制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリ制御装置に関し、特にメモリに対するアドレス値に応じてアドレス変換を行うメモリ制御装置および情報処理装置に関する。
【背景技術】
【０００２】
画像処理において、画像の各画素の輝度や色に関する情報である画素データは、構造データとして表現できる。例えば、１画素分の画素データは、その画素の輝度を表す輝度成分と、その画素の色を表す色成分に分類される。また、色成分についても、各色に分けることができる。
【０００３】
このような構造データについてデータ処理を行う場合、メモリからプロセッサ内部へデータを読み出し、その読み出したデータから処理に必要な要素データを抽出する必要があり、それによるプロセッサの負荷および処理時間が増大するという問題があった。また、プロセッサ内部へデータを読み出した後で必要なデータを抽出するため、その処理に必要のないデータも一旦バスを介して転送されるため、バスアクセス量が増大するという問題があった。
【０００４】
そのため、このような処理において演算量を減らすために、多重アドレスを使用して読み出したデータに対して一定の演算を行う装置をバス上に有し、アドレスによって演算手段を選択する装置が提案されている（例えば、特許文献１参照。）。
【特許文献１】特開平８−３６５２０号公報（図１）
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述の従来技術では、物理アドレスを使用してメモリから読み出したデータを単位として演算およびデータ転送できるだけであり、構造データの要素データを単位としてまとめて取り扱うことはできない。そのため、バスのアクセス量を緩和することはできない。また、演算装置をデータバス上に設けていることから、柔軟性にかけるという問題がある。
【０００６】
本発明はこのような状況に鑑みてなされたものであり、構造データから特定の要素データを抽出してまとめて取り扱うことを目的とする。
【課題を解決するための手段】
【０００７】
本発明は、上記課題を解決するためになされたものであり、その第１の側面は、複数の要素データからなる構造データを保持する構造データ領域が複数のメモリバンクに割り当てられたメモリと、上記メモリへのアドレス値が上記複数の要素データにアクセスするための特定のアドレス領域に含まれることを検出するアドレス領域検出部と、上記アドレス値が上記特定のアドレス領域に含まれることが検出された場合には上記アドレス値を上記構造データ領域に変換するアドレス変換部とを具備する情報処理装置である。これにより、複数のメモリバンクからなる内部のメモリの特定のアドレス領域に対するアクセスを構造データ領域に変換させるという作用をもたらす。
【０００８】
また、この第１の側面において、上記構造データは、上記複数の要素データをまとめて１ワードとして、複数のワードの各々を配列の要素として保持し、上記複数のメモリバンクは、上記複数ワードの各々を単位として順次相異なるメモリバンクに割り当て、上記アドレス変換部は、上記アドレス値が上記特定のアドレス領域に含まれることが検出された場合には上記複数のメモリバンクの各々に割り当てられた上記構造データに含まれる上記複数の要素データを上記複数のメモリバンクから一つずつ同時にアクセスするように上記アドレス値の変換を行うようにしてもよい。これにより、特定のアドレス領域に対するアクセスの場合には複数のメモリバンクから一つずつ同時に要素データをアクセスさせるという作用をもたらす。
【０００９】
また、この場合において、上記アドレス値が上記特定のアドレス領域に含まれることが検出された場合には上記構造データと同じサイズのライトデータに含まれる要素データが上記複数のメモリバンクに一つずつ書き込まれるように上記ライトデータを整列させるライトデータ整列部をさらに具備してもよい。これにより、構造データと同じサイズのライトデータに含まれる要素データを複数のメモリバンクに一つずつ書き込ませるという作用をもたらす。
【００１０】
また、この場合において、上記アドレス値が上記特定のアドレス領域に含まれることが検出された場合には上記複数のメモリバンクから一つずつ読み出された要素データを上記構造データと同じサイズのリードデータとして整列させるリードデータ整列部をさらに具備してもよい。これにより、複数のメモリバンクから一つずつ読み出された要素データを構造データと同じサイズのリードデータとして供給させるという作用をもたらす。
【００１１】
また、この第１の側面において、上記構造データは画像の画素データであり、上記複数の要素データは上記画素データの輝度または色に関する成分データであってもよい。本発明の実施の形態においては、輝度に関する成分データとしてＹ成分を、色に関する成分データとしてＲＧＢ成分をそれぞれ例示している。
【００１２】
また、本発明の第２の側面は、複数の要素データからなる構造データを保持する構造データ領域が複数のメモリバンクに割り当てられたメモリに対してアクセスする際のアドレス値が上記複数の要素データにアクセスするための特定のアドレス領域に含まれることを検出するアドレス領域検出部と、上記アドレス値が上記特定のアドレス領域に含まれることが検出された場合には上記アドレス値を上記構造データ領域に変換するアドレス変換部とを具備するメモリ制御装置である。これにより、複数のメモリバンクからなるメモリの特定のアドレス領域に対するアクセスを構造データ領域に変換させるという作用をもたらす。
【００１３】
また、本発明の第３の側面は、複数の要素データからなる構造データを保持する構造データ領域が割り当てられたメモリと、上記メモリへのアドレス値が上記複数の要素データにアクセスするための特定のアドレス領域に含まれることを検出するアドレス領域検出部と、上記アドレス値が上記特定のアドレス領域に含まれることが検出された場合には上記アドレス値を上記構造データ領域に変換するアドレス変換部とを具備する情報処理装置である。これにより、内部のメモリの特定のアドレス領域に対するアクセスを構造データ領域に変換させるという作用をもたらす。
【００１４】
また、本発明の第４の側面は、複数の要素データからなる構造データを保持する構造データ領域が割り当てられたメモリへのアドレス値が上記複数の要素データにアクセスするための特定のアドレス領域に含まれることを検出するアドレス領域検出部と、上記アドレス値が上記特定のアドレス領域に含まれることが検出された場合には上記アドレス値を上記構造データ領域に変換するアドレス変換部とを具備するメモリ制御装置である。これにより、メモリの特定のアドレス領域に対するアクセスを構造データ領域に変換させるという作用をもたらす。
【発明の効果】
【００１５】
本発明によれば、構造データから特定の要素データを抽出してまとめて取り扱うことができるという優れた効果を奏し得る。
【発明を実施するための最良の形態】
【００１６】
次に本発明の実施の形態について図面を参照して詳細に説明する。
【００１７】
図１は、本発明の実施の形態における情報処理装置の一構成例を示す図である。この情報処理装置は、画像処理装置１００および外部記憶部２００から構成される。画像処理装置１００は、画像データに対して画像処理を施すものである。外部記憶部２００は、画像処理の対象となる画像データを記憶するものである。外部記憶部２００に記憶される画像データを画像処理装置１００内のメモリに取り込むことにより、画像処理が行われる。画像処理装置１００は、プロセッサ１１０と、メモリ１２０と、メモリ制御部１３０と、ＤＭＡ制御部１４０と、演算器１５０とを備える。プロセッサ１１０、メモリ制御部１３０、ＤＭＡ制御部１４０および演算器１５０は、システムバス１９０によって互いに接続されている。また、外部記憶部２００もこのシステムバス１９０に接続される。
【００１８】
プロセッサ１１０は、画像処理のための制御や演算を行うものである。メモリ１２０は、画像処理の対象となる画像データや、作業領域を保持するメモリである。メモリ制御部１３０は、メモリ１２０に対するアクセスを制御するものである。ＤＭＡ制御部１４０は、外部記憶部２００とメモリ１２０との間のＤＭＡ（Direct Memory Access）転送を制御するコントローラである。演算器１５０は、画像処理のための制御や演算を行うものであり、一般に、プロセッサ１１０よりも高い演算処理能力を備える。プロセッサ１１０は、演算器１５０に対して負荷の高い演算を行わせることにより、画像処理装置１００全体としての処理効率を向上させることができる。
【００１９】
この情報処理装置において画像処理を行う際には、まず外部記憶部２００からメモリ１２０に画像データが転送される。この転送の際には、一般にＤＭＡ転送が用いられる。このＤＭＡ転送は、ＤＭＡ制御部１４０によって制御される。そして、プロセッサ１１０が画像データのうち輝度成分を使用した演算を行う場合には、メモリ１２０からプロセッサ１１０に輝度成分が読み出される。また、演算器１５０が画像データのうち色成分を使用した演算を行う場合には、メモリ１２０から演算器１５０に色成分が読み出される。
【００２０】
図２は、本発明の実施の形態におけるメモリ１２０およびメモリ制御部１３０の一構成例を示す図である。
【００２１】
メモリ１２０は、４つのメモリバンク＃０乃至＃３（１２１乃至１２４）から構成される。メモリバンク＃０乃至＃３（１２１乃至１２４）の各々は、それぞれ独立して動作可能であり、３２ビット幅のワードを複数ワード保持することができるようになっている。
【００２２】
メモリ制御部１３０は、アドレス生成部３１０と、ライトデータ整列部３２０と、リードデータ整列部３３０とを備えている。アドレス生成部３１０は、入力された１６ビットのアドレスＡ［１５：０］に基づいて、メモリバンク＃０乃至＃３（１２１乃至１２４）の各々に供給するアドレスを生成するものである。ライトデータ整列部３２０は、入力された３２ビットのライトデータＷＤＡＴＡ［３１：０］を整列して、それぞれ３２ビットのデータをメモリバンク＃０乃至＃３（１２１乃至１２４）の各々に供給するものである。リードデータ整列部３３０は、メモリバンク＃０乃至＃３（１２１乃至１２４）の各々から読み出されたデータを整列して３２ビットのリードデータＲＤＡＴＡ［３１：０］として出力するものである。
【００２３】
アドレス生成部３１０は、アドレス領域検出部３１１と、アドレス変換部３１２とを備える。アドレス領域検出部３１１は、入力された１６ビットのアドレスＡ［１５：０］が示すアドレス領域を検出するものである。アドレス変換部３１２は、アドレスＡ［１５：０］が仮想領域に含まれることがアドレス領域検出部３１１によって検出されると、アドレスＡ［１５：０］を物理領域に変換するものである。
【００２４】
この例では、４つのメモリバンク＃０乃至＃３（１２１乃至１２４）により同時に１２８ビットのアクセスが可能であるが、ライトデータおよびリードデータは何れも３２ビットに設定している。したがって、システムバス１９０のデータ幅は３２ビットで済むことになる。そして、この３２ビットに効率良くデータを供給することにより、無駄のないアクセスを実現することができる。
【００２５】
図３は、本発明の実施の形態におけるメモリ１２０のアドレスと領域との関係例を示す図である。この例では、アドレスが「０ｘ００００」（「０ｘ」は、それに続く数字が１６進数であることを意味する。以下同様。）から「０ｘ３ｆｆｆ」の領域は物理領域であり、実際にデータが保持される領域として割り当てられている。これに対し、アドレスが「０ｘ４０００」から「０ｘ７ｆｆｆ」の領域は仮想領域であり、この領域の実体は物理領域にマッピングされる。
【００２６】
例えば、図４に示すように、画像データの各画素の画素データを、輝度を表すＹ成分、赤色（Red）の画素値を表すＲ成分、緑色（Green）の画素値を表すＧ成分、および、青色（Blue）の画素値を表すＢ成分の４成分からなる構造データとする。この場合、各成分はそれぞれ８ビットとして、全体で３２ビットの画素データＤ［３１：０］とする。メモリバンク＃０乃至＃３（１２１乃至１２４）では、３２ビットの画素データを１ワードの構造データとして、この構造データを単位として配置される。したがって、物理領域では、メモリバンク＃０乃至＃３（１２１乃至１２４）における配置に従って、構造データを単位とした割当てが行われる。
【００２７】
一方、仮想領域では、画素データの要素データの各々を単位として割当てが行われる。すなわち、アドレスが「０ｘ４０００」から「０ｘ４ｆｆｆ」の領域には８ビットのＹ成分が連続して割り当てられる。また、アドレスが「０ｘ５０００」から「０ｘ５ｆｆｆ」の領域には８ビットのＲ成分が連続して割り当てられる。また、アドレスが「０ｘ６０００」から「０ｘ６ｆｆｆ」の領域には８ビットのＧ成分が連続して割り当てられる。また、アドレスが「０ｘ７０００」から「０ｘ７ｆｆｆ」の領域には８ビットのＢ成分が連続して割り当てられる。
【００２８】
図５は、本発明の実施の形態における要素データと物理アドレスおよび仮想アドレスとの対応関係例を示す図である。物理アドレスは物理領域におけるアドレスを意味し、仮想アドレスは仮想領域におけるアドレスを意味する。
【００２９】
上述のように、物理領域では構造データを単位として割当てが行われるため、物理アドレスの昇順に、要素データがＹ０、Ｒ０、Ｇ０、Ｂ０、Ｙ１、Ｒ１、Ｇ１、Ｂ１、…の順番で割り当てられることになる。なお、Ｙｉは第ｉ画素データのＹ成分、Ｒｉは第ｉ画素データのＲ成分、Ｇｉは第ｉ画素データのＧ成分、Ｂｉは第ｉ画素データのＢ成分をそれぞれ意味する。
【００３０】
一方、仮想領域では、各成分がまとめて割り当てられるため、物理領域とは異なる順序となる。すなわち、Ｙ０は仮想領域Ｙの先頭「０ｘ４０００」、Ｒ０は仮想領域Ｒの先頭「０ｘ５０００」、Ｇ０は仮想領域Ｇの先頭「０ｘ６０００」、Ｂ０は仮想領域Ｂの先頭「０ｘ７０００」にそれぞれ割り当てられる。また、Ｙ１は仮想領域Ｙの「０ｘ４００１」、Ｒ１は仮想領域Ｒの「０ｘ５００１」、Ｇ１は仮想領域Ｇの「０ｘ６００１」、Ｂ１は仮想領域Ｂの「０ｘ７００１」にそれぞれ割り当てられる。すなわち、各要素データには、１つの物理アドレスと１つの仮想アドレスが割り当てられることになる。
【００３１】
図６は、本発明の実施の形態における要素データとアドレスの対応関係例を示す図である。
【００３２】
図６（ａ）に示すように、物理領域では画素データを単位として割り当てられているため、画素データ毎にアクセスすることができる。例えば、アドレス「０ｘ００００」を指定した場合には３２ビットの第０画素データＹ０、Ｒ０、Ｇ０およびＢ０に同時にアクセスすることができる。
【００３３】
図６（ｂ）に示すように、仮想領域では要素データを単位として割り当てられているため、要素データ毎にアクセスすることができる。例えば、アドレス「０ｘ４０００」を指定した場合には８ビットのＹ成分Ｙ０、Ｙ１、Ｙ２およびＹ３の計３２ビットに同時にアクセスすることができる。
【００３４】
このように、物理領域または仮想領域の何れの領域においても、３２ビットのデータにアクセスすることができる。すなわち、画素データを構造データとしてアクセスする場合には物理アドレスを利用し、要素データ毎にアクセスする場合には仮想アドレスを利用することにより、必要なデータに無駄なくアクセスできることがわかる。
【００３５】
図７は、本発明の実施の形態におけるメモリバンクとアドレスの対応関係例を示す図である。
【００３６】
図７（ａ）に示すように、メモリバンク＃０乃至＃３（１２１乃至１２４）では、３２ビットの画素データを１ワードの構造データとして、この構造データを単位として配置される。このとき、物理領域において要素データを単位としてアドレスを付与すると、アドレスの下位２ビットＡ［１：０］は、各メモリバンクにおけるワード内のアドレスを示すことになる。また、アドレスＡ［３：２］の２ビットは、メモリバンクのアドレスを示すことになる。また、アドレスＡ［１３：４］の１０ビットは、メモリバンク内のアドレスを示すことになる。
【００３７】
一方、図７（ｂ）に示すように、仮想領域では要素データを単位として割り当てられているため、アドレスの下位２ビットＡ［１：０］は、メモリバンクのアドレスを示すことになる。また、アドレスＡ［１１：２］の１０ビットが、メモリバンク内のアドレスを示すことになる。
【００３８】
図８および図９は、本発明の実施の形態におけるアドレスのビット配置例を示す図である。１６ビットのアドレスＡ［１５：０］のうち、上位４ビットＡ［１５：１２］は、領域アドレスを示す。すなわち、領域アドレスが「０ｂ００ＸＸ」（「０ｂ」は、それに続く数字が２進数であることを意味する。また、「Ｘ」は任意の２進数を意味する。以下同様。）であれば、物理領域であることを意味する。また、領域アドレスが「０ｂ０１００」であれば、仮想領域Ｙであることを意味する。また、領域アドレスが「０ｂ０１０１」であれば、仮想領域Ｒであることを意味する。また、領域アドレスが「０ｂ０１１０」であれば、仮想領域Ｇであることを意味する。また、領域アドレスが「０ｂ０１１１」であれば、仮想領域Ｂであることを意味する。
【００３９】
領域アドレスが物理領域であることを示している場合、図７（ａ）により説明したように、アドレスＡ［１３：４］がメモリバンクのバンク内アドレスを示し、アドレスＡ［３：２］がメモリバンクのバンクアドレスを示し、アドレスＡ［１：０］がメモリバンクにおけるワード内アドレスを示す。ただし、構造データはまとめて１組のデータとしてアクセスされるものと仮定すると、この場合のワード内アドレスは無視されるのが通例である。したがって、構造データとしてのアクセスの場合、アドレス「０ｘ００００」から「０ｘ０００３」の何れのアドレスを指定しても、３２ビットの画素データＹ０、Ｒ０、Ｇ０およびＢ０にアクセスすることになる。
【００４０】
領域アドレスが仮想領域であることを示している場合、図７（ｂ）により説明したように、アドレスＡ［１１：２］がメモリバンクのバンク内アドレスを示し、アドレスＡ［１：０］がメモリバンクのバンクアドレスを示す。すなわち、仮想領域におけるバンク内アドレスおよびバンクアドレスは、物理領域におけるバンク内アドレスおよびバンクアドレスを２ビット右シフトしたものであることがわかる。そして、これに領域アドレスを加えたものが仮想領域におけるアドレスとなる。したがって、
仮想アドレス＝領域アドレス＋（物理アドレス＞＞２）
となる。ただし、「＞＞」は右シフトを表し、その右の数字がシフト回数を表す。
【００４１】
なお、仮想領域においては、ワード内アドレスは固定である。すなわち、仮想領域Ｙにおいては、ワード内アドレスは「０ｂ００」である。また、仮想領域Ｒにおいては、ワード内アドレスは「０ｂ０１」である。また、仮想領域Ｇにおいては、ワード内アドレスは「０ｂ１０」である。また、仮想領域Ｂにおいては、ワード内アドレスは「０ｂ１１」である。ただし、この場合のワード内アドレスは、メモリバンクにおける物理的な制御に使用されるものであり、アクセスを要求する側（例えばプロセッサ１１０）からは特に意識する必要がないものである。
【００４２】
図１０は、本発明の実施の形態におけるメモリバンクと要素データとの対応関係例を示す図である。
【００４３】
メモリバンク＃０乃至＃３（１２１乃至１２４）の各々は、構造データである３２ビットの画素データを１ワードとして、この画素データを配列の要素として保持する。そして、この配列の要素である画素データを単位として、順次相異なるメモリバンクに割り当てられる。すなわち、第０画素データはメモリバンク＃０（１２１）の先頭ワードに保持され、第１画素データはメモリバンク＃１（１２２）の先頭ワードに保持され、第２画素データはメモリバンク＃２（１２３）の先頭ワードに保持され、第３画素データはメモリバンク＃３（１２４）の先頭ワードに保持される。また、第４画素データはメモリバンク＃０（１２１）の第２ワードに保持され、第５画素データはメモリバンク＃１（１２２）の第２ワードに保持され、第６画素データはメモリバンク＃２（１２３）の第２ワードに保持され、第７画素データはメモリバンク＃３（１２４）の第２ワードに保持される。
【００４４】
図１１は、本発明の実施の形態における仮想領域に対するアクセスとメモリバンクとの対応関係例を示す図である。
【００４５】
図１１（ａ）に示すように、仮想領域Ｙにおいて各８ビットのデータＹａ、Ｙｂ、ＹｃおよびＹｄ（計３２ビット）の書込みが指示された場合、各メモリバンクにおいて、アドレスＡ［１１：２］により示されるワードの下位８ビット（Ｄ［７：０］）に、それぞれ対応するデータの書込みが同時に行われる。
【００４６】
図１１（ｂ）に示すように、仮想領域Ｙにおいてデータの読出しが指示された場合、各メモリバンクにおいて、アドレスＡ［１１：２］により示されるワードの下位８ビット（Ｄ［７：０］）のデータＹａ、Ｙｂ、ＹｃおよびＹｄ（計３２ビット）が同時に読み出される。
【００４７】
なお、この例では仮想領域Ｙにおけるアクセスについて説明したが、他の仮想領域についても同様のアクセスが行われる。すなわち、仮想領域Ｒであれば、アドレスＡ［１１：２］により示されるワードのＤ［１５：８］の８ビットに、それぞれアクセスが行われる。また、仮想領域Ｇであれば、アドレスＡ［１１：２］により示されるワードのＤ［２３：１６］の８ビットに、それぞれアクセスが行われる。また、仮想領域Ｂであれば、アドレスＡ［１１：２］により示されるワードのＤ［３１：２４］の８ビットに、それぞれアクセスが行われる。
【００４８】
図１２は、本発明の実施の形態におけるライトデータ整列部３２０の構成例を示す図である。このライトデータ整列部３２０には、３２ビットのライトデータＷＤＡＴＡ［３１：０］および領域アドレスＡ［１５：１２］が与えられる。
【００４９】
このライトデータ整列部３２０は、セレクタ３２６を備える。このセレクタ３２６は、それぞれ１２８ビットの５組の信号線３２１乃至３２５のうちから１組を選択して、１２８ビットの信号線３２９に出力するものである。信号線３２１には、３２ビットのライトデータＷＤＡＴＡ［３１：０］を４つに分配した計１２８ビットが入力される。すなわち、信号線３２１から入力されるデータをＷＤ１［１２７：０］とすると、
ＷＤ１［３１：０］＝ＷＤＡＴＡ［３１：０］
ＷＤ１［６３：３２］＝ＷＤＡＴＡ［３１：０］
ＷＤ１［９５：６４］＝ＷＤＡＴＡ［３１：０］
ＷＤ１［１２７：９６］＝ＷＤＡＴＡ［３１：０］
となる。なお、図中、ａはＷＤＡＴＡ［７：０］を、ｂはＷＤＡＴＡ［１５：８］を、ｃはＷＤＡＴＡ［２３：１６］を、ｄはＷＤＡＴＡ［３１：２４］をそれぞれ表す。
【００５０】
また、信号線３２２には、３２ビットのライトデータＷＤＡＴＡ［３１：０］の４つの８ビットデータを分割して埋め込んだ計１２８ビットが入力される。すなわち、信号線３２２から入力されるデータをＷＤ２［１２７：０］とすると、
ＷＤ２［７：０］＝ＷＤＡＴＡ［７：０］
ＷＤ２［３９：３２］＝ＷＤＡＴＡ［１５：８］
ＷＤ２［７１：６４］＝ＷＤＡＴＡ［２３：１６］
ＷＤ２［１０３：９６］＝ＷＤＡＴＡ［３１：２４］
となる。なお、これ以外のビットにはデータが書き込まれないように制御する。したがって、これ以外のビットでは元のデータの内容が維持されることになる。
【００５１】
また、信号線３２３には、３２ビットのライトデータＷＤＡＴＡ［３１：０］の４つの８ビットデータを分割して埋め込んだ計１２８ビットが入力される。すなわち、信号線３２３から入力されるデータをＷＤ３［１２７：０］とすると、
ＷＤ３［１５：８］＝ＷＤＡＴＡ［７：０］
ＷＤ３［４７：４０］＝ＷＤＡＴＡ［１５：８］
ＷＤ３［７９：７２］＝ＷＤＡＴＡ［２３：１６］
ＷＤ３［１１１：１０４］＝ＷＤＡＴＡ［３１：２４］
となる。なお、これ以外のビットにはデータが書き込まれないように制御する。したがって、これ以外のビットでは元のデータの内容が維持されることになる。
【００５２】
また、信号線３２４には、３２ビットのライトデータＷＤＡＴＡ［３１：０］の４つの８ビットデータを分割して埋め込んだ計１２８ビットが入力される。すなわち、信号線３２４から入力されるデータをＷＤ４［１２７：０］とすると、
ＷＤ４［２３：１６］＝ＷＤＡＴＡ［７：０］
ＷＤ４［５５：４８］＝ＷＤＡＴＡ［１５：８］
ＷＤ４［８７：８０］＝ＷＤＡＴＡ［２３：１６］
ＷＤ４［１１９：１１２］＝ＷＤＡＴＡ［３１：２４］
となる。なお、これ以外のビットにはデータが書き込まれないように制御する。したがって、これ以外のビットでは元のデータの内容が維持されることになる。
【００５３】
また、信号線３２５には、３２ビットのライトデータＷＤＡＴＡ［３１：０］の４つの８ビットデータを分割して埋め込んだ計１２８ビットが入力される。すなわち、信号線３２５から入力されるデータをＷＤ５［１２７：０］とすると、
ＷＤ５［３１：２４］＝ＷＤＡＴＡ［７：０］
ＷＤ５［６３：５６］＝ＷＤＡＴＡ［１５：８］
ＷＤ５［９５：８８］＝ＷＤＡＴＡ［２３：１６］
ＷＤ５［１２７：１２０］＝ＷＤＡＴＡ［３１：２４］
となる。なお、これ以外のビットにはデータが書き込まれないように制御する。したがって、これ以外のビットでは元のデータの内容が維持されることになる。
【００５４】
セレクタ３２６は、領域アドレスＡ［１５：１２］に応じて５組の信号線３２１乃至３２５のうちから１組を選択する。すなわち、領域アドレスＡ［１５：１２］が「０ｂ００ＸＸ」であれば信号線３２１のデータが選択される。また、領域アドレスＡ［１５：１２］が「０ｂ０１００」であれば信号線３２２のデータが選択される。また、領域アドレスＡ［１５：１２］が「０ｂ０１０１」であれば信号線３２３のデータが選択される。また、領域アドレスＡ［１５：１２］が「０ｂ０１１０」であれば信号線３２４のデータが選択される。また、領域アドレスＡ［１５：１２］が「０ｂ０１１１」であれば信号線３２５のデータが選択される。
【００５５】
このようにして選択されたデータは信号線３２９に出力される。この信号線３２９に出力されるデータをＷＤ９［１２７：０］とすると、ＷＤ９［３１：０］はメモリバンク＃０（１２１）に供給され、ＷＤ９［６３：３２］はメモリバンク＃１（１２２）に供給され、ＷＤ９［９５：６４］はメモリバンク＃２（１２３）に供給され、ＷＤ９［１２７：９６］はメモリバンク＃３（１２４）に供給される。
【００５６】
図１３は、本発明の実施の形態におけるリードデータ整列部３３０の構成例を示す図である。このリードデータ整列部３３０には、４組の３２ビットのリードデータＲＤ１［３１：０］、ＲＤ２［３１：０］、ＲＤ３［３１：０］、ＲＤ４［３１：０］、領域アドレスＡ［１５：１２］およびバンクアドレスＡ［３：２］が与えられる。このリードデータ整列部３３０は、セレクタ３３６および３３７を備える。
【００５７】
セレクタ３３６は、４組の３２ビットのリードデータＲＤ１［３１：０］、ＲＤ２［３１：０］、ＲＤ３［３１：０］およびＲＤ４［３１：０］のうちから１組を選択して、信号線３３１に出力するものである。リードデータＲＤ１［３１：０］はメモリバンク＃０（１２１）から読み出されたデータである。リードデータＲＤ２［３１：０］はメモリバンク＃１（１２２）から読み出されたデータである。リードデータＲＤ３［３１：０］はメモリバンク＃２（１２３）から読み出されたデータである。リードデータＲＤ４［３１：０］はメモリバンク＃３（１２４）から読み出されたデータである。
【００５８】
このセレクタ３３６は、バンクアドレスＡ［３：２］に基づいて、４組のリードデータの何れかを選択する。すなわち、バンクアドレスＡ［３：２］が「０ｂ００」であればＲＤ１［３１：０］を選択し、「０ｂ０１」であればＲＤ２［３１：０］を選択し、「０ｂ１０」であればＲＤ３［３１：０］を選択し、「０ｂ１１」であればＲＤ４［３１：０］を選択する。
【００５９】
セレクタ３３７は、５組の３２ビットの信号線３３１乃至３３５のうちから１組を選択して、３２ビットのリードデータＲＤＡＴＡ［３１：０］として出力するものである。信号線３３１のデータは、物理アドレスによる物理領域からの読出しに対応するものである。信号線３３２のデータは、各８ビットのＲＤ０［７：０］、ＲＤ１［７：０］、ＲＤ２［７：０］およびＲＤ３［７：０］を集めたものであり、仮想領域Ｙからの読出しに対応するものである。信号線３３３のデータは、各８ビットのＲＤ０［１５：８］、ＲＤ１［１５：８］、ＲＤ２［１５：８］およびＲＤ３［１５：８］を集めたものであり、仮想領域Ｒからの読出しに対応するものである。信号線３３４のデータは、各８ビットのＲＤ０［２３：１６］、ＲＤ１［２３：１６］、ＲＤ２［２３：１６］およびＲＤ３［２３：１６］を集めたものであり、仮想領域Ｇからの読出しに対応するものである。信号線３３５のデータは、各８ビットのＲＤ０［３１：２４］、ＲＤ１［３１：２４］、ＲＤ２［３１：２４］およびＲＤ３［３１：２４］を集めたものであり、仮想領域Ｂからの読出しに対応するものである。
【００６０】
このセレクタ３３７は、領域アドレスＡ［１５：１２］に基づいて、５組の３２ビットの信号線３３１乃至３３５のうちから１組を選択する。すなわち、領域アドレスＡ［１５：１２］が「０ｂ００ＸＸ」であれば信号線３３１を選択し、「０ｂ０１００」であれば信号線３３２を選択し、「０ｂ０１０１」であれば信号線３３３を選択し、「０ｂ０１１０」であれば信号線３３４を選択し、「０ｂ０１１１」であれば信号線３３５を選択する。
【００６１】
このように、本発明の実施の形態によれば、アドレスＡ［１５：０］が仮想領域に含まれることがアドレス領域検出部３１１によって検出されると、アドレス変換部３１２によってアドレスＡ［１５：０］を物理領域に変換することにより、構造データの要素データに対してまとめてアクセスを行うことができる。したがって、構造データとしてアクセスする際には物理領域のアドレスを使用し、要素データ毎にアクセスする際には仮想領域のアドレスを使用することにより、必要なデータのみをパッキングした状態でアクセスすることができる。これにより、各演算処理の削減およびシステムバスのトラフィックの軽減を併せて実現することが可能となる。特に、画像フィルタなどにおいては、輝度成分のみをまとめて取り扱うことが多く、本発明の適用による効果が顕著となる。
【００６２】
また、本発明の実施の形態では、その機能をメモリ制御部１３０に集約することにより、個々の演算器等に当該機能を持たせる場合に比べて柔軟性を担保している。すなわち、拡張や変更を行う場合においてもメモリ制御部１３０のみの変更で対応することができるため、情報処理装置の設計を容易にすることができる。
【００６３】
なお、本発明の実施の形態では、構造データの一例としてＹ成分、Ｒ成分、Ｇ成分およびＢ成分からなる画素データを例に挙げて説明したが、本発明はこれに限定されるものではなく、他のデータについても適用可能である。また、本発明の実施の形態では、複数のメモリバンクからなるメモリを例に挙げて説明したが、本発明はこれに限定されるものではなく、他のメモリ構成においても適用可能である。
【００６４】
なお、本発明の実施の形態は本発明を具現化するための一例を示したものであり、以下に示すように特許請求の範囲における発明特定事項とそれぞれ対応関係を有するが、これに限定されるものではなく本発明の要旨を逸脱しない範囲において種々の変形を施すことができる。
【図面の簡単な説明】
【００６５】
【図１】本発明の実施の形態における情報処理装置の一構成例を示す図である。
【図２】本発明の実施の形態におけるメモリ１２０およびメモリ制御部１３０の一構成例を示す図である。
【図３】本発明の実施の形態におけるメモリ１２０のアドレスと領域との関係例を示す図である。
【図４】本発明の実施の形態における画素データのフォーマット例を示す図である。
【図５】本発明の実施の形態における要素データと物理アドレスおよび仮想アドレスとの対応関係例を示す図である。
【図６】本発明の実施の形態における要素データとアドレスの対応関係例を示す図である。
【図７】本発明の実施の形態におけるメモリバンクとアドレスの対応関係例を示す図である。
【図８】本発明の実施の形態におけるアドレスのビット配置例を示す図である。
【図９】本発明の実施の形態における領域アドレスとアドレスのビット配置の対応関係例を示す図である。
【図１０】本発明の実施の形態におけるメモリバンクと要素データとの対応関係例を示す図である。
【図１１】本発明の実施の形態における仮想領域に対するアクセスとメモリバンクとの対応関係例を示す図である。
【図１２】本発明の実施の形態におけるライトデータ整列部３２０の構成例を示す図である。
【図１３】本発明の実施の形態におけるリードデータ整列部３３０の構成例を示す図である。
【符号の説明】
【００６６】
１００  画像処理装置
１１０  プロセッサ
１２０  メモリ
１３０  メモリ制御部
１４０  ＤＭＡ制御部
１５０  演算器
１９０  システムバス
２００  外部記憶部
３１０  アドレス生成部
３１１  アドレス領域検出部
３１２  アドレス変換部
３２０  ライトデータ整列部
３２６  セレクタ
３３０  リードデータ整列部
３３６、３３７  セレクタ
【図１】
0005292934.tif 000002
【図２】
0005292934.tif 000003
【図３】
0005292934.tif 000004
【図４】
0005292934.tif 000005
【図５】
0005292934.tif 000006
【図６】
0005292934.tif 000007
【図７】
0005292934.tif 000008
【図８】
0005292934.tif 000009
【図９】
0005292934.tif 000010
【図１０】
0005292934.tif 000011
【図１１】
0005292934.tif 000012
【図１２】
0005292934.tif 000013
【図１３】
0005292934.tif 000014