(57)【要約】【課題】広範囲のアクセスアドレス間隔についてメモリにおけるバンクコンフリクトを防ぐ。【解決手段】複数のメモリモジュールには、ワード毎に巡回してアドレスが付与されている。複数のアクセスポートは、複数のメモリモジュールにアクセスするための入出力ポートである。複数のアドレス変換部は、複数のメモリモジュールにおけるワードの配置を所定サイズの正方行列の転置処理により並び換えるようにアドレスを変換する。接続部は、アドレス変換の結果に従って複数のメモリモジュールと複数のアクセスポートとを接続する。【選択図】図１
2017156948.tif 000002
【特許請求の範囲】
【請求項１】
ワード毎に巡回してアドレスが付与された複数のメモリモジュールにアクセスするための複数のアクセスポートと、
前記複数のメモリモジュールにおける前記ワードの配置を所定サイズの正方行列の転置処理により並び換えるように前記アドレスを変換する複数のアドレス変換部と、
前記アドレス変換の結果に従って前記複数のメモリモジュールと前記複数のアクセスポートとを接続する接続部と
を具備するメモリ制御装置。
【請求項２】
前記正方行列の前記所定サイズは２のべき乗である請求項１記載のメモリ制御装置。
【請求項３】
前記アドレス変換部は、前記アドレスにおいて前記所定サイズに応じたビットの入替えを行う請求項１記載のメモリ制御装置。
【請求項４】
前記接続部は、
前記複数のメモリモジュール毎に設けられて前記複数のアクセスポートからの前記アドレスを選択する複数のアドレスセレクタと、
前記複数のメモリモジュール毎に設けられて前記複数のアクセスポートからの書込みデータを選択する複数の書込みデータセレクタと、
前記複数のアクセスポート毎に設けられて前記複数のメモリモジュールからの読出しデータを選択する複数の読出しデータセレクタと、
前記アクセスポートからの前記アドレスに応じて前記複数のアドレスセレクタ、前記複数の書込みデータセレクタおよび前記複数の読出しデータセレクタを制御するセレクタ制御部とを備える
請求項１記載のメモリ制御装置。
【請求項５】
前記セレクタ制御部は、
前記複数のメモリモジュールにおけるアクセスの競合を検出する検出部と、
前記検出部によって検出されたアクセスの競合を調停して前記複数のアドレスセレクタ、前記複数の書込みデータセレクタおよび前記複数の読出しデータセレクタを制御する調停部とを備える
請求項４記載のメモリ制御装置。
【請求項６】
ワード毎に巡回してアドレスが付与された複数のメモリモジュールと、
前記複数のメモリモジュールにアクセスするための複数のアクセスポートと、
前記複数のメモリモジュールにおける前記ワードの配置を所定サイズの正方行列の転置処理により並び換えるように前記アドレスを変換する複数のアドレス変換部と、
前記アドレス変換に従って前記複数のメモリモジュールと前記アクセスポートとを接続する接続部と
を具備するメモリ装置。
【請求項７】
前記複数のメモリモジュールの各々はメモリバンクである請求項６記載のメモリ装置。
【請求項８】
ワード毎に巡回してアドレスが付与された複数のメモリモジュールと、
前記複数のメモリモジュールにアクセスするための複数のアクセスポートと、
前記複数のアクセスポートを介して前記複数のメモリモジュールに対するアクセスを要求する複数の演算器と、
前記複数のメモリモジュールにおける前記ワードの配置を所定サイズの正方行列の転置処理により並び換えるように前記アドレスを変換する複数のアドレス変換部と、
前記アドレス変換に従って前記複数のメモリモジュールと前記アクセスポートとを接続する接続部と
を具備する情報処理システム。
【請求項９】
ワード毎に巡回してアドレスが付与された複数のメモリモジュールに対する複数のアクセスについて、複数のアドレス変換部が、前記複数のメモリモジュールにおける前記ワードの配置を所定サイズの正方行列の転置処理により並び換えるように前記アドレスを変換するアドレス変換手順と、
接続部が、前記アドレス変換の結果に従って前記複数のメモリモジュールと前記アクセスの要求元とを接続する接続手順と
を具備するメモリ制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、メモリ装置に関する。詳しくは、複数のメモリモジュールを備えるメモリ装置、そのメモリ装置を制御するメモリ制御装置、そのメモリ装置を有する情報処理システム、および、これらにおける処理方法に関する。
【背景技術】
【０００２】
ＧＰＵ（Graphics Processing Unit）のように複数の演算処理スレッドが同時並列実行される並列演算装置では、複数スレッドに共有される共有メモリへの同時アクセスが発生する。この同時アクセスへの対処方法として、スレッド間のアクセスを調停し、メモリにアクセスできるスレッドをひとつに絞り込む方法が考えられる。しかし、アクセスが時間方向に直列化されることになるため、共有メモリアクセスのスループットが低下し，並列演算装置の性能低下につながる。このため，共有メモリを複数のメモリバンクに分割し、メモリアドレスに応じてアクセスをメモリバンクに振り分けて分散させることにより、共有メモリへの同時並列アクセスを可能にするのが一般的な対処方法である。
【０００３】
しかしながら、このようにアドレスに応じて複数バンクにアクセスを分散させても、複数のアクセスを完全に同時並列実行できるとは限らない。例えば、複数スレッドが一定のアクセスアドレス間隔で共有メモリにアクセスする場合は、その間隔次第では同じバンクに振り分けられることによりメモリバンクへのアクセスが衝突し、バンクコンフリクトが発生する。このバンクコンフリクトの調停のため、アクセスの直列化が必要になってしまう。このバンクコンフリクトへの対処方法として、アドレス変換によってメモリバンク間におけるアクセスを入れ替えるインターリーブによって、バンクコンフリクトを低減させる技術が知られている（例えば、特許文献１参照。）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開昭６２−０６５１４８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上述の従来技術では、簡単な回路によるアドレス変換によってメモリバンク間のインターリーブを行い、バンクコンフリクトを低減させている。しかしながら、その効果はアクセスアドレス間隔が２の累乗で、その範囲は２から２＾ｎ（ただし、２＾ｎはバンクの個数である。）の場合に限られ、バンクコンフリクト低減の効果が限定されてしまうという問題がある。
【０００６】
本技術はこのような状況に鑑みて生み出されたものであり、広範囲のアクセスアドレス間隔についてメモリにおけるバンクコンフリクトを防ぐことを目的とする。
【課題を解決するための手段】
【０００７】
本技術は、上述の問題点を解消するためになされたものであり、その第１の側面は、ワード毎に巡回してアドレスが付与された複数のメモリモジュールにアクセスするための複数のアクセスポートと、上記複数のメモリモジュールにおける上記ワードの配置を所定サイズの正方行列の転置処理により並び換えるように上記アドレスを変換する複数のアドレス変換部と、上記アドレス変換の結果に従って上記複数のメモリモジュールと上記複数のアクセスポートとを接続する接続部とを具備するメモリ制御装置およびそのメモリ制御方法である。これにより、外部のメモリモジュールにおけるワードの配置を正方行列の転置処理により並び換えるようにアドレス変換することにより、メモリモジュールにおける競合を回避するという作用をもたらす。
【０００８】
また、この第１の側面において、上記正方行列の上記所定サイズは２のべき乗であってもよい。一般に、メモリモジュールの数は２のべき乗に設定されることが想定されるため、これにより、転置処理のサイズに整合し易くなるという作用をもたらす。
【０００９】
また、この第１の側面において、上記アドレス変換部は、上記アドレスにおいて上記所定サイズに応じたビットの入替えを行うようにしてもよい。これにより、メモリモジュールにおけるワードの配置を正方行列の転置処理により並び換えるようにアドレス変換が行われるという作用をもたらす。
【００１０】
また、この第１の側面において、上記接続部は、上記複数のメモリモジュール毎に設けられて上記複数のアクセスポートからの上記アドレスを選択する複数のアドレスセレクタと、上記複数のメモリモジュール毎に設けられて上記複数のアクセスポートからの書込みデータを選択する複数の書込みデータセレクタと、上記複数のアクセスポート毎に設けられて上記複数のメモリモジュールからの読出しデータを選択する複数の読出しデータセレクタと、上記アクセスポートからの上記アドレスに応じて上記複数のアドレスセレクタ、上記複数の書込みデータセレクタおよび上記複数の読出しデータセレクタを制御するセレクタ制御部とを備えるようにしてもよい。これにより、メモリモジュールにおけるワードの配置を正方行列の転置処理により並び換えたアドレス変換に従って、複数のメモリモジュールと複数のアクセスポートとを接続するという作用をもたらす。
【００１１】
また、この第１の側面において、上記セレクタ制御部は、上記複数のメモリモジュールにおけるアクセスの競合を検出する検出部と、上記検出部によって検出されたアクセスの競合を調停して上記複数のアドレスセレクタ、上記複数の書込みデータセレクタおよび上記複数の読出しデータセレクタを制御する調停部とを備えるようにしてもよい。これにより、アドレス変換のみでは防ぎきれない競合についても調停により対処するという作用をもたらす。
【００１２】
また、本技術の第２の側面は、ワード毎に巡回してアドレスが付与された複数のメモリモジュールと、上記複数のメモリモジュールにアクセスするための複数のアクセスポートと、上記複数のメモリモジュールにおける上記ワードの配置を所定サイズの正方行列の転置処理により並び換えるように上記アドレスを変換する複数のアドレス変換部と、上記アドレス変換に従って上記複数のメモリモジュールと上記アクセスポートとを接続する接続部とを具備するメモリ装置である。これにより、メモリ装置内のメモリモジュールにおけるワードの配置を正方行列の転置処理により並び換えるようにアドレス変換することにより、メモリモジュールにおける競合を回避するという作用をもたらす。
【００１３】
また、この第２の側面において、上記複数のメモリモジュールの各々はメモリバンクであってもよい。これにより、メモリバンク構成のメモリ装置において、バンクコンフリクトを回避するという作用をもたらす。
【００１４】
また、本技術の第３の側面は、ワード毎に巡回してアドレスが付与された複数のメモリモジュールと、上記複数のメモリモジュールにアクセスするための複数のアクセスポートと、上記複数のアクセスポートを介して上記複数のメモリモジュールに対するアクセスを要求する複数の演算器と、上記複数のメモリモジュールにおける上記ワードの配置を所定サイズの正方行列の転置処理により並び換えるように上記アドレスを変換する複数のアドレス変換部と、上記アドレス変換に従って上記複数のメモリモジュールと上記アクセスポートとを接続する接続部とを具備する情報処理システムである。これにより、演算器からのアクセスに対して、メモリモジュールにおけるワードの配置を正方行列の転置処理により並び換えるようにアドレス変換することにより、メモリモジュールにおける競合を回避するという作用をもたらす。
【発明の効果】
【００１５】
本技術によれば、広範囲のアクセスアドレス間隔についてメモリにおけるバンクコンフリクトを防ぐことができるという優れた効果を奏し得る。なお、ここに記載された効果は必ずしも限定されるものではなく、本開示中に記載されたいずれかの効果であってもよい。
【図面の簡単な説明】
【００１６】
【図１】本技術の実施の形態におけるメモリ装置１００の全体構成の一例を示す図である。
【図２】本技術の実施の形態におけるクロスバー回路１２０の構成例を示す図である。
【図３】一般的なメモリバンク構成において、アクセスアドレス間隔が１ワードである場合のアクセス態様を示す図である。
【図４】一般的なメモリバンク構成において、アクセスアドレス間隔が３ワードである場合のアクセス態様を示す図である。
【図５】一般的なメモリバンク構成において、アクセスアドレス間隔が５ワードである場合のアクセス態様を示す図である。
【図６】一般的なメモリバンク構成において、アクセスアドレス間隔が２ワードである場合のアクセス態様を示す図である。
【図７】一般的なメモリバンク構成において、アクセスアドレス間隔が４ワードである場合のアクセス態様を示す図である。
【図８】一般的なメモリバンク構成において、アクセスアドレス間隔が６ワードである場合のアクセス態様を示す図である。
【図９】一般的なメモリバンク構成において、アクセスアドレス間隔が８ワードである場合のアクセス態様を示す図である。
【図１０】一般的なメモリバンク構成において、アクセスアドレス間隔が１０ワードである場合のアクセス態様を示す図である。
【図１１】本技術の実施の形態におけるアドレス変換による２×２の転置処理の例を示す図である。
【図１２】本技術の実施の形態におけるアドレス変換による４×４の転置処理の例を示す図である。
【図１３】本技術の実施の形態におけるアドレス変換による８×８の転置処理の例を示す図である。
【図１４】本技術の実施の形態における２×２の転置処理後の、アクセスアドレス間隔が２ワードである場合のアクセス態様を示す図である。
【図１５】本技術の実施の形態における４×４の転置処理後の、アクセスアドレス間隔が４ワードである場合のアクセス態様を示す図である。
【図１６】本技術の実施の形態における２×２の転置処理後の、アクセスアドレス間隔が６ワードである場合のアクセス態様を示す図である。
【図１７】本技術の実施の形態における８×８の転置処理後の、アクセスアドレス間隔が８ワードである場合のアクセス態様を示す図である。
【図１８】本技術の実施の形態における２×２の転置処理後の、アクセスアドレス間隔が１０ワードである場合のアクセス態様を示す図である。
【図１９】本技術の実施の形態のアドレス変換回路１８０における２×２の転置処理を行うためのアドレス変換の一例を示す図である。
【図２０】本技術の実施の形態のアドレス変換回路１８０における４×４の転置処理を行うためのアドレス変換の一例を示す図である。
【図２１】本技術の実施の形態のアドレス変換回路１８０における８×８の転置処理を行うためのアドレス変換の一例を示す図である。
【図２２】本技術の第２の実施の形態におけるセレクタ制御回路１３０の一構成例を示す図である。
【図２３】本技術の第２の実施の形態におけるアドレスとバンクとの関係例を示す図である。
【図２４】本技術の第２の実施の形態におけるアクセス元ポート情報の一例を示す図である。
【図２５】本技術の第２の実施の形態におけるバンクコンフリクト検出処理の処理手順例を示す流れ図である。
【図２６】本技術の第２の実施の形態におけるバンクコンフリクト判定処理（ステップＳ９２０）の処理手順例を示す流れ図である。
【図２７】本技術の第２の実施の形態におけるアクセスポート１９０毎のバンク１１０に対するリクエストの一例を示す図である。
【図２８】本技術の第２の実施の形態におけるバンクコンフリクトの検出結果の一例を示す図である。
【図２９】本技術の第２の実施の形態におけるバンクアクセススケジューリング処理の処理手順例を示す流れ図である。
【図３０】本技術の第２の実施の形態におけるバンクアクセススケジューリング処理の検出結果の一例を示す図である。
【図３１】本技術の実施の形態の第１の適用例におけるフィルタ処理の対象となる画像データの一例を示す図である。
【図３２】本技術の実施の形態の第１の適用例における画像データのバンク１１０に対する配置例を示す図である。
【図３３】本技術の実施の形態の第１の適用例における画像データに対するフィルタ処理対象の移動態様例を示す図である。
【図３４】本技術の実施の形態の第１の適用例における画像データに対するアクセス態様例を示す図である。
【図３５】４画素ごとの４並列フィルタ処理の一般的なメモリバンク構成におけるアクセス態様例を示す図である。
【図３６】本技術の実施の形態の第１の適用例のメモリバンク構成におけるアクセス態様を示す図である。
【図３７】本技術の実施の形態の第２の適用例におけるフィルタ処理の対象となる画像データの一例を示す図である。
【図３８】本技術の実施の形態の第２の適用例における画像データに対するアクセス態様例を示す図である。
【図３９】２画素ごとの８並列フィルタ処理の一般的なメモリバンク構成におけるアクセス態様例を示す図である。
【図４０】本技術の実施の形態の第２の適用例のメモリバンク構成におけるアクセス態様を示す図である。
【発明を実施するための形態】
【００１７】
以下、本技術を実施するための形態（以下、実施の形態と称する）について説明する。説明は以下の順序により行う。
１．第１の実施の形態（アドレス変換により転置を行う例）
２．第２の実施の形態（バンクコンフリクトを調停する例）
３．適用例（フィルタ処理への適用例）
【００１８】
＜１．第１の実施の形態＞
［メモリ装置の構成］
図１は、本技術の実施の形態におけるメモリ装置１００の全体構成の一例を示す図である。このメモリ装置１００は、８つのメモリバンク（以下、「バンク」と呼称する。）１１０および８つのアクセスポート１９０を備え、それぞれ８つの演算器２００に接続される。８つの演算器２００は、８つのアクセスポート１９０を介して８つのバンク１１０に対するアクセスを要求する。したがって、バンクコンフリクトを生じない限り、最大で同時に８つ分のアドレスやデータの入出力が行えるようになっている。
【００１９】
このメモリ装置１００は、８つのバンク１１０に加えて、クロスバー回路１２０と、８つのアドレス変換回路１８０とを備える。メモリ装置１００におけるデータアクセス単位は４バイトとし、この４バイトを１ワードとして各ワードにアドレスが割り振られていることを想定する。すなわち、８つのバンク１１０には、ワード毎に巡回してアドレスが付与される。
【００２０】
なお、ここでは８つの演算器２００に対し、８つのアクセスポート１９０および８つのバンク１１０を設けた例について示すが、これらの数値は一具体例であり、他の数値を適用してもよい。
【００２１】
バンク１１０は、データを格納するメモリである。書込みアクセスにおいては、クロスバー回路１２０からワードアドレスと書込みデータを受信して、そのワードアドレスの位置にデータを書き込む。読出しアクセスにおいては、クロスバー回路１２０からワードアドレスを受信して、そのワードアドレスの位置からデータを読み出し、クロスバー回路１２０にデータを送信する。なお、バンク１１０は、特許請求の範囲に記載のメモリモジュールの一例である。
【００２２】
アドレス変換回路１８０は、バンクコンフリクトを解消するために、バンク１１０をインターリーブさせるようにアドレス変換を行う回路である。アドレス変換の詳細については後述する。なお、アドレス変換回路１８０は、特許請求の範囲に記載のアドレス変換部の一例である。
【００２３】
アクセスポート１９０は、演算器２００からのアドレス、アドレッシングモード、および書込みデータの入力を受け付け、また、演算器２００に読出しデータを出力するための入出力ポートである。アクセスポート１９０は、アドレス変換回路１８０とクロスバー回路１２０と接続されている。演算器２００より入力されたアドレスとアドレッシングモードと書込みデータはアドレス変換回路１８０に送信され、クロスバー回路１２０から受信した読出しデータは演算器２００に出力される。
【００２４】
クロスバー回路１２０は、アドレス変換回路１８０と、アクセスポート１９０と、バンク１１０を相互に接続する回路である。クロスバー回路１２０の構成については、次図を参照して説明する。なお、クロスバー回路１２０は、特許請求の範囲に記載の接続部の一例である。
【００２５】
図２は、本技術の実施の形態におけるクロスバー回路１２０の構成例を示す図である。このクロスバー回路１２０は、アドレス変換回路１８０とアクセスポート１９０からのアドレスおよび書込みデータのバンク１１０への振分けと、バンク１１０からの読出しデータのアクセスポート１９０への振分けとを行う。クロスバー回路１２０は、セレクタ制御回路１３０、８つのアドレスセレクタ１２１、８つの書込みデータセレクタ１２２、および、８つの読出しデータセレクタ１２３を備える。
【００２６】
アドレスセレクタ１２１は、バンク１１０毎に設けられ、そのバンク１１０にアクセスする際のアドレスを選択する回路である。アドレスセレクタ１２１は、セレクタ制御回路１３０からの指示に基づいて、アドレスを供給するアドレス変換回路１８０を一つ選択し、自身に接続されているバンク１１０にアドレスを送信する。
【００２７】
書込みデータセレクタ１２２は、バンク１１０毎に設けられ、そのバンクへの書込みデータを選択する回路である。書込みデータセレクタ１２２は、セレクタ制御回路１３０からの指示に基づいて、アクセスポート１９０からの書込みデータを一つ選択し、自身に接続されているバンク１１０に書込みデータを送信する。
【００２８】
読出しデータセレクタ１２３は、アクセスポート１９０毎に設けられ、そのアクセスポート１９０に対するバンク１１０からの読出しデータを選択する回路である。読出しデータセレクタ１２３は、セレクタ制御回路１３０からの指示に基づいて、バンク１１０からの読出しデータを一つ選択し、自身に接続されているアクセスポート１９０に読出しデータを送信する。
【００２９】
セレクタ制御回路１３０は、上述の３種類のセレクタ１２１乃至１２３を制御する回路である。セレクタ制御回路１３０は、アドレス変換回路１８０からアドレスを受信すると、アドレスのビット０からビット２に示されるバンクアドレスを読み取り、アクセスポート１９０からアクセスされるバンクを識別する。そして、そのバンク識別結果に基づいて、アドレスセレクタ１２１に、アドレスの送信元となるアドレス変換回路１８０を指示する。また、セレクタ制御回路１３０は、書込みアクセスにおいては、バンク識別結果に基づいて、書込みデータセレクタ１２２に、書込みデータの送信元となるアクセスポートを指示する。また、読出しアクセスにおいては、バンク識別結果に基づいて、読出しデータセレクタ１２３に、読出しデータの送信元となるバンクを指示する。なお、セレクタ制御回路１３０は、特許請求の範囲に記載のセレクタ制御部の一例である。
【００３０】
このように、クロスバー回路１２０は、アドレス変換回路１８０によるアドレス変換の結果に従って複数のバンク１１０と複数のアクセスポート１９０とを接続する。
【００３１】
［バンクコンフリクトとアドレス変換］
上述のようなメモリバンク構成において、アクセスポート１９０からの各アクセスは、そのアドレス間隔次第では、バンク１１０に対してバンクコンフリクトを発生するおそれがある。以下では、その態様について説明する。
【００３２】
図３は、一般的なメモリバンク構成において、アクセスアドレス間隔が１ワードである場合のアクセス態様を示す図である。同図に示されるように、演算器からのメモリアクセスが全体として連続している場合、つまりアクセスアドレス間隔が１ワードの場合、全てのアクセスが別個のバンクに分散するため、バンクコンフリクトは必然的に発生しない。
【００３３】
なお、上述のように、８つのバンク１１０には、ワード毎に巡回してアドレスが付与されており、例えば、バンク＃１の先頭ワードには「０」、バンク＃２の先頭ワードには「１」、バンク＃８の先頭ワードには「７」のアドレスが付与される。また、バンク＃１の第２ワードには「８」、バンク＃２の第２ワードには「９」、バンク＃８の第２ワードには「１５」のアドレスが付与される。
【００３４】
図４は、一般的なメモリバンク構成において、アクセスアドレス間隔が３ワードである場合のアクセス態様を示す図である。図５は、一般的なメモリバンク構成において、アクセスアドレス間隔が５ワードである場合のアクセス態様を示す図である。これらの図に示されるように、１を超える奇数ワードにおいても、バンク数が２＾ｎ個であることにより、すべてのアクセスが別個のバンクに分散するため、バンクコンフリクトは必然的に発生しない。
【００３５】
図６は、一般的なメモリバンク構成において、アクセスアドレス間隔が２ワードである場合のアクセス態様を示す図である。図７は、一般的なメモリバンク構成において、アクセスアドレス間隔が４ワードである場合のアクセス態様を示す図である。図８は、一般的なメモリバンク構成において、アクセスアドレス間隔が６ワードである場合のアクセス態様を示す図である。図９は、一般的なメモリバンク構成において、アクセスアドレス間隔が８ワードである場合のアクセス態様を示す図である。図１０は、一般的なメモリバンク構成において、アクセスアドレス間隔が１０ワードである場合のアクセス態様を示す図である。
【００３６】
これらの図に示されるように、演算器からのメモリアクセスが全体として偶数ワードごとに断続している場合、複数のアクセスが同一バンクに重複するためバンクコンフリクトが発生する。そこで、アクセスアドレス間隔が偶数ワードである場合について、バンクコンフリクトを解消する方法を検討する。
【００３７】
図１１は、本技術の実施の形態におけるアドレス変換による２×２の転置処理の例を示す図である。図１２は、本技術の実施の形態におけるアドレス変換による４×４の転置処理の例を示す図である。図１３は、本技術の実施の形態におけるアドレス変換による８×８の転置処理の例を示す図である。
【００３８】
これらの図に示されるように、複数バンクの複数ワードを組み合わせて、２×２ワード、４×４ワードおよび８×８ワードの正方行列状のブロックを定義する。このブロックにおいて行列におけるところの転置を行うと、アクセスアドレス間隔により縦方向すなわち同一バンク内に並んでいたワードが、横方向すなわちバンクに分散して並ぶようになり、バンクコンフリクトが解消される。このように、アドレス変換によるブロック単位での転置というバンクインターリーブにより、バンクコンフリクトが解消されるという作用がもたらされる。
【００３９】
これらのアドレス変換は、アドレス変換回路１８０により行われる。すなわち、アドレス変換回路１８０は、複数のバンク１１０におけるワードの配置を所定サイズの正方行列の転置処理により並び換えるようにアドレスを変換する。この所定サイズは２のべき乗であり、例えば、以下に示すように、２×２、４×４、８×８などの転置処理が想定される。
【００４０】
以下では、このバンクインターリーブによって、アクセスアドレス間隔が２ワード、４ワード、６ワードおよび８ワードである場合に発生したバンクコンフリクトが解消される様子を説明する。
【００４１】
図１４は、本技術の実施の形態における２×２の転置処理後の、アクセスアドレス間隔が２ワードである場合のアクセス態様を示す図である。図６に示したように、アクセスアドレス間隔が２ワードの場合、バンク１、バンク３、バンク５、バンク７において２ワード分のバンクコンフリクトが発生する。これに対し、アドレス変換によって２×２の転置を行うと、コンフリクトしていた２ワードが別個のバンクに分散し、バンクコンフリクトが解消されることがわかる。
【００４２】
図１５は、本技術の実施の形態における４×４の転置処理後の、アクセスアドレス間隔が４ワードである場合のアクセス態様を示す図である。図７に示したように、バンク１、バンク５において４ワード分のバンクコンフリクトが発生する。これに対し、アドレス変換によって４×４の転置を行うと、コンフリクトしていた４ワードがすべて別個のバンクに分散し、バンクコンフリクトが解消されることがわかる。
【００４３】
図１６は、本技術の実施の形態における２×２の転置処理後の、アクセスアドレス間隔が６ワードである場合のアクセス態様を示す図である。図８に示したように、アクセスアドレス間隔が６ワードの場合、バンク１、バンク３、バンク５、バンク７において２ワード分のバンクコンフリクトが発生する。これに対し、アドレス変換によって２×２の転置を行うと、コンフリクトしていた２ワードが別個のバンクに分散し、バンクコンフリクトが解消されることがわかる。
【００４４】
図１７は、本技術の実施の形態における８×８の転置処理後の、アクセスアドレス間隔が８ワードである場合のアクセス態様を示す図である。図９に示したように、アクセスアドレス間隔が８ワードの場合、バンク１において８ワード分のバンクコンフリクトが発生する。これに対し、アドレス変換によって８×８の転置を行うと、コンフリクトしていた８ワードがすべて別個のバンクに分散し、バンクコンフリクトが解消されることがわかる。
【００４５】
図１８は、本技術の実施の形態における２×２の転置処理後の、アクセスアドレス間隔が１０ワードである場合のアクセス態様を示す図である。図１０に示したように、アクセスアドレス間隔が１０ワードの場合、バンク１、バンク３、バンク５、バンク７において２ワード分のバンクコンフリクトが発生する。これに対し、アドレス変換によって２×２の転置を行うと、コンフリクトしていた２ワードが別個のバンクに分散し、バンクコンフリクトが解消されることがわかる。
【００４６】
このような、バンクコンフリクトを解消するための、転置処理を実現するアドレス変換の具体例について、以下に説明する。アドレス変換回路１８０は、アクセスポート１９０よりアドレスとアドレッシングモードを受信し、アドレッシングモードとして指定されるバンクインターリーブモードに応じてアドレス変換を行い、変換後のアドレスをクロスバー回路１２０に送信する。
【００４７】
バンクインターリーブモードとしては、「ノンインターリーブ」、「２×２インターリーブ」、「４×４インターリーブ」および「８×８インターリーブ」の４種類の動作モードを想定する。ノンインターリーブモードは、アドレス変換を行わないモードである。２×２インターリーブモードは、アドレス変換による２×２の転置を行うモードである。４×４インターリーブモードは、アドレス変換による４×４の転置を行うモードである。８×８インターリーブモードは、アドレス変換による８×８の転置を行うモードである。すなわち、アドレス変換回路１８０においては、２のべき乗の単位でデータを転置させるアドレス変換が行われる。
【００４８】
図１９は、本技術の実施の形態のアドレス変換回路１８０における２×２の転置処理を行うためのアドレス変換の一例を示す図である。２×２インターリーブモードにおいては、アドレス変換回路１８０は、受信したアドレスにおいてビット０とビット３とを入れ替えるアドレス変換を行う。これにより、上述の２×２の転置処理が実現される。
【００４９】
図２０は、本技術の実施の形態のアドレス変換回路１８０における４×４の転置処理を行うためのアドレス変換の一例を示す図である。４×４インターリーブモードにおいては、アドレス変換回路１８０は、受信したアドレスにおいてビット０からビット１と、ビット３からビット４とを入れ替えるアドレス変換を行う。これにより、上述の４×４の転置処理が実現される。
【００５０】
図２１は、本技術の実施の形態のアドレス変換回路１８０における８×８の転置処理を行うためのアドレス変換の一例を示す図である。８×８インターリーブモードにおいては、アドレス変換回路１８０は、受信したアドレスにおいてビット０からビット２と、ビット３からビット５とを入れ替えるアドレス変換を行う。これにより、上述の８×８の転置処理が実現される。
【００５１】
このように、アドレス変換回路１８０は、複数のバンク１１０におけるワードの配置を所定サイズの正方行列の転置処理により並び換えるために、アドレスにおいて所定サイズに応じたビットの入替えを行うことによりアドレス変換を行う。
【００５２】
バンクインターリーブモードに応じて２のべき乗の単位でアドレス変換が施されたアドレスは、アドレス変換回路１８０からクロスバー回路１２０に送信される。クロスバー回路１２０においては、このアドレス変換が施されたアドレスに従って、３種類のセレクタ１２１乃至１２３の制御が行われる。これにより、バンクインターリーブモードに応じて、バンク１１０における物理的なワードの配置が変更される。
【００５３】
このように、本技術の第１の実施の形態によれば、複数のバンク１１０におけるワードの配置を正方行列の転置処理により並び換えるように、アドレス変換回路１８０においてアドレスを変換することにより、バンクコンフリクトを防ぐことができる。
【００５４】
＜２．第２の実施の形態＞
上述の第１の実施の形態では、２×２、４×４および８×８の２のべき乗の単位で、アドレス変換によりデータを転置させることにより、様々なアクセスアドレス間隔においてバンクコンフリクトを解消できることを示した。しかしながら、すべての演算器２００のアドレス間隔が等間隔でないなど、上述のバンクインターリーブによってもバンクコンフリクトを解消できない場合もある。このような場合、バンクコンフリクトするアクセスが時間的に前後するようにプログラムを作成するなど、ソフトウェア的にバンクコンフリクトを解消することができるが、その一方でプログラム作成の容易性が低下する。このため、メモリ装置にバンクコンフリクトを調停する回路を追加し、上述のようなバンクインターリーブによっても解消不可能なバンクコンフリクトに対してハードウェアにより対応する例について、以下に説明する。
【００５５】
なお、この第２の実施の形態のメモリ装置の基本構成は、上述の第１の実施の形態と同様である。クロスバー回路１２０のセレクタ制御回路１３０においてバンクコンフリクトを検出して、それらを調停する機能を備える点が、上述の第１の実施の形態と異なる。したがって、以下ではこの点について詳しく説明する。
【００５６】
［メモリ装置の構成］
図２２は、本技術の第２の実施の形態におけるセレクタ制御回路１３０の一構成例を示す図である。このセレクタ制御回路１３０は、バンクコンフリクト検出回路１３１と、バンクアクセススケジューリング回路１３２とを備える。
【００５７】
バンクコンフリクト検出回路１３１は、バンク１１０のそれぞれについてアクセスの競合、すなわちバンクコンフリクトの発生を検出する回路である。バンクコンフリクト検出回路１３１は、アドレス変換回路１８０からアドレスを受信すると、バンク１１０のそれぞれについてバンクコンフリクト発生の有無を判定し、その判定結果をバンクアクセススケジューリング回路１３２に供給する。なお、バンクコンフリクト検出回路１３１は、特許請求の範囲に記載の検出部の一例である。
【００５８】
バンクアクセススケジューリング回路１３２は、バンクコンフリクト検出回路１３１の判定結果に基づいて、アクセスの競合を調停して、アクセス順序をスケジューリングする回路である。バンクアクセススケジューリング回路１３２は、バンクコンフリクト検出回路１３１から判定結果を受信すると、バンクコンフリクトが発生しているバンクについて、該当バンクへの複数のアクセスを時間方向に並べるスケジューリングを行う。バンクアクセススケジューリング回路１３２は、そのスケジューリング結果に基づいて、アドレスセレクタ１２１にアドレスの送信元を指示する。また、書込みアクセスにおいては、書込みデータセレクタ１２２にデータの送信元を指示する。また、読出しアクセスにおいて読出しデータセレクタ１２３にデータの送信元バンクを指示する。なお、バンクアクセススケジューリング回路１３２は、特許請求の範囲に記載の調停部の一例である。
【００５９】
［バンクコンフリクトの検出］
図２３は、本技術の第２の実施の形態におけるアドレスとバンクとの関係例を示す図である。
【００６０】
バンクコンフリクト検出回路１３１がアドレス変換回路１８０から受信するアドレスにおいて、ビット０乃至２はアクセス対象のバンクの番号を表し、ビット３乃至Ｎはバンク内のワードアドレスを表している。バンクコンフリクト検出回路１３１は、受信したアドレスにおけるバンク番号およびバンク内ワードアドレスを参照して、バンクコンフリクトの有無を検出する。
【００６１】
なお、ここで、バンク番号が３ビットで、バンク内ワードアドレスが（Ｎ−３）ビットであるのは、この実施の形態におけるメモリ装置のバンク数を８個と想定しているからである。バンク番号とバンク内ワードアドレスのビット幅はメモリ装置のバンク数に応じて変化する。
【００６２】
図２４は、本技術の第２の実施の形態におけるアクセス元ポート情報の一例を示す図である。
【００６３】
バンクコンフリクト検出回路１３１は、バンクコンフリクトの有無を検出すると、その検出結果とともにアドレスに対応するアクセス元ポート情報をバンクアクセススケジューリング回路１３２に通知する。アクセス元ポート情報は、ビットマップ形式で表現され、「０」に対応するアクセスポートからのアクセスは無いことを表し、「１」に対応するアクセスポートからのアクセスが有ることを表す。
【００６４】
バンクアクセススケジューリング回路１３２は、ビットマップで「１」がセットされているアクセス元ポートに対応する読出しデータセレクタ１２３に対して、同時にデータの受信元バンクを指示することにより、読出しデータをポートに出力させる。これにより、同一アドレスへの複数のリードアクセスをひとつにまとめることができ、メモリアクセスの効率を向上させることができる。
【００６５】
図２５は、本技術の第２の実施の形態におけるバンクコンフリクト検出処理の処理手順例を示す流れ図である。
【００６６】
バンクコンフリクト検出回路１３１は、アドレス変換回路１８０からアドレスを受信すると、アドレスのバンク番号に基づいてアドレスをバンクごとに分類する（ステップＳ９１１）。そして、バンクコンフリクト検出回路１３１は、全てのバンクについて、分類したアドレスに基づいてバンクコンフリクトの発生の有無を判定する（ステップＳ９２０）。全てのバンクについて判定結果が得られると、バンクコンフリクト検出回路１３１は、バンクごとの判定結果をバンクアクセススケジューリング回路１３２に通知する（ステップＳ９１３）。
【００６７】
図２６は、本技術の第２の実施の形態におけるバンクコンフリクト判定処理（ステップＳ９２０）の処理手順例を示す流れ図である。
【００６８】
メモリアクセスが複数でない場合は（ステップＳ９２１：Ｎｏ）、バンクコンフリクトは発生し得ないため「コンフリクトなし」と判定される（ステップＳ９３１）。一方、メモリアクセスが複数である場合は（ステップＳ９２１：Ｙｅｓ）、バンクコンフリクトが発生する可能性があるため、以下の判定基準により判定処理が行われる。
【００６９】
メモリアクセスの全てがリードアクセスである場合（ステップＳ９２２：Ｙｅｓ）、それらのバンク内ワードアドレスが全て同一であるか否かが判定される（ステップＳ９２３）。バンク内ワードアドレスが全て同一ではない、すなわち何れかのワードアドレスが他と異なる場合には（ステップＳ９２３：Ｎｏ）、アドレスを同時に一つしか受け取れないバンクに対して複数のアドレスを渡そうとしていることになる。そのため、「コンフリクトあり」と判定される（ステップＳ９３２）。
【００７０】
バンク内ワードアドレスが全て同一である場合（ステップＳ９２３：Ｙｅｓ）、同様に一つのバンクに複数のアドレスを渡そうとしていることから、バンクコンフリクトの状態にあるとして「コンフリクトあり」と判定される（ステップＳ９３３）。
【００７１】
ただし、この場合（ステップＳ９２３：Ｙｅｓ）、アドレスがすべて同一であることを利用して、バンクに渡すアドレスをひとつにまとめることにより「コンフリクトなし」と判定することもできる（ステップＳ９３４）。すなわち、１つのバンク１１０からのデータをクロスバー回路１２０によって複数のアクセスポート１９０に分配することによって同時アクセスが可能となる。これは、複数の演算器２００が同じデータをメモリ装置１００に要求した場合に生じ得る。また、例えば、バンク１１０のデータ幅が８バイトで、アクセスポート１９０のデータ幅が４バイトである場合に、一方の演算器２００に上位４バイトを供給し、他方の演算器２００に下位４バイトを供給する、といった状況においても適用可能である。ステップＳ９３３の判定をして同一アドレスへのリードアクセスを複数回行うよりも、アドレスへの複数のリードアクセスをひとつにまとめることを前提としてステップＳ９３４の判定をすれば、メモリアクセスの効率を向上させることができる。
【００７２】
メモリアクセスの全てがライトアクセスの場合（ステップＳ９２４：Ｙｅｓ）、それらのバンク内ワードアドレスが全て同一でないときはもちろんのこと、バンク内ワードアドレスが全て同一であっても書込みデータが異なる可能性がある。したがって、ライトアクセスのアドレスを一つにまとめることはできないため、一つのバンクに複数のアドレスを渡そうとすることになり、「コンフリクトあり」と判定される（ステップＳ９３５）。
【００７３】
一方、リードアクセスとライトアクセスが混在している場合は（ステップＳ９２４：Ｎｏ）、それらのバンク内ワードアドレスにかかわらずリードアクセスとライトアクセスという異なる種別のアクセスを同時に行うことはできない。したがって、この場合には「コンフリクトあり」と判定される（ステップＳ９３６）。
【００７４】
図２７は、本技術の第２の実施の形態におけるアクセスポート１９０毎のバンク１１０に対するリクエストの一例を示す図である。この例では、８つのアクセスポート１９０からそれぞれのバンク１１０に対してリードアクセスまたはライトアクセスのリクエストが出力される状況を示している。バンクコンフリクト検出回路１３１は、これらのアクセスポート１９０からのリクエストを参照して、バンクコンフリクトの有無を検出する。
【００７５】
図２８は、本技術の第２の実施の形態におけるバンクコンフリクトの検出結果の一例を示す図である。この例では、バンク＃８に対してアクセスポート＃２、＃３および＃７からのリクエストが競合しており、バンク＃８においてバンクコンフリクトが発生していることを示している。
【００７６】
図２９は、本技術の第２の実施の形態におけるバンクアクセススケジューリング処理の処理手順例を示す流れ図である。
【００７７】
バンクアクセススケジューリング回路１３２は、バンクコンフリクト検出回路１３１から判定結果を受信する（ステップＳ９５１）。バンクアクセススケジューリング回路１３２は、バンクコンフリクトが発生しているバンクについて、該当バンクへの複数のアクセスを時間方向に並べるスケジューリングを行い（ステップＳ９５２）、スケジューリング結果を生成する（ステップＳ９５３）。
【００７８】
バンクアクセススケジューリング回路１３２は、そのスケジューリング結果に基づいて、アドレスセレクタ１２１にアドレスの送信元を指示する（ステップＳ９５４）。また、バンクアクセススケジューリング回路１３２は、そのスケジューリング結果に基づいて、書込みアクセスにおいて書込みデータセレクタ１２２にデータの送信元を指示する（ステップＳ９５５）。また、バンクアクセススケジューリング回路１３２は、そのスケジューリング結果に基づいて、読出しアクセスにおいて読出しデータセレクタ１２３にデータの送信元バンクを指示する（ステップＳ９５６）。
【００７９】
図３０は、本技術の第２の実施の形態におけるバンクアクセススケジューリング処理の検出結果の一例を示す図である。この例では、上述のバンクコンフリクトの検出結果においてバンク＃８に対してリクエストが競合していたアクセスポート＃２、＃３および＃７について、それぞれのリクエストを３サイクルかけて逐次に実行するようスケジューリングしている。
【００８０】
このように、第２の実施の形態では、バンクコンフリクト検出回路１３１およびバンクアクセススケジューリング回路１３２によって、バンクコンフリクトを生じているアクセスのみ複数サイクルかけて逐次実行することにより、バンクコンフリクトを調停する。これにより、転置処理のみでは防ぎきれないバンクコンフリクトに対処して、バンクアクセスのスループット低下を最小限に抑えることができる。このとき、バンクコンフリクトを生じていないアクセスについては、そのまま同一サイクル内で並列実行することができる。
【００８１】
＜３．適用例＞
上述の実施の形態ではメモリ装置１００の構成について説明したが、以下では、各インターリーブモードのソフトウェアによる具体的な適用例として、デジタル画像処理におけるフィルタ処理に適用した場合の例について説明する。デジタル画像処理における平滑化や先鋭化などの空間フィルタ処理では、異なる位置の複数画素について同時並列的にフィルタ演算を行うことができるため、フィルタ処理の並列化により効果的に画像処理を高速化することができる。
【００８２】
［第１の適用例（４画素ごとの４並列フィルタ処理）］
図３１は、本技術の実施の形態の第１の適用例におけるフィルタ処理の対象となる画像データの一例を示す図である。この画像データにおいて、４画素ごとに短冊状の領域に分割し、その領域ごとに係数が「１／９」の３×３画素の平均化フィルタを適用することを想定する。このとき、各領域に対して４つの演算器２００のうち１つずつが割り当てられる。したがって、領域間で同時に４並列により３×３画素の平均化フィルタの演算が行われる。
【００８３】
図３２は、本技術の実施の形態の第１の適用例における画像データのバンク１１０に対する配置例を示す図である。画像データの各画素は、ラスタスキャンの順序によって、メモリ装置１００の各ワードに格納される。したがって、隣接するデータは異なるバンク１１０にまたがるように配置される。
【００８４】
図３３は、本技術の実施の形態の第１の適用例における画像データに対するフィルタ処理対象の移動態様例を示す図である。３×３画素の平均化フィルタは、中央の画素を基準として、４画素の幅の短冊状の領域内をラスタスキャンの順序で移動していく。このとき、平均化フィルタの中央の画素を基準としているため、平均化フィルタの左右は短冊状の領域からはみ出ることがあり得る。
【００８５】
図３４は、本技術の実施の形態の第１の適用例における画像データに対するアクセス態様例を示す図である。３×３画素の平均化フィルタが同図の位置において処理を行う場合、３×３画素のうち左上の画素のアドレスは、「１８」、「２２」、「２６」および「３０」となる。平均化フィルタの演算を同時並列に行う場合、これら４つのアドレスに対してリードアクセスが必要になる。
【００８６】
図３５は、４画素ごとの４並列フィルタ処理の一般的なメモリバンク構成におけるアクセス態様例を示す図である。すなわち、本技術の実施の形態によるバンクインターリーブを行わずに、画素のアドレス「１８」、「２２」、「２６」および「３０」に対するアクセスを行うと、バンク＃３および＃７においてバンクコンフリクトが発生する。
【００８７】
図３６は、本技術の実施の形態の第１の適用例のメモリバンク構成におけるアクセス態様を示す図である。この第１の適用例では、４画素ごとの領域分割であり、各フィルタ間でのアクセスアドレス間隔が４ワードになる。したがって、４×４の転置処理を伴う４×４インターリーブモードによってバンクインターリーブを行うと、バンクコンフリクトの発生が解消される。すなわち、バンク＃３、＃４、＃７および＃８において４並列のアクセスが行われ、４つの全てのフィルタ処理について同時にメモリ装置１００にアクセスすることができるようになる。
【００８８】
［第２の適用例（２画素ごとの８並列フィルタ処理）］
図３７は、本技術の実施の形態の第２の適用例におけるフィルタ処理の対象となる画像データの一例を示す図である。この例では、２画素ごとに短冊状の領域に分割し、領域ごとに係数が「１／９」の３×３画素の平均化フィルタを、８つの演算器２００によって並列に実行することを想定する。このとき、各領域に対して８つの演算器２００のうち１つずつが割り当てられる。したがって、領域間で同時に８並列により３×３画素の平均化フィルタの演算が行われる。
【００８９】
なお、この第２の適用例においては、画像データのメモリ装置１００への格納形態やフィルタの領域内の移動形態は第１の適用例であり、フィルタ処理の速度を上げるために並列度を上げたことになる。ただし、上述の第１の適用例において、平均化フィルタの間では同時に参照対象となる画素データの重複は発生しなかった。これに対して、この第２の適用例においては、同図に示すように平均化フィルタ６１１と隣り合う平均化フィルタ６１２との間で同時に参照対象となる画素データの重複が生じ得る。
【００９０】
図３８は、本技術の実施の形態の第２の適用例における画像データに対するアクセス態様例を示す図である。３×３画素の平均化フィルタが同図の位置において処理を行う場合、３×３画素のうち左上の画素のアドレスは、「１８」、「２０」、「２２」、「２４」、「２６」、「２８」、「３０」および「３２」となる。平均化フィルタの演算を同時並列に行う場合、これら８つのアドレスに対してリードアクセスが必要になる。
【００９１】
図３９は、２画素ごとの８並列フィルタ処理の一般的なメモリバンク構成におけるアクセス態様例を示す図である。すなわち、バンクインターリーブを行わずに、画素のアドレス「１８」、「２０」、「２２」、「２４」、「２６」、「２８」、「３０」および「３２」に対するアクセスを行うと、バンク＃１、＃３、＃５および＃７においてバンクコンフリクトが発生する。
【００９２】
図４０は、本技術の実施の形態の第２の適用例のメモリバンク構成におけるアクセス態様を示す図である。この第２の適用例では、２画素ごとの領域分割であり、各フィルタ間でのアクセスアドレス間隔が２ワードになる。したがって、２×２の転置処理を伴う２×２インターリーブモードによってバンクインターリーブを行うと、バンクコンフリクトの発生が解消される。すなわち、バンク＃１乃至＃８において８並列のアクセスが行われ、８つの全てのフィルタ処理について同時にメモリ装置１００にアクセスすることができるようになる。
【００９３】
このように、バンクインターリーブモードについては、ソフトウェアにおけるデータのアクセス形態により、最適なモードが決定されるため、ソフトウェアのプログラムにモード指定を組み込んだ上でバンクインターリーブを利用することが想定される。
【００９４】
なお、上述の実施の形態は本技術を具現化するための一例を示したものであり、実施の形態における事項と、特許請求の範囲における発明特定事項とはそれぞれ対応関係を有する。同様に、特許請求の範囲における発明特定事項と、これと同一名称を付した本技術の実施の形態における事項とはそれぞれ対応関係を有する。ただし、本技術は実施の形態に限定されるものではなく、その要旨を逸脱しない範囲において実施の形態に種々の変形を施すことにより具現化することができる。
【００９５】
また、上述の実施の形態において説明した処理手順は、これら一連の手順を有する方法として捉えてもよく、また、これら一連の手順をコンピュータに実行させるためのプログラム乃至そのプログラムを記憶する記録媒体として捉えてもよい。この記録媒体として、例えば、ＣＤ（Compact Disc）、ＭＤ（MiniDisc）、ＤＶＤ（Digital Versatile Disc）、メモリカード、ブルーレイディスク（Blu-ray（登録商標）Disc）等を用いることができる。
【００９６】
なお、本明細書に記載された効果はあくまで例示であって、限定されるものではなく、また、他の効果があってもよい。
【００９７】
なお、本技術は以下のような構成もとることができる。
（１）ワード毎に巡回してアドレスが付与された複数のメモリモジュールにアクセスするための複数のアクセスポートと、
前記複数のメモリモジュールにおける前記ワードの配置を所定サイズの正方行列の転置処理により並び換えるように前記アドレスを変換する複数のアドレス変換部と、
前記アドレス変換の結果に従って前記複数のメモリモジュールと前記複数のアクセスポートとを接続する接続部と
を具備するメモリ制御装置。
（２）前記正方行列の前記所定サイズは２のべき乗である前記（１）に記載のメモリ制御装置。
（３）前記アドレス変換部は、前記アドレスにおいて前記所定サイズに応じたビットの入替えを行う前記（１）または（２）に記載のメモリ制御装置。
（４）前記接続部は、
前記複数のメモリモジュール毎に設けられて前記複数のアクセスポートからの前記アドレスを選択する複数のアドレスセレクタと、
前記複数のメモリモジュール毎に設けられて前記複数のアクセスポートからの書込みデータを選択する複数の書込みデータセレクタと、
前記複数のアクセスポート毎に設けられて前記複数のメモリモジュールからの読出しデータを選択する複数の読出しデータセレクタと、
前記アクセスポートからの前記アドレスに応じて前記複数のアドレスセレクタ、前記複数の書込みデータセレクタおよび前記複数の読出しデータセレクタを制御するセレクタ制御部とを備える
前記（１）から（３）のいずれかに記載のメモリ制御装置。
（５）前記セレクタ制御部は、
前記複数のメモリモジュールにおけるアクセスの競合を検出する検出部と、
前記検出部によって検出されたアクセスの競合を調停して前記複数のアドレスセレクタ、前記複数の書込みデータセレクタおよび前記複数の読出しデータセレクタを制御する調停部とを備える
前記（４）に記載のメモリ制御装置。
（６）ワード毎に巡回してアドレスが付与された複数のメモリモジュールと、
前記複数のメモリモジュールにアクセスするための複数のアクセスポートと、
前記複数のメモリモジュールにおける前記ワードの配置を所定サイズの正方行列の転置処理により並び換えるように前記アドレスを変換する複数のアドレス変換部と、
前記アドレス変換に従って前記複数のメモリモジュールと前記アクセスポートとを接続する接続部と
を具備するメモリ装置。
（７）前記複数のメモリモジュールの各々はメモリバンクである前記（６）に記載のメモリ装置。
（８）ワード毎に巡回してアドレスが付与された複数のメモリモジュールと、
前記複数のメモリモジュールにアクセスするための複数のアクセスポートと、
前記複数のアクセスポートを介して前記複数のメモリモジュールに対するアクセスを要求する複数の演算器と、
前記複数のメモリモジュールにおける前記ワードの配置を所定サイズの正方行列の転置処理により並び換えるように前記アドレスを変換する複数のアドレス変換部と、
前記アドレス変換に従って前記複数のメモリモジュールと前記アクセスポートとを接続する接続部と
を具備する情報処理システム。
（９）ワード毎に巡回してアドレスが付与された複数のメモリモジュールに対する複数のアクセスについて、複数のアドレス変換部が、前記複数のメモリモジュールにおける前記ワードの配置を所定サイズの正方行列の転置処理により並び換えるように前記アドレスを変換するアドレス変換手順と、
接続部が、前記アドレス変換の結果に従って前記複数のメモリモジュールと前記アクセスの要求元とを接続する接続手順と
を具備するメモリ制御方法。
【符号の説明】
【００９８】
１００  メモリ装置
１１０  メモリバンク
１２０  クロスバー回路
１２１  アドレスセレクタ
１２２  書込みデータセレクタ
１２３  読出しデータセレクタ
１３０  セレクタ制御回路
１３１  バンクコンフリクト検出回路
１３２  バンクアクセススケジューリング回路
１８０  アドレス変換回路
１９０  アクセスポート
２００  演算器
【図１】
2017156948.tif 000003
【図２】
2017156948.tif 000004
【図３】
2017156948.tif 000005
【図４】
2017156948.tif 000006
【図５】
2017156948.tif 000007
【図６】
2017156948.tif 000008
【図７】
2017156948.tif 000009
【図８】
2017156948.tif 000010
【図９】
2017156948.tif 000011
【図１０】
2017156948.tif 000012
【図１１】
2017156948.tif 000013
【図１２】
2017156948.tif 000014
【図１３】
2017156948.tif 000015
【図１４】
2017156948.tif 000016
【図１５】
2017156948.tif 000017
【図１６】
2017156948.tif 000018
【図１７】
2017156948.tif 000019
【図１８】
2017156948.tif 000020
【図１９】
2017156948.tif 000021
【図２０】
2017156948.tif 000022
【図２１】
2017156948.tif 000023
【図２２】
2017156948.tif 000024
【図２３】
2017156948.tif 000025
【図２４】
2017156948.tif 000026
【図２５】
2017156948.tif 000027
【図２６】
2017156948.tif 000028
【図２７】
2017156948.tif 000029
【図２８】
2017156948.tif 000030
【図２９】
2017156948.tif 000031
【図３０】
2017156948.tif 000032
【図３１】
2017156948.tif 000033
【図３２】
2017156948.tif 000034
【図３３】
2017156948.tif 000035
【図３４】
2017156948.tif 000036
【図３５】
2017156948.tif 000037
【図３６】
2017156948.tif 000038
【図３７】
2017156948.tif 000039
【図３８】
2017156948.tif 000040
【図３９】
2017156948.tif 000041
【図４０】
2017156948.tif 000042