(57)【要約】【課題】共有メモリを共用するデータ処理部の数が増加した場合であっても、応答時間の増加を抑制し、画像データなど連続したデータの処理にも適した共有メモリアクセス制御方法を提供する。【解決手段】複数個のデータ処理部４０と、データ処理部４０から複数回のアクセスが可能な共有メモリ１０と備えたデータ処理システムにおいて、複数のデータ処理部４０を複数のグループに分け、複数のグループのそれぞれに対して、共有メモリ１０へアクセスするグループ間優先順位を設け、グループ間優先順位に応じたウエイト時間を設け、アクセス要求が競合したとき、グループ間の優先順位に従った順番に、共有メモリ１０へアクセスするように制御するとともに、データ処理部４０のクロック周期内に、許容アクセス回数以上のアクセス要求が競合したとき、ウエイト時間を用いて各データ処理部４０から共有メモリ１０へアクセスするように制御する。【選択図】図１
2005242408.tif 000002
【特許請求の範囲】
【請求項１】
クロック周期を時間単位としてデータ処理を行なう複数個のデータ処理部と、前記データ処理部から前記クロック周期内に許容アクセス回数とした複数回のアクセスが可能な共有メモリとを備えたデータ処理システムにおける共有メモリアクセス制御方法であって、
前記複数個のデータ処理部を複数のグループに分け、
前記複数のグループのそれぞれに対して、前記共有メモリのアクセスにおける前記グループ間の優先順位を示すグループ間優先順位を設け、
前記複数のグループのそれぞれに対して、前記グループ間優先順位に応じたクロック周期単位のウエイト時間を設け、
前記クロック周期内に複数の前記データ処理部から共有メモリへのアクセス要求が競合したとき、前記グループ間の優先順位に従った順番に、前記クロック周期内に前記許容アクセス回数に等しい個数のデータ処理部から共有メモリへアクセスするように制御するとともに、
前記クロック周期内に、前記許容アクセス回数に等しい個数以上の前記アクセス要求が競合したときには、前記ウエイト時間を用いて各データ処理部から共有メモリへアクセスするように制御することを特徴とする共有メモリアクセス制御方法。
【請求項２】
前記クロック周期内に、前記許容アクセス回数に等しい個数以上の前記アクセス要求が競合したときには、前記ウエイト時間に応じて前記クロック周期単位で遅延を行なうメモリバッファを介して、各データ処理部から共有メモリへアクセスするように制御することを特徴とする請求項１記載の共有メモリアクセス制御方法。
【請求項３】
前記複数個のデータ処理部は、グループのそれぞれが前記許容アクセス回数に等しい個数分の前記データ処理部を含むように、複数のグループに分けられたことを特徴とする請求項１記載の共有メモリアクセス制御方法。
【請求項４】
前記複数個のデータ処理部は、それぞれのグループが前記許容アクセス回数に等しい個数分以下の前記データ処理部を含むように、複数のグループに分けられたことを特徴とする請求項１記載の共有メモリアクセス制御方法。
【請求項５】
前記複数個のデータ処理部は、前記グループ間優先順位が最も低いとするグループを除き、それぞれのグループが前記許容アクセス回数に等しい個数分以下の前記データ処理部を含むように、複数のグループに分けられたことを特徴とする請求項１記載の共有メモリアクセス制御方法。
【請求項６】
前記複数のグループのそれぞれに対して設けられたウエイト時間は、前記グループ間優先順位に応じて、前記グループ間優先順位が高いグループほど短いウエイト時間とすることを特徴とする請求項２から請求項５までのいずれか一項に記載の共有メモリアクセス制御方法。
【請求項７】
前記ウエイト時間は、前記グループ間優先順位に応じて、
前記グループ間優先順位が最も高いグループに対しては、ウエイト時間なしとする０ウエイトのウエイト時間を設定し、
次に前記グループ間優先順位が高いグループに対しては、１クロック周期のウエイト時間を１ウエイトとしたとき、０ウエイトを含む１ウエイト以下のウエイト時間を設定し、
順次、Ｎ番目の前記グループ間優先順位が高いグループに対して、（Ｎー１）クロック周期のウエイト時間を（Ｎ−１）ウエイトとしたとき、０ウエイトを含む（Ｎ−１）以下のウエイト時間を設定することを特徴とする請求項６記載の共有メモリアクセス制御方法。
【請求項８】
前記クロック周期内に、前記許容アクセス回数に等しい個数以上の複数の前記データ処理部から共有メモリへのアクセス要求が競合したときには、
前記アクセス要求した複数の前記データ処理部の前記グループ間優先順位を比較し、
その比較結果において、前記グループ間優先順位が最も高い前記データ処理部から順に前記許容アクセス回数に等しい個数分のデータ処理部を抽出し、
前記許容アクセス回数に等しい個数を単位として、前記抽出した順に前記データ処理部を転送順グループとするグループに区分し、
前記転送順グループの転送順位が高いグループほど短いウエイト時間を設定して、
各データ処理部から共有メモリへアクセスするように制御することを特徴とする請求項６または請求項７に記載の共有メモリアクセス制御方法。
【請求項９】
前記ウエイト時間は、前記転送順グループの転送順位に応じて、
前記転送順グループの転送順位が最も高いグループに対しては、ウエイト時間なしとする０ウエイトのウエイト時間を設定し、
次に前記転送順グループの転送順位が高いグループに対しては、１クロック周期のウエイト時間を１ウエイトとしたとき、０ウエイトを含む１ウエイト以下のウエイト時間を設定し、
順次、Ｎ番目の前記転送順グループの転送順位が高いグループに対して、（Ｎー１）クロック周期のウエイト時間を（Ｎ−１）ウエイトとしたとき、０ウエイトを含む（Ｎ−１）以下のウエイト時間を設定することを特徴とする請求項８記載の共有メモリアクセス制御方法。
【請求項１０】
前記グループ間優先順位を設けた各グループ内において、一つ以上のデータ処理部に対して、前記共有メモリのアクセスにおけるグループ内での優先順位とするグループ内優先順位を設けたことを特徴とする請求項９記載の共有メモリアクセス制御方法。
【請求項１１】
前記クロック周期内に、前記許容アクセス回数に等しい個数以上の前記アクセス要求が競合したときには、前記ウエイト時間に応じて前記クロック周期単位でアクセスデータの遅延量を補正するバッファを介して、各データ処理部から共有メモリへアクセスするように制御することを特徴とする請求項１記載の共有メモリアクセス制御方法。
【請求項１２】
前記バッファは、前記ウエイト時間の増加に応じて、前記クロック周期単位でのアクセスデータの遅延量が減少するように補正することを特徴とする請求項１１記載の共有メモリアクセス制御方法。
【請求項１３】
前記バッファは、前記アクセスデータを複数のビット幅に区分し、区分毎のビットで構成さる各データを前記クロック周期単位のシリアルデータに変換し、前記変換によるシリアルデータに対して、遅延量の補正を行なうことを特徴とする請求項１２記載の共有メモリアクセス制御方法。
【請求項１４】
前記区分毎のビットで構成さる各データは、連続した画像データであることを特徴とする請求項１３記載の共有メモリアクセス制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理を行なう複数個のデータ処理部と、各データ処理部からアクセスし、データの書き込み、および読み出しが可能な共有メモリとを備えたデータ処理システムにおける共有メモリのアクセス制御方法に関する。
【背景技術】
【０００２】
従来、例えば、データ処理を実行するプロセッサが複数個接続され、それぞれのプロセッサが共用のメモリをアクセスするような方法として、ＤＭＡ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）方法が知られている。
【０００３】
図１０は、従来のＤＭＡ方法に基づく共有メモリアクセス制御方法を利用したデータ処理システムの一例を示す構成図である（例えば、特許文献１参照）。
【０００４】
図１０に示す従来のデータ処理システムでは、プロセッサ等で構成されるデータ処理部９４Ａ、９４Ｂ、および９４Ｃがシステムバスにより接続される。さらに、システムバス９３には、各データ処理部９４（以下、データ処理部９４Ａ、９４Ｂ、および９４Ｃを特に区分する必要がない場合はデータ処理部９４と呼ぶ）が利用するデータが記憶された共有メモリ９１がメモリインターフェース部９２を介して接続されている。これにより、各データ処理部９４から共有メモリ９１にデータの書き込みができ、また各データ処理部９４は、共有メモリ９１からデータの読み出しが可能なように構成されている。メモリインターフェース部９２のアクセス調停部９２１は、各データ処理部９４からのアクセス要求が競合したとき、どのアクセス要求を優先するかを調停する。また、メモリ処理部９２２は、アクセス調停部９２１からのアクセス制御信号に従ってデータ処理部９４と共有メモリ９１とのデータ接続を行なう。また、各データ処理部９４とシステムバス９３との間にはデータを一時記憶するバッファ９５が設けられている。
【０００５】
以上のような従来のデータ処理システムの構成において、データ処理部９４Ａ、９４Ｂ、および９４Ｃのそれぞれが共有メモリ９１へアクセスするときは、アクセス要求をアクセス調停部９２１に通知する。アクセス調停部９２１は、あらかじめ決められたシステムバス専有権の優先順位に従い、アクセス要求したデータ処理部９４に対して、規定時間（クロックｆｓ）単位で順番にデータ転送を行ない、データ転送が終了するとそのアクセス要求を解除する。特に、データ処理部９４のクロック周期中に、全データ処理部９４（Ｎ台）のデータ転送ができるよう、あらかじめ１回の転送時間を規定している。これにより、アクセス要求の競合によるデータ処理部９４の処理時間が増大することを抑制している。
【０００６】
例えば、共有メモリ９１からデータを読み出すとき、データ処理部９４は、読み出すアドレスを出力するとともに、アクセス要求をアクセス調停部９２１に通知する。アクセス調停部９２１は、優先順位に従い該当するバッファ９５を選択する。さらに、アクセス調停部９２１は、メモリ処理部９２２に対して、選択されたバッファ９５がシステムバス９３を介して共有メモリ９１のデータ端子と電気的に接続されるよう制御する。この後、所定のタイミングにより、指定されたアドレスのデータがバッファ９５に一時記憶される。特に、バッファ９５と共有メモリ９１間のデータ転送は、データ処理部９４のクロック周期の期間中にＮ回のデータ転送が可能なようにタイミング設定されている。
【０００７】
図１１は、アクセス要求が競合した場合のアクセス制御のタイミングを示すタイミングチャートである。ここでの優先順位は、データ処理部９４Ａ、９４Ｂ、９４Ｃの順とする。Ｔｓは、データ処理部９４のクロック周期、Ｔｍは、共有メモリ９１のアクセス時間であり、ＴｓはＴｍの３倍の時間幅である一例を示している。図１１に示すように、共有メモリ９１のアクセス時間は、データ処理部９４の３倍の速度で動作するため、高速で共有メモリ９１からデータを読み出すことが可能であるとともに、バッファ９５により各データ処理部９４のクロック周期に対応したデータ速度でデータを供給できる。このように、複数のデータ処理部９４から等価的には同時に共有メモリ９１へアクセスすることが可能となる。
【０００８】
ところで、近年マルチメディア関連の技術の進展により、画像データ、音声データ、あるいはこれらのデータを圧縮符号化したストリーム信号などのデジタルデータを処理する装置や方法に関する技術が急速に進展している。このため、上述した共有メモリにおいても、例えば、画像データを記憶し、その画像データが複数のデータ処理装置からアクセスされるような利用方法が頻繁に行なわれており、画像データを共有する共有メモリに関連した制御手法なども提案されている。例えば、共有メモリに画像データを記憶し、複数のデータ処理装置がその画像データを共用しながら画像データ処理を行なうためには、画像データの連続性を確保できるような適切なバス調停の制御が要求され、簡単な制御で連続性を確保しつつバス調停を実現するような手法も提案されている（例えば、特許文献２参照）。
【特許文献１】特開昭６３−２９８５５５号公報
【特許文献２】特開平８−２２３５７１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、上述した従来の共有メモリアクセス制御方法では、共有メモリを共用するデータ処理部の数が増加した場合、上述したクロック周期Ｔｓとアクセス時間Ｔｍとの比率を高くする必要があった。
【００１０】
すなわち、データ処理部の処理速度を下げたくない場合には、共有メモリのアクセス時間を高速にする必要があり、このため高価な高速メモリの利用が必要となる。さらに、データ処理部の数が膨大になると高速メモリであっても対応できなくなるというような課題があった。また、逆に、共有メモリのアクセス時間が限られた場合には、データ処理部の増加に伴い、データ処理部のクロック周期Ｔｓに対応したデータ転送速度を低下させる必要があり、一つのデータ処理部における処理時間が低下するという課題があった。
【００１１】
また、優先順位に応じた順にデータ処理部に対してデータを転送する方法があるが、このような方法では、データ処理部の増加に伴い、優先順位の低いデータ処理部に対して長時間のウエイト時間を設ける必要が生じ、アクセス要求からデータ転送までの応答遅延時間が増大する可能性があるという課題があった（例えば、特許文献１の従来の技術を参照）。
【００１２】
本発明は、上記課題を解決するためになされたもので、共有メモリを共用するデータ処理部の数が増加した場合であっても、共有メモリの動作速度の高速化やデータ処理部のデータ転送速度の低速化などを必要とせず、またアクセス要求からデータ転送までの応答時間の増加を抑制した共有メモリアクセス制御方法を提供することを目的とする。また、画像データのような連続性が重要となるデータを記憶した共有メモリのアクセスにおいても、データの連続性を確保しつつ、複数のデータ処理部に対しての適切なバス調停が行なえる共有メモリアクセス制御方法を提供することを目的とする。
【課題を解決するための手段】
【００１３】
上述したような課題を解決するために、本発明の共有メモリアクセス制御方法は、クロック周期を時間単位としてデータ処理を行なう複数個のデータ処理部と、データ処理部からクロック周期内に許容アクセス回数とした複数回のアクセスが可能な共有メモリとを備えたデータ処理システムにおける共有メモリアクセス制御方法である。さらに、本発明の共有メモリアクセス制御方法は、複数個のデータ処理部を複数のグループに分け、複数のグループのそれぞれに対して、共有メモリのアクセスにおけるグループ間の優先順位を示すグループ間優先順位を設け、複数のグループのそれぞれに対して、グループ間優先順位に応じたクロック周期単位のウエイト時間を設ける。さらに、本発明の共有メモリアクセス制御方法は、クロック周期内に複数のデータ処理部から共有メモリへのアクセス要求が競合したとき、グループ間の優先順位に従った順番に、クロック周期内に許容アクセス回数に等しい個数のデータ処理部から共有メモリへアクセスするように制御するとともに、クロック周期内に、許容アクセス回数に等しい個数以上のアクセス要求が競合したときには、ウエイト時間を用いて各データ処理部から共有メモリへアクセスするように制御する構成である。
【００１４】
このような構成によれば、データ処理部の個数に合わせて許容アクセス回数を変える必要はないため、共有メモリのアクセス時間の高速化、あるいはデータ処理部のクロック周期に対応したデータ転送速度の低速化を必要としない。また、許容アクセス回数に等しい個数を、クロック周期内に複数のデータ処理部が共有メモリへアクセスする単位としており、ウエイト時間に関しても許容アクセス回数に等しい個数単位で割り振ることが可能なため、優先順位の低いデータ処理部におけるアクセス要求からデータ転送までの応答遅延時間を抑制することが可能となる。
【００１５】
また、本発明の共有メモリアクセス制御方法は、クロック周期内に、許容アクセス回数に等しい個数以上のアクセス要求が競合したときには、ウエイト時間に応じてクロック周期単位でアクセスデータの遅延量を補正するバッファを介して、各データ処理部から共有メモリへアクセスするように制御する構成である。
【００１６】
このような構成によれば、ウエイト時間に応じてアクセス時間の変動が生じても、バッファによりアクセスデータの遅延量を補正することが可能であり、画像データなどに対して連続性を確保しつつ共有メモリへのアクセス制御が可能となる。
【発明の効果】
【００１７】
本発明の共有メモリアクセス制御方法によれば、共有メモリを共用するデータ処理部の数が増加した場合であっても、共有メモリの動作速度の高速化やデータ処理部のデータ転送速度の低速化などを必要とせず、またアクセス要求からデータ転送までの応答時間の増加を抑制することが可能となり、それによって高価な高速メモリを利用する必要はなく、データ処理部における処理時間の低速化や、アクセス要求からデータ転送までの応答遅延時間が増大を招くこともないため、数多くのデータ処理部を有するデータ処理システムに対しても、コストの増大を招くことなく容易に対応可能な共有メモリアクセス制御方法を提供することができる。また、アクセスデータの遅延量を補正するバッファを設けることで、画像データのような連続性が重要となるデータを記憶した共有メモリのアクセスにおいても、データの連続性を確保しつつ、複数のデータ処理部に対しての適切なバス調停が行なえる共有メモリアクセス制御方法を提供することができる。
【発明を実施するための最良の形態】
【００１８】
以下、本発明の実施の形態について、図面を参照しながら説明する。
【００１９】
（実施の形態１）
図１は、本発明の実施の形態１における共有メモリアクセス制御方法を利用したデータ処理システムの一例を示す構成図である。
【００２０】
図１に示す本実施の形態のデータ処理システムは、プロセッサ等で構成される各データ処理部４０がグループ化されており、それぞれがシステムバス３０に接続されている。図１では、グループ１としてデータ処理部１Ａ４０、および１Ｂ４０、グループ２としてデータ処理部２Ａ４０、さらに、グループ３としてデータ処理部３Ａ４０、３Ｂ４０、および３Ｃ４０（以下、データ処理部１Ａ４０、１Ｂ４０、２Ａ４０、３Ａ４０、３Ｂ４０、および３Ｃ４０を特に区分する必要がない場合はデータ処理部４０と呼び、それぞれを区分する場合にはデータ処理部１Ａ、１Ｂ、２Ａ、３Ａ、３Ｂ、および３Ｃと呼ぶ）がシステムバス３０に接続された一例を示している。また、それぞれのデータ処理部４０は、クロック周波数ｆｓのクロックで動作する一例を示している。
【００２１】
システムバス３０には、さらに、各データ処理部４０が利用するデータが記憶された共有メモリ１０がメモリインターフェース部２０を介して接続されている。これにより、システムバス３０を介して、各データ処理部４０から共有メモリ１０にデータの書き込みができ、また各データ処理部４０は、共有メモリ１０からデータの読み出しが可能なように構成されている。
【００２２】
また、本データ処理システムにおいて、共有メモリ１０は、データ処理部４０の動作速度に比べて、より高速なアクセスが可能であるように構成している。すなわち、メモリインターフェース部２０は、データ処理部４０のクロック周波数ｆｓに比べてより高いクロック周波数ｆｍで動作し、共有メモリ１０は、このクロック周波数ｆｍに対応したアクセス時間Ｔｍでメモリインターフェース部２０からアクセスされる。このような構成とすることにより、データ処理部４０のクロック周期Ｔｓ期間中に、共有メモリ１０に複数回のデータの書き込み、あるいは共有メモリ１０から複数回の読み出しを可能としている。例えば、データ処理部４０のクロック周期Ｔｓに対して共有メモリ１０のアクセス時間Ｔｍを３分の１とした場合、データ処理部４０のクロック周期Ｔｓ期間中に３回のデータ書き込み、または読み出しが可能である。本実施の形態では、クロック周期Ｔｓとアクセス時間Ｔｍとの比、すなわちクロック周期Ｔｓ期間中にアクセス可能な回数を許容アクセス回数として説明する。
【００２３】
メモリインターフェース部２０において、アクセス調停部２１は、各データ処理部４０からのアクセス要求が競合したとき、どのアクセス要求を優先するかを調停する。また、メモリ処理部２２は、アクセス調停部２１からのアクセス制御信号に従ってデータ処理部４０と共有メモリ１０とのデータ接続を行なう。また、各データ処理部４０とシステムバス３０との間にはデータを一時記憶するバッファ５０が設けられている。各バッファ５０は双方向の記憶回路で構成され、システムバス３０側では共有メモリ１０のアクセス時間Ｔｍに対応した速度、またデータ処理部４０側ではデータ処理部４０のクロック周期Ｔｓに対応した速度で、書き込み、および読み出しが行なわれる。
【００２４】
さらに、本実施の形態のデータ処理システムは、データ処理部４０の各グループのそれぞれに対して、共有メモリ１０のアクセスにおけるグループ間の優先順位を示すグループ間優先順位を設けたことを特徴としている。すなわち、図１において、グループ１、グループ２、およびグループ３間での優先順位が設定されている。ここでは、グループ１、グループ２、グループ３の順に優先順位が高いとして説明する。また、グループ内においては、それぞれのデータ処理部４０に対して優先順位が設けられているとして説明する。ここでは、グループ１において、データ処理部１Ａ、データ処理部１Ｂの順に優先順位が高く、グループ３において、データ処理部３Ａ、データ処理部３Ｂ、データ処理部３Ｃの順に優先順位が高いとする。
【００２５】
アクセス調停部２１には、これらの優先順位があらかじめ設定されており、アクセス調停部２１は、各データ処理部４０からのアクセス要求に対し、競合が生じた場合には、この優先順位に基づきアクセスの調停を行なう。また、アクセス調停部２１は、各データ処理部４０から同時、あるいはほぼ同時に許容アクセス回数を超えるアクセス要求が発生した場合には、優先順位の低いデータ処理部４０に対して、ウエイト指令信号によりアクセスの順番を制御する。ウエイト指令信号は、共有メモリ１０にアクセス可能となるまでの待ち時間であるウエイト時間を示す信号であり、クロック周期Ｔｓ単位で設定される。データ処理部４０は、このウエイト指令信号によるウエイト時間分待った後、共有メモリ１０へのアクセスが可能になる。
【００２６】
以上のような本実施の形態のデータ処理システムの構成において、各データ処理部４０が共有メモリ１０へアクセスするときは、アクセス要求をアクセス調停部２１に通知する。アクセス調停部２１は、上述したようなシステムバス専有権の優先順位に従い、アクセス制御信号によりメモリ処理部２２を制御する。すなわち、メモリ処理部２２は、アクセス制御信号に基づき、アクセス要求したデータ処理部４０に対して順番にデータ転送を行なう。また、アクセス調停部２１は、メモリ処理部２２によるデータ転送が終了するとそのアクセス要求を解除する。例えば、共有メモリ１０からデータを読み出すとき、データ処理部４０は、読み出すアドレスを出力するとともに、アクセス要求信号をアクセス調停部２１に通知する。アクセス調停部２１は、優先順位に従い該当するバッファ５０を選択する。さらに、アクセス調停部２１は、メモリ処理部２２に対して、選択されたバッファ５０がシステムバス３０を介して共有メモリ１０のデータ端子と電気的に接続されるよう制御する。この後、所定のタイミングにより、指定されたアドレスに格納されたデータがバッファ５０に一時記憶される。特に、バッファ５０と共有メモリ１０間のデータ転送は、許容アクセス回数のデータ転送が可能なようにタイミング設定されている。
【００２７】
以上のような本データ処理システムの構成において、以下本発明の共有メモリアクセス制御方法について説明する。
【００２８】
図２は、本データ処理システムにおいて、アクセス要求が競合した場合のアクセス制御のタイミングを示すタイミングチャートである。ここでは、許容アクセス回数を３とし、共有メモリ１０からデータを読み出す場合の一例を示している。また、システムバスの許容帯域を満足させるため、アクセス要求は、２倍のクロック周期である２Ｔｓに１回可能であるとする。
【００２９】
図２において、まず期間ｔ１に、すべてのデータ処理部４０からアクセス調停部２１に対して、アクセス要求が通知された場合を示している。このとき、アクセス調停部２１は、グループ間、グループ内の優先順位に基づき、各データ処理部４０が共有メモリ１０にアクセスする順番を決定する。さらに、アクセス調停部２１は、アクセス制御信号により、優先順位の順に共有メモリからデータを読み出すように制御する。すなわち、図１の構成の場合には、グループ間の優先順位が最も高いグループ１に含まれるデータ処理部４０からのアクセスが開始される。また、グループ１内において、データ処理部１Ａが最も優先順位が高いため、データ処理部１Ａから指定されたアドレスのデータ１ａ１がまず読み出される。次に、グループ１内において２番目に優先順位の高いデータ処理部１Ｂから指定されたアドレスのデータ１ｂ１が読み出される。これにより、グループ１のアクセス要求が解除される。次に、グループ間において２番目に優先順位の高いグループ２に含まれるデータ処理部２Ａから指定されたアドレスのデータ２ａ１が読み出される。このように、グループ間、グループ内の優先順位に基づき、期間ｔ１において、許容アクセス回数、すなわちこの例では３個のデータ１ａ１、１ｂ１、２ａ１の順に読み出される。読み出されたデータは、それぞれのバッファ５０に一時的に書き込まれる。バッファ５０は、クロックｆｓで読み出されるため、期間ｔ１にて一時的に書き込まれたデータは、期間ｔ２においてクロック周期Ｔｓの間出力される。すなわち、期間ｔ２の間、データ処理部１Ａに接続されたバッファ５０からデータ１ａ１が出力され、データ処理部１Ｂに接続されたバッファ５０からデータ１ｂ１が出力され、データ処理部２Ａに接続されたバッファ５０からデータ２ａ１が出力される。
【００３０】
以上のように、クロック周期Ｔｓ内に、許容アクセス回数に等しい個数以上の複数のデータ処理部４０から共有メモリ１０へのアクセス要求が競合したときには、アクセス調停部２１が、アクセス要求した複数のデータ処理部４０のグループ間優先順位を比較し、その比較結果において、グループ間優先順位が最も高いデータ処理部から順に許容アクセス回数に等しい個数分のデータ処理部を抽出するようメモリ処理部２２に指令する。さらに、メモリ処理部２２は、アクセス調停部２１からの指令に基づき、許容アクセス回数に等しい個数を単位として、抽出した順にデータ処理部４０を転送順グループとするグループに区分し、転送順グループの転送順位が高いグループほど短いウエイト時間を設定して、各データ処理部４０から共有メモリへアクセスするように共有メモリ１０のアクセスを制御する。
【００３１】
一方、優先順位の低いグループ３のデータ処理部３Ａ、データ処理部３Ｂ、およびデータ処理部３Ｃは、アクセス調停部２１からウエイト指令信号により、期間ｔ２の間ウエイト状態であることが通知される。アクセス調停部２１は、この期間ｔ２に、解除していない残ったアクセス要求の優先順位の順に共有メモリからデータを読み出すように制御する。
【００３２】
すなわち、図１の構成の場合には、グループ間の優先順位が次に高いグループ３に含まれるデータ処理部３Ａ、３Ｂ、３Ｃの順にアクセスが実行され、期間ｔ２にそれぞれのデータ３ａ１、３ｂ１、３ｃ１がこの順に読み出される。読み出されたデータは、それぞれのバッファ５０に一時的に書き込まれ、期間ｔ２にて一時的に書き込まれたデータは、期間ｔ３においてクロック周期Ｔｓの間出力される。すなわち、期間ｔ３の間、データ処理部３Ａに接続されたバッファ５０からデータ３ａ１が出力され、データ処理部３Ｂに接続されたバッファ５０からデータ３ｂ１が出力され、データ処理部３Ｃに接続されたバッファ５０からデータ３ｃ１が出力される。
【００３３】
また、図２において、期間ｔ３に、許容アクセス回数に等しいデータ処理部４０からのアクセス要求が通知された場合を示している。この場合も、アクセス調停部２１は、グループ間、グループ内の優先順位に基づき、各データ処理部４０が共有メモリ１０にアクセスする順番を決定する。しかし、期間ｔ３におけるアクセス要求の個数は、許容アクセス回数に等しい、すなわち許容アクセス回数内であるため、図２に示すようにウエイト時間を設けず、バッファ５０に共有メモリ１０から読み出されたデータが一時記憶される。
【００３４】
このように、本実施の形態の共有メモリアクセス制御方法によれば、クロック周期Ｔｓ内に複数のデータ処理部４０から共有メモリ１０へのアクセス要求が競合したとき、グループ間の優先順位に従った順番に、クロック周期Ｔｓ内に許容アクセス回数に等しい個数のデータ処理部４０から共有メモリ１０へアクセスするように制御する。さらに、クロック周期Ｔｓ内に、許容アクセス回数に等しい個数以上のアクセス要求が競合したときには、グループ間優先順位が高いグループほど短いウエイト時間とするウエイト時間を用いて各データ処理部４０から共有メモリ１０へアクセスするように制御する。なお、図２では、グループ間優先順位が最も高いグループに対しては、ウエイト時間なしとする０ウエイトのウエイト時間を設定した例を挙げて説明したが、グループ間優先順位が最も高いグループにもウエイト時間を設定し、グループ間優先順位が高いグループほど短いウエイト時間とするウエイト時間を設けるようにしてもよい。
【００３５】
以上説明したように、本メモリアクセス制御方法によれば、データ処理部の個数に合わせて許容アクセス回数を変える必要はないため、共有メモリのアクセス時間の高速化、あるいはデータ処理部のクロック周期に対応したデータ転送速度の低速化を必要としない。また、許容アクセス回数に等しい個数を、クロック周期Ｔｓ内に複数のデータ処理部４０が共有メモリ１０へアクセスする単位としており、ウエイト時間に関しても許容アクセス回数に等しい個数単位で割り振ることが可能なため、優先順位の低いデータ処理部４０におけるアクセス要求からデータ転送までの応答遅延時間を抑制することが可能となる。
【００３６】
（実施の形態２）
図３は、本発明の実施の形態２における共有メモリアクセス制御方法を利用したデータ処理システムの一例を示す構成図である。本発明の実施の形態２におけるデータ処理システムは、図１で説明した実施の形態１との比較において、バッファ６０が異なっている。また、アクセス調停部２３からは各バッファ６０を制御するバッファ制御信号が出力される。図３において、バッファ６０、およびアクセス調停部２３を除くその他の構成要素については図１と同一であり、説明は省略する。
【００３７】
本発明の実施の形態２におけるデータ処理システムは、画像データのような連続性が重要となるデータ処理に適したデータ処理システムの一例を示している。
【００３８】
図４は、本実施の形態２のデータ処理システムにおいて処理されるデータの構成を示す図である。図４の（ａ）は、共有メモリに記憶されるデータの構成を示している。図４の（ｂ）は、共有メモリから読み出されるデータを示している。また、図４の（ｃ）は、データ処理部４０に供給されるデータを示している。また、図４において、Ｄ００、Ｄ０１、Ｄ０２等は、例えば、画像データの各画素の輝度を示すような画像データである。通常、このような画像データは、画面上で、例えば横方向など連続した画素に対応して処理が行なわれる。すなわち、図４において、それぞれのデータＤ００、Ｄ０１、Ｄ０２等は順番に連続したデータであり、各データ処理部４０は、このような連続したデータに対して処理を行なう。以下、これらのデータＤ００、Ｄ０１、Ｄ０２等は連続した画像データとして説明する。
【００３９】
本実施の形態２のデータ処理システムは、図４の（ａ）で示すように、共有メモリ１０が、連続した複数の画像データを一つのアドレスに対応する記憶領域に記憶するような構成のシステムである。図４の（ａ）では、連続した３つの画像データを一つの単位として各アドレスに記憶するような一例を示している。より具体的には、画像データＤ００、Ｄ０１、Ｄ０２等のデータ幅が８ビットの場合、共有メモリ１０は、３画素分の画像データを２４ビット幅の一つのデータとして、各アドレスに記憶する。すなわち、図４の（ａ）に例示するように、Ｄ００からＤｘ２までの連続した画像データが、共有メモリ１０のアドレス０からアドレスｎに３画像データ単位で記憶される。以下、共有メモリ１０には、図４の（ａ）で示すように、各アドレスに３画像データを１単位として記憶した例を挙げて説明する。
【００４０】
また、メモリ処理部２２から共有メモリ１０に対して、データを読み出すための制御信号とともにアドレスが供給されると、共有メモリ１０は、指定されたアドレスに格納したデータを出力する。上述したように、共有メモリ１０は、一つのアドレスに対して３画像データを記憶している。このため、共有メモリ１０からは、図４の（ｂ）で示すように、３画素分の画像データがデータ端子より出力される。すなわち、画像データのデータ幅が８ビットの場合、２４ビット幅のデータがデータ端子より出力される。また、本実施の形態２のデータ処理システムは、実施の形態１と同様なシステムであり、複数のデータ処理部４０が共有メモリ１０を共有するとともに、一つのデータ処理部４０から共有メモリ１０へのアクセスは、許容アクセス回数、および優先度により制限されている。このため、図４の（ｂ）で示すように、連続した画像データであっても、共有メモリ１０から連続したタイミングでのアクセスは行なわれない。
【００４１】
このため、本実施の形態２のデータ処理システムは、システムバス３０と各データ処理部４０との間にバッファ６０を設けたことを特徴としている。バッファ６０は、共有メモリ１０から非連続に読み出されたデータに対して、データ処理部４０のクロック周期Ｔｓで連続した画像データに変換して出力する。特に、各データ処理部４０間の優先度により、共有メモリ１０から読み出される画像データのタイミングが変動しても、バッファ６０によりこの変動が吸収され、データ処理部４０には、途切れることのない連続した画像データが供給されることを特徴としている。
【００４２】
このような処理を実現するため、バッファ６０は、共有メモリ１０からの複数の画像データを含むデータから、連続した画像データへと変換するパラレル−シリアル変換機能とともに、連続した画像データをウエイト時間に応じて適応的に時間シフトする機能を有している。
【００４３】
図４の（ｃ）は、バッファ６０からデータ処理部４０に供給される画像データの例を示している。図４の（ｃ）で示すように、データ処理部４０には、連続した画素に対応して順次画像データが供給される。
【００４４】
図５は、図３に示したバッファ６０の詳細な構成を示す構成図である。また、図６は、バッファ６０の動作を示すためのタイミングチャートである。以下、図５、および図６を参照しながら、本実施の形態２のデータ処理システムにおいて特徴とするバッファ６０の詳細な構成、および動作について説明する。
【００４５】
図５に示すように、バッファ６０は、複数のフリップフロップ（ＦＦで示す）、および複数のセレクタにより構成される。フリップフロップは、データ入力端子Ｄ、データ出力端子Ｑ、およびクロック入力端子を有し、クロック入力端子に入力されたクロックに応じてデータ入力端子Ｄに入力されたデータを取り込み、そのデータを記憶するとともに、次のクロックが入力されるまで取り込んだデータをデータ出力端子Ｑから出力する。また、セレクタは、複数の選択データ入力端子、選択制御入力端子、および出力端子を有し、選択制御入力端子に入力された制御信号に応じて、複数の選択データ入力端子に入力されたデータから一つのデータを選択し、出力端子から出力する。
【００４６】
図５において、フリップフロップ（以下、適宜、ＦＦと呼ぶ）１０６、ＦＦ１０７、およびＦＦ１０８には、共有メモリ１０からのデータが、メモリ処理部２２、およびシステムバス３０を介して供給される。図５では、共有メモリ１０のデータ幅が３ａビットであり、ａビット幅の３画素分の画像データが同時に供給される場合の例を示している。３ａビット幅の入力データは、それぞれの画素に対応したａビット幅の画像データｄ０、ｄ１、およびｄ２として、ＦＦ１０６、ＦＦ１０７、およびＦＦ１０８に一時記憶される。
【００４７】
また、セレクタ６０１、セレクタ６０２、セレクタ６０３、およびセレクタ６０４の選択制御入力端子には、アクセス調停部２３からのバッファ制御信号が、システムバス３０を介して供給される。バッファ制御信号は、各データ処理部４０からのアクセスに基づきアクセス調停部２３が決定したウエイト指令信号に対応する制御信号である。このバッファ制御信号に応じて入力データの各画像データが選択されることで、入力データは、連続した画像データに変換される。図５では、バッファ制御信号が、ＳＥＬ０、ＳＥＬ１、およびＳＥＬ２で示す３つの信号により構成される例を示している。セレクタ６０１、セレクタ６０２、セレクタ６０３、およびセレクタ６０４の選択制御入力端子には、バッファ制御信号ＳＥＬ０、ＳＥＬ１、およびＳＥＬ２が供給される。これにより、セレクタ６０１、セレクタ６０２、セレクタ６０３、およびセレクタ６０４は、バッファ制御信号ＳＥＬ０、ＳＥＬ１、およびＳＥＬ２のどの信号が有効であるかによって、それに対応する画像データを選択する。図５では、「０」、「１」、「２」で示す選択制御入力端子に対応する選択データ入力端子をそれぞれ「０」、「１」、「２」で示している。また、セレクタ６０１、セレクタ６０２、セレクタ６０３、およびセレクタ６０４は、バッファ制御信号ＳＥＬ０、ＳＥＬ１、およびＳＥＬ２のどの信号も無効である場合には、「Ｓ」で示す選択データ入力端子の画像データを選択する。例えば、セレクタ６０１の場合、セレクタ６０１は、バッファ制御信号ＳＥＬ０が有効であるとＦＦ１０７からの画像データを選択し、バッファ制御信号ＳＥＬ１が有効であるとＦＦ１０８からの画像データを選択し、バッファ制御信号ＳＥＬ０、ＳＥＬ１の双方が無効であるとＦＦ１０１からの画像データを選択し、出力する。
【００４８】
ＦＦ１０１、ＦＦ１０２、ＦＦ１０３、ＦＦ１０４、およびＦＦ１０５のクロック入力端子には、データ処理部４０の動作速度に等しいクロック周波数ｆｓのクロックが供給されており、これらのフリップフロップはデータ入力端子Ｄの画像データをクロック周期Ｔｓの期間一時記憶し、データ出力端子Ｑから出力する。
【００４９】
以上、図５に示すような構成により、バッファ６０は次に示すような動作を行なう。ここでは、ＦＦ１０６、ＦＦ１０７、およびＦＦ１０８から出力される画像データを、それぞれｄ０、ｄ１、ｄ２として説明する。
【００５０】
まず、バッファ制御信号ＳＥＬ０が有効となった場合、ＦＦ１０３には画像データｄ０、ＦＦ１０２には画像データｄ１、およびＦＦ１０１には画像データｄ２が格納される。その後、バッファ制御信号ＳＥＬが無効の場合には、ＦＦ１０５からは、２クロック周期の後に画像データｄ０が出力され、次のクロック周期で画像データｄ１が出力され、次のクロック周期で画像データｄ２が出力される。
【００５１】
また、バッファ制御信号ＳＥＬ１が有効となった場合、ＦＦ１０４には画像データｄ０、ＦＦ１０３には画像データｄ１、およびＦＦ１０２には画像データｄ２が格納される。その後、バッファ制御信号ＳＥＬが無効の場合には、ＦＦ１０５からは、１クロック周期の後に画像データｄ０が出力され、次のクロック周期で画像データｄ１が出力され、次のクロック周期で画像データｄ２が出力される。
【００５２】
また、バッファ制御信号ＳＥＬ２が有効となった場合、ＦＦ１０５には画像データｄ０、ＦＦ１０４には画像データｄ１、およびＦＦ１０３には画像データｄ２が格納される。その後、バッファ制御信号ＳＥＬが無効の場合には、ＦＦ１０５からは、画像データｄ０が出力されており、次のクロック周期で画像データｄ１が出力され、次のクロック周期で画像データｄ２が出力される。
【００５３】
以上のように、バッファ６０は、共有メモリ１０から同時に供給される複数画素の画像データに対して、クロック周期Ｔｓ単位で時間的に連続な画像データに変換するとともに、バッファ制御信号ＳＥＬに応じたタイミングで画像データを出力する機能を有する。
【００５４】
次に、図６を参照して、図３でのデータ処理部３Ｃに接続されたバッファ６０の動作を例に挙げ、本データ処理システムの動作について説明する。
【００５５】
まず、図３に示す本実施の形態２のデータ処理システムは、実施の形態１と同様に各データ処理部４０がグループ化されており、それぞれがシステムバス３０に接続されている。図３では、最も優先度が高いグループ１としてデータ処理部１Ａ、および１Ｂ、次に優先度が高いグループ２としてデータ処理部２Ａ、および２Ｂ、さらに、最も優先度が低いグループ３としてデータ処理部３Ａ、３Ｂ、および３Ｃがシステムバス３０に接続された一例を示している。なお、グループ３においては、データ処理部３Ａ、データ処理部３Ｂ、データ処理部３Ｃの順に優先順位が高いとする。また、共有メモリ１０、およびメモリインターフェース部２０は、データ処理部４０のクロック周波数ｆｓに比べてより高いクロック周波数ｆｍで動作し、共有メモリ１０は、このクロック周波数ｆｍに対応したアクセス時間Ｔｍでメモリインターフェース部２０からアクセスされる。これにより、データ処理部４０のクロック周期Ｔｓ期間中に、共有メモリ１０から複数回の読み出しが可能である。ここでも、実施の形態１と同様に、データ処理部４０のクロック周期Ｔｓ期間中に３回のデータ読み出しが可能な場合の例を挙げ説明する。すなわち、クロック周期Ｔｓとアクセス時間Ｔｍとの比である許容アクセス回数を３回としている。
【００５６】
また、本実施の形態２のデータ処理システムにおいても、各グループに対してウエイト時間が設定されている。ここでは、最も優先度が高いグループ１に対してはウエイト時間なしとし、次に優先度が高いグループ２に対しては１クロック周期以下のウエイト時間、最も優先度が低いグループ３に対しては２クロック周期以下のウエイト時間が設定されているとする。
【００５７】
図６において、図６の（ａ）は、データ処理部３Ｃからアクセス調停部２３に対して通知されるアクセス要求信号のタイミングを示している。なお、システムバス３０の許容帯域を満足させるため、アクセス要求は、３倍のクロック周期である３Ｔｓに１回可能であるとする。すなわち、各データ処理部４０からアクセス調停部２３に対し、図６で示す期間ｔ０、ｔ３、ｔ６、ｔ９等の期間においてアクセス要求信号が通知される。図６の（ａ）では、データ処理部３Ｃから毎回アドレス要求が通知される場合の例を示している。
【００５８】
図６の（ｂ）は、データ処理部３Ｃからのアクセス要求に対して、要求に応じたデータが共有メモリ１０から読み出されるタイミングを示している。図６に示すように、データ処理部３Ｃが要求したデータが共有メモリ１０から読み出されるタイミングは、アクセス要求毎に異なっている。すなわち、データ処理部３Ｃの優先度は、他のデータ処理部４０と比較して最も低いため、他のデータ処理部４０とのアクセス要求が競合すると、競合の状況に応じた遅延の後、要求したデータが読み出される。例えば、期間ｔ０のアクセス要求の場合には、他のデータ処理部４０からはアクセス要求がなかったため、アクセス要求信号に即座に応答するようにして３画素分のデータｃ０が読み出される。期間ｔ３のアクセス要求の場合には、他の４つのデータ処理部４０からもアクセス要求があったため、４Ｔｍ周期の後、３画素分のデータｃ１が読み出される。期間ｔ６のアクセス要求の場合には、他の６つのデータ処理部４０からもアクセス要求があったため、６Ｔｍ周期の後、３画素分のデータｃ２が読み出される。
【００５９】
図６の（ｂ）に示したように、優先度が最も低いデータ処理部３Ｃに対しては、アクセス要求の競合状況に応じたタイミングでデータが読み出される。このため、要求したデータは、競合状況に応じたウエイト時間の後、メモリ処理部２２からシステムバス３０を介してバッファ６０に供給される。例えば、期間ｔ０のアクセス要求の場合には、要求したデータがウエイト時間なくバッファ６０に供給される。期間ｔ３のアクセス要求の場合には、要求したデータが１ウエイト時間の後、バッファ６０に供給される。期間ｔ６のアクセス要求の場合には、要求したデータが２ウエイト時間の後、バッファ６０に供給される。
【００６０】
図６の（ｃ）は、このようにバッファ６０供給されるデータに対し、図５で示したＦＦ１０６、ＦＦ１０７、およびＦＦ１０８が取り込んだデータを示している。図６の（ｃ）では、バッファ６０供給された３ａビット幅のデータに対し、上位ビットから下位ビットへとａビット毎に、３画素分の画像データを取り込んだ例を示している。また、ウエイト時間に応じて、期間ｔ０のアクセス要求に対しては、期間ｔ１に画像データｃ００、ｃ０１、およびｃ０２が出力される。期間ｔ３のアクセス要求に対しては、期間ｔ５に画像データｃ１０、ｃ１１、およびｃ１２が出力される。期間ｔ６のアクセス要求に対しては、期間ｔ９に画像データｃ２０、ｃ２１、およびｃ２２が出力される。また、これ以外の期間は、未定のデータが出力される。
【００６１】
図６の（ｄ）は、アクセス調停部２３からバッファ６０に供給されるバッファ制御信号ＳＥＬのタイミングを示している。図６の（ｄ）に示すように、バッファ制御信号は、ＦＦ１０６、ＦＦ１０７、およびＦＦ１０８が画像データを出力するタイミングに合わせて通知される。また、バッファ制御信号は、ウエイト時間に応じた内容の信号である。すなわち、アクセス調停部２３は、０ウエイトとしてアクセス制御した場合には、バッファ制御信号ＳＥＬ０を有効とするような信号を生成し、１ウエイトとしてアクセス制御した場合には、バッファ制御信号ＳＥＬ１を有効とするような信号を生成し、２ウエイトとしてアクセス制御した場合には、バッファ制御信号ＳＥＬ２を有効とするような信号を生成する。
【００６２】
図６の（ｅ）は、図６の（ｃ）で示す画像データを、図６の（ｄ）で示すバッファ制御信号ＳＥＬの制御により、図５で示した各フリップフロップに取り込んだ様子を示している。例えば、ＦＦ１０６、ＦＦ１０７、およびＦＦ１０８から期間ｔ１に出力された画像データｃ００、ｃ０１、およびｃ０２に対しては、期間ｔ１においてバッファ制御信号ＳＥＬ０が有効となるため、ＦＦ１０３に画像データｃ００が取り込まれ、ＦＦ１０２に画像データｃ０１が取り込まれ、ＦＦ１０１に画像データｃ０２が取り込まれる。期間ｔ５に出力された画像データｃ１０、ｃ１１、およびｃ１２に対しては、期間ｔ５においてバッファ制御信号ＳＥＬ１が有効となるため、ＦＦ１０４に画像データｃ１０が取り込まれ、ＦＦ１０３には画像データｃ１１が取り込まれ、ＦＦ１０２には画像データｃ１２が取り込まれる。期間ｔ９に出力された画像データｃ２０、ｃ２１、およびｃ２２に対しては、期間ｔ９においてバッファ制御信号ＳＥＬ２が有効となるため、ＦＦ１０５に画像データｃ２０が取り込まれ、ＦＦ１０４には画像データｃ２１が取り込まれ、ＦＦ１０３には画像データｃ２２が取り込まれる。また、上述したように、バッファ制御信号ＳＥＬが無効な場合には、セレクタ６０１、セレクタ６０２、セレクタ６０３、セレクタ６０４は、「Ｓ」で示す選択データ入力端子の画像データを選択する。すなわち、バッファ制御信号ＳＥＬが無効な場合には、各セレクタは手前のフリップフロップを選択し、その画像データを次の段のフリップフロップへと供給する。
【００６３】
以上のような動作により、画像データをデータ処理部３Ｃへと出力するＦＦ１０５からは、図６の（ｅ）で示すように、ｔ６の期間には画像データｃ００、ｔ７の期間には画像データｃ０１、ｔ８の期間には画像データｃ０２、ｔ９の期間には画像データｃ１０のように順次連続した画像データが出力される。
【００６４】
以上、図５で説明したような構成のバッファ６０を設けることにより、クロック周期内に、許容アクセス回数に等しい個数以上のアクセス要求が競合したときには、ウエイト時間に応じてクロック周期単位で画像データの遅延量を補正するため、画像データのタイミングが変動しても、バッファ６０によりこの変動が吸収され、データ処理部４０には、途切れることのない連続した画像データを供給できる。
【００６５】
（実施の形態３）
図７は、本発明の実施の形態３における共有メモリアクセス制御方法を利用したデータ処理システムの一例を示す構成図である。本発明の実施の形態３におけるデータ処理システムは、図３で説明した実施の形態２との比較において、バッファ６１、およびバッファ６２が異なっている。図７において、バッファ６１、およびバッファ６２を除くその他の構成要素については図３と同一であり、説明は省略する。本発明の実施の形態３におけるデータ処理システムも、実施の形態２と同様に、画像データのような連続性が重要となるデータ処理に適したデータ処理システムの一例を示している。また、各データ処理部４０は、実施の形態２と同様にグループ分けされている。ここでも、実施の形態２と同様に、許容アクセス回数は３回とし、各グループには同様のウエイト時間が設定されているとして説明する。
【００６６】
図７において、最も優先度の低いグループ３のデータ処理部４０は、実施の形態２と同様のバッファ６０を介してシステムバス３０と接続されている。これに対して、最も優先度の高いグループ１のデータ処理部４０はバッファ６２を介して、また次に優先度の高いグループ２のデータ処理部４０はバッファ６１を介して、システムバス３０と接続されている。
【００６７】
バッファ６２、およびバッファ６１も、バッファ６０と同様に、データ処理部４０のクロック周期Ｔｓで連続した画像データに変換して出力する。さらに、バッファ６２、およびバッファ６１は、バッファ６０と比較して、フリップフロップやセレクタの個数を削減している。すなわち、本発明の特徴とする優先度に基づくグループ化を行なうことで、グループの優先度が高いほどバッファの構成要素の削減が可能になり、これにより、本実施の形態３のデータ処理システムでは、回路素子の削減や低消費電力化を図っている。
【００６８】
図８は、図７に示したバッファ６１の詳細な構成を示す構成図である。また、図９は、図７に示したバッファ６２の詳細な構成を示す構成図である。以下、図８、および図９を参照しながら、本実施の形態３のデータ処理システムにおいて特徴とするバッファ６１、およびバッファ６２の構成、および動作について説明する。
【００６９】
図８に示すように、バッファ６１は、複数のフリップフロップ（ＦＦで示す）、および複数のセレクタにより構成される。図８において、フリップフロップ（以下、適宜、ＦＦと呼ぶ）１１６、ＦＦ１１７、およびＦＦ１１８には、共有メモリ１０からのデータが、メモリ処理部２２、およびシステムバス３０を介して供給され、３ａビット幅の入力データは、ａビット幅の画像データとして、ＦＦ１１６、ＦＦ１１７、およびＦＦ１１８に一時記憶される。ＦＦ１１６、ＦＦ１１７、およびＦＦ１１８に一時記憶された画像データは、バッファ６０と同様に、バッファ制御信号ＳＥＬに応じて選択的にＦＦ１１１、ＦＦ１１２、ＦＦ１１３、およびＦＦ１１４に格納される。バッファ６１では、バッファ６０との比較において、バッファ制御信号ＳＥＬがＳＥＬ０、およびＳＥＬ１の２つの信号で構成されている。すなわち、バッファ６１は、優先度が２番目に高いグループ２に属するデータ処理部２Ａ、およびデータ処理部２Ｂに接続されるバッファであり、グループ２に対するウエイト時間は１クロック周期以下のウエイト時間が設定されている。このため、バッファ６１は、２クロック周期のウエイト時間に対応する必要はないため、図５におけるセレクタ６０４やＦＦ１０５に相当する回路は必要なくなる。
【００７０】
また、図９に示すバッファ６２もバッファ６１と同様に、複数のフリップフロップ、および複数のセレクタにより構成され、画像データが、ＦＦ１２６、ＦＦ１２７、およびＦＦ１２８に一時記憶される。一時記憶された画像データは、バッファ６１と同様に、バッファ制御信号ＳＥＬに応じてＦＦ１２１、ＦＦ１２２、ＦＦ１２３に格納される。バッファ６２は、優先度が最も高いグループ１に属するデータ処理部１Ａ、およびデータ処理部１Ｂに接続されるバッファであり、グループ１に対するウエイト時間は設定されていない。このため、バッファ６２は、ウエイト時間に対応する必要はないため、図８におけるセレクタ６１３やＦＦ１１４に相当する回路は必要なくなる。すなわち、バッファ６２は、画像データをウエイト時間に応じて適応的に時間シフトする必要はなく、パラレルデータからシリアルの画像データへと変換する機能のみでよい。図９に示す構成により、共有メモリ１０からの３ａビットのパラレルデータを、ａビットのシリアルな画像データへと変換する機能が実現される。
【００７１】
以上、本発明のようにデータ処理部を優先度によりグループ化することで、グループ毎にウエイト時間を設けることができる。このため、本実施の形態３で説明したように、グループ毎にウエイト時間に応じたバッファを設けることができ、その結果、優先度の高いグループほどバッファの回路規模を削減することが可能となる。これにより、回路素子の削減や低消費電力化を図ったデータ処理システムを実現できる。
【産業上の利用可能性】
【００７２】
本発明に係る共有メモリアクセス制御方法は、共有メモリを共用するデータ処理部の数が増加した場合であっても、データ処理部における処理時間の低速化や、アクセス要求からデータ転送までの応答遅延時間の増大を招くこともないため、数多くのデータ処理部を有するデータ処理システムに対しても、コストの増大を招くことなく容易に対応することが可能となる。このため、マルチプロセッサシステムや、画像データ、音声データなどの処理を行なうＬＳＩや、その他の用途における共有メモリを複数のデータ処理部が共用してデータ処理を行なう機器等に有用である。
【図面の簡単な説明】
【００７３】
【図１】本発明の実施の形態１における共有メモリアクセス制御方法を利用したデータ処理システムの構成図
【図２】アクセス制御のタイミングを示す図
【図３】本発明の実施の形態２における共有メモリアクセス制御方法を利用したデータ処理システムの構成図
【図４】本実施の形態２のデータ処理システムにおいて処理されるデータの構成を示す図
【図５】バッファの詳細な構成図
【図６】バッファの動作を示すための図
【図７】本発明の実施の形態３における共有メモリアクセス制御方法を利用したデータ処理システムの構成図
【図８】バッファの詳細な構成図
【図９】バッファの詳細な構成図
【図１０】従来の共有メモリアクセス制御方法を利用したデータ処理システムの構成図
【図１１】従来のデータ処理システムのアクセス制御のタイミングを示す図
【符号の説明】
【００７４】
１０，９１    共有メモリ
２０，９２    メモリインターフェース部
２１，２３，２１    アクセス調停部
２２，９２２    メモリ処理部
３０，９３    システムバス
４０，９４（９４Ａ〜９４Ｃ）    データ処理部
４１    グループ１のデータ処理部
４２    グループ２のデータ処理部
４３    グループ３のデータ処理部
５０，６０，６１，６２，９５    バッファ
【図１】
2005242408.tif 000003
【図２】
2005242408.tif 000004
【図３】
2005242408.tif 000005
【図４】
2005242408.tif 000006
【図５】
2005242408.tif 000007
【図６】
2005242408.tif 000008
【図７】
2005242408.tif 000009
【図８】
2005242408.tif 000010
【図９】
2005242408.tif 000011
【図１０】
2005242408.tif 000012
【図１１】
2005242408.tif 000013