• 検索結果がありません。

WindowsCEにおける割り込み制御機能の強化

N/A
N/A
Protected

Academic year: 2021

シェア "WindowsCEにおける割り込み制御機能の強化"

Copied!
2
0
0

読み込み中.... (全文を見る)

全文

(1)情報処理学会第 73 回全国大会. 5G-6. WindowsCE における割り込み制御機能の強化 水篠 公範†. 太田 貴之†. 飯田 康志† 南角 茂樹†. 大阪電気通信大学大学院†. 1.. 概要. 近年,組み込み分野でも表示装置のついた機 器が普及してきており,GUI 設計が容易な組み込 みリアルタイム OS(以下リアルタイム OS)である Microsoft Windows Embedded CE( 以 下 Windows CE)が広く利用されてきている.しかしながら, Windows CE では割り込み処理をスレッド上で行 うため,割り込み応答時間が厳しく要求される 処理を扱うことは難しい.また,Windows CE の カーネルに,割り込み処理を直接組み込むこと も可能であるが,カーネルでは,割り込み禁止 状態で処理が行われるため,割り込み応答時間 の低下や割り込み応答時間の予測が困難等の問 題がある. そこで,本研究では割り込み制御に Real-Time Embedded Monitor(以下 REMON)を利用したので報 告する.REMON は割り込み処理に対して待ち状態 を付加する.それにより,割り込み禁止状態に することなく割り込み処理を行うことがで,割 り込み処理間での排他制御も実現することがで きる.. 図 1:REMON の基本構造. 図 2:ICB のデータ構造. 2.3 ISR の状態 REMON では,ISR が実行可能状態であるか,待 ち状態であるかが分かれば十分である.そこで, 2. 提案手法 ICB の状態レジスタは,ビットごとに待ち状態を 2.1 REMON 表し,全てのビットがクリアされている場合, REMON の基本構造を図 1 に示す.REMON は,割 実行可能状態を表す.待ち状態のビットはセマ り込みが発生すると,その割り込みに対応した フォ解放待ちやタイマー待ちの他に,割り込み 割り込みサービスルーチン(以下 ISR)を開始する. が発生していない場合も割り込み待ち用のビッ この REMON が管理する ISR は,ICB(Interrupt トをセットすることで待ち状態を表している. Control Block)と呼ぶデータ構造を持つ. 状態を共通化することで条件分岐を最低限に抑 2.2 ICB え,高速に ISR の状態を判定することができる. ICB のデータ構造を図 2 に示す.ISR 1 つに対 3. WindowsCE への実装 して 1 つの ICB を持つ.この ICB はリアルタイ ム OS における TCB(Task Control Block)と似た 3.1 REMON のスケジューラ 構造であり,CPU の状態を保存するためのコンテ REMON のスケジューラを図 3 に示す.REMON の キスト領域を設けることで,割り込みは待ち状 スケジューラは優先度の高い順番に ISR を実行 態になることができる.また, ICB は優先度順 していく.WindowsCE は,REMON の中で最も優先 に並んだ配列となっており,ISR の番号(配列の 度の低い ISR として扱う.その結果,全ての ISR 番号)が優先度となっている. が待ち状態になった時,WindowsCE が再開される こととなる. Enhanced interrupt control for WindowsCE 3.2 CPU による効率化 † Kiminori Mizushino † Takayuki Ohta 本研究では WindowsCE で最も利用されている † Yasushi Iida † Shigeki Nankaku CPU である ARM に実装する.ARM には IRQ と FIQ †Osaka Electro-Communication University と呼ばれる 2 つのレベルの割り込みが実装され. 1-35. Copyright 2011 Information Processing Society of Japan. All Rights Reserved..

