(57)【要約】【課題】アドレス空間を有効に活用することができる画像処理装置を提供すること目的とする。【解決手段】メインＣＰＵを含むメインＣＰＵ制御装置とサブＣＰＵを含むサブＣＰＵ制御装置とＰＣＩバスで接続し、前記メインＣＰＵ制御装置に電源が投入されていないときには前記サブＣＰＵ制御装置で前記メインＣＰＵ制御装置の一部の処理を行うように構成した画像処理装置において、前記サブＣＰＵ制御装置側がアクセス制御を行うフラッシュＲＯＭに対し、前記ＰＣＩバスを経由して前記メインＣＰＵ制御装置側からもアクセス可能に構成した。【選択図】        図１
2006259966.tif 000002
【特許請求の範囲】
【請求項１】
メインＣＰＵを含むメインＣＰＵ制御装置とサブＣＰＵを含むサブＣＰＵ制御装置とＰＣＩバスで接続し、前記メインＣＰＵ制御装置に電源が投入されていないときには前記サブＣＰＵ制御装置で前記メインＣＰＵ制御装置の一部の処理を行うように構成した画像処理装置において、
前記サブＣＰＵ制御装置側がアクセス制御を行うフラッシュＲＯＭに対し、前記ＰＣＩバスを経由して前記メインＣＰＵ制御装置側からもアクセス可能に構成したことを特徴とする画像処理装置。
【請求項２】
前記サブＣＰＵ制御装置側にバンクレジスタを設け、前記ＰＣＩバス経由でアクセス要求されるアドレスに対し、上位アドレスを前記バンクレジスタに設定されている値に置き換えてアクセス制御を行うことを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記サブＣＰＵの動作を止める手段をさらに備え、
前記メインＣＰＵがサブＣＰＵ制御装置のフラッシュＲＯＭをアクセスする際に、前記サブＣＰＵの動作を止めることを特徴とする請求項１記載の画像処理装置。
【請求項４】
前記ＰＣＩバス上に前記フラッシュＲＯＭをマッピングするサイズが４ｋＢであることを特徴とする請求項１記載の画像処理装置。
【請求項５】
前記サブＣＰＵ制御装置側にアドレスとデータのレジスタをさらに設け、
前記データレジスタに前記ＰＣＩバス経由でアクセスされた場合に、前記アドレスレジスタに設定されているアドレスにアクセスするようにしたことを特徴とする請求項１記載の画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メインＣＰＵを含むメインＣＰＵ制御装置とサブＣＰＵを含むサブＣＰＵ制御装置とＰＣＩバスで接続し、前記メインＣＰＵ制御装置に電源が投入されていないときには前記サブＣＰＵ制御装置で前記メインＣＰＵ制御装置の一部の処理を行うように構成した画像処理装置に関する。
【背景技術】
【０００２】
従来、メインＣＰＵを含むメインＣＰＵ制御装置とサブＣＰＵを含むサブＣＰＵ制御装置とＰＣＩバスで接続し、前記メインＣＰＵ制御装置に電源が投入されていないときには前記サブＣＰＵ制御装置で前記メインＣＰＵ制御装置の一部の処理を行うように構成した画像処理装置では、負荷の軽い処理をサブＣＰＵに行わせ、メインのＣＰＵを非動作状態に置くことで、消費電力の削減を図る方法がある。
【０００３】
この場合、サブＣＰＵ制御装置側にも、サブＣＰＵが実行するプログラムが格納されたフラッシュＲＯＭが構成されることが、メインＣＰＵ制御装置から、サブＣＰＵ制御装置側のフラッシュＲＯＭの内容を書き換えたいという要求がある。
【０００４】
例えば、特許文献１では、拡張ボード上のフラッシュＲＯＭをＰＣＩバスを経由してホストＣＰＵが書き換える方法が提案されており、また、特許文献２では、各システム内におけるそれぞれ個別のＣＰＵとメモリとを有する異なる個別のバス同士を、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）Ｂｕｓなどの標準バスを介して相互に接続し、前記個別のメモリに任意のタイミングにてアクセスする場合に、デッドロックを回避するようにしたものが提案されている。
【特許文献１】特開２００１−１０１００４号公報
【特許文献２】特開２００２−２８８１１９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、これらの従来装置では、ＰＣＩバス上に占有するアドレス空間を狭める方法について言及されていない。
【０００６】
すなわち、ＰＣＩバス空間も有限のアドレス空間であり、複数のボードが分け合って使用している状況で、ＰＣＩバス上に広大な空間を占有してしまうことは、他のホスト機器がアクセスする際に必要なメモリ空間を確保することができなくなる等の不具合を生じるおそれがある。
【０００７】
例えば、サブＣＰＵ制御装置内のフラッシュＲＯＭを書き換えるときのみメインＣＰＵ制御装置内のメインＣＰＵからＰＣＩバスを介してアクセスが必要であるが、それ以外の場合には、ＰＣＩバスを介してアクセスを行わないため、このような機能について固定的にアドレス空間を割り当てることは、アドレス空間を有効に活用するという観点から不具合を生じる。
【０００８】
本発明は、かかる実情に鑑みてなされたものであり、アドレス空間を有効に活用することができる画像処理装置を提供すること目的とする。
【課題を解決するための手段】
【０００９】
本発明は、メインＣＰＵを含むメインＣＰＵ制御装置とサブＣＰＵを含むサブＣＰＵ制御装置とＰＣＩバスで接続し、前記メインＣＰＵ制御装置に電源が投入されていないときには前記サブＣＰＵ制御装置で前記メインＣＰＵ制御装置の一部の処理を行うように構成した画像処理装置において、前記サブＣＰＵ制御装置側がアクセス制御を行うフラッシュＲＯＭに対し、前記ＰＣＩバスを経由して前記メインＣＰＵ制御装置側からもアクセス可能に構成したものである。
【００１０】
また、前記サブＣＰＵ制御装置側にバンクレジスタを設け、前記ＰＣＩバス経由でアクセス要求されるアドレスに対し、上位アドレスを前記バンクレジスタに設定されている値に置き換えてアクセス制御を行うようにしたものである。
【００１１】
また、前記サブＣＰＵの動作を止める手段をさらに備え、前記メインＣＰＵがサブＣＰＵ制御装置のフラッシュＲＯＭをアクセスする際に、前記サブＣＰＵの動作を止めるようにしたものである。
【００１２】
また、前記ＰＣＩバス上に前記フラッシュＲＯＭをマッピングするサイズが４ｋＢである。
【００１３】
また、前記サブＣＰＵ制御装置側にアドレスとデータのレジスタをさらに設け、前記データレジスタに前記ＰＣＩバス経由でアクセスされた場合に、前記アドレスレジスタに設定されているアドレスにアクセスするようにしたものである。
【発明の効果】
【００１４】
したがって、本発明によれば、ＰＣＩバス上に、フラッシュＲＯＭのサイズ分のマッピングを行わなくても、メインＣＰＵ側からフラッシュＲＯＭをアクセスすることができるので、ＰＣＩバス上に占有するアドレス空間を抑制することができるという効果を得る。
【発明を実施するための最良の形態】
【００１５】
以下、添付図面を参照しながら、本発明の実施の形態を詳細に説明する。なお、以下の説明中の信号名等についての役割等は、ＰＣＩの規格書等を参照のこと。
【００１６】
図１は、本発明の一実施例にかかる制御装置の一例を示している。この制御装置は、メインＣＰＵ（中央処理装置）制御装置１と、サブＣＰＵ制御装置２１を、ＰＣＩバスで接続した構成を持つ。
【００１７】
メインＣＰＵ制御装置１において、メインＣＰＵ２であり、装置全体の制御を行うためのものである。このメインＣＰＵ２は、後述のサブＣＰＵに比べ、処理性能は高いが、消費電力が大きい。
【００１８】
フラッシュＲＯＭ３であり、メインＣＰＵ２が実行するプログラムを格納するものであり、ＳＤＲＡＭ（シンクロナスＤＲＡＭ）４は、メインＣＰＵ２が処理を実行する際に用いられるメモリ空間を実現するためものである。
【００１９】
操作部Ｉ／Ｆ５は、この先に操作部（図示略）が接続され、マンマシンＩ／Ｆの一部を構成するものである。
【００２０】
スキャナＩ／Ｆ６は、この先に原稿画像を読み取るためのスキャナ（図示略）が接続され、スキャナとの間で種々のデータをやりとりするためのものである。
【００２１】
プロッタＩ／Ｆは、この先に原稿に画像を形成して記録出力するためのプロッタ（図示略）が接続され、プロッタとの間で種々のデータをやりとりするためのものである。
【００２２】
ＤＭＡＣ（ＤＭＡコントローラ）８は、操作部、スキャナ、プロッタ、および、ＰＣＩバスとＳＤＲＡＭ４との間で、高速にデータの転送を行うためのものである。
【００２３】
ＰＣＩブリッジ９であり、メインＣＰＵ制御装置１の内部バス１０とＰＣＩバス２０とのＩ／Ｆを行うためのものである。
【００２４】
サブＣＰＵ制御装置２１は、ネットワーク制御部等を持ち、メインＣＰＵ制御装置１に電源が供給されていない状態でも、ネットワークの応答を行う機能を備えている。また、ネットワークの状態によって、メインＣＰＵ装置１に処理を移す必要があると判断した場合、メインＣＰＵ装置１の電源制御装置（図示略）をコントロールして、メインＣＰＵ装置１を起動させる。
【００２５】
また、ＰＣＩバス２０には、オプションユニット２２〜２４が接続されている。このオプションユニット２２〜２４は、機器の機能拡張のためにオプション的に設けられるものである。
【００２６】
図２は、サブＣＰＵ制御装置２１の主要部分の構成を示したものであり、これ以外には、ローカルバス制御部（後述）の先にフラッシュＲＯＭ、ＳＲＡＭが接続されて、サブＣＰＵ制御装置２１が構成される。
【００２７】
同図において、ＰＣＩバス制御部２１は、後述のＰＣＩターゲット制御部３２、ＰＣＩイニシエータ制御部３３、ＰＣＩコンフィグ制御部３７とともに、ＰＣＩバス２０とのＩ／Ｆを行うためのものである。
【００２８】
ＰＣＩターゲット制御部３２は、サブＣＰＵ制御装置２１がターゲットになった時の制御を行うためのものである。
【００２９】
ＰＣＩイニシエータ３３は、サブＣＰＵ制御装置２１がイニシエータになった時の制御を行うためのものである。例えば、ネットワーク制御装置のデータをＤＭＡ転送する場合などでは、サブＣＰＵ制御装置２１がイニシエータとなる。
【００３０】
ネットワーク制御部３４は、ホストコンピュータ（図示略）とのＩ／Ｆを行う時に使用する。これのハンドリングは、メインＣＰＵ２の処理を必要としない場合には、メインＣＰＵ２を使用せずに、サブＣＰＵ３５のみで行う。
【００３１】
ローカルバス制御部３６は、この先に接続されている図示しないフラッシュＲＯＭ、ＳＲＡＭのアクセス制御を行う。
【００３２】
ＰＣＩコンフィグ制御部３７は、ＰＣＩバス２０のコンフィグ時のデータを格納するためのものである。
【００３３】
内部制御レジスタ３８は、サブＣＰＵ制御装置２１の制御に必要な内部レジスタがここに構成されている。
【００３４】
全体制御部３９は、サブＣＰＵ制御装置２１の全体の制御を行うためのものである。
【００３５】
図３は、サブＣＰＵ制御装置２１の中のローカルバス制御装置の内部構成の一例を示したものである。
【００３６】
同図において、要求アドレス保持レジスタ５１は、ＲＥＱ＿ＡＤＤＲの内容を保持するためのものである。ここで、ローカルバス上には、フラッシュＲＯＭとＳＲＡＭが存在するが、これに対するサブＣＰＵ３５、または、ＰＣＩバス２０からのアクセス要求のアドレスがＲＥＱ＿ＡＤＤＲに示され、この要求アドレス保持レジスタ５１に取り込まれる。
【００３７】
要求ライトデータ保持レジスタ５２は、ローカルバス上のデバイスに対する要求がライトである場合、前述のＲＥＱ＿ＡＤＤＲとともに、ＲＥＱ＿ＷＤにライトデータが示され、このＲＥＱ＿ＷＤの値を保持するためのものである。
【００３８】
タイミング制御部５３は、ＲＥＱ＿ＴＹＰＥの値により、それぞれ信号ＣＳ＿Ｎ，ＷＥ＿Ｎ，ＯＥ＿Ｎおよびそれ以外の各種の制御信号を発生するものである。通常、ＲＥＱ＿ＴＹＰＥにはＮＯＰを示す０が示されているが、ライト要求発生時には１、リード要求発生時には２が示される。１、２が示されるタイミングは、前述のＲＥＱ＿ＡＤＤＲに要求アドレスを示すのと同じタイミングである。
【００３９】
デコーダ５４は、要求アドレス保持レジスタ５１から出力される要求アドレスをデコードし、要求アドレスが、フラッシュＲＯＭかＳＲＡＭの領域か、もしくはバンクレジスタ５５、ＦＲＯＭ（フラッシュＲＯＭ）アドレスレジスタ５６かをデコードする。ここでデコードした結果は、前述のタイミング制御部５３に戻され、この結果に応じて制御信号が作成される。
【００４０】
バンクレジスタ５５は、ＣＰＵ、ＰＣＩバス２０から、０ｘ１１００＿００００にアクセスしたときに、このバンクレジスタ５５がアクセスされ、ライト時にはここにライトデータが書き込まれ、リード時には、このバンクレジスタ５５の初期値、または、最も最近にライトされたデータが読み出される。
【００４１】
また、０ｘ１２００＿００００から４ｋＢの空間にアクセスした場合、フラッシュＲＯＭへのアクセスとなるが、その場合の下位４ｋＢ以外は、バンクレジスタ５５に設定されている値が使用されて、フラッシュＲＯＭのアドレスが生成される。
【００４２】
ＦＲＯＭアドレスレジスタ５６は、０ｘ１３００＿００００にアクセスしたときに、このＦＲＯＭアドレスレジスタ５６がアクセスされ、ライト時にはここにライトデータが書き込まれ、リード時には、このＦＲＯＭアドレスレジスタ５６の初期値、または、最も最近にライトされたデータが読み出される。
【００４３】
また、０ｘ１４００＿００００の空間にアクセスした場合、フラッシュＲＯＭへのアクセスとなるが、その場合ＦＲＯＭアドレスレジスタ５６に設定されている値が使用されて、フラッシュＲＯＭのアドレスが生成される。
【００４４】
セレクタ５７、５８は、それぞれ入力される２つの信号のいずれかを選択して次段へ出力するためのものである。
【００４５】
これにより、ＷＤ［１５：０］に１６ビット幅のライトデータ、ＡＳＳＲＥＳＳ［１５：１］にアドレスが出力される。
【００４６】
図４は、フラッシュＲＯＭのプログラムの動作例を示す。
【００４７】
プログラムが開始されると、Ｗｒｉｔｅ  Ｐｒｏｇｒａｍ  Ｃｏｍｍａｎｄ  Ｓｅｑｕｅｎｃｅを行う（処理１０１；後述）。
【００４８】
次に、／Ｄａｔａをポーリングし（処理１０２）、Ｖｅｒｉｆｙが取れるまで処理１０２を繰り返し行う（判断１０３のＮＯループ）。Ｖｅｒｉｆｙが取れて、判断１０３の結果がＹＥＳになると、最後のアドレスかどうかを確認（判断１０４）し、最後のアドレスになるまで、アドレスをインクリメント（処理１０５）して、処理１０１へに戻る（判断１０４のＮＯループ）。
【００４９】
そして、最後のアドレスまでプログラムできれば（判断１０４の結果がＹＥＳ）、プログラム完了（処理１０６）である。
【００５０】
図５は、Ｗｒｉｔｅ  Ｐｒｏｇｒａｍ  Ｃｏｍｍａｎｄ  Ｓｅｑｕｅｎｃｅの一例を示している。
【００５１】
まず、アドレスに５５５ｈ、データにＡＡｈを出力し（処理２０１）、アドレスに２ＡＡｈ、データに５５ｈを出力し（処理２０２）、アドレスに５５５ｈ、データにＡ０ｈを出力する（処理２０３）。
【００５２】
そして、アドレスに実際に書き込みを行いたいアドレス、データに書き込みを行いたいデータを出力する（処理２０４）。
【００５３】
図６は、Ｗｒｉｔｅ  Ｐｒｏｇｒａｍ  Ｃｏｍｍａｎｄ  Ｓｅｑｕｅｎｃｅの部分のフラッシュＲＯＭに与える波形を示す。
【００５４】
１ｓｔ  Ｂｕｓ  Ｃｙｃｌｅで、Ａ（アドレス）に５５５ｈ、ＤＱ（データ）にＡＡｈを出力する（処理２０１）。
【００５５】
２ｎｄ  Ｂｕｓ  Ｃｙｃｌｅで、Ａ（アドレス）に２ＡＡｈ、ＤＱ（データ）に５５ｈを出力する（処理２０２）。
【００５６】
３ｒｄ  Ｂｕｓ  Ｃｙｃｌｅで、Ａ（アドレス）に５５５ｈ、ＤＱ（データ）にＡ０ｈを出力する（処理２０３）。
【００５７】
４ｔｈ  Ｂｕｓ  Ｃｙｃｌｅで、Ａ（アドレス）に実際に書き込みを行いたいアドレス、ＤＱ（データ）に書き込みを行いたいデータを出力する（処理２０４）。
【００５８】
図７は、ＰＣＩバス２０上の信号を示す。
【００５９】
最初のＦＲＡＭＥ＃＝Ｌで、ＡＤバスにＡＤ０、Ｃ／ＢＥ＃バスにＣＭＤ０（ここではライト）を出力し、ＩＲＤＹ＃とＴＲＤＹ＃がともにＬとなるところで、ＡＤバスにＷＤ０、Ｃ／ＢＥ＃バスにＢＥ０（全バイト有効）を出力する。
【００６０】
これにより、ＡＤ０アドレスに、ＷＤ０をライトしている。
【００６１】
その後のシーケンスとしても、同様に、ＡＤ１アドレスにＷＤ１をライト、ＡＤ２アドレスにＷＤ２をライト、ＡＤ３アドレスにＷＤ３をライトしている。
【００６２】
ここで、ＰＣＩバス上にフラッシュＲＯＭの全アドレス空間がマッピングされていて、０ｘ０アドレスから始まるとすると、
【００６３】
最初のＡＤ０＝ＡＡＡｈ（１６ビットのデータバス幅であるため、フラッシュＲＯＭに与えられるアドレスが右に１ビットシフトする＝５５５ｈとなる）／ＷＤ０＝ＡＡｈ、ＡＤ１＝５５４ｈ／ＷＤ１＝５５ｈ、ＡＤ２＝ＡＡＡｈ／ＷＤ２＝Ａ０ｈ、ＡＤ３＝「実際にフラッシュＲＯＭに書き込みたいアドレスを１ビット左シフトしたもの」／ＷＤ３＝ライトしたいデータとなる。
【００６４】
ここで、バンクレジスタ５５を経由して行う場合には、ＷＤ０の前に、予め、０ｘ１１００＿００００に、実際にフラッシュＲＯＭにアクセスしたいアドレスの下位１２ビットを捨てた値をライトしておく。
【００６５】
この状態で、ＡＤ０＝ＡＡＡｈ／ＷＤ０＝ＡＡｈ、  ＡＤ１＝５５４ｈ／ＷＤ１＝５５ｈ、ＡＤ２＝ＡＡＡｈ／ＷＤ２＝Ａ０ｈ、ＡＤ３＝「０ｘ１２００＿００００に実際にアクセスしたいフラッシュＲＯＭのアドレスの下位１２ビットを加えたもの」にライトする。
【００６６】
ここで、ＡＤ３＝０ｘ１２００＿００００にライトすることで、バンクレジスタの値に今回ライトした下位１２ビットが加算されてフラッシュＲＯＭにライトされる。これにより、バンクレジスタ５５経由で、ＰＣＩバス上にフラッシュＲＯＭの全てのアドレス空間をマッピングしないでも、アクセスできるようになる。
【００６７】
次に、ＦＲＯＭアドレスレジスタ経由で行う場合には、ＷＤ０、ＷＤ１、ＷＤ２、ＷＤ３のライトを行う前に、０ｘ１３００＿００００にライトして、フラッシュＲＯＭにアクセスするアドレスを設定し、その後、０ｘ１４００＿００００にアクセスすることで、ＦＲＯＭアドレスレジスタに設定されているアドレスにアクセスできる。
【００６８】
これにより、バンクレジスタ経由で、ＰＣＩバス上にフラッシュＲＯＭの全てのアドレス空間をマッピングしないでも、アクセスできるようになる。
【００６９】
以上のように、本実施例では、ＰＣＩバス上に、フラッシュＲＯＭのサイズ分のマッピングを行わなくても、メインＣＰＵ側からフラッシュＲＯＭをアクセスすることができるので、ＰＣＩバス上に占有するアドレス空間を抑制することができる。
【００７０】
また、サブＣＰＵ制御装置側にバンクレジスタを設け、ＰＣＩバス経由でアクセス要求されるアドレスに対し、上位アドレスを前記、バンクレジスタに設定されている値に置き換えて、アクセス制御を行うようにしているので、全てのアドレスをＰＣＩバス上にマッピングしなくても、サブＣＰＵ制御装置側がアクセス制御を行うフラッシュＲＯＭに対し、ＰＣＩバスを経由してメインＣＰＵ制御装置側からもアクセスすることができる。
【００７１】
また、サブＣＰＵの動作を止める手段を備え、メインＣＰＵ側からのサブＣＰＵ制御装置側フラッシュＲＯＭアクセス時に、サブＣＰＵの動作を止める様にしているので、サブＣＰＵから書き換え対象のフラッシュＲＯＭにアクセスしてしまうことを回避するため、サブＣＰＵを自分自身で持っているキャッシュ内で動作させたりする必要がなく、その他、不用意にサブＣＰＵが不適切な信号を出力してしまうことを回避することができる。
【００７２】
また、ＰＣＩバス上にフラッシュＲＯＭをマッピングするサイズが４ｋＢである。フラッシュＲＯＭへのコマンドは、データバスとアドレスバスを使用して、コマンドを供給する必要のあるものがあるが、４ｋＢ分のアドレス空間を持つ場合、１２ビット分制御でき、基本コマンド発行時にアドレスバス上に示さなければならないアドレス以外の情報を示せる。
【００７３】
また、サブＣＰＵ制御装置側にアドレスとデータのレジスタを設け、前記データレジスタにＰＣＩバス経由でアクセスされた場合に、前記アドレスレジスタに設定されているアドレスにアクセスする様にしているので、ＰＣＩバス上でのアドレス空間を最小にすることができる。
【図面の簡単な説明】
【００７４】
【図１】本発明の一実施例にかかる制御装置の一例を示したブロック図。
【図２】サブＣＰＵ制御装置２１の主要部分の構成を示したブロック図。
【図３】サブＣＰＵ制御装置２１の中のローカルバス制御装置の内部構成の一例を示したブロック図。
【図４】フラッシュＲＯＭのプログラムの動作例を示したフローチャート。
【図５】Ｗｒｉｔｅ  Ｐｒｏｇｒａｍ  Ｃｏｍｍａｎｄ  Ｓｅｑｕｅｎｃｅの一例を示したフローチャート。
【図６】Ｗｒｉｔｅ  Ｐｒｏｇｒａｍ  Ｃｏｍｍａｎｄ  Ｓｅｑｕｅｎｃｅの部分のフラッシュＲＯＭに与える波形を例示した波形図。
【図７】ＰＣＩバス２０上の信号を示す波形図。
【符号の説明】
【００７５】
１  メインＣＰＵ制御装置
２０  ＰＣＩバス
２１  サブＣＰＵ制御装置
５５  バンクレジスタ
５７，５８  セレクタ
【図１】
2006259966.tif 000003
【図２】
2006259966.tif 000004
【図３】
2006259966.tif 000005
【図４】
2006259966.tif 000006
【図５】
2006259966.tif 000007
【図６】
2006259966.tif 000008
【図７】
2006259966.tif 000009