(57)【要約】【課題】ＤＭＡマスタのメモリアクセス順序をアドレス領域の切り換え回数が少なくなるよう並び替え、効率的なＤＭＡ転送を行うメモリアクセス制御装置を提供すること。【解決手段】ＤＭＡマスタと、前記ＤＭＡマスタがアクセス可能なアドレス空間より大きいアドレス空間を有するメモリと、前記ＤＭＡマスタがアクセス可能なアドレス空間から前記メモリのアドレス空間へアドレスを拡張するアドレス拡張部と、を備え、前記アドレス拡張部は、ＤＭＡマスタのメモリアクセスの順番を並び替えるメモリアクセスソート部を有し、前記メモリアクセスソート部は、前記ディスクリプタ情報に応じて、ＤＭＡマスタのメモリアクセスの順番を並び替えることを特徴とする。【選択図】図１
2020035264.tif 000002
【特許請求の範囲】
【請求項１】
ＤＭＡマスタと、
前記ＤＭＡマスタがアクセス可能なアドレス空間より大きいアドレス空間を有するメモリと、
前記ＤＭＡマスタがアクセス可能なアドレス空間から前記メモリのアドレス空間へアドレスを拡張するアドレス拡張部と、を備え、
前記アドレス拡張部は、前記ＤＭＡマスタが前記メモリより取得するデータがディスクリプタ情報であるか否かを判別するディスクリプタ情報判別部と、
前記ディスクリプタ情報判別部にて判別されたディスクリプタ情報を格納するディスクリプタ情報格納部と、
前記ＤＭＡマスタがメモリアクセスの際に発行するアドレス信号に前記ディスクリプタ情報格納部に格納した前記ディスクリプタ情報内のアドレス領域情報を付与し、前記ＤＭＡマスタがアクセスする前記メモリ上のアドレス領域を選択するアドレス領域制御部と、
ＤＭＡマスタのメモリアクセスの順番を並び替えるメモリアクセスソート部と、を有し、
前記メモリアクセスソート部は、前記ディスクリプタ情報に応じて、ＤＭＡマスタのメモリアクセスの順番を並び替えることを特徴とするメモリアクセス制御装置。
【請求項２】
前記メモリアクセスソート部は、前記ディスクリプタ情報格納部に、同一の前記アドレス領域情報が記載されている前記ディスクリプタ情報がある場合、前記同一の前記アドレス領域情報が記載されている前記ディスクリプタ情報が連続するようメモリアクセスの順序を並び替えることを特徴とする請求項１に記載のメモリアクセス制御装置。
【請求項３】
前記ディスクリプタ情報には、前記ＤＭＡマスタが転送するデータの、前記メモリ上のアドレスおよび転送量が含まれていることを特徴とする請求項１又は２に記載のメモリアクセス制御装置。
【請求項４】
前記アドレス拡張部は、前記ＤＭＡマスタが前記ディスクリプタ情報の配置されているアドレスを発行した場合、前記ディスクリプタ情報のアドレス領域情報を格納するディスクリプタアクセス情報格納部をさらに有し、
前記メモリアクセスソート部は、前記ディスクリプタ情報格納部に格納されている前記ディスクリプタ情報と、前記ディスクリプタアクセス情報格納部に格納されている前記アドレス領域情報に応じて、ＤＭＡマスタのメモリアクセスの順番を並び替えることを特徴とする請求項１乃至３の何れか１項に記載のメモリアクセス制御装置。
【請求項５】
前記アドレス拡張部は、前記ＤＭＡマスタがひとつの前記ディスクリプタ情報を用いて複数の前記アドレス領域に跨るメモリアクセスを行う場合、前記メモリアクセスおよび前記ディスクリプタ情報をアドレス領域ごとに分割するメモリアクセス分割部をさらに有し、前記メモリアクセスソート部は、前記ディスクリプタ情報格納部に格納されている前記メモリアクセス分割部にて分割された前記ディスクリプタ情報を含む前記ディスクリプタ情報に応じて、ＤＭＡマスタのメモリアクセスの順番を並び替えることを特徴とする請求項１乃至４の何れか１項に記載のメモリアクセス制御装置。
【請求項６】
前記ＤＭＡマスタは、前記メモリアクセスの際に発行するアドレス信号に識別番号を付与するアドレス識別番号付与部を有し、
前記メモリは、前記ＤＭＡマスタから発行されたアドレス情報に付与されている識別番号を、前記ＤＭＡマスタへ転送するデータへ付与するデータ識別番号付与部を有し、
前記ＤＭＡマスタは、アドレス識別番号とデータ識別番号によって、前記アドレス情報と前記データの順序が関連付けられることを特徴とする請求項１乃至５の何れか１項に記載のメモリアクセス制御装置。
【請求項７】
前記ディスクリプタ情報判別部は、前記ＤＭＡマスタから発行されるアドレス信号が前記ディスクリプタ情報を示すアドレスであった場合、前記メモリアクセスによって前記ＤＭＡマスタが取得するデータが、前記ディスクリプタ情報であると判別することを特徴とする請求項１乃至６の何れか１項に記載のメモリアクセス制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリアクセス制御装置に関する。
【背景技術】
【０００２】
半導体集積回路において、画像データ等の処理を行うデータ処理モジュールや、半導体集積回路外部のデバイスと通信を行うＩ／Ｏモジュール等が、ＤＲＡＭ（Dynamic Random Access Memory）に代表されるメモリにアクセスする場合、ＤＭＡ（Direct Memory Access）が多く用いられる。さらに、ＤＭＡによってメモリ上の非連続的なアドレスにアクセスする場合、ディスクリプタ情報を用いたＤＭＡが多く用いられる。ディスクリプタ情報には、メモリ上の転送開始アドレスおよびデータ転送量が所定の形式で記載されている。
【０００３】
ＤＭＡマスタはデータ転送に先立ってディスクリプタ情報をメモリから読み出し、読み出したディスクリプタ情報に記載された転送開始アドレスおよびデータ転送量に従って、ＤＭＡによるデータ転送を行う。ディスクリプタ情報の読み出しとデータ転送を繰り返すことで、メモリ上の非連続的なアドレスに対しても、ＣＰＵが介在することなくＤＭＡが可能となる。また、ディスクリプタ情報はＣＰＵによって所定のメモリアドレスに配置されるのが一般的である。
【０００４】
一方で、近年の半導体プロセスの微細化による半導体集積回路の高性能化により、半導体集積回路が処理するデータ量が増加傾向にある。また、処理するデータ量の増加に伴い、半導体集積回路が備えるメモリ容量も増加傾向にある。すると、例えばＤＭＡマスタが過去の設計資産の流用であった場合などにおいて、ＤＭＡマスタが指定可能なアドレス空間に対し、メモリの持つアドレス空間の方が大きい構成となる場合がある。
【０００５】
その場合、メモリの持つアドレス空間を複数のアドレス領域に分割し、ＤＭＡマスタとメモリコントローラ間に、ＤＭＡマスタがアクセス可能なアドレス領域を選択するアドレス拡張部を挿入する。ここでのアドレス領域の容量は、ＤＭＡマスタの持つアドレス空間の容量と等しい。アドレス拡張部は、ＤＭＡマスタがデータ転送の際にメモリへ発行するアドレスに対してアドレス領域を選択する信号を付与することで、ＤＭＡマスタがメモリの持つアドレス空間全てにアクセス可能となる。
【０００６】
しかしながら、ＤＭＡマスタがアクセスするアドレス領域がメモリアクセスの度に異なる場合、ＤＭＡマスタはアドレス拡張部にて選択されているアドレス領域にのみアクセス可能である。そのため、データ転送が行われているアドレス領域とは異なるアドレス領域へデータ転送の要求を発行できない。
【０００７】
特に、ＤＭＡマスタがメモリより読み出したディスクリプタ情報に基づいて、複数のメモリアクセス要求をメモリに対して先行発行したい場合、各アドレス領域へのメモリアクセスが完了するまで異なるアドレス領域へのメモリアクセス要求の先行発行が行えない。従って、アドレス領域が頻繁に切り替わるデータ転送を行うと、アドレス領域切り換えの際にデータ転送の要求が待たされてしまうため、メモリの帯域が劣化してしまう。
【０００８】
そこで、特許文献１に参照されるように、ＤＭＡマスタのメモリアクセス順序を入れ替え、転送効率の劣化を防ぐ発明がなされている。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２０１３−２０４５０号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかしながら、特許文献１では、ＤＭＡマスタが指定可能なアドレス空間に対してメモリの持つアドレス空間の方が大きい構成においては、ディスクリプタ情報に基づいたメモリアクセス要求を、データ転送が行われているアドレス領域と異なるアドレス領域へ先行発行することができないため、転送効率は依然として劣化してしまう。
【００１１】
本発明は、上記の問題点に鑑み、ＤＭＡマスタのメモリアクセス順序をアドレス領域の切り換え回数が少なくなるよう並び替えるメモリアクセス制御装置を提供することを目的とする。
【課題を解決するための手段】
【００１２】
上記の目的を達成するために、本発明に係るメモリアクセス制御装置は、
ＤＭＡマスタと、前記ＤＭＡマスタがアクセス可能なアドレス空間より大きいアドレス空間を有するメモリと、前記ＤＭＡマスタがアクセス可能なアドレス空間から前記メモリのアドレス空間へアドレスを拡張するアドレス拡張部と、を備え、前記アドレス拡張部は、前記ＤＭＡマスタが前記メモリより取得するデータがディスクリプタ情報であるか否かを判別するディスクリプタ情報判別部と、前記ディスクリプタ情報判別部にて判別されたディスクリプタ情報を格納するディスクリプタ情報格納部と、前記ＤＭＡマスタがメモリアクセスの際に発行するアドレス信号に前記ディスクリプタ情報格納部に格納した前記ディスクリプタ情報内のアドレス領域情報を付与し、前記ＤＭＡマスタがアクセスする前記メモリ上のアドレス領域を選択するアドレス領域制御部と、ＤＭＡマスタのメモリアクセスの順番を並び替えるメモリアクセスソート部と、を有し、前記メモリアクセスソート部は、前記ディスクリプタ情報に応じて、ＤＭＡマスタのメモリアクセスの順番を並び替えることを特徴とする。
【発明の効果】
【００１３】
本発明に係るメモリアクセス制御装置によれば、メモリアクセスの転送効率を劣化させることなく、ＤＭＡマスタが持つアドレス空間以上のメモリアドレス空間にアクセスすることが可能となる。
【図面の簡単な説明】
【００１４】
【図１】メモリアクセス制御装置を示すブロック図
【図２】メモリの持つアドレス空間を示す図
【図３】ディスクリプタ情報を用いたＤＭＡのシーケンスを示す図
【図４】メモリアクセス信号のタイミングチャートを示す図
【図５】メモリアクセス制御装置を示すブロック図
【図６】メモリの持つアドレス空間を示す図
【図７】ディスクリプタ情報を用いたＤＭＡのシーケンスを示す図
【図８】メモリアクセス制御装置を示すブロック図
【図９】メモリの持つアドレス空間を示す図
【図１０】ディスクリプタ情報を用いたＤＭＡのシーケンスを示す図
【発明を実施するための形態】
【００１５】
以下、発明を実施するための形態について、図面を参照しながら説明する。
【実施例１】
【００１６】
図１は、本発明の第１の実施形態に係るメモリアクセス制御装置の構成例を示す図である。メモリアクセス制御装置１００は、メモリ１０４と、メモリコントローラ１０３と、メモリ１０４にアクセス可能なＤＭＡマスタ１０１と、アドレス拡張部１０２を備える。ＤＭＡマスタ１０１は、メモリ１０４からディスクリプタ情報を読み、読み出したディスクリプタ情報に記載されている、メモリ１０４上の転送開始アドレスとデータ転送量に従って、ＣＰＵを介すことなくメモリ１０４へアクセスする。
【００１７】
また、本実施形態において、メモリ１０４の持つアドレス空間は、ＤＭＡマスタ１０１が指定可能なアドレス空間より大きい構成である。そこで、メモリ１０４の持つアドレス空間を、ＤＭＡマスタ１０１の持つアドレス空間と等しい容量のアドレス領域ごとに分割する。さらに、アドレス拡張部１０２は、ＤＭＡマスタ１０１が発行するアドレス信号に、メモリ１０４上の上記アドレス領域を選択するアドレス領域情報を付与することで、ＤＭＡマスタ１０１は、メモリ１０４の持つアドレス空間全てにアクセス可能な構成である。
【００１８】
アドレス拡張部１０２において、ディスクリプタ情報判別部１０５は、ＤＭＡマスタ１０１がメモリ１０４より読み出すデータがディスクリプタ情報であるか否かを判別する。ディスクリプタ情報の判別手段は、ディスクリプタ情報判別部１０５が、ＤＭＡマスタ１０１がメモリアクセスの際に発行するアドレスを監視することにより可能となる。当該アドレスがディスクリプタ情報の配置されているアドレスであれば、ＤＭＡマスタ１０１が次に読み出すデータはディスクリプタ情報であるとディスクリプタ情報判別部１０５は判断する。
【００１９】
また、このときディスクリプタ情報判別部１０５は、ＤＭＡマスタ１０１の次のメモリアクセスが、ディスクリプタ情報の配置されているアドレス領域へのアクセスとなることをアドレス領域制御部１０８へ通知する。アドレス領域制御部１０８は、ＤＭＡマスタ１０１が発行するアドレスに、ディスクリプタ情報が配置されているアドレス領域情報を付与する。ディスクリプタ情報の配置されているアドレスは、例えばＣＰＵによって、ＤＭＡマスタ１０１、ディスクリプタ情報判別部１０５、アドレス領域制御部１０８へ設定されている。
【００２０】
ディスクリプタ情報格納部１０６は、ディスクリプタ情報判別部１０５によって判別されたディスクリプタ情報を格納する。このとき、通常のメモリアクセス通りＤＭＡマスタ１０１もディスクリプタ情報を取得する。アドレス領域制御部１０８は、ディスクリプタ情報格納部１０６に格納されているディスクリプタ情報内のアドレス領域情報を、ＤＭＡマスタ１０１がメモリアクセスの際に発行するアドレスに付与し、アドレス領域を選択する。
【００２１】
メモリアクセスソート部１０７は、ディスクリプタ情報格納部１０６に格納されているディスクリプタ情報内のアドレス領域情報に基づき、アドレス領域切り換え回数が少なくなるようＤＭＡマスタ１０１のメモリアクセス順序を並び替える。
【００２２】
メモリアクセスソート部１０７の構成を述べる。通常メモリアクセスは、ＤＭＡマスタ１０１がディスクリプタ情報を読み出した順（すなわち、ディスクリプタ情報がディスクリプタ情報格納部１０６に格納された順）に行われ、先頭のディスクリプタ情報に対するメモリアクセスが完了すると、先頭のディスリプタ情報はディスクリプタ情報格納部１０６から消去され、ひとつ後ろに格納されているディスリプタ情報が先頭となるよう順番が前詰めされる。
【００２３】
ただし、ディスクリプタ情報格納部１０６の先頭に格納されたディスクリプタ情報に対するメモリアクセスの際、先頭より後ろに格納されたディスクリプタ情報の中に先頭のディスクリプタ情報と同じアドレス領域にアクセスするディスクリプタ情報がある場合、メモリアクセスソート部１０７は、そのディスクリプタ情報が次のメモリアクセスとなるよう、ディスクリプタ情報格納部１０６内のディスクリプタ情報の順番を並び替える。また、メモリアクセスソート部１０７は、並び替えたディスクリプタ情報の順番に従って、ＤＭＡマスタ１０１から発行されたアドレス信号をメモリ１０４に対して発行する。その際、アドレス領域制御部１０８も、並び替えられたディスクリプタ情報の順番に従って、アドレス信号にアドレス領域情報を付与する。
【００２４】
図２は、メモリ１０４の持つアドレス空間を示す図である。また、メモリアドレス空間上にディスクリプタ情報およびデータが配置される一例を示す図である。図２において、メモリアドレス空間はアドレス領域（１）〜（ｎ）に分割され、それぞれのアドレス領域の容量は、ＤＭＡマスタ１０１の持つアドレス空間の容量と等しい。ただし、アドレス拡張部１０２が、ＤＭＡマスタ１０１がメモリ１０４へ発行するアドレスに対してアドレス空間を選択する信号を付与することで、ＤＭＡマスタ１０１は複数のアドレス領域にアクセス可能となる。
【００２５】
図２において、アドレス領域（１）には、ディスクリプタ情報（１）〜（３）、データ（１）、データ（３）が配置されており、アドレス領域（２）には、データ（２）が配置されている例を示す。また、ディスクリプタ情報（１）にはデータ（１）のメモリ１０４上のアドレスが、ディスクリプタ情報（２）にはデータ（２）のメモリ１０４上のアドレスが、ディスクリプタ情報（３）にはデータ（３）のメモリ１０４上のアドレスが、それぞれ記載されているとする。
【００２６】
図３は、ディスクリプタ情報を用いたＤＭＡのシーケンスを示す図であり、特に、図２のようにディスクリプタ情報およびデータがメモリ上１０４に配置される場合の例である。
【００２７】
図３において、シーケンス３０１〜３０３は、ＤＭＡマスタ１０１がメモリ１０４からディスクリプタ情報（１）〜（３）を読み出すため、ディスクリプタ情報が配置されているアドレスに対する読み出し要求をメモリ１０４に発行するシーケンスを示す。このとき、ＤＭＡマスタ１０１がディスクリプタ情報の取得を待たずして、先行的にディスクリプタ情報（２）〜（３）の読み出し要求をメモリ１０４に発行可能であるのは、メモリコントローラ１０３が複数のメモリアクセス要求を格納するバッファを備えている（すなわちメモリアクセス要求のアウトスタンディングに対応している）ためである。
【００２８】
また、このときディスクリプタ情報判別部１０５は、ＤＭＡマスタ１０１の次のメモリアクセスが、ディスクリプタ情報の配置されているアドレス領域へのアクセスとなることをアドレス領域制御部１０８へ通知し、アドレス領域制御部１０８は、ＤＭＡマスタ１０１が発行するアドレスに、ディスクリプタ情報が配置されているアドレス領域情報を付与する。
【００２９】
シーケンス３０４〜３０６は、シーケンス３０１〜３０３にて発行したアドレスにあるディスクリプタ情報が、メモリ１０４からＤＭＡマスタ１０１に返されるシーケンスを示す。このとき、ディスクリプタ情報（１）〜（３）は全てアドレス領域（１）に置かれているため、アドレス拡張部１０２がＤＭＡマスタ１０１から発行されるアドレス信号に付与するアドレス領域情報は、アドレス領域（１）を選択している。また、シーケンス３０４〜３０６において、ＤＭＡマスタ１０１だけでなくアドレス拡張部１０２もディスクリプタ情報を格納している。
【００３０】
このとき、アドレス拡張部内１０２のディスクリプタ情報判別部１０５においてディスクリプタ情報は判別され、ディスクリプタ情報格納部１０６にて格納される。また、アドレス拡張部１０２のメモリアクセスソート部１０７は、ディスクリプタ情報格納部１０６に格納されているディスクリプタ情報内のアドレス領域情報に基づき、アドレス領域切り換え回数が少なくなるようディスクリプタ情報を並び替える。また、メモリアクセスソート部１０７は、ＤＭＡマスタ１０１が発行するアドレスを、並び替えられたディスクリプタ情報の順序に従って発行する。
【００３１】
ディスクリプタ情報に記載されているアドレス領域は、データ（１）がアドレス領域（１）、データ（２）がアドレス領域（２）、データ（３）がアドレス領域（１）であるため、アドレス領域切り換え回数が少なくなるようメモリアクセス順序を並び替えた場合、データのアクセス順序は、データ（１）、データ（３）、データ（２）の順となる。
【００３２】
シーケンス３０７〜３０９は、ＤＭＡマスタ１０１がメモリ１０４からデータ（１）〜（３）を読み出すため、データが配置されているアドレスに対する読み出し要求をメモリに発行するシーケンスを示す。このときＤＭＡマスタ１０１が発行するアドレスは、ＤＭＡマスタ１０１が読み出したディスクリプタ情報（１）〜（３）に記載されているアドレスから、メモリ１０４内のアドレス領域の選択に使用するアドレス領域情報を除いた、ＤＭＡマスタ１０１が持つアドレス空間内のアドレスである。
【００３３】
また、アドレス拡張部１０２内のアドレス領域制御部１０８は、シーケンス３０４〜３０６にて読み出したディスクリプタ情報内のアドレス領域情報を、ＤＭＡマスタ１０１が発行するアドレスに付与する。このとき、データ（１）はアドレス領域（１）に配置されており、データ（２）はアドレス領域（２）に配置されている。従って、シーケンス３０７とシーケンス３０８は異なるアドレス領域に対するアクセスとなるため、ＤＭＡマスタ１０１がシーケンス３０７にて発行したアドレスに対するデータ取得が完了するまでアドレス拡張部１０２はアドレス領域（１）を選択しており、シーケンス３０８はメモリ１０４に対して発行できない。
【００３４】
従って、データ（２）のアドレスは、アドレス拡張部１０２で待たされている。ただし、データ（３）はアドレス領域（１）に配置されており、データ（１）と同一のアドレス領域に配置されている。従って、メモリアクセスソート部１０７で並び替えられた通り、シーケンス３０９は、シーケンス３０８に先立ってメモリ１０４へ発行することが可能となる。
【００３５】
シーケンス３１０は、シーケンス３０７にて発行したアドレスにあるデータ（１）が、メモリ１０４からＤＭＡマスタ１０１に返されるシーケンスを示す。シーケンス３１１は、シーケンス３０９にて発行したアドレスにあるデータ（３）が、メモリ１０４からＤＭＡマスタ１０１に返されるシーケンスを示す。
【００３６】
ここで、アドレス領域（１）へのデータアクセスが完了したため、アドレス拡張部１０２はＤＭＡマスタ１０１の次のメモリアクセスのアドレス領域を、ディスクリプタ情報格納部１０６に格納されているディスクリプタ情報に基づいて、アドレス領域（１）からアドレス領域（２）へと切り替える。すると、シーケンス３１２において、アドレス拡張部１０２にて待たせていたデータ（２）のアドレスをメモリ１０４に発行可能となる。シーケンス３１３は、シーケンス３０８および３１２にて発行したアドレスにあるデータ（２）が、メモリ１０４からＤＭＡマスタ１０１に返されるシーケンスを示す。
【００３７】
図３のシーケンスより、アドレス領域の切り換え回数が少なくなるようデータアクセス順序を並び替えたことにより、シーケンス３０９がアドレス拡張部１０２にて待たされることなくメモリ１０４へ発行可能なため、ＤＭＡマスタ１０１がメモリアクセスする際のレイテンシを少なくすることが可能となる。
【００３８】
また、図３のシーケンスには、データ読み出しのシーケンスのみ示しているが、データ書き込みのシーケンスも同様に、アドレス領域が異なるデータのアドレス発行はアドレス拡張部１０２にて待たされることとなるため、アドレス領域の切り換え回数が少なくなるようメモリアクセスを並び替える手段は有効である。
【００３９】
図４は、本発明の第１の実施形態に係るＤＭＡマスタ１０１が発行するメモリアクセス信号のタイミングチャートを示す図であり、特にメモリアクセスソート部１０７にてメモリアクセスの順序が並び替えられた場合におけるデータ読み出しの順序保証に関する図である。ＤＭＡマスタ１０１が、所望するデータのアドレスを指定する信号であるアドレス（１）〜（３）を発行する際、ＤＭＡマスタ１０１は、それぞれのアドレスに対して割り振った識別信号（１）〜（３）を、アドレス信号と同時に発行する。このとき、アドレス（１）、アドレス（２）、アドレス（３）の順序で発行したアドレス信号を、メモリアクセスソート部１０７にてアドレス（１）、アドレス（３）、アドレス（２）のような順序に並び替える場合、メモリアクセスソート部１０７は、識別信号もアドレスと併せて並び替えてメモリコントローラ１０３へ発行する。
【００４０】
メモリ１０４は、メモリアクセスソート部１０７にて並び替えて発行したアドレス信号と同じ順序でデータをＤＭＡマスタ１０１へ返すため、データ（１）、データ（３）、データ（２）の順序となる。また、メモリコントローラ１０３は、アドレスと共に受信した識別信号を、アドレス信号に対応したデータに付与してＤＭＡマスタ１０１へ返す。従って、ＤＭＡマスタ１０１は識別信号の順序によって、ＤＭＡマスタ１０１が発行したアドレスの順序通りにデータの順序を復元することが可能である。
【００４１】
以上で説明した第１の実施形態によれば、アドレス領域の切り換え回数が少なくなるようメモリアクセス順序を並び替えたことにより、メモリアクセスの転送効率を劣化させることなく、ＤＭＡマスタ１０１が持つアドレス空間以上のメモリアドレス空間にアクセスすることが可能となる。
【実施例２】
【００４２】
図５は、本発明の第２の実施形態に係るメモリアクセス制御装置の構成例を示す図である。図５における、ＤＭＡマスタ５０１と、メモリコントローラ５０３と、メモリ５０４は、図１のＤＭＡマスタ１０１と、メモリコントローラ１０３と、メモリ１０４と同等の機能であるため説明を省略する。アドレス拡張部５０２内のディスクリプタ情報判別部５０５は、ＤＭＡマスタ５０１がディスクリプタ情報を取得するため、ディスクリプタ情報が配置されているメモリ５０４上のアドレスを発行した際、該アドレスがディスクリプタ情報の配置されているメモリ５０４上のアドレスであることを判別し、ディスクリプタ情報が配置されているアドレス領域情報を、ディスクリプタアクセス情報格納部５０９へと転送する。
【００４３】
ディスクリプタアクセス情報格納部５０９は、ＤＭＡマスタ５０１が指定するディスクリプタ情報が配置されているアドレス領域情報を格納する。メモリアクセスソート部５０７は、ディスクリプタ情報格納部５０６に格納されているディスクリプタ情報内のアドレス領域情報と、ディスクリプタアクセス情報格納部５０９に格納されているアドレス領域情報に基づき、アドレス領域切り換え回数が少なくなるよう、ＤＭＡマスタ５０１のデータおよびディスクリプタ情報の転送におけるメモリアクセス順序を並び替える。尚、アドレス領域制御部５０８は、図１のアドレス領域制御部１０８と同等の機能であるため説明を省略する。
【００４４】
図６は、メモリ５０４の持つアドレス空間を示す図である。また、メモリアドレス空間上にディスクリプタ情報およびデータが配置される一例を示す図である。図６において、メモリアドレス空間はアドレス領域（１）〜（ｎ）に分割され、それぞれのアドレス領域の容量は、ＤＭＡマスタ５０１の持つアドレス空間の容量と等しい。ただし、アドレス拡張部５０２が、ＤＭＡマスタ５０１からメモリ５０４へ発行するアドレスに対してアドレス空間を選択する信号を付与することで、ＤＭＡマスタ５０１は複数のアドレス領域にアクセス可能となる。
【００４５】
図５において、アドレス領域（１）には、ディスクリプタ情報（１）〜（５）、データ（１）〜（２）が配置されており、アドレス領域（２）には、データ（３）〜（４）が配置されており、アドレス領域（ｎ）には、データ（５）が配置されている例を示す。また、ディスクリプタ情報（１）にはデータ（１）のメモリ５０４上のアドレスが、ディスクリプタ情報（２）にはデータ（２）のメモリ５０４上のアドレスが、ディスクリプタ情報（３）にはデータ（３）のメモリ５０４上のアドレスが、ディスクリプタ情報（４）にはデータ（４）のメモリ５０４上のアドレスが、ディスクリプタ情報（５）にはデータ（５）のメモリ５０４上のアドレスが、それぞれ記載されているとする。
【００４６】
図７は、ディスクリプタ情報を用いたＤＭＡのシーケンスを示す図であり、特に、図６のようにディスクリプタ情報およびデータがメモリ５０４上に配置される場合において、ＤＭＡマスタ５０１が既にディスクリプタ情報を取得しており、取得したディスクリプタ情報に対応したデータのアドレスの発行が行われている際に、ＤＭＡマスタ５０１がディスクリプタ（５）を読み出す例である。
【００４７】
図７において、シーケンス７０１〜７０４は、ＤＭＡマスタ５０１がメモリ５０４からディスクリプタ情報（１）〜（４）を読み出すため、ディスクリプタ情報が配置されているアドレスに対する読み出し要求をメモリ５０４に発行するシーケンスを示す。このとき、ＤＭＡマスタ５０１がディスクリプタ情報の取得を待たずして、先行的にディスクリプタ情報（２）〜（４）の読み出し要求をメモリ５０４に発行可能であるのは、メモリコントローラ５０３が複数のメモリアクセス要求を格納するバッファを備えている（すなわちメモリアクセス要求のアウトスタンディングに対応している）ためである。
【００４８】
また、このときディスクリプタ情報判別部５０５は、ＤＭＡマスタ５０１の次のメモリアクセスが、ディスクリプタ情報の配置されているアドレス領域へのアクセスとなることをアドレス領域制御部５０８へ通知し、アドレス領域制御部５０８は、ＤＭＡマスタ５０１が発行するアドレスに、ディスクリプタ情報が配置されているアドレス領域情報を付与する。ディスクリプタ情報の配置されているアドレスは、例えばＣＰＵによって、ＤＭＡマスタ５０１、ディスクリプタ情報判別部５０５、アドレス領域制御部５０８へ設定されている。
【００４９】
シーケンス７０５〜７０８は、シーケンス７０１〜７０４にて発行したアドレスにあるディスクリプタ情報が、メモリ５０４からＤＭＡマスタ５０１に返されるシーケンスを示す。このとき、ディスクリプタ情報（１）〜（４）は全てアドレス領域（１）に置かれているため、アドレス拡張部５０２がＤＭＡマスタ５０１から発行されるアドレス信号に付与するアドレス領域情報は、アドレス領域（１）を選択している。
【００５０】
また、シーケンス７０５〜７０８において、ＤＭＡマスタ５０１だけでなくアドレス拡張部５０２もディスクリプタ情報を格納している。このとき、アドレス拡張部５０２内のディスクリプタ情報判別部５０５においてディスクリプタ情報は判別され、ディスクリプタ情報格納部５０６にて格納される。
【００５１】
また、アドレス拡張部５０２のメモリアクセスソート部５０７は、ディスクリプタ情報格納部５０６に格納されているディスクリプタ情報内のアドレス領域情報に基づき、アドレス領域切り換え回数が少なくなるようディスクリプタ情報を並び替える。また、メモリアクセスソート部５０７は、ＤＭＡマスタ５０１が発行するアドレスを、並び替えられたディスクリプタ情報の順序に従って発行する。
【００５２】
ディスクリプタ情報に記載されているアドレス領域は、データ（１）がアドレス領域（１）、データ（２）がアドレス領域（１）、データ（３）がアドレス領域（２）、データ（４）がアドレス領域（２）であるため、アドレス領域切り換え回数は既に最少であり、データのアクセス順序は並び替えられない。
【００５３】
シーケンス７０９〜７１１およびシーケンス７１３は、ＤＭＡマスタ５０１がメモリ５０４からデータ（１）〜（４）を読み出すため、データが配置されているアドレスに対する読み出し要求をメモリ５０４に発行するシーケンスを示す。このときＤＭＡマスタ５０１が発行するアドレスは、ＤＭＡマスタ５０１が読み出したディスクリプタ情報（１）〜（４）に記載されているアドレスから、メモリ５０４内のアドレス領域の選択に使用するアドレス領域情報を除いた、ＤＭＡマスタ５０１が持つアドレス空間内のアドレスである。
【００５４】
また、アドレス拡張部５０２内のアドレス領域制御部５０８は、シーケンス７０５〜７０８にて読み出したディスクリプタ情報内のアドレス領域情報を、ＤＭＡマスタ５０１が発行するアドレスに付与する。
【００５５】
図７では、シーケンス７１１におけるデータ（３）のアドレスがアドレス拡張部５０２で待たされたのち、シーケンス７１２においてさらにＤＭＡマスタ５０１がメモリ５０４からディスクリプタ情報（５）を読み出すため、ディスクリプタ情報が配置されているアドレスに対する読み出し要求をメモリ５０４に発行するシーケンスを示す。
【００５６】
ここでディスクリプタ情報判別部５０５は、ＤＭＡマスタ５０１が発行したアドレスがディスクリプタ情報の配置されているメモリ５０４上のアドレスであることを判別し、ディスクリプタ情報が配置されているアドレス領域情報を、ディスクリプタアクセス情報格納部５０９へと転送する。このときアドレス拡張部５０２のメモリアクセスソート部５０７は、ディスクリプタ情報格納部５０６に格納されているディスクリプタ情報に加えて、ディスクリプタアクセス情報格納部５０９に格納されているアドレス領域情報に基づき、アドレス領域切り換え回数が少なくなるようディスクリプタ情報およびアドレス領域情報を並び替える。
【００５７】
また、メモリアクセスソート部５０７は、ＤＭＡマスタ５０１が発行するアドレスを、並び替えられたディスクリプタ情報およびアドレス領域情報の順序に従って発行する。ディスクリプタ情報に記載されているアドレス領域は、ディスクリプタ情報（５）がアドレス領域（１）、データ（３）がアドレス領域（２）、データ（４）がアドレス領域（２）、データ（３）がアドレス領域（２）、データ（４）がアドレス領域（ｎ）、であるため、データおよびディスクリプタ情報のアクセス順序は、ディスクリプタ情報（５）、データ（３）、データ（４）の順に並び替えられる。
【００５８】
このとき、ディスクリプタ情報（５）およびデータ（１）〜（２）はアドレス領域（１）に配置されており、データ（３）〜（４）はアドレス領域（２）に配置されている。従って、シーケンス７０９〜７１０および７１２と、シーケンス７１１および７１３は異なるアドレス領域に対するアクセスとなるため、ＤＭＡマスタ５０１がシーケンス７０９〜７１０および７１２にて発行したアドレスに対するデータ取得が完了するまでアドレス拡張部５０２はアドレス領域（１）を選択しており、シーケンス７１１および７１３はメモリ５０４に対して発行できない。
【００５９】
従って、データ（３）およびデータ（４）のアドレスは、アドレス拡張部５０２で待たされている。シーケンス７１４〜７１６は、シーケンス７０９〜７１０および７１２にて発行したアドレスにあるディスクリプタ情報（５）およびデータ（１）〜（２）が、メモリ５０４からＤＭＡマスタ５０１に返されるシーケンスを示す。
【００６０】
ここで、ディスクリプタ情報（５）およびデータ（１）〜（２）はアドレス領域（１）に配置されているため、アドレス拡張部５０２がＤＭＡマスタ５０１から発行されるアドレス信号に付与するアドレス領域情報は、アドレス領域（１）を選択している。ここで、アドレス領域（１）へのデータアクセスが完了したため、アドレス拡張部５０２はＤＭＡマスタ５０１の次のメモリアクセスのアドレス領域を、ディスクリプタ情報格納部５０６に格納されているディスクリプタ情報に基づいて、アドレス領域（１）からアドレス領域（２）へと切り替える。
【００６１】
すると、シーケンス７１１および７１３において、アドレス拡張部５０２にて待たせていたデータ（３）〜（４）のアドレスをメモリ５０４に発行可能となる。シーケンス７１９〜７２０は、シーケンス７１７〜７１８にて発行したアドレスにあるデータ（３）〜（４）が、メモリ５０４からＤＭＡマスタ５０１に返されるシーケンスを示す。
【００６２】
図７のシーケンスより、アドレス領域の切り換え回数が少なくなるようデータおよびディスクリプタ情報のアクセス順序を並び替えたことにより、シーケンス７１２がアドレス拡張部５０２にて待たされることなくメモリ５０４へ発行可能なため、ＤＭＡマスタ５０１がメモリアクセスする際のレイテンシを少なくすることが可能となる。    
【００６３】
また、図７のシーケンスには、データ読み出しのシーケンスのみ示しているが、データ書き込みのシーケンスも同様に、アドレス領域が異なるデータのアドレス発行はアドレス拡張部にて待たされることとなるため、アドレス領域の切り換え回数が少なくなるようメモリアクセスを並び替える手段は有効である。
【００６４】
以上で説明した第２の実施形態によれば、アドレス領域の切り換え回数が少なくなるようデータおよびディスクリプタ情報のメモリアクセス順序を並び替えたことにより、メモリアクセスの転送効率を劣化させることなく、ＤＭＡマスタ５０１が持つアドレス空間以上のメモリアドレス空間にアクセスすることが可能となる。
【実施例３】
【００６５】
図８は、本発明の第３の実施形態に係るメモリアクセス制御装置の構成例を示す図である。図８における、ＤＭＡマスタ８０１と、メモリコントローラ８０３と、メモリ８０４は、図１のＤＭＡマスタ１０１と、メモリコントローラ１０３と、メモリ１０４と同等の機能であるため説明を省略する。アドレス拡張部８０２内のメモリアクセス分割部８１０は、ディスクリプタ情報格納部８０６に格納されているディスクリプタ情報の中に、複数のアドレス領域を跨るデータのアクセス情報が記載されているディスクリプタ情報がある場合、該ディスクリプタ情報を分割し、アドレス領域を跨らないアクセスとなるよう複数のディスクリプタ情報として生成する。その際、アドレス領域ごとのアクセスとなるよう、転送開始アドレスおよびデータ転送量が分割される。また、分割されたディスクリプタ情報に従って、ＤＭＡマスタ８０１から発行されるメモリ８０４上のアドレスも、アドレス領域を跨らない複数のメモリアクセスへと変換する。
【００６６】
メモリアクセスソート部８０７は、ディスクリプタ情報格納部８０６に格納されている、各アドレス領域へのアクセスごとに分割されたディスクリプタ情報を含むディスクリプタ情報内のアドレス領域情報に基づき、アドレス領域切り換え回数が少なくなるようＤＭＡマスタ８０１のメモリアクセス順序を並び替える。また、メモリアクセス分割部８１０にてメモリアクセスが分割されるため、メモリ８０４から取得するデータもメモリアクセスごとに分割される。
【００６７】
ＤＭＡマスタ８０１がアドレス拡張部８０２にてメモリアクセスが分割されたことを認知できない構成である場合、アドレス拡張部８０２にて分割されたデータを再びひとつのデータへと変換する必要がある。そのため、アドレス拡張部８０２はデータ格納部８０９を備え、分割されたデータ全てがメモリ８０４から転送されるのをデータ格納部８０９にて待ち、分割されたデータ全てがデータ格納部８０９にて格納された時点で、ひとつのデータとしてＤＭＡマスタ８０１へと転送する。尚、ディスクリプタ情報判別部８０６と、アドレス領域制御部８０８は、図１のディスクリプタ情報判別部１０６と、アドレス領域制御部１０８と同等の機能であるため説明を省略する。
【００６８】
図９は、本発明の第３の実施形態に係るメモリ８０４の持つアドレス空間を示す図である。また、メモリアドレス空間上にディスクリプタ情報およびデータが配置される一例を示す図である。図９において、メモリアドレス空間はアドレス領域（１）〜（ｎ）に分割され、それぞれのアドレス領域の容量は、ＤＭＡマスタ８０１の持つアドレス空間の容量と等しい。ただし、アドレス拡張部８０２が、ＤＭＡマスタ８０１からメモリ８０４へ発行するアドレスに対してアドレス空間を選択する信号を付与することで、ＤＭＡマスタ８０１は複数のアドレス領域にアクセス可能となる。
【００６９】
図９において、アドレス領域（１）には、ディスクリプタ情報（１）〜（３）、データ（１）が配置されており、アドレス領域（２）には、データ（３）とデータ（２）−１が配置されており、アドレス領域（３）には、データ（２）−２が配置されている例を示す。ここで、データ（２）−１とデータ（２）−２は、ＤＭＡマスタ８０１がひとつのディスクリプタ情報（２）によって複数のアドレス領域を跨ったデータアクセスをする場合を示しており、データ（２）−１はデータ（２）のうちアドレス領域（２）に配置されているデータであり、データ（２）−２はデータ（２）のうちアドレス領域（３）に配置されているデータであることを示す。
【００７０】
また、ディスクリプタ情報（１）にはデータ（１）のメモリ８０４上のアドレスが、ディスクリプタ情報（２）にはデータ（２）のメモリ８０４上のアドレス（転送開始アドレスであるアドレス領域（２）のアドレス）が、ディスクリプタ情報（３）にはデータ（３）のメモリ８０４上のアドレスが、それぞれ記載されているとする。
【００７１】
図１０は、本発明の第３の実施形態に係るディスクリプタ情報を用いたＤＭＡのシーケンスを示す図であり、特に、図９のようにディスクリプタ情報およびデータがメモリ８０４上に配置される場合において、ＤＭＡマスタ８０１から発行されるアドレス領域（２）〜（３）に跨るデータ（２）のアクセスを、アドレス拡張部８０２にて各アドレス領域に対するアクセスに分割し、メモリ８０４へ発行する例である。
【００７２】
図１０において、シーケンス１００１〜１００３は、ＤＭＡマスタ８０１がメモリ８０４からディスクリプタ情報（１）〜（３）を読み出すため、ディスクリプタ情報が配置されているアドレスに対する読み出し要求をメモリ８０４に発行するシーケンスを示す。このとき、ＤＭＡマスタ８０１がディスクリプタ情報の取得を待たずして、先行的にディスクリプタ情報（２）〜（３）の読み出し要求をメモリ８０４に発行可能であるのは、メモリコントローラ８０３が複数のメモリアクセス要求を格納するバッファを備えている（すなわちメモリアクセス要求のアウトスタンディングに対応している）ためである。
【００７３】
また、このときディスクリプタ情報判別部８０５は、ＤＭＡマスタ８０１の次のメモリアクセスが、ディスクリプタ情報の配置されているアドレス領域へのアクセスとなることをアドレス領域制御部８０８へ通知し、アドレス領域制御部８０８は、ＤＭＡマスタ８０１が発行するアドレスに、ディスクリプタ情報が配置されているアドレス領域情報を付与する。ディスクリプタ情報の配置されているアドレスは、例えばＣＰＵによって、ＤＭＡマスタ８０１、ディスクリプタ情報判別部８０５、アドレス領域制御部８０８へ設定されている。
【００７４】
シーケンス１００４〜１００６は、シーケンス１００１〜１００３にて発行したアドレスにあるディスクリプタ情報が、メモリ８０４からＤＭＡマスタ８０１に返されるシーケンスを示す。このとき、ディスクリプタ情報（１）〜（３）は全てアドレス領域（１）に置かれているため、アドレス拡張部８０２がＤＭＡマスタ８０１から発行されるアドレス信号に付与するアドレス領域情報は、アドレス領域（１）を選択している。また、シーケンス１００４〜１００６において、ＤＭＡマスタ８０１だけでなくアドレス拡張部８０２もディスクリプタ情報を格納している。
【００７５】
このとき、アドレス拡張部８０２内のディスクリプタ情報判別部８０６においてディスクリプタ情報は判別され、ディスクリプタ情報格納部８０８にて格納される。また、ドレス拡張部８０２のメモリアクセスソート部８０７は、ディスクリプタ情報格納部８０６に格納されているディスクリプタ情報内のアドレス領域情報に基づき、アドレス領域切り換え回数が少なくなるようディスクリプタ情報を並び替える。
【００７６】
また、メモリアクセスソート部８０７は、ＤＭＡマスタ８０１が発行するアドレスを、並び替えられたディスクリプタ情報の順序に従って発行する。このときディスクリプタ情報格納部８０６に、ひとつのディスクリプタ情報において複数のアドレス領域に跨るデータ転送が存在する場合、当該ディスクリプタ情報を各アドレス領域へのアクセスに分割する。複数のアドレス空間に跨るデータ転送とは、図９においてはデータ（２）に該当し、アドレス領域（２）へのアクセスとなるデータ（２）−１と、アドレス領域（３）へのアクセスとなるデータ（２）−２へ分割される。
【００７７】
このときメモリアクセスソート部８０７は、分割されたディスクリプタ情報を含めて、アドレス領域切り換え回数が少なくなるようメモリアクセスを並び替える。ディスクリプタ情報に記載されているアドレス領域は、データ（１）がアドレス領域（１）、データ（２）−１がアドレス領域（２）、データ（２）−２がアドレス領域（３）、データ（３）がアドレス領域（２）、であるため、アドレス領域切り換え回数が少なくなるようメモリアクセス順序を並び替えた場合、データのアクセス順序は、データ（１）、データ（２）−１、データ（３）、データ（２）−２の順となる。
【００７８】
シーケンス１００７〜１００９は、ＤＭＡマスタ８０１がメモリ８０４からデータ（１）〜（３）を読み出すため、データが配置されているアドレスに対する読み出し要求をメモリ８０４に発行するシーケンスを示す。このときＤＭＡマスタ８０１が発行するアドレスは、ＤＭＡマスタ８０１が読み出したディスクリプタ情報（１）〜（３）に記載されているアドレスから、メモリ８０４内のアドレス領域の選択に使用するアドレス領域情報を除いた、ＤＭＡマスタ８０１が持つアドレス空間内のアドレスである。
【００７９】
また、アドレス拡張部８０２内のアドレス領域制御部８０８は、シーケンス１００４〜１００６にて読み出したディスクリプタ情報内のアドレス領域情報を、ＤＭＡマスタ８０１が発行するアドレスに付与する。図１０では、シーケンス１００７におけるデータ（１）のアドレス発行ののち、シーケンス１００８におけるデータ（２）のアドレス発行および、シーケンス１００９におけるデータ（３）のアドレス発行が行われる。
【００８０】
ここで、アドレス拡張部８０２は、ＤＭＡマスタからシーケンス１００８におけるデータ（２）のアドレスを受けた際、メモリアクセス分割部８１０にて、データ（２）のアドレスを、アドレス領域（２）へのアクセスとなるデータ（２）−１のアドレスと、アドレス領域（３）へのアクセスとなるデータ（２）−２のアドレスへとアクセスを分割する。このとき、データ（１）はアドレス領域（１）に、データ（２）−１およびデータ（３）はアドレス領域（２）に、データ（２）−２はアドレス領域（３）に配置されている。従って、シーケンス１００７、シーケンス１００８、シーケンス１００９は異なるアドレス領域に対するアクセスとなるため、ＤＭＡマスタ８０１がシーケンス１００７にて発行したアドレスに対するデータ取得が完了するまでアドレス拡張部８０２はアドレス領域（１）を選択しており、シーケンス１００８はメモリ８０４に対して発行できない。
【００８１】
従って、データ（２）のアドレスは、アドレス拡張部８０２で待たされている。シーケンス１０１０は、シーケンス１００７にて発行したアドレスにあるデータ（１）が、メモリ８０４からＤＭＡマスタ８０１に返されるシーケンスを示す。ここで、アドレス領域（１）へのデータアクセスが完了したため、アドレス拡張部８０２はＤＭＡマスタ８０１の次のメモリアクセスのアドレス領域を、ディスクリプタ情報格納部８０６に格納されているディスクリプタ情報に基づいて、アドレス領域（１）からアドレス領域（２）へと切り替える。
【００８２】
すると、シーケンス１０１１において、アドレス拡張部８０２にて待たせていたデータ（２）−１のアドレスをメモリ８０４に発行可能となる。データ（２）−１はアドレス領域（２）に配置されており、データ（３）と同一のアドレス領域に配置されている。従って、メモリアクセスソート部８０７で並び替えられた通り、シーケンス１０１２は、シーケンス１０１５に先立ってメモリ８０４へ発行することが可能となる。シーケンス１０１３は、シーケンス１０１１にて発行したアドレスにあるデータ（２）−１が、メモリ８０４からアドレス拡張部８０２に返されるシーケンスを示す。
【００８３】
ここで、データ（２）−１は、データ（２）−２がメモリ８０４から転送されるまでアドレス拡張部８０２内のデータ格納部８０９に格納される。シーケンス１０１４は、シーケンス１０１２にて発行したアドレスにあるデータ（３）が、メモリ８０４からＤＭＡマスタ８０１に返されるシーケンスを示す。ここで、アドレス領域（２）へのデータアクセスが完了したため、アドレス拡張部８０２はＤＭＡマスタ８０１の次のメモリアクセスのアドレス領域を、ディスクリプタ情報格納部８０６に格納されているディスクリプタ情報に基づいて、アドレス領域（２）からアドレス領域（３）へと切り替える。
【００８４】
すると、シーケンス１０１５において、アドレス拡張部８０２にて待たせていたデータ（２）−２のアドレスをメモリ８０４に発行可能となる。シーケンス１０１６は、シーケンス１０１５にて発行したアドレスにあるデータ（２）−２が、メモリ８０４からアドレス拡張部８０２に返されるシーケンスを示す。ここで、データ格納部８０９にてデータ（２）−１およびデータ（２）−２が揃ったため、シーケンス１０１７において、データ（２）としてＤＭＡマスタへ転送される。
【００８５】
図１０のシーケンスより、アドレス領域の切り換え回数が少なくなるようデータアクセスの分割およびデータアクセス順序を並び替えたことにより、シーケンス１０１２がアドレス拡張部８０２にて待たされることなくメモリ８０４へ発行可能なため、ＤＭＡマスタ８０１がメモリアクセスする際のレイテンシを少なくすることが可能となる。
【００８６】
また、図１０のシーケンスには、データ読み出しのシーケンスのみ示しているが、データ書き込みのシーケンスも同様に、アドレス領域が異なるデータのアドレス発行はアドレス拡張部８０２にて待たされることとなるため、アドレス領域の切り換え回数が少なくなるようメモリアクセスを並び替える手段は有効である。
【００８７】
以上で説明した第３の実施形態によれば、アドレス領域の切り換え回数が少なくなるよう複数のアドレス領域に跨るデータを含めてメモリアクセス順序を並び替えたことにより、メモリアクセスの転送効率を劣化させることなく、ＤＭＡマスタ８０１が持つアドレス空間以上のメモリアドレス空間にアクセスすることが可能となる。
【符号の説明】
【００８８】
１００  メモリアクセス制御装置、１０１  ＤＭＡマスタ、
１０２  アドレス拡張部、１０３  メモリコントローラ、１０４  メモリ
【図１】
2020035264.tif 000003
【図２】
2020035264.tif 000004
【図３】
2020035264.tif 000005
【図４】
2020035264.tif 000006
【図５】
2020035264.tif 000007
【図６】
2020035264.tif 000008
【図７】
2020035264.tif 000009
【図８】
2020035264.tif 000010
【図９】
2020035264.tif 000011
【図１０】
2020035264.tif 000012