(57)【要約】【課題】ＳＤＲＡＭなどのメモリーへのアクセスにおいて、リードアクセスの要求順序とリードデータの出力順序との整合性が求められる場合でも、リードレイテンシの増大を抑制しつつ、バンク競合によるオーバーヘッドを隠蔽できること。【解決手段】リード要求格納部２１は、優先条件を満たす第１リードアクセス要求を要求元に対応するＦＩＦＯバッファー２３に格納し、その他の第２リードアクセス要求をランダムアクセスバッファー２４に格納する。リードコマンド発行部２６は、割込条件が成立しない場合に選択された第１リードアクセス要求のコマンドを発行し、前記割込条件が成立する場合に選択された第２リードアクセス要求のコマンドを発行する。【選択図】図３
2016114997.tif 000002
【特許請求の範囲】
【請求項１】
複数のバンクに区分されているとともに前記バンク各々が複数のページに区分されたデータ記憶領域を有するメモリーに対し、複数のマスター各々から入力されるリードアクセス要求に対応するリードアクセスコマンドを発行するメモリーアクセス装置であって、
前記マスター各々に対応し、前記リードアクセス要求を一時記憶可能なＦＩＦＯバッファーである複数の第１キューイングバッファーと、
前記リードアクセス要求を一時記憶可能なランダムアクセスバッファーである第２キューイングバッファーと、
前記マスターから入力される前記リードアクセス要求のうち予め定められた優先条件を満たす第１リードアクセス要求を要求元に対応する前記第１キューイングバッファーに記憶させ、その他の第２リードアクセス要求を前記第２キューイングバッファーに記憶させるリード要求格納部と、
複数の前記第１キューイングバッファー各々における先頭の前記第１リードアクセス要求のうちの１つを選択する第１リードアクセス要求選択部と、
直近に発行済みの前記リードアクセスコマンドと選択された前記第１リードアクセス要求に対応する前記リードアクセスコマンドとの間で生じるバンク競合による第１オーバーヘッド時間が許容時間を超えることを含む割込条件が成立するか否かを判定する割込条件判定部と、
前記割込条件が成立する場合に、前記第２キューイングバッファーの前記第２リードアクセス要求のうちの１つを選択する第２リードアクセス要求選択部と、
前記割込条件が成立しない場合に選択された前記第１リードアクセス要求を前記第１キューイングバッファーから読み出すとともに読み出した前記第１リードアクセス要求に対応する前記リードアクセスコマンドを前記メモリーに対して発行し、前記割込条件が成立する場合に選択された前記第２リードアクセス要求を前記第２キューイングバッファーから読み出すとともに読み出した前記第２リードアクセス要求に対応する前記リードアクセスコマンドを前記メモリーに対して発行するコマンド発行部と、を備えるメモリーアクセス装置。
【請求項２】
前記リード要求格納部は、前記リードアクセス要求の要求元から予め定められた通知を受けた場合に前記優先条件を満たすと判定する、請求項１に記載のメモリーアクセス装置。
【請求項３】
前記メモリーから出力される複数のリードデータを一時記憶可能なリードデータバッファーと、
前記第２リードアクセス要求の要求元ごとに、複数の前記第２リードアクセス要求に対応する前記リードアクセスコマンド各々の発行に応じて前記メモリーから出力される複数のリードデータを、前記リードデータバッファーに記憶させつつ前記マスターからの前記第２リードアクセス要求の入力順序に対応する順序に並べ替えた後に要求元の前記マスターへ出力するリードデータ並べ替え部と、を備える請求項１または請求項２に記載のメモリーアクセス装置。
【請求項４】
前記第１リードアクセス要求選択部は、ラウンドロビン方式によって前記第１リードアクセス要求を選択する、請求項１から請求項３のいずれか１項に記載のメモリーアクセス装置。
【請求項５】
前記第２リードアクセス要求選択部は、直近に発行済みの前記リードアクセスコマンドと前記第２キューイングバッファーにおける前記第２リードアクセス要求各々に対応する前記リードアクセスコマンド各々との間で生じるバンク競合による第２オーバーヘッド時間各々を前記第１オーバーヘッド時間と比較し、前記第１オーバーヘッド時間に近い前記第２オーバーヘッド時間が生じる前記第２リードアクセス要求を優先して選択する、請求項１から請求項４のいずれか１項に記載のメモリーアクセス装置。
【請求項６】
複数のバンクに区分されているとともに前記バンク各々が複数のページに区分されたデータ記憶領域を有するメモリーと、
請求項１から請求項５のいずれか１項に記載のメモリーアクセス装置と、を備える画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリーアクセス装置およびそれを備える画像処理装置に関する。
【背景技術】
【０００２】
一般に、プリンター、スキャナー、複写機、ファクシミリ装置またはそれらの機能を併せ持つ複合機などの画像処理装置は、ＳＤＲＡＭ（Synchronous Dynamic Random Access Memory）と、メモリーアクセス装置とを備える。
【０００３】
前記ＳＤＲＡＭ（Synchronous Dynamic Random Access Memory）のデータ記憶領域は、複数のバンクに区分されており、前記バンク各々は複数のページに区分されている。前記ＳＤＲＡＭは、前記メモリーアクセス装置によって前記ページ単位で活性化され、活性化された前記ページがアクセス可能になる。
【０００４】
また、前記ＳＤＲＡＭにおいて、異なる前記バンク各々の前記ページを独立して活性化することが可能である。そのため、異なる前記バンクへのアクセスが続く場合、大きなオーバーヘッドが生じず、連続して高速なアクセスが可能である。
【０００５】
一方、１つの前記バンク内における異なる前記ページへのアクセスが続く場合、バンク競合による比較的大きなオーバーヘッドが生じる。即ち、１つの前記バンク内でのアクセスにおいては、先に活性化された前記ページのクローズ処理が終了した後に次の前記ページを活性化するステップが必要であり、このステップが前記バンク競合によるオーバーヘッドとなる。
【０００６】
一般に、前記ＳＤＲＡＭのようなメモリーに対するデータの書き込みおよび読み出しのためのアクセスは、メモリーアクセス装置によって制御される。また、前記メモリーアクセス装置が、マスターから入力されたメモリーへのアクセス要求の列を含むアクセス要求トランザクションを前記バンク単位のアクセス要求に分割し、分割された前記アクセス要求の順序を入れ替えた上で、前記アクセス要求に対応するコマンドを前記ＳＤＲＡＭに発行することが知られている（例えば、特許文献１参照）。この場合、前記コマンドの発行順序の最適化により、前記バンク競合によるオーバーヘッドの一部が隠蔽される。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００６−２６０４７２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
ところで、一般的な前記メモリーアクセス装置において、前記マスターごとに、前記マスターからのリードアクセス要求の順序と、前記マスターへのリードデータの転送順序との整合性が求められる。また、複数のリードアクセスコマンドが発行された場合、前記リードアクセスコマンド各々に対応するリードデータは、前記リードアクセスコマンドの発行順序に対応する順序で前記ＳＤＲＡＭから出力される。
【０００９】
従って、１つの前記マスターに対応する複数の前記リードアクセスコマンドが、前記リードアクセス要求の入力順序と異なる順序で発行される場合、前記リードデータの並べ替えに要する時間が必要なため、リードレイテンシが増大する。前記リードレイテンシは、前記メモリーアクセス装置における前記リードアクセス要求の入力から対応する前記リードデータの出力までの時間である。
【００１０】
許容される前記リードレイテンシが短いリードアクセス要求とそうでないリードアクセス要求とが前記メモリーアクセス装置に入力される場合、前者についての前記リードレイテンシの増大を抑制しつつバンク競合によるオーバーヘッドを隠蔽することが望まれる。
【００１１】
本発明の目的は、ＳＤＲＡＭなどのメモリーへのアクセスにおいて、リードアクセスの要求順序とリードデータの出力順序との整合性が求められる場合でも、リードレイテンシの増大を抑制しつつ、バンク競合によるオーバーヘッドを隠蔽することができるメモリーアクセス装置およびそれを備える画像処理装置を提供することにある。
【課題を解決するための手段】
【００１２】
本発明の一の局面に係るメモリーアクセス装置は、メモリーに対し、複数のマスター各々から入力されるリードアクセス要求に対応するリードアクセスコマンドを発行する装置である。前記メモリーは、複数のバンクに区分されているとともに前記バンク各々が複数のページに区分されたデータ記憶領域を有する。前記メモリーアクセス装置は、複数の第１キューイングバッファーと、第２キューイングバッファーと、リード要求格納部と、第１リードアクセス要求選択部と、割込条件判定部と、第２リードアクセス要求選択部と、コマンド発行部とを備える。前記第１キューイングバッファー各々は、前記マスター各々に対応し、前記リードアクセス要求を一時記憶可能なＦＩＦＯバッファーである。前記第２キューイングバッファーは、前記リードアクセス要求を一時記憶可能なランダムアクセスバッファーである。前記リード要求格納部は、前記マスターから入力される前記リードアクセス要求のうち予め定められた優先条件を満たす第１リードアクセス要求を要求元に対応する前記第１キューイングバッファーに記憶させ、その他の第２リードアクセス要求を前記第２キューイングバッファーに記憶させる。前記第１リードアクセス要求選択部は、複数の前記第１キューイングバッファー各々における先頭の前記第１リードアクセス要求のうちの１つを選択する。前記割込条件判定部は、割込条件が成立するか否かを判定する。前記割込条件は、直近に発行済みの前記リードアクセスコマンドと選択された前記第１リードアクセス要求に対応する前記リードアクセスコマンドとの間で生じるバンク競合による第１オーバーヘッド時間が許容時間を超えることを含む。前記第２リードアクセス要求部は、前記割込条件が成立する場合に、前記第２キューイングバッファーの前記第２リードアクセス要求のうちの１つを選択する。前記コマンド発行部は、前記割込条件が成立しない場合に、選択された前記第１リードアクセス要求を前記第１キューイングバッファーから読み出すとともに読み出した前記第１リードアクセス要求に対応する前記リードアクセスコマンドを前記メモリーに対して発行する。さらに、前記コマンド発行部は、前記割込条件が成立する場合に、選択された前記第２リードアクセス要求を前記第２キューイングバッファーから読み出すとともに読み出した前記第２リードアクセス要求に対応する前記リードアクセスコマンドを前記メモリーに対して発行する。
【００１３】
本発明の他の局面に係る画像処理装置は、前記メモリーと本発明の一の局面に係るメモリーアクセス装置とを備える。
【発明の効果】
【００１４】
本発明によればＳＤＲＡＭなどのメモリーへのアクセスにおいて、リードアクセスの要求順序とリードデータの出力順序との整合性が求められる場合でも、リードレイテンシの増大を抑制しつつ、バンク競合によるオーバーヘッドを隠蔽することができるメモリーアクセス装置およびそれを備える画像処理装置を提供することが可能になる。
【図面の簡単な説明】
【００１５】
【図１】図１は、本発明の実施形態に係るメモリーアクセス装置を備える画像処理装置のブロック図である。
【図２】図２は、本発明の実施形態に係るメモリーアクセス装置のブロック図である。
【図３】図３は、本発明の実施形態に係るメモリーアクセス装置が備えるリードアクセス制御部のブロック図である。
【発明を実施するための形態】
【００１６】
以下、添付図面を参照しながら、本発明の実施形態について説明する。なお、以下の実施形態は、本発明を具体化した一例であって、本発明の技術的範囲を限定する性格を有さない。
【００１７】
［画像処理装置］
まず、図１を参照しつつ、実施形態に係るメモリーアクセス装置１０を備える画像処理装置１００の概略構成について説明する。画像処理装置１００は、メモリーアクセス装置１０の適用例の１つである。
【００１８】
図１が示す画像処理装置１００は、原稿から画像を読み取る画像読取装置の機能および記録シートへ画像を形成する画像形成装置の機能を兼ね備えた複合機である。なお、画像処理装置１００が、前記画像形成装置、前記画像読取装置、前記画像形成装置および前記画像読取装置の機能を備える複写機または前記画像読取装置の機能および画像送信機能を備えるファクシミリ装置などであることも考えられる。
【００１９】
画像処理装置１００は、ＳＤＲＡＭ９、メモリーアクセス装置１０、スキャン部２０、スキャン制御部３０、プリント部４０、プリント制御部５０、通信制御部６０および画像処理部７０などを備える。
【００２０】
メモリーアクセス装置１０、スキャン制御部３０、プリント制御部５０、通信制御部６０および画像処理部７０は、それぞれバス８０に接続されおり、バス８０を通じて相互にデータの受け渡しが可能である。さらに、画像処理装置１００は、バス８０に接続されたメモリーアクセス装置１０とその他のデバイスとを１対１で接続するサイドバンド信号線８１も備える。図１が示す例では、サイドバンド信号線８１は、メモリーアクセス装置１０と通信制御部６０とを１対１で接続している。
【００２１】
スキャン部２０は、前記原稿に光を走査する不図示の光学系、および原稿からの反射光の光量を画素ごとに検出して原稿画像データを出力する不図示のイメージセンサーなどを備える。
【００２２】
スキャン制御部３０は、スキャン部２０を制御して前記原稿画像データを取得する。さらに、スキャン制御部３０は、メモリーアクセス装置１０を通じて前記原稿画像データをＳＤＲＡＭ９に書き込む処理なども実行する。例えば、スキャン制御部３０は、ＳＤＲＡＭ９を介して前記原稿画像データを画像処理部７０、プリント制御部５０または通信制御部６０などの他の機器に引き渡す場合がある。
【００２３】
プリント部４０は、周知の電子写真方式の画像形成処理によって前記記録シートに画像を形成する。プリント部４０は、不図示の像担持体およびその周辺機器を備え、前記像担持体から前記記録シートに現像剤の画像を転写するとともにその画像を前記記録シートに定着させる。
【００２４】
プリント制御部５０は、プリント部４０を制御する。プリント制御部５０は、他の機器から記録用画像データを取得し、その記録用画像データ基づく画像を前記記録シートに形成する処理をプリント部４０に実行させる。
【００２５】
通信制御部６０は、パーソナルコンピューターなどの外部装置との間でデータの送受信を行うとともに、バス８０を通じて他の機器とデータの受け渡しを行う。例えば、通信制御部６０は、前記外部機器から画像データを受信し、その画像データを前記記録用画像データとして前記プリント制御部５０に引き渡す。
【００２６】
また、通信制御部６０は、スキャン制御部３０から前記原稿画像データを取得し、その原稿画像データを含むデータを前記外部装置へ送信する。
【００２７】
画像処理部７０は、バス８０を通じて他の機器から得た画像データに対する画像処理を実行する。画像処理部７０による画像処理の対象は、例えば、スキャン制御部３０から前記通信制御部６０を通じて前記外部装置へ送信される画像データまたは前記スキャン制御部３０から前記プリント制御部５０へ引き渡される前記原稿画像データなどである。例えば、画像処理部７０は、他の機器から得た前記画像データに対し、画像回転処理、ハーフトーン処理またはサイズカット処理などの画像処理を施す。
【００２８】
ＳＤＲＡＭ９は、高速でデータの書き込みおよび読み出しが可能なメモリーである。ＳＤＲＡＭ９は、バス８０に接続された機器から発行されるアクセスコマンドの内容に従ってそのデータ領域へのデータの記録および前記データ領域に記録されているデータの出力を行う。
【００２９】
ＳＤＲＡＭ９の前記データ記憶領域は、複数のバンクに区分されており、前記バンク各々が複数のページに区分されている。ＳＤＲＡＭ９は、メモリーアクセス装置１０によって前記ページ単位で活性化され、活性化された前記ページがアクセス可能になる。
【００３０】
ＳＤＲＡＭ９において、１つの前記バンク内の前記ページと他の前記バンク内の前記ページとを独立して活性化することが可能である。そのため、異なる前記バンクへのアクセスが続く場合、大きなオーバーヘッドが生じず、連続して高速なアクセスが可能である。
【００３１】
一方、１つの前記バンク内における異なる前記ページへのアクセスが続く場合、バンク競合による比較的大きなオーバーヘッドが生じる。以下、前記バンク競合によるオーバーヘッドのことをバンク競合オーバーヘッドと称する。
【００３２】
例えば、同一の前記バンクにおける第１ページおよび第２ページ各々へのリードアクセスコマンドが連続して発行される場合を考える。この場合、先に活性化された前記第１ページのクローズ処理が終了した後に前記第２ページを活性化するステップが必要である。このステップにおいて、前記第１ページの前記クローズ処理に要する時間が比較的長いため、前記第２ページの活性化コマンドの発行までの待ち時間が、前記バンク競合オーバーヘッドの時間となる。
【００３３】
なお、本実施形態におけるＳＤＲＡＭ９は、リードアクセスとライトアクセスとを並行して受け付け可能なリード・ライト独立チャンネルタイプのメモリーである。
【００３４】
本実施形態では、主としてメモリーアクセス装置１０がＳＤＲＡＭ９に対して前記アクセスコマンドを発行する。この場合、スキャン制御部３０、プリント制御部５０、通信制御部６０および画像処理部７０の各々が、バス８０を通じてメモリーアクセス装置１０に向けてＳＤＲＡＭ９へのアクセス要求を出力する。一般に、メモリーアクセス装置１０は、ＤＭＡＣ（Direct Memory Access Controller）などと称される。
【００３５】
前記アクセス要求の１つはリードアクセス要求であり、これに対応する前記アクセスコマンドはリードアクセスコマンドである。前記アクセス要求の他の１つはライトアクセス要求であり、これに対応する前記アクセスコマンドはライトアクセスコマンドである。
【００３６】
前記アクセス要求は、アクセスの種類の情報と、要求元の識別情報と、ＳＤＲＡＭ９のデータ領域におけるアクセス先のアドレス情報とを含む。前記アクセスの種類の情報は、前記リードアクセス要求および前記ライトアクセス要求のいずれか一方を特定する情報である。
【００３７】
以下の説明において、メモリーアクセス装置１０に対して前記アクセス要求を出力する機器のことをマスター９０と称する。本実施形態におけるマスター９０は、スキャン制御部３０、プリント制御部５０、通信制御部６０および画像処理部７０の各々である。なお、マスター９０がクライアントと称される場合もある。
【００３８】
メモリーアクセス装置１０は、ＳＤＲＡＭ９に対して前記アクセスコマンドを発行する装置である。メモリーアクセス装置１０は、複数のマスター９０各々から入力される前記リードアクセス要求および前記ライトアクセス要求各々に対応する前記リードアクセスコマンドおよび前記ライトアクセスコマンドをＳＤＲＡＭ９へ発行する。メモリーアクセス装置１０は、マスター９０から入力される前記アクセス要求を前記オーバーヘッドが減少するように並べ替え、並べ替え後の順序で前記アクセスコマンドをＳＤＲＡＭ９へ発行する。
【００３９】
ところで、一般的なメモリーアクセス装置において、マスター９０ごとに、マスター９０からのリードアクセスの要求順序と、マスター９０へのリードデータの転送順序との整合性が求められる場合がある。また、複数の前記リードアクセスコマンドが発行された場合、前記リードアクセスコマンド各々に対応するリードデータは、前記リードアクセスコマンドの発行順序に対応する順序でＳＤＲＡＭ９から出力される。
【００４０】
従って、１つのマスター９０に対応する複数の前記リードアクセスコマンドが、前記リードアクセス要求の入力順序と異なる順序で発行される場合、前記リードデータの並べ替えに要する時間が必要なため、リードレイテンシが増大する。前記リードレイテンシは、メモリーアクセス装置１０における前記リードアクセス要求の入力から対応する前記リードデータの出力までの時間である。
【００４１】
許容される前記リードレイテンシが短い前記リードアクセス要求とそうでない前記リードアクセス要求とがメモリーアクセス装置１０に入力される場合、前者についての前記リードレイテンシの増大を抑制しつつ前記バンク競合オーバーヘッドを隠蔽することが望まれる。
【００４２】
メモリーアクセス装置１０は、後述する構成を備えることにより、ＳＤＲＡＭ９へのアクセスにおいて、リードアクセスの要求順序とリードデータの出力順序との整合性が求められる場合でも、前記リードレイテンシの増大を抑制しつつ、前記バンク競合オーバーヘッドを隠蔽することができる。
【００４３】
［メモリーアクセス装置］
次に、図２，３を参照しつつ、メモリーアクセス装置１０について説明する。メモリーアクセス装置１０は、例えばＡＳＩＣ（Application Specific Integrated Circuit）またはＤＳＰ（digital Signal Processor）などによって構成されている。
【００４４】
図２が示すように、メモリーアクセス装置１０は、アクセス要求入力部１と、リードアクセス制御部２と、ライトアクセス制御部３とを備える。
【００４５】
アクセス要求入力部１は、前記アクセス要求をマスター９０から取得する処理を実行する。前記アクセス要求は、バス８０を通じてマスター９０からアクセス要求入力部１へ入力される。
【００４６】
前記アクセス要求は、ＳＤＲＡＭ９に対して前記データ記憶領域に記憶されているデータを読み出す処理を要求する前記リードアクセス要求と、ＳＤＲＡＭ９に対して前記データ記憶領域にデータを記録する処理を要求する前記ライトアクセスとを含む。
【００４７】
前記リードアクセス要求および前記ライトアクセス要求は、その要求の種類の情報と、前記データ記憶領域におけるアドレスを指定する行アドレス情報および列アドレス情報と、要求元の識別情報とを含む。
【００４８】
さらに、アクセス要求入力部１は、マスター９０から入力される前記アクセス要求を前記リードアクセス要求と前記ライトアクセス要求とに分別する。さらに、アクセス要求入力部１は、分別処理により得られる前記リードアクセス要求の列をリードアクセス制御部２に引き渡し、前記ライトアクセス要求の列をライトアクセス制御部３に引き渡す。
【００４９】
アクセス要求入力部１は、マスター９０からの入力時における前記リードアクセス要求の前後の関係を維持しつつ前記リードアクセス要求の列をリードアクセス制御部２に出力する。同様に、アクセス要求入力部１は、マスター９０からの入力時における前記ライトアクセス要求の前後の関係を維持しつつ前記ライトアクセス要求の列をライトアクセス制御部３に出力する。
【００５０】
リードアクセス制御部２は、マスター９０からアクセス要求入力部１を通じて入力される前記リードアクセス要求に対応する前記リードアクセスコマンドをＳＤＲＡＭ９に発行する。これにより、ＳＤＲＡＭ９は、前記データ記憶領域における指定アドレスに記憶しているデータをリードアクセス制御部２へ出力する。さらに、リードアクセス制御部２は、前記リードアクセスコマンドの発行に応じてＳＤＲＡＭ９から出力されるリードデータを、前記リードアクセス要求の要求元へ転送する。
【００５１】
ライトアクセス制御部３は、マスター９０からアクセス要求入力部１を通じて入力される前記ライトアクセス要求に対応する前記ライトアクセスコマンドをＳＤＲＡＭ９に発行する。さらに、ライトアクセス制御部３は、前記ライトアクセス要求の要求元からバス８０を通じて転送されてくるライトデータを取得し、そのライトデータをＳＤＲＡＭ９へ出力する。これにより、前記ライトデータがＳＤＲＡＭ９の前記データ記憶領域における指定アドレスに書き込まれる。
【００５２】
［リードアクセス制御部２の詳細］
図３が示すように、リードアクセス制御部２は、リード要求格納部２１、要求情報バッファー２２、複数の第１キューイングバッファー２３、第２キューイングバッファー２４、リードアクセス調停部２５、リードコマンド発行部２６、発行情報バッファー２７およびリードデータ転送部２８を備える。
【００５３】
リードアクセス調停部２５は、第１要求選択部、割込条件判定部２５２、第２要求選択部２５３および要求出力部２５４を含む。リードデータ転送部２８は、データ識別部２８１、データ並べ替え部２８２、リードデータバッファー２８３およびデータ出力部２８４を含む。
【００５４】
第１キューイングバッファー２３各々は、前記リードアクセス要求を一時記憶可能なＦＩＦＯバッファーである。第１キューイングバッファー２３各々は、マスター９０各々に対応して設けられている。
【００５５】
第１キューイングバッファー２３は、許容される前記リードレイテンシが短い前記リードアクセス要求を出力する可能性があるマスター９０ごとに設けられている。以下の説明において、許容される前記リードレイテンシが相対的に短い前記リードアクセス要求のことを第１リードアクセス要求、許容される前記リードレイテンシが相対的に長い前記リードアクセス要求のことを第２リードアクセス要求と称する。
【００５６】
短い前記リードレイテンシを保証するためには、前記第１リードアクセス要求を優先して処理することに加え、１つのマスター９０からの複数の前記第１リードアクセス要求は、入力時の順番と同じ順番で処理することが望ましい。
【００５７】
従って、本実施形態においては、前記第１リードアクセス要求が第１キューイングバッファー２３に格納される。
【００５８】
例えば、第１キューイングバッファー２３各々に対応するマスター９０には、常に短い前記リードレイテンシの保証が必要なマスター９０と、状況に応じて短い前記リードレイテンシの保証を要求するマスター９０とが含まれる。以下、前者のことを常時優先マスターと称し、後者のことを随時優先マスターと称する。
【００５９】
前記随時優先マスターは、前記サイドバンド信号線８１を通じてリード要求格納部２１に対して情報を通知することができる。図１が示す例では、通信制御部６０が前記随時優先マスターであり、スキャン制御部３０、プリント制御部５０および画像処理部７０が前記常時優先マスターである。
【００６０】
なお、メモリーアクセス装置１０とバス８０で接続された複数のマスター９０のうちの一部が、前記リードアクセス要求を出力する可能性がないマスター９０であることも考えられる。この場合、第１キューイングバッファー２３の数はマスター９０の総数よりも少ない。
【００６１】
第２キューイングバッファー２４は、前記リードアクセス要求を一時記憶可能なランダムアクセスバッファーである。本実施形態においては、前記第２リードアクセス要求が第２キューイングバッファー２４に格納される。
【００６２】
第２キューイングバッファー２４は、記憶中の前記第２リードアクセス要求ごとに記録されてからの経過時間、即ち、滞留時間をカウントアップする機能を備える。
【００６３】
リード要求格納部２１は、マスター９０から入力される前記リードアクセス要求のうち前記第１リードアクセス要求を要求元に対応する第１キューイングバッファー２３に記憶させる。さらに、リード要求格納部２１は、前記第２リードアクセス要求を第２キューイングバッファー２４に記憶させる。
【００６４】
リード要求格納部２１は、マスター９０から入力される前記リードアクセス要求が予め定められた優先条件を満たす場合にそれが前記第１リードアクセス要求であると判定し、それ以外の前記リードアクセス要求が前記第２リードアクセス要求であると判定する。
【００６５】
１つめの前記優先条件は、前記リードアクセス要求の要求元が前記常時優先マスターであるという条件である。リード要求格納部２１は、予め前記常時優先マスターの識別情報を記憶する不図示の不揮発性メモリーを備える。リード要求格納部２１は、前記リードアクセス要求に含まれる要求元の識別情報と前記不揮発性メモリーが記憶する前記常時優先マスターの識別情報とを照合することにより、１つめの前記優先条件の成否を判定する。
【００６６】
２つめの前記優先条件は、前記リードアクセス要求の要求元から前記サイドバンド信号線８１を通じて優先すべき要求である旨の通知を受けたという条件である。この通知を出力するマスター９０は前記随時優先マスターである。
【００６７】
要求情報バッファー２２は、マスター９０から入力される前記リードアクセス要求各々について要求元と、前記第１リードアクセス要求であるか否かと、入力順序とを特定できるリード要求情報を一時記憶する記憶部である。リード要求格納部２１が前記リード要求情報を要求情報バッファー２２に記憶させる。
【００６８】
例えば、リード要求格納部２１は、入力される前記リードアクセス要求各々の識別情報と要求元の識別情報と前記第１リードアクセス要求であるか否かの識別情報とを含む前記リード要求情報を要求情報バッファー２２に記憶させる。その際、リード要求格納部２１は、複数の前記リード要求情報を前記リードアクセス要求の入力順序と同じ順序で並ぶ状態で要求情報バッファー２２に記憶させる。
【００６９】
リードアクセス調停部２５は、第１キューイングバッファー２３および第２キューイングバッファー２４各々に格納される複数の前記リードアクセス要求を１つずつ読み出して後段のリードコマンド発行部２６へ出力する。
【００７０】
リードアクセス調停部２５において、まず、第１要求選択部２５１が、複数の第１キューイングバッファー２３各々における先頭の前記第１リードアクセス要求のうちの１つを選択する。第１要求選択部２５１の選択結果は、割込条件判定部２５２および要求出力部２５４に通知される。なお、第１要求選択部２５１は第１リードアクセス要求選択部の一例である。
【００７１】
例えば、第１要求選択部２５１は、周知のラウンドロビン方式によって前記第１リードアクセス要求を選択する。この場合、複数の第１キューイングバッファー２３に格納された前記第１リードアクセス要求は、要求元ごとに均等に選択される。
【００７２】
なお、第１要求選択部２５１が、予め設定された第１キューイングバッファー２３各々の優先度に従って前記第１リードアクセス要求を選択することも考えられる。また、第１要求選択部２５１が、複数の第１キューイングバッファー２３各々における先頭の前記第１リードアクセス要求の中からバッファー内での滞留時間の最も長いものを選択することも考えられる。この場合、第１キューイングバッファー２３各々は、記憶中の前記第１リードアクセス要求ごとに記録されてからの経過時間、即ち、滞留時間をカウントアップする機能を備える。
【００７３】
割込条件判定部２５２は、予め定められた割込条件が成立するか否かを判定する。前記割込条件は、複数の前記第１リードアクセス要求の処理の間に前記第２リードアクセス要求の処理を割り込ませるタイミングを判定する条件である。前記割込条件の判定結果は、第２要求選択部２５３へ通知される。
【００７４】
第１の前記割込条件は、以下に示される第１オーバーヘッド時間が許容時間を超えるという条件である。前記第１オーバーヘッド時間は、直近に発行済みの前記リードアクセスコマンドと第１要求選択部２５１が選択した前記第１リードアクセス要求に対応する前記リードアクセスコマンドとの間で生じる前記バンク競合オーバーヘッドの時間である。
【００７５】
第２の前記割込条件は、第２キューイングバッファー２４内に予め定められた上限時間を超えて滞留する前記第２リードアクセス要求が存在するという条件である。なお、割込条件判定部２５２は、少なくとも第１の前記割込条件を判定する。
【００７６】
第３の前記割込条件は、全ての第１キューイングバッファー２３に前記第１リードアクセス要求が残存しないという条件である。
【００７７】
第２要求選択部２５３は、少なくとも１つの前記割込条件が成立する場合に、第２キューイングバッファー２４の前記第２リードアクセス要求のうちの１つを選択する。その際、第２要求選択部２５３は、前記第２リードアクセス要求の入力順序に依拠せず、前記バンク競合オーバーヘッドの重複率がより高くなることを優先して前記第２リードアクセス要求を選択する。
【００７８】
なお、第２要求選択部２５３は、前記割込条件が成立する場合に、第２キューイングバッファー２４の前記第２リードアクセス要求のうちの１つを選択する第２リードアクセス要求選択部の一例である。
【００７９】
例えば、第２要求選択部２５３は、第２キューイングバッファー２４に残留する前記第２リードアクセス要求各々についての第２オーバーヘッド時間を前記第１オーバーヘッド時間と比較し、前記第１オーバーヘッド時間に近い前記第２オーバーヘッド時間が生じる前記第２リードアクセス要求を優先して選択する。前記第２オーバーヘッド時間は、直近に発行済みの前記リードアクセスコマンドと第２キューイングバッファー２４における前記第２リードアクセス要求各々に対応する前記リードアクセスコマンド各々との間で生じる前記バンク競合オーバーヘッドの時間である。
【００８０】
要求出力部２５４は、前記割込条件が成立しない場合に、第１要求選択部２５１によって選択された前記第１リードアクセス要求を第１キューイングバッファー２３から読み出すとともに読み出した前記第１リードアクセス要求をリードコマンド発行部２６に出力する。さらに、要求出力部２５４は、前記割込条件が成立する場合に、第２要求選択部２５３によって選択された前記第２リードアクセス要求を第２キューイングバッファー２４から読み出すとともに読み出した前記第２リードアクセス要求をリードコマンド発行部２６に出力する。
【００８１】
リードコマンド発行部２６は、要求出力部２５４から得た前記リードアクセス要求に対応する前記リードアクセスコマンドをＳＤＲＡＭ９へ発行する。その際、リードコマンド発行部２６は、前記リードアクセスコマンドに付随して必要な活性化コマンドおよびプリチャージコマンドもＳＤＲＡＭ９に発行する。
【００８２】
より具体的には、リードコマンド発行部２６は、前記行アドレス情報を含む前記活性化コマンドを発行した後に、前記列アドレス情報を含む前記リードアクセスコマンドまたは前記ライトアクセスコマンドを発行し、さらに前記プリチャージコマンドを発行する。リードコマンド発行部２６は、ＳＤＲＡＭ９の仕様によって予め定められたタイミングで各コマンドを発行する。
【００８３】
即ち、要求出力部２５４およびリードコマンド発行部２６は、前記割込条件が成立しない場合に、選択された前記第１リードアクセス要求を第１キューイングバッファー２３から読み出すとともに読み出した前記第１リードアクセス要求に対応する前記リードアクセスコマンドをＳＤＲＡＭ９に対して発行する。読み出された前記第１リードアクセス要求は、第１キューイングバッファー２３から消去される。
【００８４】
また、要求出力部２５４およびリードコマンド発行部２６は、前記割込条件が成立する場合に、選択された前記第２リードアクセス要求を第２キューイングバッファー２４から読み出すとともに読み出した前記第２リードアクセス要求に対応する前記リードアクセスコマンドをＳＤＲＡＭ９に対して発行する。なお、要求出力部２５４およびリードコマンド発行部２６はコマンド発行部の一例である。
【００８５】
さらに、リードコマンド発行部２６は、リードコマンド発行情報を発行情報バッファー２７に記憶させる。発行情報バッファー２７は、前記リードコマンド発行情報を一時記憶する記憶部である。
【００８６】
前記リードコマンド発行情報は、発行された前記リードアクセスコマンドと前記リードアクセス要求との対応関係を特定できる情報である。例えば、リードコマンド発行部２６は、発行された前記リードアクセスコマンドの識別情報と前記リードアクセス要求の識別情報とを含む前記リードコマンド発行情報を前記リードアクセスコマンドの発行順序と同じ順序で並ぶ状態で発行情報バッファー２７に記憶させる。
【００８７】
リードデータ転送部２８は、前記リードアクセスコマンドの発行に応じてＳＤＲＡＭ９から読み出されたリードデータを、対応する前記リードアクセス要求の要求元へ転送する。
【００８８】
リードデータ転送部２８において、データ識別部２８１は、ＳＤＲＡＭ９が出力する前記リードデータを取得し、そのリードデータと前記リードアクセス要求との対応関係を識別する。その際、データ識別部２８１は、発行情報バッファー２７内の前記リードコマンド発行情報を読み出し、前記リードコマンド発行情報に基づいて前記リードデータに対応する前記リードアクセス要求を識別する。データ識別部２８１が読み出した前記リードコマンド発行情報は、発行情報バッファー２７から消去される。
【００８９】
さらに、データ識別部２８１は、前記リードデータと識別結果を表す付加情報とをデータ並べ替え部２８２に引き渡す。
【００９０】
データ並べ替え部２８２は、データ識別部２８１から得た前記リードデータを必要に応じて並べ替えた上でデータ出力部２８４に引き渡す。リードデータバッファー２８３は、前記リードデータの並べ替えが行われる際に、複数の前記リードデータを一時記憶する記憶部である。
【００９１】
データ並べ替え部２８２は、前記第１リードアクセス要求に対応する前記リードデータについては、並べ替えを行わずにＳＤＲＡＭ９から出力される順番のままでデータ出力部２８４に引き渡す。この場合、前記リードデータはリードデータバッファー２８３に格納されない。
【００９２】
一方、データ並べ替え部２８２は、前記第２リードアクセス要求に対応する前記リードデータについては、要求元ごとに、ＳＤＲＡＭ９から出力される複数の前記リードデータを、リードデータバッファー２８３に記憶させつつマスター９０からの前記第２リードアクセス要求の入力順序に対応する順序に並べ替える。そして、データ並べ替え部２８２は、並べ替えが完了した前記リードデータ列をデータ出力部２８４に引き渡す。
【００９３】
データ並べ替え部２８２は、前記付加情報と要求情報バッファー２２の前記リード要求情報とを比較することにより、ＳＤＲＡＭ９から順次出力される前記リードデータについて以下に示される判定処理を実行する。
【００９４】
第１の前記判定処理は、前記リードデータの要求元、即ち、前記リードデータに対応する前記リードアクセス要求を出力した前記マスターを判定する処理である。
【００９５】
第２の前記判定処理は、前記リードデータが前記第１リードアクセス要求および前記第２リードアクセス要求のいずれに対応するデータであるのかを判定する処理である。データ並べ替え部２８２は、前記第２リードアクセス要求に対応する前記リードデータをリードデータバッファー２８３に記憶させる。
【００９６】
第３の前記判定処理は、前記第２リードアクセス要求に対応する前記リードデータについて、前記第２リードアクセス要求の要求元ごとに、未処理の前記リードデータの中で何番目に要求されたデータであるかを判定する処理である。前記リードデータの要求順序は、前記リードアクセス要求の入力順序である。
【００９７】
データ並べ替え部２８２は、第３の前記判定処理の結果に従って、前記第２リードアクセス要求に対応する前記リードデータを並べ替える。データ並べ替え部２８２は、前記第２リードアクセス要求の要求元ごとに、未処理の前記リードデータの中でリードデータバッファー２８３に存在する前記リードデータよりも先に要求された前記リードデータがない場合に、前記リードデータの並べ替えが終了したと判定する。
【００９８】
そして、データ並べ替え部２８２は、並べ替えが終了した前記リードデータの列をリードデータバッファー２８３から読み出してデータ出力部２８４に引き渡す。読み出された前記リードデータはリードデータバッファー２８３から消去される。
【００９９】
さらに、データ並べ替え部２８２からデータ出力部２８４に引き渡された前記リードデータに対応する前記リード要求情報は、要求情報バッファー２２から消去される。
【０１００】
データ出力部２８４は、データ並べ替え部２８２から引き渡された前記リードデータの列をバス８０を通じて要求元へ転送する。リードアクセス制御部２は、以上に示される処理を随時繰り返す。
【０１０１】
本実施形態において、許容される前記リードレイテンシが短い前記第１リードアクセス要求とそうでない前記第２リードアクセス要求とがメモリーアクセス装置１０に入力される。
【０１０２】
そして、メモリーアクセス装置１０は、リードアクセス調停部２５の作用により、前記割込条件が成立しない範囲で前記第１リードアクセス要求を優先して処理する。
【０１０３】
さらに、メモリーアクセス装置１０において、第１キューイングバッファー２３各々が、前記第２アクセス要求を出力し得るマスター９０ごとに設けられている。これにより、１つのマスター９０からの複数の前記第１リードアクセス要求は、入力時の順番と同じ順番で処理される。
【０１０４】
従って、メモリーアクセス装置１０が採用されれば、許容される前記リードレイテンシが短い前記第１リードアクセス要求についの前記リードレイテンシの増大が抑制される。
【０１０５】
さらに、メモリーアクセス装置１０は、前記割込条件が成立する場合に、第２要求選択部２５３の作用により、前記第２リードアクセス要求の入力順序とは関係なく前記第２リードアクセス要求を選択する。例えば、第２要求選択部２５３が、前記バンク競合オーバーヘッドの重複率がより高くなることを優先して前記第２リードアクセス要求を選択する。
【０１０６】
従って、メモリーアクセス装置１０が採用されれば、前記バンク競合オーバーヘッドをより効率的に隠蔽することができ、ひいてはＳＤＲＡＭ９の総帯域を向上することができる。
【０１０７】
＜応用例＞
メモリーアクセス装置１０が、例えば携帯情報端末などの画像処理装置１００以外の情報処理装置に適用されることも考えられる。
【０１０８】
また、メモリーアクセス装置１０において、ライトアクセス制御部３がリードアクセス制御部２と同様に、優先度の高い前記ライトアクセス要求を一時記憶する複数のＦＩＦＯバッファーと、その他の前記ライトアクセス要求を一時記憶するランダムアクセスバッファーとを備えることも考えられる。この場合、前記ＦＩＦＯバッファーは、優先度の高い前記ライトアクセス要求を出力する可能性があるマスター９０ごとに設けられる。
【０１０９】
なお、本発明に係るメモリーアクセス装置および画像処理装置は、各請求項に記載された発明の範囲において、以上に示された実施形態および応用例を自由に組み合わせること、或いは実施形態および応用例を適宜、変形するまたは一部を省略することによって構成されることも可能である。
【符号の説明】
【０１１０】
１      ：アクセス要求入力部
２      ：リードアクセス制御部
３      ：ライトアクセス制御部
９      ：ＳＤＲＡＭ（メモリー）
１０    ：メモリーアクセス装置
２０    ：スキャン部
２１    ：リード要求格納部
２２    ：要求情報バッファー
２３    ：第１キューイングバッファー（ＦＩＦＯバッファー）
２４    ：第２キューイングバッファー（ランダムアクセスバッファー）
２５    ：リードアクセス調停部
２６    ：リードコマンド発行部
２７    ：発行情報バッファー
２８    ：リードデータ転送部
３０    ：スキャン制御部
４０    ：プリント部
５０    ：プリント制御部
６０    ：通信制御部
７０    ：画像処理部
８０    ：バス
８１    ：サイドバンド信号線
９０    ：マスター
１００  ：画像処理装置
２５１  ：第１要求選択部
２５２  ：割込条件判定部
２５３  ：第２要求選択部
２５４  ：要求出力部
２８１  ：データ識別部
２８２  ：データ並べ替え部
２８３  ：リードデータバッファー
２８４  ：データ出力部
【図１】
2016114997.tif 000003
【図２】
2016114997.tif 000004
【図３】
2016114997.tif 000005