[go: up one dir, main page]

JP2011198032A - 情報処理装置 - Google Patents

情報処理装置 Download PDF

Info

Publication number
JP2011198032A
JP2011198032A JP2010064088A JP2010064088A JP2011198032A JP 2011198032 A JP2011198032 A JP 2011198032A JP 2010064088 A JP2010064088 A JP 2010064088A JP 2010064088 A JP2010064088 A JP 2010064088A JP 2011198032 A JP2011198032 A JP 2011198032A
Authority
JP
Japan
Prior art keywords
interrupt
time
controller
constraint
elapsed time
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
JP2010064088A
Other languages
English (en)
Inventor
Yohei Nagao
洋平 長尾
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2010064088A priority Critical patent/JP2011198032A/ja
Publication of JP2011198032A publication Critical patent/JP2011198032A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

【課題】リアルタイムで割り込み応答時間の遅延を検出できる情報処理装置を提供する。
【解決手段】命令を解釈して実行する制御演算部11と、割り込み信号が入力され、割り込みの発生を制御演算部11へ通知する割り込みコントローラ12と、割り込み信号が入力され、割り込み信号が入力されたときからの経過時間を求め、経過時間と割り込み信号に応じて予め定められた制約時間を比較し、比較結果を出力する割り込み応答時間コントローラ13と、を具備する。
【選択図】 図1

Description

