(57)【要約】【課題】本発明は、自動起動を適切に行う安価で小型の半導体集積回路を搭載する画像処理装置、起動処理方法、起動処理プログラム及び記録媒体に関する。【解決手段】画像処理装置１は、起動時、バス制御回路１４が内蔵ＣＰＵ１１を搭載し所定の動作処理を行う半導体集積回路１０を起動させるのに必要な起動情報を取得するまで、リセット制御回路１２が、内蔵ＣＰＵ１１の起動動作を待たせている。したがって、外部ＣＰＵ２と内蔵ＣＰＵ１１を同時に起動させる必要がある場合にも、コンフィグレーション端子を設けることなく、半導体集積回路１０の起動を安価にかつ適切に行うことができる。【選択図】          図１
2011138233.tif 000002
【特許請求の範囲】
【請求項１】
内部制御手段を搭載し所定の動作処理を行う半導体集積回路と、
前記内部制御手段によって前記半導体集積回路を起動動作させるのに必要な起動情報を取得する動作情報取得手段と、
前記動作情報取得手段が前記起動情報を取得して前記内部制御手段に渡されるまで該内部制御手段の起動動作を待たせる機動待機手段と、
を備えていることを特徴とする画像処理装置。
【請求項２】
前記半導体集積回路は、少なくともブートプログラムの格納されている外部メモリに所定のバス幅のバスで接続され、
前記動作情報取得手段は、前記起動情報として前記外部メモリとのバス幅を取得し、
前記内部制御手段は、前記動作情報取得手段の取得したバス幅に基づいて前記外部メモリから前記ブートプログラムを読み出して起動することを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記画像処理装置は、前記半導体集積回路の外部に設けられ各部の動作を制御する外部制御手段を備え、
前記外部制御手段は、前記起動情報を前記半導体集積回路に提供し、
前記動作情報取得手段は、前記外部制御手段から提供される前記起動情報を取得することを特徴とする請求項１または請求項２記載の画像処理装置。
【請求項４】
前記画像処理装置は、前記半導体集積回路内または該半導体集積回路外に不揮発性メモリを備え、
前記内部制御手段は、電力の供給が停止される際に、前記起動情報を前記不揮発性メモリに書き出し、電力の供給が開始されると、該不揮発性メモリから該起動情報を読み出して、起動することを特徴とする請求項１または請求項２記載の画像処理装置。
【請求項５】
前記画像処理装置は、
外部からのパケットがIPsec処理を必要とするIPsecパケットであるか否かを検出するIPsecパケット検出手段と、
前記IPsecパケット検出手段が前記IPsecパケットを未検出の間は、前記半導体集積回路への電力供給を停止し、前記IPsecパケット検出手段が該IPsecパケットを検出すると、該半導体集積回路への電力供給を開始する電力制御手段と、
を備え、
前記半導体集積回路は、前記内部制御手段として、パケット通信におけるIPsec処理を行うIPsec処理手段を搭載し、
前記IPsec処理手段は、電力の供給が停止される際に、前記起動情報を前記不揮発性メモリに書き出し、電力の供給が開始されると、該不揮発性メモリから該起動情報を読み出して、起動することを特徴とする請求項４記載の画像処理装置。
【請求項６】
前記起動情報は、前記IPsec処理におけるパラメータを含んでいることを特徴とする請求項５記載の画像処理装置。
【請求項７】
内部制御手段を搭載する半導体集積回路を備えた画像処理装置における起動処理方法であって、
前記内部制御手段によって前記半導体集積回路を起動動作させるのに必要な起動情報を取得する動作情報取得処理ステップと、
前記動作情報取得処理ステップで前記起動情報が取得されて前記内部制御手段に渡されるまで該内部制御手段の起動動作を待たせる機動待機処理ステップと、
を有していることを特徴とする起動処理方法。
【請求項８】
内部制御手段を搭載する半導体集積回路を備えた画像処理装置における起動処理プログラムであって、
コンピュータに、
前記内部制御手段によって前記半導体集積回路を起動動作させるのに必要な起動情報を取得する動作情報取得処理と、
前記動作情報取得処理で前記起動情報が取得されて前記内部制御手段に渡されるまで該内部制御手段の起動動作を待たせる機動待機処理と、
を実行させることを特徴とする起動処理プログラム。
【請求項９】
請求項８記載の起動処理プログラムを記録したことを特徴とするコンピュータが読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、起動処理方法、起動処理プログラム及び記録媒体に関し、詳細には、ＣＰＵを内蔵する半導体集積回路を搭載して、該半導体集積回路に該半導体集積回路の外部メモリとのバス幅に適した動作を実行させる画像処理装置、起動処理方法、起動処理プログラム及び記録媒体に関する。
【背景技術】
【０００２】
近年、複写装置、ファクシミリ装置、プリンタ装置、複合装置、スキャナ装置、コンピュータ等の画像処理装置は、画像処理を行うのに複数の機能モジュールを搭載した半導体集積回路、例えば、ＡＳＩＣ（Application Specific Integrated Circuit）等を搭載して、メインＣＰＵ（Central Processing Unit ）の制御下で各種画像処理を行っており、また、近年、ネットワークに接続されてネットワーク上の端末との間でデータの送受信を行うネットワーク機能を備えた画像処理装置が出現している。
【０００３】
このようなＡＳＩＣは、種々の画像処理やネットワーク通信処理を行うために、ＡＳＩＣ外部にＳＲＡＭ（Static Random Access Memory）やＥＥＰＲＯＭ（Electrically Erasable Programmable Read-Only Memory）等の外部メモリが接続され、ブートプログラムや動作パラメータ等の起動情報を格納する。
【０００４】
そして、このような画像処理装置は、半導体集積回路に接続される外部メモリのバス幅は、画像処理装置の機種により異なり、半導体集積回路には、外部メモリのバス幅の異なる機種に対しても、共通して利用可能な汎用性が求められる。
【０００５】
そして、従来、ビット構成の異なるバス幅に一致させたビット構成の異なる複数のチップセットを混在させたＤＤＲ  ＳＤＲＡＭ（Ｄouble Ｄata Ｒate Ｓynchronous Ｄynamic Ｒandom ＡccessＭemory）を記憶手段としてデータバスを介してデータの読み書きを行うメモリ制御装置において、チップセット毎に何ビット品構成かを示す情報を予めレジスタに設定する技術が提案されている（特許文献１参照）。
【０００６】
また、近年、画像処理装置においては、待機状態が所定時間以上経過すると、主要各部への電力の供給を停止したり、削減する省電力モードを備えている。画像処理装置は、この省電力モードにおいて、半導体集積回路外部に設けられている外部ＣＰＵ（メインＣＰＵ）への電力の供給を停止するとともに、半導体集積回路に内蔵のＣＰＵへの通電は継続する場合と、半導体集積回路に内蔵のＣＰＵへの電力の供給も停止する場合と、があり、このような半導体集積回路内外のＣＰＵへの電力供給の有無によって、通電開始時のバス幅の設定をいかに行うかが重要な課題となる。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上記従来技術にあっては、バス幅の異なるチップセット毎に予めビット品構成をレジスタに設定して、チップセットに応じてバス幅を設定して動作しているため、半導体集積回路外部のＣＰＵによってレジスタにバス幅を設定することで、さまざまなバス幅のチップセットに対してアクセスすることはできるが、アクセス対象の半導体集積回路外部のメモリが、半導体集積回路の内蔵ＣＰＵのブート用メモリの場合には、レジスタにバス幅を設定するためには、半導体集積回路にコンフィグレーション端子を備えている必要があり、半導体集積回路が、大型で構成が複雑化するとともに、高価なものとなるという問題があった。
【０００８】
そこで、本発明は、自動起動を適切に行う安価で小型の半導体集積回路を搭載する画像処理装置、起動処理方法、起動処理プログラム及び記録媒体を提供することを目的としている。
【課題を解決するための手段】
【０００９】
本発明は、上記目的を達成するために、内部制御手段を搭載し所定の動作処理を行う半導体集積回路を起動させるのに必要な起動情報を取得するまで、該内部制御手段の起動動作を待たせることを特徴としている。
【００１０】
また、本発明は、前記半導体集積回路が、少なくともブートプログラムの格納されている外部メモリに所定のバス幅のバスで接続され、前記起動情報として前記外部メモリとのバス幅を取得し、前記内部制御手段が、取得したバス幅に基づいて前記外部メモリから前記ブートプログラムを読み出して起動することを特徴としてもよい。
【００１１】
さらに、本発明は、前記半導体集積回路の外部に設けられ各部の動作を制御する外部制御手段から提供される起動情報を取得し、前記内部制御手段が該起動情報によって起動動作することを特徴としてもよい。
【００１２】
また、本発明は、前記半導体集積回路内または該半導体集積回路外に不揮発性メモリを備え、前記内部制御手段が、電力の供給が停止される際に、前記起動情報を前記不揮発性メモリに書き出し、電力の供給が開始されると、該不揮発性メモリから該起動情報を読み出して、起動することを特徴としてもよい。
【発明の効果】
【００１３】
本発明によれば、半導体集積回路の起動を安価にかつ適切に行うことができる。
【図面の簡単な説明】
【００１４】
【図１】本発明の第１実施例を適用した画像処理装置の要部ブロック構成図。
【図２】本発明の第２実施例を適用した画像処理装置の要部ブロック構成図。
【図３】本発明の第３実施例を適用した画像処理装置の要部ブロック構成図。
【図４】本発明の第４実施例を適用した画像処理装置の要部ブロック構成図。
【図５】本発明の第５実施例を適用した複合装置の要部ブロック構成図。
【図６】図５の複合装置によるIPsecアクセラレータ電力制御処理を示すフローチャート。
【図７】第５実施例の複合装置によるIPsec処理を必要とするパケットを検出したときの説明図。
【図８】IPsecパケット処理の流れの説明図。
【図９】図８のIPsecパケット処理流れの続きを示す図。
【図１０】図９のIPsecパケット処理流れの続きを示す図。
【図１１】IPsec処理の要否の確認処理を説明するためのパケット構造図。
【図１２】第５実施例における複合装置の他の例を示す要部ブロック構成図。
【図１３】第５実施例における複合装置のさらに他の例を示す要部ブロック構成図。
【図１４】自装置宛か否かも判定する確認処理を説明するためのパケット構造図。
【発明を実施するための形態】
【００１５】
以下、本発明の好適な実施例を添付図面に基づいて詳細に説明する。なお、以下に述べる実施例は、本発明の好適な実施例であるので、技術的に好ましい種々の限定が付されているが、本発明の範囲は、以下の説明によって不当に限定されるものではなく、また、本実施の形態で説明される構成の全てが本発明の必須の構成要件ではない。
【実施例１】
【００１６】
図１は、本発明の画像処理装置、起動処理方法、起動処理プログラム及び記録媒体の第１実施例を適用した画像処理装置１の要部ブロック構成図である。
【００１７】
図１において、画像処理装置１は、複合装置、複写装置、プリンタ装置、スキャナ装置、ファクシミリ装置、コンピュータ等の画像処理を行う装置であり、外部ＣＰＵ２、外部メモリ３及び半導体集積回路１０を備えているとともに、図示しないが、画像処理装置１として必要な各部、例えば、複合装置であれば、スキャナ部、プリンタ部、ファクシミリ部、ネットワーク部等を備えていて、スキャナ機能、プリンタ機能、ファクシミリ通信機能及びネットワークを利用したデータの送受信機能やメール機能等を実行する。この画像処理装置１は、電源投入時に、半導体集積回路１０と外部ＣＰＵ２が同時に起動する必要がある場合、または、半導体集積回路１０が外部ＣＰＵ２よりも前に起動する必要がある場合（以下、単に半導体集積回路１０と外部ＣＰＵ２が同時に起動する必要がある場合という。）と、半導体集積回路１０が外部ＣＰＵ２の起動後に起動してもよい場合とがあり、半導体集積回路１０は、このような起動規制の状況に応じて、ブートプログラムの格納されている外部メモリ３とのバス幅を適切に取得して、起動する。
【００１８】
外部メモリ（不揮発性メモリ）３は、ＳＲＡＭ（Static ＲＡＭ ）等であり、半導体集積回路１０によってアクセスされる。外部メモリ３は、半導体集積回路１０の動作に必要なパラメータやデータ、特に、ブートプログラムや本発明の起動処理プログラム等を格納するとともに、半導体集積回路１０の処理結果のデータ等を記憶する。
【００１９】
外部ＣＰＵ２は、画像処理装置１の基本プログラム及び本発明の起動処理プログラムに基づいて画像処理装置１の各部を制御して、画像処理装置１としての処理を実行するとともに、本発明の起動処理方法を実行する。
【００２０】
半導体集積回路１０は、内蔵ＣＰＵ１１、リセット制御回路１２、内部バス１３及びバス制御回路１４等を備えており、外部メモリ３に格納されているプログラムやデータを読み込んで、各種処理を実行する。
【００２１】
半導体集積回路１０には、外部からリセット信号が入力され、リセット信号は、半導体集積回路１０のリセット制御回路１２及びバス制御回路１４に入力される。
【００２２】
リセット制御回路（機動待機手段）１２には、外部からのリセット信号とバス制御回路１４からのバス幅検知信号が入力される。リセット制御回路１２は、リセット信号が入力されたときに、バス制御回路１４からのバス幅検知信号が無効の場合には、内蔵ＣＰＵ１１へのリセット信号を保持し、バス幅検知信号が有効であると、リセット信号を内蔵ＣＰＵ１１へ出力する。
【００２３】
バス制御回路（動作情報取得手段）１４は、リセット信号が入力されると、外部メモリ３にアクセスして、自動で外部メモリ３との間におけるバスのバス幅を検知する。この場合、例えば、外部メモリ３の予め設定されているアドレス（以下、バス幅検知アドレスという。）、例えば、アドレス「0x00000000」に、バス幅検知情報、例えば、「0x12345678」が格納されており、バス制御回路１４は、リセット解除後（リセット信号がＯＮからＯＦＦに切り替わった後）に、外部メモリ３のバス幅検知アドレスにリードアクセスを行って、バス幅検知情報を読み出してバス幅を確定する。例えば、アドレス「0x00000000」の読み出し値が「0x12」であった場合は、8bit、読み出し値が「0x1234」であった場合は、16bit、読み出した値が「0x12345678」であった場合は、32bitとバス幅を確定する。
【００２４】
バス制御回路１４は、バス幅を検知すると、リセット制御回路１２へのバス幅検知信号を有効にする。なお、バス制御回路１４は、電源が投入された後は、バス幅検知信号を無効にする。
【００２５】
リセット制御回路１２は、リセット信号が入力された後に、バス制御回路１４からのバス幅検知信号が有効になると、内蔵ＣＰＵ１１へのリセット信号の保持を解除する。
【００２６】
内蔵ＣＰＵ１１は、リセット制御回路１２からリセット信号が入ると、内部バス１３及びバス制御回路１４を介し、外部メモリ３からブートプログラムを読み込んで、起動する。
【００２７】
なお、画像処理装置１は、ＲＯＭ、ＥＥＰＲＯＭ（Electrically Erasable and Programmable Read Only Memory ）、ＥＰＲＯＭ、フラッシュメモリ、フレキシブルディスク、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory ）、ＣＤ−ＲＷ（Compact Disc Rewritable ）、ＤＶＤ（Digital Versatile Disk）、ＳＤ（Secure Digital）カード、ＭＯ（Magneto-Optical Disc）等のコンピュータが読み取り可能な記録媒体に記録されている本発明の起動処理方法を実行する起動処理プログラムを読み込んで図示しないＲＯＭ等に導入することで、後述する起動に必要な起動情報をコンフィグレーション端子を設けることなく取得して、適切にかつ安価に起動する起動処理方法を実行する画像処理装置として構築されている。この起動処理プログラムは、アセンブラ、Ｃ、Ｃ＋＋、Ｃ＃、Ｊａｖａ（登録商標）等のレガシープログラミング言語やオブジェクト指向ブログラミング言語等で記述されたコンピュータ実行可能なプログラムであり、上記記録媒体に格納して頒布することができる。
【００２８】
次に、本実施例の作用を説明する。本実施例の画像処理装置１は、電源投入時に、外部ＣＰＵ２と半導体集積回路１０とが同時に起動する必要がある場合に、半導体集積回路１０が外部メモリ３とのバス幅を自動検知して、該外部メモリ３内のブートプログラムを適切に取得して、起動する。
【００２９】
すなわち、画像処理装置１は、電源投入後、外部からリセット信号が半導体集積回路１０に入力される。リセット信号は、半導体集積回路１０のリセット制御回路１２とバス制御回路１４に入力され、リセット制御回路１２は、バス制御回路１４からのバス幅検知信号が有効になるまでは、内蔵ＣＰＵ１１へのリセット信号を保持する。
【００３０】
バス制御回路１４は、リセット信号が入力されると、外部メモリ３のバス幅検知アドレスにリードアクセスし、外部メモリ３のバス幅検知アドレスに格納されているバス幅検知情報を読み出して、外部メモリ３と半導体集積回路１０とのバスのバス幅を確定する。バス制御回路１４は、外部メモリ３とのバスのバス幅を確定すると、リセット制御回路１２へのバス幅検知信号を有効にする。
【００３１】
リセット制御回路１２は、バス幅検知信号が有効になると、保持していたリセットを解除して内蔵ＣＰＵ１１に出力し、内蔵ＣＰＵ１１は、リセットが入ると、内部バス１３及びバス制御回路１４を介して、外部メモリ３からブートプログラムを読み込んで、起動する。
【００３２】
このように、本実施例の画像処理装置１は、内蔵ＣＰＵ１１を搭載し所定の動作処理を行う半導体集積回路１０を起動させるのに必要な起動情報を取得するまで、リセット制御回路１２が内蔵ＣＰＵ１１の起動動作を待たせている。
【００３３】
したがって、外部ＣＰＵ２と内蔵ＣＰＵ１１を同時に、または、内蔵ＣＰＵ１１を外部ＣＰＵ２よりも前に起動させる必要がある場合にも、半導体集積回路１０の起動を適切に行うことができ、半導体集積回路１０にコンフィグレーション端子を設けることなく、半導体集積回路１０の起動を安価にかつ適切に行うことができる。
【００３４】
また、本実施例の画像処理装置１は、半導体集積回路１０が、少なくともブートプログラムの格納されている外部メモリ３に所定のバス幅のバスで接続され、バス制御回路１４が、起動情報として外部メモリ３とのバス幅を取得して、内蔵ＣＰＵ１１が、取得したバス幅に基づいて外部メモリ３から起動情報としてのブートプログラムを読み出して起動する。
【００３５】
したがって、外部ＣＰＵ２と内蔵ＣＰＵ１１を同時に起動させる必要がある場合にも、ブートプログラムを格納している外部メモリ３とのバス幅を取得した後に、該外部メモリ３からブートプログラムを読み出して、半導体集積回路１０の起動を行うことができ、半導体集積回路１０にコンフィグレーション端子を設けることなく、半導体集積回路１０の起動を安価にかつ適切に行うことができる。
【００３６】
さらに、本実施例の画像処理装置１は、半導体集積回路１０が外部ＣＰＵ２の起動後に起動してもよい場合には、半導体集積回路１０が、外部ＣＰＵ２から設定されるバス幅に応じて、外部メモリ３からブートプログラムを読み出して、起動する。
【００３７】
すなわち、半導体集積回路１０は、外部からリセット信号が入力されると、リセット制御回路１２は、バス制御回路１４からのバス幅検知信号が有効になるまで、内蔵ＣＰＵ１１へのリセット信号を保持する。
【００３８】
外部ＣＰＵ２は、内部バス１３を介してバス制御回路１４に外部メモリ３とのバス幅を設定する。すなわち、外部ＣＰＵ２は、図示しないメモリ等の予め格納されている外部メモリ３のバス幅情報を取得して、バス制御回路１４に設定する。すなわち、内部バス１２及びバス制御回路１４は、全体として、外部ＣＰＵ２から起動情報であるバス幅を取得する動作情報取得手段として機能している。
【００３９】
バス制御回路１４は、バス幅が設定されると、リセット制御回路１２へのバス幅検知信号を有効にする。
【００４０】
リセット制御回路１２は、バス幅検知信号が有効になると、保持していたリセットを解除して内蔵ＣＰＵ１１に出力し、内蔵ＣＰＵ１１は、リセットが入ると、内部バス１３及びバス制御回路１４を介して、外部メモリ３からブートプログラムを読み込んで、起動する。
【００４１】
画像処理装置１が、半導体集積回路１０の電源供給を停止して消費電力を削減する省電力モードを備えている場合に、該省電力モードからの復帰時に、半導体集積回路１０への電源の供給が開始されると、上述のように、外部ＣＰＵ２が先に起動しているので、外部ＣＰＵ２から外部メモリ３とのバス幅を半導体集積回路１０のバス制御回路１４に設定することで、速やかに起動することができる。
【００４２】
このように、本実施例の画像処理装置１は、半導体集積回路１０の内蔵ＣＰＵ１１が外部ＣＰＵ２よりも後で起動してもよい場合には、内蔵ＣＰＵ１１が、外部ＣＰＵ２から設定されるバス幅によってバス制御回路１４を介して外部メモリ３からブートプログラムを読み込んで起動する。
【００４３】
したがって、半導体集積回路１０の内蔵ＣＰＵ１１が外部ＣＰＵ２よりも後で起動してもよい場合には、外部ＣＰＵ２からのバス幅等の起動情報によって起動することができ、半導体集積回路１０にコンフィグレーション端子を設けることなく、半導体集積回路１０の起動を安価にかつ適切に行うことができる。
【実施例２】
【００４４】
図２は、本発明の画像処理装置、起動処理方法、起動処理プログラム及び記録媒体の第２実施例を適用した画像処理装置１の要部ブロック構成図である。
【００４５】
なお、本実施例の画像処理装置１は、上記第１実施例の画像処理装置１と同様の画像処理装置に適用したものであり、第１実施例の画像処理装置１と同様の構成部分には、同一の符号を付して、その説明を簡略化する。
【００４６】
本実施例の画像処理装置１は、外部ＣＰＵ２、外部メモリ３及び半導体集積回路２０等を備えてを備えているとともに、図示しないが、第１実施例と同様に、画像処理装置１として必要な各部を備えている。なお、本実施例の画像処理装置１は、外部ＣＰＵ２と半導体集積回路２０が同時に、または、半導体集積回路２０が外部ＣＰＵ２よりも先に、起動する必要のある画像処理装置である。
【００４７】
半導体集積回路２０は、第１実施例の半導体集積回路１０と同様の内蔵ＣＰＵ１１、リセット制御回路１２、内部バス１３、バス制御回路１４を備えているとともに、起動制御回路２１を備えている。
【００４８】
起動制御回路（機動待機手段）２１には、起動タイマが内蔵されており、外部からリセット信号が入力される。外部メモリ３には、ブートプログラムが格納されているとともに、起動制御回路２１の起動タイマをストップさせるプログラムが格納されている。
【００４９】
起動制御回路２１は、外部からリセット信号が入力されると、起動制御回路２１内部の起動タイマを起動させた後に、リセット制御回路１２にリセット解除を行う。
【００５０】
リセット制御回路１２は、外部からリセット信号が入力された後に、起動制御回路２１からリセット解除があると、内蔵ＣＰＵ１１にリセット信号を出力する。
【００５１】
内蔵ＣＰＵ１１は、リセット信号が入力されると、内部バス１３及びバス制御回路１４を介して外部メモリ３にリードアクセスして、ブートプログラム及びタイマストッププログラムを読み出して、起動する。
【００５２】
内蔵ＣＰＵ１１は、起動に失敗した場合、すなわち、バス制御回路１４のバス幅設定と外部メモリ３のバス幅が異なっていた場合、起動制御回路２１の起動タイマを停止させないため、起動タイマは、タイムアウトする。
【００５３】
起動制御回路２１は、バス制御回路１４へバス幅の設定を行い、起動タイマがタイムアウトすると、リセット制御回路１２に対してタイムアウトを通知する。
【００５４】
リセット制御回路１２は、内蔵ＣＰＵ１１にリセット信号を出力してリセットをかけ、起動制御回路２１は、起動タイマを再び起動する。
【００５５】
内蔵ＣＰＵ１１は、リセット信号が入力されると、内部バス１３及びバス制御回路１４を介して外部メモリ３にリードアクセスして、ブートプログラム及びタイマストッププログラムを読み出して、起動する処理から上記同様に処理する。
【００５６】
そして、起動制御回路２１は、起動に成功した場合、すなわち、バス制御回路１４のバス幅設定と外部メモリ３のバス幅が一致していた場合、起動制御回路２１の起動タイマを停止させる。
【００５７】
このように、本実施例の画像処理装置１は、内部に起動タイマを持ち、起動した内蔵ＣＰＵ１１により起動タイマが停止されるまで、起動タイマのタイムアウト毎に外部メモリ３へアクセスするバス幅を変更して外部メモリ３からブートプログラムを読み込んで起動するまで、処理を繰り返す。
【００５８】
したがって、バス幅設定用のコンフィグレーション端子を設けることなく、適切かつ確実に半導体集積回路２０を起動させることができる。
【実施例３】
【００５９】
図３は、本発明の画像処理装置、起動処理方法、起動処理プログラム及び記録媒体の第３実施例を適用した画像処理装置１の要部ブロック構成図である。
【００６０】
なお、本実施例の画像処理装置１は、上記第１実施例の画像処理装置１と同様の画像処理装置に適用したものであり、第１実施例の画像処理装置１と同様の構成部分には、同一の符号を付して、その説明を簡略化または省略化する。
【００６１】
本実施例の画像処理装置１は、外部ＣＰＵ２、外部メモリ３、リセットＩＣ４、リセットＩＣ４の外付けコンデンサ５及び半導体集積回路３０等を備えているとともに、図示しないが、第１実施例と同様に、画像処理装置１として必要な各部を備えている。なお、本実施例の画像処理装置１は、外部ＣＰＵ２と半導体集積回路３０が同時に、または、半導体集積回路３０が外部ＣＰＵ２よりも先に、起動する必要のある画像処理装置である。
【００６２】
半導体集積回路３０は、第１実施例の半導体集積回路１０と同様の内蔵ＣＰＵ１１、内部バス１３及びバス制御回路１４を備えているとともに、バス幅検知タイマ回路３１等を備えており、内部バス１３に外部ＣＰＵ２が、バス制御回路１４に外部メモリ３が、それぞれ接続されている。
【００６３】
リセットＩＣ４は、リセット信号を半導体集積回路３０に出力するとともに、リセット解除信号をバス幅検知タイマ回路３１に出力し、このリセット解除信号が出力されるまでのリセット解除時間は、外付けコンデンサ５の容量を調整することで、設定される。
【００６４】
半導体集積回路３０のバス幅検知タイマ回路（起動待機手段）３１は、外部のリセットＩＣ４からリセット信号とリセット解除信号が入力されるとともに、バス制御回路１４からバス幅検知信号が入力され、バス幅検知タイマ回路３１には、リセット解除時間とバス幅の関係をリセット解除時間−バス幅テーブルとして予め登録されている。例えば、リセット解除時間−バス幅テーブルには、リセット解除時間、50μs〜60μsに対して、バス幅として、8bitが、リセット解除時間、60μs〜70μsに対して、バス幅として、16bitが、リセット解除時間、70μs〜80μsに対して、バス幅として、32bitが、それぞれ登録されている。
【００６５】
バス幅検知タイマ回路３１は、電力が投入されると、内蔵ＣＰＵ１１へのリセット信号を保持しつつ、リセット解除時間のカウントを開始し、リセット信号が解除されるまでのリセット解除カウント時間を測定する。バス幅検知タイマ回路３１は、カウントしたリセット解除カウント時間に基づいて、予め登録されているリセット解除時間−バス幅テーブルを参照して、バス幅を取得し、内蔵ＣＰＵ１１へのリセット信号の保持を解除するとともに、取得したバス幅をバス幅通知信号によってバス制御回路１４に通知する。
【００６６】
内蔵ＣＰＵ１１は、バス幅検知タイマ回路３１からリセット信号が入力されると、内部バス１３及びバス制御回路１４を介し、外部メモリ３からブートプログラムを読み込んで、起動する。
【００６７】
次に、本実施例の作用を説明する。本実施例の画像処理装置１は、電源投入時に、外部ＣＰＵ２と半導体集積回路３０とが同時に起動する必要がある場合に、半導体集積回路３０が、外部からのリセット信号とリセット解除信号の時間差によって外部メモリ３とのバス幅を検知して、該外部メモリ３内のブートプログラムを適切に取得して、起動する。
【００６８】
すなわち、画像処理装置１は、電源投入後、外部のリセットＩＣ４からリセット信号が半導体集積回路３０に入力され、その後、外付けコンデンサ５の容量で設定されるリセット解除時間の後に、リセット解除信号が半導体集積回路３０に入力される。
【００６９】
リセット信号は、半導体集積回路３０のバス幅検知タイマ３１とバス制御回路１４に入力され、バス幅検知タイマ３１は、リセット解除信号が入力されるまでは、内蔵ＣＰＵ１１へのリセット信号を保持する。
【００７０】
バス幅検知タイマ３１は、電力が投入されてリセットＩＣ４からリセット信号が入力されると、内蔵ＣＰＵ１１へのリセット信号を保持しつつ、リセット解除時間のカウントを開始し、リセット信号が解除されるまでのリセット解除カウント時間を測定する。バス幅検知タイマ回路３１は、カウントしたリセット解除カウント時間に基づいて、予め登録されているリセット解除時間−バス幅テーブルを参照して、バス幅を取得し、内蔵ＣＰＵ１１へのリセット信号の保持を解除するとともに、取得したバス幅をバス幅通知信号によってバス制御回路１４に通知する。
【００７１】
内蔵ＣＰＵ１１は、バス幅検知タイマ回路３１からリセット信号が入力されると、内部バス１３及びバス制御回路１４を介し、外部メモリ３からブートプログラムを読み込んで、起動する。
【００７２】
このように、本実施例の画像処理装置１は、半導体集積回路３０が、リセット信号とリセット解除信号の時間差を測定し、該測定結果により外部メモリ３のバス幅を決定している。
【００７３】
したがって、バス幅設定用のコンフィグレーション端子を設けることなく、外部メモリ３とのバス幅を設定してブートプログラムを読み込むことができ、安価かつ適切に起動することができる。
【実施例４】
【００７４】
図４は、本発明の画像処理装置、起動処理方法、起動処理プログラム及び記録媒体の第４実施例を適用した画像処理装置１の要部ブロック構成図である。
【００７５】
なお、本実施例の画像処理装置１は、上記第１実施例の画像処理装置１と同様の画像処理装置に適用したものであり、第１実施例の画像処理装置１と同様の構成部分には、同一の符号を付して、その説明を簡略化または省略する。
【００７６】
本実施例の画像処理装置１は、外部ＣＰＵ２、外部メモリ３及び半導体集積回路４０等を備えているとともに、図示しないが、第１実施例と同様に、画像処理装置１として必要な各部を備えている。なお、本実施例の画像処理装置１は、省電力モードを備えており、この省電力モードにおいて、外部ＣＰＵ２と半導体集積回路４０のバス制御回路１４への電力が遮断可能な画像処理装置である。
【００７７】
半導体集積回路４０は、第１実施例の半導体集積回路１０と同様の内蔵ＣＰＵ１１、内部バス１３、バス制御回路１４及びＳＲＡＭ（Static Random Access Memory）４１等を備えており、内部バス１３に外部ＣＰＵ２が、バス制御回路１４に外部メモリ３が、それぞれ接続されている。なお、本実施例の画像処理装置１は、外部ＣＰＵ２よりも後で半導体集積回路４０が起動してもよい画像処理装置である。
【００７８】
内部バス１３は、ＳＲＡＭ４１、内蔵ＣＰＵ１１及びバス制御回路１４に接続されているとともに、外部ＣＰＵ２に接続され、バス制御回路１４は、外部メモリ３に接続されている。
【００７９】
ＳＲＡＭ（不揮発性メモリ）４１は、電力供給が遮断される場合にも、記憶内容を保持する不揮発性メモリであり、内部ＣＰＵ１１によって、自分自身が動作するプログラムとともに、バス制御回路１４のバス幅情報、及び、動作パラメータ等の起動情報が格納される。
【００８０】
すなわち、画像処理装置１は、外部ＣＰＵ２及び半導体集積回路４０、特に、半導体集積回路４０のバス制御回路１４への電力供給を遮断する前に、内蔵ＣＰＵ１１が、自分自身が動作するプログラム及びバス制御回路１４の保持している外部メモリ３とのバス幅情報をＳＲＡＭ４１に保管し、その後、電力供給を遮断する。
【００８１】
内部ＣＰＵ１１は、電力供給の遮断中は、半導体集積回路４０内部のＳＲＡＭ４１に保管されているプログラムによって動作する。
【００８２】
内部ＣＰＵ１１は、外部メモリ３にアクセスする必要があるときには、バス制御回路１４への電力供給を再開し、電源遮断前にすら４１に保管したバス幅情報を読み出して、バス制御回路１４に設定する。内部ＣＰＵ１１は、バス幅をバス制御回路１４に設定すると、内部バス１３及びバス制御回路１４を介して該バス幅によって外部メモリ３にアクセスする。
【００８３】
このように、本実施例の画像処理装置１は、省電力モードへ移行する場合等のように、バス制御回路１４への電力供給が遮断される前に、外部メモリ３とのバス幅情報をＳＲＡＭ４１に格納し、バス制御回路１４への電力供給再開時にＳＲＡＭ４１に格納されたバス幅情報を再度、バス制御回路１４に設定して外部メモリ３からブートプログラムを読み出している。
【００８４】
したがって、不揮発性メモリであるＳＲＡＭ４１を利用して、起動に必要なバス幅情報を取得して、起動することができ、バス幅設定用のコンフィグレーション端子を設けることなく、安価にかつ適切に半導体集積回路４０を起動させることができる。
【実施例５】
【００８５】
図５〜図１４は、本発明の画像処理装置、起動処理方法、起動処理プログラム及び記録媒体の第５実施例を適用した複合装置１００の要部ブロック構成図である。
【００８６】
なお、本実施例は、電力遮断前に、外部とのバス幅を不揮発性メモリに格納して電力供給開始時に、該不揮発性メモリからバス幅を取得して設定することで、速やかで適切な外部とのアクセスを行う。
【００８７】
図５は、複合装置（画像処理装置）１００のネットワーク部分のブロック構成を示しており、ネットワークを介して外部コンピュータＰＣに接続されるＰＨＹ（Physical Layer Device）１０１、セレクタモジュール１０２、ＦＥＴ（Field Effect Transistor）１０３、ネットワークコントローラ１１０、Ipsec（Internet Protocol Security Protocol）アクセラレータ１２０及びこれら各部のＩ／ＦであるＭＩＩ  Ｉ／Ｆ（Media Independent Interface）１０４ａ〜１０４ｄ等を備えている。
【００８８】
ネットワークコントローラ１１０は、受信ＤＭＡＣ（Direct Memory Access Controller）１１１、送信ＤＭＡＣ１１２、IPsecパケットフィルタ１１３、ＭＡＣ部１１４及び帰還経路１１５等を備えており、ＭＡＣ部１１４は、受信用のＲｘＭＡＣ（Media Access Control）１１４ａとバッファ（buffer）１１４ｂ、ＴｘＭＡＣ１１４ｃ及びバッファ１１４ｄ等を備えている。
【００８９】
IPsecアクセラレータ（半導体集積回路）１２０は、ＰＨＹ１０１側のＭＡＣ部１２１、入力切替セレクタ１２２、IPsec処理部（内部制御手段）１２３、ネットワークコントローラ１１０側のＭＡＣ部１２４等を備えており、ＭＡＣ部１２１は、ＲｘＭＡＣ１２１ａ、バッファ１２１ｂ、ＴｘＭＡＣ１２１ｃ及びバッファ１２１ｄを、ＭＡＣ部１２４は、ＴｘＭＡＣ１２４ａ、バッファ１２４ｂ、ＲｘＭＡＣ１２４ｃ、出力切替セレクタ１２４ｄ及びバッファ１２４ｅを、それぞれ備えている。
【００９０】
本実施例の複合装置１００は、複合装置１００が実行するデータ処理として、IPsec処理を行い、このIPsecは、ＯＳＩ参照モデル（OpenSystem Interconnection reference model）の第３層であるネットワーク層において認証処理及び暗号化処理を行うためのプロトコルである。複合装置１００は、IPsecを処理するためのハードウェアアクセラレータとしてIPsecアクセラレータ１２０を搭載することで、図示しないＣＰＵへの負荷を低減させている。
【００９１】
本実施例の複合装置１００は、ネットワークコントローラ１１０には、内部バスとのインターフェイスが必要になるため、ＰＨＹ１０１、IPsecアクセラレータ１２０、ネットワークコントローラ１１０の順に並んでおり、IPsecアクセラレータ１２０は、ＰＨＹ１０１とネットワークコントローラ１１０に対して、ＭＩＩ１０４ａ〜１０４ｄによって通信する必要があるため、送信用、受信用のＭＡＣ部１２１、１２４を２組搭載している。また、送信用、受信用のＭＡＣ部１２１、１２４は、それぞれパケットを蓄えておくバッファ１２１ｂ、１２１ｄ、１２４ｂ、１２４ｅをそれぞれ搭載している。
【００９２】
ところが、IPsecアクセラレータ１２０を搭載すると、IPsecアクセラレータ１２０によって外部の外部コンピュータＰＣから送られてくるパケットを監視するために、どのような状況でもIPsecアクセラレータ１２０に電力を供給しておく必要があり、複合装置１００全体の平均消費電力量が増加する。
【００９３】
そこで、複合装置１００は、IPsecアクセラレータ１２０を使用しないときには、ＦＥＴ１０３によってIPsecアクセラレータ１２０への電力供給を停止し、セレクタモジュール１０２を切り替えることで、外部コンピュータＰＣからのパケットを、IPsecアクセラレータ１２０をバイパスして、外部コンピュータＰＣ→ＰＨＹ１０１→ネットワークコントローラ１１０の流れで転送し、または、複合装置１００の内部からのパケットを、ネットワークコントローラ１１０→ＰＨＹ１０１→外部コンピュータＰＣの流れで転送する。
【００９４】
複合装置１００は、IPsecアクセラレータ１２０を使用するときには、ＦＥＴ１０３によってIPsecアクセラレータ１２０への電力供給を行って、外部コンピュータＰＣからのパケットを、外部コンピュータＰＣ→ＰＨＹ１０１→IPsecアクセラレータ１２０→ネットワークコントローラ１１０の流れで転送し、また、複合装置１００内部からのパケットを、ネットワークコントローラ１１０→IPsecアクセラレータ１２０→ＰＨＹ１０１→外部コンピュータＰＣの流れで転送する。
【００９５】
このIPsecの処理が必要かどうかを、IPsecアクセラレータ１２０内で判断すると、IPsecの処理が必要なパケットが入ってくるまでIPsecアクセラレータ１２０への電力供給を継続する必要がある。
【００９６】
ところが、本実施例の複合装置１００は、ネットワークコントローラ１１０に、IPsecパケットフィルタ１１３、IPsecの処理が必要なパケットをIPsecアクセラレータ１２０のIPsec処理部１２３に戻すための、ＭＡＣ部１１４内の帰還経路１１５、IPsecアクセラレータ１２０内のセレクタ２４ｄ及び入力切替セレクタ１２２を備えており、さらに、IPsecアクセラレータ１２０への電力の供給と供給停止を行うＦＥＴ１０３を備えている。
【００９７】
そして、IPsecパケットフィルタ１１３は、ＭＡＣ部１１４のＲｘＭＡＣ１１４ａに接続されているバッファ１１４ｂに接続されており、IPsecパケットフィルタ１１３は、このバッファ１１４ｂにＲｘＭＡＣ１１４ａから送り込まれてきたパケットがIPsec処理の必要なパケットであるか否か検査する。IPsecパケットフィルタ１１３は、パケットがIPsec処理の必要なパケットでないときには、該パケットをそのまま受信ＤＭＡＣ１１１に送り出し、パケットがIPsec処理の必要なパケットであると、ＦＥＴ１０３に電源供給開始を指示する開始信号を出力するとともに、該パケットを帰還経路１１５を経由させて送信側のバッファ１１４ｄ、ＴｘＭＡＣ１１４ｃに送って、ＴｘＭＡＣ１１４ｃからIPsecアクセラレータ１２０のＭＡＣ部１２４に送る。
【００９８】
ＦＥＴ１０３は、IPsecパケットフィルタ１１３から開始信号が入力されると、IPsecアクセラレータ１２０への電力の供給を停止しているときには、該開始信号に応じてIPsecアクセラレータ１２０への電力の供給を開始する。
【００９９】
そして、ＭＡＣ部１２４は、ＲｘＭＡＣ１２４ｃに出力切替セレクタ１２４ｄが接続されており、出力切替セレクタ１２４ｄは、複合装置１００から送信パケットが入力されるときには、バッファ１２４ｅへの出力を選択して、送信パケットをバッファ１２４ｅを介してIPsec処理部１２３に送り込む。出力切替セレクタ１２４ｄは、受信パケットが帰還経路１１５から帰還されてくると、該受信パケットを、IPsecアクセラレータ１２０の受信側の入力切替セレクタ１２２に送り込み、入力切替セレクタ１２２は、出力切替セレクタ１２４ｄから送られてきた受信パケットをIPsec処理部１２３に出力する。
【０１００】
IPsec処理部１２３は、IPsec処理を行って、ＭＡＣ部１２４のバッファ１２４ｂに送り、ＭＡＣ部１２４は、IPsec処理部１２３からバッファ１２４ｂに送られてきた受信パケットをＴｘＭＡＣ１２４ａセレクタモジュール１０２を介してネットワークコントローラ１１０のＭＡＣ部１１４のＲｘＭＡＣ１１４ａに送る。
【０１０１】
複合装置１００は、外部コンピュータＰＣにIPsec処理したパケットを送信する場合であって、省電力モードでIPsecアクセラレータ１２０への電力供給をオフにしているときには、ＦＥＴ１０３によってIPsecアクセラレータ１２０への電力供給を開始し、ネットワークコントローラ１１０は、内部のバスから送信ＤＭＡＣ１１２が送信パケットを受け取ると、送信ＤＭＡＣ１１２から該送信パケットを、ＭＡＣ部１１４のバッファ１１４ｄを介してＴｘＭＡＣ１１４ｃに渡す。ＴｘＭＡＣ１１４ｃは、バッファ１１４ｄ内の送信パケットを、セレクタモジュール１０２を介してIPsecアクセラレータ１２０のＭＡＣ部１２４のＲｘＭＡＣ１２４ｃへ送る。
【０１０２】
IPsecアクセラレータ１２０は、ＲｘＭＡＣ１２４ｃの受け取った送信パケットを出力切替セレクタ１２４ｄからバッファ１２４ｅを介してIPsec処理部１２３に渡し、IPsec処理部１２３でIPsec処理した送信パケットをＭＡＣ部１２１のバッファ１２１ｄに渡す。ＭＡＣ部１２１は、ＴｘＭＡＣ１２１ｃが、バッファ１２１ｄに送り込まれてきた送信パケットを、セレクタモジュール１０２及びＰＨＹ１０１を介して外部コンピュータＰＣに送信する。
【０１０３】
また、複合装置１００は、外部コンピュータＰＣにIPsec処理を施さないパケットを送信する場合には、ネットワークコントローラ１１０は、内部のバスから送信ＤＭＡＣ１１２が送信パケットを受け取ると、送信ＤＭＡＣ１１２から該送信パケットを、ＭＡＣ部１１４のバッファ１１４ｄを介してＴｘＭＡＣ１１４ｃに渡す。ＴｘＭＡＣ１１４ｃは、バッファ１１４ｄ内の送信パケットを、IPsecアクセラレータ１２０を通すことなく、セレクタモジュール１０２及びＰＨＹ１０１を介して外部コンピュータＰＣに送信する。
【０１０４】
そして、IPsecアクセラレータ１２０は、図示しないが、内部に電力の供給が停止されている場合にも記憶内容を保持する不揮発性メモリを搭載しており、該不揮発性メモリに、IPsecアクセラレータ１２０の動作に必要な動作パラメータ等が格納されている。IPsecアクセラレータ１２０は、電力の供給停止の状態から電力の供給が開始されると、該不揮発性メモリに格納されている動作パラメータ等を読み出して動作を開始する。
【０１０５】
次に、本実施例の作用を説明する。本実施例の複合装置１００は、IPsecアクセラレータ１２０を必要なときだけ電力供給してIPsec処理を行うとともに、IPsecアクセラレータ１２０が内部不揮発性メモリを利用して自動起動する。
【０１０６】
すなわち、複合装置１００は、IPsec処理を行わないときには、ＦＥＴ１０３によってIPsecアクセラレータ１２０への電力の供給を停止し、この状態で、外部コンピュータＰＣからパケットがＰＨＹ１０１に送られてくると、受信パケットをＰＨＹ１０１からセレクタモジュール１０２を介してネットワークコントローラ１１０に送り、ＲｘＭＡＣ１１４ａで受信してバッファ１１４ｂにバッファリングする。ネットワークコントローラ１１０は、バッファ１１４ａの受信パケットをIPsecパケットフィルタ１１３に送って、IPsecパケットフィルタ１１３によって該受信パケットがIPsec処理の必要なパケットであるか検査し、IPsec処理の必要のないパケットであると、受信パケットを受信ＤＭＡＣ１１１に送って、受信ＤＭＡＣ１１１から内部バスを介して次段のデバイスに転送する。
【０１０７】
ネットワークコントローラ１１０は、IPsecパケットフィルタ１１３が、受信パケットに対してIPsec処理の必要なパケットであると判定すると、図６に示すように、ＦＥＴ１０３に開始信号を出力して、ＦＥＴ１０３がIPsecアクセラレータ１２０への電力の供給を開始し（ステップＳ１０１）、IPsec処理部１２３は、不揮発性メモリに格納されている動作パラメータに基づいて各部を制御して、IPsecアクセラレータ１２０への電力の供給が開始されると、入力切替セレクタ１２２をＭＡＣ部１２１側から出力切替セレクタ１２４ｄ側に切り替える（ステップＳ１０２）。複合装置１００は、IPsecアクセラレータ１２０の電力供給が開始された後に、外部コンピュータＰＣからＰＨＹ１０１に送信されてくるパケットについては、ＭＡＣ部１２１のＲｘＭＡＣ１２１ａで受信して、バッファ１２１ｂに保管し、IPsecアクセラレータ１２０の電力供給が開始される前にセレクタモジュール１０２を経由して既にネットワークコントローラ１１０へ送られたＩＰ処理の必要なパケットのIPsec処理が完了するまではネットワークコントローラ１１０に送られない。
【０１０８】
次に、IPsecパケットフィルタ１１３は、図７に太線で示すように、該受信パケットを帰還経路１１５経由でＭＡＣ部１１４のバッファ１１４ｄ及びＴｘＭＡＣ１１４ｃに渡して、ＭＩＩ  Ｉ／Ｆ１０４ｄ、１０４ｃ、セレクタモジュール１０２を介して、IPsecアクセラレータ１２０のＭＡＣ部１２４に送信する（ステップＳ１０３）。IPsecアクセラレータ１２０は、出力切替セレクタ１２４ｄの出力をバッファ１２４ｅ側から入力切替セレクタ１２２側に切り替え、入力切替セレクタ１２２の入力をＭＡＣ部１２１のバッファ１２１ｂ側からＭＡＣ部１２４の出力切替セレクタ１２４ｄ側に切り替えて、ＭＡＣ部１２４のＲｘＭＡＣ１２４ｃが、図７に太線で示すように、ネットワークコントローラ１１０から受信した受信パケットを出力切替セレクタ１２４ｄ及び入力切替セレクタ１２２を介してIPsec処理部１２３に送信する（ステップＳ１０４）。
【０１０９】
IPsec処理部１２３は、入力切替セレクタ１２２から入力される受信パケットに対してIPsec処理を行って（ステップＳ１０５）、ＭＡＣ部１２４のバッファ１２４ｂに出力し、ＴｘＭＡＣ１２４ａが、バッファ１２４ｂに蓄積されたパケットをＭＩＩ  Ｉ／Ｆ１０４ｃ、１０４ｄを介してネットワークコントローラ１１０に送信する（ステップＳ１０６）。複合装置１００は、IPsecパケットフィルタ１１３が検知した全てのパケット（IPsec処理されずに、セレクタモジュール１０２経由でＰＨＹ１０１からネットワークコントローラ１１０に送られた全てのパケット）のIPsec処理が終了したかチェックし（ステップＳ１０７）、全てのパケットのIPsec処理が終了していないときには、ステップＳ１０３に戻って、上記同様に処理する（ステップＳ１０３〜Ｓ１０７）。
【０１１０】
ステップＳ１０７で、IPsec処理が未処理のままネットワークコントローラ１１０に送られた全てのパケットのIPsec処理が終了すると、入力切替セレクタ１２２の入力をＭＡＣ部１２１側に切り替え、IPsecアクセラレータ１２０への電力供給が開始された後に外部コンピュータＰＣから送信されてきてIPsecアクセラレータ１２０のＭＡＣ部１２１のバッファ１２１ｂに格納されているパケットを入力切替セレクタ１２２を介してIPsec処理部１２３に送って、IPsec処理部１２３でIPsec処理を行った後に、ネットワークコントローラ１１０に送信する（ステップＳ１０８）。
【０１１１】
複合装置１００は、バッファ１２１ｂの全てのパケットに対するIPsec処理を終了すると、IPsecアクセラレータ１２０への電力供給を停止して、処理を終了する（ステップＳ１０９）。
【０１１２】
複合装置１００における上記IPsecパケット処理の流れは、図８〜図１０のように示すことができる。なお、図８から図１０では、最悪ケースとして、IPsecパケットフィルタ１１３がIpsec処理の必要なパケットを検知した際に、Ipsecパケットフィルタ１１３の前段のバッファ１１４ｂがIpsec処理の必要なパケットで一杯になった時を想定した場合のパケット処理の流れが示されている。Ipsecパケットフィルタ１１３の前段のバッファ１１４ｂは、パケット単位でデータを取り込む形になり、また、ＴｘＭＡＣ１１４ｃの前段のバッファ１１４ｄを有効活用することで、バッファ１１４ｂ上でフィードバックしてきたIPsec処理済みの平文パケットと、もともと在るIPsec処理が未処理のパケットが衝突することを解消している。
【０１１３】
すなわち、複合装置１００は、図８に示すように、IPsecパケットフィルタ１１３がIPsec０パケットを検知すると（Ｄ１）、IPsecパケットフィルタ１１３がIPsec０パケットをＴｘＭＡＣ１１４ｃの前段のバッファ１１４ｄに格納する（Ｄ２）。次に、ＦＥＴ１０３によってIPsecアクセラレータ１２０への電力供給を開始し（Ｄ３）、IPsecアクセラレータ１２０内のセレクタ１２４ｄ及びセレクタ１２２の切り替えを行って、ＰＨＹ１０１から入ってくるパケットをIPsecアクセラレータ１２０内のバッファ１２１ｂに格納する（Ｄ４）。
【０１１４】
ＴｘＭＡＣ１１４ｃの前段のバッファ１１４ｄからIPsecパケットをIPsecアクセラレータ１２０に送信し（Ｄ５）、IPsecパケットフィルタ１１３がIPsec１パケットを、ＴｘＭＡＣ１１４ｃの前段のバッファ１１４ｄに格納する（Ｄ６）。
【０１１５】
次に、複合装置１００は、図９に示すように、IPsec０パケットを、IPsec処理部１２３でIPsec処理して、平文０パケットとしてネットワークコントローラ１１０に戻し（Ｄ７）、ＴｘＭＡＣ１１４ｃの前段のバッファ１１４ｄに格納されているIPsec１パケットをIPsecアクセラレータ１２０に送信する（Ｄ８）。IPsecパケットフィルタ１１３がIPsec２パケットを、ＴｘＭＡＣ１１４ｃの前段のバッファ１１４ｄに格納し（Ｄ９）、IPsec処理部１２３が、IPsec１パケットをIPsec処理して、平文１パケットとしてネットワークコントローラ１１０に戻す（Ｄ１０）。
【０１１６】
複合装置１００は、ＴｘＭＡＣ１１４ｃが、前段のバッファ１１４ｄに格納されているIPsec２パケットをIPsecアクセラレータ１２０に送信し（Ｄ１１）、IPsecパケットフィルタ１１３が、IPsec３パケットを、ＴｘＭＡＣ１１４ｃの前段のバッファ１１４ｄに格納する（Ｄ１２）。
【０１１７】
次に、複合装置１００は、図１０に示すように、IPsec処理部１２３が、IPsec２パケットをIPsec処理して、平文２パケットとしてネットワークコントローラ１１０に戻し（Ｄ１３）、ＴｘＭＡＣ１１４ｃが前段のバッファ１１４ｄに格納されているIPsec３パケットをIPsecアクセラレータ１２０に送信する（Ｄ１４）。
【０１１８】
複合装置１００は、IPsecアクセラレータ１２０のＴｘＭＡＣ１２４ａが、バッファ１２４ｂに格納されている平文０パケットをネットワークコントローラ１１０のIPsecパケットフィルタ１１３に送信し（Ｄ１５）、IPsec処理部１２３がIPsec３パケットをIPsec処理して、平文３パケットとして、ネットワークコントローラ１１０に戻す（Ｄ１６）。
【０１１９】
そして、複合装置１００は、IPsecアクセラレータ１２０から送られてきてバッファ１１４ｂに格納されている平文１、平文２、平文３を、順次、バッファ１１４ｂからIPsecパケットフィルタ１１３に送信する（Ｄ１７）。
【０１２０】
そして、上記IPsecパケットフィルタ１１３の構成を簡略化して回路規模を小さくし、消費電力を削減するために、図１１に示すように、イーサネットヘッダ、ＩＰヘッダ、プロトコルタイプ、送信元ポート、IPsecポート番号、データ及びＦＣＳ（Frame Check Sequence）からなる階層化によるパケット構造において、宛先ポート番号が「５００」であるか否かによって、ＩＫＥパケットであることを確認し、ＩＰｖ６拡張ヘッダにおけるＡＨヘッダとＥＳＰヘッダがパケットに付いていることを確認することで、IPsecパケットであることを確認する。IPsecパケットフィルタ１１３は、図１１において、ハッチングの施されているエリア（IPsec先ポート番号、ＡＨヘッダとＥＳＰヘッダ）を確認することで、IPsec処理の必要のあるパケットであるか否か確認する。
【０１２１】
このように、本実施例の複合装置１００は、IPsecアクセラレータ１２０の電力供給停止時に、IPsec処理部１２３の起動パラメータやブートプログラム等の起動情報を図示しない内部不揮発性メモリに格納し、IPsec処理が必要なパケットがIPsecパケットフィルタ１１３で検出されるまで、ＦＥＴ１０３によってIPsecアクセラレータ１２０への電力供給を停止して、IPsec処理が必要なパケットをIPsecパケットフィルタ１１３が検出して、ＦＥＴ１０３によるIPsecアクセラレータ１２０の電力供給開始時に、該内部不揮発性メモリから起動情報を読み出して起動している。
【０１２２】
したがって、コンフィグレーション端末を設けることなく、起動することができ、IPsecアクセラレータ１２０の構造を、簡略化して回路規模を小さくすることができるとともに、消費電力を削減することができる。
【０１２３】
上記説明においては、IPsec処理部１２３の電力供給開始時に、IPsecセレクタ１２０内の図示しない不揮発性メモリに格納されているパラメータを読み出して設定するか、図示しないＣＰＵが設定することで、IPsec処理部１２３が起動動作しているが、パラメータの設定方法は、上記方法に限るものではなく、例えば、図１２に示すように、不揮発性メモリ１３０をIPsecセレクタ１２０の外部に配設し、電力供給が停止されるときに、パラメータを該不揮発性メモリ１３０に対比させて、電力供給開始時に、該不揮発性メモリ１３０に対比させたパラメータをIPsecアクセラレータ１２０に自動的に再設定するようにしてもよい。
【０１２４】
このようにすると、ＣＰＵによってパラメータを設定する場合よりも高速にパラメータを設定することができ、IPsecアクセラレータ１２０の起動時間を短縮化することができる。
【０１２５】
また、上記説明においてはネットワークコントローラ１１０のIPsecパケットフィルタ１１３には、IPsecアクセラレータ１２０に電力が供給されているときにも、電力が供給されているが、IPsecアクセラレータ１２０に電力が供給されていてIPsec処理を行っているときには、IPsecパケットフィルタ１１３は使用されない。
【０１２６】
そこで、図１３に示すように、IPsecパケットフィルタ１１３に専用のＦＥＴ１３１を接続し、IPsecパケットフィルタ１１３をネットワークコントローラ１１０の他の回路構成部品と電源を分離する。ＦＥＴ１３１は、IPsecアクセラレータ１２０の電力が供給されるときには、IPsecパケットフィルタ１１３への電力供給を停止、IPsecアクセラレータ１２０ので力供給が停止されるときにのみ、IPsecパケットフィルタ１１３への電力供給を行う。
【０１２７】
このようにすると、複合装置１００の消費電力をより一層削減することができる。
【０１２８】
この場合、図１４に示すように、電力監視部１３２を設け、電力１３２によって、IPsecアクセラレータ１２０の電力とIPsecパケットフィルタ１１３の電力の供給状態を監視する。
【０１２９】
IPsecアクセラレータ１２０の電力とIPsecパケットフィルタ１１３の両電力ＯＦＦの状態のときには、IPsecアクセラレータ１２０とIPsecパケットフィルタ１１３の両方の機能が働かないことにより、暗号化されたパケットがネットワークコントローラ１１０を介して内部バスに送られてしまうため、複合装置１００にフリーズを含む何らかのエラーが発生するおそれがある。
【０１３０】
そこで、電力監視部１３２は、IPsecアクセラレータ１２０とIPsecパケットフィルタ１１１３の双方の電力がオフになっているときに、エラーが発生すると、エラー内容を断定できる形でエラーを通知複合装置１００の操作表示部のディスプレイ等に表示する。
【０１３１】
したがって、オペレータ等がエラー内容を特定することができ、利用性を向上させることができる。
【０１３２】
さらに、IPsecパケットフィルタ１１３におけるIPsecパケットフィルタの検出においては、上キズ１１に示したパケット構造の「宛先ポート番号」、「ＡＨヘッダ」、「ＥＳＰ」を検出するだけでなく、パケットのうち、図１４にハッチングで示すＩＰヘッダの「送信元ＩＰアドレス」と「宛先ＩＰアドレス」を検査することで、IPsecパケットであっても自装置宛のパケットでなければ、IPsecパケットフィルタ１１３でパケットを破棄する。すなわち、IPsecアクセラレータ１２０の処理の一部を、IPsecパケットフィルタ１１３で実施することにより、IPsecアクセラレータの電力停止時間を長くすることができ、より一層電力消費量を削減することができる。
【０１３３】
以上、本発明者によってなされた発明を好適な実施例に基づき具体的に説明したが、本発明は上記実施例で説明したものに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【産業上の利用可能性】
【０１３４】
本発明は、安価かつ適切に起動する複合装置、プリンタ装置等の画像処理装置、起動処理方法、起動処理プログラム及び記録媒体に利用することができる。
【符号の説明】
【０１３５】
１  画像処理装置
２  メインＣＰＵ
３  外部メモリ
１０  半導体集積回路
１１  内蔵ＣＰＵ
１２  リセット制御回路
１３  内部バス
１４  バス制御回路
２０  半導体集積回路
２１  起動制御回路
３０  半導体集積回路
３１  バス幅検知タイマ回路
４０  半導体集積回路
４１  ＳＲＡＭ
１００  複合装置
１０１  ＰＨＹ
１０２  セレクタモジュール
１０３  ＦＥＴ
１０４ａ〜１０４ｄ  ＭＩＩ  Ｉ／Ｆ
１１０  ネットワークコントローラ
１１１  受信ＤＭＡＣ
１１２  送信ＤＭＡＣ
１１３  IPsecパケットフィルタ
１１４  ＭＡＣ部
１１４ａ  ＲｘＭＡＣ
１１４ｂ  バッファ
１１４ｃ  ＴｘＭＡＣ
１１４ｄ  バッファ
１１５  帰還経路
１２０  Ipsecアクセラレータ
１２１  ＭＡＣ部
１２１ａ  ＲｘＭＡＣ
１２１ｂ  バッファ
１２１ｃ  ＴｘＭＡＣ
１２１ｄ  バッファ
１２２  入力切替セレクタ
１２３  IPsec処理部
１２４  ＭＡＣ部
１２４ａ  ＴｘＭＡＣ
１２４ｂ  バッファ
１２４ｃ  ＲｘＭＡＣ
１２４ｄ  出力切替セレクタ
１２４ｅ  バッファ
１３０  不揮発性メモリ
１３１  ＦＥＴ
１３２  電力監視部
【先行技術文献】
【特許文献】
【０１３６】
【特許文献１】特開２００３−２８０９８５号公報
【図１】
2011138233.tif 000003
【図２】
2011138233.tif 000004
【図３】
2011138233.tif 000005
【図４】
2011138233.tif 000006
【図５】
2011138233.tif 000007
【図６】
2011138233.tif 000008
【図７】
2011138233.tif 000009
【図８】
2011138233.tif 000010
【図９】
2011138233.tif 000011
【図１０】
2011138233.tif 000012
【図１１】
2011138233.tif 000013
【図１２】
2011138233.tif 000014
【図１３】
2011138233.tif 000015
【図１４】
2011138233.tif 000016