JP4716167B2 - データ処理方法およびデータ処理装置並びに画像形成装置 - Google Patents

データ処理方法およびデータ処理装置並びに画像形成装置 Download PDF

Info

Publication number
JP4716167B2
JP4716167B2 JP2005091188A JP2005091188A JP4716167B2 JP 4716167 B2 JP4716167 B2 JP 4716167B2 JP 2005091188 A JP2005091188 A JP 2005091188A JP 2005091188 A JP2005091188 A JP 2005091188A JP 4716167 B2 JP4716167 B2 JP 4716167B2
Authority
JP
Japan
Prior art keywords
power saving
control unit
data
bus
state
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2005091188A
Other languages
English (en)
Other versions
JP2006276978A (ja
Inventor
將克 菊田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Fujifilm Business Innovation Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuji Xerox Co Ltd, Fujifilm Business Innovation Corp filed Critical Fuji Xerox Co Ltd
Priority to JP2005091188A priority Critical patent/JP4716167B2/ja
Publication of JP2006276978A publication Critical patent/JP2006276978A/ja
Application granted granted Critical
Publication of JP4716167B2 publication Critical patent/JP4716167B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Accessory Devices And Overall Control Thereof (AREA)
  • Power Sources (AREA)

Description

本発明は、データ処理方法およびデータ処理装置並びに画像形成装置に関する。より詳細には、プリンタや複写機などの画像処理機能を有する画像処理装置などのデータ処理装置や、画像処理装置を有する画像形成装置などに用いて好適な省電力(節電)制御が可能な仕組みにおける、データ転送と節電機能の関わりに関する。
近年では種々の電子機器において、様々な節電(省電力化ともいわれる)技術が用いられるとともに、効率の良い節電技術が求められており、様々な仕組みが考えられている。
たとえば、近年、環境に優しい製品の要求が強まり、プリンタや複写機などの電子機器においても待機時の消費電力削減の要求が一層大きくなっている。
この省電力化の仕組みにおいては、たとえばデータ転送が行なわれない期間は省電力モード(節電モードやスリープモードともいう)へ以降し、データ転送が検知された場合に省電力モードを解除することにより、通常モードでのデータ転送を可能にしつつ、省電力化を図る仕組みが考えられている。
なお、装置における“節電”とは、装置の極一部が動作可能にセットされ、他の大部分が電源断(オフ)の状態にあり、動作不能の状態にあることを意味する。
ここで、効率の良い節電技術の中身としては、たとえば、装置の使用中に必要に応じて節電を行なうことや、節電移行後には、できるだけ深い節電状態にするなどの、節電状態そのものに関わるもの(第1の節電技術という)と、節電状態からの復帰に関わるもの(第2の節電技術(特に復帰技術)という)に大別することができる。
第2の節電技術に関しては、たとえば、節電モードからの復帰に、割込信号を利用する仕組みが提案されている(たとえば特許文献1,2を参照)。
特開2001−180083号公報 特開2001−337838号公報
たとえば、特許文献1に記載の仕組みは、所定時間以上データ転送要求信号が出力されないと制御部へのクロック供給を停止させるスリープモードへ遷移させ、外部のホストコンピュータなどからデータを受信するとスリープモードを解除する専用の機能部を設ける仕組みとしている。また、この専用の機能部は、通信インタフェースにI/O機器が接続されている場合に、I/O機器から所定時間以上データ転送要求信号が出力されないと、制御部などへの電源供給を停止させる電源停止モードへ遷移させ、I/O機器からデータを受信すると電源停止モードを解除する仕組みとしている。
こうすることで、大幅に省電力を図るとともに、節電状態からの復帰時には、復帰処理が終了するまで上位装置に対してデータ送信を待機させることで、効率よい省電力制御とデータ送信が速やかに立ち上がり、正常に通信を行なうことができるようにしている。
また、特許文献2に記載の仕組みは、入力信号から所定の条件に従い入力信号のパターンを生成し、入力信号パターンと所定のパターンデータとを比較して両者が一致した場合に割込信号を発生させる専用の機能部を設けることで、制御部の動作を停止させて省電力化を図るスリープモードから起動状態に復帰させるための割込みの発生条件を、種々の環境変化に対応させる仕組みにしている。
しかしながら、特許文献1,2に記載の仕組みは、前述のような制御を行なうための専用の機能部を設ける必要があるため、汎用性に乏しい。たとえば、外部のI/O機器からデータを受信した際、データ転送を開始する前に割込みを発生する機能は、汎用のインタフェース基板には用意されていないため、通信インタフェース部に、ASIC(Application Specific Integrated Circuit ;特定用途向けIC)などのカスタマイズ部品を設計する必要がある。
一方で、コンピュータのインタフェースに見られる通り、新しいインタフェースが短期間に出てくるために、カスタマイズ部品の作り替えが短期間に発生してしまい、その都度カスタマイズ部品を設計すると、投資額が嵩むという問題がある。
他方で、投資額を抑制した場合には、カスタマイズ部品を使用しなければよいのであるが、その場合、汎用の通信インタフェース部品を使用せざるを得ず、先に指摘した通り、汎用の通信インタフェース部品には、データを受信した際、データ転送を開始する前に割込みを発生する機能を持たない。
結果的には、汎用の通信インタフェース部品を使用した場合でも、装置が節電状態にあるときに他のデバイスから確実にデータ受信できるようにするには、あまり深い節電状態に入れることができない、という問題が生じる。あまり深い節電状態に入れてしまうと、節電状態中にいきなりデータ転送を開始しようとしてしまい、たとえば節電状態から復帰していないメモリとの間でのデータ書込みや読出しがなされようとするので、装置が異常になるからである。つまり、投資額を抑制した場合には、汎用品を使用せざるを得ず、省電力化を効果的に実現することと、節電状態からの正常な復帰を安全に実現することの両立が困難になるという問題が生じる。
本発明は、上記事情に鑑みてなされたものであり、汎用品を用いても、省電力化を効果的に実現することができるとともに、節電状態からの復帰を適切に行なうことのできる仕組みを提供することを目的とする。
本発明に係る仕組みにおいては、先ず、データ処理を行なうデータ処理装置が節電状態のときには転送対象データを送信(転送)するデバイスが信号線を使用できないような状態に設定しておく。そして、節電状態のときにあるデバイスから転送対象データを受信した際には、データ処理装置を節電状態から復帰させるとともに、そのデバイスに信号線の使用権を与え、データ処理装置が節電状態から復帰したときに、転送対象データを送信するデバイスが信号線を使用できる状態に設定する。
たとえば、受信したデータを転送するデバイスが信号線を使用できないような状態に設定するには、信号線を使用状態に設定する手法を採るのがよい。この場合、全体としては、装置が節電状態のときには信号線を使用状態に設定しておき(信号線使用禁止ステップという)、節電状態のときに任意のデバイスからデータを受信した際には、装置を節電状態から復帰させ(節電復帰ステップという)、そのデバイスに信号線の使用権を与える(使用権設定ステップ)。また、データ処理装置が節電状態から復帰したときに信号線を使用状態から未使用状態に設定する(信号線使用許可ステップという)。使用権設定ステップと信号線使用許可ステップとでは、データ転送に必要な箇所の節電状態を解除する。
つまり、本発明に係る仕組みにおいては、節電の制御に際して、信号線の使用状態をも制御することで、省電力化を効果的に実現することと、節電状態からの正常な復帰を安全に実現することの両立を図る。
好ましくは、節電復帰ステップにて、同時に使用権設定ステップを実行して、デバイスに信号線の使用権を与えておき、その後の信号線使用許可ステップにて、信号線を使用状態から未使用状態に設定するのがよい。
もちろん、信号線使用許可ステップにて、同時に使用権設定ステップを実行することで、信号線使用許可ステップにて信号線を使用状態から未使用状態に設定する動作とデバイスへの信号線の使用権の付与を同時に行なうようにしてもよい。
本発明においては、共用の信号線をあるデバイスが使用中のときに、他のデバイスはその信号線を使用できないことを前提とする。このように、信号線を使用状態にするか否の仕組みは、信号線を複数のデバイスで共有する場合に基本的に使用される仕組みである。そして、装置が節電状態のときには信号線を使用状態に設定しておくことで、装置が節電状態のときにデータ転送要求を受け付けても、節電状態から通常状態に適切に戻るまでは、たとえ信号線の使用権がデータ転送要求を発したデバイスに付与されたとしても、実際のデータ転送の開始を禁止する。つまり、節電中は、信号線を使用状態としておくことで、他のデバイスがデータ転送を行なうことができないような仕組みにする。
本発明によれば、節電の制御に際して、節電中は信号線を使用状態にすることで節電中にデータ転送がなされることを回避することができる。よって、省電力化を効果的に実現することと節電状態からの正常な復帰を安全に実現することの両立を図ることができる。
加えて、信号線を使用状態にするか否の仕組みは、信号線を複数のデバイスで共有する場合に基本的に使用される仕組みであり、特許文献1,2に記載の仕組みとは異なり、通信インタフェース部に特殊な構成を必要としない。換言すれば、通信インタフェース部に汎用品を用いても、省電力化を効果的に実現することができるとともに、節電状態からの復帰を適切に行なうことができる。
以下、図面を参照して本発明の実施形態について詳細に説明する。
<データ処理装置の概要>
図1は、本発明に係るデータ処理装置の一実施形態の構成例を示す図である。本実施形態のデータ処理装置3は、信号を送受信するためのバス(Bus;共有信号線)40を複数のデバイスで共有しつつ、一方のデバイスから他方のデバイスへデータを送受信することで所定のデータ処理を行なうものである。バス40は、メモリ用のバスであるメモリバスとI/Oデバイス用のバスであるI/Oバスとを含む。
ここで、本実施形態のデータ処理装置3は、当該データ処理装置3の全体を制御するコントローラ部31と、当該データ処理装置3内の他のデバイスや図示しない外部のI/O(入出力)デバイスとの間のインタフェース機能をなすI/Oインタフェース部35と、節電機能に関わる信号線制御部の一例である節電制御部36とが、バス40を共有するように構成されている。I/Oインタフェース部35としては、1つに限らず複数が設けられてよい。
コントローラ部31は、たとえば、CPU(Central Processing Unit )31aや、ROM(Read Only Memory)およびDRAM(Dynamic RAM )を含むRAM(Random Access Memory)31bを有するメモリ部や、あるいはDMAC(Direct Memory Access Controller )31cを有する。CPU31aは、種々のクロック信号を生成するPLL(Phase Locked Loop ;位相同期)回路31dを内蔵している。
また、コントローラ部31は、バス40の使用要求を受けてバス要求を調停する、つまりバス40の使用権を制御する使用権制御部32を有する。使用権制御部32は、I/Oインタフェース部35からのデータ受信信号S3やその他のデバイス(節電制御部36やDMACを含む)からのデータ受信信号を受け付けると、複数のデバイスでの競合使用が起きないようにバス調停を行なって、何れか1つのデバイスのみにバス40の使用権を示すバス使用許可信号S4を送る。
なお、データ受信信号S3は、I/Oインタフェース部35が節電中に転送すべきデータを受け付けたことを示すものであればよく、たとえば、データ受信をトリガとしてデータ転送要求信号REQを生成してもよいし、データ受信をトリガとして送出データがあることを示すデータ有効信号DV(Data Valid)を生成してもよい。
本実施形態では、データ処理装置3が節電状態のときにI/Oインタフェース部35が外部のI/O装置からデータを受信した際の節電状態からの復帰とデータ転送の開始に着目して、図では、データ受信信号S3やバス使用許可信号S4を、I/Oインタフェース部35についてのみ示す。
また、コントローラ部31は、複数のデバイス間で使用される1つの資源(リソース)であるバス40を使用したいという要求が複数存在する場合に、それらを調停してそれぞれの要求を満たしていくアービトレーション(Arbitration )処理を行なうバス調停部(バスアービタ)や、バス40やその他の信号のインタフェース機能をなすブリッジ部などが設けられることもある。本構成例では、先にも説明したように、使用権制御部32が、バス調停部の機能を担当することになる。なお、DMAC31cがバス調停部の機能を担当してもよい。
また、コントローラ部31は、節電状態からの復帰処理を行なう節電解除処理部34を有する。節電解除処理部34は、先ず、節電モードからの復帰指示を示す節電解除要求信号(節電解除トリガ)S1を受け付ける節電解除トリガ検出部34aを有する。節電解除要求の一例としては、SMI(System Management Interrupt )割込みが用いられ、コントローラ部31には、節電解除要求信号S1としての割込信号SMI用の入力端子SMIIを有する。また、節電解除処理部34は、節電解除トリガ検出部34aが受信した節電解除要求に応答した節電解除通知信号S2を発する節電解除通知送信部34bを有する。節電解除通知信号S2としては、たとえばスリープ信号や節電信号(あるいは節電解除信号)が用いられ、コントローラ部31には、その節電解除通知信号S2用の出力端子S2Oを有する。使用権制御部32や節電解除処理部34は、たとえば、CPU31aが、それら機能を担当するように構成するのがよい。
節電制御部36は、装置が節電状態(節電モードへの移行段階から完全に復帰するまでを含む)のときには、複数のバスデバイスが共用するバス40を使用してバスデバイスの一例である汎用I/O_LSI156が他のバスデバイスにデータを転送することを禁止する機能を持っている。たとえば、データ処理装置3が節電状態のときにはバス40を使用状態に設定しておき、節電状態のときに所定のデバイスからデータを受信した際には、データ処理装置3を節電状態から復帰させ、この後、データ処理装置3が節電状態から復帰したときにバス40を使用状態から未使用状態に設定する機能を有している。
ここで、あるデバイスがバス40を使用中には、他のデバイスはそのバス40を使用できない。つまり、ある瞬間にバス40バスを使用できるのは1つのデバイスだけである。なお、“バス”は、コンピュータなどが利用する様々なデバイスの間で信号を送受信するために設けた信号線やそれに付随する回路の総称であり、データを格納する場所を示すアドレスバスと、実際に処理する情報を伝送するデータバスの何れをも含む。通常は16ビットや32ビットなど、一定幅のビット数の信号を並行して伝送する。また、バスの形態や目的により、幾つかに分類できるが、本実施形態においては、解決課題の観点から、たとえばCPU内でレジスタと演算器などを結ぶローカルバスは問題とせずに、CPU31aとメモリ部31bや各種インタフェースとを接続する、あるいはコンピュータに拡張カードを装着するための拡張バスなどに着目する。
節電制御部36は、I/Oデバイス(本例ではI/Oインタフェース部35)から発せられるデータ受信信号S3を監視するデータ転送要求監視部37と、データ処理装置3が節電状態のときにデータ転送要求監視部37がデータ受信信号S3を検知したときにデータ処理装置3を節電状態から復帰させる復帰処理部38とを有している。また、節電解除要求信号S1としての割込信号SMI用の出力端子SMIOと、節電解除通知信号S2用の入力端子S2Iを有する。
データ転送要求監視部37は、データ受信信号S3を検知すると、そのことを復帰処理部38に通知する。これを受けて、復帰処理部38は、節電解除トリガ検出部34aへの入力信号である節電解除要求信号S1(としての割込信号SMI)を出力端子SMIOから発する。つまり、節電制御部36は、外部のI/Oデバイスからのデータ転送要求に対応するデータ受信信号S3から節電解除トリガ検出部34aへの節電解除要求信号S1を作ることで、データ処理装置3の節電状態の解除を行なう。
また、復帰処理部38は、データ処理装置3が節電状態のときには、復帰処理部38単独でバス40を使用してデータ転送を行なうことでバス40を使用状態に設定する。また、復帰処理部38は、節電解除通知信号S2をコントローラ部31から入力端子S2Iで受け取ると、バス40を使用状態から未使用状態に設定する。
つまり、復帰処理部38は、バスマスタデバイスとターゲットデバイスの両機能を持つ、換言すれば、バスマスタデバイスとターゲットデバイスが同一のデバイスで構成されるものであり、バスマスタデバイスからターゲットデバイスへのバス40を介したデータアクセスを行なうことでバス40を使用状態に設定し、節電状態から解除されると、バスマスタデバイスからターゲットデバイスへのバス40を介したデータアクセスを中止することで、バス40を他のデバイスに開放する。
<データ処理装置の節電処理の概要>
図2は、図1に示したデータ処理装置3における節電処理手順の概要を示したフローチャートである。
通常状態中に所定の条件にてデータ処理装置3が節電モードへの移行指示がなされると、節電モードからの復帰に必要な最低限の機能部分やデータ破壊防止用の回路(たとえばDRAMのリフレッシュ回路など)など必要最低限の部分のみを動作させ、コントローラ部31だけでなく復帰処理部38を含むデータ処理装置3の大部分が節電状態に入る(S1)。
節電モードからの復帰に必要な最低限の機能部分としては、I/Oインタフェース部35における外部機器からのデータを受け付ける機能に関わる機能部分(データ受信部やデータ受信信号S3を生成する機能部分)や、節電制御部36や、節電解除トリガ検出部34aなどである。
処理装置3が節電中には、バスマスタデバイスからターゲットデバイスへのデータアクセスをバス40にて行なうことで(つまりバスアクセスにて)バス40を使用状態として、他のデバイスがバス40を使用してデータ転送を行なうことができないように設定する(S2)。復帰処理部38は、I/Oインタフェース部35が外部のI/O装置からデータ転送を要求されたことを示すデータ受信信号S3を、データ転送要求監視部37が検知するまで待機する(S5−NO)。
I/Oインタフェース部35は、データ処理装置3が節電中に、外部のI/O装置からデータを受信すると(S3−YES)、データ受信信号S3をコントローラ部31の使用権制御部32に送る(S4)。これを受けて、コントローラ部31の使用権制御部32は、I/Oインタフェース部35に対して、バス使用許可信号S4を送ることでバス40の使用権を与える(S4)。I/Oインタフェース部35は、バス40の使用権を与えられても、復帰処理部38によってバス40が使用されているので、バス40の使用状態が解除されるまではデータ転送ができない(S10−NO)。
復帰処理部38は、データ処理装置3が節電状態にあるときに、I/Oインタフェース部35が外部のI/O装置からデータ転送を要求されると(S5−YES)、そのことを示すデータ転送要求監視部37が検知したデータ受信信号S3に基づきコントローラ部31の節電解除トリガ検出部34aに節電解除要求信号S1を送る(S6)。コントローラ部31は、節電解除トリガ検出部34aにて節電解除要求信号S1を受け取ると、節電制御部36を節電状態から復帰させ通常状態に戻した後に、節電解除通知送信部34bにて節電解除通知信号S2を復帰処理部38に送る(S7)。
復帰処理部38は、節電解除要求信号S1に応答した節電解除通知信号S2を節電解除通知送信部34bから受け取ってから、節電制御部36を節電状態から復帰させ通常状態に戻す(S8)。また、復帰処理部38は、節電状態の解除が完全に完了すると、バス40を使用状態から未使用状態に設定する(バス40の使用状態を解除する)ことで、I/Oインタフェース部35にデータ転送を許諾する(S9)。
つまり、復帰処理部38は、I/Oインタフェース部35(つまり外部のI/Oデバイス)とメモリ部もしくはI/Oインタフェース部35やバス40を介したI/Oデバイス間でデータ転送を行なう前に、データ処理装置3のデータ転送に必要な箇所を、節電状態から所定の順で段階的に復帰させる。
I/Oインタフェース部35は、既にバス40の使用権を与えられているので、復帰処理部38によってバス40の使用状態が解除される(つまりバスがアイドル状態になる)と(S10−YES)、コントローラ部31のメモリなどへ、外部のI/O装置から受信したデータの転送を直ちに開始する(S11)。
以上のステップを踏むことで、データ処理装置3は安全に節電状態へと移行することが可能であると同時に、節電中に意図しないデータ転送がバス40上で行なわれることを防ぐことができる。結果として、データ処理装置3を安全に節電状態に入れ、また、必要に応じて安全に復帰させた後にデータ転送を開始することができる。
<データ処理システムの全体構成;PCI利用>
図3は、本発明に係る画像形成装置を備えたデータ処理システムの一実施形態の構成例を示す図である。本実施形態のデータ処理システム1は、本発明に係るデータ処理装置3を画像処理装置として備えた画像形成装置の一実施形態として、画像形成部300を有するプリンタの構成にしている。
図3では、CPUやメモリを利用してソフトウエア的に画像形成処理を行なう機能を持つ画像形成装置2を構成する、すなわちパーソナルコンピュータなどのコンピュータ(電子計算機)の機能を利用して画像形成処理をソフトウエア的に実現する場合のハードウエア構成の一例を示している。
データ処理装置3は、複数のデバイスで共有する信号線(図1のバス40に相当)として、PCI(Peripheral Component Interconnect )バスを利用した構成としている。ただし、これは一例であって、本発明に係るデータ処理装置は、PCIバス以外の共有信号線で構成されていてもよいし、プリンタに限らず、CPUなどの制御装置により制御されるあらゆる装置であってよく、様々なデータ処理装置を用いて、データ処理システムを構築することができる。
図示するように、本実施形態のデータ処理システム1は、データ処理装置3を含みプリンタとして構成された画像形成装置2と、他の外部装置5とが通信ネットワーク9により接続されて構成されている。外部装置5としては、たとえば、パーソナルコンピュータ(PC;Personal Computer)やその他の電子計算機で構成されたホスト装置が用いられる。図示した例では、2台のホスト装置5a,5bが通信ネットワーク9に接続されている状態を示しているが、その台数は2台に限らず、1台であってもよいし、3台以上であってもよい。
画像形成装置2は、内部コントローラ部100を主要部とするデータ処理装置3と、処理済みの画像を所定の出力媒体(たとえば印刷用紙)に出力する画像形成部300とを備えている。
図示を割愛するが、たとえば、スキャナ装置などの画像読取部をも設けることで、画像形成装置2を複写装置として構成することもできる。また、図示を割愛するが、カスタマーインタフェースをなす機能部としての指示入力部と、操作時のガイダンス画面や処理結果などの所定の情報をカスタマーに提示する表示出力部とが設けられる。
内部コントローラ部100は、パーソナルコンピュータなどの電子計算機と同様の構成にしている。画像形成部300に、画像形成処理を行なわせるに当たって、電子計算機の仕組みを利用することで、その機能を実現するプログラムコードに基づき電子計算機を用いてソフトウエア的に画像形成処理機能を実現することができるようになる。ソフトウエアにより画像形成処理機能を実行させる仕組みとすることで、ハードウエアの変更を伴うことなく、処理手順などを容易に変更できる利点を享受できるようになる。
電子計算機に一連の画像形成処理機能をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、専用のハードウエアに組み込まれているコンピュータ(組込マイコンなど)、あるいは、CPU、論理回路、記憶装置などの機能を1つのチップ上に搭載して所望のシステムを実現するSOC(System On a Chip:システムオンチップ)、または、各種のプログラムをインストールすることで各種の機能を実行することが可能な汎用のパーソナルコンピュータなどに、記録媒体からインストールされる。
記録媒体は、コンピュータのハードウエア資源に備えられている読取装置に対して、プログラムの記述内容に応じて、磁気、光、電気などのエネルギの変化状態を引き起こして、それに対応する信号の形式で、読取装置にプログラムの記述内容を伝達できるものである。
たとえば、コンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク(フレキシブルディスクFDを含む)、光ディスク(CD−ROM(Compact Disc-Read Only Memory )、DVD(Digital Versatile Disc)を含む)、光磁気ディスク(MD(Mini Disc )を含む)、または半導体メモリなどよりなるパッケージメディア(可搬型の記憶媒体)により構成されるだけでなく、コンピュータに予め組み込まれた状態でユーザに提供される、プログラムが記録されているROMやハードディスクなどで構成されてもよい。
また、ソフトウエアを構成するプログラムは、記録媒体を介して提供されることに限らず、有線あるいは無線などの通信網を介して提供されてもよい。
たとえば、画像形成処理機能を実現するソフトウエアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、ハードウエア処理回路にて構成する場合と同様の効果は達成される。この場合、記憶媒体から読み出されたプログラムコード自体が画像形成処理機能を実現する。
また、コンピュータが読み出したプログラムコードを実行することで、画像形成処理を行なう機能が実現されるだけでなく、プログラムコードの指示に基づき、コンピュータ上で稼働しているOS(Operating Systems ;基本ソフト)などが実際の処理の一部または全部を行ない、その処理により画像形成処理を行なう機能が実現される場合であってもよい。
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行ない、その処理によって画像形成処理を行なう機能が実現される場合であってもよい。
なお、画像形成処理を行なう機能を実現するプログラムコードを記述したファイルとしてプログラムが提供されるが、この場合、一括のプログラムファイルとして提供されることに限らず、コンピュータで構成されるシステムのハードウエア構成に応じて、個別のプログラムモジュールとして提供されてもよい。
内部コントローラ部100は、演算制御機能の中心を司るものであって、システム全体の制御を行なうCPU110と、データを記憶するメインメモリ部120と、メインメモリ部120からCPU110へのデータの読み込みを高速化するためのキャッシュメモリ(Cache Memory)130とを備えている。
また内部コントローラ部100は、バス調停制御部140と、各機能部との間のインタフェース機能をなすインタフェース部(I/F部)150と、本実施形態の特徴部分である節電制御処理を行なう節電制御部160とを有する。
図1との対応では、CPU110、メインメモリ部120、キャッシュメモリ130、およびバス調停制御部140とで、コントローラ部31が構成される。また、インタフェース部150がI/Oインタフェース部35に対応する。また、節電制御部160が、節電制御部36に対応する。
メインメモリ部120としては、随時書込みおよび読出しが可能であるとともに揮発性の記憶部の一例であるRAMを用いている。特に本実施形態では、RAMの一態様であるDRAMとして、第1DRAM122および第2DRAM124の2つを用いている。
メインメモリ部120は、プログラム制御変数や各種処理のためのデータなどを格納する。また、メインメモリ部120は、所定のアプリケーションプログラムによって取得した電子ドキュメント(文字データのみに限らず画像データを含んでよい)や自装置で取得した画像データ、さらには外部から取得した電子データなどを一時的に格納する領域を含んでいる。
なお、図では図示を割愛しているが、記憶部として、RAM以外にも、制御プログラムやパラメータなどを格納する読出専用の不揮発性の記憶部であるROMが設けられる。
上記において“揮発性の記憶部”とは、データ処理装置3の電源がオフされた場合には、記憶内容を消滅してしまう形態の記憶部を意味する。一方、“不揮発性の記憶部”とは、データ処理装置3のメイン電源がオフされた場合でも、記憶内容を保持し続ける形態の記憶部を意味する。記憶内容を保持し続けることができるものであればよく、半導体製のメモリ素子自体が不揮発性を有するものに限らず、バックアップ電源を備えることで、揮発性のメモリ素子を“不揮発性”を呈するように構成するものであってもよい。また、半導体製のメモリ素子により構成することに限らず、磁気ディスクや光ディスクなどの媒体を利用して構成してもよい。たとえば、ハードディスク装置を不揮発性の記憶部として利用できる。
バス調停制御部140は、バス調停回路を用いてバス要求を調停するアーキテクチャを採用するために用いられており、一例として、バス調停を行なうバスアービタ142と、バスアービタ142とCPU110やメインメモリ部120などとの間に介在してデータの受け渡しを中継するバスブリッジ部144とを有している。
メインメモリ部120や図示を割愛したROMはメモリバス158にてバスブリッジ部144に接続され、インタフェース部150や節電制御部160は、I/Oバス159にてバスブリッジ部144に接続されている。メモリバス158およびI/Oバス159は、アドレスバスとデータバスとを含む。
なお、バスアービタ142は、本実施形態のように、バスブリッジ部144の外部に独立した回路として設ける場合もあるし、図示を割愛するが、バスブリッジ部144に内臓される場合もある。
また本実施形態では、CPU110およびメインメモリ部120の双方に節電機能が設けられるものとするが、これに限定されず、たとえば、CPU110のみに節電機能があってもよい。メインメモリ部120はメモリコントローラを含むメモリ装置を広く指し、メモリコントローラに節電機能を設けた場合にも、ここでいう節電機能付きのメモリに含まれる。なお、メモリコントローラは、メインメモリ部120内にあることに限らず、たとえばバスブリッジ部144に配されることもある。
インタフェース部150としては、画像形成部300などの画像機器とのインタフェースを司るビデオI/F部152と、外部のI/O装置(図ではホスト装置5aや通信ネットワーク9と接続されるその他の機器)とのインタフェースを司るI/O_ASIC(特定用途向けIC)154と、I/O_ASIC154では提供できていない新たなI/F_LSIである汎用I/O_LSI156とを有している。
なお、I/O_ASIC154と節電制御部160との間の汎用バス157、メインメモリ部120とバスブリッジ部144との間のメモリバス158、あるいはビデオI/F部152、I/O_ASIC154、および汎用I/O_LSI156とバスブリッジ部144との間のI/Oバス159もインタフェース部150に含まれるものと考えてもよい。
I/O_ASIC154は、たとえばインターネットなどのネットワークとの間の通信データの受け渡しを仲介するネットワークI/F部154a、シリアルデータの受け渡しを仲介するUSB(Universal Serial Bus)_I/F部154b、およびパラレルデータの受け渡しを仲介するパラレルI/F部154cの各インタフェース機能部を有する。
また、I/O_ASIC154は、各I/F部154a,154b,154cを介して外部のI/O装置(ホスト装置5aなど)からデータを受信したときに、CPU110に割込みを発生させて節電状態から復帰させる機能を持ち、CPU110が節電状態から完全に復帰してから所望のデータ転送を開始する。
汎用I/O_LSI156は、I/O_ASIC154が関知しない外部I/O装置とのインタフェースを司るもので、節電制御部160が存在しない場合において、これをPCI(Peripheral Component Interconnect )のI/Oバス159に直接接続した場合には、I/O_ASIC154を利用した節電復帰機能を有効に活用することができないので、結果的には、汎用I/O_LSI156を介してのデータ受信ができるように、CPU110を浅い節電モードにしか入れることしかできない。この問題を解決するために、本実施形態では、節電制御部160を設けている。
節電制御部160は、PCIマスタデバイスである第1節電制御部162と、PCIターゲットデバイスである第2節電制御部164とを有して構成されている。主に第2節電制御部164が、図1に示したデータ転送要求監視部37および復帰処理部38の機能を担うが、節電中にI/Oバス159使用状態にするのは、第1節電制御部162と第2節電制御部164との共同作業による。
インタフェース部150内の各I/F部152〜156や節電制御部160内の各節電制御部162,164などの各PCIデバイスは、I/Oバス159と接続されている。また、バスアービタ142とインタフェース部150内の各I/F部152〜156や第1節電制御部162などの各PCIデバイスとの間では、要求信号NREQと許可信号NGNTの受け渡しがある。たとえば、バス調停制御部140のバスアービタ142は、各PCIデバイスからの要求信号NREQを対応するNREQ入力端子(図中に0〜3の参照子を付して示す)で受け、対応するNGNT出力端子(図中に0〜3の参照子を付して示す)から、唯一のデバイスにのみ許可信号NGNTを与える。PCIデバイスは許可信号NGNTを受け取った場合にのみI/Oバス159の使用権を得、I/Oバス159を使用することが可能となる。
なお、NREQ0,NGNT0は第1節電制御部162用であり、NREQ1,NGNT1は汎用I/O_LSI156用であり、NREQ2,NGNT2はI/O_ASIC154用であり、NREQ3,NGNT3はビデオI/F部152用である。
また、本実施形態においては、SMI割込みを利用するI/O_ASIC154をも搭載した構成としており、I/O_ASIC154は、節電中にPCIバスの使用が必要な場合には割込信号NSMIを先に出す仕組みができているため、節電制御部160にI/O_ASIC154の割込信号NSMIを入力して内部状態との矛盾が発生しないようにしている。具体的には、I/O_ASIC154のNSMI端子と第2節電制御部164のNSMI入力端子(図ではNSMIIと記す)との間は、割込信号NSMIの受け渡しがある。また、第2節電制御部164のNSMI出力端子(図ではNSMIOと記す)とCPU110のNSMI端子との間では、割込信号NSMIの受け渡しがある。さらに、第2節電制御部164のNQAK端子とCPU110のNQAK端子との間では節電信号NQACKの受け渡しがある。
たとえば、 詳細は後述するが、I/O_ASIC154がホスト装置5aからデータを受信したら第2節電制御部164を介してCPU110にSMI割込みを行ない、CPU110に節電復帰動作を開始させて節電信号NQACKをネゲートしてスリープモードから完全に復帰させ、これに応じて汎用I/O_LSI156を介したI/Oバス159へのデータ転送を可能にする。
また、詳細は後述するが、本実施形態特有の機能として、節電制御部160は、節電(スリープ)モード中はI/Oバス159を使用状態(ビジー状態)としておく。この節電中のバス使用状態を作る方策として、バスマスタデバイスである第1節電制御部162からターゲットデバイスである第2節電制御部164へのデータアクセスを行なうことで実現する。なお、バスマスタデバイス(第1節電制御部162)とターゲットデバイス(第2節電制御部164)とは、本実施形態のように、独立したデバイスで構成されることに限らず、同一のデバイスで構成されていてもよい。同一のデバイスで構成すれば、よりコンパクトになる。
また、第2節電制御部164は、汎用I/O_LSI156とバスアービタ142との間の要求信号NREQ1を監視しており、汎用I/O_LSI156がホスト装置5bからデータを受信したら、第2節電制御部164を介してCPU110にSMI割込みを行なう。これにより、CPU110に節電復帰動作を開始させてスリープモードから完全に復帰させるともに、I/Oバス159のビジー状態を解除する。このとき、第1節電制御部162は、バスアービタ142にバス要求(要求信号NREQ0)を送り、バスアービタ142はこの要求信号NREQ0に対するバス許諾通知(許可信号NGNT1)を汎用I/O_LSI156に送るようにし、これに応じて汎用I/O_LSI156を介したI/Oバス159へのデータ転送ができるようにする(詳細は後述する)。
なお、本実施形態においては、節電モード移行中のバスパーキングを汎用I/O_LSI156以外にする。これは、I/O_ASIC154が対応できない外部I/O装置用のインタフェース部である汎用I/O_LSI156がパーキングデバイスである場合には、既にPCIバスが獲得できているために要求信号NREQを出力することなくデータ転送をしてもよいことがPCIの仕様で唄われており、結果として不具合を起こしてしまう問題を回避するためである。
このような構成において、プリンタとして構成された画像形成装置2は、リモートのホスト装置(パーソナルコンピュータ)5aとネットワークI/F部154aを介して接続され通信ネットワーク9から印刷ジョブを受け付ける。あるいはスタンドアローンのホスト装置5aにUSB_I/F部154bまたはパラレルI/F部154cを介して接続され、ホスト装置5aから印刷ジョブを受け付ける。あるいは、スタンドアローンのホスト装置5bに汎用I/O_LSI156を介して接続され、ホスト装置5bから印刷ジョブを受け付ける。
<節電中にデータ転送されることの問題説明>
図4および図5は、節電中にデータ転送されることの問題を説明する図である。ここで、図4は、節電制御部160を設けない場合における節電機能の問題点を説明する図である。また、図5は、図4における節電機能の問題を解決する一手法を説明する図である。
図3に示したデータ処理装置3において、消費電力を削減する一手法として、I/O_ASIC154や節電制御部160を設けることなく、図4(A)に示すように、CPU110やメインメモリ部120内のDRAM122,124をスリープモードやセルフリフレッシュモードなどといった回路素子に組み込まれた省エネ機能を使用する方法を採る。これは、省電力化の手法として一般的に知られた手法である。
一方、図4(B)に示すように、CPU110をスリープモードなどの深い節電状態(最も省エネ効果が高い状態)に入れた場合には、データバスが動作することだけでは節電を解除する条件とはならないため、結果として、メインメモリ部120内のDRAM122,124のセルフリフレッシュを解除せずにデータ書込みを実施してしまうことが起こり得る。この場合、データが破棄される現象や、キャッシュメモリ130がコヒーレンシ(一貫性)を維持するためのバススヌープ(Bus Snoop )を行なわないために、キャッシュメモリ130内データとDRAM122,124内のデータとの間に不整合が生じる現象が発生する。
この問題を回避するべく、本実施形態では、図5(A)に示すように、外部I/O装置とのインタフェースを司るI/O_ASIC154を設けることが考えられる。これは、外部I/O装置からデータを受信した際、データ転送を開始する前に割込みを発生する機能は、汎用にI/F部品にはないため、ASICなどのカスタマイズ部品を設計する必要があるためである。なお、このような仕組みにする際には、たとえば、特開2001−180083号公報や特開2001−337838号公報(特に前者)に記載の仕組みを利用するとよい。
図5(B)は、この場合の節電モード移行と復帰動作の処理手順の一例を示している。図示するように、通常モード時にはCPU110をフルパワーにしておき、節電モード設定がされると、CPU110をスリープ状態とする節電状態に移行するとともに、I/O_ASIC154は節電モードに移行する。
I/O_ASIC154は、節電モード中に、ホスト装置5aからデータを受信したらCPU110にSMI割込みを掛け、CPU110をスリープモードからフルパワー状態に復帰させ、I/O_ASIC154との間で節電復帰処理を行なう。
これにより、I/O_ASIC154が、通常モードになると、メインメモリ部120(DRAM122,124)との間でのDMA(Direct Memory Access)転送を開始可能にする。これに応じてホスト装置5aはI/O_ASIC154を介してI/Oバス159にデータを転送することでCPU110へのデータ転送が可能になる。
しかしながら、パーソナルコンピュータのインタフェースに見られる通り、新しいインタフェースが短期間に出てくるために、I/O_ASIC154などのカスタマイズ部品の作り替えが短期間に発生してしまうことがある。この場合、カスタマイズ部品の作り替えのための投資額が嵩むという問題がある。
一方で、投資額を抑制した場合には、I/O_ASIC154を使用しなければよいのであるが、その場合、汎用のI/F部品を使用せざるを得ず、先に指摘した通り、汎用のI/F部品には、データを受信した際、データ転送を開始する前に割込みを発生する機能を持たない。このため、結果的には、汎用のI/F部品を使用した場合でも、CPU110が節電状態にあるときに外部I/O装置を始めとする他のデバイスから確実にデータを受信できるように、あまり深い節電状態に入れることができない、という問題が生じる。
この問題を回避するべく、本実施形態では、図3に示したように、節電制御部160を設けている。この節電制御部160は、I/O_ASIC154とCPU110との間の割込信号NSMIの受け渡しに介在して節電状態からの復帰に寄与するだけでなく、汎用I/O_LSI156を介して外部I/O装置からデータを受信した際の節電状態からの復帰に寄与する点に特徴を有している。
特に、本実施形態の節電制御部160は、節電状態にあるときにはデータバス(たとえば図3のI/Oバス159)を使用状態(ビジー状態)とすることで、外部装置5との間でのデータ転送を行なうことができないようにしておき、汎用I/O_LSI156が外部装置5からデータを受信すると、節電状態からの復帰動作を開始し、完全に復帰したときにデータバスの使用状態(ビジー状態)を解除することで、データ処理装置3内部のバスデバイスと外部装置5との間でのデータ転送を許可する点に特徴を有する。以下、この点を中心に、節電制御部160の機能について詳細に説明する。
<節電制御部の機能説明>
節電制御部160は、データ処理装置3が節電状態にあるときに、外部のI/Oデバイスがデータ転送要求を出した際、節電状態を完全に解除してからデータ転送を開始可能にすることで、汎用のI/F部品を用いても、深い節電状態から確実かつ安全に復帰し、かつその深い節電状態中にいきなりデータ転送されてしまうことを防止する。こうすることで、汎用部品を使用して、新しい機能を実現しつつカスタマイズ部品を使用した時と遜色ない低消費電力を実現しつつ、確実かつ安全な復帰を実現できるようにする。
具体的には、汎用部品が有するDMA機能用の信号線を使用してデータ転送の開始タイミングを検出して節電の復帰を行なうと同時に、この信号線を制御することで節電状態から復帰した後にデータ転送を開始することで問題を解決する。特に、先にも述べたが、節電状態にあるときにはデータバスを使用状態とすることで、節電状態中にいきなりデータ転送されてしまうことを防止する。
このため、内部コントローラ部100には、入力データの処理などを行なうCPU110と、データの蓄積などを担うメインメモリ部120と、データを外部と通信する機能を有するI/Oインタフェース回路(I/Oデバイス)としてのインタフェース部150を構成要素として備える。
そして、CPU110やメインメモリ部120などに節電機能を設けるとともに、節電制御部160にてその節電状態を制御するようにし、節電中にインタフェース部150が外部機器からデータを受信すると、インタフェース部150とメインメモリ部120間あるいはインタフェース部150内の各I/Oデバイス間でデータ転送を行なう前に、節電制御部160は、データ転送に必要な箇所の節電状態を解除する。
節電の解除は、典型的には、節電制御部160に設けられる節電解除トリガ検出機能への信号入力によって行なう。この節電解除トリガ検出機能への入力信号は、たとえばI/Oデバイスのデータ転送要求信号から作成する。また、節電制御部160は、節電中に汎用I/O_LSI156がデータ転送要求(要求信号NREQ)を出した際、節電状態が完全に解除されたことの通知をCPU110から受けてから汎用I/O_LSI156にデータ転送処理を許可するようにする。
一例としては、本実施形態では、先にも述べたが、汎用I/O_LSI156とバスアービタ142との間の要求信号NREQ1を第2節電制御部164にて監視することで節電解除トリガ検出機能を実現するとともに、第1節電制御部162と第2節電制御部164との間でのI/Oバス159を介したデータアクセスを止めることで、汎用I/O_LSI156によるI/Oバス159の使用を可能にする。
つまり、第2節電制御部164が、汎用I/O_LSI156からデータ転送要求(要求信号NREQ1)を受け取るデータ転送要求受信部と、CPU110あるいはメインメモリ部120が節電状態のときに汎用I/O_LSI156がデータ転送要求を受け取った際にCPU110に節電解除要求を行なうための割込要求(割込信号NSMI)を送る割込要求送信部と、CPU110から節電解除通知(節電信号NQACK)を受け取る節電解除通知受信部と、データバスの使用状態を制御するバス使用状態制御部の各機能を持ち、節電解除通知に応じて汎用I/O_LSI156にデータ転送を許諾することで、確実かつ安全な節電状態からの復帰を実現する。
こうすることで、インタフェース部150としては、I/O_ASIC154に限らず、通常の汎用のものとしての汎用I/O_LSI156を使用することで、新しい機能を実現できるようになる。それでいて、カスタマイズ部品としてのI/O_ASIC154を使用した時と遜色ない低消費電力を実現するとともに、節電状態(深い節電状態でも問題ない)を確実に解除してから、データ転送を安全に開始することができるようになる。
なお、本実施形態の内部コントローラ部100は、I/O_ASIC154をも備えている。このことにより、CPU110からの節電移行指示に伴って節電状態へ移行し、データ転送要求を受け取ったときにCPU110に節電解除要求を行なうための割込要求(割込信号NSMI)を送り、CPU110から節電解除通知(節電信号NQACK)を受け、これに応じてデータ転送を開始する機能も持っている。
<節電制御部の基本機能;構成の概要>
図6は、節電制御部160の基本的な作用を説明するために、図3に示したデータ処理装置3の各機能部の構成を組み替えて示した概念図である。
この概念図に示すデータ処理装置3は、図3におけるインタフェース部150の各PCIデバイスをI/Oデバイス部170に置き換えている。また、説明を簡単にするため、バス調停制御部140を取り外し、その代わりに、バス調停を行なう機能を持ちDMA転送を制御する制御部としてのDMAC180を設けている。
CPU110と、DRAM126を有するメインメモリ部120と、I/Oデバイス部170と、DMAC180とが、アドレスバス(Address Bus )191およびデータバス(Data Bus)192(纏めてバス190ともいう)を介して相互に接続されている。
また、CPU110と節電制御部160およびDMAC180との間には、バスマスタとなるデバイスがバスを使用中であることを示すビジー信号NBUSYの受け渡しがある。なお、このビジー信号NBUSYのポートはプルアップ抵抗114によりプルアップされている。
また、CPU110と節電制御部160との間には、CPU110が節電中であることを示すスリープ信号NSLEEPと割込信号NSMIの受け渡しがある。この構成では、CPU110は節電中であることを示すNSLEEP信号を節電制御部160に出力し、CPU110は節電制御部160からのSMI割込みによって節電状態から復帰するものとする。
また、I/Oデバイス部170と節電制御部160およびDMAC180の間にデータの要求信号DREQの受け渡しがある。また、I/Oデバイス部170とDMAC180の間にデータ転送の許可信号NDACKの受け渡しがある。この構成では、通常の使用において、DMAC180は要求信号DREQがアサートされると、アドレスバス191およびデータバス192の調停を行なう。DMAC180は、アドレスバス191およびデータバス192の使用権を得ると、予め設定されたアドレスをアドレスバス191に出力すると同時に、許可信号NDACKをアサートする。これを受けて、I/Oデバイス部170は、データバス192に対してデータを出力する。この際には、DMAC180は、I/Oデバイス部170からの出力データがメインメモリ部120のDRAM126に書き込まれるよう、DRAM制御信号をコントロールすることで、CPU110を介さないDMA転送を実現する。
<節電制御部の基本機能;作用の概要>
<節電モードへの遷移動作>
図7は、図3に示した構成(図6に示した構成でも同様である)における節電モードへの遷移を示すフローチャートである。先ず、システム全体が節電モードに移行する際には、図7に示すように、節電制御部160に対してI/O_ASIC154との間の汎用バス157経由でプリパワーセーブモードへの移行を指示する(S20)。具体的には、節電制御部160内に設けた図示しないレジスタへの設定を行なう。これと前後して、I/O_ASIC154を初めとする各デバイスに対して節電モードへの移行設定を行なう(S21)。これらの節電モード移行準備が整ったら最後にCPU110を節電モードへ移行する(S22)。このフローに従って設定を行なうと、CPU110の節電信号NQACKがHレベルからLレベルに遷移し、この遷移によってCPU110が節電モードへ移行したことを節電制御部160は検知することができる。
<システムの状態と信号の相関関係>
図8は、図6に示した構成におけるシステムの状態と信号の相関関係を示す図である。図示するように、たとえばCPU110がDRAM126へアクセスする際には、バス190が使用中であることを他のデバイスに知らしめるためにビジー信号NBUSYをアサートする。
たとえば、通常状態においてデータ転送がなければ、I/Oデバイス部170およびバス190はともにアイドル(Idle)状態にある。なお、アイドル状態とは、全てのバスマスタがバスアクセスを要求しない期間である。
ここで、I/Oデバイス部170が外部機器からデータを受信すると(t10)、受信データを転送するために、DMA転送要求信号である要求信号DREQをアサート(Hレベルに)する(t12)。DMAC180は、要求信号DREQを受け取ると、バス190の調停を行なうとともに、要求信号DREQに対して許可信号NDACK(Lレベル)を返す(t14)。
I/Oデバイス部170は、許可信号NDACKを受け取ると、ビジー信号NBUSYをアサート(Lレベルに)してバス190が他のデバイスに使用されないようにしてから、データ転送を開始する(t16)。この後、I/Oデバイス部170は、データ転送が完了すると、ビジー信号NBUSYをネゲート(Hレベルに)することで、バス190が他のデバイスで使用可能にする(t17)。これにより、I/Oデバイス部170およびバス190はともにアイドル(Idle)状態に戻る。このとき、I/Oデバイス部170は、DMA転送要求信号である要求信号DREQをネゲート(Lレベルに)し(t18)、これを受けて、DMAC180は、許可信号NDACKをネゲート(Hレベルに)する(t19)。
<節電状態への移行>
この後、システム全体を節電モードへ移行させる場合には、システム(ソフトウエア)は、先ず、節電移行処理において、ビジー信号NBUSYをアサートしバス190が他のデバイスに使用されないようにして(t20〜t24)、節電制御部160の状態をプリパワーセーブ(Pre-Power Save)モードに変更し(t22)、最後にCPU110を節電状態に変更する(t28)。
このとき、節電制御部160は、プリパワーセーブモードに移行すると(t22)、ビジー信号NBUSYをアサートし(t26)、バス190が他のデバイスに使用されないようにする。
CPU110が節電状態に入ると(t28)、スリープ信号NSLEEPがアサートされ、このスリープ信号NSLEEPが遷移することで、節電制御部160は、パワーセーブ(Power Save)モードへと移行する(t29)。節電制御部160は、パワーセーブモードへ移行しても、ビジー信号NBUSYをアサートした状態を維持することで、バス190が他のデバイスに使用されないようにする。
なお、節電状態に移行する際には、図示しないI/Oバスクロックを停止させ、コントローラ部31内の図示を割愛したDRAMなどへのデータ転送が行なわれないようにする。また、コントローラ部31内の図示を割愛したCPUが節電状態に入ったら、さらに、CPU内部の図示を割愛したPLL回路の動作を停止させる。PLL回路の動作が停止したら、CPUへのクロック供給自体も停止させることで、最も消費電力の少ない状態となり、システム全体が深い節電状態となる。
<節電状態からの復帰>
この後、節電中にI/Oデバイス部170がデータを受信すると(t30)、受信データを転送するために、要求信号DREQをアサート(Hレベルに)する(t32)。DMAC180は、要求信号DREQを受け取ると、バス190の調停を行なうとともに、要求信号DREQに対して許可信号NDACK(Lレベル)を返すが(t34)、一方でビジー信号NBUSYがアサートされているためデータ転送自体行なうことができず、ビジー信号NBUSYがネゲートされるのを待つこととなる。
一方、節電制御部160は、要求信号DREQを監視しており、この要求信号DREQがアサートされると、ウェークアップ(Wake Up )モードに移行し(t35)、CPU110に対して節電復帰を催すために、割込信号NSMIをアサート(Lレベルに)する(t35)。
CPU110は、割込信号NSMIがアサートされると、節電復帰処理を行なう(t37〜t39)。この節電復帰処理の一例としては、たとえば、節電中(CPU110をスリープモードにしたときなど)にCPU110内部のPLL回路を停止した場合、節電復帰時にはソフトウエア的な処理を開始する前に、PLLをリロックするなどのハードウエア的な処理がある。
節電復帰処理が完了するとき、CPU110は、スリープ信号NSLEEPをネゲートすると同時に、節電復帰のためのスイッチ(SW;SWwitch )処理を行なう(t39)。このCPU110が節電状態から復帰するときには、ソフトウエアおよびハードウエアを通常状態に戻すための(つまり節電復帰のための)処理を行なう。本例では、CPU110へのSMI割込みを発生させてSMIハンドラ内でソフトウエア的な節電復帰処理を行なう(t38;ソフトウエアの状態部のSMIハンドラを参照)。
一方、節電制御部160は、スリープ信号NSLEEPがネゲートされたことを検出して、ビジー信号NBUSYをネゲート(Hレベルに)して(t40)、通常状態に移行する(t41)。このとき、許可信号NDACKが既にアサートされている、つまりI/Oデバイス部170はDMAC180から転送許可(許可信号NDACK)を既に得ている。よって、I/Oデバイス部170は、ビジー信号NBUSYがネゲートされたら改めてビジー信号NBUSYをアサートして他のデバイスにバスが使用されることがないようにしてからデータ転送を開始する(t42)。
この後、I/Oデバイス部170は、データ転送が完了すると、ビジー信号NBUSYをネゲート(Hレベルに)することで、バス190が他のデバイスで使用可能にする(t47)。これにより、I/Oデバイス部170およびバス190はともにアイドル(Idle)状態に戻る。このとき、I/Oデバイス部170は、DMA転送要求信号である要求信号DREQをネゲート(Lレベルに)し(t48)、これを受けて、DMAC180は、許可信号NDACKをネゲート(Hレベルに)する(t49)。
<PCIインタフェースでの処理例>
次に、図3に示したようにPCIインタフェースを用いた場合における、具体的な節電処理について説明する。
<節電処理の問題点>
図9は、PCIインタフェースを用いた場合における節電処理の問題点を説明する図である。通常、1つのバスを複数のデバイスが共有して使用する場合、バスの使用権を獲得していないデバイスはその出力をハイインピーダンス(Hi−Z)状態として、バスの使用権を獲得したデバイス(マスタデバイス)およびそれに対して応答する必要があるデバイス(ターゲットデバイス)のみが信号線を駆動することで、バス信号の衝突を回避するようになっている。
従来のパーソナルコンピュータ内部のインタフェースであるISA(Industry Standard Architecture)バスなどでは、誰もバスを使用していないとき(アイドル状態)にはバス信号をドライブするデバイスがないことからハイインピーダンス状態となってしまい誤動作することを回避するため、プルアップもしくはプルダウン処理を行なっている。
一方、PCIバスにおいは、アイドル状態のときにも何れかのPCI接続デバイスに対してバス調停器(アービタ)がバス使用許可信号(許可信号NGNT)をアサートし、許可信号NGNTをアサートされたPCIデバイスはデータ転送の有無に関わらず必ずPCIバス信号をドライブするように求められている。
ここで、アービタに着目すると、何れのPCIデバイスからもバス使用権獲得要求(要求信号NREQ)がない状態であったとしても、何れか1つのPCIデバイスに対して許可信号NGNTをアサートする点に特徴がある。転送するデータがないにも関わらず許可信号NGNTをアサートされたPCIデバイスは、PCI制御信号を非アクティブ(データ転送を行なわない状態、かつ、PCI信号をドライブした状態)に、その他の信号(データ線等)をHレベルもしくはLレベルにする。
なお、PCI規格では、許可信号NGNTをアサートされていながらデータ転送を行なわない状態をバスパーキングと呼び、PCIバスを非アクティブ状態に駆動するPCIデバイスをパーキングデバイスと呼ぶ。また、バスアービタは、パーキングデバイス以外のPCIデバイスからPCIバス使用権獲得要求(要求信号NREQ)がない限り、パーキングデバイスへの許可信号NGNTを継続して出す仕様となっている。
ここで、パーキングデバイスとなっているPCIデバイスに着目すると、バスパーキング状態にあるときにデータ転送を行ないたい場合、既に許可信号NGNTがアサートされているために、直ちにデータ転送を始めてもよいことになっている。許可信号NGNTがネゲートされているときにデータ転送を行ないたい場合、先ず要求信号NREQを出し、許可信号NGNTがアサートされてからデータ転送を行なう、という手順と比較すると、パーキングデバイスがデータ転送を行なう場合には(既にバス獲得できているので)バス獲得を行なう必要がない分、早くデータ転送を開始できるというメリットがある。
たとえば、ネットワークからデータの受信を行なう場合、PCIバスを使用するのはネットワークI/Fデバイスとなる。1つの受信データをPCIバスを使用してDRAMに転送した後、一度PCIバスはアイドル状態となる。このとき、パーキングデバイスがネットワークI/Fデバイスであれば、次にネットワークからデータを受信したら、直ちにPCIバスを使用してDRAMにデータ転送を行なうことができる。通常、同じPCIデバイスが繰り返してPCIバスを使うことが多いことから、パーキングデバイスには最後にPCIバスを使用したデバイス(以下ラストデバイスという)を選択するよう、アービタを構成することが望ましい。
<問題点の具体例>
図9を参照して、具体的に説明する。ここで、図9(A)は、パーキングデバイスに特定のデバイスを選択した場合のPCIバス動作を示し、図9(B)は、パーキングデバイスにラストデバイスを選択した場合のPCIバス動作を示している。
PCIバスがアイドル状態のとき、パーキングデバイス以外のPCIデバイスがデータ転送をしたいとする。先ず、バスを使用したいデバイスが、要求信号NREQをアービタに出し許可信号NGNTを待つ動作(アービトレーション)が行なわれる。アービトレーションでバスを獲得すると、第1のデータ転送Aが行なわれ、バスがアイドルになる。
このとき、アービタの構成に因るが、図9(A)に示すように、ある決められた特定のPCIデバイスをパーキングデバイスにした場合、第2のデータ転送Bに先立ってアービトレーションが必要となる(Ta〜Tb)。
一方、図9(B)に示すように、パーキングデバイスにラストデバイスを選ぶようにアービタを構成した場合には、第2のデータ転送Bを開始する前のアイドル状態から既にPCIバスの使用権を獲得しているので、直ちにデータ転送を行なうことができるようになる。よって、前者(図9(A)の動作)に対して後者(図9(B)の動作)は、Ta〜Tb期間のアービトレーションが不要な分だけ高速なデータ転送が可能となる。
パーキングデバイスに何を選択するかは、アービタの構成で決まるのであるが、性能的な点からは、ラストデバイスをパーキングデバイスとするのが望ましいことが分かる。
しかしながら、図9(B)の動作に示したように、ラストデバイスをパーキングデバイスにすると、節電中にいきなりデータ転送が開始されてしまう虞れがある。すなわち、図9(B)に示す動作から分かるように、ラストデバイスをパーキングデバイスとした場合には、パーキングデバイスが外部からのデータ受信などによってデータ転送を開始したい場合には、アービトレーションなしにデータ転送が可能となる。
このことは、換言すると、アイドル中に許可信号NGNTを貰っていれば、要求信号NREQを出すこともなくデータ転送ができることを意味する。しかしながら、CPUやメモリが節電中(PCIはアイドル)に、PCIバス経由でメモリへのデータ転送が行なわれてしまった場合には、メモリへデータが書き込まれない、あるいは、メモリへの書き込みは正常に行なわれたとしてもCPU用のキャッシュメモリと不整合を起す、などの問題が発生する。
汎用のPCIデバイスを用いてこのような問題を回避する方法としては、たとえば、PCIデータ転送開始タイミングを検出する手段として要求信号NREQを利用すること、すなわち、PCIバスアービタへの要求信号NREQを制御することで、節電中にデータ転送が行なわれることを防止する方式を採用することが考えられるが、ラストデバイスをパーキングデバイスにすると、要求信号NREQが出ないため実現できないことになる。
これを回避する方法としては、たとえば、許可信号NGNTをマスクしている間は汎用I/O_I/F以外のデバイス(ブリッジ;Bridgeなど)に信号NGNTを与えてバスパーキングする、あるいはパーキングデバイスをCPUにするなど、節電解除が行なわれてからしかPCIバスを使用しないデバイスをパーキングデバイスとする方式を採ることが考えられる。
しかしながら、図9で説明した通り、同じPCIデバイスが連続してPCIバスを使用する場合においては、その都度、アービトレーションが入ってしまうために、バス転送性能が低下するという問題が避けられない。
そこで、本実施形態では、節電状態の制御の際に、バスの状態をも制御することで、ラストデバイスがパーキングデバイスであっても、節電中にデータ転送が行なわれることを確実に防止するとともに、同じPCIデバイスが連続してPCIバスを使用する場合に、アービトレーションなしにデータ転送ができる仕組みにする。以下、具体的に説明する。
<PCIデバイスにおける節電制御部の機能;作用の概要>
図10は、図3に示した構成におけるシステムの状態と信号の相関関係を示す図である。なお、ラストデバイスにしたときに従来であれば節電復帰が適切にできない点に着目して、以下の説明ではラストデバイスをパーキングデバイスとすることを前提とする。
基本的には、システムが通常の状態においては、汎用I/O_LSI156がデータを受信した場合には、要求信号NREQおよび許可信号NGNTを用いてI/Oバス159の使用権の獲得要求および許可を得た後に、I/Oバス159を使用してデータ転送を行なう。次に、システムが節電移行処理に入ると、システム全体を節電状態に入れるための各種処理が行なわれる。
一連の処理の中には、I/Oバス159上に接続された各種デバイスへの設定も含まれ得る。節電移行処理の最後に、節電制御部160に対して節電状態への移行設定を行なう。節電制御部160は節電状態への移行設定が行なわれると、I/Oバス159の使用権を獲得し、節電制御部160自身に対するデータアクセスを行なう動作を開始する。節電制御部160は、このアクセス時にはデータ転送完了応答(完了信号NTRDY=L)を返さない。これと並行して、スイッチ処理によって、CPU110を節電状態へ移行させる。
たとえば、通常状態においてデータ転送がなければ、I/Oデバイス部170およびバス190はともにアイドル(Idle)状態にある。ここで、I/Oデバイス部170は、外部機器からデータを受信すると(t50)、受信データを転送するために、要求信号NREQ1をアサート(Lレベルに)してバス要求をバスアービタ142に出す(t52〜t56)。バスアービタ142は、要求信号NREQ1を受け取ると、要求信号NREQ1に対して許可信号NGNT1(Lレベル)を返す(t54)。汎用I/O_LSI156は、バスアービタ142から許可信号NGNT1を受け取ると、I/Oバス159の使用権を獲得するフレーム信号NFRAMEをアサート(Lレベルに)してI/Oバス159が他のデバイスに使用されないようにしてから(t55〜t58)、データ転送を開始する(t57)。
このとき(t55〜t59)、汎用I/O_LSI156は、バスアービタ142に対して、デバイスの存在応答(デバイス選択信号NDEVSEL=L)や、I/Oバス159の使用を開始する開始信号NIRDY(=Lレベル)およびデータ転送完了応答(完了信号NTRDY=L)を規定時間内に返して、バスサイクルにウェイトを掛ける。完了信号NTRDYがネゲート(Hレベルに)なると、I/Oバス159の状態はアイドル状態になる。
<節電状態への移行>
この後、システム全体を節電モードへ移行させる場合には、I/O_ASIC154内の節電機能を有効にする、割込信号NSMI(CPU110を節電状態から復帰させるための割込み入力信号線)のみを有効にする、などシステム全体を節電状態に入れるための処理を行なう。
この処理において、CPU110は先ず、要求信号NCPUREQをアサート(Lレベルに)してバス要求をバスアービタ142に出す(t60)。バスアービタ142は、要求信号NCPUREQを受け取ると、要求信号NCPUREQに対して許可信号NGNT1をネゲート(Hレベルに)するとともに(t61)、許可信号NCPUGNTをアサート(Lレベルに)する(t62)ことで、I/Oバス159が他のデバイスに使用されないようにI/Oバス159をビジー状態にする(t63)。
この後、CPU110は、フレーム信号NFRAMEをアサート(Lレベルに)して、節電制御部160にデータ転送を行なって、第1節電制御部162内に設けられた図示しないパワーセーブレジスタに節電モードへの移行を指示する値を書き込み、節電制御部160の状態をプリパワーセーブモードに変更する(t64)。このとき(t63〜t64)、CPU110は、バスアービタ142に対して、デバイスの存在応答(デバイス選択信号NDEVSEL=L)や、I/Oバス159の使用を開始する開始信号NIRDY(=Lレベル)およびデータ転送完了応答(完了信号NTRDY=L)を規定時間内に返して、バスサイクルにウェイトを掛ける。完了信号NTRDYがネゲート(Hレベルに)なると、I/Oバス159の状態はアイドル状態になる。
第1節電制御部162は、パワーセーブレジスタへの節電モード移行指示の書込みが行なわれると、要求信号NREQ0をアサート(Lレベルに)して、I/Oバス159の使用要求をバスアービタ142に出す(t65)。バスアービタ142は、要求信号NREQ0を受け取ると、要求信号NREQ0に対して許可信号NCPUGNTをネゲート(Hレベルに)するとともに(t66)、許可信号NGNT0をアサート(Lレベルに)する(t67)ことで、I/Oバス159が他のデバイスに使用されないようにI/Oバス159をビジー状態にする(t68)。
ここで、バスアービタ142が許可信号NGNT0をアサートすると、第1節電制御部162は、フレーム信号NFRAMEをアサートして第2節電制御部164へのアクセスを行なう(t69)。このとき、第2節電制御部164は、第1節電制御部162からのアクセスに対してデバイスの存在応答(デバイス選択信号NDEVSEL=L)を行なうが、データ転送完了応答(完了信号NTRDY=L)を行なわないことで、第1節電制御部162から第2節電制御部164へのアクセスでI/Oバス159の状態をビジー状態に維持する(t70,t71以降)。つまり、節電モード期間中は、節電制御部160は、I/Oバス159を獲得したまま完了信号NTRDYを返さない状態を保持することにより、バスサイクルにウェイトを掛け続けているのと実質的に同じ動作を行なう。
また、バスアービタ142のパーキングデバイスにラストデバイス(本例では節電制御部160に相当する)が選ばれていれば、第1節電制御部162への許可信号NGNT0がアサートされたままになる。一方、節電移行処理の最後にCPU110が節電状態に入ると、CPU110は、節電信号NQACKをアサート(Lレベルに)する(t72)。
第2節電制御部164が節電信号NQACKのアサートを検知すると、節電制御部160はパワーセーブモードへと移行する(t73)。このとき、節電制御部160がパワーセーブモードへ移行しても、ビジー信号NBUSYをアサートした状態を維持することで、I/Oバス159が他のデバイスに使用されないようにする。
<節電状態からの復帰>
この節電モード状態において、汎用I/O_LSI156がデータを受信すると、I/Oバス159の使用権を獲得するために要求信号NREQ1をアサートするし、バスアービタ142は、この要求信号NREQ1に対して予め設定されたアービトレーションアルゴリズムに従ってバス使用権を与える。たとえば、I/Oデバイス部170は、節電モード中にデータを受信すると(t74)、通常状態と同様に、受信データを転送するために、要求信号NREQ1をアサート(Lレベルに)してバス要求をバスアービタ142に出す(t75)。
バスアービタ142は、要求信号NREQ1を受け取ると、許可信号NGNT0をネゲート(Hレベルに)にするとともに(t78)、通常状態と同様に許可信号NGNT1をアサート(Lレベルに)にする(t79)。しかしながら、このときI/Oバス159はビジー状態にあるため、汎用I/O_LSI156は、バスアービタ142から許可信号NGNT1を受け取っても、データ転送を開始できないので、I/Oバス159のビジー状態が解除されるのを待つこととなる。
一方、節電制御部160は、汎用I/O_LSI156が要求信号NREQ1をアサートしたことを検出すると、CPU110に対してSMI割込みを発生させ、CPU110を節電状態から復帰させる。CPU110は、節電から復帰すると、節電信号NQACKをネゲートする。節電制御部160は、節電移行処理時から継続していた自身に対するPCIアクセスに対して完了信号NTRDYを返すことでI/Oバス159の転送サイクルを正常に終了させる。
たとえば、第2節電制御部164は、汎用I/O_LSI156の要求信号NREQ1を監視しており、この要求信号NREQ1がアサートされると、ウェークアップ(Wake Up )モードに移行し(t76)、CPU110に対して節電復帰を催すために、割込信号NSMIをアサート(Lレベルに)する(t77)。
CPU110は、割込信号NSMIがアサートされると、節電復帰処理を行なう(t80〜t82)。CPU110は、節電復帰動作を開始し、完全に節電状態から復帰すると、節電信号NQACKをネゲートすると同時に、節電復帰のためのスイッチ(SW;SWwitch )処理を行なう(t82)。このCPU110が節電状態から復帰するときには、ソフトウエアおよびハードウエアを通常状態に戻すための(つまり節電復帰のための)処理を行なう。
本例でも、CPU110へのSMI割込みを発生させてSMIハンドラ内でソフトウエア的な節電復帰処理を行なう(t88;ソフトウエアの状態部のSMIハンドラを参照)。SMIハンドラ内でのソフトウエア的な節電復帰処理が完了すると、SMIハンドラ(ここでは第2節電制御部164)は、割込信号NSMIをネゲート(Hレベルに)する(t90)。これにより、節電制御部160は、ウェークアップモードから通常モードに移行する。
一方、第2節電制御部164は、節電信号NQACKがネゲートされたことを検出すると、第1節電制御部162から第2節電制御部164へのPCIバスアクセスに対して完了信号NTRDYを所定期間アサートすることで、節電中に継続していたバスビジー状態を解除する(t84〜t86)。
このとき、汎用I/O_LSI156は、バスアービタ142から転送許可(許可信号NGNT1)を既に得ているので、データ転送を直ぐに開始することができる。よって、汎用I/O_LSI156は、I/Oバス159のバスビジー状態が解除された後には、I/Oバス159の使用権を獲得するフレーム信号NFRAMEをアサート(Lレベルに)してI/Oバス159が他のデバイスに使用されないようにしてから(t92〜t94)、データ転送を開始する(t93)。
このとき(t92〜t95)、汎用I/O_LSI156は、バスアービタ142に対して、デバイスの存在応答(デバイス選択信号NDEVSEL=L)や、I/Oバス159の使用を開始する開始信号NIRDY(=Lレベル)およびデータ転送完了応答(完了信号NTRDY=L)を規定時間内に返して、バスサイクルにウェイトを掛ける。完了信号NTRDYがネゲート(Hレベルに)なると、I/Oバス159の状態はアイドル状態になる(t95)。
このような処理手順を踏むことで、PCIデバイスにおける節電制御において、アービタ(本例ではバスアービタ142)のパーキングデバイスをラストデバイスに設定することで、バス性能の低下を招くことなくデータ転送を実現することができる。加えて、節電状態から完全に復帰した後にデータ転送を開始するようにすることができ、システム状態が節電中に汎用I/O(本例では汎用I/O_LSI156)によりPCIバス転送が行なわれることを防ぐことができる。
つまり、節電状態におけるI/Oバス159に対するバス調停の結果として、節電状態ではバス利用権が汎用I/O_LSI156以外のPCIデバイス(特に本例ではラストデバイスである節電制御部160)に与えられ、節電状態から完全に復帰したときに汎用I/O_LSI156に与えられることで、節電状態から完全に復帰したときに初めてデータ転送が開始される。
以上の動作を行なうことで、汎用I/O_LSI156を使用しながら、システムを深い節電モードに移行していたとしても、システムが節電モードから復帰してから通常のPCIデータ転送を開始するため、従来懸念されていた不具合が発生しなくなる。
汎用I/O_LSIがパーキングデバイスである場合には、既にPCIバスが獲得できているために要求信号NREQを出力することなくデータ転送をしてもよいことがPCIの仕様で唄われており、従来であれば結果として不具合を起こしてしまう問題が起こるが、節電モード移行中のバスパーキングを汎用I/O_LSI以外にするとともに、その汎用I/O_LSI以外のもの(本例では節電制御部160)でバスを使用状態に設定することで、この問題を解消することができる。
加えて、パーキングデバイスにラストデバイスを選ぶようにアービタを構成することで、汎用I/O_LSI156は、データ転送(図補充¥1の第2のデータ転送B)を開始する前のアイドル状態から既にPCIバスの使用権を獲得しているので、アービトレーションなしに、直ちにデータ転送を行なうことができるようになる。
また、節電制御部160としては、要求信号NREQなどのデータ受信信号S3の監視やバスの使用状態の制御などの機能を新たに持てばよく、さほど大掛かりな回路構成を必要としないので、低価格で簡便な回路を追加することで、I/O_ASIC154などのカスタマイズ部品を使用した時と同等に高い省エネ効果を得ることができる。
<状態遷移図と真理値表>
図11は、図10に示した節電制御部160の動作状態の概要を説明する図であり、図11(A)は、図10に示した動作を行なう節電制御部160の状態遷移図、図11(B)は、節電制御動作時の入出力信号の真理値表である。
電源投入状態およびシステムが通常の動作状態にあるときには通常動作シーケンスにある。このとき、第2節電制御部164は、NSMI入力端子に入力されたI/O_ASIC154からの割込信号NSMIをそのままNSMO出力端子からCPU110に向けて出力する。これは、既存のI/O_ASIC154が節電状態から復帰する際に割込信号NSMIをアサートする仕組みが組み込まれているためである。
次に、節電制御部160に対して節電移行設定が行なわれると、プリパワーセーブシーケンスへと移行する。このとき、節電制御部160は、要求信号NREQをアサートしてI/Oバス159の獲得動作を行なう。節電制御部160は、I/Oバス159の使用権を獲得すると、自分自身(自デバイス)に対する読出しもしくは書込みのアクセスを行なう。このとき、節電制御部160は、読出しもしくは書込みの各アクセスに対して、デバイス選択信号NDEVSELのみをバスアービタ142に返し、完了信号NTRDYを返さない。こうすることで、I/Oバス159を使用中の状態(以下PCIアクセス状態ものいう)を保持することができる。
次に、CPU110が節電信号NQACKをアサートすると、節電制御部160は、パワーセーブシーケンスへと移行し、I/Oバス159は節電制御部160が獲得した状態を継続する。
次に、節電制御部160は、I/O_ASIC154がデータを受信したためにNSMI入力端子への割込信号NSMIがアサートされるか、または汎用I/O_LSI156がデータを受信したためにNREQ入力端子への要求信号NREQがアサートされると、ウェークアップシーケンスへと移行する。このシーケンスに進むと、節電制御部160は、割込信号NSMIをアサートして、NSMI出力端子からCPU110に伝えることで、CPU110を節電状態から復帰させる。これによってCPU110が節電状態から復帰すると、CPU110は節電信号NQACKをネゲートする。
節電制御部160は、節電信号NQACKのネゲートを検出すると、通常動作シーケンスへと移行すると同時に、完了信号NTRDYを返してプリパワーセーブから継続していたPCIアクセスを正常に終了させる。その結果、汎用I/O_LSI156は、システムが節電状態から完全に復帰した後にデータ転送を行なうことができる。
以上、本発明を実施形態を用いて説明したが、本発明の技術的範囲は上記実施形態に記載の範囲には限定されない。発明の要旨を逸脱しない範囲で上記実施形態に多様な変更または改良を加えることができ、そのような変更または改良を加えた形態も本発明の技術的範囲に含まれる。
また、上記の実施形態は、クレーム(請求項)にかかる発明を限定するものではなく、また実施形態の中で説明されている特徴の組合せの全てが発明の解決手段に必須であるとは限らない。前述した実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜の組合せにより種々の発明を抽出できる。実施形態に示される全構成要件から幾つかの構成要件が削除されても、効果が得られる限りにおいて、この幾つかの構成要件が削除された構成が発明として抽出され得る。
たとえば、上記実施形態においては、データ処理装置3が節電中には節電制御部160自身がI/Oバス159にアクセスを行なう、より具体的には第1節電制御部162と第2節電制御部164との間でI/Oバス159を使用してデータ転送(読出や書込み)を行なうことでバスサイクルをビジー状態にし、そのビジー状態の間は、他のデバイスがI/Oバス159を使用することができない構成として説明しているが、汎用I/O_LSI156を除くバスブリッジ部144を含むPCIデバイスが節電制御部160に対するPCIアクセスをI/Oバス159を使用して行なうことでも、同様にバスサイクルをビジー状態にすることができる。
また、上記実施形態においては、汎用I/O_インタフェースが1つ(汎用I/O_LSI156)しか接続されていないケースにのみ着目して説明しているが、同様な仕組みを拡張することで、複数の汎用I/O_インタフェースが接続されたシステムにおいても、容易な回路構成の変更によって対応することができる。
また、節電状態中や節電状態からの復帰時に、I/Oバス159を適切に制御する機能を節電制御部160にて実行していたが、このような動作を行なうものである限り、どのような構成を採用してもよい。たとえば、図示を割愛するが、プルアップもしくはプルダウンを適切に処理する方式や、バスホールド機能を有したバスバッファを用いる方式などを採ることもできる。
また、上記実施形態では、節電制御部160をバス調停制御部140とは別の構成要素(機能ブロック)として説明したが、PCIバスアービタとして機能するバス調停制御部140(特にバスアービタ142)に機能を付加し、その同一回路内にバス調停機能と節電機能とを実装する構成を採ることもできる。あるいは、I/O_ASIC154の中に節電制御部160の機能を実装する構成を採ることもできる。
また、PCIバスを使用したデータ転送はマスタデバイス(イニシエータともいう)とターゲットデバイスの2つのデバイス間で行なわれるものであるため、図3では、節電制御部160をマスタデバイスとして機能する第1節電制御部162とターゲットデバイスとして機能する第2節電制御部164とに分けて示したが、同様な動作は、図12に示す変形例のように、1つのデバイスでなる節電制御部160にても行なうことができる。
すなわち、図3では、PCIバスに慣れ親しんだ人に直感的に分かるように、イニシエータとターゲットを明確に区別しているが、図12に示す変形例のように、物理的に1つのデバイスで実現しても何ら問題がない。これは、節電中にI/Oバス159をビジー状態にするためには、
1)I/Oバス159の使用権を獲得する、
2)フレーム信号NFRAMEをアサートして、I/Oバス159の使用を開始する開始信号NIRDYおよびデバイス選択信号NDEVSELを規定時間内に返してバスサイクルにウェイトを掛ける、
というステップを踏めばよいことになるからである。
さらに、節電状態から復帰するイベント(上記実施形態ではCPU110からの節電信号NQACKがLからHに遷移)が発生したら、
4)完了信号NTRDYを返す、
という動作を行なうことで、I/Oバス159のビジー状態を解除することができる。
このとき、全ての信号はバス接続となっているので、信号をドライブするデバイスが唯一であればよいため、あえてイニシエータとターゲット(図@8では、第1節電制御部162と第2節電制御部164)に分ける必要はない。
また、上記実施形態では、データ処理装置3に画像処理を行なわせ画像形成部300にて画像を印刷用紙などに出力するプリンタを画像形成装置2の一例に説明したが、節電機能を有するCPUやDRAMなどを採用するデータ処理装置や画像形成装置であればどのようなものでもよい。
本発明に係るデータ処理装置の一実施形態の構成例を示す図である。 図1に示したデータ処理装置における節電処理手順の概要を示したフローチャートである。 本発明に係る画像形成装置を備えたデータ処理システムの一実施形態の構成例を示す図である。 節電中にデータ転送されることの問題を説明する図である。 図4における節電機能の問題を解決する一手法を説明する図である。 節電制御部の基本的な作用を説明するために、図3に示したデータ処理装置の各機能部の構成を組み替えて示した概念図である。 図3に示した構成での節電モードへの遷移を示すフローチャートである。 図6に示した構成でのシステムの状態と信号の相関関係を示す図である。 PCIインタフェースを用いた場合における節電処理の問題点を説明する図である。 図3に示した構成におけるシステムの状態と信号の相関関係を示す図である。 図10に示した節電制御部の動作状態の概要を説明する図である。 本発明に係るデータ処理システムの変形例を示す図である。
符号の説明
1…データ処理システム、2…画像形成装置、3…データ処理装置、5…外部装置、9…通信ネットワーク、31…コントローラ部、32…使用権制御部、34…節電解除処理部、34a…節電解除トリガ検出部、34b…節電解除通知送信部、35…I/Oインタフェース部、36…節電制御部、37…データ転送要求監視部、38…復帰処理部、100…内部コントローラ部、110…CPU、120…メインメモリ部、122,124,126…DRAM、140…バス調停制御部、142…バスアービタ、144…バスブリッジ部、150…インタフェース部、156…汎用I/O_LSI、158…メモリバス、159…I/Oバス、160…節電制御部、162…第1節電制御部、164…第2節電制御部、300…画像形成部

Claims (6)

  1. 信号を送受信するための信号線を複数のデバイスで共有しつつ、一方のデバイスから他方のデバイスへデータを送受信するデータ処理方法であって、
    前記データ処理を行なうデータ処理装置が節電状態のときには前記信号線を使用状態に設定しておくステップと、
    前記節電状態のときに前記デバイスと転送対象データの送受信を行う送受信制御手段が前記デバイスから前記転送対象データを受信した際には、前記送受信制御手段に前記信号線の使用権を与えるステップと、
    前記節電状態のときに前記送受信制御手段が前記デバイスから前記転送対象データを受信した際には、前記データ処理装置を前記節電状態から復帰させ、前記データ処理装置が前記節電状態から復帰したときに前記信号線を前記使用状態から未使用状態に設定するステップと、
    前記送受信制御手段が前記信号線の使用権を与えられ前記信号線が未使用状態に設定された場合に、前記送受信制御手段が前記信号線を使用して転送対象データを転送できる状態に設定するステップと
    を有することを特徴とするデータ処理方法。
  2. 信号を送受信するための信号線を複数のデバイスで共有しつつ、一方のデバイスから他方のデバイスへデータを送受信するデータ処理装置であって、
    前記データ処理装置が節電状態の場合に前記信号線を使用状態に設定する信号線制御部と、
    前記デバイスと転送対象データの送受信を行う送受信制御部と、
    前記データ処理装置が節電状態のときに前記送受信制御部が前記デバイスから転送対象データを受信した場合に、前記信号線の使用権を前記送受信制御部に与える使用権制御部と
    を有し、
    前記信号線制御部は、前記データ処理装置が節電状態のときに前記送受信制御部が前記デバイスから前記転送対象データを受信した場合に、前記データ処理装置を前記節電状態から復帰させ、前記データ処理装置が前記節電状態から復帰した場合に前記信号線を前記使用状態から未使用状態に設定し、
    前記送受信制御部は、前記使用権制御部から前記信号線の使用権を与えられ前記信号線が未使用状態に設定された場合に、前記信号線を使用して転送対象データを転送する
    データ処理装置。
  3. 前記信号線制御部は、
    前記デバイスから発せられるデータ転送要求を監視するデータ転送要求監視部と、
    前記データ処理装置が前記節電状態のときに前記データ転送要求監視部が前記データ転送要求を検知したときに前記データ処理装置を前記節電状態から復帰させる復帰処理部と
    を有することを特徴とする請求項に記載のデータ処理装置。
  4. 前記復帰処理部は、
    前記節電状態から復帰させるための節電解除要求を行なう割込要求を送る割込要求送信部と、
    前記節電解除要求に応答した節電解除通知を受け取る節電解除通知受信部と
    を有し、
    前記節電解除通知受信部が受信する前記節電解除通知に応答して、前記信号線を前記使用状態から未使用状態に設定する
    ことを特徴とする請求項2または3に記載のデータ処理装置。
  5. 前記信号線制御部は、当該信号線制御部単独で前記信号線を使用してデータ転送を行なうことで前記信号線を使用状態に設定する
    ことを特徴とする請求項2〜4の内の何れか1項に記載のデータ処理装置。
  6. 画像信号を処理して所定の出力媒体に画像を形成する画像形成装置において、
    信号を送受信するための信号線を複数のデバイスで共有しつつ、一方のデバイスから他方のデバイスへ所定のデータを送受信することで前記画像信号に対して画像処理を施すデータ処理部であって、
    前記データ処理装置が節電状態の場合に前記信号線を使用状態に設定する信号線制御部と、
    前記デバイスと転送対象データの送受信を行う送受信制御部と、
    前記データ処理装置が節電状態のときに前記送受信制御部が前記デバイスから転送対象データを受信した場合に、前記信号線の使用権を前記送受信制御部に与える使用権制御部と
    を有するデータ処理部と、
    前記データ処理部により処理された画像信号に基づいて、前記所定の出力媒体上に画像を形成する画像記録部と
    を備え
    前記信号線制御部は、前記データ処理装置が節電状態のときに前記送受信制御部が前記デバイスから前記転送対象データを受信した場合に、前記データ処理装置を前記節電状態から復帰させ、前記データ処理装置が前記節電状態から復帰した場合に前記信号線を前記使用状態から未使用状態に設定し、
    前記送受信制御部は、前記使用権制御部から前記信号線の使用権を与えられ前記信号線が未使用状態に設定された場合に、前記信号線を使用して転送対象データを転送する
    画像形成装置。