本発明は、情報処理装置に関する。
CPU(Central Processing Unit)を有する情報処理装置では、割り込みが発生すると、割り込みコントローラはCPUに割り込みの発生を通知する。割り込みの通知を受けたCPUは、現在実行中の処理を中断し、命令の実行を割り込みハンドラへ移す。
割り込みには優先度があるので、CPUが優先度の高い割り込みの処理を実行中に優先度の低い割り込みが発生した場合、優先度の高い割り込みの処理が終了するまで優先度の低い割り込みの処理の開始が遅延する。
逆に、CPUが優先度の低い割り込みの処理を実行中に、優先度の高い割り込みが発生した場合、優先度の高い割り込みの処理が実行され、優先度の低い割り込みの処理が中断する。
情報処理装置は優先度が異なる二つの処理を必ず周期的に実行したい、処理の開始が大きく遅延するとシステムが破綻するまたは出力の効率が悪くなるのを防止するために所定時間内に必ず処理を実行したい等の制約が課せられる場合がある。
この制約を満たすように、情報処理装置のアプリケーションを開発するには、優先度の高い割り込みの処理によって優先度の低い割り込みの処理の開始が遅れたことを検出し、割り込み応答時間の遅延をリアルタイムで正確に知る必要がある。
然しながら、割り込みコントローラは、優先度の高い割り込みの処理が終了した後に、優先度の低い割り込みが発生したことをCPUに通知するだけなので、CPUは割り込みが発生した時刻、および発生した時刻からの経過時間を知ることができないという問題がある。
従来、マルチプロセッサシステムでは、複数のプロセッサへの割り込み通知を設定時間が経過したとき、又は設定時間の経過時若しくは設定時間経過前の所定割り込み数の発生に応答して行う割り込み処理方法が知られている(例えば、特許文献1参照。)。
この割り込み処理方法は、複数の割り込み発生源に発生する割り込み要求を検出したとき、検出された割り込み要求に対応する割り込み要求源識別情報を生成して蓄積する。設定時間が経過したとき、又は設定時間の経過時若しくは設定時間経過前に所定数の割り込み要求源識別情報の蓄積があったとき、複数のプロセッサ内の割り込み受付可能なプロセッサに対して割り込み信号を送出している。
然しながら、この割り込み処理方法は、システムの構成が複雑であり、割り込み応答時間の遅延をリアルタイムで検出できないという問題がある。
特開平7−129528号公報
本発明は、リアルタイムで割り込み応答時間の遅延を検出できる情報処理装置を提供する。
本発明の一態様の情報処理装置は、命令を解釈して実行する制御演算部と、割り込み信号が入力され、割り込みの発生を前記制御演算部へ通知する割り込みコントローラと、前記割り込み信号が入力され、前記割り込み信号が入力されたときからの経過時間を求め、前記経過時間と前記割り込み信号に応じて予め定められた制約時間を比較し、比較結果を出力する割り込み応答時間コントローラと、を具備することを特徴としている。
本発明によれば、リアルタイムで割り込み応答時間の遅延を検出できる情報処理装置が得られる。
本発明の実施例に係る情報処理装置を示すブロック図。 本発明の実施例に係る情報処理装置の割り込み応答時間コントローラの構成を示すブロック図。 本発明の実施例に係る情報処理装置の割り込み応答時間コントローラの動作を説明するための時系列図。 本発明の実施例に係る情報処理装置の割り込み応答時間コントローラの状態を説明するためステートマシン図。 本発明の実施例に係る比較例の情報処理装置を示すブロック図。
以下、本発明の実施例について図面を参照しながら説明する。
本実施例の情報処理装置について、図1乃至図4を用いて説明する。図1は本実施例に係る情報処理装置を示すブロック図である。図1に示すように、本実施例の情報処理装置10は、CPU(制御演算部)11と、割り込みコントローラ12と、割り込み応答時間コントローラ13とで構成されている。
CPU11は、ROM(Read Only Memory)などに書き込まれた命令を解釈して実行する。割り込みコントローラ12は、割り込みが発生すると割り込み信号が入力され、割り込み発生機器毎に設定されている優先度に基づいてどのタイミングでどの割り込み信号をCPU11に伝えるかを判断し、適切な順序でCPU11に通知する。
割り込み応答時間コントローラ13は、割り込み信号が入力されると、割り込み信号が入力されたときからの経過時間を求め、経過時間と割り込み信号に応じて予め定められた制約時間を比較し、比較結果を出力する。
CPU11は、情報処理装置10の初期化時、例えば電源投入時に、IC(Interrupt Controller)設定データを割り込みコントローラ12に出力し、IRC(Interrupt Response time Controller)設定データを割り込み応答時間コントローラ13に出力する。
IC設定データとは、例えば複数の割り込みに対応した優先度を示すデータである。ICP設定データとは、例えば各割り込みに対応して予め定められた制約時間を示すデータである。
割り込み応答時間コントローラ13は、経過時間が制約時間を超えた場合に、IRC割り込み信号(制約時間違反検出信号)を割り込みコントローラ12へ出力する。割り込みコントローラ12は、IRC割り込み信号を受け取った場合、制約時間の違反があることを割り込み指示によってCPU11へ通知する。
更に、情報処理装置10は、他の情報処理装置、例えばデバッガ14を接続することが可能である。デバッガ14を接続することにより、IC設定データ、IRC設定データおよび割り込み応答時間などをモニターし、割り込み応答時間コントローラ13の動作状態を可視化することができる。
ここで、割り込み応答時間とは、割り込みが発生したときから、割り込みがCPU11へ通知されるまでに要する時間である。制約時間とは、割り込みが発生したときから、割り込みがCPU11へ通知されるまでに許容される時間である。
図2は割り込み応答時間コントローラ13の構成を示すブロック図である。図2に示すように、割り込み応答時間コントローラ13は、制約時間格納器21と、割り込み経過時間カウンタ22と、割り込み経過時間比較器23とで構成されている。
制約時間格納器21は、CPU11により設定される制約時間を格納する。割り込み経過時間カウンタ22は、割り込み信号が入力されると経過時間をカウントする。割り込み経過時間比較器23は、経過時間と制約時間を比較し、経過時間が制約時間を超えたときに、IRC割り込み信号を生成する。
制約時間格納器21は、割り込み信号の数に相当する複数のレジスタを有している。各レジスタには、各割り込みに対応した割り込み番号が付されており、各割り込みに対応して予め定められた制約時間が格納されている。
割り込み経過時間カウンタ22は、割り込み信号の数に相当する複数のカウンタを有している。各カウンタには、各割り込みに対応した割り込み番号が付されており、対応する割り込み信号が入力されると、各割り込みに対応した経過時間をカウントする。
割り込み経過時間比較器23は、割り込み信号の数に相当する複数のコンパレータを有している。各コンパレータには、各割り込みに対応した割り込み番号が付されており、対応する割り込み番号のカウンタのカウント値(経過時間)と対応する割り込み番号のレジスタに格納されている制約時間を比較し、比較結果を出力する。
即ち、各割り込みに対応したコンパレータは、各割り込みに対応した経過時間が各割り込みに対応した制約時間を越えると、IRC割り込み信号を出力し、対応する割り込み番号のカウンタをリセットする時間初期化信号を出力する。
また、割り込み経過時間カウンタ22は、割り込みコントローラ12がCPU11に対応するIRC割り込みを通知する割り込み指示があると、割り込み経過時間カウンタ22内の対応する割り込み番号のカウンタを停止しリセットする。
なお、CPU11および割り込みコントローラ12自体は周知であり、その詳細な説明は省略する。
上記構成の情報処理装置10では、割り込みが発生すると、割り込みが発生してからの経過時間をカウントし、経過時間が割り込みに対して予め定められた制約時間を越えると、リアルタイムで割り込み応答時間の遅延を検出できるように構成されている。
図3は割り込み応答時間コントローラ13の動作を説明するための図で、制約時間格納器21の各レジスタ、および割り込み経過時間カウンタ22の各カウンタの状態を時系列で示している。
図3に示すように、時間t0は、情報処理装置10がオフのときを示している。このとき、制約時間格納器21の各レジスタの制約時間および割り込み経過時間カウンタ22の各カウンタのカウント値は、それぞれ0である。
時間t1は、情報処理装置10がオンになり、制約時間格納器21の各割り込み番号に対応するレジスタに制約時間が設定されたときを示している。割り込み番号1乃至割り込み番号4の割り込み(以後、単に割り込み1乃至割り込み4と称する)の制約時間は、例えばそれぞれ35、36、100、45である。ここで、時間の単位は任意である。
時間t2は、割り込み1が発生してから時間20が経過し、割り込み2が発生してから時間5が経過したときを示している。このとき、CPUは割り込み1および割り込み2より優先度の高い割り込みの処理を実行している。
割り込み経過時間比較器23は、割り込み1における経過時間(20)と制約時間(35)を比較し、割り込み2における経過時間(5)と制約時間(36)を比較している。
時間t3は、時間t2と時間t3の間で、割り込み1より優先度の高い割り込みの処理が終了し、割り込みコントローラ12がCPU11への通知を遅らせていた割り込み1の割り込み指示を発生し、割り込み2より優先度の高い割り込み1が処理されているときを示している。換言すると、割り込み1が制約時間内に処理された場合を示している。
割り込み応答時間コントローラ13は、割り込みコントローラ12がCPU11に割り込み1の割り込み指示を通知したので、割り込み番号1のカウンタのカウントを停止し、リセットしている。
その間に、割り込み2における経過時間(36)が制約時間(36)に到達したときを示している。割り込み経過時間比較器23は、割り込み番号2における経過時間と制約時間(36)を比較し、割り込み番号2の割り込みの経過時間が制約時間(36)に到達すると、IRC割り込み信号を割り込みコントローラ12に出力し、時間初期化信号を割り込み経過時間カウンタ22に出力する。
図4は割り込み応答時間コントローラ13の動作を説明するためのステートマシン図である。図4に示すように、上述した処理を行う過程において、割り込み応答時間コントローラ13は、Idle状態40とInterrupt状態41を遷移する。初期状態からIdle状態40へ遷移した後、割り込み信号42を受信することによりinterrupt状態41へ遷移し、割り込み経過時間カウンタ22が該当する割り込み番号のカウントを開始する。
Interrupt状態41において、次の割り込み信号43が入力された場合にはInterrupt状態41へ自己遷移し、割り込み経過時間カウンタ22が該当する割り込み番号のカウントを開始する。
Interrupt状態41において、割り込み指示を受け取った場合、制約時間の範囲内であればスタックされている割り込みの数に従って、Idle状態へ遷移46するか、Interrupt状態へ自己遷移48するかが決定される。いずれの場合にも、該当する割り込み番号のカウンタが停止およびリセットされる。
Interrupt状態41において、割り込み経過時間比較器23がIRC割り込み信号を送信47した場合、該当する割り込み番号のカウンタが停止およびリセットされ、スタックされている割り込みの数に従ってIdle状態40またはInterrupt状態41へ遷移する。
割り込みスタック残数が0のとき、全ての割り込みが処理されたので、Idle状態40に遷移する。割り込みスタック残数が1以上のとき、未処理の割り込みが残っているので、Interrupt状態41へ遷移する。
図5は本実施例に係る比較例の情報処理装置の構成を示すブロック図である。ここで、比較例とは割り込み応答時間コントローラ13を有しない情報処理装置のことである。
図5に示すように、比較例の情報処理装置50は、CPU11と、割り込みコントローラ12とで構成されている。比較例の情報処理装置50で、割り込み応答の制約時間違反を検出するには、例えばウォッチドッグタイマを利用して、割り込みの周期ごとにウォッチドッグタイマをリセットする方法が考えられる。
ウォッチドッグタイマとは、CPU11に内蔵されているハードウェア時間計測器で、通常はメインのプログラムがハングアップなどの不正な状態に陥ってしまい規則的なウォッチドッグ操作が行なわれなかった(タイムアウト)場合に、例外処理を実行するために用いられている。
ただし、ウォッチドッグタイマを用いる方法は、ウォッチドッグタイマのタイマカウント数を周期毎にリセットし直すようなソフトウェア処理のオーバーヘッドが発生する。しかも、本来の制約時間よりも短い時間でタイマカウント数をリセットするため、制約時間違反の検出が不正確になる。更に、ソフトウェア本来の機能と異なるコードが必要になる、割り込みごとに設定できない等の欠点がある。
従って、割り込み応答時間が期待値よりも遅れる場合を、割り込み応答時間が長くなった時刻において、リアルタイムで且つソフトウェア処理のオーバーヘッドを発生させないように制約時間違反を検出することができない。
一方、本実施例の情報処理装置10では、上述したように、全てハードウェアで処理しているので、リアルタイムで制約時間違反を検出することができる。ソフトウェアで処理する場合のオーバーヘッドは発生しない。
従って、情報処理装置10は、デバッガ14を用いたアプリケーション開発環境で使用するのに適している。アプリケーションのソフトウェアが制約時間違反をリアルタイムに知ることができるので、比較例の情報処理装置50よりも早く是正対策を行えるようになる利点がある。
情報処理装置10は、CPU11、割り込みコントローラ12、割り込み応答時間コントローラ13を1チップに集積した半導体集積回路として構成することができる。または、CPU11、割り込みコントローラ12、割り込み応答時間コントローラ13を個別に組み合わせて構成することもできる。
以上説明したように、本実施例の情報書装置10は、割り込みが発生したときからの経過時間を求め、経過時間と制約時間を比較し、比較結果を出力する割り込み応答時間コントローラ13を具備している。
その結果、経過時間が制約時間を越えた場合、制約時間の違反があることを割り込みコントローラ12を介してCPU11に通知することができる。従って、リアルタイムで割り込み応答時間の遅延を検出できる情報処理装置が得られる。
ここでは、情報処理装置がシングルプロセッサ方式である場合について説明したが、マルチプロセッサ方式の情報処理装置に適用できることは言うまでも無い。
IRC割り込み信号を原因として発生する割り込み指示は、優先度の高い割り込みである場合に付いて説明したが、制約時間の違反の検出をより短時間で行ないたい場合には、例外として通知させることも可能である。
10、50 情報処理装置
11 CPU
12 割り込みコントローラ
13 割り込み応答時間コントローラ
14 デバッガ
21 制約時間格納器
22 割り込み経過時間カウンタ
23 割り込み経過時間比較器

