JP5804075B2 - 電子計算機及び割り込み制御方法 - Google Patents

電子計算機及び割り込み制御方法 Download PDF

Info

Publication number
JP5804075B2
JP5804075B2 JP2013542793A JP2013542793A JP5804075B2 JP 5804075 B2 JP5804075 B2 JP 5804075B2 JP 2013542793 A JP2013542793 A JP 2013542793A JP 2013542793 A JP2013542793 A JP 2013542793A JP 5804075 B2 JP5804075 B2 JP 5804075B2
Authority
JP
Japan
Prior art keywords
interrupt
interrupt request
user performance
load
notification
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.)
Expired - Fee Related
Application number
JP2013542793A
Other languages
English (en)
Other versions
JPWO2013069159A1 (ja
Inventor
康志 栗原
康志 栗原
浩一郎 山下
浩一郎 山下
鈴木 貴久
貴久 鈴木
宏真 山内
宏真 山内
俊也 大友
俊也 大友
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JPWO2013069159A1 publication Critical patent/JPWO2013069159A1/ja
Application granted granted Critical
Publication of JP5804075B2 publication Critical patent/JP5804075B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/24Handling requests for interconnection or transfer for access to input/output bus using interrupt
    • G06F13/26Handling requests for interconnection or transfer for access to input/output bus using interrupt with priority control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Telephone Function (AREA)

Description

この発明は、電子計算機及び割り込み制御方法に関する。
従来、スレーブ装置から特定の割り込み要因が発生したときのみ発生される割り込み信号を受信したマスタ装置が、スレーブ装置に対して割り込み要因を確認しないで、対応する特定の割り込み処理を実行するシステムがある(例えば、特許文献1参照)。また、複数のプロセッサに割り込み権を順番に付与し、割り込み権を保持しているプロセッサが割り込み要求を処理する方法がある(例えば、特許文献2参照)。また、複数の処理装置のアドレスをレジスタに登録し、割り込み発生時にレジスタを参照して該当する処理装置に割り込みを割り当てる方法がある(例えば、特許文献3参照)。
また、消費電力が閾値範囲内のプロセッサの中で最も消費電力の低いプロセッサにて割り込み処理をさせる方法がある(例えば、特許文献4参照)。また、割り込み要求信号の優先順位を決定し、CPU(Central Processing Unit、中央処理装置)の動作状態に応じてCPUに割り込み要求出力信号を入力させることによって、CPUに優先順位の高い割り込み要因から処理させる方法がある(例えば、特許文献5参照)。
また、割り込み要因の単位時間当たりの数が許容数よりも大である場合に、いずれかの割り込み要因に対応する処理を行わないようにした方法がある(例えば、特許文献6参照)。また、割り込み発生時に、割り込み要求を受け付けるべきプロセッサの優先度を判定し、各プロセッサの実行レベルから当該プロセッサが割り込み要求を受け付けるか否かを判定する方法がある(例えば、特許文献7参照)。
特開2008−15883号公報 特開平6−28321号公報 特開昭55−85940号公報 特開2007−172322号公報 特開2000−122963号公報 特開平10−55282号公報 特開平4−178869号公報
しかしながら、従来の方法では、割り込み要求が発生すると、CPUは、即座に実行中のスレッドの処理を停止して、割り込み処理を行う。そのため、CPUの負荷が大きい状態で割り込み処理が頻発すると、ユーザーアプリケーションの処理に遅延が生じたり、ユーザーアプリケーションのユーザー性能に関連する割り込み処理が実施されず、ユーザー性能が低下する虞があるという問題点がある。
ここで、ユーザー性能の一例として、例えば電子計算機が入力装置としてキーパッドを有する場合のキーの押下に対する応答時間や、タッチパネルを有する場合のタッチパネルの追従性や、データのダウンロードに要する時間などが挙げられる。また、ユーザー性能の一例として、例えば電子計算機が無線通信を行う場合、無線通信を行うアプリケーションを実行中の電波の検出に対する性能が挙げられる。
開示の電子計算機及び割り込み制御方法は、上記に鑑みてなされたものであって、割り込み処理の発生によってユーザー性能が低下してしまうのを回避することを目的とする。
上述した課題を解決し、目的を達成するため、電子計算機は、処理部、監視部、判定部及び通知部を備えている。処理部は、スレッド及び割り込みハンドラを実行する。監視部は、処理部の負荷を監視する。判定部は、割り込みハンドラの実行が処理部で実行中のスレッドのユーザー性能に及ぼす影響と処理部の負荷とに基づいて、割り込みハンドラを呼び出す割り込み要求の通知タイミングを判定する。例えば、判定部は、処理部の負荷が閾値よりも高い場合、ユーザー性能に影響を及ぼさない割り込み要求の通知タイミングを、ユーザー性能に影響を及ぼす割り込み要求の通知タイミングよりも遅く設定する。通知部は、判定された通知タイミングに基づいて処理部に割り込み要求を通知する。そして、処理部は、割り込み要求の通知に基づいて割り込み要求に対応する割り込みハンドラを呼び出して実行する。
開示の電子計算機及び割り込み制御方法によれば、割り込み処理の発生によってユーザー性能が低下してしまうのを回避することができるという効果を奏する。
図1は、実施例1にかかる電子計算機を示すブロック図である。 図2は、実施例1にかかる割り込み制御方法を示すフローチャートである。 図3は、実施例2にかかる携帯電話機のハードウェア構成を示すブロック図である。 図4は、実施例2にかかる携帯電話機の機能的構成を示すブロック図である。 図5は、実施例2にかかる携帯電話機におけるスレッド情報の一例を示す図表である。 図6は、実施例2にかかる携帯電話機における割り込み処理情報の一例を示す図表である。 図7は、実施例2にかかる携帯電話機におけるユーザー性能とCPUの負荷率との関係の一例を示すグラフである。 図8は、実施例2にかかる携帯電話機における割り込み判定テーブルの一例を示す図表である。 図9は、実施例2にかかる携帯電話機における割り込み判定テーブルの一例を示す図表である。 図10は、実施例2にかかる携帯電話機におけるOSの処理手順を示すフローチャートである。 図11は、実施例2にかかる携帯電話機における割り込み判定テーブルの更新処理手順を示すフローチャートである。 図12は、実施例2にかかる携帯電話機における割り込みコントローラの処理手順を示すフローチャートである。 図13は、実施例2にかかる携帯電話機における割り込み判定テーブルの一例を示す図表である。 図14は、実施例2と従来例との動作の比較の一例を示す模式図である。
以下に、この発明にかかる電子計算機及び割り込み制御方法の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
(実施例1)
・電子計算機の説明
図1は、実施例1にかかる電子計算機を示すブロック図である。図1に示すように、電子計算機1は、処理部2、監視部3、判定部4及び通知部5を備えている。処理部2は、スレッド及び割り込みハンドラを実行する。ここで、スレッドは、並列処理に対応したOS(Operating System、オペレーティング・システム)上でのプログラムの最小の実行単位である。同一のプロセス内のスレッド同士であれば、スレッドのメモリ空間は共有される。割り込みハンドラは、カーネルが割り込みを受け付けると即座に動作する処理であり、一般的にプロセスやスレッドよりも優先して処理される。監視部3は、処理部2の負荷を監視する。処理部2の負荷は、処理部2に割り当てられているスレッドの総演算量であってもよい。
判定部4は、割り込みハンドラの実行が処理部2で実行中のスレッドのユーザー性能に及ぼす影響と処理部2の負荷とに基づいて、割り込みハンドラを呼び出す割り込み要求の通知タイミングを判定する。例えば、判定部4は、処理部2の負荷が閾値よりも高い場合、ユーザー性能に影響を及ぼさない割り込み要求の通知タイミングを、ユーザー性能に影響を及ぼす割り込み要求の通知タイミングよりも遅く設定する。
通知部5は、判定された通知タイミングに基づいて処理部2に割り込み要求を通知する。そして、処理部2は、割り込み要求の通知に基づいて割り込み要求に対応する割り込みハンドラを呼び出して実行する。
・割り込み制御方法の説明
図2は、実施例1にかかる割り込み制御方法を示すフローチャートである。図2に示すように、電子計算機1で割り込み制御方法が開始されると、監視部3は、処理部2の負荷を監視する(ステップS1)。そして、判定部4は、割り込み要求の発生時に、当該割り込み要求によって呼び出される割り込みハンドラの実行が処理部2で実行中のスレッドのユーザー性能に及ぼす影響と処理部2の負荷とに基づいて、当該割り込み要求の通知タイミングを判定する。
例えば、処理部2の負荷が閾値よりも高い場合(ステップS2:Yes)、判定部4は、ユーザー性能に影響を及ぼさない割り込み要求の通知タイミングを、ユーザー性能に影響を及ぼす割り込み要求の通知タイミングよりも遅く設定する(ステップS3)。一方、例えば、処理部2の負荷が閾値よりも高くない場合(ステップS2:No)、ステップS3はスキップされる。
次いで、通知部5は、判定された通知タイミングに基づいて処理部2に割り込み要求を通知する(ステップS4)。そして、処理部2は、割り込み要求の通知に基づいて当該割り込み要求に対応する割り込みハンドラを呼び出して実行し(ステップS5)、一連の割り込み制御方法を終了する。ステップS1〜ステップS5は、割り込み要求が発生するたびに行われる。
実施例1によれば、処理部2の負荷が高い場合には、ユーザー性能に影響を及ぼさない割り込み処理は、ユーザー性能に影響を及ぼす割り込み処理よりも遅いタイミングで実行される。つまり、処理部2の負荷が高いときに割り込み処理が頻発するのを避けることができる。従って、処理部2の負荷が高くなると、ユーザーアプリケーションの処理に遅延が生じたり、ユーザーアプリケーションのユーザー性能に関連する割り込み処理が実施されない、といったユーザー性能の低下が起こるのを回避することができる。
(実施例2)
実施例2は、実施例1にかかる電子計算機を携帯電話機に適用した例である。ここで、携帯電話機には、いわゆるスマートフォンと呼ばれる無線通信機能を具えた携帯端末も含まれる。また、実施例1にかかる電子計算機は、携帯電話機に限らず、携帯電話システムの基地局にも適用することができる。
・携帯電話機のハードウェア構成の説明
図3は、実施例2にかかる携帯電話機のハードウェア構成を示すブロック図である。図3に示すように、携帯電話機11は、処理部として例えばCPU(Central Processing Unit、中央処理装置)12、割り込みコントローラ13、メモリ14及び無線通信モジュール15を備えている。CPU12、割り込みコントローラ13、メモリ14及び無線通信モジュール15は、バス16に接続されている。
CPU12は、OS(Operating System、オペレーティング・システム)やアプリケーション・プログラムのスレッドを実行する。スレッドは、CPU12で処理される順番が来るまでの間、図示省略したランキューで待機する。また、図示省略した周辺のデバイスから割り込みコントローラ13へ割り込み要求が入力すると、CPU12は、当該割り込み要求に対応する割り込みハンドラを呼び出して実行する。
割り込みコントローラ13は、各種デバイスから入力する割り込み要求を検出する。割り込みコントローラ13は、処理部2の負荷が閾値よりも高い場合、CPU12で実行中のスレッドのユーザー性能に影響を及ぼさない割り込み処理を呼び出す割り込み信号を、ユーザー性能に影響を及ぼす割り込み処理を呼び出す割り込み信号よりも遅いタイミングでCPU12に通知する。
メモリ14は、例えばRAM(Random Access Memory、ランダム・アクセス・メモリ)などの揮発性メモリやROM(Read Only Memory、リード・オンリー・メモリ)などの不揮発性メモリを備えている。RAMは、例えばCPU12の作業領域として使用されてもよい。ROMは、例えばOSやアプリケーション・プログラムを格納していてもよい。
無線通信モジュール15は、携帯電話システムの基地局と無線通信をする。無線通信モジュール15は、WiMAX(World Interoperability for Microwave Access、ワールド・インターオペラビリティ・フォー・マイクロウェーブ・アクセス、WiMAXは登録商標)システムの基地局や、Wi−Fi(Wireless Fidelity、ワイヤレス・フィデラティ、Wi−Fiは登録商標)システムのアクセスポイントと無線通信をしてもよい。
・携帯電話機の機能的構成の説明
図4は、実施例2にかかる携帯電話機の機能的構成を示すブロック図である。図4に示すように、OS21がCPU12で実行されることによって、スケジューリング情報22、スレッド情報23、監視部として例えば負荷率監視部24、及び管理部として例えば割り込み判定テーブル管理部25が実現される。
スケジューリング情報22には、CPU12でのスレッドの実行状況やCPU12へのスレッドの割り当て状況に関する情報が含まれていてもよい。スケジューリング情報22は、OS21により実現される図示省略したスケジューラから得られる。スレッド情報23には、スレッドごとにユーザー性能に関係する割り込み処理の情報が含まれていてもよい。スレッド情報23については後述する。
負荷率監視部24は、CPU12の負荷率を例えば一定の周期で監視する。負荷率監視部24は、割り込み判定テーブル管理部25にCPU12の負荷率を通知する。
割り込み判定テーブル管理部25は、スケジューリング情報22、CPU12の負荷率、CPU12で実行中のスレッドに関するスレッド情報23に基づいて、割り込み判定テーブル33を更新する。例えば、割り込み判定テーブル管理部25は、CPU12の負荷率が閾値よりも高い場合、ユーザー性能に影響を及ぼさない割り込み処理の優先度を、ユーザー性能に影響を及ぼす割り込み処理の優先度よりも低く設定してもよい。負荷率の閾値については後述する。
割り込み判定テーブル33は、例えば割り込みコントローラ13に設けられていてもよい。割り込み判定テーブル管理部25は、タスクディスパッチのタイミングで割り込み判定テーブル33を更新してもよい。ここで、タスクは、ユーザーから見たひとまとまりの仕事であり、プロセスを意味することもあるし、スレッドを意味することもある。ここでは、タスクはスレッドと同じ意味である。
割り込みコントローラ13には、割り込み信号判定部31、判定部として例えば割り込みハンドラ管理部32、割り込み判定テーブル33、通知部として例えば割り込み信号通知部34、及び計時部として例えば経過時間監視部35が設けられていてもよい。割り込み信号判定部31は、各種デバイスからの割り込み要求を検出し、どのデバイスからの割り込み要求であるかを判定する。割り込み信号判定部31は、検出した割り込み要求を割り込みハンドラ管理部32へ通知する。
割り込みハンドラ管理部32は、割り込み信号判定部31から通知された割り込み要求を割り込み信号としてCPU12へ即座に通知するか否かを判断する。割り込みハンドラ管理部32は、割り込み信号をCPU12へ即座に通知するか否かを、割り込み判定テーブル33に基づいて判断してもよい。割り込み信号をCPU12へ即座に通知すると判断した場合、割り込みハンドラ管理部32は、割り込み信号判定部31から通知された割り込み要求に対応する割り込み処理を割り込み信号通知部34へ通知する。
割り込み信号をCPU12へ即座に通知しないと判断した場合、割り込みハンドラ管理部32は、割り込み信号判定部31から通知された割り込み要求に対応する割り込み処理を経過時間監視部35へ通知する。割り込みハンドラ管理部32は、経過時間監視部35から通知を受けると、その通知された割り込み処理を割り込み信号としてCPU12へ即座に通知すると判断する。割り込みハンドラ管理部32は、経過時間監視部35から通知された割り込み処理を割り込み信号通知部34へ通知する。
割り込み判定テーブル33には、割り込み処理ID(Identifier、識別子)、優先度、最悪実行時間及び予測処理時間の情報が含まれていてもよい。割り込み処理IDにより、個々の割り込み処理を識別することができる。優先度は、例えば「速」と「遅」との2値で示されてもよい。
優先度が「速」である場合、割り込みハンドラ管理部32は、割り込み信号をCPU12へ即座に通知すると判断してもよい。優先度が「遅」である場合、割り込みハンドラ管理部32は、割り込み信号をCPU12へ即座に通知しないと判断してもよい。最悪実行時間により、各割り込み処理について、システム要件を満たすための割り込み処理に要する処理時間がわかる。
予測処理時間により、CPU12が割り込み信号を受信してから該当する割り込み処理が完了するまでに要すると予測される時間がわかる。負荷率がA(0≦A≦100)であるときの予測処理時間は、ユーザー性能の特性曲線(後述する「・負荷率の閾値の説明」を参照)から求められる方程式F(x)を用いて、F(A)によって求めることができる。
なお、割り込み判定テーブル33は、メモリ14(図3参照)に設けられていてもよい。ここでは、割り込み判定テーブル33は、割り込みコントローラ13に設けられているとする。割り込み判定テーブル33については後述する。
経過時間監視部35は、割り込みハンドラ管理部32から割り込み処理の通知を受けると計時を開始し、当該割り込み処理の通知を受け取ってからの経過時間を監視する。なお、計時を開始するタイミングは、経過時間監視部35が通知を受け取ったときでもよいし、割り込み信号判定部31に割り込み要求が入力したときでもよいし、割り込みハンドラ管理部32が割り込み信号をCPU12へ即座に通知しないと判断したときでもよい。
経過時間が所定の時間に達すると、経過時間監視部35は、割り込みハンドラ管理部32にその旨を通知する。例えば、経過時間が、最悪実行時間から予測処理時間を引いた時間に達したときに、経過時間監視部35は、割り込みハンドラ管理部32に通知をしてもよい。つまり、CPU12の負荷率が閾値よりも高い場合、割り込みハンドラ管理部32は、最悪実行時間と予測処理時間とに基づいて、ユーザー性能に影響を及ぼさない割り込み処理に対応する割り込み信号のCPU12への通知タイミングを決定することができる。
割り込み信号通知部34は、割り込みハンドラ管理部32から通知を受けると、当該通知に対応する割り込み信号をCPU12へ通知する。
・スレッド情報の説明
図5は、実施例2にかかる携帯電話機におけるスレッド情報の一例を示す図表である。図5に示すように、スレッド情報23には、スレッド(例えばA、B、C及びD)ごとに、ユーザー性能に影響を及ぼす割り込み処理の情報が含まれている。図示例では、割り込み処理IDとして例えば「キー入力」や「電波検出」が表記されているが、割り込み処理IDは、例えば割り込みコントローラ13に設けられている、各種デバイスからの割り込み要求が入力する端子の番号であってもよい。
図6は、実施例2にかかる携帯電話機における割り込み処理情報の一例を示す図表である。図6に示すように、割り込み処理情報26には、各割り込み処理に要する標準の処理時間(標準処理時間)の情報が含まれている。割り込み処理情報26は、スレッド情報23の付加情報としてスレッド情報23に含まれていてもよい。CPU12の負荷率が0であるときに割り込み処理を行う場合に要する処理時間を当該割り込み処理の標準処理時間としてもよい。例えばシミュレーションにより、CPU12の負荷率が0であるときの割り込み処理に要する処理時間を求めて、標準処理時間としてもよい。一例として、キー入力の割り込み処理の標準処理時間は0.25msであり、電波検出の割り込み処理の標準処理時間は0.5msであってもよいが、これらの数値に限定されるものではない。
・負荷率の閾値の説明
図7は、実施例2にかかる携帯電話機におけるユーザー性能とCPUの負荷率との関係の一例を示すグラフである。図7に示すように、CPU12の負荷率が低くなるとユーザー性能は高くなり、CPU12の負荷率が高くなるとユーザー性能は低くなる。ユーザー性能の一例として、例えば上述したキーパッドのキーの押下に対する応答時間や、タッチパネルの追従性や、データのダウンロードに要する時間などが挙げられる。
ユーザー性能が高いと、キーの応答時間やデータのダウンロード時間は短くなり、タッチパネルの追従性は良くなる。ユーザー性能が低いと、キーの応答時間やデータのダウンロード時間は長くなり、タッチパネルの追従性は悪くなる。
例えばシミュレーションにより、図7に示すようなユーザー性能の特性曲線を求めておいてもよい。このユーザー性能の特性曲線から、上述した方程式F(x)を求めることができる。ユーザー性能が例えばキーの押下に対する応答時間である場合には、ユーザーがキーを押下してからその操作が反映されるまでの時間で、ユーザーがストレスを感じ始める時間を性能閾値Tとしてもよい。この性能閾値Tとなるときの負荷率LをCPU12の負荷率の閾値としてもよい。
・割り込み判定テーブルの説明
図8及び図9は、実施例2にかかる携帯電話機における割り込み判定テーブルの一例を示す図表である。図9に示す例は、図8に示す例よりもCPU12の負荷率が高い。
例えば図8に示す例では、割り込み処理IDが「キー入力」である割り込み処理について、優先度が「速」であり、最悪実行時間が1msであり、予測処理時間が0.5msである。また、割り込み処理IDが「電波検出」である割り込み処理については、優先度が「速」であり、最悪実行時間が5msであり、予測処理時間が2.5msである。
優先度及び予測処理時間は、CPU12の負荷率に応じて変化する。例えば図9に示す例では、割り込み処理IDが「キー入力」である割り込み処理について、優先度が「速」であるが、予測処理時間は0.7msとなっている。また、割り込み処理IDが「電波検出」である割り込み処理については、優先度が「遅」になっており、予測処理時間は2.9msに増えている。
図8に示す例を、例えばCPU12の負荷率が、図7に示すユーザー性能の特性曲線において負荷率Lよりも低い例であるとしてもよい。この場合には、割り込みコントローラ13は、割り込み要求を検出すると即座に割り込み信号をCPU12へ通知してもよい。
また、図9に示す例を、例えばCPU12の負荷率が、図7に示すユーザー性能の特性曲線において負荷率Lよりも高い例であるとしてもよい。この場合には、割り込みコントローラ13は、割り込み要求を検出したときに、優先度が「速」である割り込み要求に対しては、即座に割り込み信号をCPU12へ通知してもよい。優先度が「遅」である割り込み要求に対しては、即座に割り込み信号をCPU12へ通知しなくてもよい。すなわち、割り込みコントローラ13は、割り込み信号をCPU12へ遅らせて通知してもよい。
例えば図9に示す例において、CPU12が、通信を行わないゲームなどのアプリケーション・プログラムを処理しているとする。この場合には、「電波検出」の割り込み処理は、実行中のアプリケーションのユーザー性能に影響を及ぼさない。従って、「電波検出」の割り込み処理の優先度が「遅」に設定される。「電波検出」の割り込み処理の最悪実行時間が例えば5msであり、予測処理時間が例えば2.9msであるから、経過時間監視部35で監視している経過時間が2.1ms(=5[ms]−2.9[ms])に達した時点で、割り込みコントローラ13は割り込み信号をCPU12へ通知してもよい。
・OSにおける割り込み制御方法の説明
図10は、実施例2にかかる携帯電話機におけるOSの処理手順を示すフローチャートである。図10に示すように、OS21で処理が開始されると、まず、割り込み判定テーブル管理部25は、割り込み判定テーブル33を初期設定する(ステップS11)。
初期設定によって、割り込み判定テーブル33に割り込み処理ID、優先度、最悪実行時間及び予測処理時間の情報が割り込み処理ごとに登録される。全ての割り込み処理について、優先度の初期設定値は「速」であってもよい。予測処理時間の初期設定値は、それぞれの割り込み処理の標準処理時間であってもよい。割り込み判定テーブル管理部25は、各割り込み処理の標準処理時間をスレッド情報23から取得することができる。
次いで、スレッドのディスパッチが発生した場合(ステップS12:Yes)、割り込み判定テーブル管理部25は、負荷率監視部24からCPU12の負荷率を取得する。また、割り込み判定テーブル管理部25は、ディスパッチされたスレッドに対応するスレッド情報23を取得する(ステップS13)。割り込み判定テーブル管理部25は、スケジューリング情報22から、ディスパッチされたスレッドがどれであるかということを知ることができる。
次いで、割り込み判定テーブル管理部25は、ステップS13で取得したCPU12の負荷率及びスレッド情報23に基づいて、割り込み判定テーブル33を更新する(ステップS14)。そして、ステップS12へ戻る。割り込み判定テーブル33を更新する処理の詳細については後述する。割り込み判定テーブル33の優先度を更新する際には、CPU12の負荷率の閾値が必要である。予めシミュレーションにより、図7に示すようなユーザー性能の特性曲線を求めておくことによって、CPU12の負荷率の閾値を求めておいてもよい。
一方、スレッドのディスパッチが発生しない場合で(ステップS12:No)、CPU12が割り込みコントローラ13から割り込み信号を受信した場合(ステップS15:Yes)、CPU12は、受信した割り込み信号に対応する割り込みハンドラをディスパッチする(ステップS16)。そして、ステップS12へ戻る。
一方、CPU12が割り込み信号を受信しない場合で(ステップS15:No)、全処理が終了した場合には(ステップS17:Yes)、一連の処理を終了する。全処理が終了しない場合には(ステップS17:No)、ステップS12へ戻る。なお、ステップS12、ステップS15及びステップS17は、いずれが先に処理されてもよい。
・割り込み判定テーブルの更新処理の説明
図11は、実施例2にかかる携帯電話機における割り込み判定テーブルの更新処理手順を示すフローチャートである。図11に示すように、割り込み判定テーブル管理部25により処理が開始されると、まず、割り込み判定テーブル管理部25は、CPU12の負荷率及び上述したユーザー性能の特性曲線から導かれる方程式F(x)に基づいて、予測処理時間を求める。そして、割り込み判定テーブル管理部25は、求めた予測処理時間で割り込み判定テーブル33の予測処理時間を更新する(ステップS21)。
次いで、CPU12の負荷率が閾値を超えている場合(ステップS22:Yes)、割り込み判定テーブル管理部25は、CPU12で実行中のスレッドに対応するスレッド情報23を参照する(ステップS23)。次いで、割り込み判定テーブル管理部25は、CPU12で実行中のスレッドのユーザー性能に影響を及ぼす割り込み処理の優先度を「速」に更新し、ユーザー性能に影響を及ぼさない割り込み処理の優先度を「遅」に更新する(ステップS24)。そして、一連の処理を終了する。割り込み判定テーブル管理部25は、スレッド情報23から、割り込み処理がユーザー性能に影響を及ぼすか否かということを知ることができる。
一方、CPU12の負荷率が閾値を超えていない場合(ステップS22:No)、割り込み判定テーブル管理部25は、全ての割り込み処理の優先度を「速」に更新する(ステップS25)。そして、一連の処理を終了する。
・割り込みコントローラにおける割り込み制御方法の説明
図12は、実施例2にかかる携帯電話機における割り込みコントローラの処理手順を示すフローチャートである。図12に示すように、割り込みコントローラ13で処理が開始され、割り込み信号判定部31が割り込み要求を検出すると(ステップS31:Yes)、割り込み信号判定部31は、割り込みハンドラ管理部32に検出した割り込み要求を通知する。
割り込みハンドラ管理部32は、割り込み信号判定部31からの通知を受けると、割り込み判定テーブル33を参照する(ステップS32)。そして、割り込みハンドラ管理部32は、割り込み信号判定部31から受けた通知に該当する割り込み処理の優先度を参照する。優先度が「遅」である場合(ステップS33:Yes)、割り込みハンドラ管理部32は、経過時間監視部35に割り込み処理を通知する。経過時間監視部35は、割り込みハンドラ管理部32からの通知を受けると経過時間の計時を開始する(ステップS34)。そして、ステップS31へ戻る。
一方、割り込み処理の優先度を参照した結果、優先度が「遅」でない、つまり「速」である場合(ステップS33:No)、割り込みハンドラ管理部32は、割り込み信号判定部31から受けた通知に該当する割り込み処理を割り込み信号通知部34へ通知する。割り込み信号通知部34は、割り込みハンドラ管理部32からの通知を受けると、即座にCPU12に割り込み信号を通知する(ステップS35)。そして、ステップS31へ戻る。
一方、割り込み要求を検出していないが(ステップS31:No)、経過時間監視部35で計時している経過時間が、最悪実行時間から予測処理時間を引いた時間に一致するという条件を満たす割り込み処理がある場合がある。そのような条件を満たす割り込み処理がある場合には(ステップS36:Yes)、経過時間監視部35は、割り込みハンドラ管理部32に通知する。割り込みハンドラ管理部32は、経過時間監視部35から通知を受けると、通知された割り込み処理を割り込み信号通知部34へ通知する。
割り込み信号通知部34は、割り込みハンドラ管理部32からの通知を受けると、即座にCPU12に割り込み信号を通知する(ステップS37)。次いで、経過時間監視部35は、CPU12に通知した割り込み信号に対応する割り込み処理の経過時間を例えば0に初期化する(ステップS38)。そして、ステップS31へ戻る。
一方、経過時間監視部35で計時している経過時間が、最悪実行時間から予測処理時間を引いた時間に一致するという条件を満たす割り込み処理がない場合で(ステップS36:No)、全処理が終了した場合には(ステップS39:Yes)、一連の処理を終了する。全処理が終了しない場合には(ステップS39:No)、ステップS31へ戻る。なお、ステップS31、ステップS36及びステップS39は、いずれが先に処理されてもよい。
・従来例との比較
一例として、YouTube(登録商標)の処理中に「キー入力」、「電波検出」及び「電池残量検出」の割り込み処理が発生する場合を例にして、図13及び図14を参照しながら、実施例2と従来例とで動作を比較する。従来例では、割り込み要求が発生すると、CPUの負荷率やユーザー性能に対する影響の有無にかかわらず、全ての割り込み処理が即座に行われるとする。また、YouTubeの処理時間を1msとする。「電波検出」及び「電池残量検出」の各割り込み処理の処理時間を0.5msとする。また、割り込み判定テーブル33の登録情報が、図13に示す例であるとする。
図13は、実施例2にかかる携帯電話機における割り込み判定テーブルの一例を示す図表である。図13に示すように、割り込み判定テーブル33において、「キー入力」及び「電波検出」の優先度は「速」であり、「電池残量検出」の割り込み処理の優先度は「遅」であるとする。いずれも最悪実行時間は1msであるとする。「キー入力」の予測処理時間は0.25msであり、「電波検出」及び「電池残量検出」の予測処理時間は0.5msであるとする。
図14は、実施例2と従来例との動作の比較の一例を示す模式図である。図14に示すように、YouTubeの処理中、0.25ms経過時と1.25ms経過時に「キー入力」の割り込み処理が発生したとする。また、0.5ms経過時に「電波検出」の割り込み処理が発生し、1.5ms経過時に「電池残量検出」の割り込み処理が発生したとする。
実施例2では、「キー入力」及び「電波検出」の各割り込み処理は、発生時に即座に処理される。「電池残量検出」の割り込み処理は、最悪実行時間の1msで処理が終了するように、当該割り込み処理の発生時点から0.5msが経過した2msのタイミングで開始される。従って、1.5ms〜2msの間にYouTubeの処理が行われるので、YouTubeの処理は、最初から2msが経過した時点で終了する。
それに対して、従来例では、「キー入力」、「電波検出」及び「電池残量検出」の各割り込み処理は、発生時に即座に処理される。そのため、「電池残量検出」の割り込み処理は、1.5msのタイミングで開始され、2msのタイミングで終了する。その後に、YouTubeの残りの処理が行われるので、YouTubeの処理は、最初から2.5msが経過した時点で終了する。つまり、実施例2の方が従来例よりも早くYouTubeの処理が終了する。
実施例2によれば、実施例1と同様の効果が得られる。なお、実施例1にかかる電子計算機1は、携帯電話システムに限らず、WiMAXやWi−Fiなどの他の無線通信システムの端末もしくは基地局やアクセスポイント、パーソナルコンピュータなどのコンピュータ、PDA(Personal Digital Assistants)などの携帯情報端末、ゲーム機または種々の測定器などにも適用することができる。
上述した実施の形態に関し、さらに以下の付記を開示する。
(付記1)スレッド及び割り込みハンドラを実行する処理部と、
前記処理部の負荷を監視する監視部と、
前記割り込みハンドラの実行が前記処理部で実行中の前記スレッドのユーザー性能に及ぼす影響と前記負荷とに基づいて、前記割り込みハンドラを呼び出す割り込み要求の通知タイミングを判定する判定部と、
前記通知タイミングに基づいて前記処理部に前記割り込み要求を通知する通知部と、
を備え、
前記判定部は、前記負荷が閾値よりも高い場合、前記ユーザー性能に影響を及ぼさない割り込み要求の通知タイミングを、前記ユーザー性能に影響を及ぼす割り込み要求の通知タイミングよりも遅く設定し、
前記処理部は、前記割り込み要求の通知に基づいて前記割り込み要求に対応する前記割り込みハンドラを呼び出して実行する
ことを特徴とする電子計算機。
(付記2)前記判定部は、前記ユーザー性能に影響を及ぼさない割り込み要求の通知タイミングを、該割り込み要求に対応する割り込みハンドラの実行が、許容される最も遅い最悪タイミングで終了し得るタイミングに設定する
ことを特徴とする付記1に記載の電子計算機。
(付記3)前記割り込み要求の発生時からの経過時間を計る計時部を備え、
前記判定部は、前記割り込み要求の発生時から前記最悪タイミングまでの時間から前記負荷に応じた前記割り込みハンドラの処理時間を引いた時間に前記経過時間が一致するタイミングで、前記ユーザー性能に影響を及ぼさない割り込み要求を通知する
ことを特徴とする付記2に記載の電子計算機。
(付記4)前記負荷に応じて前記割り込み要求の通知タイミングの優先度を管理する管理部を備え、
前記判定部は、前記優先度の低い割り込み要求の通知タイミングを、前記優先度の高い割り込み要求の通知タイミングよりも遅く設定する
ことを特徴とする付記1〜3のいずれか一つに記載の電子計算機。
(付記5)前記判定部は、
前記負荷が閾値よりも高い場合、前記ユーザー性能に影響を及ぼす割り込み要求の通知タイミングを該割り込み要求の発生時に設定し、
前記負荷が閾値よりも低い場合、前記ユーザー性能に影響を及ぼさない割り込み要求及び前記ユーザー性能に影響を及ぼす割り込み要求のいずれの通知タイミングも該割り込み要求の発生時に設定する
ことを特徴とする付記1〜4のいずれか一つに記載の電子計算機。
(付記6)処理部の負荷を監視し、
割り込み要求の発生時に該割り込み要求によって呼び出される割り込みハンドラの実行が前記処理部で実行中のスレッドのユーザー性能に及ぼす影響と前記負荷とに基づいて、前記割り込み要求の通知タイミングを判定し、前記負荷が閾値よりも高い場合、前記ユーザー性能に影響を及ぼさない割り込み要求の通知タイミングを、前記ユーザー性能に影響を及ぼす割り込み要求の通知タイミングよりも遅く設定し、
前記通知タイミングに基づいて前記処理部に前記割り込み要求を通知し、
前記割り込み要求の通知に基づいて前記割り込み要求に対応する前記割り込みハンドラを呼び出して実行する
ことを特徴とする割り込み制御方法。
(付記7)前記ユーザー性能に影響を及ぼさない割り込み要求の通知タイミングを、該割り込み要求に対応する割り込みハンドラの実行が、許容される最も遅い最悪タイミングで終了し得るタイミングに設定する
ことを特徴とする付記6に記載の割り込み制御方法。
(付記8)前記割り込み要求の発生時からの経過時間を計り、
前記割り込み要求の発生時から前記最悪タイミングまでの時間から前記負荷に応じた前記割り込みハンドラの処理時間を引いた時間に前記経過時間が一致するタイミングで、前記ユーザー性能に影響を及ぼさない割り込み要求を通知する
ことを特徴とする付記7に記載の割り込み制御方法。
(付記9)前記負荷に応じて前記割り込み要求の通知タイミングの優先度を管理し、
前記優先度の低い割り込み要求の通知タイミングを、前記優先度の高い割り込み要求の通知タイミングよりも遅く設定する
ことを特徴とする付記6〜8のいずれか一つに記載の割り込み制御方法。
(付記10)前記負荷が閾値よりも高い場合、前記ユーザー性能に影響を及ぼす割り込み要求の通知タイミングを該割り込み要求の発生時に設定し、
前記負荷が閾値よりも低い場合、前記ユーザー性能に影響を及ぼさない割り込み要求及び前記ユーザー性能に影響を及ぼす割り込み要求のいずれの通知タイミングも該割り込み要求の発生時に設定する
ことを特徴とする付記6〜9のいずれか一つに記載の割り込み制御方法。
1,11 電子計算機
2 処理部
3,24 監視部
4,32 判定部
5,34 通知部
25 管理部
35 計時部

Claims (5)

  1. スレッド及び割り込みハンドラを実行する処理部と、
    前記処理部の負荷を監視する監視部と、
    前記割り込みハンドラの実行が前記処理部で実行中の前記スレッドのユーザー性能に及ぼす影響と前記負荷とに基づいて、前記割り込みハンドラを呼び出す割り込み要求の通知タイミングを判定する判定部と、
    前記通知タイミングに基づいて前記処理部に前記割り込み要求を通知する通知部と、
    を備え、
    前記判定部は、前記負荷が、前記ユーザー性能に対応する前記処理部の負荷率に応じて定められた閾値よりも高い場合、前記ユーザー性能に影響を及ぼさない割り込み要求の通知タイミングを、前記ユーザー性能に影響を及ぼす割り込み要求の通知タイミングよりも遅く設定し、かつ前記ユーザー性能に影響を及ぼす割り込み要求の通知タイミングを該割り込み要求の発生時に設定し、前記負荷が前記閾値よりも低い場合、前記ユーザー性能に影響を及ぼさない割り込み要求及び前記ユーザー性能に影響を及ぼす割り込み要求のいずれの通知タイミングも該割り込み要求の発生時に設定し、
    前記処理部は、前記割り込み要求の通知に基づいて前記割り込み要求に対応する前記割り込みハンドラを呼び出して実行する
    ことを特徴とする電子計算機。
  2. 前記判定部は、前記ユーザー性能に影響を及ぼさない割り込み要求の通知タイミングを、該割り込み要求に対応する割り込みハンドラの実行が、許容される最も遅い最悪タイミングで終了し得るタイミングに設定する
    ことを特徴とする請求項1に記載の電子計算機。
  3. 前記割り込み要求の発生時からの経過時間を計る計時部を備え、
    前記判定部は、前記割り込み要求の発生時から前記最悪タイミングまでの時間から前記負荷に応じた前記割り込みハンドラの処理時間を引いた時間に前記経過時間が一致するタイミングで、前記ユーザー性能に影響を及ぼさない割り込み要求を通知する
    ことを特徴とする請求項2に記載の電子計算機。
  4. 前記負荷に応じて前記割り込み要求の通知タイミングの優先度を管理する管理部を備え、
    前記判定部は、前記優先度の低い割り込み要求の通知タイミングを、前記優先度の高い割り込み要求の通知タイミングよりも遅く設定する
    ことを特徴とする請求項1〜3のいずれか一つに記載の電子計算機。
  5. 電子計算機が、
    処理部の負荷を監視し、
    割り込み要求の発生時に該割り込み要求によって呼び出される割り込みハンドラの実行が前記処理部で実行中のスレッドのユーザー性能に及ぼす影響と前記負荷とに基づいて、前記割り込み要求の通知タイミングを判定し、前記負荷が前記ユーザー性能に対応する前記処理部の負荷率に応じて定められた閾値よりも高い場合、前記ユーザー性能に影響を及ぼさない割り込み要求の通知タイミングを、前記ユーザー性能に影響を及ぼす割り込み要求の通知タイミングよりも遅く設定し、かつ前記ユーザー性能に影響を及ぼす割り込み要求の通知タイミングを該割り込み要求の発生時に設定し、前記負荷が前記閾値よりも低い場合、前記ユーザー性能に影響を及ぼさない割り込み要求及び前記ユーザー性能に影響を及ぼす割り込み要求のいずれの通知タイミングも該割り込み要求の発生時に設定し、
    前記通知タイミングに基づいて前記処理部に前記割り込み要求を通知し、
    前記割り込み要求の通知に基づいて前記割り込み要求に対応する前記割り込みハンドラを呼び出して実行する
    ことを特徴とする割り込み制御方法。

JP2013542793A 2011-11-11 2011-11-11 電子計算機及び割り込み制御方法 Expired - Fee Related JP5804075B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2011/076095 WO2013069159A1 (ja) 2011-11-11 2011-11-11 電子計算機及び割り込み制御方法

Publications (2)

Publication Number Publication Date
JPWO2013069159A1 JPWO2013069159A1 (ja) 2015-04-02
JP5804075B2 true JP5804075B2 (ja) 2015-11-04

Family

ID=48288816

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013542793A Expired - Fee Related JP5804075B2 (ja) 2011-11-11 2011-11-11 電子計算機及び割り込み制御方法

Country Status (3)

Country Link
US (1) US9785586B2 (ja)
JP (1) JP5804075B2 (ja)
WO (1) WO2013069159A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102649324B1 (ko) 2016-05-19 2024-03-20 삼성전자주식회사 적응 인터럽트 제어를 수행하는 컴퓨터 시스템 및 그것의 인터럽트 제어 방법

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5585940A (en) 1978-12-22 1980-06-28 Toshiba Corp Processing system for interruption input
JPH04178869A (ja) 1990-11-14 1992-06-25 Mitsubishi Electric Corp マルチプロセッサシステムの割込み制御装置とその割込み通信方法
JP2535718B2 (ja) 1992-04-22 1996-09-18 株式会社東芝 マルチプロセッサシステム
JPH1055282A (ja) 1996-08-09 1998-02-24 Mitsubishi Electric Corp 割り込み処理方法および割り込み処理装置
JP2000122963A (ja) 1998-10-13 2000-04-28 Canon Inc 割り込み制御装置及び割り込み制御方法
JP4219818B2 (ja) * 2002-01-24 2009-02-04 富士通株式会社 割込み遅延を動的に決定する計算機
US7054972B2 (en) * 2002-12-13 2006-05-30 Lsi Logic Corporation Apparatus and method for dynamically enabling and disabling interrupt coalescing in data processing system
US7120717B2 (en) * 2004-02-13 2006-10-10 Hewlett-Packard Development Company, L.P. Method and apparatus for controlling interrupt storms
US7275122B2 (en) * 2004-04-28 2007-09-25 Hewlett-Packard Development Company, L.P. Method and system for maintaining a desired service level for a processor receiving excessive interrupts
US7634589B2 (en) * 2004-09-23 2009-12-15 International Business Machines Corporation Method for controlling peripheral adapter interrupt frequency by estimating processor load in the peripheral adapter
JP4856983B2 (ja) * 2006-03-02 2012-01-18 株式会社日立製作所 ストレージシステム及びスケジューリング方法
JP4815195B2 (ja) * 2005-11-16 2011-11-16 みずほ情報総研株式会社 ジョブ実行管理方法、ジョブ実行管理システム及びジョブ実行管理プログラム
JP2007172322A (ja) 2005-12-22 2007-07-05 Canon Inc 分散処理型マルチプロセッサシステム、制御方法、マルチプロセッサ割り込み制御装置及びプログラム
JP2008015883A (ja) 2006-07-07 2008-01-24 Matsushita Electric Ind Co Ltd マスタ装置、スレーブ装置、並びにそれらの通信方法、及び通信システム
US7962679B2 (en) * 2007-09-28 2011-06-14 Intel Corporation Interrupt balancing for multi-core and power
CN101354664B (zh) * 2008-08-19 2011-12-28 中兴通讯股份有限公司 多核处理器中断负载均衡方法和装置
JP2010277422A (ja) * 2009-05-29 2010-12-09 Toyota Motor Corp 割り込み処理装置
US9164935B2 (en) * 2013-01-04 2015-10-20 International Business Machines Corporation Determining when to throttle interrupts to limit interrupt processing to an interrupt processing time period

Also Published As

Publication number Publication date
US20140237150A1 (en) 2014-08-21
JPWO2013069159A1 (ja) 2015-04-02
WO2013069159A1 (ja) 2013-05-16
US9785586B2 (en) 2017-10-10

Similar Documents

Publication Publication Date Title
US10551896B2 (en) Method and apparatus for dynamic clock and voltage scaling in a computer processor based on program phase
CN107479951B (zh) 进程管控方法、装置、存储介质及电子设备
US20170024316A1 (en) Systems and methods for scheduling tasks in a heterogeneous processor cluster architecture using cache demand monitoring
US10055259B2 (en) Method for performing processor resource allocation in an electronic device, and associated apparatus
US20080307248A1 (en) Cpu Clock Control Device, Cpu Clock Control Method, Cpu Clock Control Program, Recording Medium, and Transmission Medium
CN104424031B (zh) 一种处理器工作频率的控制方法及装置
US20130031553A1 (en) Hardware acceleration
EP2790106A2 (en) Performance measurement unit, processor core including the same and process profiling method
KR20130115574A (ko) 단말기에서 태스크 스케줄링을 수행하는 방법 및 장치
US20230214002A1 (en) Power Consumption Management Method and Related Device
JPWO2011121730A1 (ja) マルチコアプロセッサシステム、制御プログラム、および制御方法
JP2018508886A (ja) マルチプロセッサシステムにおける揮発性メモリ保守イベントのスケジューリング
WO2019020028A1 (zh) 共享资源分配方法及装置
EP4386554A1 (en) Instruction distribution method and device for multithreaded processor, and storage medium
US9274827B2 (en) Data processing apparatus, transmitting apparatus, transmission control method, scheduling method, and computer product
US20140189185A1 (en) Interrupt monitoring system and computer system
CN103345296B (zh) 动态电压频率调整触发装置和方法
JP5804075B2 (ja) 電子計算機及び割り込み制御方法
JP2018508884A (ja) 揮発性メモリ保守イベントのカーネルスケジューリングを提供するためのシステムおよび方法
CN115495256A (zh) 服务调用方法、装置、电子设备及存储介质
JP2010140239A (ja) 割り込みレイテンシーを短縮する装置及び方法
CN113439252B (zh) 终端控制方法、装置、存储介质及电子设备
US9430015B2 (en) Method and system for setting power supply mode of a multiple-core processor system based on condition of a time bin during a number of time intervals within the time bin is equal to or larger than a second threshold
JP5703799B2 (ja) 計算機、制御方法及びプログラム
WO2013129061A1 (ja) 同時接続数制御システム、同時接続数制御サーバ、同時接続数制御方法および同時接続数制御プログラム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150512

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150713

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150804

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150817

R150 Certificate of patent or registration of utility model

Ref document number: 5804075

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees