JP2007328586A - 割り込み制御装置、割り込み制御方法及びプログラム - Google Patents

割り込み制御装置、割り込み制御方法及びプログラム Download PDF

Info

Publication number
JP2007328586A
JP2007328586A JP2006159637A JP2006159637A JP2007328586A JP 2007328586 A JP2007328586 A JP 2007328586A JP 2006159637 A JP2006159637 A JP 2006159637A JP 2006159637 A JP2006159637 A JP 2006159637A JP 2007328586 A JP2007328586 A JP 2007328586A
Authority
JP
Japan
Prior art keywords
interrupt
mask
order
control
signals
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.)
Pending
Application number
JP2006159637A
Other languages
English (en)
Inventor
Kinya Oosa
欣也 大佐
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2006159637A priority Critical patent/JP2007328586A/ja
Publication of JP2007328586A publication Critical patent/JP2007328586A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

【課題】ソフトウェアのデバッグやテストを容易に行うことができるようにする。
【解決手段】複数の割り込みソース信号が割り込み順序制御部105に入力され、割り込み順序制御部105で順序制御された後の割り込み信号がソフト制御用マスク部102に入力され、ソフト制御用マスク部102でマスクされた後の割り込み信号が、複数割込み統合ゲート101で統合されてCPU200へ割り込み信号として伝えられる。割り込み順序制御部105は、ソフト制御用マスク部102の入力側に接続されており、入力された割り込みソース信号の発生順序に関わらず、指定された順序でのみ割り込み信号を出力する。
【選択図】図1

Description

本発明は、複数の割り込み信号を集約してCPU(中央処理装置)に出力する割り込み制御装置、割り込み制御方法、及び当該割り込み制御方法をコンピュータに実行させるためのプログラムに関する。
従来より、CPUに割り込み信号を供給する割り込み機器において、機器の多機能化が進むことで割り込み信号の本数が増加し、また、複数の割り込み信号同士の依存関係が複雑化する傾向にある。
これに伴い、割り込みを処理するソフトウェアが複雑化し、どのような場合においても正しく動くソフトウェアの作成、あるいは、どのような場合においてもソフトウェアが正しく動くことのテストが難しくなってきている。
この状況に対応して、割り込みを処理するソフトウェアのデバッグやテストを容易化するための手法が検討されており、その一例として、下記の特許文献1及び特許文献2に挙げるものがある。
特許文献1では、割込同期化部(図1の符号12)を設けることにより、割り込みを受け付けるタイミングを、CPUの命令アドレスと同期させている。これにより、ソフトウェアプログラム上において、割り込みの受け付けられる位置が限定されるため、ソフトウェアの振る舞いを単純化するようにしている。
また、特許文献2では、割り込みを許可するための設定フリップフロップを1組(第1図の符号11,12,13,14)もち、割り込みを受け付ける毎に、ソフトウェアが次に起こるべき割り込みを予測して、予測される割込みだけを許可するよう、前記フリップフロップを設定するようにしている。この特許文献2では、ハードウェアの障害等により予測外の割り込みが起きた場合に、予測外の割り込みの受け付けを防止し、予測外の割り込みにソフトウェアが応答することで障害解析が難しくなる状況を回避することを目的としている。
特開平10−161887号公報 特開昭62−279430号公報
しかしながら、特許文献1に示す技術では、割り込みを受け付けるタイミングは制御できるものの、その順序は制御できないため、割り込み順序に依存したテストやデバッグを行うことができない。これにより、ソフトウェアのデバッグやテストを容易に行うことができないという問題があった。
また、特許文献2に示す技術では、割り込みを許可するための設定フリップフロップに対して、ソフトウェアが適切な設定を行うことにより、指定した順序でのみ割り込みが受け付けられるような制御が可能である。この際、ソフトウェアのテストあるいはデバッグを容易にするためには、元々のソフトウェア自体を修正無し、あるいは、わずかな修正で使えるようにする必要がある。しかしながら、特許文献2に示す技術では、ソフトウェアによる順序制御のため、元々のソフトウェア自体を修正無し、あるいは、わずかな修正で使えるようにすることができず、ソフトウェアのデバッグやテストを容易に行うことができないという問題があった。
本発明は上述の問題点にかんがみてなされたものであり、ソフトウェアのデバッグやテストを容易に行うことができるようにすることを目的とする。
本発明の割り込み制御装置は、複数の割り込み信号を集約してCPUに出力する割り込み制御装置であって、前記CPUに割り込み信号を出力する際に、前記複数の割り込み信号の全てあるいはその一部について、前記CPUに出力する順序が予め設定された順序に従うように制御する割り込み順序制御手段を具備する。
本発明の割り込み制御方法は、複数の割り込み信号を集約してCPUに出力する割り込み制御装置による割り込み制御方法であって、前記複数の割り込み信号を入力する入力ステップと、前記CPUに割り込み信号を出力する際に、前記入力ステップで入力された複数の割り込み信号の全てあるいはその一部について、前記CPUに出力する順序が予め設定された順序に従うように制御する割り込み順序制御ステップとを有する。
本発明のプログラムは、前記割り込み制御方法の各ステップをコンピュータに実行させるためのものである。
本発明によれば、予め設定した順序でのみ割り込み信号がCPUに対して出力されるため、通常では起こしにくい割り込み順序でのソフトウェアのテストを実施したり、様々な割り込み順序のパターンでのテストを網羅的に実施したりすることができる。また、ソフトウェアのデバッグ時においても、特定の割り込み順序の場合だけに発生する障害を再現させることができ、効率的なデバッグを行うことができる。これにより、ソフトウェアのデバッグやテストを容易に行うことが可能となる。
また、ソフトウェアの設計時において設定された順序で必ず割り込み信号がCPUに受け付けられるため、ソフトウェアの制御上、任意の割り込み順序に対応する必要が無くなり、ソフトウェアの単純化を図ることが可能となる。これにより、割込みが任意の順序で発生する場合と比較して、ソフトウェアの設計が容易になる。
本発明の実施形態について、図1、図2及び図3を用いて説明する。
図1は、本発明の実施形態に係る割り込み制御装置の概略構成図である。
図1に示すように、本実施形態に係る割り込み制御装置100は、複数の割り込みソース信号を集約してCPU200に出力するものであり、複数割込み統合ゲート101と、ソフト制御用マスク部102と、割り込み順序制御部105を具備して構成されている。
割り込み順序制御部105には、複数の割り込みソース信号が入力される。そして、割り込み順序制御部105で順序制御された後の割り込み信号がソフト制御用マスク部102に入力される。さらに、ソフト制御用マスク部102でマスクされた後の割り込み信号が複数割込み統合ゲート101で統合されて、CPU200へ割り込み信号として伝えられる。
図1には、割り込みソース信号が2本しか示されていないが、実際は複数本あれば何本あってもよい。以後の説明では、割り込みソース信号が4本(ここでは、各割り込みソース信号をA、B、C、Dとそれぞれ名前をつける)ある場合について説明する。
ソフト制御用マスク部102は、ソフトウェアから制御される通常の割り込みマスクである。このソフト制御用マスク部102では、ソフト制御用マスク設定部104に設定されたマスク値に従って、割り込みソース信号毎に用意されたソフト制御用マスクゲート103が制御されて、各割込み信号がマスクあるいは許可される。
割り込み順序制御部105は、ソフト制御用マスク部102の入力側に接続されており、当該割り込み順序制御部105への割り込みソース信号の入力発生順序に関わらず、指定された順序でのみ割り込み信号を出力する。
割り込み順序制御部105の内部には、複数のハード制御用マスク109、110、111及び112があり、各ハード制御用マスクで設定される設定値の出力がマスク選択部107に入力可能に接続されている。この各ハード制御用マスク109、110、111及び112は、割り込み順序制御部105内のマスク格納メモリ113に格納されている。
マスク選択部107は、複数のハード制御用マスクの中から1つのハード制御用マスクを選択し、選択したハード制御用マスクで設定されるマスク値(設定値)を、割り込みソース信号毎に設けられたハード制御用マスクゲート106に与える。そして、設定されたマスク値に従ってハード制御用マスクゲート106が制御されて、各割り込みソース信号がマスクあるいは許可される。この点については、ソフト制御用マスク部102の動作と同様である。
また、マスク選択部107には、割り込みクリア通知部108が接続されている。マスク選択部107は、割り込みクリア通知部108から割り込みクリア通知がされる度に、選択するハード制御用マスクを次のハード制御用マスクに切り替え、設定されるマスク値(設定値)切り替えていく。
図1に示す例では、割り込みクリア通知がされる度に、ハード制御用マスク1(109)→ハード制御用マスク2(110)→ハード制御用マスク3(111)→ハード制御用マスク4(112)→ハード制御用マスク1(109)→(以下同様)と切り替えが行われる。
割り込みクリア通知部108による割り込みクリア通知は、順序制御の対象となる複数の割り込みソース信号に対する割り込みクリアのトリガを検出することで行われる。ここで、割り込みクリアのトリガの検出手段としては、様々な方法が考えられる。その一例として、割り込みソース信号を保持するレジスタのクリア信号を使用する方法や、割込みをクリアするためのレジスタライトを検出する回路を使用する方法、ソフトウェアが割り込みクリア時にトリガ発生回路にアクセスする方法等により実現可能である。
図2は、ハード制御用マスクの一例を示す図である。
図2に示すように、4本の割り込みソース信号A、B、C及びDに対して、4つのハード制御用マスク1、2、3及び4を設定する。
図2は、割り込みソース信号の割込みの順序が、B→D→A→Cの繰り返しとなるように制御する場合の設定値を示している。各ハード制御用マスクの設定値は、1つの割り込みソース信号のみが許可され、他の全ての割り込みソース信号が禁止(マスク)となるよう設定される。そして、1つだけ許可された割り込みソース信号の並ぶ順番が、指定される割り込みの順序となる。
図3は、本発明の実施形態に係る割り込み制御装置による割り込み制御方法の一例を示すタイミングチャートである。具体的に、図3は、図2に示すハード制御用マスクにより設定された場合の割り込み制御装置の動作を示すタイミングチャートである。
図3において、割り込みソース信号A、B、C及びDは、割り込み順序制御部105に入力される割り込みソース信号を示しており、ここでは、割り込みの順序付けはされていない。また、図3では、割り込みソース信号が、A→B→C→D→B&D同時の順序で割込みが発生した例を示している。
なお、図3では、正論理(信号レベル=Hで割り込み発生)のレベル割り込みを仮定しているが、負論理による場合にも容易に拡張できる。また、エッジ割り込みであっても、レベル保持回路を設けることにより、上述したレベル割り込みの場合と同様に扱うことができる。
割り込みクリアトリガは、4つの割込みソース信号A、B、C及びDに関する割込みクリアトリガを示している。また、選択されたマスク値は、マスク選択部107によって選択されたマスク値(設定値)を示している。また、割り込み出力信号A、B、C及びDは、割り込み順序制御部105から順序付けられて出力される割込み信号を示している。
選択されたマスク値としては、図2の各ハード制御用マスクによる設定値が順に用いられている。最初のタイミングでは、割り込みソース信号B以外の割り込みソース信号がマスクされた状態であるため、最初に割り込みソース信号Aが発生してもマスクされ、割り込みソース信号Bが発生した時点で、割り込み出力信号Bとして出力される。
続いて、割り込み出力信号BがCPU200に受け付けられて、割り込みがクリアされると、割り込みクリアトリガが割り込みクリア通知部108を経由してマスク選択部107に伝えられる。そして、マスク選択部107において、2番目のハード制御用マスク2(110)が選択されて、割り込みソース信号D以外の割り込みソース信号がマスクされた状態となる。ここで、次に割り込みソース信号Cが発生するが、ハード制御用マスク2(110)によりマスクされているために割り込み出力信号Cとして出力されず、その次に割り込みソース信号Dが発生したところで、割り込み出力信号Dとして出力されることになる。
続いて、割り込み出力信号DがCPU200に受け付けられて、割り込みがクリアされると、割り込みクリア通知がマスク選択部107に対してなされる。そして、マスク選択部107において、3番目のハード制御用マスク3(111)が選択されて、割り込みソース信号A以外の割り込みソース信号がマスクされた状態となる。ここで、既に入力側では、発生していた割り込みソース信号Aのマスクが解除されるため、割り込み出力信号Aが出力される。
続いて、割り込み出力信号AがCPU200に受け付けられて、割り込みがクリアされると、割り込みクリア通知がマスク選択部107に対してなされる。そして、マスク選択部107において、4番目のハード制御用マスク4(112)が選択されて、割り込みソース信号C以外の割り込みソース信号がマスクされた状態となる。ここで、既に入力側では、発生していた割り込みソース信号Cのマスクが解除されるため、割り込み出力信号Cが出力される。
続いて、割り込み出力信号CがCPU200に受け付けられて、割り込みがクリアされると、割り込みクリア通知がマスク選択部107に対してなされる。そして、マスク選択部107において、再度、1番目のハード制御用マスク1(109)が選択されて、割り込みソース信号B以外の割り込みソース信号がマスクされた状態となる。次に、割り込みソース信号Bと割り込みソース信号Dとが同時に発生するが、割り込みソース信号Bだけが許可されているため、割り込み出力信号Bのみが出力される。
続いて、割り込み出力信号BがCPU200に受け付けられて、割り込みがクリアされると、割り込みクリア通知がマスク選択部107に対してなされる。そして、マスク選択部107において、2番目のハード制御用マスク2(110)が選択されて、割り込みソース信号D以外の割り込みソース信号がマスクされた状態となる。ここで、先に発生していた割り込みソース信号Dのマスクが解除され、割り込み出力信号Dとして出力される。
以後、図3には示していないが、本実施形態の割り込み制御装置では、割り込みソース信号の発生順序に関わらず、割り込み出力信号は、必ず指定順序B→D→A→Cで出力される。
なお、本実施形態においては、4つのハード制御用マスクを使用する例を示したが、ハード制御用マスクの個数は複数であればいくつであってもよく、また、存在するハード制御用マスクの全てを使用する必要もない。つまり、4つのハード制御用マスクが存在したとしても、そのうち、3つだけを使用するようにしてもよい。例えば、1番目のハード制御用マスクによる設定→2番目の設定ハード制御用マスクによる設定→3番目のハード制御用マスクによる設定→1番目のハード制御用マスクによる設定→・・・という使い方をする形態であってもよい。
また、本実施形態においては、入力される4本の割り込みソース信号の全てに対して順序制御を行う例を示したが、一部の割り込みソース信号の間だけで順序制御を行い、それ以外の割り込みソース信号については割り込み制御を行わない形態であってもよい。この場合には、前述した本実施形態に対して、以下の点を変更した形態を採る。
(1)順序制御の対象でない割り込みソース信号については、複数のハード制御用マスクにおいて当該割り込みソース信号を常に許可し、マスクをしない設定とする。
(2)順序制御の対象でない割り込みソース信号については、当該割り込みソース信号の割り込みクリアをマスク選択部107に通知しない。
前述した本実施形態に係る割り込み制御装置を構成する図1の各手段、並びに割り込み制御装置による割り込み制御方法を示した図3の各ステップは、コンピュータのRAMやROMなどに記憶されたプログラムが動作することによって実現できる。このプログラム及び当該プログラムを記録したコンピュータ読み取り可能な記憶媒体は本発明に含まれる。
具体的に、前記プログラムは、例えばCD−ROMのような記憶媒体に記録し、或いは各種伝送媒体を介し、コンピュータに提供される。前記プログラムを記録する記憶媒体としては、CD−ROM以外に、フレキシブルディスク、ハードディスク、磁気テープ、光磁気ディスク、不揮発性メモリカード等を用いることができる。他方、前記プログラムの伝送媒体としては、プログラム情報を搬送波として伝搬させて供給するためのコンピュータネットワーク(LAN、インターネットの等のWAN、無線通信ネットワーク等)システムにおける通信媒体を用いることができる。また、この際の通信媒体としては、光ファイバ等の有線回線や無線回線などが挙げられる。
また、コンピュータが供給されたプログラムを実行することにより本実施形態に係る割り込み制御装置の機能が実現されるだけでなく、そのプログラムがコンピュータにおいて稼働しているOS(オペレーティングシステム)或いは他のアプリケーションソフト等と共同して本実施形態に係る割り込み制御装置の機能が実現される場合や、供給されたプログラムの処理の全て、或いは一部がコンピュータの機能拡張ボードや機能拡張ユニットにより行われて本実施形態に係る割り込み制御装置の機能が実現される場合も、かかるプログラムは本発明に含まれる。
本発明の実施形態に係る割り込み制御装置の概略構成図である。 ハード制御用マスクの一例を示す図である。 本発明の実施形態に係る割り込み制御装置による割り込み制御方法の一例を示すタイミングチャートである。
符号の説明
100:割り込み制御装置
101:複数割込み統合ゲート(論理和回路)
102:ソフト制御用マスク部
103:ソフト制御用マスクゲート(論理積回路)
104:ソフト制御用マスク設定部
105:割り込み順序制御部
106:ハード制御用マスクゲート(論理積回路)
107:マスク選択部
108:割り込みクリア通知部
109:ハード制御用マスク1
110:ハード制御用マスク2
111:ハード制御用マスク3
112:ハード制御用マスク4
113:マスク格納メモリ
200:CPU

Claims (4)

  1. 複数の割り込み信号を集約してCPUに出力する割り込み制御装置であって、
    前記CPUに割り込み信号を出力する際に、前記複数の割り込み信号の全てあるいはその一部について、前記CPUに出力する順序が予め設定された順序に従うように制御する割り込み順序制御手段を具備することを特徴とする割り込み制御装置。
  2. 前記割り込み順序制御手段による制御に基づいて、各割り込み信号をマスク処理するマスク手段を更に具備し、
    前記割り込み順序制御手段は、
    前記各割り込み信号をマスク処理するための複数のマスクを格納するマスク格納手段と、
    前記各マスクを用いた割り込み処理がクリアされたことを示すイベントを受けて、当該割り込み処理のクリアの通知を行う割り込みクリア通知手段と、
    前記マスク格納手段に格納されている複数のマスクの中から1つのマスクを選択して前記マスク手段に出力すると共に、前記割り込みクリア通知手段から割り込み処理のクリアの通知を受ける毎に、前記複数のマスクの中から次のマスクを選択するマスク選択手段と
    を含むことを特徴とする請求項1に記載の割り込み制御装置。
  3. 複数の割り込み信号を集約してCPUに出力する割り込み制御装置による割り込み制御方法であって、
    前記複数の割り込み信号を入力する入力ステップと、
    前記CPUに割り込み信号を出力する際に、前記入力ステップで入力された複数の割り込み信号の全てあるいはその一部について、前記CPUに出力する順序が予め設定された順序に従うように制御する割り込み順序制御ステップと
    を有することを特徴とする割り込み制御方法。
  4. 請求項3に記載の割り込み制御方法の各ステップをコンピュータに実行させるためのプログラム。
