説明

電子機器、及び画像処理装置

【課題】ページミスを発生させるアクセス要求よりも他のアクセス要求を優先させて、レイテンシーを低減させる。
【解決手段】調停回路は、アクセス要求を受け付けた場合、当該アクセス要求が、当該アクセス要求よりも前にメモリーコントローラーに出力した他のアクセス要求であって処理が終了していないアクセス要求と、ページミスを発生させないかどうかを判定する。当該アクセス要求がページミスを発生させる場合は、当該アクセス要求の出力を所定期間停止させ、その後のページミスを発生させないアクセス要求を、優先的に出力する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理装置などの電子機器に関し、特に、電子機器におけるDRAM(Dynamic Random Access Memory)などのRAMに対するアクセス制御に関する。
【背景技術】
【0002】
DRAMに対するアクセスは、例えば、(1)バンクアドレスとロウアドレスとを指定してバンクを活性化させるアクティブコマンド処理、(2)カラムアドレスを指定してリード/ライトを指示するコマンド処理、(3)バンクを非活性にするプリチャージコマンド処理、の順番で行われる。
【0003】
また、DRAMには、複数のメモリーバンクを有するものがあり、上記の一連の手順は、各バンクに対して並列的(独立的に)に制御することができる(例えば、「マルチバンクアクセス」と呼ばれる。)。マルチバンクアクセス機能により、あるバンクを活性化している間にも、他のバンクを活性化させることが可能である。そして、DRAMアクセス全体におけるデータ転送の比率(帯域)を向上させ、DRAMアクセスのパフォーマンスを向上することができる(例えば、特許文献1)。
【0004】
また、DRAMの各バンクには、同一ロウアドレスで指定されるページ(記憶領域)が複数含まれる。バンクアドレスとロウアドレスが同じアクセス要求が前のアクセス要求に続いてされる場合には、プリチャージコマンド処理(3)を行わずに、異なるカラムアドレスにアクセスできる。この機能は、例えば、「ページモード」と呼ばれ、連続してアクセス可能な場合は、「ページヒット」と呼ばれる。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2002−268942号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、ページモードにおいて、バンクアドレスが等しい場合でも、ロウアドレスが異なる場合(例えば、「ページミス(ページミスヒット)」と呼ばれる。)、プリチャージコマンド処理(3)と、アクティブコマンド処理(1)を実行しなくてはならない。その結果、レイテンシーが増加し、DRAMアクセスの効率が低下し、電子機器の高いパフォーマンスが得られなくなる。
【0007】
そこで、本発明は、ページミスを発生させるアクセス要求よりも他のアクセス要求を優先させて、レイテンシーを低減させる一手段を提供することを目的とする。
【課題を解決するための手段】
【0008】
上記の課題を解決するための本発明の一態様は、複数のバンク、及びページモード機能を有するRAMを備える電子機器であって、複数のマスターからの前記RAMへのアクセス要求を調停する調停部と、前記RAMへのアクセス制御を行うメモリー制御部と、を備え、前記調停部は、複数のマスターからのアクセス要求を受け付ける受付手段と、バンクアドレス及びロウアドレスを対応付けたマスク情報を記憶するマスク記憶手段と、前記記憶手段に記憶されたマスク情報のバンクアドレス及びロウアドレスと、受け付けたアクセス要求に含まれるバンクアドレス及びロウアドレスとを比較し、当該受け付けたアクセス要求によりページミスが発生するか否かを判定するマスク判定手段と、ページミスが発生するアクセス要求については、前記メモリー制御部への出力を停止し、ページミスが発生しないアクセス要求については、前記メモリー制御部に出力するアクセス要求出力手段と、前記アクセス要求出力手段により出力されたアクセス要求に含まれるバンクアドレス及びロウアドレスを、前記マスク情報として前記記憶手段に記憶するマスク設定手段と、有し、前記メモリー制御部は、前記調停部からアクセス要求を受け付ける受付手段と、前記受け付けたアクセス要求に従って前記RAMにアクセスするアクセス手段と、を有する、ことを特徴とする。
【0009】
ここで、前記メモリー制御部は、各アクセス要求による前記RAMへのアクセスが終了する所定のタイミングを、当該アクセス要求に含まれるバンクアドレスとともに前記調停部に通知する通知手段を有し、前記調停部は、前記通知を受け付けて、当該通知に含まれるバンクアドレスと対応するバンクアドレスを含むマスク情報を、前記記憶手段から削除するマスク解除手段を有し、前記マスク判定手段は、受け付けた各アクセス要求について、ページミスが発生しないと判定するまで判定を行う、ことを特徴としていてもよい。
【0010】
また、前記通知手段は、プリチャージコマンドを発行する又は発行したタイミングを、前記RAMへのアクセスが終了する所定のタイミングとして、通知する、ことを特徴としていてもよい。
【0011】
また、前記マスク判定手段は、前記受け付けたアクセス要求に含まれるバンクアドレスが前記記憶手段に記憶されたマスク情報のバンクアドレスと異なる場合、又は、前記受け付けたアクセス要求に含まれるバンクアドレス及びロウアドレスが前記記憶手段に記憶されたマスク情報のバンクアドレス及びと同じである場合に、ページミスが発生しないと判定する、ことを特徴としていてもよい。
【0012】
また、マスターごとに、ページミスの判定を有効又は無効に設定可能であり、前記アクセス要求にはマスターを識別する識別情報が含まれ、前記マスク判定手段は、有効に設定されているマスターのアクセス要求について、判定を行い、無効に設定されているマスターのアクセス要求については、判定を行わない、ことを特徴としていてもよい
【0013】
また、各マスターには、優先度が設定されており、前記アクセス要求出力手段は、複数のマスターのアクセス要求が競合する場合、優先度の高いアクセス要求を先に出力し、前記マスク判定手段は、優先度により出力が後になったアクセス要求について、ページミスが発生しないと判定するまで判定を行う、ことを特徴としていてもよい。
【0014】
また、前記RAMを複数備え、前記マスク判定手段による判定は、RAMごとに行われる、ことを特徴としていてもよい。
【0015】
また、マスターは、スキャン画像データの読み込み処理、圧縮処理、色変換処理、外部装置からの画像データの読み込み処理の少なくとも一以上を含む機能単位である、ことを特徴としていてもよい。
【0016】
また、前記電子機器は、画像処理装置である、ことを特徴としていてもよい。
【図面の簡単な説明】
【0017】
【図1】本発明の一実施形態の一例に係る、画像処理装置のハードウェアの概略構成を示すブロック図である。
【図2】本発明の一実施形態の一例に係る、メモリー制御ASICのハードウェアの概略構成を示すブロック図である。
【図3】本発明の一実施形態の一例に係る、調停回路及びメモリーコントローラーの機能構成を示すブロック図である。
【図4】本発明の一実施形態の一例に係る、マスク制御テーブルの構成を説明する図である。
【図5】本発明の一実施形態の一例に係る、調停回路のリクエスト受付処理を示すフロー図である。
【図6】本発明の一実施形態の一例に係る、調停回路のマスク解除処理を示すフロー図である。
【図7】本発明の一実施形態の一例に係る、マスク機能オンの場合のリクエスト間の処理の関係を説明する図である。
【図8】本発明の一実施形態の一例に係る、マスク機能オンの場合のリクエスト間の処理の関係を説明するタイミングチャートである。
【図9】本発明の一実施形態の一例に係る、マスク機能オフのリクエスト間の処理の関係を説明するタイミングチャートである。
【発明を実施するための形態】
【0018】
本発明の一実施形態の一例を、図面を参照して説明する。
【0019】
図1は、本発明の一実施形態の一例に係る、画像処理装置のハードウェアの概略構成を示すブロック図である。
【0020】
電子機器としての画像処理装置100は、例えば、プリンター、コピー機、複合機、スキャナーなどの装置である。画像処理装置100は、情報処理装置200と接続される。
【0021】
情報処理装置200は、CPUと、RAMと、ROMと、ハードディスク等の補助記憶装置と、ディスプレイと、キーボードやマウス等の入力装置と、通信インターフェイスと、など(いずれも不図示)を備えた一般的なコンピューターで実現される。情報処理装置200では、アプリケーションプログラムや、ドライバープログラム(例えば、プリンタードライバープログラム)が実行される。
【0022】
画像処置装置100は、画像処理装置100における各種処理を制御する電子機器制御装置としてのコントローラー110と、印刷媒体への印刷や原稿の読み取りを実行するエンジン部160と、ユーザーとの入出力インターフェイスである操作パネル170とを備えている。
【0023】
コントローラー110は、CPU120と、メモリー制御ASIC(Application Specific Integrated Circuit)130と、SDRAM(Synchronous DRAM)140と、I/O(Input / Output)制御ASIC150と、を備える。コントローラー110は、エンジン部160、操作パネル170等の各種機構を制御し、各種画像処理などを含む印刷機能、ファクシミリ機能、スキャナー機能、コピー機能などを実現する。ただし、コントローラー110は、この構成に限定されず、例えば、CPU120をメモリー制御ASIC130に内蔵させてもよい。
【0024】
CPU120は、メモリー制御ASIC130を介してSDRAM140にアクセスし、各種データの読み書きを行うことで各種処理を実行する。CPU120は、SDRAM140にアクセスするためのアクセス要求(リクエスト)を、メモリー制御ASIC130に対して出す。
【0025】
メモリー制御ASIC130は、CPU120、I/O制御ASIC150、エンジン部160からのSDRAM140へのアクセスを制御する。メモリー制御ASIC130は、CPU120を介さない、SDRAM140へのダイレクトメモリーアクセス(Direct Memory Access)を制御するようにしてもよい。
【0026】
SDRAM140は、メモリー制御ASIC130が制御を行うメモリーである。SDRAM140は、バンクを複数有し、マルチバンクアクセス機能を有する。各バンクには、同一ロウアドレスで指定されるページが複数含まれ、SDRAM140は、ページモードで動作可能である。すなわち、同一バンクアドレス及びロウアドレスに対しては、プリチャージコマンド処理を行わずに、異なるカラムアドレスで連続的にアクセスすることができる。
【0027】
I/O制御ASIC150は、外部機器(操作パネル170や、情報処理装置200など)とのデータの送受信を制御する。なお、図示していないが、I/O制御ASIC150は、例えば、イーサネット(登録商標)やUSBなどに準拠した通信インターフェイスと接続され、該通信インターフェイスを介して情報処理装置200と通信を行う。
【0028】
エンジン部160は、印刷機能、ファクシミリ機能、スキャナー機能、コピー機能等を実現するための給排紙機構、印字機構、スキャン機構等である。
【0029】
操作パネル170は、ユーザーの操作を受け付けるためのユニットである。操作パネル170は、例えば、LCDなどのディスプレイと、ディスプレイの表示面側に設けられたタッチパネルを有する。操作パネル170は、ボタンキーなどの各種ハードスイッチを有していてもよい。
【0030】
以上、画像処置装置100のハードウェア構成について説明した。もちろん、この構成は、本願発明の特徴を説明するにあたって主要構成を説明したのであって、上記の構成に限られない。また、一般的な画像処置装置100が備える他の構成を排除するものではない。例えば、SDRAM140と同等の機能を有するメモリーであれば、他のRAMであってもよい。
【0031】
図2は、本発明の一実施形態の一例に係る、メモリー制御ASICのハードウェアの概略構成を示すブロック図である。
【0032】
メモリー制御ASIC130は、インターフェイス部131と、調停回路132と、メモリーコントローラー133とを備えている。
【0033】
本図では、SDRAM140へのアクセスを行う複数のマスター1〜Mを図示している。マスターとは、SDRAM140にアクセスを行う所定の単位であり、CPU120、I/O制御ASIC150、エンジン部160などのユニット単位に限られず、より細かな処理単位、機能単位であってもよい。例えば、スキャン画像データの読み込み処理、圧縮処理、色変換処理、可搬型記憶媒体からのデータ読み込み処理、などである。
【0034】
インターフェイス部131は、CPU120、I/O制御ASIC150、エンジン部160などのマスターからのアクセス要求を受け付け、調停回路132に通知する。
【0035】
なお、アクセス要求には、例えば、マスターを識別する識別情報、バンクアドレス、ロウアドレス、カラムアドレス、ライト/リードなどの指示の識別情報、ライト対象のデータなどが含まれる。
【0036】
調停回路132は、通知されたアクセス要求を受け付け、メモリーコントローラー133に通知する。調停回路132は、複数のアクセス要求を同タイミングで受け付けた場合には、1つのアクセス要求を選択してメモリーコントローラー133に通知する制御を行う。
【0037】
なお、調停回路132の特徴的な構成については、後述する。
【0038】
メモリーコントローラー133は、調停回路132からアクセス要求を受け付けると、SDRAM140に対して所定のコマンドを発行して、アクセス要求に基づくアクセス制御を行う。
【0039】
具体的には、メモリーコントローラー133は、アクセス要求を受け付ける毎に、当該アクセス要求が同一ページ(その時点でオープンしているページ)へのアクセス要求であるか否か判定する。
【0040】
メモリーコントローラー133は、同一ページへのアクセス要求ではないと判定した場合(ページミスヒット)には、オープンしているページをクローズするためのプリチャージコマンドをSDRAM140に発行し、その後、アクセス要求がされたページをオープンするためのアクティブコマンドをSDRAM140に発行して、コマンド処理(リード/ライトコマンドの発行)を行う。一方、同一ページへのアクセス要求であると判定した場合には、プリチャージコマンド及びアクティブコマンドを発行せずに、コマンド処理を行う。
【0041】
上記のメモリーコントローラー133のアクセス制御は、バンクごとに独立して並列的に実行可能である(マルチバンクアクセス)。すなわち、別のバンクに属するページに対しては、ページのクローズを待たずに、それぞれオープンすることができる。
【0042】
例えば、マスターXのバンクアドレス000に対するリードコマンドとプリチャージコマンドとの間に、マスターYのバンクアドレス001に対するアクティブコマンドを発行し、マスターYのバンクアドレス001に対するリードコマンドとプリチャージコマンドとの間に、マスターZのバンクアドレス010に対するアクティブコマンドを発行するようにできる。
【0043】
ここで、ページミスが発生する場合には、次のような問題がある。
【0044】
例えば、同じ優先度のアクセス要求が連続してメモリーコントローラー133に入力される状況において、同一バンクへのアクセス要求が連続した後、他のバンクへのアクセス要求が来る場合を考える。同一バンクへのアクセス要求間でページミスが発生した場合、当該ページミスによるレイテンシーが、前記他のバンクへのアクセス要求へ影響する。すなわち、前記他のバンクへのアクセス要求の処理の開始が遅れることとなる。このように、ページミスの発生により、アクセス効率が低下することがある。
【0045】
そこで、本実施形態では、調停回路132において、アクセス要求ごとに、ページミスを発生させるアクセス要求であるか否かを判断し、ページミスを発生させるアクセス要求である場合には、その後のページミスを発生させないアクセス要求を優先してメモリーコントローラー133に通知する。
【0046】
図3、及び図4を参照して、具体的に説明する。
【0047】
図3は、本発明の一実施形態の一例に係る、調停回路及びメモリーコントローラーの機能構成を示すブロック図である。図4は、本発明の一実施形態の一例に係る、マスク制御テーブルの構成を説明する図である。
【0048】
調停回路132は、マスク制御部300を有する。
【0049】
マスク制御部300は、アクセス要求を受け付けた場合、当該アクセス要求が、当該アクセス要求よりも前にメモリーコントローラー133に出力した他のアクセス要求であって処理が終了していないアクセス要求と、ページミスを発生させないかどうかを判定する。当該アクセス要求がページミスを発生させる場合は、当該アクセス要求の出力を所定期間停止させ、その後のページミスを発生させないアクセス要求を、優先的に出力する。
【0050】
上記の制御を行うため、マスク制御部300は、図4に示すようなマスク制御テーブル400を用いる。マスク制御テーブル400は、バンクアドレス410とロウアドレス420とを対応付けたデータ(以下、「マスクデータ」とも呼ぶ。)を一以上格納する領域を有する。
【0051】
マスク制御部300は、アクセス要求を受け付けた際に、当該アクセス要求に含まれるバンクアドレスとロウアドレスを、マスク制御テーブル400に格納されているマスクデータと比較する。
【0052】
マスク制御テーブル400にマスクデータが格納されていない場合、又は、受け付けたアクセス要求に含まれるバンクアドレスが、いずれのマスクデータのバンクアドレスとも異なる場合(マルチバンクアクセス可能な場合)、又は、受け付けたアクセス要求に含まれるロウアドレスが、該アクセス要求のバンクアドレスと等しいバンクアドレスを含むマスクデータのロウアドレスと等しい場合(ページヒットの場合)、マスク制御部300は、当該受け付けたアクセス要求をメモリーコントローラー133に出力する。すなわち、アクセス要求のアクセス先バンクがマスクされていない(マスククリア(マスク解除)されている)場合、アクセス要求の出力が可能である。
【0053】
一方、上記以外の場合、すなわち、受け付けたアクセス要求に含まれるロウアドレスが、該アクセス要求のバンクアドレスと等しいバンクアドレスを含むマスクデータのロウアドレスと異なる場合(ページミスヒットの場合)、マスク制御部300は、当該アクセス要求の出力を所定期間停止する。すなわち、アクセス要求のアクセス先バンクがマスクされている(マスク設定されている)場合、出力が抑止される。
【0054】
マスク制御部300は、メモリーコントローラー133にアクセス要求を出力する際に、当該アクセス要求に含まれるバンクアドレスとロウアドレスを取得し、これらを対応付けたマスクデータを、マスク制御テーブル400に格納する。これにより、マスクが設定される。
【0055】
また、マスク制御部300は、メモリーコントローラー133から、マスククリア信号を受け付ける。マスククリア信号には、バンクアドレスが含まれている。マスク制御部300は、マスククリア信号に含まれるバンクアドレスと等しいバンクアドレスを含むマスクデータを、マスク制御テーブル400から削除する。これにより、マスクが解除され、マスクが設定されてから解除されるまでの所定期間出力が停止されていたアクセス要求が、出力されるようになる。
【0056】
上述のマスク制御テーブル400を用いたマスク機能は、マスターごとに管理することができる。例えば、マスク制御部300は、マスターの識別情報ごとに、マスク制御のオン/オフ(有効/無効)の設定を記憶する。そして、マスク制御部300は、マスク機能がオフのマスターのアクセス要求を、マスク制御テーブル400を参照せずにメモリーコントローラー133に出力する。なお、マスク機能がオフの場合でも、出力したアクセス要求に対応するマスク設定を実行する。
【0057】
各マスターのマスク機能のオン/オフ設定は、例えば、CPU120が、操作パネル170や情報処理装置からのユーザーの指示を受け付けて、マスターごとに設定変更することができる。全てのマスターについて、同時にオン/オフを設定できてもよい。
【0058】
各マスターのマスク機能をオンに設定するかオフに設定するかは、マスターの処理の優先度を基準とすればよい。すなわち、オフ設定は、ページミスが発生する場合あっても当該マスターのアクセス要求よりも後のアクセス要求が優先されないため、処理の優先度がより高いマスターに適している。例えば、スキャンデータの読み込み処理など、他のマスターのアクセス要求が割り込まない方が好ましいマスターに適している。
【0059】
メモリーコントローラー133は、メイン制御部310と、バンク制御部320とを有する。
【0060】
メイン制御部310は、調停回路132から入力されたアクセス要求に従って、SDRAM140にアクセスを行う。アクセス制御の方法は、メモリーコントローラー133の説明で上述したとおりである。
【0061】
バンク制御部320は、各アクセス要求のSDRAM140へのアクセスが終了するタイミングを検出し、アクセスが終了したバンクのバンクアドレスを含むマスククリア信号を、調停回路132に出力する。バンク制御部320は、アクセスが終了するタイミングとして、メイン制御部310がプリチャージコマンドを発行するタイミングを検出する。なお、マスク解除のトリガーを調停回路132が検出できればよいので、アクセスが終了するタイミングは、プリチャージコマンドの発行と同時に限られず、所定時間前でも後でもよい。
【0062】
本実施形態では、マスククリア信号の出力タイミングを、バンク制御部320で決定している。バンク制御部320は、メイン制御部310と同様にメモリーコントローラー133内に含まれ、メイン制御部310によるコマンド処理の状態を知ることができるため、プリチャージコマンドが発行されるタイミングを、遅延なく(より正確に)検出することができる。
【0063】
以上の各構成要素は、調停回路132及びメモリーコントローラー133の構成を理解容易にするために、主な処理内容に応じて分類したものである。構成要素の分類の仕方や名称によって、本願発明が制限されることはない。調停回路132及びメモリーコントローラー133の構成は、処理内容に応じて、さらに多くの構成要素に分類することもできる。また、1つの構成要素がさらに多くの処理を実行するように分類することもできる。また、各構成要素の処理は、1つのハードウェアで実行されてもよいし、複数のハードウェアで実行されてもよい。
【0064】
次に、上記の調停回路132の特徴的な動作について説明する。
【0065】
図5は、本発明の一実施形態の一例に係る、調停回路のリクエスト受付処理を示すフロー図である。本フローは、例えば、画像処理装置100の動作中に実行される。本フローは、マスターごとの処理を示している。
【0066】
S10では、調停回路132のマスク制御部300は、アイドル状態に遷移し、処理をS20に進める。
【0067】
S20では、マスク制御部300は、アクセス要求(リクエスト)を受け付けたか否かを判定する。アクセス要求を受け付けた場合(S20:Yes)、処理をS30に進める。アクセス要求がない場合(S20:No)、判定を継続する。
【0068】
S30では、マスク制御部300は、S20で受け付けた処理対象のアクセス要求の要求元のマスターのマスク機能が、オンに設定されているか否かを判定する。オンである場合(S30:Yes)、処理をS40に進める。オフである場合(S30:No)、処理をS60に進める。
【0069】
S40では、マスク制御部300は、処理対象のアクセス要求のアクセス対象のバンクがマスク中か否かを判定する。
【0070】
具体的には、マスク制御部300は、処理対象のアクセス要求に含まれるバンクアドレスとロウアドレスを、マスク制御テーブル400に格納されているマスクデータと比較する。マスク制御テーブル400にマスクデータが格納されていない場合、又は、受け付けたアクセス要求に含まれるバンクアドレスが、いずれのマスクデータのバンクアドレスとも異なる場合(マルチバンクアクセス可能な場合)、又は、受け付けたアクセス要求に含まれるロウアドレスが、該アクセス要求のバンクアドレスと等しいバンクアドレスを含むマスクデータのロウアドレスと等しい場合(ページヒットの場合)、マスク制御部300は、アクセス対象のバンクがマスク中でないと判定し(S40:No)、処理をS60に進める。一方、処理対象のアクセス要求に含まれるロウアドレスが、該アクセス要求のバンクアドレスと等しいバンクアドレスを含むマスクデータのロウアドレスと異なる場合(ページミスヒットの場合)、マスク制御部300は、アクセス対象のバンクがマスク中であると判定し(S40:Yes)、処理をS50に進める。
【0071】
S50では、マスク制御部300は、マスクがクリアされたか否かを判定する。具体的には、マスク制御部300は、処理対象のアクセス要求のアクセス対象のバンクがマスク中でないか否かを判定する。マスク中である場合(S50:No)、判定を継続する。マスク中でない場合(S50:Yes)、処理をS60に進める。なお、S50の判定条件は、S40と同様である。
【0072】
S60では、マスク制御部300は、処理対象のマスターのアクセス要求よりも優先順位が高い他のマスターのアクセス要求があるか否かを判定する。この処理は、アクセス要求が競合する場合に行われる通常の調停処理であり、マスク制御部300は、予め設定されたマスターの優先度に応じて、判定を行う。優先順位が高い他のアクセス要求がある場合(S60:Yes)、処理をS30に戻す。優先順位が高い他のアクセス要求がない場合(S60:No)、処理をS70に進める。
【0073】
S70では、マスク制御部300は、マスク設定を行う。具体的には、処理対象のアクセス要求に含まれるバンクアドレスとロウアドレスを取得し、これらを対応付けたマスクデータを、マスク制御テーブル400に格納する。そして、処理をS80に進める。
【0074】
S80では、マスク制御部300は、処理対象のアクセス要求を、メモリーコントローラー133に出力する。そして、処理をS10に戻す。
【0075】
図6は、本発明の一実施形態の一例に係る、調停回路のマスク解除処理を示すフロー図である。本フローは、例えば、画像処理装置100の動作中に実行される。
【0076】
S110では、マスク制御部300は、メモリーコントローラー133からマスククリア信号を受信したか否かを判定する。マスククリア信号を受信した場合(S110:Yes)、処理をS120に進める。マスククリア信号を受信していない場合(S110:No)、判定を継続する。
【0077】
S120では、マスク制御部300は、マスクをクリアする。具体的には、S110で受信したマスククリア信号に含まれるバンクアドレスと等しいバンクアドレスを含むマスクデータを、マスク制御テーブル400から削除する。そして、処理をS110に戻す。
【0078】
上述の図4、5の各フローの各処理単位は、調停回路132の処理を理解容易にするために、主な処理内容に応じて分割したものである。処理単位の分割の仕方や名称によって、本願発明が制限されることはない。調停回路132の処理は、処理内容に応じて、さらに多くの処理単位に分割することもできる。また、1つの処理単位がさらに多くの処理を含むように分割することもできる。
【0079】
上述のように調停回路132が動作することにより、ページミスを発生させないアクセス要求が優先してメモリーコントローラー133に通知されるようになる。具体的に、図7〜9の例を用いて説明する。
【0080】
図7は、本発明の一実施形態の一例に係る、マスク機能オンの場合のリクエスト間の処理の関係を説明する図である。
【0081】
本図では、優先順位が同じリクエストA(バンクアドレス0、ロウアドレス1)、リクエストB(バンクアドレス0、ロウアドレス2)、及び、リクエストC(バンクアドレス1、ロウアドレス1)が、リクエストA、B、Cの順で調停回路132に入力されるものとする。リクエストAとB間では、ページミスが発生するものとする。また、いずれのバンクにもマスクが設定されていないものとする。
【0082】
リクエストAが発生すると(A1)、アクセス対象であるバンク0、ロウアドレス1にマスク設定が行われ(A2)、メモリーコントローラー133出力され(A3)、マスクがクリアされる(A4)。
【0083】
リクエストBが発生すると(B1)、A1においてバンク0、ロウアドレス1に対してマスクが設定されているため、マスククリア待ちとなる(B2)。A4においてバンク0のマスクがクリアされると、アクセス対象であるバンク0、ロウアドレス2にマスク設定が行われ(B3)、メモリーコントローラー133出力され(B4)、マスクがクリアされる(B5)。
【0084】
リクエストC発生すると(C1)、バンク1に対してマスクが設定されていないため、アクセス対象であるバンク1、ロウアドレス1にマスク設定が行われ(C2)、メモリーコントローラー133出力され(C3)、マスクがクリアされる(C4)。
【0085】
このように、ページミスを発生させるリクエストBの出力が所定期間抑止され、リクエストBよりもよりも後に発生したリクエストCが優先的に出力される。
【0086】
図8は、本発明の一実施形態の一例に係る、マスク機能オンの場合のリクエスト間の処理の関係を説明するタイミングチャートである。
【0087】
本図では、優先順位が同じリクエストA(A_REQ)(バンクアドレス(A_BANK)0)、リクエストB(B_REQ)(バンクアドレス(B_BANK)0)、及び、リクエストC(C_REQ)(バンクアドレス(C_BANK)1)が、リクエストA、B、Cの順で調停回路132に入力されている。リクエストAとB間では、ページミスが発生するものとする。なお、いずれのバンクにもマスクが設定されていないものとする。
【0088】
調停回路132は、リクエストBの出力によりページミスが発生すると判定できるので、リクエストBの出力を抑止し、リクエストBよりも先にリクエストCを出力する。メモリーコントローラー133は、リクエストA、リクエストCの順に処理を行い、各リクエストのプリチャージコマンド処理(auto-precharge)のタイミングの直前に、マスククリア信号を調停回路132に出力する。
【0089】
調停回路132は、リクエストAのプリチャージコマンド処理(auto-precharge(A_REQ, bank 0))に対応するマスククリア信号Aを受信することにより、バンク0のマスクをクリアするので、リクエストマスク期間を終了し、出力を抑止していたリクエストBを出力する。
【0090】
図9は、本発明の一実施形態の一例に係る、マスク機能オフのリクエスト間の処理の関係を説明するタイミングチャートである。
【0091】
調停回路132は、マスク機能がオフとなっているので、リクエストA、B、Cの順で、メモリーコントローラー133に出力を行う。メモリーコントローラー133は、リクエストA、B、Cの順に処理を行う。しかし、リクエストA、B間でページミスが発生するため、リクエストAのプリチャージコマンド処理(auto-precharge(A_REQ, bank 0))が終了するまで、リクエストBを実行することができない。また、リクエストBを処理するまでリクエストCを実行することができない。
【0092】
従って、図8と図9を比較すると分かるように、マスク機能を使用しない場合、ページミスの発生により、リクエストCのレイテンシーを回避することができない。一方、マスク機能を使用する場合、リクエストCのレイテンシーを回避することができる。また、リクエストBについても、リクエストCとの関係では、マルチバンクアクセス可能であるため、レイテンシーを回避することができる。結果として、DRAMアクセスの効率の低下をできる限り防ぎ、電子機器の高いパフォーマンスを得やすくなる。
【0093】
なお、図7〜9の各種処理や信号の間隔などは、一例であり、図示したとおりのものに限られない。
【0094】
以上、本発明の一実施形態について説明した。本実施形態によれば、ページミスを発生させるアクセス要求よりも他のアクセス要求を優先させて、レイテンシーを低減させることができる。
【0095】
なお、上記の本発明の実施形態は、本発明の要旨と範囲を例示することを意図し、限定するものではない。多くの代替物、修正および変形例が当業者にとって明らかである。
【0096】
例えば、メモリーコントローラー133は、マスククリア信号を出力する構成を有さないようにしてもよい。この場合、調停回路132は、例えば、アクセス要求を出力してから所定時間の経過を判定し、所定時間が経過した場合に、当該アクセス要求に対応するマスクを解除するようにすればよい。
【0097】
また、例えば、画像処理装置100は、SDRAM140を複数チップ有するようにしてもよい。この場合は、異なるチップ間では、それぞれ並列的にアクセスが可能であるため、調停回路132は、異なるチップへのアクセス要求間では、マスクされていないと判定する。調停回路132は、マスク制御テーブル400を、チップごとに設け、チップごとにマスク制御を行うようにしてもよい。
【符号の説明】
【0098】
100:画像処理装置、110:コントローラー、120:CPU、130:メモリー制御ASIC、131:インターフェイス部、132:調停回路、133:メモリーコントローラー、140:SDRAM、150:I/O制御ASIC、160:エンジン部、170:操作パネル、200:情報処理装置、300:マスク制御部、310:メイン制御部、320:バンク制御部、400:マスク制御テーブル、410:バンクアドレス、420:ロウアドレス

