(57)【要約】【課題】あるＣＰＵが共有資源を獲得したとき、割込を有効、又は禁止等制御する時間を省略することにより、処理速度を速くする。【解決手段】複数の資源と、複数の演算手段に対して複数の資源の各々を排他的に制御させる排他制御手段と、複数の資源の各々から発せられる割込信号と、排他制御手段から発せられる排他信号とを入力信号とし、割込信号と排他信号とに基づいて、複数の演算手段の各々に対して発せられる出力信号を有効、又は無効の何れかに制御する割込信号制御手段と、を含む。【選択図】図１
2014142816.tif 000002
【特許請求の範囲】
【請求項１】
複数の資源と、
複数の演算手段に対して前記複数の資源の各々を排他的に制御させる排他制御手段と、
前記複数の資源の各々から発せられる割込信号と、前記排他制御手段から発せられる排他信号とを入力信号とし、前記割込信号と前記排他信号とに基づいて、前記複数の演算手段の各々に対して発せられる出力信号を有効、又は無効の何れかに制御する割込信号制御手段と、
を含むことを特徴とする割込制御装置。
【請求項２】
前記割込信号制御手段は、前記排他制御手段が前記複数の資源の各々を排他的に制御することにより、前記資源を獲得した演算手段に対して発せられる前記出力信号を有効に制御することを特徴とする請求項１に記載の割込制御装置。
【請求項３】
前記割込信号制御手段は、前記排他制御手段が前記複数の資源の各々を排他的に制御することにより、前記資源を解放した演算手段に対して発せられる前記出力信号を無効に制御することを特徴とする請求項１に記載の割込制御装置。
【請求項４】
前記複数の演算手段は、マルチコアＣＰＵであることを特徴とする請求項１から３の何れか１項に記載の割込制御装置。
【請求項５】
複数の資源を有する割込制御装置の制御方法であって、
排他制御手段が、複数の演算手段に対して前記複数の資源の各々を排他的に制御させる工程と、
割込信号制御手段が、前記複数の資源の各々から発せられる割込信号と、前記排他制御手段から発せられる排他信号とを入力信号とし、前記割込信号と前記排他信号とに基づいて、前記複数の演算手段の各々に対して発せられる出力信号を有効、又は無効の何れかに制御する工程と、
を含むことを特徴とする制御方法。
【請求項６】
複数の資源と、
複数の演算手段に対して前記複数の資源の各々を排他的に制御させる排他制御手段と、
前記複数の資源の各々から発せられる割込信号と、前記排他制御手段から発せられる排他信号とを入力信号とし、前記割込信号と前記排他信号とに基づいて、前記複数の演算手段の各々に対して発せられる出力信号を有効、又は無効の何れかに制御する割込信号制御手段と、
を有する割込制御装置を含むことを特徴とする情報処理装置。
【請求項７】
前記割込信号制御手段は、前記排他制御手段が前記複数の資源の各々を排他的に制御することにより、前記資源を獲得した演算手段に対して発せられる前記出力信号を有効に制御することを特徴とする請求項６に記載の情報処理装置。
【請求項８】
前記割込信号制御手段は、前記排他制御手段が前記複数の資源の各々を排他的に制御することにより、前記資源を解放した演算手段に対して発せられる前記出力信号を無効に制御することを特徴とする請求項６に記載の情報処理装置。
【請求項９】
前記複数の演算手段は、マルチコアＣＰＵであることを特徴とする請求項６から８の何れか１項に記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、割込制御装置、制御方法、及び情報処理装置に関する。
【背景技術】
【０００２】
従来から、複数のＣＰＵ（Central Processing Unit）コアを搭載し、同時に複数のタスク処理を実行するマルチコアのＣＰＵが存在しており、一般的に既に知られている。
【０００３】
特許文献１には、共有資源からＣＰＵに対する割り当てを効率的に行うことを目的として、共有資源を使用するタスク処理の優先度レベルを記憶する構成を有する情報処理装置が開示されている。
【０００４】
ここで、従来の割込制御を行うマルチコアＣＰＵ構成のシステムについて説明する。図５は、従来の割込制御を行うマルチコアＣＰＵ構成のシステムについて説明する概略ブロック図である。
【０００５】
図５に示すようにマルチコア構成のシステムは、ＣＰＵ０  ５０１とＣＰＵ１  ５０２とを有し、各部の制御を行う。制御される資源としてはＳＤ（Secure Digital memory card）カードを制御するＳＤ制御部５０５、ＵＳＢ（Universal Serial Bus）デバイスを制御するＵＳＢ制御部５０６等を有する。また、これらの資源を各ＣＰＵが排他的に制御を可能にする排他制御部５０４を有する。
【０００６】
加えて、各資源からの割込を入力し、各ＣＰＵ５０１、５０２に対して、この割込入力を元にした出力信号の有効、又は無効を制御する割込制御部５０３を有する。これらはシステムバスにシステムバスインタフェースで接続されており、各ＣＰＵ５０１、５０２は各制御部に対してアクセスできるように構成されている。
【０００７】
次に、従来の排他制御を用いる資源制御について説明する。図６は、従来の排他制御を用いる資源制御について説明するシーケンスチャート図である。図６において、まずステップ１において、資源５１０に対して排他的に制御を行うＣＰＵ５００は、排他制御部５０４のセマフォ（semaphore）レジスタに対して書き込みを行い、Ｐ操作を実施する。Ｐ操作とは資源５１０の獲得予約を行う操作である。
【０００８】
次に、ステップ２において、排他制御部５０４はセマフォの登録を行う。ステップ３において、ＣＰＵ５００は、排他制御実行状態を読み出すために、排他制御部５０４に対してポーリングを行う。ＣＰＵ５００に対するセマフォビットが１の時、資源５１０に対する排他制御を行うことができる。
【０００９】
ステップ４において、ＣＰＵ５００は、割込制御部５０３のレジスタを制御し、ＣＰＵ５００に対する資源５１０からの割込禁止状態を解除できるよう操作する。ステップ５において、割込制御部５０３は、ＣＰＵ５００からのレジスタ制御により、そのＣＰＵ５００に対する資源５１０からの割込禁止状態を解除する。
【００１０】
ステップ６において、ＣＰＵ５００は資源５１０の制御を行う。ステップ７において、資源５１０はＣＰＵ５００によって処理される。ステップ８において、ステップ７の処理の結果として資源５１０は割込を発生する。ステップ９において、割込制御部５０３は資源５１０からの割込禁止が解除されているので、ＣＰＵ５００に対して割込を発生させる。
【００１１】
ステップ１０において、資源５１０の処理が終了したら、ＣＰＵ５００は割込制御部５０３のレジスタを制御し、資源５１０から発生する割込を禁止する操作を行う。ステップ１１において、割込制御部５０３は、ＣＰＵ５００からのレジスタ制御により、当該ＣＰＵ５００に対する資源５１０から発生する割込を禁止状態にする。
【００１２】
ステップ１２において、ＣＰＵ５００は資源５１０を解放するため、排他制御部５０４のセマフォレジスタにＶ操作を行う。Ｖ操作とは資源５１０の解放を行う操作である。ステップ１３において、排他制御部５０４はセマフォの開放を行う。
【００１３】
次に、従来の割込制御部の内部構成について説明する。図７は、従来の割込制御部の内部構成について説明する概略ブロック図である。
【００１４】
図７に示すように、割込制御部５０３では、ＳＤ制御部５０５（図５）から発せられる割込信号ｉｎｔ＿ｓｄの状態を、ＣＰＵ０  ５０１に対してｉｎｔ＿ｓｄ＿ｃ０、ＣＰＵ１  ５０２に対してｉｎｔ＿ｓｄ＿ｃ１の信号線で伝える。これらの割込信号線を、有効、又は無効に設定するレジスタのビットを簡易的に７０２、７０３として示す。
【００１５】
図７では、ＣＰＵ０  ５０１用の割込信号有効レジスタのビット７０２が１なので、ｉｎｔ＿ｓｄ＿ｃ０が有効状態、ＣＰＵ１  ５０２用の割込信号有効レジスタのビット７０３が０なので、ｉｎｔ＿ｓｄ＿ｃ１が無効状態になっている。ＳＤ制御部５０５を排他的にＣＰＵ０  ５０１がアクセスする場合はこの状態にする必要がある。ＣＰＵ１  ５０２用の割込信号有効レジスタのビット７０３が１で、ｉｎｔ＿ｓｄ＿ｃ１が有効状態となると、ＣＰＵ１  ５０２に対して割込が発生し、不具合状態になってしまうという問題がある。
【発明の概要】
【発明が解決しようとする課題】
【００１６】
このように、従来のマルチコアＣＰＵでは、共有資源を１つのＣＰＵが占有し、排他的に使用する場合、共有資源から発せられる割込を有効、又は禁止等とする制御をする必要があり、その分だけ、ＣＰＵの処理が遅くなるという問題があった。
【００１７】
また、特許文献１に開示された技術は、共有資源の割り当て、解放を効率的に行い、情報処理装置を使用する際の処理効率の向上、処理速度の向上を目的としている。しかしながら、割込を有効、又は禁止等制御することによる処理速度の低下という問題は依然として解消されていない。
【００１８】
そこで本発明は、上記従来技術の問題点に鑑みてなされたものであって、マルチコアＣＰＵを用いて共有資源が排他的に使用される場合、あるＣＰＵが共有資源を獲得したとき、割込を有効、又は禁止等制御する時間を省略することにより、処理速度を速くすることが可能な割込制御装置を提供することを目的とする。
【課題を解決するための手段】
【００１９】
上記課題を解決するため、請求項１に記載の本発明における割込制御装置は、複数の資源と、複数の演算手段に対して前記複数の資源の各々を排他的に制御させる排他制御手段と、前記複数の資源の各々から発せられる割込信号と、前記排他制御手段から発せられる排他信号とを入力信号とし、前記割込信号と前記排他信号とに基づいて、前記複数の演算手段の各々に対して発せられる出力信号を有効、又は無効の何れかに制御する割込信号制御手段と、を含むことを特徴とする。
【発明の効果】
【００２０】
本発明によれば、マルチコアＣＰＵを用いて共有資源が排他的に使用される場合、あるＣＰＵが共有資源を獲得したとき、割込を有効、又は禁止等制御する時間を省略することにより、処理速度を速くすることが可能な割込制御装置を得ることができる。
【図面の簡単な説明】
【００２１】
【図１】本発明の実施形態に係る割込制御装置において、割込制御を行うマルチコアＣＰＵ構成のシステムについて説明する概略ブロック図である。
【図２】本発明の実施形態に係る割込制御装置において、排他制御を用いる資源制御について説明するシーケンスチャート図である。
【図３】本発明の実施形態に係る割込制御装置において、割込制御部の内部構成について説明する概略ブロック図である。
【図４】本発明の実施形態に係る割込制御装置を適用した情報処理装置の構成について説明する概略ブロック図である。
【図５】従来の割込制御を行うマルチコアＣＰＵ構成のシステムについて説明する概略ブロック図である。
【図６】従来の排他制御を用いる資源制御について説明するシーケンスチャート図である。
【図７】従来の割込制御部の内部構成について説明する概略ブロック図である。
【発明を実施するための形態】
【００２２】
次に、本発明を実施するための形態について図面を参照して詳細に説明する。なお、各図中、同一又は相当する部分には同一の符号を付しており、その重複説明は適宜に簡略化乃至省略する。本発明は、マルチコアＣＰＵで共有資源が排他的に使用される場合の割込制御処理の高速化に際し、排他的処理の許可を行う排他制御部が、割込制御部に対して割込の有効、又は禁止の制御を行うことが特徴になっている。
【００２３】
まず、図１を用いて本発明の実施形態における割込制御装置における割込制御を行うマルチコアＣＰＵ構成について説明する。図１は、本発明の実施形態に係る割込制御装置において、割込制御を行うマルチコアＣＰＵ構成のシステムについて説明する概略ブロック図である。
【００２４】
図１に示すように、本発明の実施形態に係るマルチコア構成のシステムは、演算手段であるＣＰＵ０  １０１とＣＰＵ１  １０２とを有し、各部の制御を行う。制御される資源として、ＳＤカードを制御するＳＤ制御部１０５、ＵＳＢデバイスを制御するＵＳＢ制御部１０６等、複数の資源を有する。また、これらの資源を、各ＣＰＵ１０１、１０２が排他的に制御を可能にする排他制御部１０４を有する。
【００２５】
加えて、各資源からの割込を入力し、各ＣＰＵ１０１、１０２に対して、この割込信号入力を元にした出力信号の有効、又は無効を制御する割込制御部１０３を有する。排他制御部１０４は、各ＣＰＵ１０１、１０２からの排他制御により、割込制御部１０３に対して排他信号を出力し、割込制御部１０３から出力される割込信号の有効、又は無効の制御を行う。要するに、各資源から発せられる割込信号と、排他制御部１０４から発せられる排他信号とを入力信号とし、割込制御部１０３から出力される割込信号の有効、又は無効が制御される。
【００２６】
次に、本発明の実施形態における排他制御を用いる資源制御について説明する。図２は、本発明の実施形態に係る割込制御装置において、排他制御を用いる資源制御について説明するシーケンスチャート図である。
【００２７】
図２において、まずステップ１において、資源１１０に対して排他的に制御を行うＣＰＵ１００は、排他制御部１０４のセマフォレジスタに対して書き込みを行い、Ｐ操作を実施する。Ｐ操作とは、資源の獲得の予約を行うことである。
【００２８】
ステップ２において、排他制御部１０４は、セマフォの登録を行う。ステップ３において、ＣＰＵ１００は、排他制御実行状態を読み出すために、排他制御部１０４にポーリングを行う。ＣＰＵ１００に対するセマフォビットが１の時、資源１１０に対する排他制御を行うことができる。
【００２９】
ステップ４において、排他制御部１０４は、割込制御部１０３に対する信号を制御し、資源１１０を獲得したＣＰＵ１００に対する、資源１１０からの割込禁止状態を解除するよう操作する。割込制御部１０３は割込禁止状態を解除する。
【００３０】
ステップ５において、ＣＰＵ１００は資源１１０の制御を行う。ステップ６において、資源１１０はＣＰＵ１００によって処理される。ステップ７において、処理の結果として資源１１０は割込を発生する。ステップ８において、割込制御部１０３は、資源１１０の割込禁止が解除されているので、ＣＰＵ１００に対して割込を発生する。
【００３１】
ステップ９において、ＣＰＵ１００は資源１１０を解放するため、排他制御部１０４のセマフォレジスタにＶ操作を行う。Ｖ操作とは、資源の解放を行う操作である。ステップ１０において、排他制御部１０４は、セマフォの開放を行う。
【００３２】
ステップ１１において、排他制御部１０４は、割込制御部１０３に対する信号を制御し、資源１１０を解放したＣＰＵ１００に対する資源１１０からの割込を禁止状態にするよう操作する。割込制御部１０３は割込禁止状態にする。
【００３３】
次に、本発明の実施形態における割込制御部の内部構成について説明する。図３は、本発明の実施形態に係る割込制御装置において、割込制御部の内部構成について説明する概略ブロック図である。
【００３４】
図３に示すように、割込制御部１０３では、ＳＤ制御部１０５（図１）から発せられる割込信号ｉｎｔ＿ｓｄの状態を、ＣＰＵ０  １０１に対してｉｎｔ＿ｓｄ＿ｃ０、ＣＰＵ１  １０２に対してｉｎｔ＿ｓｄ＿ｃ１の信号線で伝える。これらの割込信号線を、有効、又は無効にする排他信号（ｉｎｔ＿ｓｄ＿ｃ０ｅｎ、ｉｎｔ＿ｓｄ＿ｃ１ｅｎ）は、排他制御部１０４から割込制御部１０３に入力される。
【００３５】
ｉｎｔ＿ｓｄ＿ｃ０ｅｎが１であると、ｉｎｔ＿ｓｄ＿ｃ０は有効、すなわち、割込禁止解除、ｉｎｔ＿ｓｄ＿ｃ０ｅｎが０であると、ｉｎｔ＿ｓｄ＿ｃ０は無効、すなわち、割込禁止に制御される。ｉｎｔ＿ｓｄ＿ｃ１ｅｎが１であると、ｉｎｔ＿ｓｄ＿ｃ１は有効、すなわち、割込禁止解除、ｉｎｔ＿ｓｄ＿ｃ１ｅｎが０であると、ｉｎｔ＿ｓｄ＿ｃ１は無効、すなわち、割込禁止に制御される。
【００３６】
図２のステップ４で説明したように、資源１１０を獲得したＣＰＵ０  １０１、又はＣＰＵ１  １０２に対して割込が有効になるよう、排他制御部１０４は、信号ｉｎｔ＿ｓｄ＿ｃ０ｅｎ、又はｉｎｔ＿ｓｄ＿ｃ１ｅｎを１に制御する。
【００３７】
次に、本発明の実施形態における割込制御装置を適用した情報処理装置について説明する。図４は、本発明の実施形態に係る割込制御装置を適用した情報処理装置の構成について説明する概略ブロック図である。
【００３８】
コントローラ４０１は、情報処理装置４０４の機械本体に内蔵されており、画像処理、ネットワーク、及び操作部の制御を行うボードである。コントローラ４０１上には、制御機能が集約されたＡＳＩＣ４０２が搭載されている。ＡＳＩＣ（Application Specific Integrated Circuit）４０２には、画像処理機能の制御を行うＣＰＵ０  ４１６、操作部機能の制御を行うＣＰＵ１  ４１７、及びネットワークの機能を制御するＣＰＵ２  ４１９の３つのＣＰＵが内蔵されている。
【００３９】
コピー、スキャナ等の動作で画像データを入力するとき、ＣＰＵ０  ４１６は、情報処理装置４０４に搭載されたスキャナからの画像データを、ＰＣＩＥ制御部４２４を制御して入力する。そして、メモリ制御部４１３を制御してメモリ４０８に書き込みを行う。
【００４０】
コピー、プリンタで画像を出力するとき、ＣＰＵ０  ４１６は、メモリ制御部４１３を制御してメモリ４０８上のデータを読み出す。そして、ＰＣＩＥ制御部４２４を制御して情報処理装置４０４に画像を出力し、情報処理装置４０４は、搭載している印字部を用いて画像データを用紙に出力する。
【００４１】
プリンタ機能で画像データを生成するとき、ＣＰＵ２  ４１９は、ネットワーク制御部４２０を制御してＥｔｈｅｒｎｅｔ（登録商標）ケーブルからＰＨＹ４０９を介して転送されてくるプリンタ描画用データを入力する。そして、メモリ制御部４１３を制御してメモリ４０８にプリンタ描画用データを蓄積する。
【００４２】
ＣＰＵ０  ４１６は、蓄積されたプリンタ描画用データをメモリ制御部４１３を制御して読み出し、出力用画像データに変換する。そして、メモリ制御部４１３を制御して、メモリ４０８に書き込みを行う。
【００４３】
操作部４０３は、オペレータからの入力操作を受け付けると共に、オペレータに向けた表示を行う。操作部４０３の制御は、操作部制御部４１８を介してＣＰＵ１  ４１７が制御を行う。
【００４４】
ＲＯＭ（Read Only Memory）制御部４２１は、プログラム等が格納されたＲＯＭ４１０の制御を行う。ＵＳＢ制御部４２２は、拡張プログラムや画像データ等が格納されたＵＳＢメモリ４０６の制御を行う。ＳＤ制御部４２３は、拡張プログラムや画像データ等が格納されたＳＤカード４０７の制御を行う。
【００４５】
ＨＤＤ制御部４１５は、ＨＤＤ（Hard Disk Drive）４０５に対して、一時的な画像の格納や繰り返し使用する画像の格納を行う。割込制御部４１２は、各制御部からの割込信号を入力し、各ＣＰＵに対して、これらの割込信号の有効、又は無効の制御を行う。
【００４６】
排他制御部４１１は、各ＣＰＵから共通で使用が可能なメモリ制御部４１３、ＲＯＭ制御部４２１、ＵＳＢ制御部４２２、ＳＤ制御部４２３、及びＨＤＤ制御部４１５を、各ＣＰＵが排他的に使用できるよう制御する。具体的には、これら各制御部から各ＣＰＵに対する使用許可、予約等の制御を行う。そして、制御結果に応じて、割込制御部４１２は、各制御部から各ＣＰＵに対して発せられる割込信号を有効、又は無効にする制御を行う信号を出力する。
【００４７】
上記説明したように、本発明の実施形態における割込制御装置では、初期状態では、すべてのＣＰＵに対して、例えばＵＳＢメモリ等の共有資源から発せられる割込が禁止状態になっている。そして、あるＣＰＵが、排他制御部に対して資源の排他的利用の許可を得る制御を行うと、排他制御部が当該ＣＰＵに対して排他的利用の許可の応答を返す前に、排他制御部が割込制御部に対して通知を行う。これにより、当該ＣＰＵに対する共有資源の割込禁止状態が解除される。
【００４８】
また、資源の排他的利用が終了した時には、排他制御部が割込制御部に対して通知し、共有資源の割込を禁止状態にする。これにより、マルチコアＣＰＵにおいて共有資源が排他的に使用されている場合、あるＣＰＵが共有資源を獲得したとき、割込の有効、又は禁止の制御時間を省略することにより、処理を速くすることが可能となる。
【００４９】
さらに、この割込制御装置を情報処理装置に内蔵し、情報処理装置における割込の有効、又は禁止の制御時間を省略することにより、処理を速くすることができる。
【００５０】
以上、本発明の好適な実施形態により本発明を説明した。ここでは特定の具体例を示して本発明を説明したが、特許請求の範囲に定義された本発明の広範囲な趣旨及び範囲から逸脱することなく、これら具体例に様々な修正及び変更が可能である。
【符号の説明】
【００５１】
１００    ＣＰＵ
１０１、４１６    ＣＰＵ０
１０２、４１７    ＣＰＵ１
１０３、４１２    割込制御部
１０４、４１１    排他制御部
１０５、４２３    ＳＤ制御部
１０６、４２２    ＵＳＢ制御部
１１０    資源
４０１    コントローラ
４０２    ＡＳＩＣ
４０３    操作部
４０４    情報処理装置
４０５    ＨＤＤ
４０６    ＵＳＢメモリ
４０７    ＳＤカード
４０８    メモリ
４０９    ＰＨＹ
４１０    ＲＯＭ
４１３    メモリ制御部
４１４    画像入出力制御部
４１５    ＨＤＤ制御部
４１８    操作部制御部
４１９    ＣＰＵ２
４２０    ネットワーク制御部
４２１    ＲＯＭ制御部
４２４    ＰＣＩＥ制御部
【先行技術文献】
【特許文献】
【００５２】
【特許文献１】特開２００９−２３０４６６号公報
【図１】
2014142816.tif 000003
【図２】
2014142816.tif 000004
【図３】
2014142816.tif 000005
【図４】
2014142816.tif 000006
【図５】
2014142816.tif 000007
【図６】
2014142816.tif 000008
【図７】
2014142816.tif 000009