(57)【要約】  【課題】マルチバンクアクセスをより多く発生させて、メモリーアクセス効率を向上させる。  【解決手段】メモリーコントローラー１３３は、マスター（１〜Ｍ）からのＳＤＲＡＭ１４０へのアクセス要求を受け付け、当該アクセス要求に含まれるアドレスを構成するビットのうち、予め設定されたビット位置のビットが示すバンクアドレスに対応するバンクにアクセスするアクセス手段を有する。また、上記のビット位置を再設定する設定手段を有する。また、設定手段により上記のビット位置を変更し、変更後の各変更ビット位置において、バンクごとに、アクセス手段によりアクセスされたアクセス頻度を記録する統計手段を有する。ここで、設定手段は、各バンクに対するアクセス頻度に基づいて１つの変更ビット位置を選択し、ビット位置として再設定する。【選択図】図２
2010205002.tif 000002
【特許請求の範囲】
【請求項１】
ＳＤＲＡＭおよび前記ＳＤＲＡＭを制御するメモリー制御回路を備えた画像処理装置であって、
前記メモリー制御回路は、
マスターからの前記ＳＤＲＡＭへのアクセス要求を受け付け、当該アクセス要求に含まれるアドレスを構成するビットのうち、予め設定されたビット位置のビットが示すバンクアドレスに対応するバンクにアクセスするアクセス手段と、
前記ビット位置を再設定する設定手段と、
前記設定手段により前記ビット位置を変更し、変更後の各変更ビット位置において、バンクごとに、前記アクセス手段によりアクセスされたアクセス頻度を記録する統計手段と、を有し、
前記設定手段は、
前記各バンクに対する前記アクセス頻度に基づいて１つの変更ビット位置を選択し、前記ビット位置として再設定する、
ことを特徴とする画像処理装置。
【請求項２】
請求項１に記載の画像処理装置であって、
前記メモリー制御回路は、
前記ビット位置の設定を変更するための設定モードと、それ以外の通常モードとのいずれかを設定するモード設定手段を有し、
前記統計手段は、
前記設定モードが設定されている場合に、前記各バンクに対する前記アクセス頻度を記録し、
前記設定手段は、
前記設定モードが設定されている場合に、前記各バンクに対する前記アクセス頻度に基づいて１つの変更ビット位置を選択し、前記通常モードにおける前記ビット位置として再設定する、
ことを特徴とする画像処理装置。
【請求項３】
請求項２に記載の画像処理装置であって、
前記アクセス手段は、
前記設定モードが設定されている場合に、前記マスターからの前記ＳＤＲＡＭへのアクセス要求を発生させるための所定のテストデータを用いて、前記アクセス要求を受け付ける、
ことを特徴とする画像処理装置。
【請求項４】
請求項１〜３いずれか一項に記載の画像処理装置であって、
前記設定手段は、
前記各バンクに対する前記アクセス頻度が最も均等にばらつく変更ビット位置を選択する、
ことを特徴とする画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置に関し、特に、ＳＤＲＡＭ等のメモリーに対するアクセス制御技術に関する。
【背景技術】
【０００２】
画像処理装置等の電子機器に搭載されるＳＤＲＡＭ等のメモリーには、複数のメモリーバンクを有するものがある。また、処理の高速化のため、各バンクに対しては並列的（独立的に）にアクセスすることができる（マルチバンクアクセス）構造を有するものがある。特許文献１には、効率の良いマルチバンクアクセスを実現するための技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００２−２６８９４２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、マルチバンクアクセスが可能な場合であっても、複数のマスター（メモリーにアクセスを行う所定の処理単位）からの同一バンクに対するアクセスが連続して発生する場合がある。同一バンクに対するアクセスの衝突の発生が多くなると、待ち時間の増加等により、各マスターのメモリーへのアクセス効率が低下し、処理効率が低下する。
【０００５】
そこで、本発明は、マルチバンクアクセスをより多く発生させて、メモリーアクセス効率を向上させるための技術を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記の課題を解決するための本発明の一態様は、ＳＤＲＡＭおよび前記ＳＤＲＡＭを制御するメモリー制御回路を備えた画像処理装置であって、前記メモリー制御回路は、マスターからの前記ＳＤＲＡＭへのアクセス要求を受け付け、当該アクセス要求に含まれるアドレスを構成するビットのうち、予め設定されたビット位置のビットが示すバンクアドレスに対応するバンクにアクセスするアクセス手段と、前記ビット位置を再設定する設定手段と、前記設定手段により前記ビット位置を変更し、変更後の各変更ビット位置において、バンクごとに、前記アクセス手段によりアクセスされたアクセス頻度を記録する統計手段と、を有し、前記設定手段は、前記各バンクに対する前記アクセス頻度に基づいて１つの変更ビット位置を選択し、前記ビット位置として再設定する、ことを特徴とする。
【０００７】
ここで、上記の画像処理装置であって、前記メモリー制御回路は、前記ビット位置の設定を変更するための設定モードと、それ以外の通常モードとのいずれかを設定するモード設定手段を有し、前記統計手段は、前記設定モードが設定されている場合に、前記各バンクに対する前記アクセス頻度を記録し、前記設定手段は、前記設定モードが設定されている場合に、前記各バンクに対する前記アクセス頻度に基づいて１つの変更ビット位置を選択し、前記通常モードにおける前記ビット位置として再設定する、ことを特徴としていてもよい。
【０００８】
また、上記の画像処理装置であって、前記アクセス手段は、前記設定モードが設定されている場合に、前記マスターからの前記ＳＤＲＡＭへのアクセス要求を発生させるための所定のテストデータを用いて、前記アクセス要求を受け付ける、ことを特徴としていてもよい。
【０００９】
また、上記のいずれかの画像処理装置であって、前記設定手段は、前記各バンクに対する前記アクセス頻度が最も均等にばらつく変更ビット位置を選択する、ことを特徴としていてもよい。
【図面の簡単な説明】
【００１０】
【図１】本発明の一実施形態が適用された画像処理装置１００のハードウェア構成の一例を示すブロック図。
【図２】メモリー制御ＡＳＩＣ１３０のハードウェア構成の一例を示す図。
【図３】マルチバンクアクセスのタイミングチャートの一例を示す図。
【図４】メモリーアドレスとバンクアドレス割付位置との関係を説明する図。
【図５】統計テーブル４００の一例を示す図。
【図６】バンクアドレス割付設定モードにおける処理を示すフロー図。
【発明を実施するための形態】
【００１１】
以下、本発明の実施形態の一例を図面を参照して説明する。
【００１２】
図１は、本発明の一実施形態が適用された画像処理装置１００のハードウェア構成の一例を示す図である。画像処理装置１００は、プリンター、コピー機、複合機、スキャナーなどの装置である。画像処理装置１００は、情報処理装置２００と接続される。
【００１３】
情報処理装置２００は、不図示の、ＣＰＵと、ＲＡＭと、ＲＯＭと、ハードディスク等の補助記憶装置と、ディスプレイと、キーボードやマウス等の入力装置と、通信インターフェイスと、などを備えた一般的なコンピューターで実現される。情報処理装置２００では、アプリケーションプログラムや、ドライバープログラム（例えば、プリンタードライバープログラム）が実行される。
【００１４】
画像処置装置１００は、画像処理装置１００における各種処理を制御する電子機器制御装置としてのコントローラー１１０と、印刷媒体への印刷や原稿の読み取りを実行するエンジン部１６０と、ユーザーとの入出力インターフェイスである操作パネル１７０とを備えている。
【００１５】
コントローラー１１０は、ＣＰＵ１２０と、メモリー制御ＡＳＩＣ１３０と、ＳＤＲＡＭ１４０と、Ｉ／Ｏ（Input/Output）制御ＡＳＩＣ１５０と、を備える。コントローラー１１０は、エンジン部１６０、操作パネル１７０等の各種機構を制御し、各種画像処理などを含む印刷機能、ファクシミリ機能、スキャナー機能、コピー機能等を実現する。ただし、コントローラー１１０は、この構成に限定されず、例えば、ＣＰＵ１２０をメモリー制御ＡＳＩＣ１３０に内蔵させてもよい。
【００１６】
ＣＰＵ１２０は、メモリー制御ＡＳＩＣ１３０を介してＳＤＲＡＭ１４０にアクセスし、各種データの読み書きを行うことで各種処理を実行する。ＣＰＵ１２０は、ＳＤＲＡＭ１４０にアクセスするためのアクセス要求を、メモリー制御ＡＳＩＣ１３０に対して出す。
【００１７】
メモリー制御ＡＳＩＣ１３０は、ＣＰＵ１２０、Ｉ／Ｏ制御ＡＳＩＣ１５０、エンジン部１６０からのＳＤＲＡＭ１４０へのアクセスを制御する。メモリー制御ＡＳＩＣ１３０は、ＣＰＵ１２０を介さない、ＳＤＲＡＭ１４０へのダイレクトメモリーアクセスを制御するようにしてもよい。
【００１８】
ＳＤＲＡＭ１４０は、メモリー制御ＡＳＩＣ１３０が制御を行うメモリーである。ＳＤＲＡＭ１４０は、バンクを複数（Ｎ個）有し、マルチバンクアクセス可能である。各バンクには、同一ロウアドレス（Row Address）で指定されるページ（記憶領域）が複数含まれる。ＳＤＲＡＭ１４０へのアクセスは、ページ単位で行われる。
【００１９】
Ｉ／Ｏ制御ＡＳＩＣ１５０は、外部機器（操作パネル１７０や、情報処理装置２００など）とのデータの送受信を制御する。
【００２０】
エンジン部１６０は、印刷機能、ファクシミリ機能、スキャナー機能、コピー機能等を実現するための給排紙機構、印字機構、スキャン機構等である。
【００２１】
操作パネル１７０は、ユーザーの操作を受け付けるためのユニットである。操作パネル１７０は、例えば、ＬＣＤなどのディスプレイと、ディスプレイの表示面側に設けられたタッチパネルを有する。操作パネル１７０は、ボタンキーなどの各種ハードスイッチを有していてもよい。
【００２２】
以上、画像処置装置１００のハードウェア構成について説明した。もちろん、この構成は、本願発明の特徴を説明するにあたって主要構成を説明したのであって、上記の構成に限られない。また、一般的な画像処置装置１００が備える他の構成を排除するものではない。
【００２３】
図２は、メモリー制御ＡＳＩＣ１３０のハードウェア構成の一例を示す図である。図示するように、メモリー制御ＡＳＩＣ１３０は、インターフェイス部１３１と、調停回路１３２と、メモリーコントローラー１３３とを備えている。
【００２４】
インターフェイス部１３１は、ＣＰＵ１２０、Ｉ／Ｏ制御ＡＳＩＣ１５０、エンジン部１６０からのアクセス要求を受け付け、調停回路１３２に通知する。
【００２５】
調停回路１３２は、通知されたアクセス要求を受け付け、メモリーコントローラー１３３に通知する。ここで、調停回路１３２は、複数のアクセス要求を同タイミングで受け付けた場合には、１つのアクセス要求を選択してメモリーコントローラー１３３に通知する制御を行う。
【００２６】
メモリーコントローラー１３３は、調停回路１３２からアクセス要求を受け付けると、ＳＤＲＡＭ１４０に対して所定のコマンドを発行して、アクセス要求に基づくアクセス制御を行う。
【００２７】
具体的には、メモリーコントローラー１３３は、アクセス要求を受け付ける毎に、当該アクセス要求が同一ページ（その時点でオープンしているページ）へのアクセス要求であるか否か判定する。
【００２８】
メモリーコントローラー１３３は、同一ページへのアクセス要求ではないと判定した場合には、アクセス要求がされたページをオープンするためのアクティブコマンドをＳＤＲＡＭ１４０に発行して、コマンド処理（リード／ライトコマンドの発行）を行う。一方、同一ページへのアクセス要求であると判定した場合には、アクティブコマンドを発行せずに、コマンド処理を行う。
【００２９】
そして、メモリーコントローラー１３３は、同一ページへのアクセス要求か否かにかかわらず、アクセス要求を受け付けてから所定の期間（以下では、「オープン期間」とよぶ）が経過すると、オープンしているページをクローズするためのプリチャージコマンドをＳＤＲＡＭ１４０に発行する。
【００３０】
従って、メモリーコントローラー１３３は、オープン期間が経過する前に同一ページへのアクセス要求があった場合には、プリチャージコマンドと、アクティブコマンドを発行せずに、連続してＳＤＲＡＭ１４０に読み書き（リード／ライトコマンドの発行）を行うことができる。なお、オープン期間が経過した場合には、メモリーコントローラー１３３は、プリチャージコマンドを発行してページをクローズするため、その後に同一ページへのアクセス要求を受け付けた場合には、再度、アクティブコマンドを発行する必要がある。
【００３１】
上記のメモリーコントローラー１３３のアクセス制御は、バンクごとに独立して並列的に実行可能である。すなわち、別のバンクに属するページに対しては、ページのクローズを待たずに、それぞれオープンすることができる。例えば、図３のように、マスターＸのバンクアドレス０００に対するリードコマンドとプリチャージコマンドとの間に、マスターＹのバンクアドレス００１に対するアクティブコマンドを発行し、マスターＹのバンクアドレス００１に対するリードコマンドとプリチャージコマンドとの間に、マスターＺのバンクアドレス０１０に対するアクティブコマンドを発行するようにできる。なお、同一バンクに属する異なるページに対しては、ページのクローズを行う必要がある。
【００３２】
従って、異なるマスターからのアクセス要求が連続する場合、できる限り異なるバンクに対してアクセスが行われるように（同一バンクに対してアクセスが連続しないように）した方が、アクセス効率が高まる。一方、異なるマスターからの同一バンクに対するアクセス要求が連続する場合、毎回ページのクローズを待つ必要があるので、アクセス効率が低下する。
【００３３】
ところで、通常、バンクアドレスは、マスターからのアクセス要求に含まれるメモリーアドレス（リクエストアドレス）のうちの所定の位置のビットに割り付けられている。例えば、メモリーアドレスが３２ビット（［３１：０］）、バンク数が４個の場合、バンクアドレスの割付は、［８：７］の２ビットとすることができる。
【００３４】
ここで、本発明では、バンクアドレスの割付位置を、メモリーアドレスに含まれるロウアドレスやカラムアドレス等のビットと兼ねるようにする。すなわち、ロウアドレスやカラムアドレス等の一部のビットをバンクアドレスとして使用する。このようにすれば、リクエストされたメモリーアドレスの変化に応じてバンクアドレスも変化することになり、実際に使用されるバンクが極端に偏る事態を少なくとも避けることができる。
【００３５】
しかしながら、上記のバンクアドレスの割付方法では、異なるマスターからのアクセス要求が連続する場合に、異なるバンクに対してアクセスが行われる可能性を高めることができるとは限らない。却って、同一バンクに対するアクセスが連続する場合が多くなることもある。
【００３６】
そこで、本発明では、メモリーコントローラー１３３は、異なるマスターからのアクセス要求が連続する場合であっても、マルチバンクアクセスとなる可能性を高めるための構成を有する。
【００３７】
具体的には、メモリーコントローラー１３３は、バンクアドレスの割付位置を設定するためのレジスターを有する。メモリーコントローラー１３３は、リクエストアドレスの各ビットのうち、このレジスターで設定された割付位置のビットを参照することにより、コマンドの発行先のバンクを決定する。例えば、図４に示すように、メモリーアドレスが３２ビット（［３１：０］）、バンク数が８個（０〜７番）の場合、任意の３ビットをバンクアドレスの割付位置として設定することができる。なお、バンク数がＮ個の場合に割付が必要なビット数Lは、L≧log2Nを満たす最小のLである。
【００３８】
また、メモリーコントローラー１３３は、より適切なバンクアドレスの割付位置を設定するためのモード（バンクアドレス割付設定モード）を設定するためのレジスターを有する。また、このモードにおいて記録された統計に基づいてバンクアドレスの割付位置を自動的に設定する（自動設定モード）か、手動で設定する（手動設定モード）か否かを設定するためのレジスターを有する。なお、バンクアドレス割付設定モードに対し、通常のアクセス制御を行うモードを、以下、通常モードと呼ぶ。
【００３９】
これらのレジスターの値は、例えば、ＣＰＵ１２０が操作パネル１７０や情報処理装置２００を介してユーザーの指示を受け付け、設定するようにすればよい。
【００４０】
上記のバンクアドレス割付設定モードにおいて、メモリーコントローラー１３３は、以下の処理を行う。また、そのための構成を有する。なお、バンクアドレス割付設定モードでは、ＣＰＵ１２０は、所定のプログラム（バンクアドレス割付設定モード用プログラム）をＲＯＭ等のメモリー（不図示）から読み出して実行し、複数のマスターによるアクセス要求をメモリーコントローラー１３３に繰り返し通知する。この所定のプログラムは、画像処理装置１００が通常実行する機能（例えば、印刷機能、スキャナー機能など）を構成する全てのマスターを実現し、コントローラー１１０で実行される所定の処理、例えば、印刷実行直前までの通常の画像処理を実現するプログラムである。
【００４１】
メモリーコントローラー１３３は、所定数のバンクアドレスの割付位置パターンを順次レジスターに設定する。そして、パターンごとに、複数のマスターによる所定回数のアクセス要求受け付け、ＳＤＲＡＭ１４０へのアクセスを行う。また、パターンごとに、次の（１）〜（５）の統計処理を行う。
（１）マスターごとに、各バンクに対するアクセス回数を記録する。
（２）マスターごとに、最もアクセス回数の多いバンク（最頻出バンク）を選択して記録する。
（３）全マスターの最頻出バンクに基づいて、バンクごとに、最頻出バンクとしてマスターにより選択された回数（選択回数）を記録する。
（４）各バンクに対する選択回数のばらつき度を算出して記録する。ばらつき度は、例えば、以下の数式１で表される標本分散値とすることができる。
【００４２】
【数１】
2010205002.tif 000003
【００４３】
上記のような処理を行って各種のデータの記録するため、メモリーコントローラー１３３は、例えば、図５に示すような統計テーブル４００を有する。統計テーブル４００は、バンクアドレス割付パターン４１０とアクセスばらつき度４２０とを対応付けた一覧を含む。また、バンクアドレス割付パターン４１０ごとに、バンク番号４３０とマスター数（選択回数）４４０とを対応付けた一覧を含む。また、バンクアドレス割付パターン４１０ごとに、マスター番号４５０と最頻出バンク番号４６０とを対応付けた一覧を含む。また、マスター番号４５０ごとに、バンク番号４７０とアクセス回数４８０とを対応付けた一覧を含む。もちろん、データを記録する方法はテーブル方式に限られない。
【００４４】
自動設定モードが設定されている場合、メモリーコントローラー１３３は、バンクアドレスの割付パターンのうち、最も適切なばらつき度を有する（各バンクに対するアクセスが最も均等に分散した）パターンを１つ選択する。例えば、上記の標本分散値をばらつき度として用いた場合、標本分散値が最も０に近いパターンを選択する。そして、このパターンを、上記のバンクアドレスの割付位置を設定するためのレジスターに設定する。
【００４５】
手動設定モードが設定されている場合、メモリーコントローラー１３３は、記録した各種データ（例えば、統計テーブル４００に記録されているデータ）を、ＣＰＵ１２０により操作パネル１７０に表示させる。そして、ＣＰＵ１２０により操作パネル１７０を介して、バンクアドレスの割付パターン選択を受け付け、ユーザーに指定されたパターンを、上記のバンクアドレスの割付位置を設定するためのレジスターに設定する。
【００４６】
以上のようにして、メモリーコントローラー１３３は、異なるマスターからのアクセス要求が連続する場合でも、マルチバンクアクセスとなる可能性を高めることのできる、バンクアドレスの割付を設定することができる。
【００４７】
なお、バンクアドレスの割付位置の決定方法は、上記に限られない。例えば、バンクアドレスの割付位置パターンごとに、各バンクに対するアクセス回数を記録して、各バンクに対するアクセス回数のばらつき度を算出するようにする。そして、最も適切なばらつき度を有する（各バンクに対するアクセスが最も均等に分散した）パターンを１つ選択するようにする。
【００４８】
以上、コントローラー１１０、メモリー制御ＡＳＩＣ１３０等の構成について説明した。もちろん、この構成は、本願発明の特徴を説明するにあたって主要構成を説明したのであって、上記の構成に限られない。また、一般的なコントローラー１１０、メモリー制御ＡＳＩＣ１３０等が備える他の構成を排除するものではない。
【００４９】
次に、上記のメモリーコントローラー１３３の特徴的な動作について説明する。
【００５０】
図６は、バンクアドレス割付設定モードにおける処理を示すフロー図である。本フローは、例えば、画像処理装置１００に電源が投入された後、コントローラー１１０の起動処理中（初期化処理中）に行われる。なお、バンクアドレス割付設定モードで画像処理装置１００を起動させるには、例えば、通常モードで画像処理装置１００が動作中に、レジスターにバンクアドレス割付設定モードを設定し、画像処理装置１００を再起動すればよい。もちろん、画像処理装置１００が毎回バンクアドレス割付設定モードで起動されるようにしてもよい。
【００５１】
Ｓ１００では、ＣＰＵ１２０は、バンクアドレス割付設定モードが設定されているか否かを判定する。具体的には、ＣＰＵ１２０は、メモリーコントローラー１３３のレジスターを参照し、バンクアドレス割付設定モードが設定されているか否かを判定する。バンクアドレス割付設定モードが設定されている場合（Ｓ１００：ＹＥＳ）、処理をＳ１１０に進める。バンクアドレス割付設定モードが設定されていない場合（Ｓ１００：ＮＯ）、処理をＳ１９０へ進める。
【００５２】
Ｓ１１０では、メモリーアクセスが開始される。具体的には、まず、メモリーコントローラー１３３は、バンクアドレス割付パターンの所定の設定順序に従って、設定対象である１つのバンクアドレス割付パターンをレジスターに設定する。
【００５３】
それから、ＣＰＵ１２０は、所定のプログラム（上記のバンクアドレス割付設定モード用プログラム）をＲＯＭ等のメモリー（不図示）から読み出して実行し、複数のマスターによるアクセス要求をメモリーコントローラー１３３に通知し始める。複数のマスターは、例えば、所定の画像データに対する各種画像処理などである。メモリーコントローラー１３３は、各マスターのアクセス要求受け付けた場合、ＳＤＲＡＭ１４０へのアクセスを行う。
【００５４】
Ｓ１２０では、メモリーコントローラー１３３は、マスターごとに、各バンクに対するアクセス回数を記録する。具体的には、メモリーコントローラー１３３は、アクセス要求を行ったマスターの番号と、リクエストアドレスの各ビットのうち、Ｓ１１０で設定したバンクアドレスの割付位置のビットが示すバンク番号を特定する。そして、統計テーブル４００の、特定したマスター番号およびバンク番号に対応するアクセス回数４８０をカウントアップする。
【００５５】
Ｓ１３０では、メモリーコントローラー１３３は、所定数のアクセスが終了したか否かを判定する。具体的には、メモリーコントローラー１３３は、所定数のバンクアドレス割付パターンを設定したか否かを判定する。所定数のアクセスが終了した場合（Ｓ１３０：ＹＥＳ）、処理をＳ１４０に進める。なお、この場合、ＣＰＵ１２０は、複数のマスターによるアクセス要求を停止する。所定数のアクセスが終了していない場合（Ｓ１３０：ＮＯ）、メモリーコントローラー１３３は、処理をＳ１１０に戻す。
【００５６】
Ｓ１４０では、メモリーコントローラー１３３は、自動設定モードが設定されているか否かを判定する。自動設定モードが設定されている場合（Ｓ１４０：ＹＥＳ）、処理をＳ１５０へ進める。手動設定モードが設定されている場合（Ｓ１４０：ＮＯ）、処理をＳ１７０へ進める。
【００５７】
Ｓ１５０では、メモリーコントローラー１３３は、バンクアドレスの割付パターンを選択する。具体的には、メモリーコントローラー１３３は、Ｓ１１０で順次設定したバンクアドレス割付パターンごとに、上述した（２）〜（４）の処理を行う。それから、バンクアドレスの割付パターンのうち、最も適切なばらつき度を有するパターンを１つ選択する。そして、処理をＳ１６０へ進める。
【００５８】
Ｓ１６０では、メモリーコントローラー１３３は、Ｓ１５０で選択したバンクアドレス割付パターンを、バンクアドレスの割付位置を設定するためのレジスターに設定する。そして、処理をＳ１９０に進める。
【００５９】
Ｓ１７０では、メモリーコントローラー１３３は、バンクアドレスの割付パターンの選択を受け付ける。具体的には、メモリーコントローラー１３３は、Ｓ１１０で順次設定したバンクアドレス割付パターンごとに、上述した（２）〜（４）の処理を行う。それから、ＣＰＵ１２０は、操作パネル１７０に、統計テーブル４００に記録されているデータの一部もしくは全てを表示する。例えば、バンクアドレス割付パターン４１０とアクセスばらつき度４２０の一覧を表示する。バンクアドレス割付パターン４１０ごとに、マスター番号４５０と最頻出バンク番号４６０の一覧を表示するようにしてもよい。すなわち、ユーザーが、バンクアドレスの割付パターンを選択するために必要な統計情報が、メモリーコントローラー１３３から取得されて表示されるようにするのが好ましい。
【００６０】
また、Ｓ１７０において、ＣＰＵ１２０は、操作パネル１７０を介して、バンクアドレス割付パターンのユーザーの選択を受け付け、当該バンクアドレス割付パターンをメモリーコントローラー１３３に送る。そして、処理をＳ１８０に進める。
【００６１】
Ｓ１８０では、メモリーコントローラー１３３は、Ｓ１７０でＣＰＵ１２０から送られたバンクアドレス割付パターンを、バンクアドレスの割付位置を設定するためのレジスターに設定する。そして、処理をＳ１９０に進める。
【００６２】
Ｓ１９０では、メモリーコントローラー１３３は、通常モードへ移行する。具体的には、レジスターのバンクアドレス割付設定モードの設定を解除する。そして、メモリーコントローラー１３３は、本フローを終了する。なお、通常モードでは、Ｓ１６０またはＳ１８０で設定されたバンクアドレス割付パターンのまま、ＳＤＲＡＭ１４０へのアクセス要求がメモリーコントローラー１３３により処理される。
【００６３】
以上、本発明の一実施形態について説明した。本実施形態によれば、マルチバンクアクセスをより多く発生させて、メモリーアクセス効率を向上させることができる。
【００６４】
すなわち、本実施形態では、メモリーコントローラーにバンクアドレス割付設定モードを設定できる。そして、バンクアドレス割付設定モードが設定されている場合、起動処理や初期化処理中に、所定のプログラムにより実現された各マスターによりＳＤＲＡＭへのアクセス要求が行われ、メモリーコントローラーにより、複数のバンクアドレスの割付パターンごとに、各マスターの各バンクに対するアクセス回数が記録される。それから、記録されたアクセス回数に基づいて、メモリーコントローラーにより、マルチバンクアクセスがより発生し易いバンクアドレスの割付位置が設定される。
【００６５】
なお、上記の本発明の実施形態は、本発明の要旨と範囲を例示することを意図し、限定するものではない。多くの代替物、修正および変形例が当業者にとって明らかである。
【００６６】
例えば、上記の実施形態では、バンクアドレス割付設定モードにおいて、ＣＰＵ１２０が各マスターのアクセス要求を出しているが、メモリーコントローラー１３３が自身にアクセス要求を出すようにしてもよい。この場合、ＲＯＭ等のメモリーに、予め複数のマスターからの連続するアクセス要求を含むテストデータ（例えば、コントローラー１１０で実行される印刷実行直前までの通常の画像処理において生じる各マスターからのアクセス要求）を格納しておき、メモリーコントローラー１３３は、このテストデータを読み出して自身にアクセス要求を出す。
【００６７】
また、メモリーコントローラー１３３は、通常モード中の各マスターのアクセス要求の履歴を記憶しておき、バンクアドレス割付設定モードにおいて、アクセス要求の履歴を上記のテストデータとして用いてもよい。また、上記のバンクアドレス割付設定モード用プログラムは、通常モード中の各マスターのアクセス要求の履歴を記憶しておき、バンクアドレス割付設定モードにおいて、アクセス要求の履歴に基いてアクセス要求を発生させるプログラムであってもよい。
【符号の説明】
【００６８】
１００：画像処理装置、１１０：コントローラー、１２０：ＣＰＵ、１３０：メモリー制御ＡＳＩＣ、１３１：インターフェイス部、１３２：調停回路、１３３：メモリーコントローラー、１４０：ＳＤＲＡＭ、１５０：Ｉ／Ｏ制御ＡＳＩＣ、１６０：エンジン部、１７０：操作パネル、２００：情報処理装置、４００：統計テーブル、４１０：バンクアドレス割付パターン、４２０：アクセスばらつき度、４３０：マスター番号、４４０：最頻出バンク番号、４５０：バンク番号、４６０：アクセス回数
【図１】
2010205002.tif 000004
【図２】
2010205002.tif 000005
【図３】
2010205002.tif 000006
【図４】
2010205002.tif 000007
【図５】
2010205002.tif 000008
【図６】
2010205002.tif 000009