(2) 情報処理学会第 73 回全国大会. 1.発生した割り込みに対応する ISR 番号を テーブルより取得する. 2.ICB の起動要求回数を 1 増やす. 3.起動要求回数が 2 回以上になった場合, 元の制御に戻す. 4.ICB の割り込み待ち状態ビットを解除する. 5.直前まで走っていた ISR の優先度より, 発生した ISR の割り込みの優先度が低い 場合,元の制御に戻す. 6.直前まで走っていたコンテキストを保存し, 新しい ISR に制御を移す.. 図 3:REMON のスケジューラ. リスト 1:FIQ 割り込み発生時の動作 のバージョンに実装した.割り込みが発生して から割り込み処理が開始されるまでの時間を計 図 4:WindowsCE と REMON の状態遷移 測した.WindowsCE で割り込みを処理する場合, 32.09μ秒,REMON で割り込みを処理する場合, ている.FIQ は IRQ より高速に処理を行うために, 4.58μ秒となった.十分実用的な割り込み応答 一部のレジスタが切り替わるバンクレジスタを 速度で実現することができている. 実装している.また,この二つレベルの割り込 5. まとめ みは,個別に無効化することが可能である. WindowsCE のカーネルでは FIQ は使用されてい WindowsCE と REMON を組み合わせることで, ない.そこで,FIQ 割り込みを REMON で使用する WindowsCE では処理できなかったような割り込み ことによって,効率化を行う.REMON の ISR が実 応答時間が,厳しく要求される処理を扱うこと 行されている場合,IRQ 割り込みを一時的に無効 可能となった.また,割り込み処理に排他制御 化することによって,WindowsCE の割り込みのオ を実現することで,割り込みにおける信頼性向 ーバーヘッドなく高速な割り込み処理を行うこ 上にも繋がっていくと考えられる.今後の課題 とが可能となる. として,WindowsCE と REMON のリソースの共有の また,他の多くの CPU でも,割り込みに優先 実現をすることである. 度を持たせ,優先度によって割り込みを禁止す 参考文献 ることいった機能が実装されている.そのため, 他の CPU でもこの手法により効率化することが [1] 南角茂樹:組込みシステムにおける応答性 可能である. 能 の 保 証 ; シ ス テ ム / 制 御 / 情 報 ,Vol51,No9, 3.3 高速な ISR の切り替え pp.14-18 (2007) 割り込み応答時間の厳しい割り込みを処理す [2] 南角 茂樹・水篠 公範・浅田 佳司:組込み るためには,割り込み発生から高速に ISR に移 システムにおける割り込みスケジューラ REMON 行する必要がある.また,発生した割り込みの の展開;電気学会 電子・情報・システム部門大 優先度が低ければ,すみやかに処理を戻さなけ 会講演論文集,pp.47-448 (2009) ればならない.そのため,切り替えには FIQ の [3] 太田 貴之・水篠 公範・飯田 康志・南角 バンクレジスタを利用し,最低限の処理で移行 茂樹:リアルタイム OS の割り込み制御の強化; できるように設計した.割り込み発生からの動 システム制御情報学会研究発表講演会講演論文 作をリスト 1 に示す. 集,(2010) [4] 松岡 正人 監修:WindowsEmbeddedCE6.0 組 4. 実験 込み OS 構築技法入門;日経 BP ソフトプレス 今回提案したシステムを ARM アーキテクチャ の CPU である Samsung 社の S3C2440(405MHz)上に 実装した.WindowsCE は Windows Embedded CE6. 1-36. Copyright 2011 Information Processing Society of Japan. All Rights Reserved..

(3)

図 3:REMON のスケジューラ  図 4:WindowsCE と REMON の状態遷移  ている.FIQ は IRQ より高速に処理を行うために, 一部のレジスタが切り替わるバンクレジスタを 実装している.また,この二つレベルの割り込 みは,個別に無効化することが可能である.    WindowsCE のカーネルでは FIQ は使用されてい ない.そこで,FIQ 割り込みを REMON で使用する ことによって,効率化を行う.REMON の ISR が実 行されている場合,IRQ 割り込みを一時的に無

参照

関連したドキュメント

児童虐待への対応は、これまで、制度の見直しや関係機関の体制強化などにより、その充実

関係委員会のお力で次第に盛り上がりを見せ ているが,その時だけのお祭りで終わらせて

或はBifidobacteriumとして3)1つのnew genus

式目おいて「清十即ついぜん」は伝統的な流れの中にあり、その ㈲

「他の条文における骨折・脱臼の回復についてもこれに準ずる」とある

実際, クラス C の多様体については, ここでは 詳細には述べないが, 代数 reduction をはじめ類似のいくつかの方法を 組み合わせてその構造を組織的に研究することができる

IDLE 、 STOP1 、 STOP2 モードを解除可能な割り込みは、 INTIF を経由し INTIF 内の割り. 込み制御レジスター A で制御され CPU へ通知されます。

今回の SSLRT において、1 日目の授業を受けた受講者が日常生活でゲートキーパーの役割を実