Claims (5)

  1. 命令を解釈して実行する制御演算部と、
    割り込み信号が入力され、割り込みの発生を前記制御演算部へ通知する割り込みコントローラと、
    前記割り込み信号が入力され、前記割り込み信号が入力されたときからの経過時間を求め、前記経過時間と前記割り込み信号に応じて予め定められた制約時間を比較し、比較結果を出力する割り込み応答時間コントローラと、
    を具備することを特徴とする情報処理装置。
  2. 前記割り込み応答時間コントローラは、前記経過時間が前記制約時間に到達した場合、制約時間違反検出信号を前記割り込みコントローラへ出力し、
    前記割り込みコントローラは、前記制約時間違反検出信号を受け取った場合、前記制約時間の違反があることを割り込み指示によって前記制御演算部へ通知することを特徴とする情報処理装置。
  3. 前記割り込み応答時間コントローラは、
    前記制約時間を格納する制約時間格納器と、
    前記割り込み信号が入力されると、前記経過時間をカウントする割り込み経過時間カウンタと、
    前記経過時間と前記制約時間を比較し、前記経過時間が前記制約時間に到達したときに、前記制約時間違反検出信号を生成する割り込み経過時間比較器と、
    を具備することを特徴とする請求項1または請求項2に記載の情報処理装置。
  4. 前記割り込み経過時間カウンタは、前記割り込みコントローラが前記割り込みの発生を前記制御演算部へ通知したとき、または前記経過時間が前記制約時間に到達したときに、カウンタを停止しリセットされることを特徴とする請求項3に記載の情報処理装置。
  5. 前記制約時間は、前記割り込みが発生したときから前記割り込みが前記制御演算部へ通知されるまでの許容時間であることを特徴とする請求項2に記載の情報処理装置。
JP2010064088A 2010-03-19 2010-03-19 情報処理装置 Pending JP2011198032A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010064088A JP2011198032A (ja) 2010-03-19 2010-03-19 情報処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010064088A JP2011198032A (ja) 2010-03-19 2010-03-19 情報処理装置

Publications (1)

Publication Number Publication Date
JP2011198032A true JP2011198032A (ja) 2011-10-06

Family

ID=44876148

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010064088A Pending JP2011198032A (ja) 2010-03-19 2010-03-19 情報処理装置

Country Status (1)

Country Link
JP (1) JP2011198032A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2023092369A (ja) * 2021-12-21 2023-07-03 カシオ計算機株式会社 電子装置、電子装置の制御方法及び電子装置の制御プログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2023092369A (ja) * 2021-12-21 2023-07-03 カシオ計算機株式会社 電子装置、電子装置の制御方法及び電子装置の制御プログラム
JP7501515B2 (ja) 2021-12-21 2024-06-18 カシオ計算機株式会社 電子装置、電子装置の制御方法及び電子装置の制御プログラム

Similar Documents

Publication Publication Date Title
JP5653431B2 (ja) マルチプロセッサシステム
CN101894083A (zh) 中断处理设备以及方法
JP6227767B2 (ja) 情報処理装置、その処理方法、及び入出力装置
JP5508903B2 (ja) 情報処理装置、半導体集積回路装置および異常検出方法
KR20120073715A (ko) 운영체제 태스크의 실행시간 모니터링 방법 및 시스템
US7627705B2 (en) Method and apparatus for handling interrupts in embedded systems
JP4801725B2 (ja) 演算処理装置及び演算処理装置の制御方法
JP5579935B2 (ja) 割り込み処理に起因する異常動作の検知
TWI303040B (en) Method for meeting smi duration limits by time slicing smi handlers
JP2011198032A (ja) 情報処理装置
JP6123487B2 (ja) 制御装置、制御方法及び制御プログラム
US9715468B2 (en) Method of providing timing information for interrupts
CN100557576C (zh) 操作系统故障检测的方法和装置
JP5386403B2 (ja) 検査装置及び方法並びにプログラム
JP2006227962A (ja) アプリケーションタスク監視システムおよび方法
JP2004070582A (ja) イベント通知タスク制御処理方式及び方法並びにプログラム
JP6133614B2 (ja) 障害ログ採取装置、障害ログ採取方法、及び、障害ログ採取プログラム
JP7577985B2 (ja) 情報処理装置および方法
Strnadel On design of priority-driven load-adaptive monitoring-based hardware for managing interrupts in embedded event-triggered real-time systems
CN104081344B (zh) 用于运行处理器的方法
JP5380409B2 (ja) 情報処理装置
JPWO2017037863A1 (ja) 計算機装置及び制御方法及び制御プログラム
JP5768434B2 (ja) 相互監視システム
US9690727B2 (en) System internal latency measurements in realtime applications
KR20080048307A (ko) 멀티 프로세서 시스템의 인터럽트 전달 장치 및 방법