JP2005091188A 2005-03-28 2005-03-28 データ処理方法およびデータ処理装置並びに画像形成装置 Active JP4716167B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005091188A JP4716167B2 (ja) 2005-03-28 2005-03-28 データ処理方法およびデータ処理装置並びに画像形成装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005091188A JP4716167B2 (ja) 2005-03-28 2005-03-28 データ処理方法およびデータ処理装置並びに画像形成装置

Publications (2)

Publication Number Publication Date
JP2006276978A JP2006276978A (ja) 2006-10-12
JP4716167B2 true JP4716167B2 (ja) 2011-07-06

Family

ID=37211720

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005091188A Active JP4716167B2 (ja) 2005-03-28 2005-03-28 データ処理方法およびデータ処理装置並びに画像形成装置

Country Status (1)

Country Link
JP (1) JP4716167B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8316255B2 (en) * 2009-09-09 2012-11-20 Ati Technologies Ulc Method and apparatus for responding to signals from a disabling device while in a disabled state
US9025194B2 (en) 2010-12-01 2015-05-05 Canon Kabushiki Kaisha Data transmission apparatus for transferring data to an output device for outputting data, printer, information processing apparatus, and control method thereof
JP2012118821A (ja) * 2010-12-01 2012-06-21 Canon Inc データ転送装置、プリンタ、制御方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003242104A (ja) * 2002-02-19 2003-08-29 Nec Microsystems Ltd バス制御方法及び情報処理装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000020462A (ja) * 1998-06-30 2000-01-21 Toshiba Corp コンピュータシステムに適用するバスシステム
JP2001180083A (ja) * 1999-12-24 2001-07-03 Fuji Xerox Co Ltd 印刷装置
KR100481873B1 (ko) * 2003-02-04 2005-04-11 삼성전자주식회사 절전모드를 갖는 매체 엑세스 제어기
JP4649926B2 (ja) * 2004-09-24 2011-03-16 富士ゼロックス株式会社 データ処理装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003242104A (ja) * 2002-02-19 2003-08-29 Nec Microsystems Ltd バス制御方法及び情報処理装置

