JP5804075B2 - 電子計算機及び割り込み制御方法 - Google Patents
電子計算機及び割り込み制御方法 Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims description 94
- 238000012545 processing Methods 0.000 claims description 153
- 238000012544 monitoring process Methods 0.000 claims description 32
- 238000001514 detection method Methods 0.000 description 23
- 238000010586 diagram Methods 0.000 description 12
- 238000004891 communication Methods 0.000 description 10
- 230000004044 response Effects 0.000 description 5
- 230000006866 deterioration Effects 0.000 description 3
- 238000004088 simulation Methods 0.000 description 3
- 230000007423 decrease Effects 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/24—Handling requests for interconnection or transfer for access to input/output bus using interrupt
- G06F13/26—Handling requests for interconnection or transfer for access to input/output bus using interrupt with priority control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4812—Task transfer initiation or dispatching by interrupt, e.g. masked
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques 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は、実施例1にかかる電子計算機を示すブロック図である。図1に示すように、電子計算機1は、処理部2、監視部3、判定部4及び通知部5を備えている。処理部2は、スレッド及び割り込みハンドラを実行する。ここで、スレッドは、並列処理に対応したOS(Operating System、オペレーティング・システム)上でのプログラムの最小の実行単位である。同一のプロセス内のスレッド同士であれば、スレッドのメモリ空間は共有される。割り込みハンドラは、カーネルが割り込みを受け付けると即座に動作する処理であり、一般的にプロセスやスレッドよりも優先して処理される。監視部3は、処理部2の負荷を監視する。処理部2の負荷は、処理部2に割り当てられているスレッドの総演算量であってもよい。
図2は、実施例1にかかる割り込み制御方法を示すフローチャートである。図2に示すように、電子計算機1で割り込み制御方法が開始されると、監視部3は、処理部2の負荷を監視する(ステップS1)。そして、判定部4は、割り込み要求の発生時に、当該割り込み要求によって呼び出される割り込みハンドラの実行が処理部2で実行中のスレッドのユーザー性能に及ぼす影響と処理部2の負荷とに基づいて、当該割り込み要求の通知タイミングを判定する。
実施例2は、実施例1にかかる電子計算機を携帯電話機に適用した例である。ここで、携帯電話機には、いわゆるスマートフォンと呼ばれる無線通信機能を具えた携帯端末も含まれる。また、実施例1にかかる電子計算機は、携帯電話機に限らず、携帯電話システムの基地局にも適用することができる。
図3は、実施例2にかかる携帯電話機のハードウェア構成を示すブロック図である。図3に示すように、携帯電話機11は、処理部として例えばCPU(Central Processing Unit、中央処理装置)12、割り込みコントローラ13、メモリ14及び無線通信モジュール15を備えている。CPU12、割り込みコントローラ13、メモリ14及び無線通信モジュール15は、バス16に接続されている。
図4は、実施例2にかかる携帯電話機の機能的構成を示すブロック図である。図4に示すように、OS21がCPU12で実行されることによって、スケジューリング情報22、スレッド情報23、監視部として例えば負荷率監視部24、及び管理部として例えば割り込み判定テーブル管理部25が実現される。
図5は、実施例2にかかる携帯電話機におけるスレッド情報の一例を示す図表である。図5に示すように、スレッド情報23には、スレッド(例えばA、B、C及びD)ごとに、ユーザー性能に影響を及ぼす割り込み処理の情報が含まれている。図示例では、割り込み処理IDとして例えば「キー入力」や「電波検出」が表記されているが、割り込み処理IDは、例えば割り込みコントローラ13に設けられている、各種デバイスからの割り込み要求が入力する端子の番号であってもよい。
図7は、実施例2にかかる携帯電話機におけるユーザー性能とCPUの負荷率との関係の一例を示すグラフである。図7に示すように、CPU12の負荷率が低くなるとユーザー性能は高くなり、CPU12の負荷率が高くなるとユーザー性能は低くなる。ユーザー性能の一例として、例えば上述したキーパッドのキーの押下に対する応答時間や、タッチパネルの追従性や、データのダウンロードに要する時間などが挙げられる。
図8及び図9は、実施例2にかかる携帯電話機における割り込み判定テーブルの一例を示す図表である。図9に示す例は、図8に示す例よりもCPU12の負荷率が高い。
図10は、実施例2にかかる携帯電話機におけるOSの処理手順を示すフローチャートである。図10に示すように、OS21で処理が開始されると、まず、割り込み判定テーブル管理部25は、割り込み判定テーブル33を初期設定する(ステップS11)。
図11は、実施例2にかかる携帯電話機における割り込み判定テーブルの更新処理手順を示すフローチャートである。図11に示すように、割り込み判定テーブル管理部25により処理が開始されると、まず、割り込み判定テーブル管理部25は、CPU12の負荷率及び上述したユーザー性能の特性曲線から導かれる方程式F(x)に基づいて、予測処理時間を求める。そして、割り込み判定テーブル管理部25は、求めた予測処理時間で割り込み判定テーブル33の予測処理時間を更新する(ステップS21)。
図12は、実施例2にかかる携帯電話機における割り込みコントローラの処理手順を示すフローチャートである。図12に示すように、割り込みコントローラ13で処理が開始され、割り込み信号判定部31が割り込み要求を検出すると(ステップS31:Yes)、割り込み信号判定部31は、割り込みハンドラ管理部32に検出した割り込み要求を通知する。
一例として、YouTube(登録商標)の処理中に「キー入力」、「電波検出」及び「電池残量検出」の割り込み処理が発生する場合を例にして、図13及び図14を参照しながら、実施例2と従来例とで動作を比較する。従来例では、割り込み要求が発生すると、CPUの負荷率やユーザー性能に対する影響の有無にかかわらず、全ての割り込み処理が即座に行われるとする。また、YouTubeの処理時間を1msとする。「電波検出」及び「電池残量検出」の各割り込み処理の処理時間を0.5msとする。また、割り込み判定テーブル33の登録情報が、図13に示す例であるとする。
前記処理部の負荷を監視する監視部と、
前記割り込みハンドラの実行が前記処理部で実行中の前記スレッドのユーザー性能に及ぼす影響と前記負荷とに基づいて、前記割り込みハンドラを呼び出す割り込み要求の通知タイミングを判定する判定部と、
前記通知タイミングに基づいて前記処理部に前記割り込み要求を通知する通知部と、
を備え、
前記判定部は、前記負荷が閾値よりも高い場合、前記ユーザー性能に影響を及ぼさない割り込み要求の通知タイミングを、前記ユーザー性能に影響を及ぼす割り込み要求の通知タイミングよりも遅く設定し、
前記処理部は、前記割り込み要求の通知に基づいて前記割り込み要求に対応する前記割り込みハンドラを呼び出して実行する
ことを特徴とする電子計算機。
ことを特徴とする付記1に記載の電子計算機。
前記判定部は、前記割り込み要求の発生時から前記最悪タイミングまでの時間から前記負荷に応じた前記割り込みハンドラの処理時間を引いた時間に前記経過時間が一致するタイミングで、前記ユーザー性能に影響を及ぼさない割り込み要求を通知する
ことを特徴とする付記2に記載の電子計算機。
前記判定部は、前記優先度の低い割り込み要求の通知タイミングを、前記優先度の高い割り込み要求の通知タイミングよりも遅く設定する
ことを特徴とする付記1〜3のいずれか一つに記載の電子計算機。
前記負荷が閾値よりも高い場合、前記ユーザー性能に影響を及ぼす割り込み要求の通知タイミングを該割り込み要求の発生時に設定し、
前記負荷が閾値よりも低い場合、前記ユーザー性能に影響を及ぼさない割り込み要求及び前記ユーザー性能に影響を及ぼす割り込み要求のいずれの通知タイミングも該割り込み要求の発生時に設定する
ことを特徴とする付記1〜4のいずれか一つに記載の電子計算機。
割り込み要求の発生時に該割り込み要求によって呼び出される割り込みハンドラの実行が前記処理部で実行中のスレッドのユーザー性能に及ぼす影響と前記負荷とに基づいて、前記割り込み要求の通知タイミングを判定し、前記負荷が閾値よりも高い場合、前記ユーザー性能に影響を及ぼさない割り込み要求の通知タイミングを、前記ユーザー性能に影響を及ぼす割り込み要求の通知タイミングよりも遅く設定し、
前記通知タイミングに基づいて前記処理部に前記割り込み要求を通知し、
前記割り込み要求の通知に基づいて前記割り込み要求に対応する前記割り込みハンドラを呼び出して実行する
ことを特徴とする割り込み制御方法。
ことを特徴とする付記6に記載の割り込み制御方法。
前記割り込み要求の発生時から前記最悪タイミングまでの時間から前記負荷に応じた前記割り込みハンドラの処理時間を引いた時間に前記経過時間が一致するタイミングで、前記ユーザー性能に影響を及ぼさない割り込み要求を通知する
ことを特徴とする付記7に記載の割り込み制御方法。
前記優先度の低い割り込み要求の通知タイミングを、前記優先度の高い割り込み要求の通知タイミングよりも遅く設定する
ことを特徴とする付記6〜8のいずれか一つに記載の割り込み制御方法。
前記負荷が閾値よりも低い場合、前記ユーザー性能に影響を及ぼさない割り込み要求及び前記ユーザー性能に影響を及ぼす割り込み要求のいずれの通知タイミングも該割り込み要求の発生時に設定する
ことを特徴とする付記6〜9のいずれか一つに記載の割り込み制御方法。
2 処理部
3,24 監視部
4,32 判定部
5,34 通知部
25 管理部
35 計時部
Claims (5)
- スレッド及び割り込みハンドラを実行する処理部と、
前記処理部の負荷を監視する監視部と、
前記割り込みハンドラの実行が前記処理部で実行中の前記スレッドのユーザー性能に及ぼす影響と前記負荷とに基づいて、前記割り込みハンドラを呼び出す割り込み要求の通知タイミングを判定する判定部と、
前記通知タイミングに基づいて前記処理部に前記割り込み要求を通知する通知部と、
を備え、
前記判定部は、前記負荷が、前記ユーザー性能に対応する前記処理部の負荷率に応じて定められた閾値よりも高い場合、前記ユーザー性能に影響を及ぼさない割り込み要求の通知タイミングを、前記ユーザー性能に影響を及ぼす割り込み要求の通知タイミングよりも遅く設定し、かつ前記ユーザー性能に影響を及ぼす割り込み要求の通知タイミングを該割り込み要求の発生時に設定し、前記負荷が前記閾値よりも低い場合、前記ユーザー性能に影響を及ぼさない割り込み要求及び前記ユーザー性能に影響を及ぼす割り込み要求のいずれの通知タイミングも該割り込み要求の発生時に設定し、
前記処理部は、前記割り込み要求の通知に基づいて前記割り込み要求に対応する前記割り込みハンドラを呼び出して実行する
ことを特徴とする電子計算機。 - 前記判定部は、前記ユーザー性能に影響を及ぼさない割り込み要求の通知タイミングを、該割り込み要求に対応する割り込みハンドラの実行が、許容される最も遅い最悪タイミングで終了し得るタイミングに設定する
ことを特徴とする請求項1に記載の電子計算機。 - 前記割り込み要求の発生時からの経過時間を計る計時部を備え、
前記判定部は、前記割り込み要求の発生時から前記最悪タイミングまでの時間から前記負荷に応じた前記割り込みハンドラの処理時間を引いた時間に前記経過時間が一致するタイミングで、前記ユーザー性能に影響を及ぼさない割り込み要求を通知する
ことを特徴とする請求項2に記載の電子計算機。 - 前記負荷に応じて前記割り込み要求の通知タイミングの優先度を管理する管理部を備え、
前記判定部は、前記優先度の低い割り込み要求の通知タイミングを、前記優先度の高い割り込み要求の通知タイミングよりも遅く設定する
ことを特徴とする請求項1〜3のいずれか一つに記載の電子計算機。 - 電子計算機が、
処理部の負荷を監視し、
割り込み要求の発生時に該割り込み要求によって呼び出される割り込みハンドラの実行が前記処理部で実行中のスレッドのユーザー性能に及ぼす影響と前記負荷とに基づいて、前記割り込み要求の通知タイミングを判定し、前記負荷が前記ユーザー性能に対応する前記処理部の負荷率に応じて定められた閾値よりも高い場合、前記ユーザー性能に影響を及ぼさない割り込み要求の通知タイミングを、前記ユーザー性能に影響を及ぼす割り込み要求の通知タイミングよりも遅く設定し、かつ前記ユーザー性能に影響を及ぼす割り込み要求の通知タイミングを該割り込み要求の発生時に設定し、前記負荷が前記閾値よりも低い場合、前記ユーザー性能に影響を及ぼさない割り込み要求及び前記ユーザー性能に影響を及ぼす割り込み要求のいずれの通知タイミングも該割り込み要求の発生時に設定し、
前記通知タイミングに基づいて前記処理部に前記割り込み要求を通知し、
前記割り込み要求の通知に基づいて前記割り込み要求に対応する前記割り込みハンドラを呼び出して実行する
ことを特徴とする割り込み制御方法。
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102649324B1 (ko) | 2016-05-19 | 2024-03-20 | 삼성전자주식회사 | 적응 인터럽트 제어를 수행하는 컴퓨터 시스템 및 그것의 인터럽트 제어 방법 |
Family Cites Families (18)
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 |
-
2011
- 2011-11-11 JP JP2013542793A patent/JP5804075B2/ja not_active Expired - Fee Related
- 2011-11-11 WO PCT/JP2011/076095 patent/WO2013069159A1/ja active Application Filing
-
2014
- 2014-04-30 US US14/266,601 patent/US9785586B2/en not_active Expired - Fee Related
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 |