JP2006159637A 2006-06-08 2006-06-08 割り込み制御装置、割り込み制御方法及びプログラム Pending JP2007328586A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006159637A JP2007328586A (ja) 2006-06-08 2006-06-08 割り込み制御装置、割り込み制御方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006159637A JP2007328586A (ja) 2006-06-08 2006-06-08 割り込み制御装置、割り込み制御方法及びプログラム

Publications (1)

Publication Number Publication Date
JP2007328586A true JP2007328586A (ja) 2007-12-20

Family

ID=38929011

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006159637A Pending JP2007328586A (ja) 2006-06-08 2006-06-08 割り込み制御装置、割り込み制御方法及びプログラム

Country Status (1)

Country Link
JP (1) JP2007328586A (ja)

Similar Documents

Publication Publication Date Title
US9218273B2 (en) Automatic generation of a resource reconfiguring test
EP3486811A1 (en) Simulation device, simulation system, simulation method and simulation program
US10929584B1 (en) Environmental modification testing for design correctness with formal verification
JP2009230392A (ja) シミュレーション装置、シミュレーション方法及びプログラム
JP2011008702A (ja) 故障処理装置
JP2009289072A (ja) 回路動作検証方法及び装置
JP2007328586A (ja) 割り込み制御装置、割り込み制御方法及びプログラム
JP2009238176A (ja) 情報処理装置およびプログラムの検証方法
JP2008134808A (ja) 論理回路の機能検証装置、機能カバレッジアイテムの検証方法及びプログラム
JP2010160622A (ja) シミュレータ
CN113342698B (en) Test environment scheduling method, computing device and storage medium
JP5017396B2 (ja) 情報処理装置およびプログラムの検証方法
JP2006268439A (ja) 半導体集積回路、半導体集積回路の設計方法及び設計装置、並びに半導体集積回路の設計プログラム
JP2009217720A (ja) プログラム生成装置およびプログラム生成方法
JP2009301116A (ja) 割り込み装置及びこれを備えた割り込みシステム
JP2009192408A (ja) 半導体集積回路、試験パターン生成方法、及び回路試験方法
JP2010054402A (ja) 回路試験装置、回路試験プログラムおよび回路試験方法
JP2007109045A (ja) 信号処理回路のリセット制御装置及びリセット制御方法並びに信号処理回路のリセット制御回路挿入方法
JP2007080183A (ja) データ処理装置、及びその制御方法
JP2004062522A (ja) 回路検証装置、回路検証プログラム、回路検証方法
JP2008022116A (ja) 伝送装置
JP2007094526A (ja) 集積回路の論理検証手法
JP2006163600A (ja) 内部信号監視方法及び論理シミュレーション装置
JP2010049385A (ja) クロックドメインチェック方法及びクロックドメインチェック用プログラム並びに記録媒体
JP2000330798A (ja) 割込制御装置および割込制御検証方法