(58)【調査した分野】(Int.Cl.,DB名)
複数のバンクに区分されているとともに前記バンク各々が複数のページに区分されたデータ記憶領域を有するメモリーに対し、複数のマスター各々から入力されるリードアクセス要求に対応するリードアクセスコマンドを発行するメモリーアクセス装置であって、
前記マスター各々に対応し、前記リードアクセス要求を一時記憶可能なFIFOバッファーである複数の第1キューイングバッファーと、
前記リードアクセス要求を一時記憶可能なランダムアクセスバッファーである第2キューイングバッファーと、
前記マスターから入力される前記リードアクセス要求のうち予め定められた優先条件を満たす第1リードアクセス要求を要求元に対応する前記第1キューイングバッファーに記憶させ、その他の第2リードアクセス要求を前記第2キューイングバッファーに記憶させるリード要求格納部と、
複数の前記第1キューイングバッファー各々における先頭の前記第1リードアクセス要求のうちの1つを選択する第1リードアクセス要求選択部と、
直近に発行済みの前記リードアクセスコマンドと選択された前記第1リードアクセス要求に対応する前記リードアクセスコマンドとの間で生じるバンク競合による第1オーバーヘッド時間が許容時間を超えることを含む割込条件が成立するか否かを判定する割込条件判定部と、
前記割込条件が成立する場合に、前記第2キューイングバッファーの前記第2リードアクセス要求のうちの1つを選択する第2リードアクセス要求選択部と、
前記割込条件が成立しない場合に選択された前記第1リードアクセス要求を前記第1キューイングバッファーから読み出すとともに読み出した前記第1リードアクセス要求に対応する前記リードアクセスコマンドを前記メモリーに対して発行し、前記割込条件が成立する場合に選択された前記第2リードアクセス要求を前記第2キューイングバッファーから読み出すとともに読み出した前記第2リードアクセス要求に対応する前記リードアクセスコマンドを前記メモリーに対して発行するコマンド発行部と、を備えるメモリーアクセス装置。
前記リード要求格納部は、前記リードアクセス要求の要求元から予め定められた通知を受けた場合に前記優先条件を満たすと判定する、請求項1に記載のメモリーアクセス装置。
前記第1リードアクセス要求選択部は、ラウンドロビン方式によって前記第1リードアクセス要求を選択する、請求項1から請求項3のいずれか1項に記載のメモリーアクセス装置。
前記第2リードアクセス要求選択部は、直近に発行済みの前記リードアクセスコマンドと前記第2キューイングバッファーにおける前記第2リードアクセス要求各々に対応する前記リードアクセスコマンド各々との間で生じるバンク競合による第2オーバーヘッド時間各々を前記第1オーバーヘッド時間と比較し、前記第1オーバーヘッド時間に近い前記第2オーバーヘッド時間が生じる前記第2リードアクセス要求を優先して選択する、請求項1から請求項4のいずれか1項に記載のメモリーアクセス装置。
【発明を実施するための形態】
【0016】
以下、添付図面を参照しながら、本発明の実施形態について説明する。なお、以下の実施形態は、本発明を具体化した一例であって、本発明の技術的範囲を限定する性格を有さない。
【0017】
[画像処理装置]
まず、
図1を参照しつつ、実施形態に係るメモリーアクセス装置10を備える画像処理装置100の概略構成について説明する。画像処理装置100は、メモリーアクセス装置10の適用例の1つである。
【0018】
図1が示す画像処理装置100は、原稿から画像を読み取る画像読取装置の機能および記録シートへ画像を形成する画像形成装置の機能を兼ね備えた複合機である。なお、画像処理装置100が、前記画像形成装置、前記画像読取装置、前記画像形成装置および前記画像読取装置の機能を備える複写機または前記画像読取装置の機能および画像送信機能を備えるファクシミリ装置などであることも考えられる。
【0019】
画像処理装置100は、SDRAM9、メモリーアクセス装置10、スキャン部20、スキャン制御部30、プリント部40、プリント制御部50、通信制御部60および画像処理部70などを備える。
【0020】
メモリーアクセス装置10、スキャン制御部30、プリント制御部50、通信制御部60および画像処理部70は、それぞれバス80に接続されおり、バス80を通じて相互にデータの受け渡しが可能である。さらに、画像処理装置100は、バス80に接続されたメモリーアクセス装置10とその他のデバイスとを1対1で接続するサイドバンド信号線81も備える。
図1が示す例では、サイドバンド信号線81は、メモリーアクセス装置10と通信制御部60とを1対1で接続している。
【0021】
スキャン部20は、前記原稿に光を走査する不図示の光学系、および原稿からの反射光の光量を画素ごとに検出して原稿画像データを出力する不図示のイメージセンサーなどを備える。
【0022】
スキャン制御部30は、スキャン部20を制御して前記原稿画像データを取得する。さらに、スキャン制御部30は、メモリーアクセス装置10を通じて前記原稿画像データをSDRAM9に書き込む処理なども実行する。例えば、スキャン制御部30は、SDRAM9を介して前記原稿画像データを画像処理部70、プリント制御部50または通信制御部60などの他の機器に引き渡す場合がある。
【0023】
プリント部40は、周知の電子写真方式の画像形成処理によって前記記録シートに画像を形成する。プリント部40は、不図示の像担持体およびその周辺機器を備え、前記像担持体から前記記録シートに現像剤の画像を転写するとともにその画像を前記記録シートに定着させる。
【0024】
プリント制御部50は、プリント部40を制御する。プリント制御部50は、他の機器から記録用画像データを取得し、その記録用画像データ基づく画像を前記記録シートに形成する処理をプリント部40に実行させる。
【0025】
通信制御部60は、パーソナルコンピューターなどの外部装置との間でデータの送受信を行うとともに、バス80を通じて他の機器とデータの受け渡しを行う。例えば、通信制御部60は、前記外部機器から画像データを受信し、その画像データを前記記録用画像データとして前記プリント制御部50に引き渡す。
【0026】
また、通信制御部60は、スキャン制御部30から前記原稿画像データを取得し、その原稿画像データを含むデータを前記外部装置へ送信する。
【0027】
画像処理部70は、バス80を通じて他の機器から得た画像データに対する画像処理を実行する。画像処理部70による画像処理の対象は、例えば、スキャン制御部30から前記通信制御部60を通じて前記外部装置へ送信される画像データまたは前記スキャン制御部30から前記プリント制御部50へ引き渡される前記原稿画像データなどである。例えば、画像処理部70は、他の機器から得た前記画像データに対し、画像回転処理、ハーフトーン処理またはサイズカット処理などの画像処理を施す。
【0028】
SDRAM9は、高速でデータの書き込みおよび読み出しが可能なメモリーである。SDRAM9は、バス80に接続された機器から発行されるアクセスコマンドの内容に従ってそのデータ領域へのデータの記録および前記データ領域に記録されているデータの出力を行う。
【0029】
SDRAM9の前記データ記憶領域は、複数のバンクに区分されており、前記バンク各々が複数のページに区分されている。SDRAM9は、メモリーアクセス装置10によって前記ページ単位で活性化され、活性化された前記ページがアクセス可能になる。
【0030】
SDRAM9において、1つの前記バンク内の前記ページと他の前記バンク内の前記ページとを独立して活性化することが可能である。そのため、異なる前記バンクへのアクセスが続く場合、大きなオーバーヘッドが生じず、連続して高速なアクセスが可能である。
【0031】
一方、1つの前記バンク内における異なる前記ページへのアクセスが続く場合、バンク競合による比較的大きなオーバーヘッドが生じる。以下、前記バンク競合によるオーバーヘッドのことをバンク競合オーバーヘッドと称する。
【0032】
例えば、同一の前記バンクにおける第1ページおよび第2ページ各々へのリードアクセスコマンドが連続して発行される場合を考える。この場合、先に活性化された前記第1ページのクローズ処理が終了した後に前記第2ページを活性化するステップが必要である。このステップにおいて、前記第1ページの前記クローズ処理に要する時間が比較的長いため、前記第2ページの活性化コマンドの発行までの待ち時間が、前記バンク競合オーバーヘッドの時間となる。
【0033】
なお、本実施形態におけるSDRAM9は、リードアクセスとライトアクセスとを並行して受け付け可能なリード・ライト独立チャンネルタイプのメモリーである。
【0034】
本実施形態では、主としてメモリーアクセス装置10がSDRAM9に対して前記アクセスコマンドを発行する。この場合、スキャン制御部30、プリント制御部50、通信制御部60および画像処理部70の各々が、バス80を通じてメモリーアクセス装置10に向けてSDRAM9へのアクセス要求を出力する。一般に、メモリーアクセス装置10は、DMAC(Direct Memory Access Controller)などと称される。
【0035】
前記アクセス要求の1つはリードアクセス要求であり、これに対応する前記アクセスコマンドはリードアクセスコマンドである。前記アクセス要求の他の1つはライトアクセス要求であり、これに対応する前記アクセスコマンドはライトアクセスコマンドである。
【0036】
前記アクセス要求は、アクセスの種類の情報と、要求元の識別情報と、SDRAM9のデータ領域におけるアクセス先のアドレス情報とを含む。前記アクセスの種類の情報は、前記リードアクセス要求および前記ライトアクセス要求のいずれか一方を特定する情報である。
【0037】
以下の説明において、メモリーアクセス装置10に対して前記アクセス要求を出力する機器のことをマスター90と称する。本実施形態におけるマスター90は、スキャン制御部30、プリント制御部50、通信制御部60および画像処理部70の各々である。なお、マスター90がクライアントと称される場合もある。
【0038】
メモリーアクセス装置10は、SDRAM9に対して前記アクセスコマンドを発行する装置である。メモリーアクセス装置10は、複数のマスター90各々から入力される前記リードアクセス要求および前記ライトアクセス要求各々に対応する前記リードアクセスコマンドおよび前記ライトアクセスコマンドをSDRAM9へ発行する。メモリーアクセス装置10は、マスター90から入力される前記アクセス要求を前記オーバーヘッドが減少するように並べ替え、並べ替え後の順序で前記アクセスコマンドをSDRAM9へ発行する。
【0039】
ところで、一般的なメモリーアクセス装置において、マスター90ごとに、マスター90からのリードアクセスの要求順序と、マスター90へのリードデータの転送順序との整合性が求められる場合がある。また、複数の前記リードアクセスコマンドが発行された場合、前記リードアクセスコマンド各々に対応するリードデータは、前記リードアクセスコマンドの発行順序に対応する順序でSDRAM9から出力される。
【0040】
従って、1つのマスター90に対応する複数の前記リードアクセスコマンドが、前記リードアクセス要求の入力順序と異なる順序で発行される場合、前記リードデータの並べ替えに要する時間が必要なため、リードレイテンシが増大する。前記リードレイテンシは、メモリーアクセス装置10における前記リードアクセス要求の入力から対応する前記リードデータの出力までの時間である。
【0041】
許容される前記リードレイテンシが短い前記リードアクセス要求とそうでない前記リードアクセス要求とがメモリーアクセス装置10に入力される場合、前者についての前記リードレイテンシの増大を抑制しつつ前記バンク競合オーバーヘッドを隠蔽することが望まれる。
【0042】
メモリーアクセス装置10は、後述する構成を備えることにより、SDRAM9へのアクセスにおいて、リードアクセスの要求順序とリードデータの出力順序との整合性が求められる場合でも、前記リードレイテンシの増大を抑制しつつ、前記バンク競合オーバーヘッドを隠蔽することができる。
【0043】
[メモリーアクセス装置]
次に、
図2,3を参照しつつ、メモリーアクセス装置10について説明する。メモリーアクセス装置10は、例えばASIC(Application Specific Integrated Circuit)またはDSP(digital Signal Processor)などによって構成されている。
【0044】
図2が示すように、メモリーアクセス装置10は、アクセス要求入力部1と、リードアクセス制御部2と、ライトアクセス制御部3とを備える。
【0045】
アクセス要求入力部1は、前記アクセス要求をマスター90から取得する処理を実行する。前記アクセス要求は、バス80を通じてマスター90からアクセス要求入力部1へ入力される。
【0046】
前記アクセス要求は、SDRAM9に対して前記データ記憶領域に記憶されているデータを読み出す処理を要求する前記リードアクセス要求と、SDRAM9に対して前記データ記憶領域にデータを記録する処理を要求する前記ライトアクセスとを含む。
【0047】
前記リードアクセス要求および前記ライトアクセス要求は、その要求の種類の情報と、前記データ記憶領域におけるアドレスを指定する行アドレス情報および列アドレス情報と、要求元の識別情報とを含む。
【0048】
さらに、アクセス要求入力部1は、マスター90から入力される前記アクセス要求を前記リードアクセス要求と前記ライトアクセス要求とに分別する。さらに、アクセス要求入力部1は、分別処理により得られる前記リードアクセス要求の列をリードアクセス制御部2に引き渡し、前記ライトアクセス要求の列をライトアクセス制御部3に引き渡す。
【0049】
アクセス要求入力部1は、マスター90からの入力時における前記リードアクセス要求の前後の関係を維持しつつ前記リードアクセス要求の列をリードアクセス制御部2に出力する。同様に、アクセス要求入力部1は、マスター90からの入力時における前記ライトアクセス要求の前後の関係を維持しつつ前記ライトアクセス要求の列をライトアクセス制御部3に出力する。
【0050】
リードアクセス制御部2は、マスター90からアクセス要求入力部1を通じて入力される前記リードアクセス要求に対応する前記リードアクセスコマンドをSDRAM9に発行する。これにより、SDRAM9は、前記データ記憶領域における指定アドレスに記憶しているデータをリードアクセス制御部2へ出力する。さらに、リードアクセス制御部2は、前記リードアクセスコマンドの発行に応じてSDRAM9から出力されるリードデータを、前記リードアクセス要求の要求元へ転送する。
【0051】
ライトアクセス制御部3は、マスター90からアクセス要求入力部1を通じて入力される前記ライトアクセス要求に対応する前記ライトアクセスコマンドをSDRAM9に発行する。さらに、ライトアクセス制御部3は、前記ライトアクセス要求の要求元からバス80を通じて転送されてくるライトデータを取得し、そのライトデータをSDRAM9へ出力する。これにより、前記ライトデータがSDRAM9の前記データ記憶領域における指定アドレスに書き込まれる。
【0052】
[リードアクセス制御部2の詳細]
図3が示すように、リードアクセス制御部2は、リード要求格納部21、要求情報バッファー22、複数の第1キューイングバッファー23、第2キューイングバッファー24、リードアクセス調停部25、リードコマンド発行部26、発行情報バッファー27およびリードデータ転送部28を備える。
【0053】
リードアクセス調停部25は、第1要求選択部、割込条件判定部252、第2要求選択部253および要求出力部254を含む。リードデータ転送部28は、データ識別部281、データ並べ替え部282、リードデータバッファー283およびデータ出力部284を含む。
【0054】
第1キューイングバッファー23各々は、前記リードアクセス要求を一時記憶可能なFIFOバッファーである。第1キューイングバッファー23各々は、マスター90各々に対応して設けられている。
【0055】
第1キューイングバッファー23は、許容される前記リードレイテンシが短い前記リードアクセス要求を出力する可能性があるマスター90ごとに設けられている。以下の説明において、許容される前記リードレイテンシが相対的に短い前記リードアクセス要求のことを第1リードアクセス要求、許容される前記リードレイテンシが相対的に長い前記リードアクセス要求のことを第2リードアクセス要求と称する。
【0056】
短い前記リードレイテンシを保証するためには、前記第1リードアクセス要求を優先して処理することに加え、1つのマスター90からの複数の前記第1リードアクセス要求は、入力時の順番と同じ順番で処理することが望ましい。
【0057】
従って、本実施形態においては、前記第1リードアクセス要求が第1キューイングバッファー23に格納される。
【0058】
例えば、第1キューイングバッファー23各々に対応するマスター90には、常に短い前記リードレイテンシの保証が必要なマスター90と、状況に応じて短い前記リードレイテンシの保証を要求するマスター90とが含まれる。以下、前者のことを常時優先マスターと称し、後者のことを随時優先マスターと称する。
【0059】
前記随時優先マスターは、前記サイドバンド信号線81を通じてリード要求格納部21に対して情報を通知することができる。
図1が示す例では、通信制御部60が前記随時優先マスターであり、スキャン制御部30、プリント制御部50および画像処理部70が前記常時優先マスターである。
【0060】
なお、メモリーアクセス装置10とバス80で接続された複数のマスター90のうちの一部が、前記リードアクセス要求を出力する可能性がないマスター90であることも考えられる。この場合、第1キューイングバッファー23の数はマスター90の総数よりも少ない。
【0061】
第2キューイングバッファー24は、前記リードアクセス要求を一時記憶可能なランダムアクセスバッファーである。本実施形態においては、前記第2リードアクセス要求が第2キューイングバッファー24に格納される。
【0062】
第2キューイングバッファー24は、記憶中の前記第2リードアクセス要求ごとに記録されてからの経過時間、即ち、滞留時間をカウントアップする機能を備える。
【0063】
リード要求格納部21は、マスター90から入力される前記リードアクセス要求のうち前記第1リードアクセス要求を要求元に対応する第1キューイングバッファー23に記憶させる。さらに、リード要求格納部21は、前記第2リードアクセス要求を第2キューイングバッファー24に記憶させる。
【0064】
リード要求格納部21は、マスター90から入力される前記リードアクセス要求が予め定められた優先条件を満たす場合にそれが前記第1リードアクセス要求であると判定し、それ以外の前記リードアクセス要求が前記第2リードアクセス要求であると判定する。
【0065】
1つめの前記優先条件は、前記リードアクセス要求の要求元が前記常時優先マスターであるという条件である。リード要求格納部21は、予め前記常時優先マスターの識別情報を記憶する不図示の不揮発性メモリーを備える。リード要求格納部21は、前記リードアクセス要求に含まれる要求元の識別情報と前記不揮発性メモリーが記憶する前記常時優先マスターの識別情報とを照合することにより、1つめの前記優先条件の成否を判定する。
【0066】
2つめの前記優先条件は、前記リードアクセス要求の要求元から前記サイドバンド信号線81を通じて優先すべき要求である旨の通知を受けたという条件である。この通知を出力するマスター90は前記随時優先マスターである。
【0067】
要求情報バッファー22は、マスター90から入力される前記リードアクセス要求各々について要求元と、前記第1リードアクセス要求であるか否かと、入力順序とを特定できるリード要求情報を一時記憶する記憶部である。リード要求格納部21が前記リード要求情報を要求情報バッファー22に記憶させる。
【0068】
例えば、リード要求格納部21は、入力される前記リードアクセス要求各々の識別情報と要求元の識別情報と前記第1リードアクセス要求であるか否かの識別情報とを含む前記リード要求情報を要求情報バッファー22に記憶させる。その際、リード要求格納部21は、複数の前記リード要求情報を前記リードアクセス要求の入力順序と同じ順序で並ぶ状態で要求情報バッファー22に記憶させる。
【0069】
リードアクセス調停部25は、第1キューイングバッファー23および第2キューイングバッファー24各々に格納される複数の前記リードアクセス要求を1つずつ読み出して後段のリードコマンド発行部26へ出力する。
【0070】
リードアクセス調停部25において、まず、第1要求選択部251が、複数の第1キューイングバッファー23各々における先頭の前記第1リードアクセス要求のうちの1つを選択する。第1要求選択部251の選択結果は、割込条件判定部252および要求出力部254に通知される。なお、第1要求選択部251は第1リードアクセス要求選択部の一例である。
【0071】
例えば、第1要求選択部251は、周知のラウンドロビン方式によって前記第1リードアクセス要求を選択する。この場合、複数の第1キューイングバッファー23に格納された前記第1リードアクセス要求は、要求元ごとに均等に選択される。
【0072】
なお、第1要求選択部251が、予め設定された第1キューイングバッファー23各々の優先度に従って前記第1リードアクセス要求を選択することも考えられる。また、第1要求選択部251が、複数の第1キューイングバッファー23各々における先頭の前記第1リードアクセス要求の中からバッファー内での滞留時間の最も長いものを選択することも考えられる。この場合、第1キューイングバッファー23各々は、記憶中の前記第1リードアクセス要求ごとに記録されてからの経過時間、即ち、滞留時間をカウントアップする機能を備える。
【0073】
割込条件判定部252は、予め定められた割込条件が成立するか否かを判定する。前記割込条件は、複数の前記第1リードアクセス要求の処理の間に前記第2リードアクセス要求の処理を割り込ませるタイミングを判定する条件である。前記割込条件の判定結果は、第2要求選択部253へ通知される。
【0074】
第1の前記割込条件は、以下に示される第1オーバーヘッド時間が許容時間を超えるという条件である。前記第1オーバーヘッド時間は、直近に発行済みの前記リードアクセスコマンドと第1要求選択部251が選択した前記第1リードアクセス要求に対応する前記リードアクセスコマンドとの間で生じる前記バンク競合オーバーヘッドの時間である。
【0075】
第2の前記割込条件は、第2キューイングバッファー24内に予め定められた上限時間を超えて滞留する前記第2リードアクセス要求が存在するという条件である。なお、割込条件判定部252は、少なくとも第1の前記割込条件を判定する。
【0076】
第3の前記割込条件は、全ての第1キューイングバッファー23に前記第1リードアクセス要求が残存しないという条件である。
【0077】
第2要求選択部253は、少なくとも1つの前記割込条件が成立する場合に、第2キューイングバッファー24の前記第2リードアクセス要求のうちの1つを選択する。その際、第2要求選択部253は、前記第2リードアクセス要求の入力順序に依拠せず、前記バンク競合オーバーヘッドの重複率がより高くなることを優先して前記第2リードアクセス要求を選択する。
【0078】
なお、第2要求選択部253は、前記割込条件が成立する場合に、第2キューイングバッファー24の前記第2リードアクセス要求のうちの1つを選択する第2リードアクセス要求選択部の一例である。
【0079】
例えば、第2要求選択部253は、第2キューイングバッファー24に残留する前記第2リードアクセス要求各々についての第2オーバーヘッド時間を前記第1オーバーヘッド時間と比較し、前記第1オーバーヘッド時間に近い前記第2オーバーヘッド時間が生じる前記第2リードアクセス要求を優先して選択する。前記第2オーバーヘッド時間は、直近に発行済みの前記リードアクセスコマンドと第2キューイングバッファー24における前記第2リードアクセス要求各々に対応する前記リードアクセスコマンド各々との間で生じる前記バンク競合オーバーヘッドの時間である。
【0080】
要求出力部254は、前記割込条件が成立しない場合に、第1要求選択部251によって選択された前記第1リードアクセス要求を第1キューイングバッファー23から読み出すとともに読み出した前記第1リードアクセス要求をリードコマンド発行部26に出力する。さらに、要求出力部254は、前記割込条件が成立する場合に、第2要求選択部253によって選択された前記第2リードアクセス要求を第2キューイングバッファー24から読み出すとともに読み出した前記第2リードアクセス要求をリードコマンド発行部26に出力する。
【0081】
リードコマンド発行部26は、要求出力部254から得た前記リードアクセス要求に対応する前記リードアクセスコマンドをSDRAM9へ発行する。その際、リードコマンド発行部26は、前記リードアクセスコマンドに付随して必要な活性化コマンドおよびプリチャージコマンドもSDRAM9に発行する。
【0082】
より具体的には、リードコマンド発行部26は、前記行アドレス情報を含む前記活性化コマンドを発行した後に、前記列アドレス情報を含む前記リードアクセスコマンドまたは前記ライトアクセスコマンドを発行し、さらに前記プリチャージコマンドを発行する。リードコマンド発行部26は、SDRAM9の仕様によって予め定められたタイミングで各コマンドを発行する。
【0083】
即ち、要求出力部254およびリードコマンド発行部26は、前記割込条件が成立しない場合に、選択された前記第1リードアクセス要求を第1キューイングバッファー23から読み出すとともに読み出した前記第1リードアクセス要求に対応する前記リードアクセスコマンドをSDRAM9に対して発行する。読み出された前記第1リードアクセス要求は、第1キューイングバッファー23から消去される。
【0084】
また、要求出力部254およびリードコマンド発行部26は、前記割込条件が成立する場合に、選択された前記第2リードアクセス要求を第2キューイングバッファー24から読み出すとともに読み出した前記第2リードアクセス要求に対応する前記リードアクセスコマンドをSDRAM9に対して発行する。なお、要求出力部254およびリードコマンド発行部26はコマンド発行部の一例である。
【0085】
さらに、リードコマンド発行部26は、リードコマンド発行情報を発行情報バッファー27に記憶させる。発行情報バッファー27は、前記リードコマンド発行情報を一時記憶する記憶部である。
【0086】
前記リードコマンド発行情報は、発行された前記リードアクセスコマンドと前記リードアクセス要求との対応関係を特定できる情報である。例えば、リードコマンド発行部26は、発行された前記リードアクセスコマンドの識別情報と前記リードアクセス要求の識別情報とを含む前記リードコマンド発行情報を前記リードアクセスコマンドの発行順序と同じ順序で並ぶ状態で発行情報バッファー27に記憶させる。
【0087】
リードデータ転送部28は、前記リードアクセスコマンドの発行に応じてSDRAM9から読み出されたリードデータを、対応する前記リードアクセス要求の要求元へ転送する。
【0088】
リードデータ転送部28において、データ識別部281は、SDRAM9が出力する前記リードデータを取得し、そのリードデータと前記リードアクセス要求との対応関係を識別する。その際、データ識別部281は、発行情報バッファー27内の前記リードコマンド発行情報を読み出し、前記リードコマンド発行情報に基づいて前記リードデータに対応する前記リードアクセス要求を識別する。データ識別部281が読み出した前記リードコマンド発行情報は、発行情報バッファー27から消去される。
【0089】
さらに、データ識別部281は、前記リードデータと識別結果を表す付加情報とをデータ並べ替え部282に引き渡す。
【0090】
データ並べ替え部282は、データ識別部281から得た前記リードデータを必要に応じて並べ替えた上でデータ出力部284に引き渡す。リードデータバッファー283は、前記リードデータの並べ替えが行われる際に、複数の前記リードデータを一時記憶する記憶部である。
【0091】
データ並べ替え部282は、前記第1リードアクセス要求に対応する前記リードデータについては、並べ替えを行わずにSDRAM9から出力される順番のままでデータ出力部284に引き渡す。この場合、前記リードデータはリードデータバッファー283に格納されない。
【0092】
一方、データ並べ替え部282は、前記第2リードアクセス要求に対応する前記リードデータについては、要求元ごとに、SDRAM9から出力される複数の前記リードデータを、リードデータバッファー283に記憶させつつマスター90からの前記第2リードアクセス要求の入力順序に対応する順序に並べ替える。そして、データ並べ替え部282は、並べ替えが完了した前記リードデータ列をデータ出力部284に引き渡す。
【0093】
データ並べ替え部282は、前記付加情報と要求情報バッファー22の前記リード要求情報とを比較することにより、SDRAM9から順次出力される前記リードデータについて以下に示される判定処理を実行する。
【0094】
第1の前記判定処理は、前記リードデータの要求元、即ち、前記リードデータに対応する前記リードアクセス要求を出力した前記マスターを判定する処理である。
【0095】
第2の前記判定処理は、前記リードデータが前記第1リードアクセス要求および前記第2リードアクセス要求のいずれに対応するデータであるのかを判定する処理である。データ並べ替え部282は、前記第2リードアクセス要求に対応する前記リードデータをリードデータバッファー283に記憶させる。
【0096】
第3の前記判定処理は、前記第2リードアクセス要求に対応する前記リードデータについて、前記第2リードアクセス要求の要求元ごとに、未処理の前記リードデータの中で何番目に要求されたデータであるかを判定する処理である。前記リードデータの要求順序は、前記リードアクセス要求の入力順序である。
【0097】
データ並べ替え部282は、第3の前記判定処理の結果に従って、前記第2リードアクセス要求に対応する前記リードデータを並べ替える。データ並べ替え部282は、前記第2リードアクセス要求の要求元ごとに、未処理の前記リードデータの中でリードデータバッファー283に存在する前記リードデータよりも先に要求された前記リードデータがない場合に、前記リードデータの並べ替えが終了したと判定する。
【0098】
そして、データ並べ替え部282は、並べ替えが終了した前記リードデータの列をリードデータバッファー283から読み出してデータ出力部284に引き渡す。読み出された前記リードデータはリードデータバッファー283から消去される。
【0099】
さらに、データ並べ替え部282からデータ出力部284に引き渡された前記リードデータに対応する前記リード要求情報は、要求情報バッファー22から消去される。
【0100】
データ出力部284は、データ並べ替え部282から引き渡された前記リードデータの列をバス80を通じて要求元へ転送する。リードアクセス制御部2は、以上に示される処理を随時繰り返す。
【0101】
本実施形態において、許容される前記リードレイテンシが短い前記第1リードアクセス要求とそうでない前記第2リードアクセス要求とがメモリーアクセス装置10に入力される。
【0102】
そして、メモリーアクセス装置10は、リードアクセス調停部25の作用により、前記割込条件が成立しない範囲で前記第1リードアクセス要求を優先して処理する。
【0103】
さらに、メモリーアクセス装置10において、第1キューイングバッファー23各々が、前記第2アクセス要求を出力し得るマスター90ごとに設けられている。これにより、1つのマスター90からの複数の前記第1リードアクセス要求は、入力時の順番と同じ順番で処理される。
【0104】
従って、メモリーアクセス装置10が採用されれば、許容される前記リードレイテンシが短い前記第1リードアクセス要求についの前記リードレイテンシの増大が抑制される。
【0105】
さらに、メモリーアクセス装置10は、前記割込条件が成立する場合に、第2要求選択部253の作用により、前記第2リードアクセス要求の入力順序とは関係なく前記第2リードアクセス要求を選択する。例えば、第2要求選択部253が、前記バンク競合オーバーヘッドの重複率がより高くなることを優先して前記第2リードアクセス要求を選択する。
【0106】
従って、メモリーアクセス装置10が採用されれば、前記バンク競合オーバーヘッドをより効率的に隠蔽することができ、ひいてはSDRAM9の総帯域を向上することができる。
【0107】
<応用例>
メモリーアクセス装置10が、例えば携帯情報端末などの画像処理装置100以外の情報処理装置に適用されることも考えられる。
【0108】
また、メモリーアクセス装置10において、ライトアクセス制御部3がリードアクセス制御部2と同様に、優先度の高い前記ライトアクセス要求を一時記憶する複数のFIFOバッファーと、その他の前記ライトアクセス要求を一時記憶するランダムアクセスバッファーとを備えることも考えられる。この場合、前記FIFOバッファーは、優先度の高い前記ライトアクセス要求を出力する可能性があるマスター90ごとに設けられる。
【0109】
なお、本発明に係るメモリーアクセス装置および画像処理装置は、各請求項に記載された発明の範囲において、以上に示された実施形態および応用例を自由に組み合わせること、或いは実施形態および応用例を適宜、変形するまたは一部を省略することによって構成されることも可能である。