(57)【要約】【課題】ユニファイドメモリアーキテクチャやマルチプロセッサのシステムにおいて、特定のメモリマスタからのアクセスのメモリアクセスレイテンシを低減することが可能なメモリアクセス制御装置の提供。【解決手段】複数のメモリマスタ１１〜１４からのアクセス要求を受け調停を行うアービタ２０とサブアービタ３０と、メモリコントローラ４０と、複数のバンクからなるメモリ５０を備え、アービタ２０により許可され現在実行中のアクセス要求で使用されるメモリのバンクと、サブアービタ３０によるアクセス要求がアクセスしようとするメモリのバンクが異なり、アービタ２０により許可され現在実行中のアクセス要求の種類と前記サブアービタが行おうとするメモリアクセスの種類が同一の場合にアクセス効率が低下しないと判断し、アービタ２０によるメモリアクセスを中断し、サブアービタ３０によるメモリアクセスを割り込ませる。【選択図】図１
2008276391.tif 000002
【特許請求の範囲】
【請求項１】
それぞれがメモリへのアクセス要求を行う複数のメモリマスタと、
前記複数のメモリマスタからのアクセス要求を受けアクセス要求の調停を行うアービタと、
前記複数のメモリマスタの少なくとも一部のメモリマスタからのアクセス要求を受けアクセス要求の調停を行うサブアービタと、
前記アービタと前記サブアービタからのアクセス要求を受け、接続されるメモリへのメモリアクセスを行うメモリコントローラと、
を備え、
前記アービタにより許可され現在実行中のアクセス要求の種類と、前記サブアービタを介してメモリマスタが行おうとするアクセスの種類が同一の場合に、前記アービタによるメモリアクセスを中断し、前記サブアービタによるメモリアクセスを割り込ませる、ことを特徴とするメモリアクセス制御装置。
【請求項２】
それぞれがメモリへのアクセス要求を行う複数のメモリマスタと、
前記複数のメモリマスタからのアクセス要求を受けアクセス要求の調停を行うアービタと、
前記複数のメモリマスタの少なくとも一部のメモリマスタからのアクセス要求を受けアクセス要求の調停を行うサブアービタと、
前記アービタと前記サブアービタからのアクセス要求を受け、接続されるメモリへのメモリアクセスを行うメモリコントローラと、
を備え、
前記アービタにより許可され現在実行中のアクセス要求で使用されるメモリのバンクと、前記サブアービタを介してメモリマスタがアクセスしようとするメモリのバンクとが異なり、且つ、
前記アービタにより許可され現在実行中のアクセス要求の種類と、前記サブアービタを介してメモリマスタが行おうとするアクセスの種類が同一の場合に、前記アービタによるメモリアクセスを中断し、前記サブアービタによるメモリアクセスを割り込ませる、ことを特徴とするメモリアクセス制御装置。
【請求項３】
前記サブアービタは、前記複数のメモリマスタのうちメモリアクセスレイテンシを短くしたい所定のメモリマスタによるメモリアクセス要求を監視し、
前記アービタからアクセス要求よりも、前記サブアービタからのアクセス要求が優先して実行される、ことを特徴とする請求項１又は２記載のメモリアクセス制御装置。
【請求項４】
前記アービタは、前記アービタがアクセス要求を受け付けた前記メモリマスタからの１つのアクセス要求を複数のアクセス要求に分割し、分割後のアクセス要求のアドレスを生成するアクセス分割部を備えている、ことを特徴とする請求項１又は２記載のメモリアクセス制御装置。
【請求項５】
前記メモリは、単一バンク構成である、ことを特徴とする請求項１記載のメモリアクセス制御装置。
【請求項６】
前記メモリは、複数バンク構成である、ことを特徴とする請求項２記載のメモリアクセス制御装置。
【請求項７】
前記アービタは、前記メモリマスタからメモリアクセス要求が出ており、メモリアクセスを実行中でなければ、前記メモリマスタからのアクセス要求を実行し、
複数の前記メモリマスタからアクセス要求が出ていた場合には、予め定められた基準に従って、複数の前記メモリマスタの中から、アクセス要求を実行する前記メモリマスタを選択し、
前記メモリコントローラは、前記アービタが選択したアクセス要求を実行する、ことを特徴とする請求項１又は２記載のメモリアクセス制御装置。
【請求項８】
前記サブアービタは、前記アービタからのメモリアクセス要求を監視し、前記サブアービタがメモリアクセス要求を発行するとメモリアクセス効率を低下させるような場合には、メモリアクセス要求を発行しないように制御する、ことを特徴とする請求項１又は２記載のメモリアクセス制御装置。
【請求項９】
前記メモリコントローラは、前記アービタ及び前記サブアービタからのアクセス要求に従って前記メモリの制御信号を生成してメモリアクセスを実行し、
前記アービタと前記サブアービタの両方からメモリアクセス要求が出ていた場合には、
前記メモリコントローラは、前記サブアービタのメモリアクセス要求を優先して実行する、ことを特徴とする請求項１又は２記載のメモリアクセス制御装置。
【請求項１０】
前記メモリマスタから出されたアクセス要求を前記アービタから受けた前記メモリコントローラがメモリアクセスを実行中に、前記サブアービタが複数の前記メモリマスタからのアクセス要求を受け付けたときに、前記アービタで許可されたアクセス要求であって現在実行中のメモリアクセスと、前記サブアービタが受け付けたメモリアクセスが連続して実行されてもメモリアクセス効率が低下しない条件を満たす前記メモリマスタが複数あった場合には、
前記サブアービタは、前記条件を満たす複数の前記メモリマスタの中から、予め定められた基準に従って、アクセス要求を実行する前記メモリマスタを選択し、
前記メモリコントローラは、前記サブアービタが選択したアクセス要求を実行する、ことを特徴とする請求項１又は２記載のメモリアクセス制御装置。
【請求項１１】
前記サブアービタは、
接続される１又は複数のメモリマスタにそれぞれ対応して、前記アービタが現在実行中のメモリマスタのアクセス内容と、前記メモリマスタが要求しているアクセス内容を比較する１又は複数のアクセス比較部と、
前記複数のメモリマスタから１つのメモリマスタを選択する調停部と、
を備え、
前記サブアービタは、前記複数のメモリマスタのうちメモリアクセスレイテンシを短くしたいメモリマスタからのアクセス要求を監視し、
１つ以上のメモリマスタから、メモリアクセス要求が出ており、前記アービタがメモリアクセスを実行中であり、前記アービタが実行中のメモリアクセスと、前記サブアービタでアクセス要求を受け付けようとしているメモリアクセスが連続して実行されても、メモリアクセス効率が低下しない条件を満たしているか否かを、前記メモリマスタに接続されている前記アクセス比較部にて判定し、前記アクセス比較部での判定結果が真であるメモリマスタが１つ以上ある場合にはアクセス要求を受け付ける、ことを特徴とする請求項１又は２記載のメモリアクセス制御装置。
【請求項１２】
複数のマスタ装置からのアクセス要求を受けアクセス要求の調停を行うアービタと、
前記複数のマスタ装置の少なくとも一部のマスタ装置からのアクセス要求を受けアクセス要求の調停を行うサブアービタと、
前記アービタと前記サブアービタからのアクセス要求を受け、接続されるデバイスへのアクセスを行うコントローラと、
を備え、
前記アービタにより許可され現在実行中のアクセス要求の種類と、前記サブアービタを介してマスタ装置が行おうとするアクセスの種類が同一の場合に、前記アービタによるアクセスを中断し、前記サブアービタによるアクセスを割り込ませる、ことを特徴とするアクセス制御装置。
【請求項１３】
前記アービタにより許可され現在実行中のアクセス要求で使用されるデバイスのアクセス先と、前記サブアービタを介してマスタ装置がアクセスしようとするデバイスのアクセス先とが異なり、且つ、
前記アービタにより許可され現在実行中のアクセス要求の種類と、前記サブアービタを介してマスタ装置が行おうとするアクセスの種類が同一の場合に、前記アービタによるアクセスを中断し、前記サブアービタによるアクセスを割り込ませる、ことを特徴とする請求項１２記載のアクセス制御装置。
【請求項１４】
前記デバイスがメモリを内蔵し、前記アクセス要求が前記メモリへのアクセス要求である、ことを特徴とする請求項１２又は１３記載のアクセス制御装置。
【請求項１５】
前記サブアービタは、前記複数のマスタ装置のうちアクセス時間を短くしたいマスタ装置によるアクセス要求を監視し、前記アービタからのアクセス要求よりも、前記サブアービタからのアクセス要求が優先して実行される、ことを特徴とする請求項１２乃至１４のいずれか一記載のアクセス制御装置。
【請求項１６】
前記サブアービタは、前記アービタからのメモリアクセス要求を監視し、前記サブアービタがアクセス要求を発行するとアクセス効率を低下させるような場合には、アクセス要求を発行しないように制御する、ことを特徴とする請求項１２乃至１４のいずれか一記載のアクセス制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリのアクセス制御装置に関し、特に、ユニファイドメモリアーキテクチャやマルチプロセッサのシステムにおいて特定のメモリマスタのメモリアクセスレイテンシを低減するメモリアクセス制御に適用して好適な装置に関する。
【背景技術】
【０００２】
ユニファイドメモリアーキテクチャやマルチプロセッサのシステムでは、複数のメモリマスタが単一のメモリを共有して時分割で使用する。
【０００３】
図５は、従来のメモリアクセス制御装置の構成の一例を示す図である。図５を参照すると、このメモリアクセス制御装置１０’において、複数のメモリマスタ１１〜１４からのアクセス要求は、アービタ２０’により調停され、許可されたメモリマスタのアクセス要求がメモリコントローラ４０’を介してメモリ５０に行われる。
【０００４】
アービタ２０’による調停のタイミングは、メモリマスタからの複数のバースト長からなるアクセス要求が完了するときに行われる。このため、あるメモリマスタがメモリ５０を使用中はそのアクセスが完了するまで他のメモリマスタはメモリ５０を使用できない。
【０００５】
図６は、従来のメモリアクセス制御装置１０’の動作の一例を説明する図である。Ｔ０の時点で、メモリマスタＡからのメモリ５０のバンク０への８バーストのリードアクセス要求が出され、Ｔ１の時点でアービタ２０’からメモリコントローラ４０’に８バーストのメモリアクセス要求が出力される。
【０００６】
Ｔ４の時点でメモリマスタＣがメモリ５０のバンク１に対して４バーストのリードのメモリアクセス要求を出力しても、メモリコントローラ４０’はメモリマスタＡからのメモリアクセス要求を実行中であり、メモリマスタＣからのメモリアクセス要求は処理されない。Ｔ９の時点でメモリマスタＡからのメモリアクセスが終了し、メモリマスタＣからのメモリアクセス要求が実行される。
【０００７】
図６に示す例では、タイミングＴ０からメモリマスタＡのアクセス要求を処理中、タイミングＴ４でメモリマスタＣからアクセス要求があった場合、メモリマスタＣからのアクセス要求をウエイトさせ、メモリマスタＡのアクセス要求の処理（バンク０  ８バイトバースト・リード）が終了したのち、メモリマスタＣのアクセス要求の処理（バンク１  ４バイトバースト・リード）が行われる。
【０００８】
なお、特許文献１には、任意のバースト長のアクセス要求に対してバースト長の設定を最適化し、バースト長の更新を可及的に減少させる構成のメモリ制御装置が開示されている。この特許文献１の発明は、モードレジスタの設定頻度を減少させるものである。
【０００９】
特許文献２には、調停手段によって調停されたメモリアクセス要求を一定長のデータをアクセスする複数のメモリのメモリアクセス命令に分割し、メモリ制御手段に対してメモリアクセス命令を発行するアクセス分割手段を備えた構成のメモリアクセス装置が開示されている。この発明は、調停手段に入力されるメモリアクセス手段のメモリアクセス要求をアクセス分割手段で分割し、分割したメモリアクセス命令の間にＣＰＵからのメモリアクセス要求を割り込ませるというものである。
【００１０】
複数の調停回路を備えた構成としては、例えば特許文献３の記載が参照される。
【００１１】
特許文献４には、高優先度のポート部からのデータ転送要求が主記憶ビジーで待たされることが明らかな場合、低優先度のポート部からデータ転送要求であっても主記憶ビジーでない主記憶バンクへの要求を選択して主記憶へ送出し、入出力装置の待ち状態を回避し、効率良くデータ転送可能とした入出力制御装置が開示されている。
【００１２】
【特許文献１】特開２００１−１３５０７９号公報
【特許文献２】特開２００２−１２３４２０号公報
【特許文献３】特開２００５−３１６６０９号公報
【特許文献４】特開昭５９−２２５４２６号公報
【発明の開示】
【発明が解決しようとする課題】
【００１３】
図５及び図６を参照して説明したように、複数のメモリマスタからのアクセス要求はアービタ２０’により調停されるが、調停のタイミングは、メモリマスタからの複数のバースト長からなるアクセス要求が完了するときに行われるだけであることから、あるメモリマスタがメモリを使用中は、そのアクセスが完了するまでは、他のメモリマスタはメモリ５０を使用することはできない。
【００１４】
ユニファイドメモリアーキテクチャやマルチプロセッサのシステムでは、メモリマスタがメモリにアクセス要求を出してもすぐにメモリアクセスを開始できない場合があるため、メモリアクセスレイテンシを短くすることが困難である。
【００１５】
また、ユニファイドメモリアーキテクチャやマルチプロセッサのシステムでは、複数のメモリマスタからのメモリアクセスが競合するため、メモリ帯域を高くすることが求められるが、そのためにはメモリアクセス効率を高くすることが必要となる。
【００１６】
メモリアクセス効率を高くするには、メモリマスタの１回あたりのメモリアクセスのバースト長を長くすることが効果的ではあるが、これは、メモリアクセスレイテンシをさらに長くすることにつながってしまう。
【００１７】
ＣＰＵは、メモリアクセスレイテンシが性能に大きな影響を与えるため、ユニファイドメモリアーキテクチャやマルチプロセッサのシステムでは、ＣＰＵ性能を高くすることが難しい、という問題がある。
【００１８】
したがって、本発明の目的は、特定のメモリマスタからのアクセスのメモリアクセスレイテンシを低減することが可能なメモリアクセス制御装置を提供することにある。
【課題を解決するための手段】
【００１９】
本願で開示される発明は、前記課題を解決するため概略以下の構成とされる。
【００２０】
本発明における第１のアスペクト（側面）に係るメモリアクセス制御装置は、それぞれがメモリへのアクセス要求を行う複数のメモリマスタと、複数のメモリマスタからのアクセス要求を受けアクセス要求の調停を行うアービタと、前記複数のメモリマスタの少なくとも一部のメモリマスタからのアクセス要求を受けアクセス要求の調停を行うサブアービタと、前記アービタと前記サブアービタからのアクセス要求を受け、接続されるメモリへのメモリアクセスを行うメモリコントローラと、を備え、前記アービタにより許可され現在実行中のアクセス要求の種類と、前記サブアービタを介してメモリマスタが行おうとするアクセスの種類が同一の場合に、前記アービタによるメモリアクセスを中断し、前記サブアービタによるメモリアクセスを割り込ませる。本発明の第１の側面において、前記メモリは単一バンク構成である。
【００２１】
本発明における第２のアスペクト（側面）に係るメモリアクセス制御装置は、それぞれがメモリへのアクセス要求を行う複数のメモリマスタと、複数のメモリマスタからのアクセス要求を受けアクセス要求の調停を行うアービタと、前記複数のメモリマスタの少なくとも一部のメモリマスタからのアクセス要求を受けアクセス要求の調停を行うサブアービタと、前記アービタと前記サブアービタからのアクセス要求を受け、接続されるメモリへのメモリアクセスを行うメモリコントローラと、を備え、前記アービタにより許可され現在実行中のアクセス要求で使用されるメモリのバンクと、前記サブアービタを介してメモリマスタがアクセスしようとするメモリのバンクとが異なり、且つ、前記アービタにより許可され現在実行中のアクセス要求の種類と、前記サブアービタを介してメモリマスタが行おうとするアクセスの種類が同一の場合に、前記アービタによるメモリアクセスを中断し、前記サブアービタによるメモリアクセスを割り込ませる。
【００２２】
本発明において、前記サブアービタは、メモリアクセスレイテンシを短くしたい特定のメモリマスタによるメモリアクセス要求を監視し、前記アービタからのアクセス要求よりも、前記サブアービタからのアクセス要求が優先される。
【００２３】
本発明において、前記アービタがアクセス要求を受け付けた前記メモリマスタからの２つのアクセス要求を複数のアクセス要求に分割し、分割後のアクセス要求のアドレスを生成するアクセス分割部を備えている。
【００２４】
本発明の第２の側面において、前記メモリは複数バンク構成である。
【００２５】
本発明において、前記アービタは、前記メモリマスタからメモリアクセス要求が出ており、メモリアクセスを実行中でなければ、前記メモリマスタからのアクセス要求を実行し、複数の前記メモリマスタからアクセス要求が出ていた場合には、あらかじめ定められた基準に従って、それらの中から、アクセス要求を実行する前記メモリマスタを選択し、前記メモリコントローラが前記アービタが選択したアクセス要求を実行する。
【００２６】
本発明において、前記メモリコントローラは、前記アービタおよび前記サブアービタからのアクセス要求に従ってメモリの制御信号を生成しメモリアクセスを実行し、前記アービタと前記サブアービタの両方からメモリアクセス要求が出ていた場合には、前記メモリコントローラは前記サブアービタのメモリアクセス要求を優先して実行する。
【００２７】
本発明において、前記メモリマスタから出されたアクセス要求を前記アービタから受けた前記メモリコントローラがメモリアクセスを実行中に、前記サブアービタが複数の前記メモリマスタからのアクセス要求を受け付けたときに、前記アービタで許可されたアクセス要求であって現在実行中のメモリアクセスと、前記サブアービタが受け付けたメモリアクセスが連続して実行されてもメモリアクセス効率が低下しない条件を満たす前記メモリマスタが２つ以上あった場合には、前記サブアービタはあらかじめ定められた基準に従って、それらの中からアクセス要求を実行する前記メモリマスタを選択し、前記メモリコントローラは、前記サブアービタが選択したアクセス要求を実行する。
【発明の効果】
【００２８】
本発明によれば、特定のメモリマスタからのアクセスのメモリアクセスレイテンシを低減することが可能なメモリアクセス制御装置を提供することができる。
【発明を実施するための最良の形態】
【００２９】
上記した本発明についてさらに詳細に説述すべく添付図面を参照して説明する。本発明は、あるメモリマスタがメモリを使用中でも、メモリアクセスレイテンシを短くしたい特定のメモリマスタからメモリアクセス要求があった場合には、メモリを使用中のメモリマスタによるメモリアクセスを中断し、メモリアクセスレイテンシを短くしたい特定のメモリマスタによるメモリアクセスを割り込ませるようにする。その際、無条件に割り込みを行うとメモリアクセス効率が著しく低下するため、メモリアクセス効率を低下させない条件が整っている場合のみ、割り込みを許可するようにする。
【００３０】
本発明においては、アービタ（２０）の他に、メモリアクセスレイテンシを短くしたい特定のメモリマスタによるメモリアクセス要求を監視し、調停するサブアービタ（３０）を設ける。
【００３１】
アービタ（２０）は、メモリマスタからの複数バースト長からなるメモリアクセスを短いアクセス単位に分割し、メモリコントローラにその短いアクセス単位毎にメモリアクセス要求を発行するアクセス分割部（２２）を備えている。
【００３２】
サブアービタ（３０）は、メモリアクセスレイテンシを短くしたい特定のメモリマスタからのアクセス要求があったら、直ちにメモリコントローラ（４０）に対してアクセス要求を発行する。ただし、サブアービタ（３０）は、アービタ（２０）からのメモリアクセス要求を監視しており、サブアービタ（３０）がメモリアクセス要求を発行するとメモリアクセス効率を低下させるような場合には、メモリアクセス要求を発行しないようにする。サブアービタ（３０）からのメモリアクセス要求を、アービタ（２０）からのメモリアクセス要求よりも優先しておけば、アービタ（２０）からのメモリアクセス要求は短い単位に分割されているため、サブアービタ（３０）からのメモリアクセス要求は、すぐに（少ない待ち時間で）実行されることになる。これにより、特定のメモリマスタによるメモリアクセスレイテンシを短くすることができる。以下、具体的な実施例に即して説明する。
【実施例】
【００３３】
図１は、本発明の第１の実施例の構成を示す図である。メモリアクセス制御装置１０と、複数のバンクを持つメモリ５０を備え、メモリアクセス制御装置１０は、メモリマスタＡ（１１）、Ｂ（１２）と、メモリアクセスレイテンシを短くしたいメモリマスタＣ（１３）、Ｄ（１４）と、アービタ２０とサブアービタ３０とメモリコントローラ４０と、を備えている。
【００３４】
図２は、図１のアービタ２０の構成の一例を示す図である。図２を参照すると、本実施例において、アービタ２０は、複数のメモリマスタ１１〜１４から一つのメモリマスタを選択する調停部２１と、メモリマスタからのアクセス要求が複数のバースト長からなる場合に、短いバースト長に分割するアクセス分割部か２２と、を備えている。
【００３５】
図３は、図１のサブアービタ３０の構成の一例を示す図である。図３を参照すると、本実施例において、サブアービタ３０は、接続されるメモリマスタ毎に、アービタ２０が現在実行中のメモリマスタのアクセス内容と、該メモリマスタが要求しているアクセス内容を比較するアクセス比較部３１、３２、３３、３４と、複数のメモリマスタから一つのメモリマスタを選択する調停部３５と、メモリマスタからのアクセス要求が複数のバースト長からなる場合に短いバースト長に分割するアクセス分割部３６と、を備えている。
【００３６】
本実施例の動作を以下に説明する。メモリマスタ１１〜１４は、それぞれメモリアクセス要求を、アービタ２０に対して発行する。
【００３７】
アービタ２０は、複数のメモリマスタ１１〜１４からのアクセス要求を監視し、１つ以上のメモリマスタからメモリアクセス要求が出ており、メモリアクセスを実行中でなければ、メモリマスタからのアクセス要求を受け付ける。その際、複数のメモリマスタからアクセス要求が出ていた場合は、調停部２１は、ある一定の条件に従って、アクセス要求を発行している複数のメモリマスタのうちの１つのメモリマスタからのアクセス要求を受け付ける。ここで、一定の条件とは、例えば、固定の優先順位やラウンドロビン方式などがある。
【００３８】
アービタ２０は、さらに、要求を受け付けたメモリマスタから複数のバースト長からなるアクセス要求が出ていた場合には、アクセス分割部２２により、複数の短いアクセス単位に分割する。本発明において、短い単位は、任意の長さであるが、メモリの最低アクセス単位が望ましい。
【００３９】
例えば、アクセス分割部２２が、２バースト単位に分割するとした場合、メモリマスタからの８バーストのアクセス要求は、４つの２バーストのアクセス要求に分割される。この場合、メモリマスタは、４回の２バーストのアクセス要求を、メモリコントローラ４０に対して発行する。その際、分割後の個々のアクセス要求のアドレスは、アクセス分割部２２が生成する。
【００４０】
サブアービタ３０は、
（ａ）複数のメモリアクセスレイテンシを短くしたいメモリマスタからの要求を監視し、
（ｂ）１つ以上のメモリマスタから、メモリアクセス要求が出ており、
（ｃ）アービタ２０がメモリアクセスを実行中であり、
（ｄ）アービタ２０が実行中のメモリアクセスと、サブアービタ３０でアクセス要求を受け付けようとしているメモリアクセスが連続して実行されても、メモリアクセス効率が低下しない条件を満たしているか否かを、各メモリマスタに接続されているアクセス比較部３１〜３４で判定し、
（ｅ）アクセス比較部３１〜３４での判定結果が真であるメモリマスタが１つ以上ある場合には、アクセス要求を受け付ける、
という一連の制御動作を行う。
【００４１】
複数のメモリマスタからアクセス要求が出ており、複数のメモリマスタに接続されたアクセス比較部の出力結果が真であった場合は、調停部３５がある一定の条件に従ってそれらのうちの１つのメモリマスタからのアクセス要求を受け付ける。一定の条件とは、例えば、固定の優先順位やラウンドロビン方式などがある。
【００４２】
サブアービタ３０は、アクセス要求を受け付けたら、ただちにメモリコントローラ４０に対してアクセス要求を発行する。
【００４３】
要求を受け付けたメモリマスタから複数のバースト長からなるアクセス要求が出ていた場合には、アクセス分割部３６により、複数の短いアクセス単位に分割する。ただし、サブアービタ３０のアクセス分割部３６は省略してもよい。すなわち、サブアービタ３０で受け付けたアクセス要求は短い単位に分割しなくてもよい。
【００４４】
アクセス比較部３１〜３４で判定するメモリアクセス効率が低下しない条件とは、
（Ａ）複数のバンクからなるメモリが接続されている場合は、アービタ２０が実行中のメモリアクセスが使用中のメモリのバンクと、サブアービタ３０がアクセスしようとするメモリのバンクが異なり、且つ、
（Ｂ）アービタ２０が実行中のメモリアクセスの種類、リードまたはライトと、サブアービタ３０が行おうとするメモリアクセスの種類が同一の場合である。
【００４５】
例えばバンク０、１、２、３の４つのバンクからなるメモリが接続されているときに、アービタ２０が実行中のメモリアクセスがメモリのバンク０に対するものであった場合、サブアービタ３０は、メモリのバンク０に対するメモリアクセス要求は受け付けず、バンク１、２、３へのメモリアクセス要求のみを受け付ける。
【００４６】
また、アービタ２０が実行中のメモリアクセスがリードであった場合、サブアービタ３０は、リードのアクセス要求のみを受け付け、ライトのメモリアクセス要求は受け付けない。
【００４７】
単一のバンクからなるメモリが接続されている場合は、アービタ２０が実行中のメモリアクセスの種類、リードまたはライトと、サブアービタ３０が行おうとするメモリアクセスの種類が同一である場合が、メモリアクセス効率が低下しない条件となる。
【００４８】
メモリコントローラ４０は、アービタ２０およびサブアービタ３０からのアクセス要求を受け付け、それに従って、メモリ５０の制御信号を生成し、メモリアクセスを実行する。
【００４９】
メモリコントローラ４０は、アービタ２０とサブアービタ３０の両方から、メモリアクセス要求が出ていた場合には、サブアービタ３０のメモリアクセス要求を優先して実行する。
【００５０】
次に、図４を用いて、本実施例の具体的な動作例を説明する。Ｔ０の時点で、メモリマスタＡがメモリ５０のバンク０に対して８バーストのリードのメモリアクセス要求を出した場合、アービタ２０は、その時点でメモリアクセスを実行中ではないので、ただちに、メモリマスタＡからのメモリアクセス要求を受け付け、４回の２バーストのリードアクセスに分割し、Ｔ１の時点で、メモリコントローラ４０に対して最初の２バーストのアクセス要求を出力する。
【００５１】
Ｔ３の時点で、最初の２バーストのリードアクセスが終了し、２回目の２バーストのリードアクセス要求を出力する。
【００５２】
Ｔ４の時点で、メモリマスタＣがメモリのバンク１に対して、４バーストのリードのメモリアクセス要求を出した場合、サブアービタ３０は、アービタ２０が現在実行中のアクセスと比較し、異なるバンクへのアクセスで同じ種類のアクセスであることから、Ｔ５の時点で、メモリコントローラ４０に対して、４バーストのリードアクセス要求を出力する。
【００５３】
本実施例では、サブアービタ３０で受け付けたメモリアクセス要求は、短い単位に分割していない。
【００５４】
同時に、アービタ２０からは３回目のアクセス要求が出ているが、メモリコントローラは、サブアービタ３０からのメモリアクセス要求を優先して、バンク１への４バーストのリードアクセスを実行する。
【００５５】
Ｔ９の時点で、サブアービタ３０からのメモリアクセスが終了し、アービタ２０からの３回目のメモリアクセス要求を受け付け、実行する。
【００５６】
Ｔ１１の時点で３回目のリードアクセスが終了し、最後のリードアクセス要求を出力する。Ｔ１３の時点ですべてのアクセスは終了する。
【００５７】
本実施例によれば、図４に示すように、Ｔ９の時点でメモリマスタＣからのメモリアクセスが終了するのに対して、従来技術の説明で参照した図６では、Ｔ１３の時点となている。
【００５８】
本実施例のメモリアクセス制御装置では、メモリマスタＣのメモリアクセスレイテンシが削減されていることがわかる。
【００５９】
本発明によれば、ユニファイドメモリアーキテクチャやマルチプロセッサのシステムにおいて、特定のメモリマスタからのメモリアクセスレイテンシを短くすることができるとともに、システム全体のメモリアクセス効率を高く保つことが可能となる。
【００６０】
なお、上記の特許文献、非特許文献の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示（請求の範囲を含む）の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素の多様な組み合わせないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
【図面の簡単な説明】
【００６１】
【図１】本発明の一実施例の構成を示す図である。
【図２】本発明の一実施例のアービタの構成を示す図である。
【図３】本発明の一実施例のサブアービタの構成を示す図である。
【図４】本発明の一実施例におけるメモリアクセスシーケンスの一例を示す図である。
【図５】従来のシステムの構成を示す図である。
【図６】従来のシステムにおけるメモリアクセスシーケンスを示す図である。
【符号の説明】
【００６２】
１０、１０’  メモリアクセス制御装置
１１  メモリマスタＡ
１２  メモリマスタＢ
１３  メモリマスタＣ
１４  メモリマスタＤ
２０、２０’  アービタ
２１  調停部
２２  アクセス分割部
３０  サブアービタ
３１  アクセス比較部
３２  アクセス比較部
３３  アクセス比較部
３４  アクセス比較部
３５  調停部
３６  アクセス分割部
４０、４０’  メモリコントローラ
５０メモリ
【図１】
2008276391.tif 000003
【図２】
2008276391.tif 000004
【図３】
2008276391.tif 000005
【図４】
2008276391.tif 000006
【図５】
2008276391.tif 000007
【図６】
2008276391.tif 000008