【特許請求の範囲】
【請求項1】
複数のバンク、及びページモード機能を有するRAMを備える電子機器であって、
複数のマスターからの前記RAMへのアクセス要求を調停する調停部と、
前記RAMへのアクセス制御を行うメモリー制御部と、を備え、
前記調停部は、
複数のマスターからのアクセス要求を受け付ける受付手段と、
バンクアドレス及びロウアドレスを対応付けたマスク情報を記憶するマスク記憶手段と、
前記記憶手段に記憶されたマスク情報のバンクアドレス及びロウアドレスと、受け付けたアクセス要求に含まれるバンクアドレス及びロウアドレスとを比較し、当該受け付けたアクセス要求によりページミスが発生するか否かを判定するマスク判定手段と、
ページミスが発生するアクセス要求については、前記メモリー制御部への出力を停止し、ページミスが発生しないアクセス要求については、前記メモリー制御部に出力するアクセス要求出力手段と、
前記アクセス要求出力手段により出力されたアクセス要求に含まれるバンクアドレス及びロウアドレスを、前記マスク情報として前記記憶手段に記憶するマスク設定手段と、有し、
前記メモリー制御部は、
前記調停部からアクセス要求を受け付ける受付手段と、
前記受け付けたアクセス要求に従って前記RAMにアクセスするアクセス手段と、を有する、
ことを特徴とする電子機器。
【請求項2】
請求項1に記載の電子機器であって、
前記メモリー制御部は、
各アクセス要求による前記RAMへのアクセスが終了する所定のタイミングを、当該アクセス要求に含まれるバンクアドレスとともに前記調停部に通知する通知手段を有し、
前記調停部は、
前記通知を受け付けて、当該通知に含まれるバンクアドレスと対応するバンクアドレスを含むマスク情報を、前記記憶手段から削除するマスク解除手段を有し、
前記マスク判定手段は、受け付けた各アクセス要求について、ページミスが発生しないと判定するまで判定を行う、
ことを特徴とする電子機器。
【請求項3】
請求項1又は2に記載の電子機器であって、
前記通知手段は、プリチャージコマンドを発行する又は発行したタイミングを、前記RAMへのアクセスが終了する所定のタイミングとして、通知する、
ことを特徴とする電子機器。
【請求項4】
請求項1〜3いずれか一項に記載の電子機器であって、
前記マスク判定手段は、前記受け付けたアクセス要求に含まれるバンクアドレスが前記記憶手段に記憶されたマスク情報のバンクアドレスと異なる場合、又は、前記受け付けたアクセス要求に含まれるバンクアドレス及びロウアドレスが前記記憶手段に記憶されたマスク情報のバンクアドレス及びと同じである場合に、ページミスが発生しないと判定する、
ことを特徴とする電子機器。
【請求項5】
請求項1〜4いずれか一項に記載の電子機器であって、
マスターごとに、ページミスの判定を有効又は無効に設定可能であり、
前記アクセス要求にはマスターを識別する識別情報が含まれ、
前記マスク判定手段は、有効に設定されているマスターのアクセス要求について、判定を行い、無効に設定されているマスターのアクセス要求については、判定を行わない、
ことを特徴とする電子機器。
【請求項6】
請求項1〜4いずれか一項に記載の電子機器であって、
各マスターには、優先度が設定されており、
前記アクセス要求出力手段は、複数のマスターのアクセス要求が競合する場合、優先度の高いアクセス要求を先に出力し、
前記マスク判定手段は、優先度により出力が後になったアクセス要求について、ページミスが発生しないと判定するまで判定を行う、
ことを特徴とする電子機器。
【請求項7】
請求項1〜6いずれか一項に記載の電子機器であって、
前記RAMを複数備え、
前記マスク判定手段による判定は、RAMごとに行われる、
ことを特徴とする電子機器。
【請求項8】
請求項1〜7いずれか一項に記載の電子機器であって、
マスターは、スキャン画像データの読み込み処理、圧縮処理、色変換処理、外部装置からの画像データの読み込み処理の少なくとも一以上を含む機能単位である、
ことを特徴とする電子機器。
【請求項9】
請求項1〜8いずれか一項に記載の電子機器であって、
前記電子機器は、画像処理装置である、
ことを特徴とする。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate