(57)【要約】【課題】メモリに含まれる複数のバンクに効率的にデータの読み書きをする。【解決手段】ＤＭＡＰコントローラ５５は、第１チャネル５５ａ〜第８チャネル５５ｈの中に、現在のバンクに割り当てられたアドレスから書き込みを開始するチャネルがあるか否かを判定し、現在のバンクに割り当てられたアドレスから書き込みを開始するチャネルがある場合は、そのチャネルを今回処理を実行するチャネルに設定して、該チャネルに格納されているノズルチェックパターン等をメモリコントローラ５４に送信する。【選択図】図２
2010055176.tif 000002
【特許請求の範囲】
【請求項１】
複数のバンクを有するメモリと、
一度のメモリアクセスで前記複数のバンクのうちの１つのバンクからデータの読み書きを開始すると共に、前回のメモリアクセスで最後にアクセスしたバンクと異なるバンクからデータの読み書きを開始するときにはバンクを切り替えてから該データの読み書きを開始するメモリアクセス手段と、
読み書きを開始するバンクが決まっている情報を格納するバッファと、
前記バッファに格納された情報の中から１つの情報を前記メモリアクセス手段に送信するにあたり、前記バッファに格納されている情報の中に前記メモリアクセス手段が前回のメモリアクセスで最後にアクセスしたバンクから読み書きを開始する特定情報があるか否かを判定し、該特定情報がある場合には該特定情報を読み書きを行う情報として前記メモリアクセス手段へ送信するアクセス制御手段と、
を備えたデータ処理装置。
【請求項２】
前記バッファは、読み書きを開始するアドレスが決まっている情報を格納し、
前記特定情報は、前記メモリアクセス手段が前回のメモリアクセスで最後にアクセスしたバンクに割り当てられたアドレスから読み書きを開始する情報である、
請求項１に記載のデータ処理装置。
【請求項３】
前記アクセス制御手段は、
前記バッファに格納する情報に対応づけられ所定の基本順序にしたがって順次処理される複数のチャネルを有し、読み書きを行う情報を前記メモリアクセス手段へ送信するにあたり、前記バッファに格納されている情報の中に前記特定情報があるか否かを判定し、
該特定情報がある場合には、前記基本順序にかかわらず、前記メモリアクセス手段が前回のメモリアクセスで最後にアクセスしたバンクに対応付けられたチャネルを処理を実行するチャネルに設定し、該チャネルに対応付けられた情報である前記特定情報を読み書きを行う情報として前記メモリアクセス手段へ送信する一方、
前記特定情報がない場合には、前記基本順序に従って、前記複数のチャネルの中から前記メモリアクセス手段が前回のメモリアクセスで最後にアクセスしたバンクに対応付けられたチャネルの次のチャネルを処理を実行するチャネルに設定し、該チャネルに対応付けられた情報を読み書きを行う情報として前記メモリアクセス手段へ送信する、
請求項１又は２に記載のデータ処理装置。
【請求項４】
前記メモリアクセス手段は、前記アクセス制御手段とは別に設けられた第２アクセス制御手段からも、読み書きを開始するバンクが決まっている情報が送信される、
請求項１〜３のいずれか１項に記載のデータ処理装置。
【請求項５】
複数のバンクを有するメモリにアクセス可能であり、一度のアクセス動作で前記複数のバンクのうちの１つのバンクからデータの読み書きを開始すると共に、前回のメモリアクセスで最後にアクセスしたバンクと異なるバンクからデータの読み書きを開始するときにはバンクを切り替えてから該データの読み書きを開始するメモリアクセス装置へ、読み書きを開始するバンクが決まっている情報を格納しているバッファから情報を送信する方法であって、
読み書きを行う情報を前記バッファから前記メモリアクセス装置へ送信するにあたり、前記バッファに格納されている情報の中に前記メモリアクセス装置が前回のメモリアクセスで最後にアクセスしたバンクから読み書きを開始する特定情報があるか否かを判定し、該特定情報がある場合には該特定情報を読み書きを行う情報として前記メモリアクセス装置へ送信する、
情報送信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理装置及び情報送信方法に関する。
【背景技術】
【０００２】
従来、複数のメモリデバイスを有し該メモリデバイスにアクセスを行うデータ処理装置が知られている。例えば、特許文献１に記載のＤＭＡ制御装置は、複数のメモリデバイスと、ＤＭＡ転送の転送先のアドレス等が設定される複数のチャネルを有している。ここで、ＤＭＡ転送の転送先のアドレスはいずれかのメモリデバイスに対応しているため、各チャネルはＤＭＡ転送の転送先のメモリデバイスが設定されているとみることができる。このＤＭＡ制御装置では、複数のメモリデバイスに固定の優先順位を予め設定し、複数のチャネルの転送をスタートしたときには、ＤＭＡ転送の転送先のメモリデバイスの優先順位が高いチャネルから順にＤＭＡ転送を行う。
【特許文献１】特開２００３−２７１５３９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ところで、特許文献１のＤＭＡ制御装置では、あるチャネルのＤＭＡ転送を実行しているときに、そのＤＭＡ転送の転送先のメモリデバイスよりも優先順位の高いメモリデバイスへのＤＭＡ転送が他のチャネルに設定されたときには、現在のＤＭＡ転送の転送先と同じメモリデバイスへのＤＭＡ転送が他にある場合でも、優先順位の高いメモリデバイスへのＤＭＡ転送が優先して実行される。その結果、メモリデバイスを切り替えることが必要となり、その切り替えに時間を要することによってＤＭＡ転送の効率が悪くなるという問題があった。
【０００４】
本発明は、上述した課題に鑑みなされたものであり、メモリに含まれる複数のバンクに効率的にデータの読み書きをすることができるデータ処理装置及び情報送信方法を提供することを主目的とする。
【課題を解決するための手段】
【０００５】
本発明は、上述の目的を達成するために以下の手段を採った。
【０００６】
本発明のデータ処理装置は、
複数のバンクを有するメモリと、
一度のメモリアクセスで前記複数のバンクのうちの１つのバンクからデータの読み書きを開始すると共に、前回のメモリアクセスで最後にアクセスしたバンクと異なるバンクからデータの読み書きを開始するときにはバンクを切り替えてから該データの読み書きを開始するメモリアクセス手段と、
読み書きを開始するバンクが決まっている情報を格納するバッファと、
前記バッファに格納された情報の中から１つの情報を前記メモリアクセス手段に送信するにあたり、前記バッファに格納されている情報の中に前記メモリアクセス手段が前回のメモリアクセスで最後にアクセスしたバンクから読み書きを開始する特定情報があるか否かを判定し、該特定情報がある場合には該特定情報を読み書きを行う情報として前記メモリアクセス手段へ送信するアクセス制御手段と、
を備えたものである。
【０００７】
このデータ処理装置では、アクセス制御手段は、バッファに格納されている情報の中にメモリアクセス手段が前回のメモリアクセスで最後にアクセスしたバンクから読み書きを開始する特定情報があるか否かを判定し、その特定情報がある場合にはその特定情報を読み書きを行う情報としてメモリアクセス手段へ送信する。このため、メモリアクセス手段は、その送信された情報によるバンクへのデータの読み書きの前にバンクを切り替える必要がなく、そのバンクの切り替えに要する時間が不要となる。従って、メモリに含まれる複数のバンクに効率的にデータを読み書きすることができる。ここで、「読み書き」とは、本明細書では、読み出し作業と書き込み作業の少なくとも一方を行うことをいい、読み出しのみ行うこと、書き込みのみ行うこと、読み出しと書き込みの両方を行うことが含まれるものとする。
【０００８】
本発明のデータ処理装置において、前記バッファは、読み書きを開始するアドレスが決まっている情報を格納し、前記特定情報は、前記メモリアクセス手段が前回のメモリアクセスで最後にアクセスしたバンクに割り当てられたアドレスから読み書きを開始する情報であるものとしてもよい。こうすれば、読み書きを行う情報をバッファへ送信する送信元はバンクを意識しなくて済む。
【０００９】
本発明のデータ処理装置において、前記アクセス制御手段は、前記バッファに格納する情報に対応づけられ所定の基本順序にしたがって順次処理される複数のチャネルを有し、読み書きを行う情報を前記メモリアクセス手段へ送信するにあたり、前記バッファに格納されている情報の中に前記特定情報があるか否かを判定し、該特定情報がある場合には、前記基本順序にかかわらず、前記メモリアクセス手段が前回のメモリアクセスで最後にアクセスしたバンクに対応付けられたチャネルを処理を実行するチャネルに設定し、該チャネルに対応付けられた情報である前記特定情報を読み書きを行う情報として前記メモリアクセス手段へ送信する一方、前記特定情報がない場合には、前記基本順序に従って、前記複数のチャネルの中から前記メモリアクセス手段が前回のメモリアクセスで最後にアクセスしたバンクに対応付けられたチャネルの次のチャネルを処理を実行するチャネルに設定し、該チャネルに対応付けられた情報を読み書きを行う情報として前記メモリアクセス手段へ送信するものとしてもよい。
【００１０】
本発明のデータ処理装置において、前記メモリアクセス手段は、前記アクセス制御手段とは別に設けられた第２アクセス制御手段からも、読み書きを開始するバンクが決まっている情報が送信されるものとしてもよい。メモリアクセス手段が、第２アクセス制御手段から送信された情報についてメモリへアクセスすることによって、最後にアクセスしたバンクが切り替わる可能性があるため、本発明を適用する意義が高い。
【００１１】
本発明の情報送信方法は、複数のバンクを有するメモリにアクセス可能であり、一度のアクセス動作で前記複数のバンクのうちの１つのバンクからデータの読み書きを開始すると共に、前回のメモリアクセスで最後にアクセスしたバンクと異なるバンクからデータの読み書きを開始するときにはバンクを切り替えてから該データの読み書きを開始するメモリアクセス装置へ、読み書きを開始するバンクが決まっている情報を格納しているバッファから情報を送信する方法であって、
読み書きを行う情報を前記バッファから前記メモリアクセス装置へ送信するにあたり、前記バッファに格納されている情報の中に前記メモリアクセス装置が前回のメモリアクセスで最後にアクセスしたバンクから読み書きを開始する特定情報があるか否かを判定し、該特定情報がある場合には該特定情報を読み書きを行う情報として前記メモリアクセス装置へ送信するものである。
【００１２】
この情報送信方法では、読み書きを行う情報をバッファからメモリアクセス装置へ送信するにあたり、バッファに格納されている情報の中にメモリアクセス装置が前回のメモリアクセスで最後にアクセスしたバンクから読み書きを開始する特定情報があるか否かを判定し、その特定情報がある場合にはその特定情報を読み書きを行う情報としてメモリアクセス装置へ送信する。このため、メモリアクセス装置は、その送信された情報によるバンクへのデータの読み書きの前にバンクを切り替える必要がなく、そのバンクの切り替えに要する時間が不要となる。従って、メモリに含まれる複数のバンクに効率的にデータを読み書きすることができる。なお、本発明の情報送信方法において、上述したいずれかのデータ処理装置の機能を実現するようなステップを追加してもよい。
【発明を実施するための最良の形態】
【００１３】
次に、本発明を実施するための最良の形態を図面を用いて説明する。図１はプリンタ１０の構成の概略を示す構成図、図２はプリンタ１０の構成の電気的接続を示すブロック図である。このプリンタ１０は、図１に示すように、印刷デバイス２０と、操作パネル４０と、メインコントローラ５０とを備えている。
【００１４】
印刷デバイス２０は、メインコントローラ５０から印刷指令を受けると、その印刷指令の対象である印刷ジョブに基づいて、印刷ヘッドから記録紙Ｓへインクを吐出することにより印刷を実行する周知のインクジェット方式のカラープリンタ機構として構成されている。この印刷デバイス２０は、シアン（Ｃ），マゼンタ（Ｍ），イエロー（Ｙ），ライトシアン（ＬＣ），ライトマゼンタ（ＬＭ），グレー（ＧＹ），フォトブラック（Ｐｋ），マットブラック（Ｍｋ）の合計８色のインクを使用して印刷を行う機構である。
【００１５】
操作パネル４０は、液晶ディスプレイ（ＬＣＤ）４２と、印刷ボタンや電源ボタン、決定ボタン、テンキーなどを含むボタン群４４とを備えている。この操作パネル４０は、各種情報をＬＣＤ４２に表示したりユーザの指示をボタン群４４の操作を介して入力したりする。
【００１６】
メインコントローラ５０は、図２に示すように、ＣＰＵ５１を中心とするマイクロプロセッサとして構成されており、ＲＯＭ５２と、ＲＡＭ５３と、メモリコントローラ５４と、ＤＭＡＰコントローラ５５と、ＬＣＤコントローラ５７と、内部インタフェース５８とを備えている。このメインコントローラ５０へは、内部インタフェース５８を介してユーザによるボタン群４４からの操作信号が入力される。また、このメインコントローラ５０からは、ＬＣＤ４２への制御信号、印刷デバイス２０への制御信号や印刷ジョブなどが出力される。
【００１７】
ＲＯＭ５２は、各種処理プログラムや各種データなどを記憶するものである。
【００１８】
ＲＡＭ５３は、ＤＤＲ２−ＳＤＲＡＭ規格のメモリであり、第１バンク５３ａ〜第４バンク５３ｄの４つのバンクを有している。ここで、これら４つのバンクは、ＲＡＭ５３を形成する１つのメモリモジュール内に設けられている。
【００１９】
メモリコントローラ５４は、ＲＡＭ５３の４つのバンクのうちの何れかのバンクからデータの読み書きを開始するものである。このメモリコントローラ５４は、読み書きを開始するバンクが、前回、データのアクセスを行っており現在のデータの読み書きの対象となっているバンク（以下、「現在のバンク」という）と異なる場合は、読み書きの対象となるバンクを切り替えてから、該当するバンクへのデータの読み書きを開始する。また、このメモリコントローラ５４は、現在のバンクが何れのバンクであるかを表す信号を２つの信号線５４ａ，５４ｂのハイ・ローで表すようになっている。ここでは、２つの信号線５４ａ，５４ｂが共にハイのときには第１バンク５３ａを表し、信号線５４ａのみがハイのときには第２バンク５３ｂを表し、信号線５４ｂのみがハイのときには第３バンク５３ｃを表し、２つの信号線５４ａ，５４ｂが共にローのときには第４バンク５３ｄを表すものとする。更に、ＲＡＭ５３へのデータの読み書きの処理を受け付け可能か否かを、受付可否確認用の信号線５４ｃのハイ・ローで表すようになっている。ここでは、ＲＡＭ５３へのデータの読み書きの処理を受け付け可能な場合にハイにするものとする。また、このメモリコントローラ５４は、ＲＡＭ５３のアドレスがＲＡＭ５３のどのバンクに割り当てられているかを表す対応関係テーブル（図３参照）を記憶しており、データの読み書きを開始する先頭アドレスが指定されたときには、ＲＡＭ５３のどのバンクから読み書きを開始するのかが分かるようになっている。
【００２０】
ＤＭＡＰコントローラ５５は、それぞれレジスタで構成されている第１チャネル５５ａ〜第８チャネル５５ｈを有している。各チャネルには、それぞれ、ＲＡＭ５３に書き込むデータや該データのＲＡＭ５３への書き込みを開始する先頭アドレス、該データのＲＡＭ５３への書き込みが終了したか否かを表す終了フラグＦｅの値等が記憶される。更に、このＤＭＡＰコントローラ５５は、ＲＡＭ５３のアドレスがＲＡＭ５３のどのバンクに割り当てられているかを表す対応関係テーブル（図３参照）を記憶しており、データの書き込みを開始する先頭アドレスが指定されたときには、そのデータをＲＡＭ５３のどのバンクから書き込み開始するのかが分かるようになっている。また、第１チャネル５５ａ〜第８チャネル５５ｈには、図２の矢印で示したような、処理を実行する順番である基本順序が設定されている。更に、第１チャネル５５ａ〜第８チャネル５５ｈの何れかのチャネルに格納されたデータをメモリコントローラ５４へ送信するときには、書き込むデータや該データのＲＡＭ５３への書き込みを開始する先頭アドレスの他、ＲＡＭ５３への書き込みを指示する書込要求を併せて送信する。
【００２１】
ＬＣＤコントローラ５７は、メインコントローラ５０から入力した制御信号に従って、ＬＣＤ４２を制御するものである。このＬＣＤコントローラ５７は、例えば、ＲＡＭ５３から読み出された画像データがＬＣＤ４２に表示されるようＬＣＤ４２を制御する。
【００２２】
内部インタフェース５８は、ボタン群４４のユーザの操作により入力されたユーザの指示をメインコントローラ５０に入力するものである。
【００２３】
こうして構成されたプリンタ１０では、ＣＰＵ５１、ＲＯＭ５２、メモリコントローラ５４、ＤＭＡＰコントローラ５５、ＬＣＤコントローラ５７、内部インタフェース５８及び印刷デバイス２０はバス１２を介して各種制御信号やデータのやり取りができるよう構成されている。
【００２４】
次に、こうして構成されたプリンタ１０の動作、特に、印刷デバイス２０のインク吐出用のノズルの詰まりをチェックするノズルチェックパターンの画像データをＲＡＭ５３に書き込む動作について説明する。まず、ＣＰＵ５１の動作について説明する。図４は、ＣＰＵ５１により実行される処理設定ルーチンの一例を示すフローチャート、図５はノズルチェックパターンの一例を示す説明図である。この処理設定ルーチンは、ＲＯＭ５２に記憶されており、所定時間毎（例えば数ｍｓｅｃ毎）に繰り返し実行される。このルーチンを開始すると、ＣＰＵ５１は、まず、ノズルチェックパターンの印刷指示があるか否かを判定する（ステップＳ１００）。ここでは、ボタン群４４をユーザが操作してノズルチェックパターンの印刷指示が入力されたか否かを判定する。そして、ノズルチェックパターンの印刷指示が入力されていないときには、そのまま本ルーチンを終了する。ノズルチェックパターンの印刷指示が入力されたときには、印刷デバイス２０の有する８色のインクの各色毎にノズルチェックパターンを含む各種のデータを作成し、ＤＭＡＰコントローラ５５の第１チャネル５５ａ〜第８チャネル５５ｈへ格納して第１チャネル５５ａ〜第８チャネル５５ｈの終了フラグＦｅを値０にリセットし（ステップＳ１１０）、本ルーチンを終了する。ここでは、シアンのデータは第１チャネル５５ａ、マゼンタのデータは第２チャネル５５ｂ、イエローのデータは第３チャネル５５ｃ、ライトシアンのデータは第４チャネル５５ｄ、ライトマゼンタのデータは第５チャネル５５ｅ、グレーのデータは第６チャネル５５ｆ、フォトブラックのデータは第７チャネル５５ｇ、マットブラックのデータは第７チャネル５５ｈに格納されるものとする。また、格納するデータとしては、上述した各色毎のノズルチェックパターンの他、そのノズルチェックパターンをＲＡＭ５３に書き込む先頭アドレス等がある。ここで、この先頭アドレスは、ＣＰＵ５１が本ルーチンを実行する度にＲＡＭ５３の書き込んでもよい領域にノズルチェックパターンの全体を書き込み可能なように適宜設定される。そのため、通常は、本ルーチンを実行する度に異なった先頭アドレスが格納されることになる。また、ノズルチェックパターンは、図５に示すように、階段状となった複数の線分により構成される。各色のノズルチェックパターンは、それぞれ印刷される位置が異なる以外は同様のノズルチェックパターンである。また、終了フラグＦｅは、各チャネル毎に用意されているフラグであり、そのチャネルへノズルチェックパターンを含むデータが格納されたときに値０にリセットされ、そのチャネルからノズルチェックパターンを含むデータがメモリコントローラ５４へ送信されたときに値１にセットされるフラグである。
【００２５】
続いて、ＤＭＡＰコントローラ５５の動作について説明する。図６は、ＤＭＡＰコントローラ５５により実行されるデータ送信処理ルーチンの一例を示すフローチャートである。このルーチンは、ＲＯＭ５２に記憶されており、所定時間毎（例えば数ｍｓｅｃ毎）に繰り返し実行される。このルーチンを開始するとＤＭＡＰコントローラ５５は、まず、処理すべきチャネルがあるか否かを判定する（ステップＳ２００）。具体的には、ＣＰＵ５１によりデータが格納され終了フラグＦｅが値０のチャネルがあるか否かを判定する。次に、処理すべきチャネルがないときにはそのまま本ルーチンを終了する。処理すべきチャネルがあるときには、メモリコントローラ５４が処理を受け付け可能な状態か否かを判定する（ステップＳ２１０）。ここで、メモリコントローラ５４が処理を受け付け可能な状態か否かは、メモリコントローラ５４の信号線５４ｃの状態がハイかローかにより判定するものとする。メモリコントローラ５４が処理を受け付け可能な状態でないときには本ルーチンを終了する。メモリコントローラ５４が処理を受け付け可能な状態のときには、現在のバンクが何れのバンクであるかをメモリコントローラ５４から入力する（ステップＳ２２０）。ここで、現在のバンクが何れのバンクであるかは、信号線５４ａ，５４ｂの状態により認識可能である。そして、第１チャネル５５ａ〜第８チャネル５５ｈの中に、ステップＳ２２０で入力したバンクに割り当てられたアドレスから書き込みを開始するチャネルがあるか否かを判定する（ステップＳ２３０）。具体的には、各チャネルに格納されている先頭アドレスの中にステップＳ２２０で入力したバンクに割り当てられたアドレスがあるか否かで判定するものとする。ステップＳ２２０で入力したバンクに割り当てられたアドレスから書き込みを開始するチャネルがない場合は、処理すべきチャネルのうち、基本順序（図２参照）に従って、前回処理を実行したチャネルの次のチャネルを今回処理を実行するチャネルに設定する（ステップＳ２４０）。一方、ステップＳ２２０で入力したバンクに割り当てられたアドレスから書き込みを開始するチャネルがある場合は、そのチャネルを今回処理を実行するチャネルに設定する（ステップＳ２５０）。ここで、ステップＳ２２０で入力したバンクに割り当てられたアドレスから書き込みを開始するチャネルが複数ある場合は、基本順序に従って、それら複数のチャネルの中から今回処理を実行するチャネルを設定する。そして、ステップＳ２４０又はステップＳ２５０の処理のあと、今回処理を実行するチャネルに記憶された各色毎のノズルチェックパターン、そのノズルチェックパターンをＲＡＭ５３に書き込む先頭アドレス及びＲＡＭ５３への書き込みを指示する書込要求（以下、「ノズルチェックパターン等」という）をメモリコントローラ５４に送信する（ステップＳ２６０）。そして、そのチャネルに対応する色のノズルチェックパターンの書き込みが完了したことを表すべくそのチャネルの終了フラグＦｅに値１をセットして（ステップＳ２７０）、本ルーチンを終了する。
【００２６】
続いて、メモリコントローラ５４の動作について説明する。図７は、メモリコントローラ５４により実行されるメモリ書込処理ルーチンの一例を示すフローチャートである。このルーチンは、ＲＯＭ５２に記憶されており、所定時間毎（例えば数ｍｓｅｃ毎）に繰り返し実行される。このルーチンを開始するとメモリコントローラ５４は、まず、ＲＡＭ５３についての書込要求又は読出要求を入力したか否かを判定する（ステップＳ３００）。ここで、読出要求は、ＲＡＭ５３からのデータの読み出しを指示する要求である。この読出要求としては、例えば、ＬＣＤ４２に表示させるデータをＲＡＭ５３から読み出す、ＬＣＤコントローラ５７からなされる要求などがある。ここで、書込要求の場合には、上述したように、ＲＡＭ５３に書き込むデータと、ＲＡＭ５３に書き込む先頭アドレスが書込要求と共に入力される。また、読出要求の場合には、ＲＡＭ５３から読み出す先頭アドレスと、読み出すデータ長とが読出要求と共に入力される。ステップＳ３００で、書込要求及び読出要求の何れも入力していないときには、そのまま本ルーチンを終了する。書込要求又は読出要求を入力したときには、入力した処理を完了するまで他の処理を受付けられない状態であることを表すべく信号線５４ｃをローにする（ステップＳ３１０）。そして、書き込む先頭アドレス又は読み出す先頭アドレスの割り当てられたバンクを特定し（ステップＳ３２０）、特定されたバンクが現在のバンクと同じか否かを判定する（ステップＳ３３０）。特定されたバンクが現在のバンクと同じでない場合は、読み書きの対象となるバンクを切り替える（ステップＳ３４０）。そして、ステップＳ３３０で、特定されたバンクが現在のバンクと同じだったとき、又は、ステップＳ３４０の処理の後、ＲＡＭ５３へのデータの読み書きを実行する（ステップＳ３５０）。ここで、ＲＡＭ５３へ読み書きするデータが２つのバンクに亘る場合には、読み書きの途中でバンクを切り替えて読み書きを実行する。このように読み書きの途中でバンクを切り替えたときには、信号線５４ａ，５４ｂの状態を切り替えることになる。続いて、読み書きの完了後、他の処理を受付け可能な状態であることを表すべく信号線５４ｃをハイにして（ステップＳ３６０）、本ルーチンを終了する。このように、書き込む先頭アドレス又は読み出す先頭アドレスの割り当てられたバンクが現在のバンクと同じときには、ステップＳ３４０のバンクを切り替える処理を実行する必要がないため、ステップＳ３３０の処理のあと、すぐさまステップＳ３５０の処理を実行することが可能である。
【００２７】
このようにして、ノズルチェックパターンの印刷指示が入力され、ＤＭＡＰコントローラ５５の第１チャネル５５ａ〜第８チャネル５５ｈに格納されたノズルチェックパターンがそれぞれメモリコントローラ５４へ送信されると、全色のノズルチェックパターンがＲＡＭ５３に書き込まれた状態となる。この後、ＣＰＵ５１は、このＲＡＭ５３に書き込まれたノズルチェックパターンを印刷デバイス２０の解釈可能な印刷ジョブの形式にして印刷デバイス２０へ印刷指令と共に送信すると、ノズルチェックパターンが記録紙Ｓに印刷される。
【００２８】
以上詳述したプリンタ１０では、現在のバンクに割り当てられたアドレスから書き込みを開始するチャネルがあるときには、そのチャネルの処理を優先する。つまり、メモリコントローラ５４には、同じバンクから書き込みを開始するノズルチェックパターン等がＤＭＡＰコントローラ５５から連続して入力されやすくなる。
【００２９】
ここで、本実施形態の構成要素と本発明の構成要素との対応関係を明らかにする。本実施形態のメインコントローラ５０が本発明のデータ処理装置に相当し、ＲＡＭ５３がメモリに相当し、メモリコントローラ５４がメモリアクセス手段に相当し、第１チャネル５５ａ〜第８チャネル５５ｈがバッファに相当し、ＤＭＡＰコントローラ５５がアクセス制御手段に相当する。また、ＬＣＤコントローラ５７が第２アクセス制御手段に相当する。なお、本実施形態では、プリンタ１０の動作を説明することにより本発明の情報送信方法の一例も明らかにしている。
【００３０】
以上詳述したプリンタ１０によれば、ＤＭＡＰコントローラ５５は、第１チャネル５５ａ〜第８チャネル５５ｈの中に、現在のバンクに割り当てられたアドレスから書き込みを開始するチャネルがあるか否かを判定し、現在のバンクに割り当てられたアドレスから書き込みを開始するチャネルがある場合は、そのチャネルを今回処理を実行するチャネルに設定して、該チャネルに格納されているノズルチェックパターン等をメモリコントローラ５４に送信する。このとき、メモリコントローラ５４は、送信されたノズルチェックパターン等によるバンクへのノズルチェックパターンの書き込みの前にバンクを切り替える必要がなく、そのバンクの切り替えに要する時間が不要となる。従って、ＲＡＭ５３に含まれる第１バンク５３ａ〜第４バンク５３ｄに効率的にノズルチェックパターンを書き込むことができる。また、第１チャネル５５ａ〜第８チャネル５５ｈへ各種のデータを格納するＣＰＵ５１はバンクを意識しなくて済む。更に、ＤＭＡＰコントローラ５５からの書き込み要求によってＲＡＭ５３にアクセスしたあと、ＬＣＤコントローラ５７からの読出要求によってＲＡＭ５３へアクセスした場合、最後にアクセスしたバンクが切り替わることがあるが、切り替わったあとのバンクを現在のバンクとして入力し今回処理を実行するチャネルを設定するから、ＲＡＭ５３に含まれる第１バンク５３ａ〜第４バンク５３ｄに効率的にノズルチェックパターンを書き込むことができる。
【００３１】
なお、本発明は上述した実施形態に何ら限定されることはなく、本発明の技術的範囲に属する限り種々の態様で実施し得ることはいうまでもない。
【００３２】
例えば、上述した実施形態では、プリンタ１０は、ＲＡＭ５３へ書き込む処理のみをメモリコントローラ５４へ要求するＤＭＡＰコントローラ５５を備えたものとしたが、ＲＡＭ５３から読出データを読み出す処理をメモリコントローラ５４へ要求するコントローラを備えたものとしてもよいし、ＲＡＭ５３へ書込データを書き込む処理とＲＡＭ５３から読出データを読み出す処理の両方の処理を要求するコントローラを備えたものとしてもよい。例えば、ＲＡＭ５３へ書込データを書き込む処理をメモリコントローラ５４へ要求するＤＭＡコントローラを備えたものとしてもよい。この場合には、このＤＭＡコントローラは、ＤＭＡＰコントローラ５５の第１チャネル５５ａ〜第８チャネル５５ｈと同様の複数のチャネルを有するものとする。そして、各チャネルに格納されているＲＡＭ５３から読み出す先頭アドレス、データ長及び読出要求等を含む読出情報の中に現在のバンクに割り当てられたアドレスが先頭アドレスとなっている読出情報がある場合には、そのデータを今回読み出しを行う特定読出情報としてメモリコントローラ５４へ優先して送信するものとする。こうした場合には、現在のバンクに割り当てられたアドレスを先頭アドレスとして読出データを読み出すときに、メモリコントローラ５４は、データを読み出す前にバンクを切り替える必要がなく、そのバンクの切り替えに要する時間が不要となる。従って、ＲＡＭ５３に含まれる第１バンク５３ａ〜第４バンク５３ｄから効率的に読出データを読み出すことができる。また、このＤＭＡコントローラは、ＲＡＭ５３へ書込データを書き込む処理をもメモリコントローラ５４に要求するものとしてもよい。この場合には、各チャネルに格納された読出情報又は書込情報のうち、現在のバンクに割り当てられたアドレスが先頭アドレスとなっている読出情報又は書込情報がある場合には、読出情報は今回読み出しを行う特定読出情報として、また、書込情報は今回書き込みを行う特定書込情報としてメモリコントローラ５４へ優先して送信するものとする。なお、この場合には、ＣＰＵ５１は、読出情報と書込情報とを区別するため、読出情報の場合には読出要求を、また、書込情報の場合には書込要求をこのＤＭＡコントローラのレジスタに格納するものとする。こうした場合には、ＲＡＭ５３に含まれる第１バンク５３ａ〜第４バンク５３ｄから効率的に読出データを読み出すことができ、それらのバンクに効率的に書込データを書き込むことができる。
【００３３】
上述した実施形態では、ＣＰＵ５１は、第１レジスタ５５ａ〜第８レジスタ５５ｈにＲＡＭ５３に書き込む先頭アドレスを格納するものとしたが、先頭アドレスに代えて又は加えて書き込みを開始するバンクを指定する情報を格納するものとしてもよい。これらの場合には、ＤＭＡＰコントローラ５５は、図６のデータ送信処理ルーチンのステップＳ２３０では、第１チャネル５５ａ〜第８チャネル５５ｈの中に、ステップＳ２２０で入力したバンクから書き込みを開始するチャネルがあるか否かを判定するものとする。
【００３４】
上述した実施形態では、ＤＭＡＰコントローラ５５は、８個のチャネルを有するものとしたが、８個のチャネルを有するものに限られない。例えば、４個のチャネルを有するものとしてもよいし、６個のチャネルを有するものとしてもよい。
【００３５】
上述した実施形態では、ＤＭＡＰコントローラ５５は、第１チャネル５５ａ〜第８チャネル５５ｈを有するものとしたが、チャネルの代わりに、複数のデータを記憶可能な１つの記憶領域を有するものとしてもよい。
【００３６】
上述した実施形態では、プリンタ１０は、図２に示したように、第１チャネル５５ａ〜第８チャネル５５ｈの８個のチャネルを有するＤＭＡＰコントローラ５５を備えたものとしたが、以下のようなものとしてもよい。即ち、図８に示すプリンタ１１０としてもよい。図８はプリンタ１１０の構成の電気的配線を説明するブロック図である。この図において、図２に示したプリンタ１０と同じ構成要素については同じ符号を付して詳細な説明を省略する。プリンタ１１０は、図８に示すように、ＤＭＡＰコントローラ５５の代わりに、１つのチャネル１５５ａを有するＤＭＡＰコントローラ１５５とバッファ１６０とを備えており、信号線５４ａ，５４ｂ，５４ｃがＣＰＵ５１に接続されている以外はプリンタ１０と同様である。このプリンタ１１０では、バッファ１６０に記憶されている各色毎のノズルチェックパターンを含む各種のデータの中から何れの色に対応する各種のデータをＤＭＡＰコントローラ５５へ送信するか判定する。具体的には、現在のバンクに割り当てられたアドレスから書き込みを開始する色に対応するデータがあるか否かを判定する。そして、現在のバンクに割り当てられたアドレスから書き込みを開始する色に対応するデータがある場合には、その色に対応するデータをＤＭＡＰコントローラ５５のチャネル１５５ａへ格納する。ＤＭＡＰコントローラ５５は、チャネル１５５ａにデータが格納されたときには、メモリコントローラ５４が処理を受付け可能なときに、ノズルチェックパターン等をメモリコントローラ５４へ送信する。こうした場合でも、ＲＡＭ５３に含まれる第１バンク５３ａ〜第４バンク５３ｄに効率的にノズルチェックパターンを書き込むことができる。
【００３７】
上述した実施形態では、ＤＭＡＰコントローラ５５は、各色のノズルチェックパターンの全体を１度にメモリコントローラ５４に送信してＲＡＭ５３に書き込むものとしたが、各色のノズルチェックパターンが１つの基本パターンの繰り返しによって完成される場合には、その基本パターンを複数回に亘ってメモリコントローラ５４に送信してＲＡＭ５３に書き込むものとしてもよい。特に、ノズルチェックパターンが基本パターンの繰り返しによって完成され、ノズルチェックパターンのデータ長が、メモリコントローラ５４の１度にＲＡＭ５３に書き込むことの可能なデータ長よりも大きい場合には、基本パターンを複数回に亘ってメモリコントローラ５４に送信してＲＡＭ５３に書き込むことになる。
【００３８】
上述した実施形態では、メインコントローラ５０は、図２に示したように、ＬＣＤコントローラ５７を備えたものとしたが、図２のメインコントローラ５０からＬＣＤコントローラ５７を除いたものとしてもよい。
【００３９】
上述した実施形態では、第１バンク５３ａ〜第４バンク５３ｄの４つのバンクは、ＲＡＭ５３を形成する１つのメモリモジュール内に設けられたものとしたが、ＲＡＭ５３を形成する４つのメモリモジュールに１つのメモリモジュールに対して１つのバンクが対応するように設けられたものとしてもよい。
【００４０】
上述した実施形態では、ノズルチェックパターンを印刷するときにＤＭＡＰコントローラ５５がノズルチェックパターンをＲＡＭ５３に書き込むものとして説明したが、一定のデータをＲＡＭ５３に書き込む処理を実行するものであれば、如何なる処理を実行するものに適用しても構わない。例えば、ＬＣＤ４２に表示させるデータをＲＡＭ５３に書き込むものとしてもよい。
【００４１】
上述した実施形態では、プリンタ１０に搭載されるメインコントローラ５０に本発明を適用することについて説明したが、例えば、プリンタ１０にスキャナ機能を追加したマルチファンクションプリンタなど、プリンタ１０以外の装置に搭載されるコントローラに本発明を適用してもよい。
【図面の簡単な説明】
【００４２】
【図１】プリンタ１０の構成の概略を示す構成図。
【図２】プリンタ１０の構成の電気的接続を示すブロック図。
【図３】ＲＡＭ５３のアドレスとバンクとの関係を表す対応関係テーブルの説明図。
【図４】処理設定ルーチンの一例を示すフローチャート。
【図５】ノズルチェックパターンの一例を示す説明図。
【図６】データ送信処理ルーチンの一例を示すフローチャート。
【図７】メモリ書込処理ルーチンの一例を示すフローチャート。
【図８】プリンタ１１０の構成の電気的接続を示すブロック図。
【符号の説明】
【００４３】
１０，１１０  プリンタ、１２  バス、２０  印刷デバイス、４０  操作パネル、４２  液晶ディスプレイ（ＬＣＤ）、４４  ボタン群、５０  メインコントローラ、５１  ＣＰＵ、５２  ＲＯＭ、５３  ＲＡＭ、５３ａ〜５３ｄ  第１バンク〜第４バンク、５４  メモリコントローラ、５５，１５５  ＤＭＡＰコントローラ、５５ａ〜５５ｈ  第１チャネル〜第８チャネル、５７  ＬＣＤコントローラ、５８  内部インタフェース、１５５ａ  チャネル、Ｓ  記録紙。
【図１】
2010055176.tif 000003
【図２】
2010055176.tif 000004
【図３】
2010055176.tif 000005
【図４】
2010055176.tif 000006
【図５】
2010055176.tif 000007
【図６】
2010055176.tif 000008
【図７】
2010055176.tif 000009
【図８】
2010055176.tif 000010