JP2005242408A - 共有メモリアクセス制御方法 - Google Patents
共有メモリアクセス制御方法 Download PDFInfo
- Publication number
- JP2005242408A JP2005242408A JP2004047286A JP2004047286A JP2005242408A JP 2005242408 A JP2005242408 A JP 2005242408A JP 2004047286 A JP2004047286 A JP 2004047286A JP 2004047286 A JP2004047286 A JP 2004047286A JP 2005242408 A JP2005242408 A JP 2005242408A
- Authority
- JP
- Japan
- Prior art keywords
- data processing
- shared memory
- data
- group
- access
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
【課題】共有メモリを共用するデータ処理部の数が増加した場合であっても、応答時間の増加を抑制し、画像データなど連続したデータの処理にも適した共有メモリアクセス制御方法を提供する。
【解決手段】複数個のデータ処理部40と、データ処理部40から複数回のアクセスが可能な共有メモリ10と備えたデータ処理システムにおいて、複数のデータ処理部40を複数のグループに分け、複数のグループのそれぞれに対して、共有メモリ10へアクセスするグループ間優先順位を設け、グループ間優先順位に応じたウエイト時間を設け、アクセス要求が競合したとき、グループ間の優先順位に従った順番に、共有メモリ10へアクセスするように制御するとともに、データ処理部40のクロック周期内に、許容アクセス回数以上のアクセス要求が競合したとき、ウエイト時間を用いて各データ処理部40から共有メモリ10へアクセスするように制御する。
【選択図】図1
【解決手段】複数個のデータ処理部40と、データ処理部40から複数回のアクセスが可能な共有メモリ10と備えたデータ処理システムにおいて、複数のデータ処理部40を複数のグループに分け、複数のグループのそれぞれに対して、共有メモリ10へアクセスするグループ間優先順位を設け、グループ間優先順位に応じたウエイト時間を設け、アクセス要求が競合したとき、グループ間の優先順位に従った順番に、共有メモリ10へアクセスするように制御するとともに、データ処理部40のクロック周期内に、許容アクセス回数以上のアクセス要求が競合したとき、ウエイト時間を用いて各データ処理部40から共有メモリ10へアクセスするように制御する。
【選択図】図1
Description
本発明は、データ処理を行なう複数個のデータ処理部と、各データ処理部からアクセスし、データの書き込み、および読み出しが可能な共有メモリとを備えたデータ処理システムにおける共有メモリのアクセス制御方法に関する。
従来、例えば、データ処理を実行するプロセッサが複数個接続され、それぞれのプロセッサが共用のメモリをアクセスするような方法として、DMA(Direct Memory Access)方法が知られている。
図10は、従来のDMA方法に基づく共有メモリアクセス制御方法を利用したデータ処理システムの一例を示す構成図である(例えば、特許文献1参照)。
図10に示す従来のデータ処理システムでは、プロセッサ等で構成されるデータ処理部94A、94B、および94Cがシステムバスにより接続される。さらに、システムバス93には、各データ処理部94(以下、データ処理部94A、94B、および94Cを特に区分する必要がない場合はデータ処理部94と呼ぶ)が利用するデータが記憶された共有メモリ91がメモリインターフェース部92を介して接続されている。これにより、各データ処理部94から共有メモリ91にデータの書き込みができ、また各データ処理部94は、共有メモリ91からデータの読み出しが可能なように構成されている。メモリインターフェース部92のアクセス調停部921は、各データ処理部94からのアクセス要求が競合したとき、どのアクセス要求を優先するかを調停する。また、メモリ処理部922は、アクセス調停部921からのアクセス制御信号に従ってデータ処理部94と共有メモリ91とのデータ接続を行なう。また、各データ処理部94とシステムバス93との間にはデータを一時記憶するバッファ95が設けられている。
以上のような従来のデータ処理システムの構成において、データ処理部94A、94B、および94Cのそれぞれが共有メモリ91へアクセスするときは、アクセス要求をアクセス調停部921に通知する。アクセス調停部921は、あらかじめ決められたシステムバス専有権の優先順位に従い、アクセス要求したデータ処理部94に対して、規定時間(クロックfs)単位で順番にデータ転送を行ない、データ転送が終了するとそのアクセス要求を解除する。特に、データ処理部94のクロック周期中に、全データ処理部94(N台)のデータ転送ができるよう、あらかじめ1回の転送時間を規定している。これにより、アクセス要求の競合によるデータ処理部94の処理時間が増大することを抑制している。
例えば、共有メモリ91からデータを読み出すとき、データ処理部94は、読み出すアドレスを出力するとともに、アクセス要求をアクセス調停部921に通知する。アクセス調停部921は、優先順位に従い該当するバッファ95を選択する。さらに、アクセス調停部921は、メモリ処理部922に対して、選択されたバッファ95がシステムバス93を介して共有メモリ91のデータ端子と電気的に接続されるよう制御する。この後、所定のタイミングにより、指定されたアドレスのデータがバッファ95に一時記憶される。特に、バッファ95と共有メモリ91間のデータ転送は、データ処理部94のクロック周期の期間中にN回のデータ転送が可能なようにタイミング設定されている。
図11は、アクセス要求が競合した場合のアクセス制御のタイミングを示すタイミングチャートである。ここでの優先順位は、データ処理部94A、94B、94Cの順とする。Tsは、データ処理部94のクロック周期、Tmは、共有メモリ91のアクセス時間であり、TsはTmの3倍の時間幅である一例を示している。図11に示すように、共有メモリ91のアクセス時間は、データ処理部94の3倍の速度で動作するため、高速で共有メモリ91からデータを読み出すことが可能であるとともに、バッファ95により各データ処理部94のクロック周期に対応したデータ速度でデータを供給できる。このように、複数のデータ処理部94から等価的には同時に共有メモリ91へアクセスすることが可能となる。
ところで、近年マルチメディア関連の技術の進展により、画像データ、音声データ、あるいはこれらのデータを圧縮符号化したストリーム信号などのデジタルデータを処理する装置や方法に関する技術が急速に進展している。このため、上述した共有メモリにおいても、例えば、画像データを記憶し、その画像データが複数のデータ処理装置からアクセスされるような利用方法が頻繁に行なわれており、画像データを共有する共有メモリに関連した制御手法なども提案されている。例えば、共有メモリに画像データを記憶し、複数のデータ処理装置がその画像データを共用しながら画像データ処理を行なうためには、画像データの連続性を確保できるような適切なバス調停の制御が要求され、簡単な制御で連続性を確保しつつバス調停を実現するような手法も提案されている(例えば、特許文献2参照)。
特開昭63−298555号公報
特開平8−223571号公報
しかしながら、上述した従来の共有メモリアクセス制御方法では、共有メモリを共用するデータ処理部の数が増加した場合、上述したクロック周期Tsとアクセス時間Tmとの比率を高くする必要があった。
すなわち、データ処理部の処理速度を下げたくない場合には、共有メモリのアクセス時間を高速にする必要があり、このため高価な高速メモリの利用が必要となる。さらに、データ処理部の数が膨大になると高速メモリであっても対応できなくなるというような課題があった。また、逆に、共有メモリのアクセス時間が限られた場合には、データ処理部の増加に伴い、データ処理部のクロック周期Tsに対応したデータ転送速度を低下させる必要があり、一つのデータ処理部における処理時間が低下するという課題があった。
また、優先順位に応じた順にデータ処理部に対してデータを転送する方法があるが、このような方法では、データ処理部の増加に伴い、優先順位の低いデータ処理部に対して長時間のウエイト時間を設ける必要が生じ、アクセス要求からデータ転送までの応答遅延時間が増大する可能性があるという課題があった(例えば、特許文献1の従来の技術を参照)。
本発明は、上記課題を解決するためになされたもので、共有メモリを共用するデータ処理部の数が増加した場合であっても、共有メモリの動作速度の高速化やデータ処理部のデータ転送速度の低速化などを必要とせず、またアクセス要求からデータ転送までの応答時間の増加を抑制した共有メモリアクセス制御方法を提供することを目的とする。また、画像データのような連続性が重要となるデータを記憶した共有メモリのアクセスにおいても、データの連続性を確保しつつ、複数のデータ処理部に対しての適切なバス調停が行なえる共有メモリアクセス制御方法を提供することを目的とする。
上述したような課題を解決するために、本発明の共有メモリアクセス制御方法は、クロック周期を時間単位としてデータ処理を行なう複数個のデータ処理部と、データ処理部からクロック周期内に許容アクセス回数とした複数回のアクセスが可能な共有メモリとを備えたデータ処理システムにおける共有メモリアクセス制御方法である。さらに、本発明の共有メモリアクセス制御方法は、複数個のデータ処理部を複数のグループに分け、複数のグループのそれぞれに対して、共有メモリのアクセスにおけるグループ間の優先順位を示すグループ間優先順位を設け、複数のグループのそれぞれに対して、グループ間優先順位に応じたクロック周期単位のウエイト時間を設ける。さらに、本発明の共有メモリアクセス制御方法は、クロック周期内に複数のデータ処理部から共有メモリへのアクセス要求が競合したとき、グループ間の優先順位に従った順番に、クロック周期内に許容アクセス回数に等しい個数のデータ処理部から共有メモリへアクセスするように制御するとともに、クロック周期内に、許容アクセス回数に等しい個数以上のアクセス要求が競合したときには、ウエイト時間を用いて各データ処理部から共有メモリへアクセスするように制御する構成である。
このような構成によれば、データ処理部の個数に合わせて許容アクセス回数を変える必要はないため、共有メモリのアクセス時間の高速化、あるいはデータ処理部のクロック周期に対応したデータ転送速度の低速化を必要としない。また、許容アクセス回数に等しい個数を、クロック周期内に複数のデータ処理部が共有メモリへアクセスする単位としており、ウエイト時間に関しても許容アクセス回数に等しい個数単位で割り振ることが可能なため、優先順位の低いデータ処理部におけるアクセス要求からデータ転送までの応答遅延時間を抑制することが可能となる。
また、本発明の共有メモリアクセス制御方法は、クロック周期内に、許容アクセス回数に等しい個数以上のアクセス要求が競合したときには、ウエイト時間に応じてクロック周期単位でアクセスデータの遅延量を補正するバッファを介して、各データ処理部から共有メモリへアクセスするように制御する構成である。
このような構成によれば、ウエイト時間に応じてアクセス時間の変動が生じても、バッファによりアクセスデータの遅延量を補正することが可能であり、画像データなどに対して連続性を確保しつつ共有メモリへのアクセス制御が可能となる。
本発明の共有メモリアクセス制御方法によれば、共有メモリを共用するデータ処理部の数が増加した場合であっても、共有メモリの動作速度の高速化やデータ処理部のデータ転送速度の低速化などを必要とせず、またアクセス要求からデータ転送までの応答時間の増加を抑制することが可能となり、それによって高価な高速メモリを利用する必要はなく、データ処理部における処理時間の低速化や、アクセス要求からデータ転送までの応答遅延時間が増大を招くこともないため、数多くのデータ処理部を有するデータ処理システムに対しても、コストの増大を招くことなく容易に対応可能な共有メモリアクセス制御方法を提供することができる。また、アクセスデータの遅延量を補正するバッファを設けることで、画像データのような連続性が重要となるデータを記憶した共有メモリのアクセスにおいても、データの連続性を確保しつつ、複数のデータ処理部に対しての適切なバス調停が行なえる共有メモリアクセス制御方法を提供することができる。
以下、本発明の実施の形態について、図面を参照しながら説明する。
(実施の形態1)
図1は、本発明の実施の形態1における共有メモリアクセス制御方法を利用したデータ処理システムの一例を示す構成図である。
図1は、本発明の実施の形態1における共有メモリアクセス制御方法を利用したデータ処理システムの一例を示す構成図である。
図1に示す本実施の形態のデータ処理システムは、プロセッサ等で構成される各データ処理部40がグループ化されており、それぞれがシステムバス30に接続されている。図1では、グループ1としてデータ処理部1A40、および1B40、グループ2としてデータ処理部2A40、さらに、グループ3としてデータ処理部3A40、3B40、および3C40(以下、データ処理部1A40、1B40、2A40、3A40、3B40、および3C40を特に区分する必要がない場合はデータ処理部40と呼び、それぞれを区分する場合にはデータ処理部1A、1B、2A、3A、3B、および3Cと呼ぶ)がシステムバス30に接続された一例を示している。また、それぞれのデータ処理部40は、クロック周波数fsのクロックで動作する一例を示している。
システムバス30には、さらに、各データ処理部40が利用するデータが記憶された共有メモリ10がメモリインターフェース部20を介して接続されている。これにより、システムバス30を介して、各データ処理部40から共有メモリ10にデータの書き込みができ、また各データ処理部40は、共有メモリ10からデータの読み出しが可能なように構成されている。
また、本データ処理システムにおいて、共有メモリ10は、データ処理部40の動作速度に比べて、より高速なアクセスが可能であるように構成している。すなわち、メモリインターフェース部20は、データ処理部40のクロック周波数fsに比べてより高いクロック周波数fmで動作し、共有メモリ10は、このクロック周波数fmに対応したアクセス時間Tmでメモリインターフェース部20からアクセスされる。このような構成とすることにより、データ処理部40のクロック周期Ts期間中に、共有メモリ10に複数回のデータの書き込み、あるいは共有メモリ10から複数回の読み出しを可能としている。例えば、データ処理部40のクロック周期Tsに対して共有メモリ10のアクセス時間Tmを3分の1とした場合、データ処理部40のクロック周期Ts期間中に3回のデータ書き込み、または読み出しが可能である。本実施の形態では、クロック周期Tsとアクセス時間Tmとの比、すなわちクロック周期Ts期間中にアクセス可能な回数を許容アクセス回数として説明する。
メモリインターフェース部20において、アクセス調停部21は、各データ処理部40からのアクセス要求が競合したとき、どのアクセス要求を優先するかを調停する。また、メモリ処理部22は、アクセス調停部21からのアクセス制御信号に従ってデータ処理部40と共有メモリ10とのデータ接続を行なう。また、各データ処理部40とシステムバス30との間にはデータを一時記憶するバッファ50が設けられている。各バッファ50は双方向の記憶回路で構成され、システムバス30側では共有メモリ10のアクセス時間Tmに対応した速度、またデータ処理部40側ではデータ処理部40のクロック周期Tsに対応した速度で、書き込み、および読み出しが行なわれる。
さらに、本実施の形態のデータ処理システムは、データ処理部40の各グループのそれぞれに対して、共有メモリ10のアクセスにおけるグループ間の優先順位を示すグループ間優先順位を設けたことを特徴としている。すなわち、図1において、グループ1、グループ2、およびグループ3間での優先順位が設定されている。ここでは、グループ1、グループ2、グループ3の順に優先順位が高いとして説明する。また、グループ内においては、それぞれのデータ処理部40に対して優先順位が設けられているとして説明する。ここでは、グループ1において、データ処理部1A、データ処理部1Bの順に優先順位が高く、グループ3において、データ処理部3A、データ処理部3B、データ処理部3Cの順に優先順位が高いとする。
アクセス調停部21には、これらの優先順位があらかじめ設定されており、アクセス調停部21は、各データ処理部40からのアクセス要求に対し、競合が生じた場合には、この優先順位に基づきアクセスの調停を行なう。また、アクセス調停部21は、各データ処理部40から同時、あるいはほぼ同時に許容アクセス回数を超えるアクセス要求が発生した場合には、優先順位の低いデータ処理部40に対して、ウエイト指令信号によりアクセスの順番を制御する。ウエイト指令信号は、共有メモリ10にアクセス可能となるまでの待ち時間であるウエイト時間を示す信号であり、クロック周期Ts単位で設定される。データ処理部40は、このウエイト指令信号によるウエイト時間分待った後、共有メモリ10へのアクセスが可能になる。
以上のような本実施の形態のデータ処理システムの構成において、各データ処理部40が共有メモリ10へアクセスするときは、アクセス要求をアクセス調停部21に通知する。アクセス調停部21は、上述したようなシステムバス専有権の優先順位に従い、アクセス制御信号によりメモリ処理部22を制御する。すなわち、メモリ処理部22は、アクセス制御信号に基づき、アクセス要求したデータ処理部40に対して順番にデータ転送を行なう。また、アクセス調停部21は、メモリ処理部22によるデータ転送が終了するとそのアクセス要求を解除する。例えば、共有メモリ10からデータを読み出すとき、データ処理部40は、読み出すアドレスを出力するとともに、アクセス要求信号をアクセス調停部21に通知する。アクセス調停部21は、優先順位に従い該当するバッファ50を選択する。さらに、アクセス調停部21は、メモリ処理部22に対して、選択されたバッファ50がシステムバス30を介して共有メモリ10のデータ端子と電気的に接続されるよう制御する。この後、所定のタイミングにより、指定されたアドレスに格納されたデータがバッファ50に一時記憶される。特に、バッファ50と共有メモリ10間のデータ転送は、許容アクセス回数のデータ転送が可能なようにタイミング設定されている。
以上のような本データ処理システムの構成において、以下本発明の共有メモリアクセス制御方法について説明する。
図2は、本データ処理システムにおいて、アクセス要求が競合した場合のアクセス制御のタイミングを示すタイミングチャートである。ここでは、許容アクセス回数を3とし、共有メモリ10からデータを読み出す場合の一例を示している。また、システムバスの許容帯域を満足させるため、アクセス要求は、2倍のクロック周期である2Tsに1回可能であるとする。
図2において、まず期間t1に、すべてのデータ処理部40からアクセス調停部21に対して、アクセス要求が通知された場合を示している。このとき、アクセス調停部21は、グループ間、グループ内の優先順位に基づき、各データ処理部40が共有メモリ10にアクセスする順番を決定する。さらに、アクセス調停部21は、アクセス制御信号により、優先順位の順に共有メモリからデータを読み出すように制御する。すなわち、図1の構成の場合には、グループ間の優先順位が最も高いグループ1に含まれるデータ処理部40からのアクセスが開始される。また、グループ1内において、データ処理部1Aが最も優先順位が高いため、データ処理部1Aから指定されたアドレスのデータ1a1がまず読み出される。次に、グループ1内において2番目に優先順位の高いデータ処理部1Bから指定されたアドレスのデータ1b1が読み出される。これにより、グループ1のアクセス要求が解除される。次に、グループ間において2番目に優先順位の高いグループ2に含まれるデータ処理部2Aから指定されたアドレスのデータ2a1が読み出される。このように、グループ間、グループ内の優先順位に基づき、期間t1において、許容アクセス回数、すなわちこの例では3個のデータ1a1、1b1、2a1の順に読み出される。読み出されたデータは、それぞれのバッファ50に一時的に書き込まれる。バッファ50は、クロックfsで読み出されるため、期間t1にて一時的に書き込まれたデータは、期間t2においてクロック周期Tsの間出力される。すなわち、期間t2の間、データ処理部1Aに接続されたバッファ50からデータ1a1が出力され、データ処理部1Bに接続されたバッファ50からデータ1b1が出力され、データ処理部2Aに接続されたバッファ50からデータ2a1が出力される。
以上のように、クロック周期Ts内に、許容アクセス回数に等しい個数以上の複数のデータ処理部40から共有メモリ10へのアクセス要求が競合したときには、アクセス調停部21が、アクセス要求した複数のデータ処理部40のグループ間優先順位を比較し、その比較結果において、グループ間優先順位が最も高いデータ処理部から順に許容アクセス回数に等しい個数分のデータ処理部を抽出するようメモリ処理部22に指令する。さらに、メモリ処理部22は、アクセス調停部21からの指令に基づき、許容アクセス回数に等しい個数を単位として、抽出した順にデータ処理部40を転送順グループとするグループに区分し、転送順グループの転送順位が高いグループほど短いウエイト時間を設定して、各データ処理部40から共有メモリへアクセスするように共有メモリ10のアクセスを制御する。
一方、優先順位の低いグループ3のデータ処理部3A、データ処理部3B、およびデータ処理部3Cは、アクセス調停部21からウエイト指令信号により、期間t2の間ウエイト状態であることが通知される。アクセス調停部21は、この期間t2に、解除していない残ったアクセス要求の優先順位の順に共有メモリからデータを読み出すように制御する。
すなわち、図1の構成の場合には、グループ間の優先順位が次に高いグループ3に含まれるデータ処理部3A、3B、3Cの順にアクセスが実行され、期間t2にそれぞれのデータ3a1、3b1、3c1がこの順に読み出される。読み出されたデータは、それぞれのバッファ50に一時的に書き込まれ、期間t2にて一時的に書き込まれたデータは、期間t3においてクロック周期Tsの間出力される。すなわち、期間t3の間、データ処理部3Aに接続されたバッファ50からデータ3a1が出力され、データ処理部3Bに接続されたバッファ50からデータ3b1が出力され、データ処理部3Cに接続されたバッファ50からデータ3c1が出力される。
また、図2において、期間t3に、許容アクセス回数に等しいデータ処理部40からのアクセス要求が通知された場合を示している。この場合も、アクセス調停部21は、グループ間、グループ内の優先順位に基づき、各データ処理部40が共有メモリ10にアクセスする順番を決定する。しかし、期間t3におけるアクセス要求の個数は、許容アクセス回数に等しい、すなわち許容アクセス回数内であるため、図2に示すようにウエイト時間を設けず、バッファ50に共有メモリ10から読み出されたデータが一時記憶される。
このように、本実施の形態の共有メモリアクセス制御方法によれば、クロック周期Ts内に複数のデータ処理部40から共有メモリ10へのアクセス要求が競合したとき、グループ間の優先順位に従った順番に、クロック周期Ts内に許容アクセス回数に等しい個数のデータ処理部40から共有メモリ10へアクセスするように制御する。さらに、クロック周期Ts内に、許容アクセス回数に等しい個数以上のアクセス要求が競合したときには、グループ間優先順位が高いグループほど短いウエイト時間とするウエイト時間を用いて各データ処理部40から共有メモリ10へアクセスするように制御する。なお、図2では、グループ間優先順位が最も高いグループに対しては、ウエイト時間なしとする0ウエイトのウエイト時間を設定した例を挙げて説明したが、グループ間優先順位が最も高いグループにもウエイト時間を設定し、グループ間優先順位が高いグループほど短いウエイト時間とするウエイト時間を設けるようにしてもよい。
以上説明したように、本メモリアクセス制御方法によれば、データ処理部の個数に合わせて許容アクセス回数を変える必要はないため、共有メモリのアクセス時間の高速化、あるいはデータ処理部のクロック周期に対応したデータ転送速度の低速化を必要としない。また、許容アクセス回数に等しい個数を、クロック周期Ts内に複数のデータ処理部40が共有メモリ10へアクセスする単位としており、ウエイト時間に関しても許容アクセス回数に等しい個数単位で割り振ることが可能なため、優先順位の低いデータ処理部40におけるアクセス要求からデータ転送までの応答遅延時間を抑制することが可能となる。
(実施の形態2)
図3は、本発明の実施の形態2における共有メモリアクセス制御方法を利用したデータ処理システムの一例を示す構成図である。本発明の実施の形態2におけるデータ処理システムは、図1で説明した実施の形態1との比較において、バッファ60が異なっている。また、アクセス調停部23からは各バッファ60を制御するバッファ制御信号が出力される。図3において、バッファ60、およびアクセス調停部23を除くその他の構成要素については図1と同一であり、説明は省略する。
図3は、本発明の実施の形態2における共有メモリアクセス制御方法を利用したデータ処理システムの一例を示す構成図である。本発明の実施の形態2におけるデータ処理システムは、図1で説明した実施の形態1との比較において、バッファ60が異なっている。また、アクセス調停部23からは各バッファ60を制御するバッファ制御信号が出力される。図3において、バッファ60、およびアクセス調停部23を除くその他の構成要素については図1と同一であり、説明は省略する。
本発明の実施の形態2におけるデータ処理システムは、画像データのような連続性が重要となるデータ処理に適したデータ処理システムの一例を示している。
図4は、本実施の形態2のデータ処理システムにおいて処理されるデータの構成を示す図である。図4の(a)は、共有メモリに記憶されるデータの構成を示している。図4の(b)は、共有メモリから読み出されるデータを示している。また、図4の(c)は、データ処理部40に供給されるデータを示している。また、図4において、D00、D01、D02等は、例えば、画像データの各画素の輝度を示すような画像データである。通常、このような画像データは、画面上で、例えば横方向など連続した画素に対応して処理が行なわれる。すなわち、図4において、それぞれのデータD00、D01、D02等は順番に連続したデータであり、各データ処理部40は、このような連続したデータに対して処理を行なう。以下、これらのデータD00、D01、D02等は連続した画像データとして説明する。
本実施の形態2のデータ処理システムは、図4の(a)で示すように、共有メモリ10が、連続した複数の画像データを一つのアドレスに対応する記憶領域に記憶するような構成のシステムである。図4の(a)では、連続した3つの画像データを一つの単位として各アドレスに記憶するような一例を示している。より具体的には、画像データD00、D01、D02等のデータ幅が8ビットの場合、共有メモリ10は、3画素分の画像データを24ビット幅の一つのデータとして、各アドレスに記憶する。すなわち、図4の(a)に例示するように、D00からDx2までの連続した画像データが、共有メモリ10のアドレス0からアドレスnに3画像データ単位で記憶される。以下、共有メモリ10には、図4の(a)で示すように、各アドレスに3画像データを1単位として記憶した例を挙げて説明する。
また、メモリ処理部22から共有メモリ10に対して、データを読み出すための制御信号とともにアドレスが供給されると、共有メモリ10は、指定されたアドレスに格納したデータを出力する。上述したように、共有メモリ10は、一つのアドレスに対して3画像データを記憶している。このため、共有メモリ10からは、図4の(b)で示すように、3画素分の画像データがデータ端子より出力される。すなわち、画像データのデータ幅が8ビットの場合、24ビット幅のデータがデータ端子より出力される。また、本実施の形態2のデータ処理システムは、実施の形態1と同様なシステムであり、複数のデータ処理部40が共有メモリ10を共有するとともに、一つのデータ処理部40から共有メモリ10へのアクセスは、許容アクセス回数、および優先度により制限されている。このため、図4の(b)で示すように、連続した画像データであっても、共有メモリ10から連続したタイミングでのアクセスは行なわれない。
このため、本実施の形態2のデータ処理システムは、システムバス30と各データ処理部40との間にバッファ60を設けたことを特徴としている。バッファ60は、共有メモリ10から非連続に読み出されたデータに対して、データ処理部40のクロック周期Tsで連続した画像データに変換して出力する。特に、各データ処理部40間の優先度により、共有メモリ10から読み出される画像データのタイミングが変動しても、バッファ60によりこの変動が吸収され、データ処理部40には、途切れることのない連続した画像データが供給されることを特徴としている。
このような処理を実現するため、バッファ60は、共有メモリ10からの複数の画像データを含むデータから、連続した画像データへと変換するパラレル−シリアル変換機能とともに、連続した画像データをウエイト時間に応じて適応的に時間シフトする機能を有している。
図4の(c)は、バッファ60からデータ処理部40に供給される画像データの例を示している。図4の(c)で示すように、データ処理部40には、連続した画素に対応して順次画像データが供給される。
図5は、図3に示したバッファ60の詳細な構成を示す構成図である。また、図6は、バッファ60の動作を示すためのタイミングチャートである。以下、図5、および図6を参照しながら、本実施の形態2のデータ処理システムにおいて特徴とするバッファ60の詳細な構成、および動作について説明する。
図5に示すように、バッファ60は、複数のフリップフロップ(FFで示す)、および複数のセレクタにより構成される。フリップフロップは、データ入力端子D、データ出力端子Q、およびクロック入力端子を有し、クロック入力端子に入力されたクロックに応じてデータ入力端子Dに入力されたデータを取り込み、そのデータを記憶するとともに、次のクロックが入力されるまで取り込んだデータをデータ出力端子Qから出力する。また、セレクタは、複数の選択データ入力端子、選択制御入力端子、および出力端子を有し、選択制御入力端子に入力された制御信号に応じて、複数の選択データ入力端子に入力されたデータから一つのデータを選択し、出力端子から出力する。
図5において、フリップフロップ(以下、適宜、FFと呼ぶ)106、FF107、およびFF108には、共有メモリ10からのデータが、メモリ処理部22、およびシステムバス30を介して供給される。図5では、共有メモリ10のデータ幅が3aビットであり、aビット幅の3画素分の画像データが同時に供給される場合の例を示している。3aビット幅の入力データは、それぞれの画素に対応したaビット幅の画像データd0、d1、およびd2として、FF106、FF107、およびFF108に一時記憶される。
また、セレクタ601、セレクタ602、セレクタ603、およびセレクタ604の選択制御入力端子には、アクセス調停部23からのバッファ制御信号が、システムバス30を介して供給される。バッファ制御信号は、各データ処理部40からのアクセスに基づきアクセス調停部23が決定したウエイト指令信号に対応する制御信号である。このバッファ制御信号に応じて入力データの各画像データが選択されることで、入力データは、連続した画像データに変換される。図5では、バッファ制御信号が、SEL0、SEL1、およびSEL2で示す3つの信号により構成される例を示している。セレクタ601、セレクタ602、セレクタ603、およびセレクタ604の選択制御入力端子には、バッファ制御信号SEL0、SEL1、およびSEL2が供給される。これにより、セレクタ601、セレクタ602、セレクタ603、およびセレクタ604は、バッファ制御信号SEL0、SEL1、およびSEL2のどの信号が有効であるかによって、それに対応する画像データを選択する。図5では、「0」、「1」、「2」で示す選択制御入力端子に対応する選択データ入力端子をそれぞれ「0」、「1」、「2」で示している。また、セレクタ601、セレクタ602、セレクタ603、およびセレクタ604は、バッファ制御信号SEL0、SEL1、およびSEL2のどの信号も無効である場合には、「S」で示す選択データ入力端子の画像データを選択する。例えば、セレクタ601の場合、セレクタ601は、バッファ制御信号SEL0が有効であるとFF107からの画像データを選択し、バッファ制御信号SEL1が有効であるとFF108からの画像データを選択し、バッファ制御信号SEL0、SEL1の双方が無効であるとFF101からの画像データを選択し、出力する。
FF101、FF102、FF103、FF104、およびFF105のクロック入力端子には、データ処理部40の動作速度に等しいクロック周波数fsのクロックが供給されており、これらのフリップフロップはデータ入力端子Dの画像データをクロック周期Tsの期間一時記憶し、データ出力端子Qから出力する。
以上、図5に示すような構成により、バッファ60は次に示すような動作を行なう。ここでは、FF106、FF107、およびFF108から出力される画像データを、それぞれd0、d1、d2として説明する。
まず、バッファ制御信号SEL0が有効となった場合、FF103には画像データd0、FF102には画像データd1、およびFF101には画像データd2が格納される。その後、バッファ制御信号SELが無効の場合には、FF105からは、2クロック周期の後に画像データd0が出力され、次のクロック周期で画像データd1が出力され、次のクロック周期で画像データd2が出力される。
また、バッファ制御信号SEL1が有効となった場合、FF104には画像データd0、FF103には画像データd1、およびFF102には画像データd2が格納される。その後、バッファ制御信号SELが無効の場合には、FF105からは、1クロック周期の後に画像データd0が出力され、次のクロック周期で画像データd1が出力され、次のクロック周期で画像データd2が出力される。
また、バッファ制御信号SEL2が有効となった場合、FF105には画像データd0、FF104には画像データd1、およびFF103には画像データd2が格納される。その後、バッファ制御信号SELが無効の場合には、FF105からは、画像データd0が出力されており、次のクロック周期で画像データd1が出力され、次のクロック周期で画像データd2が出力される。
以上のように、バッファ60は、共有メモリ10から同時に供給される複数画素の画像データに対して、クロック周期Ts単位で時間的に連続な画像データに変換するとともに、バッファ制御信号SELに応じたタイミングで画像データを出力する機能を有する。
次に、図6を参照して、図3でのデータ処理部3Cに接続されたバッファ60の動作を例に挙げ、本データ処理システムの動作について説明する。
まず、図3に示す本実施の形態2のデータ処理システムは、実施の形態1と同様に各データ処理部40がグループ化されており、それぞれがシステムバス30に接続されている。図3では、最も優先度が高いグループ1としてデータ処理部1A、および1B、次に優先度が高いグループ2としてデータ処理部2A、および2B、さらに、最も優先度が低いグループ3としてデータ処理部3A、3B、および3Cがシステムバス30に接続された一例を示している。なお、グループ3においては、データ処理部3A、データ処理部3B、データ処理部3Cの順に優先順位が高いとする。また、共有メモリ10、およびメモリインターフェース部20は、データ処理部40のクロック周波数fsに比べてより高いクロック周波数fmで動作し、共有メモリ10は、このクロック周波数fmに対応したアクセス時間Tmでメモリインターフェース部20からアクセスされる。これにより、データ処理部40のクロック周期Ts期間中に、共有メモリ10から複数回の読み出しが可能である。ここでも、実施の形態1と同様に、データ処理部40のクロック周期Ts期間中に3回のデータ読み出しが可能な場合の例を挙げ説明する。すなわち、クロック周期Tsとアクセス時間Tmとの比である許容アクセス回数を3回としている。
また、本実施の形態2のデータ処理システムにおいても、各グループに対してウエイト時間が設定されている。ここでは、最も優先度が高いグループ1に対してはウエイト時間なしとし、次に優先度が高いグループ2に対しては1クロック周期以下のウエイト時間、最も優先度が低いグループ3に対しては2クロック周期以下のウエイト時間が設定されているとする。
図6において、図6の(a)は、データ処理部3Cからアクセス調停部23に対して通知されるアクセス要求信号のタイミングを示している。なお、システムバス30の許容帯域を満足させるため、アクセス要求は、3倍のクロック周期である3Tsに1回可能であるとする。すなわち、各データ処理部40からアクセス調停部23に対し、図6で示す期間t0、t3、t6、t9等の期間においてアクセス要求信号が通知される。図6の(a)では、データ処理部3Cから毎回アドレス要求が通知される場合の例を示している。
図6の(b)は、データ処理部3Cからのアクセス要求に対して、要求に応じたデータが共有メモリ10から読み出されるタイミングを示している。図6に示すように、データ処理部3Cが要求したデータが共有メモリ10から読み出されるタイミングは、アクセス要求毎に異なっている。すなわち、データ処理部3Cの優先度は、他のデータ処理部40と比較して最も低いため、他のデータ処理部40とのアクセス要求が競合すると、競合の状況に応じた遅延の後、要求したデータが読み出される。例えば、期間t0のアクセス要求の場合には、他のデータ処理部40からはアクセス要求がなかったため、アクセス要求信号に即座に応答するようにして3画素分のデータc0が読み出される。期間t3のアクセス要求の場合には、他の4つのデータ処理部40からもアクセス要求があったため、4Tm周期の後、3画素分のデータc1が読み出される。期間t6のアクセス要求の場合には、他の6つのデータ処理部40からもアクセス要求があったため、6Tm周期の後、3画素分のデータc2が読み出される。
図6の(b)に示したように、優先度が最も低いデータ処理部3Cに対しては、アクセス要求の競合状況に応じたタイミングでデータが読み出される。このため、要求したデータは、競合状況に応じたウエイト時間の後、メモリ処理部22からシステムバス30を介してバッファ60に供給される。例えば、期間t0のアクセス要求の場合には、要求したデータがウエイト時間なくバッファ60に供給される。期間t3のアクセス要求の場合には、要求したデータが1ウエイト時間の後、バッファ60に供給される。期間t6のアクセス要求の場合には、要求したデータが2ウエイト時間の後、バッファ60に供給される。
図6の(c)は、このようにバッファ60供給されるデータに対し、図5で示したFF106、FF107、およびFF108が取り込んだデータを示している。図6の(c)では、バッファ60供給された3aビット幅のデータに対し、上位ビットから下位ビットへとaビット毎に、3画素分の画像データを取り込んだ例を示している。また、ウエイト時間に応じて、期間t0のアクセス要求に対しては、期間t1に画像データc00、c01、およびc02が出力される。期間t3のアクセス要求に対しては、期間t5に画像データc10、c11、およびc12が出力される。期間t6のアクセス要求に対しては、期間t9に画像データc20、c21、およびc22が出力される。また、これ以外の期間は、未定のデータが出力される。
図6の(d)は、アクセス調停部23からバッファ60に供給されるバッファ制御信号SELのタイミングを示している。図6の(d)に示すように、バッファ制御信号は、FF106、FF107、およびFF108が画像データを出力するタイミングに合わせて通知される。また、バッファ制御信号は、ウエイト時間に応じた内容の信号である。すなわち、アクセス調停部23は、0ウエイトとしてアクセス制御した場合には、バッファ制御信号SEL0を有効とするような信号を生成し、1ウエイトとしてアクセス制御した場合には、バッファ制御信号SEL1を有効とするような信号を生成し、2ウエイトとしてアクセス制御した場合には、バッファ制御信号SEL2を有効とするような信号を生成する。
図6の(e)は、図6の(c)で示す画像データを、図6の(d)で示すバッファ制御信号SELの制御により、図5で示した各フリップフロップに取り込んだ様子を示している。例えば、FF106、FF107、およびFF108から期間t1に出力された画像データc00、c01、およびc02に対しては、期間t1においてバッファ制御信号SEL0が有効となるため、FF103に画像データc00が取り込まれ、FF102に画像データc01が取り込まれ、FF101に画像データc02が取り込まれる。期間t5に出力された画像データc10、c11、およびc12に対しては、期間t5においてバッファ制御信号SEL1が有効となるため、FF104に画像データc10が取り込まれ、FF103には画像データc11が取り込まれ、FF102には画像データc12が取り込まれる。期間t9に出力された画像データc20、c21、およびc22に対しては、期間t9においてバッファ制御信号SEL2が有効となるため、FF105に画像データc20が取り込まれ、FF104には画像データc21が取り込まれ、FF103には画像データc22が取り込まれる。また、上述したように、バッファ制御信号SELが無効な場合には、セレクタ601、セレクタ602、セレクタ603、セレクタ604は、「S」で示す選択データ入力端子の画像データを選択する。すなわち、バッファ制御信号SELが無効な場合には、各セレクタは手前のフリップフロップを選択し、その画像データを次の段のフリップフロップへと供給する。
以上のような動作により、画像データをデータ処理部3Cへと出力するFF105からは、図6の(e)で示すように、t6の期間には画像データc00、t7の期間には画像データc01、t8の期間には画像データc02、t9の期間には画像データc10のように順次連続した画像データが出力される。
以上、図5で説明したような構成のバッファ60を設けることにより、クロック周期内に、許容アクセス回数に等しい個数以上のアクセス要求が競合したときには、ウエイト時間に応じてクロック周期単位で画像データの遅延量を補正するため、画像データのタイミングが変動しても、バッファ60によりこの変動が吸収され、データ処理部40には、途切れることのない連続した画像データを供給できる。
(実施の形態3)
図7は、本発明の実施の形態3における共有メモリアクセス制御方法を利用したデータ処理システムの一例を示す構成図である。本発明の実施の形態3におけるデータ処理システムは、図3で説明した実施の形態2との比較において、バッファ61、およびバッファ62が異なっている。図7において、バッファ61、およびバッファ62を除くその他の構成要素については図3と同一であり、説明は省略する。本発明の実施の形態3におけるデータ処理システムも、実施の形態2と同様に、画像データのような連続性が重要となるデータ処理に適したデータ処理システムの一例を示している。また、各データ処理部40は、実施の形態2と同様にグループ分けされている。ここでも、実施の形態2と同様に、許容アクセス回数は3回とし、各グループには同様のウエイト時間が設定されているとして説明する。
図7は、本発明の実施の形態3における共有メモリアクセス制御方法を利用したデータ処理システムの一例を示す構成図である。本発明の実施の形態3におけるデータ処理システムは、図3で説明した実施の形態2との比較において、バッファ61、およびバッファ62が異なっている。図7において、バッファ61、およびバッファ62を除くその他の構成要素については図3と同一であり、説明は省略する。本発明の実施の形態3におけるデータ処理システムも、実施の形態2と同様に、画像データのような連続性が重要となるデータ処理に適したデータ処理システムの一例を示している。また、各データ処理部40は、実施の形態2と同様にグループ分けされている。ここでも、実施の形態2と同様に、許容アクセス回数は3回とし、各グループには同様のウエイト時間が設定されているとして説明する。
図7において、最も優先度の低いグループ3のデータ処理部40は、実施の形態2と同様のバッファ60を介してシステムバス30と接続されている。これに対して、最も優先度の高いグループ1のデータ処理部40はバッファ62を介して、また次に優先度の高いグループ2のデータ処理部40はバッファ61を介して、システムバス30と接続されている。
バッファ62、およびバッファ61も、バッファ60と同様に、データ処理部40のクロック周期Tsで連続した画像データに変換して出力する。さらに、バッファ62、およびバッファ61は、バッファ60と比較して、フリップフロップやセレクタの個数を削減している。すなわち、本発明の特徴とする優先度に基づくグループ化を行なうことで、グループの優先度が高いほどバッファの構成要素の削減が可能になり、これにより、本実施の形態3のデータ処理システムでは、回路素子の削減や低消費電力化を図っている。
図8は、図7に示したバッファ61の詳細な構成を示す構成図である。また、図9は、図7に示したバッファ62の詳細な構成を示す構成図である。以下、図8、および図9を参照しながら、本実施の形態3のデータ処理システムにおいて特徴とするバッファ61、およびバッファ62の構成、および動作について説明する。
図8に示すように、バッファ61は、複数のフリップフロップ(FFで示す)、および複数のセレクタにより構成される。図8において、フリップフロップ(以下、適宜、FFと呼ぶ)116、FF117、およびFF118には、共有メモリ10からのデータが、メモリ処理部22、およびシステムバス30を介して供給され、3aビット幅の入力データは、aビット幅の画像データとして、FF116、FF117、およびFF118に一時記憶される。FF116、FF117、およびFF118に一時記憶された画像データは、バッファ60と同様に、バッファ制御信号SELに応じて選択的にFF111、FF112、FF113、およびFF114に格納される。バッファ61では、バッファ60との比較において、バッファ制御信号SELがSEL0、およびSEL1の2つの信号で構成されている。すなわち、バッファ61は、優先度が2番目に高いグループ2に属するデータ処理部2A、およびデータ処理部2Bに接続されるバッファであり、グループ2に対するウエイト時間は1クロック周期以下のウエイト時間が設定されている。このため、バッファ61は、2クロック周期のウエイト時間に対応する必要はないため、図5におけるセレクタ604やFF105に相当する回路は必要なくなる。
また、図9に示すバッファ62もバッファ61と同様に、複数のフリップフロップ、および複数のセレクタにより構成され、画像データが、FF126、FF127、およびFF128に一時記憶される。一時記憶された画像データは、バッファ61と同様に、バッファ制御信号SELに応じてFF121、FF122、FF123に格納される。バッファ62は、優先度が最も高いグループ1に属するデータ処理部1A、およびデータ処理部1Bに接続されるバッファであり、グループ1に対するウエイト時間は設定されていない。このため、バッファ62は、ウエイト時間に対応する必要はないため、図8におけるセレクタ613やFF114に相当する回路は必要なくなる。すなわち、バッファ62は、画像データをウエイト時間に応じて適応的に時間シフトする必要はなく、パラレルデータからシリアルの画像データへと変換する機能のみでよい。図9に示す構成により、共有メモリ10からの3aビットのパラレルデータを、aビットのシリアルな画像データへと変換する機能が実現される。
以上、本発明のようにデータ処理部を優先度によりグループ化することで、グループ毎にウエイト時間を設けることができる。このため、本実施の形態3で説明したように、グループ毎にウエイト時間に応じたバッファを設けることができ、その結果、優先度の高いグループほどバッファの回路規模を削減することが可能となる。これにより、回路素子の削減や低消費電力化を図ったデータ処理システムを実現できる。
本発明に係る共有メモリアクセス制御方法は、共有メモリを共用するデータ処理部の数が増加した場合であっても、データ処理部における処理時間の低速化や、アクセス要求からデータ転送までの応答遅延時間の増大を招くこともないため、数多くのデータ処理部を有するデータ処理システムに対しても、コストの増大を招くことなく容易に対応することが可能となる。このため、マルチプロセッサシステムや、画像データ、音声データなどの処理を行なうLSIや、その他の用途における共有メモリを複数のデータ処理部が共用してデータ処理を行なう機器等に有用である。
10,91 共有メモリ
20,92 メモリインターフェース部
21,23,21 アクセス調停部
22,922 メモリ処理部
30,93 システムバス
40,94(94A〜94C) データ処理部
41 グループ1のデータ処理部
42 グループ2のデータ処理部
43 グループ3のデータ処理部
50,60,61,62,95 バッファ
20,92 メモリインターフェース部
21,23,21 アクセス調停部
22,922 メモリ処理部
30,93 システムバス
40,94(94A〜94C) データ処理部
41 グループ1のデータ処理部
42 グループ2のデータ処理部
43 グループ3のデータ処理部
50,60,61,62,95 バッファ
Claims (14)
- クロック周期を時間単位としてデータ処理を行なう複数個のデータ処理部と、前記データ処理部から前記クロック周期内に許容アクセス回数とした複数回のアクセスが可能な共有メモリとを備えたデータ処理システムにおける共有メモリアクセス制御方法であって、
前記複数個のデータ処理部を複数のグループに分け、
前記複数のグループのそれぞれに対して、前記共有メモリのアクセスにおける前記グループ間の優先順位を示すグループ間優先順位を設け、
前記複数のグループのそれぞれに対して、前記グループ間優先順位に応じたクロック周期単位のウエイト時間を設け、
前記クロック周期内に複数の前記データ処理部から共有メモリへのアクセス要求が競合したとき、前記グループ間の優先順位に従った順番に、前記クロック周期内に前記許容アクセス回数に等しい個数のデータ処理部から共有メモリへアクセスするように制御するとともに、
前記クロック周期内に、前記許容アクセス回数に等しい個数以上の前記アクセス要求が競合したときには、前記ウエイト時間を用いて各データ処理部から共有メモリへアクセスするように制御することを特徴とする共有メモリアクセス制御方法。 - 前記クロック周期内に、前記許容アクセス回数に等しい個数以上の前記アクセス要求が競合したときには、前記ウエイト時間に応じて前記クロック周期単位で遅延を行なうメモリバッファを介して、各データ処理部から共有メモリへアクセスするように制御することを特徴とする請求項1記載の共有メモリアクセス制御方法。
- 前記複数個のデータ処理部は、グループのそれぞれが前記許容アクセス回数に等しい個数分の前記データ処理部を含むように、複数のグループに分けられたことを特徴とする請求項1記載の共有メモリアクセス制御方法。
- 前記複数個のデータ処理部は、それぞれのグループが前記許容アクセス回数に等しい個数分以下の前記データ処理部を含むように、複数のグループに分けられたことを特徴とする請求項1記載の共有メモリアクセス制御方法。
- 前記複数個のデータ処理部は、前記グループ間優先順位が最も低いとするグループを除き、それぞれのグループが前記許容アクセス回数に等しい個数分以下の前記データ処理部を含むように、複数のグループに分けられたことを特徴とする請求項1記載の共有メモリアクセス制御方法。
- 前記複数のグループのそれぞれに対して設けられたウエイト時間は、前記グループ間優先順位に応じて、前記グループ間優先順位が高いグループほど短いウエイト時間とすることを特徴とする請求項2から請求項5までのいずれか一項に記載の共有メモリアクセス制御方法。
- 前記ウエイト時間は、前記グループ間優先順位に応じて、
前記グループ間優先順位が最も高いグループに対しては、ウエイト時間なしとする0ウエイトのウエイト時間を設定し、
次に前記グループ間優先順位が高いグループに対しては、1クロック周期のウエイト時間を1ウエイトとしたとき、0ウエイトを含む1ウエイト以下のウエイト時間を設定し、
順次、N番目の前記グループ間優先順位が高いグループに対して、(Nー1)クロック周期のウエイト時間を(N−1)ウエイトとしたとき、0ウエイトを含む(N−1)以下のウエイト時間を設定することを特徴とする請求項6記載の共有メモリアクセス制御方法。 - 前記クロック周期内に、前記許容アクセス回数に等しい個数以上の複数の前記データ処理部から共有メモリへのアクセス要求が競合したときには、
前記アクセス要求した複数の前記データ処理部の前記グループ間優先順位を比較し、
その比較結果において、前記グループ間優先順位が最も高い前記データ処理部から順に前記許容アクセス回数に等しい個数分のデータ処理部を抽出し、
前記許容アクセス回数に等しい個数を単位として、前記抽出した順に前記データ処理部を転送順グループとするグループに区分し、
前記転送順グループの転送順位が高いグループほど短いウエイト時間を設定して、
各データ処理部から共有メモリへアクセスするように制御することを特徴とする請求項6または請求項7に記載の共有メモリアクセス制御方法。 - 前記ウエイト時間は、前記転送順グループの転送順位に応じて、
前記転送順グループの転送順位が最も高いグループに対しては、ウエイト時間なしとする0ウエイトのウエイト時間を設定し、
次に前記転送順グループの転送順位が高いグループに対しては、1クロック周期のウエイト時間を1ウエイトとしたとき、0ウエイトを含む1ウエイト以下のウエイト時間を設定し、
順次、N番目の前記転送順グループの転送順位が高いグループに対して、(Nー1)クロック周期のウエイト時間を(N−1)ウエイトとしたとき、0ウエイトを含む(N−1)以下のウエイト時間を設定することを特徴とする請求項8記載の共有メモリアクセス制御方法。 - 前記グループ間優先順位を設けた各グループ内において、一つ以上のデータ処理部に対して、前記共有メモリのアクセスにおけるグループ内での優先順位とするグループ内優先順位を設けたことを特徴とする請求項9記載の共有メモリアクセス制御方法。
- 前記クロック周期内に、前記許容アクセス回数に等しい個数以上の前記アクセス要求が競合したときには、前記ウエイト時間に応じて前記クロック周期単位でアクセスデータの遅延量を補正するバッファを介して、各データ処理部から共有メモリへアクセスするように制御することを特徴とする請求項1記載の共有メモリアクセス制御方法。
- 前記バッファは、前記ウエイト時間の増加に応じて、前記クロック周期単位でのアクセスデータの遅延量が減少するように補正することを特徴とする請求項11記載の共有メモリアクセス制御方法。
- 前記バッファは、前記アクセスデータを複数のビット幅に区分し、区分毎のビットで構成さる各データを前記クロック周期単位のシリアルデータに変換し、前記変換によるシリアルデータに対して、遅延量の補正を行なうことを特徴とする請求項12記載の共有メモリアクセス制御方法。
- 前記区分毎のビットで構成さる各データは、連続した画像データであることを特徴とする請求項13記載の共有メモリアクセス制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004047286A JP2005242408A (ja) | 2004-02-24 | 2004-02-24 | 共有メモリアクセス制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004047286A JP2005242408A (ja) | 2004-02-24 | 2004-02-24 | 共有メモリアクセス制御方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005242408A true JP2005242408A (ja) | 2005-09-08 |
Family
ID=35024123
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004047286A Pending JP2005242408A (ja) | 2004-02-24 | 2004-02-24 | 共有メモリアクセス制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005242408A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012110779A1 (en) * | 2011-02-15 | 2012-08-23 | Arm Limited | Controlling latency and power consumption in a memory |
JP2015233235A (ja) * | 2014-06-10 | 2015-12-24 | 株式会社リコー | 画像処理装置及び画像処理装置の制御方法 |
WO2017221778A1 (ja) * | 2016-06-24 | 2017-12-28 | 日立オートモティブシステムズ株式会社 | 車両制御装置 |
-
2004
- 2004-02-24 JP JP2004047286A patent/JP2005242408A/ja active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012110779A1 (en) * | 2011-02-15 | 2012-08-23 | Arm Limited | Controlling latency and power consumption in a memory |
GB2488516A (en) * | 2011-02-15 | 2012-09-05 | Advanced Risc Mach Ltd | Using priority dependent delays to ensure that the average delay between accesses to a memory remains below a threshold |
JP2014509009A (ja) * | 2011-02-15 | 2014-04-10 | エイアールエム リミテッド | メモリのレイテンシおよび電力消費の制御 |
US9087017B2 (en) | 2011-02-15 | 2015-07-21 | Arm Limited | Controlling latency and power consumption in a memory |
JP2015233235A (ja) * | 2014-06-10 | 2015-12-24 | 株式会社リコー | 画像処理装置及び画像処理装置の制御方法 |
WO2017221778A1 (ja) * | 2016-06-24 | 2017-12-28 | 日立オートモティブシステムズ株式会社 | 車両制御装置 |
US10597040B2 (en) | 2016-06-24 | 2020-03-24 | Hitachi Automotive Systems, Ltd. | Vehicle control apparatus |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10282805B2 (en) | Image signal processor and devices including the same | |
US8601192B2 (en) | Arbitration device, arbitration system, arbitration method, semiconductor integrated circuit, and image processing device | |
CN112703489A (zh) | 控制器、存储器件访问系统、电子设备和数据传输方法 | |
JP2011150397A (ja) | バス調停装置 | |
US20100325375A1 (en) | Data-access control device and data-access control method | |
US8838862B2 (en) | Data transfer device, method of transferring data, and image forming apparatus | |
US7392330B2 (en) | Memory access bandwidth allocation and latency control in a digital camera | |
JP2011175621A (ja) | データ転送制御装置およびデータ転送制御方法 | |
US8650347B2 (en) | Arbitration device, arbitration method, and electronic apparatus | |
US7380027B2 (en) | DMA controller and DMA transfer method | |
JP2005084907A (ja) | メモリ帯域制御装置 | |
EP2006773A2 (en) | Integrated circuit, and integrated circuit system | |
KR101420290B1 (ko) | 트랜잭션들을 그룹화하는 버스 중재기, 이를 포함하는 버스장치 및 시스템 | |
JP2005242408A (ja) | 共有メモリアクセス制御方法 | |
US8438523B2 (en) | Integrated circuit manufacturing method and semiconductor integrated circuit | |
JP2009116702A (ja) | 半導体集積回路 | |
JPH08123634A (ja) | プログラム可能な裁定装置 | |
US6094696A (en) | Virtual serial data transfer mechanism | |
JP5360594B2 (ja) | Dma転送装置及び方法 | |
JP2005216147A (ja) | 情報処理装置 | |
US9747231B2 (en) | Bus access arbiter and method of bus arbitration | |
US20120144150A1 (en) | Data processing apparatus | |
JP2009205573A (ja) | バッファ制御装置およびバッファ制御方法 | |
JP4862593B2 (ja) | データ転送装置及び画像形成装置 | |
KR100469284B1 (ko) | 디지털 티브이의 버퍼 뱅크 제어 장치 |