組込みシステムとは - info.kindai.ac.jp · e.g....

27
組込みシステムとは コンピュータ制御システム? 「専⽤の機能を実⾏するために、ハードウェアとソフト ウェアが緊密に統合されたコンピュータシステム」 e.g. クーラー センサ、マイコン エアコン 電⼦交換機 通話路 スイッチ 専⽤プロセッサ 専⽤ソフトウェア ソフトウェアの書換えにより機能の追加改訂が可能 きめ細かな制御が可能(快適かつ経済的)

Upload: others

Post on 06-Sep-2019

2 views

Category:

Documents


0 download

TRANSCRIPT

組込みシステムとはコンピュータ制御システム?

「専⽤の機能を実⾏するために、ハードウェアとソフトウェアが緊密に統合されたコンピュータシステム」

e.g. クーラー + センサ、マイコン = エアコン

電⼦交換機 = 通話路 + スイッチ+ 専⽤プロセッサ + 専⽤ソフトウェア

ソフトウェアの書換えにより機能の追加改訂が可能

きめ細かな制御が可能(快適かつ経済的)

リアルタイムオペレーティングシステム⼊⾨

RTOSの特性と機能要件 標準的なカーネルの構成 タスク操作 割込み処理 タイマ タスク間通信のためのカーネルオブジェク

ト アプリケーション初期化タスク

平成30年春応⽤情報試験問題(1/6)

リアルタイムオペレーティングシステム⼊⾨

RTOSの特性と機能要件 標準的なカーネルの構成 タスク操作 割込み処理 タイマ タスク間通信のためのカーネルオブジェク

ト アプリケーション初期化タスク

RTOSに求められる特性

信頼性⼈間の介⼊無しに⻑時間動作e.g. 年あたりのダウン時間1分以内

予測可能性システムコールの応答時間のばらつきの最⼩化

コンパクトさメモリ消費量の正確な把握が可能なことを利⽤

スケーラビリティスケールアップ/ダウン容易性e.g. 携帯電話の基地局と端末で共通のOS

RTOSの機能要件

より⾼い信頼性 ⾼速性 ゆるいメモリ要件 多様なスケジューリングポリシーのサポート ROM/RAMブート、ディスクレスのサポート 異なるハードウェアプラットフォームへの移植性

マルチタスク 資源管理 ハードウェアの抽象化 APIの提供

6.1 標準的なカーネルの構成 スケジューラ カーネルオブジェクト

タスク、割込みハンドラ、タイマ、各種セマフォ、メッセージキュー、パイプ etc.

サービス時間管理、割込み処理、メモリ管理、デバイス管理

6.2 タスク操作API

実⾏可能状態

待ち状態 実⾏状態

中断遅延

(再)起動再開

(遅延終了)⽣成

中断遅延

削除 優先度の取得と設定プリエンプション(横取り)のロックとアンロック

6.3 例外処理例外︓プロセッサの通常の処理を中断させ、特権状態で特別な命令(ハンドラ)を実⾏させるイベント

タスクのスタックを利⽤して実⾏完了後スケジューラを呼出す

同期例外︓プログラムの実⾏により発⽣するもの

⾮同期例外(外部割込み)︓ハードウェア信号として通知される外部イベント

割込み処理の諸概念 割込みハンドラ︓割込み要因ごとに定義された

処理ルーチン デフォルトハンドラ︓汎⽤的な割込みハンドラ

(最低限の処理のみ実⾏) 割込みベクタ︓割込み要因を表す番号 割込みベクタテーブル︓割込み要因ごとにその

ハンドラの先頭アドレスを格納した表 割込み禁⽌・マスク︓割込みの無効化

割込みネストの抑制特定のハードウェア信号の無効化

割込み禁⽌と許可 割込み禁⽌・許可︓

すべての割り込みの無効化とその取消し 割込みマスク・マスク解除︓

特定の割り込みを無効化とその取消し

移動検出割込みの禁⽌・許可

・極⼒、短い処理とする(e.g.「通知」のみ)・割り込みネストの抑制のため必要に応じて割込み禁⽌/マスク

割込みハンドラの処理

プログラマブル割込みコントローラの利⽤

コアCPU

PIC

割込みハンドラ

割込み

エアバックセンサ

ブレーキセンサ

燃料レベルセンサ

実時間クロック

最⾼優先度

⾼優先度

中優先度

低優先度

割込みベクタ

6.4 タイマとタイマサービス

組込みリアルタイムシステムでは・ポーリング・タイムアウト監視・sleepなどの⽬的で利⽤される

タイマとは・時間計測機能を持ち・指定された時間が経過したとき、そのことを通知する

ためのインタフェースを提供e.g. キッチンタイマー

PITとRTCコアCPU

ダウンカウンタ

ProgrammableIntervalTimer

PIT割込み

ハンドラ

割込み

周期設定

RTC割込み

ハンドラ

システムクロック(分周)

時刻保持

Real-TimeClock 割込み

通知時刻設定独⾃

クロック動作

ハードタイマとソフトタイマコアCPUPIT

(RTC)タイマ割込み

ハンドラ

割込み

周期設定

カウント

カウント

カウント

処理

処理

処理

ソフトタイマテーブル

ワーカタスク

起動 カウントダウン

タイマテーブルのソート

18 17 12 23 5 9 14 6 11 30 2 7 8

ソートされていないタイマテーブル

181712 235 9 146 11 302 7 8

ソートされたタイマテーブル

131 53 1 21 2 72 1 1

タイミングホイール

タイムスロットタイムスロットタイムスロットタイムスロットタイムスロットタイムスロットタイムスロットタイムスロット

クロックダイアル

処理 処理 処理

処理

処理 処理

起動 起動 起動

階層的タイミングホイール

100m秒単位タイムスロット

0

100m秒

200m秒

300m秒

400m秒

500m秒

600m秒

700m秒

800m秒

900m秒

秒単位タイムスロット

0

1秒2秒

58秒

59秒

クロックダイアル切替え

分単位タイムスロット

0

1分2分

クロックダイアル切替え

3分

4分