(57)【要約】【課題】１つの割り込み信号に対して、メイン処理とサブ処理とを同時に実行させることが可能な画像形成装置を提供する。【解決手段】  本発明の画像形成装置は、主制御部８１及び副制御部８２を備えている。主記憶部９１には、主制御部８１及び副制御部８２への１つの割り込み信号に対応する主制御部ハンドラ１３１及び副制御部ハンドラ１３２が登録された割り込みハンドラテーブル１３０が記憶されている。割り込み検知部８００は、この主制御部ハンドラ１３１及び副制御部ハンドラ１３２に対応する割り込み信号を検知する。また、割り込み実行部８１１は、主制御部ハンドラ１３１に登録された処理を主制御部８１に実行させる。割り込み実行部８１２は、副制御部ハンドラ１３２に登録された処理を副制御部８２に実行させる。【選択図】図３
2014225058.tif 000002
【特許請求の範囲】
【請求項１】
複数の演算ユニットを備える画像形成装置において、
前記演算ユニットへの１つの割り込み信号に対応して実行される第１の処理及び第２の処理が登録された割り込みハンドラ記憶手段と、
該割り込みハンドラ記憶手段に登録された前記第１の処理及び前記第２の処理に対応する前記割り込み信号を検知する割り込み信号検知手段と、
該割り込み信号検知手段により１つ前記割り込み信号が検知された場合、前記第１の処理を第１の前記演算ユニットに実行させ、前記第２の処理を第２の前記演算ユニットに実行させる割り込み実行手段とを備える
ことを特徴とする画像形成装置。
【請求項２】
前記割り込みハンドラ記憶手段への前記第１の処理の登録中には前記第２の処理を登録できないように制御し、前記第２の処理の登録中には前記第１の処理を登録できないように制御する割り込みハンドラ登録手段を備える
ことを特徴とする請求項１に記載の画像形成装置。
【請求項３】
複数の演算ユニットを備える画像形成装置の割り込み制御方法において、
前記演算ユニットへの１つの割り込み信号に対応して実行される第１の処理及び第２の処理を登録し、
登録された前記第１の処理及び前記第２の処理に対応する前記割り込み信号を検知し、
前記割り込み信号が検知された場合、前記第１の処理を第１の前記演算ユニットに実行させ、前記第２の処理を第２の前記演算ユニットに実行させる
ことを特徴とする割り込み制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置及び割り込み制御方法に係り、特に複数の演算ユニットを備える画像形成装置及び割り込み制御方法に関する。
【背景技術】
【０００２】
従来から、複写機や複合機（Multifunctional Peripheral, MFP）等の画像形成装置では、ＧＰＩＯ（General Purpose Input/Output、汎用入出力）により他機器の制御を行うものが存在する。
ＧＰＩＯは、汎用の入出力端子の一種であり、設定により様々な用途に用いられる。ＧＰＩＯが入力として動作した場合は、他機器からのデジタル信号を読み取り、ＧＰＩＯは割り込みを発生させることも可能である。
【０００３】
特許文献１の段落［００３０］［００３１］や図２等を参照すると、ＣＰＵ（Central Processing Unit、中央処理装置）が汎用入出力端子ＧＰＩＯａ及びＧＰＩＯｂを備え、汎用入出力端子ＧＰＩＯｂと共通接続されている割り込み入力端子ＩＲＱも備えている画像形成装置が記載されている。
特許文献１の画像形成装置では、１つの割り込み信号ＩＲＱ（Interrupt Request）に対して、１つの割り込みハンドラ（Interrupt Handlers）を登録する。そして、割り込み入力端子ＩＲＱにＧＰＩＯｂと共通した割り込み信号が入力されると、この割り込みハンドラに登録された処理が実行される。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−４９３５６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ここで、特許文献１に記載されたような従来の画像形成装置では、マルチコアＣＰＵのように、複数の演算ユニットを備える場合でも、同一の割り込み信号ＩＲＱにおいて、一つの演算ユニットが一つの割り込みハンドラを実行するしかなかった。
このため、従来の画像形成装置には、例えば、ＧＰＩＯに接続されたセンサーの信号のような同一の割り込み信号により、画像形成装置の各部を制御するメイン処理と、操作パネルの処理のようなサブ処理とを複数の演算ユニットに同時に行わせるといった割り込み処理を実行させることはできなかった。
【０００６】
本発明は、このような状況に鑑みてなされたものであり、上述の問題を解決する画像形成装置を提供することを課題とする。
【課題を解決するための手段】
【０００７】
本発明の画像形成装置は、複数の演算ユニットを備える画像形成装置において、前記演算ユニットへの１つの割り込み信号に対応して実行される第１の処理及び第２の処理が登録された割り込みハンドラ記憶手段と、該割り込みハンドラ記憶手段に登録された前記第１の処理及び前記第２の処理に対応する前記割り込み信号を検知する割り込み信号検知手段と、該割り込み信号検知手段により１つ前記割り込み信号が検知された場合、前記第１の処理を第１の前記演算ユニットに実行させ、前記第２の処理を第２の前記演算ユニットに実行させる割り込み実行手段とを備えることを特徴とする。
本発明の画像形成装置は、前記割り込みハンドラ記憶手段への前記第１の処理の登録中には前記第２の処理を登録できないように制御し、前記第２の処理の登録中には前記第１の処理を登録できないように制御する割り込みハンドラ登録手段を備えることを特徴とする。
本発明の割り込み制御方法は、複数の演算ユニットを備える画像形成装置の割り込み制御方法において、前記演算ユニットへの１つの割り込み信号に対応して実行される第１の処理及び第２の処理を登録し、登録された前記第１の処理及び前記第２の処理に対応する前記割り込み信号を検知し、前記割り込み信号が検知された場合、前記第１の処理を第１の前記演算ユニットに実行させ、前記第２の処理を第２の前記演算ユニットに実行させることを特徴とする。
【発明の効果】
【０００８】
本発明によれば、同一の割り込み信号に対応した第１及び第２の処理を登録し、割り込み信号が検知された場合、第１及び第２の処理を別々の演算ユニットで実行させることで、同一の割り込み信号でメイン処理とサブ処理とを同時に行わせる画像形成装置を提供することができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の画像形成装置の実施の形態に係る内部構成を示す概略模式断面図である。
【図２】本発明の画像形成装置の実施の形態に係る制御構成を示すブロック図である。
【図３】本発明の画像形成装置の実施の形態に係る主制御部、副制御部、及び主記憶部の詳細構成を示す図である。
【図４】本発明の実施の形態に係る割り込みハンドラ登録処理のフローチャートである。
【図５】本発明の実施の形態に係る排他制御処理の概念図である。
【図６】本発明の実施の形態に係る割り込み実行処理のフローチャートである。
【図７】本発明の実施の形態に係る割り込み実行処理の概念図である。
【発明を実施するための形態】
【００１０】
＜実施の形態＞
〔画像形成装置１の構成〕
まず、図１〜図２を参照して、本発明の実施の形態に係る画像形成装置１（情報処理装置）の構成について説明する。
本実施の形態の画像形成装置１は、原稿読取部２と、原稿給送部３と、本体部４と、スタックトレイ５と、操作パネル部６とを備えている。
原稿読取部２は、本体部４の上部に配設され、原稿給送部３は、原稿読取部２の上部に配設されている。スタックトレイ５は、本体部４に形成された、記録紙の排出口４１側に配設され、また、操作パネル部６は、画像形成装置１のフロント側に配設されている。
【００１１】
原稿読取部２は、スキャナー２１と、プラテンガラス２２と、原稿読取スリット２３とを備えている。スキャナー２１は、露光ランプ、及びＣＣＤ(Charge Coupled Device)やＣＭＯＳ（Complementary Metal Oxide Semiconductor）撮像センサー等から構成され、原稿給送部３による原稿の搬送方向に移動可能に構成されている。プラテンガラス２２は、ガラス等の透明部材により構成された原稿台である。原稿読取スリット２３は、原稿給送部３による原稿の搬送方向と直交方向に形成されたスリットを有する。
【００１２】
プラテンガラス２２に載置された原稿を読み取る場合には、スキャナー２１は、プラテンガラス２２に対向する位置に移動されて、プラテンガラス２２に載置された原稿を走査しながら原稿を読み取って画像データを取得し、取得した画像データを本体部４に出力する。
また、原稿給送部３により搬送された原稿を読み取る場合には、スキャナー２１は、原稿読取スリット２３と対向する位置に移動され、原稿読取スリット２３を介し、原稿給送部３による原稿の搬送動作と同期して原稿を読み取って画像データを取得し、取得した画像データを本体部４に出力する。
【００１３】
原稿給送部３は、原稿載置部３１と、原稿排出部３２と、原稿搬送機構３３とを備えている。原稿載置部３１に載置された原稿は、原稿搬送機構３３によって、１枚ずつ順に繰り出されて原稿読取スリット２３に対向する位置へ搬送され、その後、原稿排出部３２に排出される。なお、原稿給送部３は、可倒式に構成され、原稿給送部３を上方に持ち上げることで、プラテンガラス２２の上面を開放させることができる。
【００１４】
本体部４は、画像形成部７を備えると共に、給紙部４２と、用紙搬送路４３と、搬送ローラー４４と、排出ローラー４５とを備えている。給紙部４２は、それぞれサイズ又は向きが異なる記録紙を収納する複数の給紙カセット４２１と、給紙カセット４２１から記録紙を１枚ずつ用紙搬送路４３に繰り出す給紙ローラー４２２とを備えている。
給紙ローラー４２２、搬送ローラー４４、及び排出ローラー４５は、搬送部として機能する。記録紙は、この搬送部により搬送される。給紙ローラー４２２によって用紙搬送路４３に繰り出された記録紙は、搬送ローラー４４によって画像形成部７に搬送される。
そして、画像形成部７によって記録が施された記録紙は、排出ローラー４５によってスタックトレイ５に排出される。
【００１５】
操作パネル部６は、液晶や有機ＥＬディスプレイ等の表示部とテンキーを含むボタン等を備えている。
操作パネル部６は、ユーザーからの指示を取得して、主制御部８１及び副制御部８２に送信する。
【００１６】
画像形成部７は、感光体ドラム７１と、露光部７２と、現像部７３と、転写部７４と、定着部７５とを備えている。露光部７２は、レーザ装置やＬＥＤアレイやミラーやレンズ等を備えた光学ユニットであり、画像データに基づいて光等を出力して感光体ドラム７１を露光し、感光体ドラム７１の表面に静電潜像を形成する。
現像部７３は、トナーを用いて感光体ドラム７１に形成された静電潜像を現像する現像ユニットであり、静電潜像に基づいたトナー像を感光体ドラム７１上に形成させる。転写部７４は、現像部７３によって感光体ドラム７１上に形成されたトナー像を用紙に転写させる。定着部７５は、転写部７４によってトナー像が転写された用紙を加熱してトナー像を用紙に定着させることで記録を行う。
【００１７】
他機器１４は、各種センサーや周辺機器等、ＧＰＩＯで制御するための手段である。
たとえば、他機器１４は、図１で示すような、画像形成装置１を省電力状態から復帰させるための人感センサーであってもよい。また、他機器１４は、操作パネル部６に接続されたボタン等であってもよい。また、他機器１４は、各部の状態を把握するためのセンサー等であってもよい。また、他機器１４は、画像形成装置１の各種状態を表示するＬＥＤや液晶パネル等の表示手段であってもよい。また、他機器１４は、外部接続された印刷物のソータ、マイク、監視用のカメラ等であってもよい。
【００１８】
｛画像形成装置１の制御構成｝
図２には、画像形成装置１の概略構成を示すブロック図が示されている。
原稿読取部２、原稿給送部３、搬送部（給紙ローラー４２２、搬送ローラー４４、排出ローラー４５）、操作パネル部６、画像形成部７、画像処理部１０（画像処理手段）、ネットワーク送受信部１２、主制御部８１（演算ユニット）、副制御部８２（演算ユニット）、主記憶部９１（主記憶手段）、及び補助記憶部９２（補助記憶手段）は共通のバスで接続されている。これらの各部は、主制御部８１及び副制御部８２によって動作制御される。
また、この例では、ＧＰＩＯ接続部１３は、主制御部８１の信号線に直接接続されている。
なお、各部は、いわゆる「チップセット」等のバス制御手段を介して、信号の転送スピードに対応した複数の階層になるように接続されていてもよい。また、主制御部８１及び副制御部８２にメモリコントローラが内蔵され、直接、主記憶部９１と接続されるような構成であってもよい。
【００１９】
主制御部８１は、汎用ＣＰＵ（Central Processing Unit）、マイクロコンピュータ、マイクロコントローラ（マイコン）等の情報処理手段である。なお、主制御部８１は、物理的に一つのＣＰＵではなく、マルチコアＣＰＵで、独立してＯＳ１００（図３）のカーネルを実行可能な処理単位である「演算ユニット」の一つ等であってもよい。
主制御部８１は、主記憶部９１に読み込まれた（ロードされた）プログラムを実行し、通常稼働時の各部の主な制御を行う。
主制御部８１には、ソケットの順番等に対応したＩＤが補助記憶部９２の図示しないＢＩＯＳ等により設定される。
【００２０】
主制御部８１には、ＧＰＩＯにより生成された割り込み信号ＩＲＱが、主制御部８１の割り込み入力端子ＩＲＱに入力される。これにより、ＣＰＵは割り込みが発生したことを検知する。
この際、主制御部８１は、実行中のプログラムを中断してデータ等を記憶部上に退避して、割り込みハンドラと呼ばれるプログラムを呼び出す。主制御部８１は、割り込みハンドラに登録された処理が終了すると、退避されていたデータ等を元に戻し、中断されていたプログラムの実行を再開する。
主制御部８１の機能構成については後述する。
【００２１】
副制御部８２も、汎用ＣＰＵ、マイクロコンピュータ、マイクロコントローラ（マイコン）等の情報処理手段である。副制御部８２も、マルチコアＣＰＵ等の演算ユニットの一つ等であってもよい。
副制御部８２も、主制御部８１と共有される主記憶部９１にロードされたプログラムを実行し、主制御部８１と同時に実行したい処理時や省電力稼働時に各部の制御を行う。
副制御部８２にも、ＩＤが補助記憶部９２のＢＩＯＳ等により設定される。
副制御部８２の機能構成についても後述する。
【００２２】
主記憶部９１は、ＤＲＡＭ（Dynamic Random Access Memory）、ＳＲＡＭ、ＭＲＡＭのような半導体メモリ等の記憶手段で、補助記憶部９２よりも高速にアクセス可能である。主記憶部９１は、補助記憶部９２から読み出されたプログラムやデータを記憶する。主記憶部９１は、図２の例では、主制御部８１及び副制御部８２の共有のメインメモリとして使用される。また、主記憶部９１は、割り込みについての各種データも記憶する。
なお、主記憶部９１は、セルフリフレッシュ等の機能により、省電力状態でも記憶内容の保持が可能である。
補助記憶部９２からロードされ、主制御部８１へ記憶されるプログラム等の構成については後述する。
【００２３】
補助記憶部９２は、ＲＯＭ（Read Only Memory）やフラッシュメモリ等の半導体メモリやＨＤＤ等の記憶手段である。補助記憶部９２は、各種プログラムやデータを記憶している。このうち、補助記憶部９２の半導体メモリは、ＥＥＰＲＯＭ、ＮＡＮＤ型やＮＯＲ型フラッシュメモリ、ＭＲＡＭ、ＲｅＲＡＭ等の不揮発性メモリを含んでいる。
補助記憶部９２は、ＯＳ（Operating System）の各ファイル及びデータと、主制御部８１又は副制御部８２が実行する画像形成装置１の制御プログラム、アプリケーションプログラム等を記憶している。これらのプログラムやデータは、主制御部８１又は副制御部８２により主記憶部９１にロードされて展開され、実行される。
なお、補助記憶部９２は、各種ジョブ実行用のジョブデータ等も記憶している。ジョブデータは、原稿読取部２によって原稿を読み取ることで取得された画像データ、図示しないＰＣ（Personal Computer）から送信された印刷文書のデータ、ファクシミリ受信データ等の各種ファイル等である。
【００２４】
画像処理部１０は、ＤＳＰ（Digital Signal Processor）やＧＰＵ（Graphics Processing Unit）等の制御演算部位である。
画像処理部１０は、画像データに対して所定の画像処理を行う手段であり、例えば、拡大縮小、濃度調整、階調調整等の画像改善処理を行う。
【００２５】
ネットワーク送受信部１２は、ネットワークに接続するためのＬＡＮボードや無線送受信機等を含むネットワーク接続手段である。
ネットワーク送受信部１２は、データ通信用の回線ではデータを送受信し、音声電話回線では音声信号を送受信する。
【００２６】
ＧＰＩＯ接続部１３は、他機器１４と接続される端子やコネクタやインターフェイス回路やシリアル／パラレル変換回路等を含む手段である。また、ＧＰＩＯ接続部１３は、他機器１４とのアクセスを制御する物理層回路、通信を制御するインターフェイス等を含んでいてもよい。
ＧＰＩＯ接続部１３は、接続された他機器１４からの信号を、主制御部８１が接続するＧＰＩＯ信号線の規格に合うような電圧や信号に変換し、主制御部８１に送信する。ＧＰＩＯ接続部１３は、主制御部８１からの信号を変換して、他機器１４に送信する。これにより、主制御部８１は、ＧＰＩＯを介して他機器１４の制御を行うことが可能となる。
また、ＧＰＩＯ接続部１３は、他機器１４からの信号により、主制御部８１に割り込みを発生させることが可能である。このため、ＧＰＩＯ接続部１３は、主制御部８１の所定の割り込み信号ＩＲＱの信号線にも接続される。
なお、ＧＰＩＯ接続部１３は、プログラマブルの割り込みコントローラやＡＰＩＣ等を備えていてもよい。
【００２７】
なお、画像形成装置１は、ファクシミリの送受信を行うＦＡＸ送受信部等を備えていてもよい。
【００２８】
｛主制御部８１、副制御部８２、及び主記憶部９１の構成｝
次に、図３を参照して、画像形成装置１の主制御部８１及び副制御部８２の機能を示すブロック、及び主記憶部９１に記憶されたプログラムとデータとについて説明する。
図３の例では、主制御部８１は、割り込み検知部８００（割り込み信号検知手段）、割り込み実行部８１１（割り込み実行手段）、及びハンドラ登録部８２１（割り込みハンドラ登録手段）を備えている。
また、副制御部８２は、割り込み実行部８１２（割り込み実行手段）及び割り込みハンドラ登録部８２２（割り込みハンドラ登録手段）を備えている。
また、主記憶部９１には、ＯＳ１００と、主制御部制御プログラム１１０と、副制御部制御プログラム１２０と、割り込みハンドラテーブル１３０とが記憶されている。
以下で、これらの各部の詳細について説明する。
【００２９】
（主制御部８１及び副制御部８２の構成）
割り込み検知部８００は、ＧＰＩＯ接続部１３からの割り込みの信号を含む割り込み信号ＩＲＱを検知する割り込み信号検知手段である。
なお、割り込み検知部８００は、ＧＰＩＯ接続部１３が接続された演算ユニットに備えられていればよい。図２、図３の例では、割り込み検知部８００は、主制御部８１のみに備えられている。
【００３０】
割り込み実行部８１１は、割り込み検知部８００により割り込み信号ＩＲＱが検知された場合、割り込みハンドラテーブル１３０に登録された当該割り込み信号ＩＲＱに対応した主制御部８１用の割り込みハンドラを、主制御部８１に実行させる割り込み実行手段である。割り込み実行部８１１は、例えば、ＧＰＩＯからの所定の割り込み信号ＩＲＱに対応して主制御部ハンドラ１３１に登録された処理を、主制御部８１に実行させる。
割り込み実行部８１２は、割り込み検知部８００により割り込み信号ＩＲＱが検知された場合、割り込みハンドラテーブル１３０に登録された当該割り込み信号ＩＲＱに対応する副制御部８２用の割り込みハンドラを、副制御部８２に実行させる割り込み実行手段である。割り込み実行部８１２は、例えば、ＧＰＩＯからの所定の割り込み信号ＩＲＱに対応して副制御部ハンドラ１３２に登録された処理を、副制御部８２に実行させる。
【００３１】
割り込みハンドラ登録部８２１は、主記憶部９１に記憶された割り込みハンドラテーブル１３０へ、主制御部８１に実行させる割り込みハンドラを登録する割り込みハンドラ登録手段である。割り込みハンドラ登録部８２１は、ＧＰＩＯからの所定の割り込み信号ＩＲＱに対応した主制御部ハンドラ１３１の処理を登録することが可能である。割り込みハンドラ登録部８２１は、主制御部ハンドラ１３１の登録中には、割り込みハンドラ登録部８２２が副制御部ハンドラ１３２を登録できないように排他制御する。
割り込みハンドラ登録部８２２は、主記憶部９１に記憶された割り込みハンドラテーブル１３０へ、副制御部８２に実行させる割り込みハンドラを登録する割り込みハンドラ登録手段である。割り込みハンドラ登録部８２２は、ＧＰＩＯからの所定の割り込み信号ＩＲＱに対応した副制御部ハンドラ１３２の処理を登録することが可能である。割り込みハンドラ登録部８２２は、副制御部ハンドラ１３２の登録中には、割り込みハンドラ登録部８２１が主制御部ハンドラ１３１を登録できないように排他制御する。
【００３２】
（主記憶部９１の構成）
ＯＳ１００は、Ｌｉｎｕｘ（登録商標）やＵＮＩＸ（登録商標）、Ｗｉｎｄｏｗｓ（登録商標）、各種リアルタイムＯＳ等を基に改造されたＯＳ及びデータである。ＯＳ１００は、１つの割り込み信号ＩＲＱにより、主制御部８１と副制御部８２とで同時に割り込みを実行可能にするように、カーネル（Kernel）等のＯＳの中核部分が変更されている。
ＯＳ１００は、割り込みハンドラテーブル１３０の割り込み信号ＩＲＱの種類別に、排他書き込み用のフラグ、割り込み処理の実行フラグ等、ハードウェアに近いレベルの制御処理用のデータも含んでいる。
ＯＳ１００は、主制御部８１及び副制御部８２により、補助記憶部９２からロードされて実行される。この際、主制御部８１と副制御部８２とで別々のカーネルを実行してもよい。つまり、ＯＳ１００は、演算ユニット毎に上述の変更されたカーネルを実行することが可能である。
主制御部８１及び副制御部８２は、ＯＳ１００を実行することで、割り込み実行部８１１、割り込み実行部８１２、割り込みハンドラ登録部８２１、及び割り込みハンドラ登録部８２２として機能させることが可能となる。なお、割り込み検知部８００は、主制御部８１及び副制御部８２の回路により実現されても、ＯＳ１００を実行することで実現されてもよい。
【００３３】
主制御部制御プログラム１１０は、主制御部８１によりＯＳ１００上で実行される他機器１４のデバイスドライバー、アプリケーションプログラム、その他のプログラム及びデータである。
主制御部制御プログラム１１０は、主に主制御部８１により、ＯＳ１００のＡＰＩ（Application Programming Interface）等を利用して補助記憶部９２からロードされて実行される。
【００３４】
副制御部制御プログラム１２０は、副制御部８２によりＯＳ１００上で実行される他機器１４のデバイスドライバー、アプリケーションプログラム、その他のプログラムと及びデータである。
副制御部制御プログラム１２０は、主に副制御部８２により、補助記憶部９２からロードされて実行される。
【００３５】
割り込みハンドラテーブル１３０は、割り込み信号ＩＲＱの種類毎に割り込みハンドラが登録される割り込みベクタテーブル（Interrupt Vector Table）や割り込み記述子テーブル（Interrupt Descriptor Tables）と呼ばれる表である。割り込みハンドラテーブル１３０には、割り込み信号ＩＲＱの種類別に、演算ユニットの数の割り込みハンドラがそれぞれ登録されている。割り込みハンドラテーブル１３０には、例えば、割り込みが発生した際に呼び出される関数へのポインタのように、プログラム等のメモリ空間上のアドレスが割り込みハンドラとして登録されている。
割り込みハンドラテーブル１３０には、ＧＰＩＯからの所定の割り込み信号ＩＲＱや、その他の割り込み信号ＩＲＱに対応する割り込みハンドラが登録されている。また、割り込みハンドラテーブル１３０は、いわゆる「ハードウェア」割り込みに対応する割り込みハンドラだけでなく、ＯＳ１００、主制御部制御プログラム１１０、及び副制御部制御プログラム１２０からのソフトウェア割り込み又は例外処理等に対応する割り込みハンドラも登録されている。
割り込みハンドラテーブル１３０に登録される割り込みハンドラは、例えば、各割り込み信号ＩＲＱの番号順に、演算ユニットのＩＤの小さい〜大きい順に、実行する処理として、メモリ空間上のアドレスを指定して登録可能である。割り込みハンドラテーブル１３０に登録される割り込みハンドラとして、例えば、ＯＳ１００のサービス、デーモン、その他の実行プログラムの主記憶部９１及び補助記憶部９２上の仮想アドレス等のメモリ空間上のアドレスを指定して登録可能である。また、同様に、割り込みハンドラテーブル１３０に登録される割り込みハンドラとして、主制御部制御プログラム１１０、副制御部制御プログラム１２０上の各プログラムの関数、クラス、ルーチン等の主記憶部９１及び補助記憶部９２のメモリ空間上のアドレスを指定して登録可能である。
図３の例では、割り込みハンドラテーブル１３０には、割り込み信号ＩＲＱの種類別に主制御部８１で実行するか副制御部８２で実行するかが区別された割り込みハンドラが、それぞれ登録されている。つまり、割り込みハンドラテーブル１３０は、一つの割り込み信号ＩＲＱの種類別に、主制御部８１及び副制御部８２でそれぞれ実行される処理が記述された割り込みハンドラが登録されている。
【００３６】
主制御部ハンドラ１３１は、例えば、ＧＰＩＯからの所定の割り込み信号ＩＲＱに対応して、主制御部８１で実行される処理が登録された割り込みハンドラである。
副制御部ハンドラ１３２は、例えば、ＧＰＩＯからの所定の割り込み信号ＩＲＱに対応して、副制御部８２で実行される処理が登録された割り込みハンドラである。
【００３７】
主記憶部９１は、主制御部８１への１つの割り込み信号である割り込み信号ＩＲＱに対応する第１の割り込みハンドラである主制御部ハンドラ１３１及び第２の割り込みハンドラである副制御部ハンドラ１３２が登録された割り込みハンドラテーブル１３０を記憶する割り込みハンドラ記憶手段として機能する。
【００３８】
〔画像形成装置１による割り込みハンドラ登録処理〕
次に、図４及び図５を参照して、本実施形態の割り込みハンドラ登録処理について説明する。
割り込み信号ＩＲＱは、主制御部８１及び副制御部８２の両方から利用される事が想定される。このため、主制御部８１と副制御部８２から１つの割り込み信号ＩＲＱに対応する割り込みハンドラを登録する場合、排他制御を行い、主制御部８１と副制御部８２それぞれが割り込みハンドラを登録する。以下では、主制御部８１が、割り込みハンドラテーブル１３０の主制御部ハンドラ１３１を登録する例について示す。
本実施形態の割り込みハンドラ登録処理は、主に補助記憶部９２に記憶されたプログラム及び各種設定が、主記憶部９１に展開された際に、主制御部８１及び副制御部８２がハードウェア資源を用いて実行する。
以下で、図４のフローチャートを参照して、本発明の実施の形態に係る割り込みハンドラ登録処理についてステップ毎に詳しく説明する。
【００３９】
（ステップＳ１０１）
まず、主制御部８１は、割り込みハンドラ登録部８２１を用いて、他制御部ハンドラ登録チェック処理を行う。
主制御部８１は、割り込みハンドラテーブル１３０の割り込み信号ＩＲＱに対応する割り込みハンドラを、副制御部８２が登録中であるか否かをチェックする。
主制御部８１は、例えば、副制御部８２が、ＧＰＩＯからの所定の割り込み信号ＩＲＱに対応する副制御部ハンドラ１３２を登録中であるか否かを、ＯＳ１００の排他書き込み用のフラグ等を読み出してチェックする。
【００４０】
（ステップＳ１０２）
主制御部８１は、割り込みハンドラ登録部８２１を用いて、他制御部が割り込みハンドラテーブル１３０に登録中であるか否かについて判定する。この例では、主制御部８１は副制御部８２が副制御部ハンドラ１３２を登録中であった場合は、Ｙｅｓと判定する。主制御部８１は、それ以外の場合、つまり副制御部８２が割り込みハンドラテーブル１３０に登録中でなかった場合は、Ｎｏと判定する。
Ｙｅｓの場合、主制御部８１は、処理をステップＳ１０１に戻して、副制御部８２の登録の完了まで待機する。
Ｎｏの場合、主制御部８１は、処理をステップＳ１０３に進める。
【００４１】
（ステップＳ１０３）
他制御部が割り込みハンドラテーブル１３０に登録中でなかった場合、主制御部８１は割り込みハンドラ登録部８２１を用いて、排他制御処理を行う。
図５（ａ）を参照すると、主制御部８１は、例えば、ＧＰＩＯからの所定の割り込み信号ＩＲＱに対応するＯＳ１００の排他書き込み用のフラグに、書き込み中である旨、設定する。これにより、副制御部８２が、割り込みハンドラテーブル１３０の副制御部ハンドラ１３２にアクセス不可能となる。
【００４２】
（ステップＳ１０４）
次に、主制御部８１は、割り込みハンドラ登録部８２１を用いて、割り込みハンドラ登録処理を行う。
主制御部８１は、割り込みハンドラテーブル１３０に割り込み信号ＩＲＱに対応する割り込みハンドラを登録する。たとえば、主制御部８１は、ＧＰＩＯからの所定の割り込み信号ＩＲＱに対応する主制御部ハンドラ１３１に、ＯＳ１００の処理や主制御部制御プログラム１１０で実行される処理のアドレスを書き込んで登録することが可能である。
主制御部８１は、例えば、他機器１４が人感センサーであった場合、省電力状態からの起動処理に関するアドレスを登録してもよい。また、主制御部８１は、他機器１４が操作パネル部６のボタンであった場合には、このボタンに対応する処理のアドレスを登録してもよい。また、他機器１４が各部の状態を把握するためのセンサー等であった場合、このセンサーの値に対応した処理のアドレスを登録してもよい。また、主制御部８１は、他機器１４が表示手段であった場合、表示手段に状態通知するための処理のアドレスを登録してもよい。また、主制御部８１は、他機器１４が、外部接続されたオプション機器である印刷物のソータ、マイク、監視用のカメラ等であった場合、これらのオプション機器に対応する処理のアドレスを登録してもよい。
以上により、本実施形態の割り込みハンドラ登録処理を終了する。
【００４３】
ここで、上述の主制御部８１による割り込みハンドラ登録処理と同様の処理で、副制御部８２が副制御部ハンドラ１３２を登録することが可能である。
図５（ｂ）を参照すると、副制御部８２は、例えば、ＧＰＩＯからの所定の割り込み信号ＩＲＱに対応するＯＳ１００の排他書き込み用のフラグに、書き出し中である旨、設定する。これにより、副制御部８２による副制御部ハンドラ１３２の登録中は、主制御部８１が主制御部ハンドラ１３１にアクセス不可能となり、排他書き込みが可能となる。
また、副制御部８２は、例えば、ＧＰＩＯからの所定の割り込み信号ＩＲＱに対応する副制御部ハンドラ１３２に、実行される処理を書き込んで登録する場合、主制御部ハンドラ１３１とほぼ同時に実行させるＯＳ１００の処理や主制御部制御プログラム１１０の処理のアドレスを登録する。副制御部８２は、例えば、他機器１４が人感センサー、操作パネル部６のボタン、各部の状態を把握するためのセンサー、外部接続されたオプション機器等であった場合等において、操作パネル部６を初期化してユーザーに操作可能とするような処理のアドレスを登録してもよい。また、他機器１４が表示手段であった場合、ＧＵＩ等に関する処理につてのアドレスを登録してもよい。
【００４４】
〔画像形成装置１による割り込み実行処理〕
次に、図６及び図７を参照して、本実施形態の割り込み実行処理について説明する。
登録した割り込みハンドラに該当する割り込み信号ＩＲＱが入力された場合、登録されている割り込みハンドラテーブルを順番に実行する。実行完了後、割り込み要因をクリアする。以下の例では、主制御部８１のＧＰＩＯに対応する割り込み信号ＩＲＱの信号線に割り込み信号ＩＲＱが入力された際に、主制御部ハンドラ１３１及び副制御部ハンドラ１３２の処理が実行される例について示す。
本実施形態の割り込み実行処理は、主に補助記憶部９２に記憶されたプログラム及び各種設定を基に、主制御部８１及び副制御部８２がハードウェア資源を用いて実行する。
以下で、図６のフローチャートを参照して、本発明の実施の形態に係る割り込み実行処理についてステップ毎に詳しく説明する。
【００４５】
（ステップＳ２０１）
まず、主制御部８１は、割り込み検知部８００を用いて、ＩＲＱ入力検知処理を行う。  割り込みハンドラテーブル１３０に登録した割り込みハンドラに該当する割り込み信号ＩＲＱが入力された場合、主制御部８１は、割り込み実行部８１１及び割り込み実行部８１２に通知する。
主制御部８１は、例えば、主制御部８１及び副制御部８２に対して例外を発生させることでこの通知を行う。この際、主制御部８１は、ＯＳ１００の割り込み処理の実行フラグをオンにすることも可能である。
また、主制御部８１は、副制御部８２のＯＳ１００のカーネルに、当該割り込み信号ＩＲＱに対応する割り込みハンドラを実行させるよう指示する。これにより、副制御部８２に当該割り込み信号ＩＲＱに対応する信号線が接続されていなくても、同じ割り込み信号ＩＲＱに対応する割り込み処理を実行させることが可能となる。
なお、この場合、主制御部８１は、ソフトウェア割り込みを発生させて副制御部８２に通知してもよい。つまり、割り込み検知部８００により割り込み信号ＩＲＱを検知された場合に、主制御部８１が副制御部８２への割り込み信号ＩＲＱを発生させ、この割り込み信号ＩＲＱにより副制御部８２に割り込みハンドラを実行させてもよい。
【００４６】
（ステップＳ２０２）
次に、主制御部８１は、割り込み実行部８１１を用いて、主制御部ハンドラ実行処理を行う。
図７を参照すると、主制御部８１は、割り込みハンドラテーブル１３０を参照し、割り込み検知部８００が検知した割り込み信号ＩＲＱに対応して主制御部８１が実行する割り込みハンドラによる割り込みを行う。つまり、主制御部８１は、主制御部８１の実行していた処理を中断し、この割り込みハンドラの処理を実行する。上述の例では、主制御部８１は、レジスタ等の内容をスタック等の主記憶部９１の所定領域に退避する。そして、主制御部８１は、ＧＰＩＯからの所定の割り込み信号ＩＲＱに対応する主制御部ハンドラ１３１に登録されたアドレスに、主制御部８１のプログラムカウンタ等を移動させ、この処理を実行する。
【００４７】
なお、主制御部８１は、割り込み検知部８００が検知した割り込み信号ＩＲＱに対応する割り込みハンドラの処理を主制御部８１が実行中であった場合、実行終了まで待つか、割り込みの実行自体をキャンセルすることが可能である。これは、以下の副制御部８２の処理でも同様である。
【００４８】
（ステップＳ２０３）
次に、副制御部８２は、割り込み実行部８１２を用いて、副制御部ハンドラ実行処理を行う。
副制御部８２は、割り込みハンドラテーブル１３０を参照し、副制御部８２の実行していた処理を中断して、割り込み検知部８００が検知した割り込み信号ＩＲＱに対応して副制御部８２が実行する割り込みハンドラの処理を実行する。上述の例では、副制御部８２は、レジスタ等の内容をスタック等に退避し、ＧＰＩＯからの所定の割り込み信号ＩＲＱに対応する副制御部ハンドラ１３２に登録されたアドレスに副制御部８２のプログラムカウンタ等を移動させ、この処理を実行する。この際、副制御部８２は、主制御部８１が主制御部ハンドラ１３１に登録された処理を実行中であっても、同時に副制御部ハンドラ１３２に登録された処理を実行可能である。
【００４９】
（ステップＳ２０４）
次に、主制御部８１は、割り込み実行部８１１を用いて、割り込み要因クリア処理を行う。
割り込み検知部８００が検知した割り込み信号ＩＲＱに対応する割り込みハンドラの処理が終了した後、主制御部８１は、当該割り込み信号ＩＲＱに対応する割り込み要因の消去（クリア）を行う。
主制御部８１は、この割り込みハンドラの処理を実行した後、それまでの処理に復帰する。つまり、主制御部８１は、退避されたレジスタ等の内容を戻し、中断された処理を実行する。この際、主制御部８１は、割り込み要因となった割り込み信号ＩＲＱに対応した処理が終了したため、ＯＳ１００の割り込み処理の実行フラグをオフにしてもよい。
上述の例では、主制御部８１は、例えば、ＧＰＩＯ接続部１３から他機器１４に対し、処理が終了した旨の通知を行い、例外の割り込み信号ＩＲＱの発生を停止させる。
また副制御部８２も、割り込みハンドラの処理を実行した後、それまでの処理に復帰する。
なお、この割り込み要因クリア処理は、主制御部８１が、実行中の割り込みハンドラから直接、呼び出して実行してもよい。また、この処理は、副制御部８２において実行してもよい。
以上により、本実施形態の割り込み実行処理を終了する。
【００５０】
以上のように構成することで、以下のような効果を得ることができる。
本発明の画像形成装置１は、主制御部８１及び副制御部８２を備える画像形成装置において、主制御部８１及び副制御部８２への１つの割り込み信号に対応する主制御部ハンドラ１３１及び副制御部ハンドラ１３２が登録された割り込みハンドラテーブル１３０が記憶された主記憶部９１と、主記憶部９１の割り込みハンドラテーブル１３０に登録された主制御部ハンドラ１３１及び副制御部ハンドラ１３２に対応する割り込み信号を検知する割り込み検知部８００と、割り込み検知部８００により割り込み信号が検知された場合、主制御部ハンドラ１３１に登録された処理を主制御部８１に実行させ、副制御部ハンドラ１３２に登録された処理を副制御部８２に実行させる割り込み実行部８１１、８１２とを備えることを特徴とする。
このように構成することで、１つの割り込み信号ＩＲＱにより、主制御部８１及び副制御部８２に、それぞれ主制御部ハンドラ１３１及び副制御部ハンドラ１３２による処理を実行させることが可能となる。よって、複数の演算ユニットを備える画像形成装置１において主制御部８１と副制御部８２の両方から１つの割り込み信号ＩＲＱを利用できるようになり、割り込みのハンドリングを効率的に行うことができる。
【００５１】
また、従来の画像形成装置では、一つの割り込み信号ＩＲＱの種類に対して、割り込みハンドラが一つしか登録できないという問題があった。そのため、１つの割り込み信号ＩＲＱに対して、複数の割り込みハンドラを実行することができなかった。
これに対して、本発明の画像形成装置１は、１つの割り込み信号ＩＲＱに対して、メイン処理とサブ処理のような複数の処理を実行可能である。このため、一旦、主制御部８１が実行するメイン処理と、副制御部８２が実行するサブ処理を１つの割り込み信号ＩＲＱで同時に実行することが可能となり、ユーザーの利便性を高めることができる。つまり、例えば、省電力状態からの画像形成装置１の各部のウォームアップと、操作パネル部６の初期化等を同時に行うことができ、処理のレスポンスを向上させて、素早く画像形成装置１をユーザーが使用可能な状態とすることができる。
また、１つの割り込み信号ＩＲＱで、メイン処理とサブ処理を一度に実行させることができるため、複数の演算ユニットを備える画像形成装置１のプログラムを効率的に作成可能となる。
【００５２】
また、本実施形態の画像形成装置は、複数の割り込みハンドラを登録可能な割り込みハンドラテーブル１３０を用意し、所定の割り込み信号ＩＲＱに対する割り込みハンドラの登録時に排他制御を行って、所定の割り込み信号ＩＲＱに対応する主制御部８１用の割り込みハンドラと、副制御部８２用の割り込みハンドラとを、それぞれ登録する。この例では、主制御部ハンドラ１３１及び副制御部ハンドラ１３２に、主制御部８１と副制御部８２のそれぞれの割り込みハンドラを登録する。つまり、主記憶部９１の割り込みハンドラテーブル１３０への主制御部ハンドラ１３１の登録中には副制御部ハンドラ１３２を登録できないように制御し、副制御部ハンドラ１３２の登録中には主制御部ハンドラ１３１を登録できないように排他制御する。
このように構成することで、複数の演算ユニットを備える画像形成装置１において、主制御部８１と副制御部８２とが、同時に、同じ割り込み信号ＩＲＱに対応する割り込みハンドラを登録することによる割り込みハンドラテーブル１３０のデータ破損等を避けることが可能となる。これにより、主制御部８１と副制御部８２のそれぞれの割り込みハンドラを確実に登録し、実行することが可能となる。
また、ＧＰＩＯからの所定の割り込み信号ＩＲＱに対応した主制御部ハンドラ１３１及び副制御部ハンドラ１３２を登録する場合、一度に両方の登録をすることが多い。このような場合でも、主制御部ハンドラ１３１及び副制御部ハンドラ１３２のいずれか一方の登録を待ってから、すぐ他方の登録が可能となる。よって、確実に主制御部ハンドラ１３１及び副制御部ハンドラ１３２に登録した処理を切り換えることが可能となる。
【００５３】
〔他の実施の形態〕
なお、割り込みハンドラテーブル１３０において、主制御部ハンドラ１３１及び副制御部ハンドラ１３２のように割り込みハンドラの種別を区別しない構成も可能である。この場合、１つの割り込み信号ＩＲＱに対応した割り込みハンドラを２つ以上用意しておき、各割り込みハンドラに、実行する演算ユニットのＩＤ等を設定することが可能である。つまり、各演算ユニットは、１つの割り込み信号ＩＲＱにより、このＩＤ等に対応する割り込みハンドラをそれぞれ実行する。
また、１つの割り込み信号ＩＲＱに対して、一つの演算ユニットに複数の割り込みハンドラを実行させることも可能である。
また、画像形成装置１は、主制御部８１と副制御部８２に限らず、さらに多くのＣＰＵ等の演算ユニットを備えていてもよい。この場合、割り込みハンドラテーブル１３０には、１つの種類の割り込み信号ＩＲＱにおいて、それらの各演算ユニットに対応した割り込みハンドラが登録されてもよい。
【００５４】
また、ＧＰＩＯ接続部１３は、副制御部８２のみに接続されていてもよい。つまり、副制御部８２の割り込み信号ＩＲＱの信号線にＧＰＩＯ接続部１３が接続され、他機器１４と接続しているような構成であってもよい。この場合、ＧＰＩＯ接続部１３は、副制御部８２への割り込みを発生させる。
【００５５】
また、主制御部８１及び副制御部８２にＧＰＩＯ接続部１３がそれぞれ接続されていてもよい。この場合、ＧＰＩＯ接続部１３から、１つの割り込み信号ＩＲＱが主制御部８１及び副制御部８２に同時に送信される。この送信の際、割り込み信号ＩＲＱの番号自体は主制御部８１と副制御部８２とで異なっていてもよい。
また、ＧＰＩＯ接続部１３を、画像形成装置１の他の各部に接続して他機器１４として制御するような構成であってもよい。
【００５６】
また、割り込みハンドラテーブル１３０は、主制御部８１及び副制御部８２の規格上決まっている主記憶部９１のアドレスに配置されてもよい。この際、割り込みハンドラテーブル１３０は、主制御部８１及び副制御部８２の規格によっては、レジスタ等により、アドレスが指定されていてもよい。さらに、割り込みハンドラテーブル１３０は、補助記憶部９２のＲＯＭやフラッシュメモリ等のアドレスが指定されていてもよい。
また、割り込みハンドラテーブル１３０は、一旦、主制御部８１及び副制御部８２の規格により設定された割り込みベクタテーブルや割り込み記述子テーブルから間接参照されるような構成であってもよい。つまり、規格により設定された割り込みベクタテーブルや割り込み記述子テーブルの割り込みハンドラに、別途、割り込みハンドラテーブル１３０が登録されていてもよい。
この場合、主制御部８１の回路である割り込み検知部８００により割り込み信号ＩＲＱが検知された場合、例えば、主制御部８１は、一旦、規格により設定された割り込みベクタテーブルや割り込み記述子テーブルの割り込みハンドラを実行して、割り込みハンドラテーブル１３０にプログラムカウンタ等を移す。そして、主制御部８１は割り込みハンドラテーブル１３０の対応する各割り込みハンドラの処理を実行する。
【００５７】
また、上述の実施の形態では、主制御部８１と副制御部８２とで主記憶部９１と補助記憶部９２とを共有しているように記載したが、これに限られない。
たとえば、主制御部８１と副制御部８２とが別々に主記憶部を備えて、バスアービタ等で接続されるような構成も可能である。この場合は、同じ割り込み信号ＩＲＱに対して別々の割り込みハンドラを実行する割り込みハンドラテーブル１３０を、主制御部８１と副制御部８２に接続された主記憶部にそれぞれ用意してもよい。
【００５８】
また、上述の実施の形態では、主制御部８１と副制御部８２とは、マルチコアＣＰＵやシングルパッケージＣＰＵのように一体的に構成されていてもよい。つまり、主制御部８１と副制御部８２とは、単一のパッケージ内に複数の演算ユニットを備える構成であってもよい。また、主制御部８１及び副制御部８２は、それぞれ二つ以上の複数のＣＰＵコアから構成されていてもよい。また、主制御部８１が消費電力や処理能力の大きなコア、副制御部８２は低消費電力コア等であってもよい。
また、主制御部８１及び副制御部８２は、ハイパースレッディングのように、論理コアが複数認識でき、ＯＳ１００において実行する演算ユニットが複数あるように見える構成であってもよい。
また、上述の実施の形態では、別々の制御部を用いるように説明したが、同じ制御部で複数のプロセスやスレッドの処理の切り換えを行う構成にも用いることが可能である。
また、主制御部８１、副制御部８２、画像処理部１０は、メモリ内蔵ＣＰＵやＧＰＵ内蔵ＣＰＵやチップ・オン・モジュール等のように、一体的に形成されてもよい。つまり、主制御部８１と副制御部８２と画像処理部１０とは、主記憶部９１及び／又は補助記憶部９２の一部又は全てを内蔵する構成であってもよい。
【００５９】
なお、本発明の実施の形態に係る割り込み制御処理は、画像形成装置に限られず、複数のＣＰＵ等の演算ユニットを備える情報処理装置であるＰＣ、スマートフォン、携帯電話、オフィス機器、産業用機器等にも適用可能である。
【００６０】
なお、上記実施の形態の構成及び動作は例であって、本発明の趣旨を逸脱しない範囲で適宜変更して実行することができることは言うまでもない。
【符号の説明】
【００６１】
１  画像形成装置
２  原稿読取部
３  原稿給送部
４  本体部
５  スタックトレイ
６  操作パネル部
７  画像形成部
１０  画像処理部
１２  ネットワーク送受信部
１３  ＧＰＩＯ接続部
１４  他機器
２１  スキャナー
２２  プラテンガラス
２３  原稿読取スリット
３１  原稿載置部
３２  原稿排出部
３３  原稿搬送機構
４１  排出口
４２  給紙部
４３  用紙搬送路
４４  搬送ローラー
４５  排出ローラー
７１  感光体ドラム
７２  露光部
７３  現像部
７４  転写部
７５  定着部
８１  主制御部
８２  副制御部
９１  主記憶部
９２  補助記憶部
１００  ＯＳ
１１０  主制御部制御プログラム
１２０  副制御部制御プログラム
１３０  割り込みハンドラテーブル
１３１  主制御部ハンドラ
１３２  副制御部ハンドラ
４２１  給紙カセット
４２２  給紙ローラー
８００  割り込み検知部
８１１、８１２  割り込み実行部
８２１、８２２  割り込みハンドラ登録部
【図１】
2014225058.tif 000003
【図２】
2014225058.tif 000004
【図３】
2014225058.tif 000005
【図４】
2014225058.tif 000006
【図５】
2014225058.tif 000007
【図６】
2014225058.tif 000008
【図７】
2014225058.tif 000009