Also Published As

Publication number Publication date
JP2006276978A (ja) 2006-10-12

Similar Documents

Publication Publication Date Title
CN109478172B (zh) 用于总线主控的转换功能的方法、装置和系统
US5625807A (en) System and method for enabling and disabling a clock run function to control a peripheral bus clock signal
JP5522279B2 (ja) 半導体集積回路及びその省電力制御方法
US10564700B2 (en) Image forming apparatus and power control method for image forming apparatus
JP5102789B2 (ja) 半導体装置及びデータプロセッサ
JP2010194811A (ja) 印刷装置用コントローラーおよび印刷装置
JP3954011B2 (ja) サブシステム間で通信するための方法およびコンピュータ・システム
TW201308069A (zh) 成像裝置、微處理器以及控制成像裝置和微處理器的方法
JP2010211351A (ja) 半導体集積回路、省電力制御方法、省電力制御プログラム及び記録媒体
JP2007012065A (ja) バスシステム及びバス仲裁方法
JP4716167B2 (ja) データ処理方法およびデータ処理装置並びに画像形成装置
US11144109B2 (en) Apparatus, method, and storage medium for controlling a power saving state in a SATA storage system
US10162549B2 (en) Integrated circuit chip and method therefor
US11204632B2 (en) Electronic device and method for controlling the same
US11436176B2 (en) Semiconductor integrated circuit and operation method thereof
US10055370B2 (en) Method and apparatis for processor standby
JP2011059426A (ja) 画像形成装置
US11036668B2 (en) Electronic apparatus including device configured to be shifted to power saving state and connected to PCI device, and control method thereof
JP2006276979A (ja) データ処理方法およびデータ処理装置並びに画像形成装置
JP5966305B2 (ja) 印刷装置
JP7374622B2 (ja) 情報処理装置
JP2014048865A (ja) 情報処理装置、および画像処理装置
JP4649926B2 (ja) データ処理装置
JP4164051B2 (ja) プロセッサ装置
US20230090126A1 (en) Device and method for reducing save-restore latency using address linearization

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080221

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20091009

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100312

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100324

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100514

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110304

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110317

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140408

Year of fee payment: 3