(57)【特許請求の範囲】
【請求項１】
第１のＣＰＵおよび第２のＣＰＵと、
同時に複数のアクセスを許可しない補助記憶装置と、
前記補助記憶装置に対するアクセスを制御するコントローラーとを備え、
前記補助記憶装置は、前記第１のＣＰＵ用の第１の起動プログラムと、前記第２のＣＰＵ用の第２の起動プログラムとを記憶し、
前記第１のＣＰＵは、前記第１の起動プログラムを前記補助記憶装置から前記コントローラーを介してＰＩＯ転送によってロードしながら、前記第１の起動プログラムのうちロードした部分を逐次実行し、
前記第１のＣＰＵは、前記第２の起動プログラムを前記補助記憶装置からＤＭＡ転送によってロードすることを前記コントローラーに指示し、
前記コントローラーは、前記第２の起動プログラムを前記補助記憶装置からＤＭＡ転送によってロードしている場合に、前記補助記憶装置からの前記第１の起動プログラムの少なくとも一部の転送が前記第１のＣＰＵから指示されたとき、前記第２の起動プログラムのロードを一時停止させた後、前記第１のＣＰＵから指示された転送の終了によって、前記第２の起動プログラムのロードを再開することを特徴とする電子機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のＣＰＵを備えている電子機器に関する。
【背景技術】
【０００２】
従来、複数のＣＰＵを備えている電子機器として、第１のＣＰＵおよび第２のＣＰＵと、第１のＣＰＵ用の第１の起動プログラムおよび第２のＣＰＵ用の第２の起動プログラムを記憶する補助記憶装置とを備え、第１のＣＰＵおよび第２のＣＰＵが第１の起動プログラムをセクション単位で補助記憶装置からロードするものが知られている（例えば、特許文献１参照。）。この電子機器においては、第１の起動プログラムのロードの時間を短縮することができるので、第１のＣＰＵによる第１の起動プログラムに基づいた起動時間を短縮することができる。ただし、この電子機器においては、第１のＣＰＵによる第１の起動プログラムに基づいた起動を優先するので、第２のＣＰＵによる第２の起動プログラムに基づいた起動が遅くなる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−９９０１３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来の電子機器においては、第１の起動プログラムおよび第２の起動プログラムを記憶する補助記憶装置が同時に複数のアクセスを許可しないものである場合、第１のＣＰＵおよび第２のＣＰＵの一方が補助記憶装置にアクセスしている時点で、第１のＣＰＵおよび第２のＣＰＵの他方が補助記憶装置にアクセスすることができないので、第１のＣＰＵによる第１の起動プログラムに基づいた起動時間を短縮する効果が落ちる。しかも、第１のＣＰＵによる第１の起動プログラムに基づいた起動時間を短縮する効果が落ちることによって、第２のＣＰＵによる第２の起動プログラムに基づいた起動が更に遅くなるという問題がある。
【０００５】
そこで、本発明は、同時に複数のアクセスを許可しない補助記憶装置に複数のＣＰＵのそれぞれの起動プログラムが記憶されている場合であっても、特定の１つのＣＰＵによる起動プログラムに基づいた起動時間を優先的に短縮しながら、他のＣＰＵによる起動プログラムに基づいた起動時間も短縮することができる電子機器を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の電子機器は、第１のＣＰＵおよび第２のＣＰＵと、同時に複数のアクセスを許可しない補助記憶装置と、前記補助記憶装置に対するアクセスを制御するコントローラーとを備え、前記補助記憶装置は、前記第１のＣＰＵ用の第１の起動プログラムと、前記第２のＣＰＵ用の第２の起動プログラムとを記憶し、前記第１のＣＰＵは、前記第１の起動プログラムを前記補助記憶装置から前記コントローラーを介してロードし、前記第１のＣＰＵは、前記第２の起動プログラムを前記補助記憶装置からＤＭＡ転送によってロードすることを前記コントローラーに指示し、前記コントローラーは、前記第２の起動プログラムを前記補助記憶装置からＤＭＡ転送によってロードしている場合に、前記補助記憶装置からの前記第１の起動プログラムの少なくとも一部の転送が前記第１のＣＰＵから指示されたとき、前記第２の起動プログラムのロードを一時停止させた後、前記第１のＣＰＵから指示された転送の終了によって、前記第２の起動プログラムのロードを再開することを特徴とする。
【０００７】
この構成により、本発明の電子機器は、第１のＣＰＵが第１の起動プログラムを補助記憶装置からコントローラーを介してロードすることを優先しつつも、第１のＣＰＵが第１の起動プログラムを補助記憶装置からコントローラーを介してロードしていない時期に、コントローラーが第２の起動プログラムを補助記憶装置からＤＭＡ転送によってロードする。したがって、本発明の電子機器は、同時に複数のアクセスを許可しない補助記憶装置に第１の起動プログラムおよび第２の起動プログラムが記憶されているにも関わらず、第１のＣＰＵによる第１の起動プログラムに基づいた起動時間を優先的に短縮しながら、第２のＣＰＵによる第２の起動プログラムに基づいた起動時間も短縮することができる。
【０００８】
また、本発明の電子機器において、前記第１のＣＰＵは、前記第１の起動プログラムを前記補助記憶装置から前記コントローラーを介してＰＩＯ転送によってロードしながら、前記第１の起動プログラムのうちロードした部分を逐次実行しても良い。
【０００９】
この構成により、本発明の電子機器は、第１のＣＰＵが第１の起動プログラムを補助記憶装置からＰＩＯ転送によってロードしながら、第１のＣＰＵが第１の起動プログラムのうちロードした部分を逐次実行するので、第１のＣＰＵによる第１の起動プログラムに基づいた起動時間を短縮することができる。
【発明の効果】
【００１０】
本発明の電子機器は、同時に複数のアクセスを許可しない補助記憶装置に複数のＣＰＵのそれぞれの起動プログラムが記憶されている場合であっても、特定の１つのＣＰＵによる起動プログラムに基づいた起動時間を優先的に短縮しながら、他のＣＰＵによる起動プログラムに基づいた起動時間も短縮することができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の一実施の形態に係るＭＦＰの構成を示すブロック図である。
【図２】図１に示す制御部の構成を示すブロック図である。
【図３】ＭＦＰの起動時における図２に示すメインＣＰＵの動作のフローチャートである。
【図４】ＭＦＰの起動時における図２に示すＮＡＮＤデバイスコントローラーの動作のフローチャートである。
【発明を実施するための形態】
【００１２】
以下、本発明の一実施の形態について、図面を用いて説明する。
【００１３】
まず、本実施の形態に係る電子機器としてのＭＦＰ（Ｍｕｌｔｉｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）の構成について説明する。
【００１４】
図１は、本実施の形態に係るＭＦＰ１０の構成を示すブロック図である。
【００１５】
図１に示すように、ＭＦＰ１０は、利用者による種々の操作が入力されるボタンなどの入力デバイスである操作部１１と、種々の情報を表示するＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）などの表示デバイスである表示部１２と、原稿から画像を読み取る読取デバイスであるスキャナー１３と、用紙などの記録媒体に印刷を実行する印刷デバイスであるプリンター１４と、図示していない外部のファクシミリ装置と公衆電話回線などの通信回線経由でファックス通信を行うファックスデバイスであるファックス通信部１５と、図示していない外部の装置とＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネットなどのネットワーク経由で通信を行うネットワーク通信デバイスであるネットワーク通信部１６と、ＭＦＰ１０全体を制御する制御部２０とを備えている。
【００１６】
図２は、制御部２０の構成を示すブロック図である。
【００１７】
図２に示すように、制御部２０は、第１のＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）としてのメインＣＰＵ２１と、メインＣＰＵ２１用のプログラムおよび各種のデータを記憶しているＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）２２と、メインＣＰＵ２１用のＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２３と、第２のＣＰＵとしてのサブＣＰＵ２４と、サブＣＰＵ２４用のプログラムおよび各種のデータを記憶しているＲＯＭ２５と、サブＣＰＵ２４用のＲＡＭ２６と、同時に複数のアクセスを許可しない補助記憶装置としてのＮＡＮＤデバイス２７と、ＮＡＮＤデバイス２７に対するアクセスを制御するコントローラーとしてのＮＡＮＤデバイスコントローラー２８とを備えている。
【００１８】
ＮＡＮＤデバイス２７は、メインＣＰＵ２１用の第１の起動プログラムとしてのメインＣＰＵ用起動プログラム２７ａと、サブＣＰＵ２４用の第２の起動プログラムとしてのサブＣＰＵ用起動プログラム２７ｂとを記憶している。
【００１９】
ＮＡＮＤデバイスコントローラー２８は、ＤＭＡ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）転送と、ＰＩＯ（Ｐｒｏｇｒａｍｍｅｄ  Ｉｎｐｕｔ／Ｏｕｔｐｕｔ）転送とに対応している。
【００２０】
次に、ＭＦＰ１０の起動時の動作について説明する。
【００２１】
ＭＦＰ１０が起動されると、メインＣＰＵ２１は、図３に示す動作を実行する。
【００２２】
図３は、ＭＦＰ１０の起動時におけるメインＣＰＵ２１の動作のフローチャートである。
【００２３】
図３に示すように、メインＣＰＵ２１は、サブＣＰＵ用起動プログラム２７ｂをＮＡＮＤデバイス２７からＤＭＡ転送によってＲＡＭ２６にロードすることをＮＡＮＤデバイスコントローラー２８に指示する（Ｓ１０１）。
【００２４】
次いで、メインＣＰＵ２１は、メインＣＰＵ用起動プログラム２７ａをＮＡＮＤデバイス２７からＮＡＮＤデバイスコントローラー２８を介してＰＩＯ転送によってＲＡＭ２３にロードしながら、メインＣＰＵ用起動プログラム２７ａのうちロードした部分を逐次実行する（Ｓ１０２）。すなわち、メインＣＰＵ２１は、メインＣＰＵ用起動プログラム２７ａの一部ずつの転送をＮＡＮＤデバイスコントローラー２８に指示して、転送された部分を逐次実行する。
【００２５】
メインＣＰＵ２１は、Ｓ１０２の処理が終了すると、図３に示す動作を終了する。
【００２６】
なお、図３においては、メインＣＰＵ２１は、Ｓ１０１の処理を実行した後でＳ１０２の処理を実行するようになっているが、Ｓ１０２の処理を実行している途中でＳ１０１の処理を実行するようになっていても良い。
【００２７】
ＭＦＰ１０が起動されると、ＮＡＮＤデバイスコントローラー２８は、図４に示す動作を実行する。
【００２８】
図４は、ＭＦＰ１０の起動時におけるＮＡＮＤデバイスコントローラー２８の動作のフローチャートである。
【００２９】
図４に示すように、ＮＡＮＤデバイスコントローラー２８は、メインＣＰＵ用起動プログラム２７ａの一部の転送がメインＣＰＵ２１から指示されたか否かを判断する（Ｓ１３１）。
【００３０】
ＮＡＮＤデバイスコントローラー２８は、メインＣＰＵ用起動プログラム２７ａの一部の転送が指示されたとＳ１３１において判断すると、メインＣＰＵ用起動プログラム２７ａのうちメインＣＰＵ２１から指示された部分をＮＡＮＤデバイス２７から読み出してメインＣＰＵ２１に転送する（Ｓ１３２）。
【００３１】
ＮＡＮＤデバイスコントローラー２８は、メインＣＰＵ用起動プログラム２７ａの一部の転送が指示されていないとＳ１３１において判断するか、Ｓ１３２の処理が終了すると、サブＣＰＵ用起動プログラム２７ｂのＤＭＡ転送によるロードがメインＣＰＵ２１から指示されたか否かを判断する（Ｓ１３３）。
【００３２】
ＮＡＮＤデバイスコントローラー２８は、サブＣＰＵ用起動プログラム２７ｂのＤＭＡ転送によるロードが指示されていないとＳ１３３において判断すると、Ｓ１３１の処理を実行する。
【００３３】
ＮＡＮＤデバイスコントローラー２８は、サブＣＰＵ用起動プログラム２７ｂのＤＭＡ転送によるロードが指示されたとＳ１３３において判断すると、サブＣＰＵ用起動プログラム２７ｂのＤＭＡ転送によるロードを開始する（Ｓ１３４）。すなわち、ＮＡＮＤデバイスコントローラー２８は、サブＣＰＵ用起動プログラム２７ｂをＮＡＮＤデバイス２７から読み出してＲＡＭ２６にロードすることを開始する。
【００３４】
次いで、ＮＡＮＤデバイスコントローラー２８は、メインＣＰＵ用起動プログラム２７ａの一部の転送がメインＣＰＵ２１から指示されたか否かを判断する（Ｓ１３５）。
【００３５】
ＮＡＮＤデバイスコントローラー２８は、メインＣＰＵ用起動プログラム２７ａの一部の転送が指示されたとＳ１３５において判断すると、サブＣＰＵ用起動プログラム２７ｂのＤＭＡ転送によるロードを一時停止させて（Ｓ１３６）、メインＣＰＵ用起動プログラム２７ａのうちメインＣＰＵ２１から指示された部分をＮＡＮＤデバイス２７から読み出してメインＣＰＵ２１に転送する（Ｓ１３７）。
【００３６】
ＮＡＮＤデバイスコントローラー２８は、Ｓ１３７における転送が終了すると、サブＣＰＵ用起動プログラム２７ｂのＤＭＡ転送によるロードを再開する（Ｓ１３８）。
【００３７】
ＮＡＮＤデバイスコントローラー２８は、メインＣＰＵ用起動プログラム２７ａの一部の転送が指示されていないとＳ１３５において判断するか、Ｓ１３８の処理が終了すると、サブＣＰＵ用起動プログラム２７ｂのＤＭＡ転送によるロードが終了したか否かを判断する（Ｓ１３９）。
【００３８】
ＮＡＮＤデバイスコントローラー２８は、サブＣＰＵ用起動プログラム２７ｂのＤＭＡ転送によるロードが終了していないとＳ１３９において判断すると、Ｓ１３５の処理を実行する。
【００３９】
ＮＡＮＤデバイスコントローラー２８は、サブＣＰＵ用起動プログラム２７ｂのＤＭＡ転送によるロードが終了したとＳ１３９において判断すると、サブＣＰＵ用起動プログラム２７ｂのＤＭＡ転送によるロードの終了をメインＣＰＵ２１に通知して（Ｓ１４０）、Ｓ１３１の処理を実行する。
【００４０】
メインＣＰＵ２１は、サブＣＰＵ用起動プログラム２７ｂのＤＭＡ転送によるロードの終了がＮＡＮＤデバイスコントローラー２８から通知されると、サブＣＰＵ用起動プログラム２７ｂの実行をサブＣＰＵ２４に指示する。したがって、サブＣＰＵ２４は、ＲＡＭ２６にロードされているサブＣＰＵ用起動プログラム２７ｂを実行する。
【００４１】
以上に説明したように、ＭＦＰ１０は、メインＣＰＵ２１がメインＣＰＵ用起動プログラム２７ａをＮＡＮＤデバイス２７からＮＡＮＤデバイスコントローラー２８を介してロードする（Ｓ１０２）ことを優先しつつも、メインＣＰＵ２１がメインＣＰＵ用起動プログラム２７ａをＮＡＮＤデバイス２７からＮＡＮＤデバイスコントローラー２８を介してロードしていない時期に、ＮＡＮＤデバイスコントローラー２８がサブＣＰＵ用起動プログラム２７ｂをＮＡＮＤデバイス２７からＤＭＡ転送によってロードする（Ｓ１３４およびＳ１３８）。すなわち、ＭＦＰ１０は、ＮＡＮＤデバイス２７に対するアクセスに空きがある時間を使用してサブＣＰＵ用起動プログラム２７ｂを効率良く転送する。したがって、ＭＦＰ１０は、同時に複数のアクセスを許可しないＮＡＮＤデバイス２７にメインＣＰＵ用起動プログラム２７ａおよびサブＣＰＵ用起動プログラム２７ｂが記憶されているにも関わらず、メインＣＰＵ２１によるメインＣＰＵ用起動プログラム２７ａに基づいた起動時間を優先的に短縮しながら、サブＣＰＵ２４によるサブＣＰＵ用起動プログラム２７ｂに基づいた起動時間も短縮することができる。
【００４２】
また、ＭＦＰ１０は、メインＣＰＵ２１がメインＣＰＵ用起動プログラム２７ａをＮＡＮＤデバイス２７からＰＩＯ転送によってロードしながら、メインＣＰＵ２１がメインＣＰＵ用起動プログラム２７ａのうちロードした部分を逐次実行するので、メインＣＰＵ２１によるメインＣＰＵ用起動プログラム２７ａに基づいた起動時間を短縮することができる。
【００４３】
なお、ＭＦＰ１０は、本実施の形態において、メインＣＰＵ２１がメインＣＰＵ用起動プログラム２７ａをＮＡＮＤデバイス２７からＰＩＯ転送によってロードするようになっているが、メインＣＰＵ用起動プログラム２７ａの転送がサブＣＰＵ用起動プログラム２７ｂの転送より優先されるようにＮＡＮＤデバイスコントローラー２８によって処理されるようになっていれば、メインＣＰＵ用起動プログラム２７ａをＮＡＮＤデバイス２７からＤＭＡ転送によってＲＡＭ２３にロードすることをＮＡＮＤデバイスコントローラー２８に指示するようになっていても良い。
【００４４】
また、ＭＦＰ１０は、本実施の形態において、メインＣＰＵ２１用のＲＡＭ２３と、サブＣＰＵ２４用のＲＡＭ２６とを備えているが、ＲＡＭ２３およびＲＡＭ２６が物理的に１つのＲＡＭにおける別々の領域によって構成されていても良い。
【００４５】
また、本発明の補助記憶装置は、本実施の形態においてＮＡＮＤデバイスであるが、同時に複数のアクセスを許可しない補助記憶装置であれば、ＮＡＮＤデバイス以外の記憶デバイスであっても良い。
【００４６】
また、本発明の電子機器は、本実施の形態においてＭＦＰであるが、コピー機、プリンターなど、ＭＦＰ以外の画像形成装置であっても良いし、汎用のパーソナルコンピューター、家電など、画像形成装置以外の電子機器であっても良い。
【符号の説明】
【００４７】
１０  ＭＦＰ（電子機器）
２１  メインＣＰＵ（第１のＣＰＵ）
２４  サブＣＰＵ（第２のＣＰＵ）
２７  ＮＡＮＤデバイス（補助記憶装置）
２７ａ  メインＣＰＵ用起動プログラム（第１の起動プログラム）
２７ｂ  サブＣＰＵ用起動プログラム（第２の起動プログラム）
２８  ＮＡＮＤデバイスコントローラー（コントローラー）
【図１】
0005996513.tif 000002
【図２】
0005996513.tif 000003
【図３】
0005996513.tif 000004
【図４】
0005996513.tif 000005