前田/メモ帳/資格
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[前田/メモ帳]]
*資格 [#a44f71b0]
#contents
----
**テクニカルエンジニア エンベデッドシステムスペシャリスト試験 [#z18c3e94]
電波新聞社の参考書「テクニカルエンジニアエンベデッドシステム受験マニュアル」に登場する用語や、その他の参考書の勉強メモ~
***関連用語メモ [#bdfe7701]
***第1章 エンベデッドシステムのハードウェア技術 [#p52348b6]
-平均アクセス時間=ヒット率xキャッシュメモリのアクセス時間+(1-ヒット率)xメインメモリのアクセス時間
--(1-ヒット率)を非ヒット率、NFPで表すこともある
-ライトスルー方式とライトバック方式~
キャッシュメモリに書き込み(ライト)があった際に、キャッシュメモリを通過(スルー)し、メインメモリにも書き込みを行うか、後で書き戻し(バック)をするか、ということ。
--ライトスルー方式
---データを書き込むのはキャッシュメモリとメインメモリの両方なので速度が遅くなる。
---更新が行われる度にメインメモリへの参照が行われるので、大きな帯域が必要となる。
---同一記憶場所やバンクへの連続アクセスはメインメモリのサイクルタイムと同期するので遅くなる。
---キャッシュメモリとメインメモリの両方に書き込みを行うで、データの整合性(コヒーレンシ)がとれている。
--ライトバック方式
---データを書き込むのはキャッシュメモリのみなので速度が速い。
---コヒーレンシを保つための制御が難しい。
-キャッシュメモリのデータ構造
--ダイレクトマップ方式
---メインメモリをブロックに分割し、キャッシュメモリのブロックと固定的にマッピングさせる方式。特定の倍数でのメモリアクセスによって、スラッシングが発生する。
--フルアソシアティブ方式
---メインメモリのブロックとキャッシュメモリのブロックとのマッピングが自由な方式。タグの全比較を行うため、遅くなる。もしくは連想メモリを必要とするため、回路規模が大きくなる。
--セットアソシアティブ方式
---ダイレクトマップ方式とセットアソシアティブ方式の折半案。メインメモリとキャッシュメモリをセットに分割し、セット間は固定的なマッピングであるが、セット内のブロックでは自由なマッピングが可能な方式。
-MPUのウェイト機能/レディ機能
--MPUがアクセス時間の遅いメモリや周辺機器へアクセスする
-複数の割り込みコントローラの接続方式
--カスケード接続
---下位の割り込みコントローラが上位の割り込みコントローラの割り込み入力端子に接続されている
--デイジーチェーン接続
---割り込み信号線が共通
---割り込み許可を受けたコントローラ以外の割り込みは禁止にする
-割り込みの種類とマスク
--外部割り込み
---マスク不可能な割り込みのことをノンマスカブル割り込み(NMI)と言う。
---NMIの例として、電源の異常やウォッチドックタイマなど、緊急度の高い処理に適用
---マスク可能な割り込みの例としては、外部機器からの割り込みなどである。
--内部割り込み
---プログラム中で0除算が発生
---演算結果のオーバーフロー
---未定義の命令のコール
---SVC命令
--DMAはマイコンの構成によって内部割り込みなのか、外部割り込みなのかが変わる。
-DMA
--転送モード
---シングル転送モード(バイト転送モード) : 1バイトごと転送し、転送毎にバスの占有権をMPUに返却する方式。転送効率は良くないがリアルタイム性を損ねることはない。
---連続転送モード(ブロック転送モード) : 指定したブロックを一気に転送する。その為、大量のデータを転送した場合、長時間に渡りMPUの動作を中断することになるので、リアルタイム性を損ねるシステムには向かない。
---デマンド転送モード(バースト転送) : 指定したブロックを連続して転送するが、必要に応じてMPUに占有権を返却し、DMA転送を一時中断することが可能である。
--注意点
---MPUにキャッシュが搭載されている場合、DMA転送によってコヒーレンシが失われてしまうので、キャッシュメモリの内容を書き換える必要がある。
---仮想記憶を用いている場合、転送データのサイズが仮想記憶のページのサイズを越してしまうと、誤ったエリアに書き込まれる可能性がある。
-プログラムI/O方式(PIO転送)
--DMACなどの特別なハードウェアが不要で、プログラムでMPUのレジスタを経由して、データ転送を行う。
-セントロニクス
--8ビットパラレル転送
--ストローブ : データ出力及び印字のタイミング用信号
--アクノリッジ信号 : データの受信完了信号
-マルチプロセッサ
--密結合マルチプロセッサシステム
---複数のプロセッサを同じ主記憶を共有している
---同じ1つのOSでプロセッサが制御される
---プロセッサの数が増えると処理能力は向上するが主記憶を共有している都合上、資源の競合の対策として排他処理などが必要になるので、オーバーヘッドが大きくなる。なので通常は2個のプロセッサで構成するのが一般的である。2個のプロセッサで構成したシステムをSMP(Symmetric Multi Processing)と呼ぶ。
--疎結合マルチプロセッサシステム
---複数のプロセッサが独立した主記憶を持っている
---プロセッサ毎に異なるOSで制御されている
---個々のプロセッサは、バスや通信回線を利用して結合している
--クラスター
---一種の疎結合マルチプロセッサシステムと言えるが、クラスターの場合は、複数台のコンピュータをネットワークを介して通信を行い、処理をしている。
--バススヌープ方式
---各MPUが常時主記憶の内容(トランザクショ)をチェックすることにより、コヒーレンシを維持する方式。
--ディレクトリ方式
---各MPUのキャッシュの内容を主記憶上でディレクトリとして管理する方式。
--共有メモリ
---疎結合マルチプロセッサには共有メモリを持ち、このメモリを介してデータの交換を行う構成もある。
---共有メモリの排他制御にはTS(Test&Set)命令を用いる。この命令ではメモリの読み取りと書き込みを連続して不可分に実行することができる。
-アクチュエータ
--入力されたエネルギーを物理的な運動へと変換する機構のこと。集積回路ではMEMSの一種として重要。
-温度センサ
--熱電対 : 異なる2種の金属の接合面に温度差があると熱起電力を発生するゼーベック効果を利用した温度センサ。高精度だが、精密なアンプ回路が必要。
--サーミスタ : 半導体を利用した温度センサ。
--赤外線センサ : 電磁波を利用した温度センサ。高温の測定に使われる。
--測温抵抗体 : 金属の電気抵抗を利用したセンサ。高精度。
-ロータリーエンコーダ
--インクリメンタルエンコーダ
---回転角を検知するために、スリットのON/OFFの信号の間隔を計測するシステム/回路が別途必要
---高分解度のものでは、A相及びB相の二相式とすることにより、単相式に比べ4倍の分解度を得られる。
--アブソリュートエンコーダ
---スリットを2進数表現にし、回転角を一意に表している。
-電磁波関連
--電磁波対策
---電磁波イミュニティ : 他の機器の電磁波の影響を受けず誤動作しない
---電磁妨害(EMI:Electro Magnetic Interference) : 不要な電磁波がノイズとなり、他の機器に望外を与えること
---電磁両立性(EMC:Electro Magnetic Compability) : 電磁波イミュニティと電磁妨害は相反する場合がある。この両方のバランスをとることをEMCと呼ぶ。
--規制/規格
---FCC(Federal Communications Commission) : ラジオスペクトルなど、アメリカ合衆国内で発信または着信するすべての国際通信を規定して管理を行っている。
---VCCI(Voluntary Control Council for Information Technology Equipment) : 電子機器から発生する妨害電波に関する規格、またはそれを定めた日本の業界団体。
***第2章 エンベデッドシステムのソフトウェア技術 [#oc2931cd]
-イベントドリブン
--汎用機やミニコンなどのOSのスケジューリング方式は、コンピュータの資源を効率よく活用するために作られているので、リアルタイム性が求められる用途には向いていない。リアルタイム性が求められるOSには、外部からのイベント(割り込み等)を契機としてタスクの実行状態を切り替える、イベントドリブン方式が多く使用される。
-プリエンプティブ
--外部の要因によりイベントが発生し、実行中のタスクの優先度より優先度が高いタスクが実行可能になった場合、プリエンプション(preemption:横取り)が発生し、実行中の低いタスクはMPUの実行権を横取りされ、優先度が高いタスクが実行状態になる。このような仕組みを持ったOSのことを、プリエンプティブなイベントドリブン方式のOSと呼ぶ。
-最悪実行時間(WCET,Worst Case Execution Time)
--ワーストケースでのタスクの実行時間。
-タスクスケジューリング方式
--FCFS,到着順(FIFO) : 到着順。早いもの順。優先順位は無い。
--ラウンドロビン : プロセスを到着順に実行し、一定時間内に終了しない場合は、実行待ち行列リストの最後尾につなぐ方式。優先順位は無い。
--最短時間順 : 実行待ちリストで待っているプロセスの中で、推定実行時間が最も短いものを次に選ぶ方式である
--優先度順 : 優先度ごとに複数の待ち行列を作り、優先度の高い待ち行列の先頭のタスクから優先して実行する方式。エージング処理は例外として、優先順位は固定。
--フィードバック待ち行列 : 一定時間内に処理が終了しない場合は、順次優先度を落としていく方式
--イベントドリブンプリエンプション : 省略
-エージング処理
--優先度順において、優先度が低いと待ち時間が長くなりすぎるので、優先度を引き上げる処理をする。この処理のことをエージング処理と呼ぶ。
-リアルタイムOSのタスクスケジューリング方式
--イベントドリブンプリエンプション方式が一般的であるが、ラウンドロビン方式でもタイムスライスを短くし、速く切り替えることにより、ある程度はリアルタイム性を確保できる。イベントドリブンプリエンプション方式は優先度付きの待ち行列を使うなどタスク管理が複雑なため、OSのオーバーヘッドが大きくなる。対してラウンドロビン方式は、タスクの管理がシンプルであるため、時間制約が緩いソフトリアルタイムの場合に有効である。
-タスク制御ブロック(TCB)
--OSが生成する、タスクを制御するためのデータ構造体。構造体の中には、タスクID、優先度、タスクの状態などの情報が書き込まれる。また、タスクをリスト構造で管理するために、前方/後方ポインタを持つ。
-TLB(Translation Lookaside Buffer)
--アドレス変換テーブルのバッファ。仮想記憶の仮想アドレスと実記憶の物理アドレスとの変換をアドレス変換テーブルを基に行う。それをハードウェア的に行うためにTLBを使用することにより高速化が可能である。
-ページングとスラッシング
--補助記憶装置から実記憶装置にデータを読み込むことをページイン、実記憶装置から補助記憶装置に退避させることを、ページアウトと呼ぶ。これらのページイン、ページアウトのことをページングと言う。ページングが頻繁に発生する状況のことをスラッシングと呼ぶ。
-コンパクション
--セグメント方式にてフラグメンテーションが発生した場合に、使用中のメモリをつめること。ちなみにガーベージコレクションは、使い終わったメモリブロックを自動的に開放する機能のこと。
-セマフォ
--P操作でマイナス、S操作でプラス。
-リアルタイムOSの割り込み
--リアルタイムOSの割り込みは、外部からの割り込みの処理の場合は、割り込みハンドラと割り込みタスクに分けて行うことが多い。
--割り込みハンドラは割り込み信号を受け、直接起動される部分。通常、割り込みハンドラは取り急ぎ必要な処理のみを行い、残りの処理を割り込みタスクで行う。何故なら割り込みハンドラはカーネルの制御を受けないので、リアルタイム性を考えると当然である。割り込みハンドラはシステムコールを使用して、カーネルに通知する。カーネルのタスクスケジューラにより、割り込みタスクが機動され、残りの処理を行う。
-イベントフラグ
--タスクの同期制御手段。一つのイベントフラグで、一度に複数のイベント待ちを解除できる。待ち条件をビット列で指定できる場合もあり、AND待ちとOR待ちがある。
-メールボックス
--タスク間の通信に用いる。メール受信要求を発行したタスクは、待ち状態になる場合の同期型とならない場合の非同期型の二種類がある。
-ランデブ
--メッセージの通知及び同期機能の両方を兼ね備えている。
***第3章 ネットワークとセキュリティ [#b887a158]
-ターンアラウンドタイム = 端末とホスト間の上り伝送時間+ホスト処理時間+下り伝送時間
-OSI基本参照モデル
--トランスポート層 : TCP,UDP
--ネットワーク層 : IP,ICMP,ARP
--データリンク層 : イーサネット(IEEE 802.3),トークンリング,PPP
--物理層 : イーサネット(IEEE 802.3),トークンリング,RS-232
-ATM(Asynchronous Transfer Mode,非同期転送モード)
--固定長の53バイトのセルと呼ぶ単位で伝送を行う。セルは5バイトのヘッダと48バイトのデータから構成される。
--コネクション指向であり、帯域の確保なども可能なので、イーサネットLANに比べ、信頼性やリアルタイム性に優れるモードを選択できる利点がある。
-ISDN
--Bチャネル : ユーザ情報転送用、64kbps、2チャネル
--Dチャネル : 信号情報転送用、16kbps、1チャネル
-認証プロトコル
--PAP(Password Authentication Protocol)
---PPPなどで使用されるパスワード認証プロトコル。パスワードを平文で直接ネットワークに流す。
--CHAP(Challenge Handshake Authentication Protocol)
---パスワードを直接転送せず、パスワードを元に生成した、毎回違うワンタイムパスワードを伝送する方式。
--EAP(Extensible Authentication Protocol)
---PPPなどで使用される、新しい認証プロトコル。動的な鍵の交換が可能。IEEE 802.1xで採用。
-サラミ技術
--金利計算処理などで発生する端数を、特定口座に振り込む手口。
-タッピング
--LANケーブルのジョイント部に細工をして、そこから情報を盗聴する方法。
-オブジェクト指向
--CORBA(Common Object Request Brocker Architecture) : オブジェクト指向の技術の標準化を行っているOMG(Object Management Group)が規定する、分散システム環境における、オブジェクト同士がメッセージを交換(通信)するためのフレームワークである。
--ORB(Object Request Brocker) : CORBAオブジェクト同士のメッセージ通信のための、一種のソフトウェア的な共通バス。
-情報セキュリティポリシー
--ISMS(Information Security Management System:情報セキュリティマネジメントシステム) : 企業内の情報資産に潜在するリスク項目を洗い出し、調査、分析、評価を行い、それに対する必要なセキュリティレベルを決め、プランを立て、システムを運用する。機密性、完全性、可用性を維持し、改善することがISMSでは大切である。Plan,Do,Check,AckのPDCAサイクルを継続的に繰り返す。
***第4章 エンベデッドシステムの開発と関連知識 [#eccdbba4]
-エンベデッドシステムの開発工程
--[要求定義]->[開発計画]->[外部設計]->[内部設計/ハードとソフトのトレードオフ]->[{ハード,ソフト}設計]->[{ハード,ソフト}製作]->[{ハード,ソフト}単体テスト]->[結合テスト]->[評価・保守]
---要求定義 : 要求分析工程の結果を基に、要求定義書(仕様書)を作成
---外部設計 : システムの動作、外部インタフェース、画面設計など
---内部設計 : 外部設計を基に、機能モジュールの分割、モジュール間インタフェースの設計、ハードとソフトのトレードオフなど
-コンカレント開発
--ハードウェアとソフトウェアの並行(同時)開発。
--コデザイン(協調設計) : ハードウェア/ソフトウェアの設計に着手する前に相互のインタフェース設計を行うことにより、機能分担などを早期に確認可能。内部設計で行う。
--コベリフィケーション(協調検証) : ハードウェア/ソフトウェアの両者の完成を待たずに事前に検証すること。ハードとソフトの製作工程にて行う。
-ウォッチドッグタイマ
--プログラム中で、ウォッチドッグタイマを時々リセットするようにプログラムを組む。仮に一定の時間以上リセットが行われなかった場合、異常と判断し、NMI(ノンマスカブル割り込み)によりリスタートする。
-マスククロック方式
--動作する必要のない回路に対するクロックの供給を停止する方式。
-ソフトウェア製品の品質特性(ISO/IEC9126)
--機能性(functionality) : 要求される機能と合っているか?
--信頼性(reliability) : 障害で止まらないか?障害からの回復をしやすいか?
--使用性(usability) : 使いやすいか?運用しやすいか?
--効率性(efficiency) : 資源の利用効率や時間的効率が良いか?
--保守性(maintainability) : 後の習性や回収が容易であるか?
--移植性(portability) : 別の言語、別のシステムへ書き換えやすいか?
-ソフトウェア開発モデル
--ウォータフォールモデル : 上流工程から下流工程へ一貫して一方的に開発を進めるモデル
--スパイラルモデル : 作業工程の流れをできる範囲から始めて、その範囲内でウォータフォールモデルのような、分析、設計、コード化、テストの一連の作業を繰り返しつつ、徐々にシステムを構築していくモデル
--インクリメンタルプロセスモデル : 開発全体を切り分け、作業を小さな繰り返し単位に分割し、各単位の機能を実際に動作できる状態まで作り込み、検証を行いながら開発するモデル。スパイラルモデルとの違いとして、各単位の機能の製作は並行して行うことが可能である。
--プロトタイプモデル : システムの全体や仕様の確定していない部分のプロトタイプを作成し、仕様を確認していくモデル。
-インサーキットエミュレータ
--MPUそのものをエミュレーションする、ハードウェア開発用装置。
--ソフトウェアブレークポイント : プログラム内に強制的に実行を停止するコードを挿入しておく方法で、デバッガソフトの場合に使用する。実行を停止するコードを挿入する都合上、ROM空間には設定できない。
--ハードウェアブレークポイント : インサーキットエミュレータの機能であり、ハードウェア的に実行を止めることができるため、コードをプログラム中に挿入する必要が無い。その為、ROM空間及びRAM空間に設定が可能である。
-信頼性工学
--MTBF(Mean Time Between Failure ) : 平均故障間隔。
--MTTR(Mean Time To Repair) : 平均修復時間。エラーログ取得機能により症状の把握/原因の特定が早まり、修復に要する時間を短くできる。
--故障の発生件数が偶発的であるとき、ポアソン分布に従う。
--可用性、稼働率、アベイラビリティ(availability) = MTBF/(MTBF+MTTR)
-バスタブ曲線 : 時間tをx軸に、故障率λをy軸にして描かれる故障率と時間との関係であるバスタブの形をした曲線。
--初期故障期 : 初期不良
--偶発故障期 : 偶発的な故障
--摩耗故障期 : ハードウェアの寿命
-信頼性設計
--高度信頼設計の考え方
---フォールトトレランス(障害許容) : 障害が発生してもシステム停止に至らないように設計することである。具体的にはシステムを運用中でも故障部分の修復を可能にしたり、システムのコンポーネントを冗長構成にしたりすることで、システムの信頼性を高める。
---フォールトアボイダンス(障害回避) : 信頼性の高い部品を使用したり、十分なテストを実施したりすることで、障害を回避し、信頼性の高いシステムを構築すること。
---リカバリー(障害回復) : 障害が発生した後、いち早くシステムが復旧するように設計することである。具体的には定期的にデータのバックアップを取得する方法がある。
--フォールトトレランスの実装技術
---フェールセーフ : システムの一部に故障や異常が発生した場合に、データの消失や装置の損傷、オペレータへの危害を減じるよう、常に安全側にシステムを制御することである。予備切り替え方式はフェールセーフの実現方法の一つである。
---フェールソフト : 装置の一部が故障した際、機能あるいは性能を制限した縮退状態に移行し、全面的なサービス停止を防ぐこと。故障切り離し方式。故障切り離し状態のことをフォールバックという。
---フールプルーフ : ユーザの入力に対して確認のメッセージを出力したり、決められた順序で入力をしなければ動作しないようにして、不特定多数の人が操作しても誤動作が起こりにくいように設計することである。
-待ち行列
--ケンドール記号
---到着数分布/サービス時間分布/窓口数 (待ち行列の長さの上限)~
M : ランダム~
D : 一定値~
通常、待ち行列の長さの上限は∞であり、表記は省略される。
--M/M/1モデル
---到着数の分布がポアソン分布に従う
---サービス時間の分布が指数分布に従う
---窓口の数が1個である
---待ち行列の長さに上限が無い=∞
---待ち行列の多くの場合はM/M/1モデルが採用される。このモデルでは到着したトランザクションに優先順位は無い=FCFS
-アムダールの法則
--速度向上度&texvc(S(n)=\frac{A}{B}=\frac{1}{\frac{F}{n}+(1-F)});
--A : 1プロセッサで必要な処理時間
--B : nプロセッサの場合の必要な処理時間
--n : プロセッサの個数
--F : 並列処理を行える割合
-オブジェクト思考の基礎
--クラス間の関係
---is-a関係 : サブクラス is-a スーパークラス。特化/汎化の関係。
---has-a関係 : 全体 has-a 部分。
---part-of関係 : 部分 part-of 全体。
***第5章 新傾向問題、頻出問題分析 [#h1103555]
-IDS(Inrusion Detection System)
--侵入検知システム、または不正アクセス監視システムと呼ばれる。
--ファイアウォールではWebやメールサーバなどの通信は許可している。この穴を突いた攻撃に対しての防御はファイアウォールでは難しいので、パケットの振る舞いに不正なアクセスと思われるパケットを発見した場合に、警報を出し、ログに残すのがIDS。
-メッセージダイジェスト
--特定のアルゴリズムにより元のメッセージを圧縮したような値であり、元のメッセージが1バイトでも変化すると、異なる値を取る。
-JIS X 5080
--ISO/IEC 17799(情報技術-情報セキュリティマネジメントの実線のための規範)をベースにした、日本版。代表的なセキュリティの規格に英国のBS7799があげられる。BS7799は第1部と第2部の二つの構成となっており、第1部を国際規格としたものがISO 17799である。
--ISO 10006 : プロジェクト管理における品質の指針。PMの国際標準である。なおISO 10006ベースとなったのがPMBOKである。
--PMBOK(the project management body of knowledge;ピンボック) : 米国プロジェクトマネジメント協会(PMI)が提唱する、プロジェクトマネジメントの標準的なフレームワーク(知識体系)であり、プロジェクトを統合的に管理するためのガイドラインである。
-A/Dコンバータ
--逐次比較方式 : A/D変換とD/A変換を比較結果が等しくなるまで繰り返し、出力とする。変換速度はマイクロ秒オーダ。
--並列比較方式(フラッシュ方式) : 多数の電圧比較器を並べ、同時に電圧を比較することにより高速なA/D変換が可能。分解度を上げるには精度の高い電圧比較器が多数必要なので高コスト。ビデオ信号のように高速で精度があまり求められない用途に使用される。変換速度はナノ秒オーダ。
--二重積分方式 : CR回路により積分回路を構成し、コンデンサの電気の充放電速度と印加電圧との関係を利用して変換を行う。変換速度はミリ秒オーダ。
--デルタシグマ方式 : 入力電圧を高速に2値に変換し、0/1のビットストリームとしてA/D変換する方式である。この方式は出力のディジタルフィルタの特性によって変換時間が決定される特徴がある。
-ステッピングモーター
--励磁方式~
同時に励磁しているコイル数がどのようになっているかということ。
---1相励磁方式 : 1,1,1,1,...
---2相励磁方式 : 2,2,2,2,...
---1-2相励磁方式 : 2,1,2,1,...
---トルク面では1相より2相の方が大きくなり消費電力も同じく大きくなる。
---1-2相励磁方式はパルスに対するステッピング角が1/2になる。
-モジュール結合度
--[弱]データ結合,スタンプ結合,制御結合,外部結合,共有結合,内部結合[強]
---データ結合 : データ項目だけをモジュール間の引数として渡す。
---スタンプ結合 : 構造体などのポインタを受け渡す。
---制御結合 : 制御パラメタを引数として渡し、モジュールの実行順序を制御する。
---外部結合 : 必要なデータだけを外部宣言して共有する。
---共有結合 : 共通域に定義したデータを、関係するモジュールが参照する。
---内部結合 : 他のモジュールの内部変数を直接的に参照する。
---出た、スター選手が今日いない(語呂合わせ)
-テストケース設計法
--ホワイトボックステスト : 分岐網羅
--ブラックボックステスト : 同値分析、限界値分析
---同値分析 : 同じ結果となるクラスを識別し、その中から任意の一つのデータを代表として選んでテストする
---限界値分析 : 異なるクラスの境目(限界値)を分析する
終了行:
[[前田/メモ帳]]
*資格 [#a44f71b0]
#contents
----
**テクニカルエンジニア エンベデッドシステムスペシャリスト試験 [#z18c3e94]
電波新聞社の参考書「テクニカルエンジニアエンベデッドシステム受験マニュアル」に登場する用語や、その他の参考書の勉強メモ~
***関連用語メモ [#bdfe7701]
***第1章 エンベデッドシステムのハードウェア技術 [#p52348b6]
-平均アクセス時間=ヒット率xキャッシュメモリのアクセス時間+(1-ヒット率)xメインメモリのアクセス時間
--(1-ヒット率)を非ヒット率、NFPで表すこともある
-ライトスルー方式とライトバック方式~
キャッシュメモリに書き込み(ライト)があった際に、キャッシュメモリを通過(スルー)し、メインメモリにも書き込みを行うか、後で書き戻し(バック)をするか、ということ。
--ライトスルー方式
---データを書き込むのはキャッシュメモリとメインメモリの両方なので速度が遅くなる。
---更新が行われる度にメインメモリへの参照が行われるので、大きな帯域が必要となる。
---同一記憶場所やバンクへの連続アクセスはメインメモリのサイクルタイムと同期するので遅くなる。
---キャッシュメモリとメインメモリの両方に書き込みを行うで、データの整合性(コヒーレンシ)がとれている。
--ライトバック方式
---データを書き込むのはキャッシュメモリのみなので速度が速い。
---コヒーレンシを保つための制御が難しい。
-キャッシュメモリのデータ構造
--ダイレクトマップ方式
---メインメモリをブロックに分割し、キャッシュメモリのブロックと固定的にマッピングさせる方式。特定の倍数でのメモリアクセスによって、スラッシングが発生する。
--フルアソシアティブ方式
---メインメモリのブロックとキャッシュメモリのブロックとのマッピングが自由な方式。タグの全比較を行うため、遅くなる。もしくは連想メモリを必要とするため、回路規模が大きくなる。
--セットアソシアティブ方式
---ダイレクトマップ方式とセットアソシアティブ方式の折半案。メインメモリとキャッシュメモリをセットに分割し、セット間は固定的なマッピングであるが、セット内のブロックでは自由なマッピングが可能な方式。
-MPUのウェイト機能/レディ機能
--MPUがアクセス時間の遅いメモリや周辺機器へアクセスする
-複数の割り込みコントローラの接続方式
--カスケード接続
---下位の割り込みコントローラが上位の割り込みコントローラの割り込み入力端子に接続されている
--デイジーチェーン接続
---割り込み信号線が共通
---割り込み許可を受けたコントローラ以外の割り込みは禁止にする
-割り込みの種類とマスク
--外部割り込み
---マスク不可能な割り込みのことをノンマスカブル割り込み(NMI)と言う。
---NMIの例として、電源の異常やウォッチドックタイマなど、緊急度の高い処理に適用
---マスク可能な割り込みの例としては、外部機器からの割り込みなどである。
--内部割り込み
---プログラム中で0除算が発生
---演算結果のオーバーフロー
---未定義の命令のコール
---SVC命令
--DMAはマイコンの構成によって内部割り込みなのか、外部割り込みなのかが変わる。
-DMA
--転送モード
---シングル転送モード(バイト転送モード) : 1バイトごと転送し、転送毎にバスの占有権をMPUに返却する方式。転送効率は良くないがリアルタイム性を損ねることはない。
---連続転送モード(ブロック転送モード) : 指定したブロックを一気に転送する。その為、大量のデータを転送した場合、長時間に渡りMPUの動作を中断することになるので、リアルタイム性を損ねるシステムには向かない。
---デマンド転送モード(バースト転送) : 指定したブロックを連続して転送するが、必要に応じてMPUに占有権を返却し、DMA転送を一時中断することが可能である。
--注意点
---MPUにキャッシュが搭載されている場合、DMA転送によってコヒーレンシが失われてしまうので、キャッシュメモリの内容を書き換える必要がある。
---仮想記憶を用いている場合、転送データのサイズが仮想記憶のページのサイズを越してしまうと、誤ったエリアに書き込まれる可能性がある。
-プログラムI/O方式(PIO転送)
--DMACなどの特別なハードウェアが不要で、プログラムでMPUのレジスタを経由して、データ転送を行う。
-セントロニクス
--8ビットパラレル転送
--ストローブ : データ出力及び印字のタイミング用信号
--アクノリッジ信号 : データの受信完了信号
-マルチプロセッサ
--密結合マルチプロセッサシステム
---複数のプロセッサを同じ主記憶を共有している
---同じ1つのOSでプロセッサが制御される
---プロセッサの数が増えると処理能力は向上するが主記憶を共有している都合上、資源の競合の対策として排他処理などが必要になるので、オーバーヘッドが大きくなる。なので通常は2個のプロセッサで構成するのが一般的である。2個のプロセッサで構成したシステムをSMP(Symmetric Multi Processing)と呼ぶ。
--疎結合マルチプロセッサシステム
---複数のプロセッサが独立した主記憶を持っている
---プロセッサ毎に異なるOSで制御されている
---個々のプロセッサは、バスや通信回線を利用して結合している
--クラスター
---一種の疎結合マルチプロセッサシステムと言えるが、クラスターの場合は、複数台のコンピュータをネットワークを介して通信を行い、処理をしている。
--バススヌープ方式
---各MPUが常時主記憶の内容(トランザクショ)をチェックすることにより、コヒーレンシを維持する方式。
--ディレクトリ方式
---各MPUのキャッシュの内容を主記憶上でディレクトリとして管理する方式。
--共有メモリ
---疎結合マルチプロセッサには共有メモリを持ち、このメモリを介してデータの交換を行う構成もある。
---共有メモリの排他制御にはTS(Test&Set)命令を用いる。この命令ではメモリの読み取りと書き込みを連続して不可分に実行することができる。
-アクチュエータ
--入力されたエネルギーを物理的な運動へと変換する機構のこと。集積回路ではMEMSの一種として重要。
-温度センサ
--熱電対 : 異なる2種の金属の接合面に温度差があると熱起電力を発生するゼーベック効果を利用した温度センサ。高精度だが、精密なアンプ回路が必要。
--サーミスタ : 半導体を利用した温度センサ。
--赤外線センサ : 電磁波を利用した温度センサ。高温の測定に使われる。
--測温抵抗体 : 金属の電気抵抗を利用したセンサ。高精度。
-ロータリーエンコーダ
--インクリメンタルエンコーダ
---回転角を検知するために、スリットのON/OFFの信号の間隔を計測するシステム/回路が別途必要
---高分解度のものでは、A相及びB相の二相式とすることにより、単相式に比べ4倍の分解度を得られる。
--アブソリュートエンコーダ
---スリットを2進数表現にし、回転角を一意に表している。
-電磁波関連
--電磁波対策
---電磁波イミュニティ : 他の機器の電磁波の影響を受けず誤動作しない
---電磁妨害(EMI:Electro Magnetic Interference) : 不要な電磁波がノイズとなり、他の機器に望外を与えること
---電磁両立性(EMC:Electro Magnetic Compability) : 電磁波イミュニティと電磁妨害は相反する場合がある。この両方のバランスをとることをEMCと呼ぶ。
--規制/規格
---FCC(Federal Communications Commission) : ラジオスペクトルなど、アメリカ合衆国内で発信または着信するすべての国際通信を規定して管理を行っている。
---VCCI(Voluntary Control Council for Information Technology Equipment) : 電子機器から発生する妨害電波に関する規格、またはそれを定めた日本の業界団体。
***第2章 エンベデッドシステムのソフトウェア技術 [#oc2931cd]
-イベントドリブン
--汎用機やミニコンなどのOSのスケジューリング方式は、コンピュータの資源を効率よく活用するために作られているので、リアルタイム性が求められる用途には向いていない。リアルタイム性が求められるOSには、外部からのイベント(割り込み等)を契機としてタスクの実行状態を切り替える、イベントドリブン方式が多く使用される。
-プリエンプティブ
--外部の要因によりイベントが発生し、実行中のタスクの優先度より優先度が高いタスクが実行可能になった場合、プリエンプション(preemption:横取り)が発生し、実行中の低いタスクはMPUの実行権を横取りされ、優先度が高いタスクが実行状態になる。このような仕組みを持ったOSのことを、プリエンプティブなイベントドリブン方式のOSと呼ぶ。
-最悪実行時間(WCET,Worst Case Execution Time)
--ワーストケースでのタスクの実行時間。
-タスクスケジューリング方式
--FCFS,到着順(FIFO) : 到着順。早いもの順。優先順位は無い。
--ラウンドロビン : プロセスを到着順に実行し、一定時間内に終了しない場合は、実行待ち行列リストの最後尾につなぐ方式。優先順位は無い。
--最短時間順 : 実行待ちリストで待っているプロセスの中で、推定実行時間が最も短いものを次に選ぶ方式である
--優先度順 : 優先度ごとに複数の待ち行列を作り、優先度の高い待ち行列の先頭のタスクから優先して実行する方式。エージング処理は例外として、優先順位は固定。
--フィードバック待ち行列 : 一定時間内に処理が終了しない場合は、順次優先度を落としていく方式
--イベントドリブンプリエンプション : 省略
-エージング処理
--優先度順において、優先度が低いと待ち時間が長くなりすぎるので、優先度を引き上げる処理をする。この処理のことをエージング処理と呼ぶ。
-リアルタイムOSのタスクスケジューリング方式
--イベントドリブンプリエンプション方式が一般的であるが、ラウンドロビン方式でもタイムスライスを短くし、速く切り替えることにより、ある程度はリアルタイム性を確保できる。イベントドリブンプリエンプション方式は優先度付きの待ち行列を使うなどタスク管理が複雑なため、OSのオーバーヘッドが大きくなる。対してラウンドロビン方式は、タスクの管理がシンプルであるため、時間制約が緩いソフトリアルタイムの場合に有効である。
-タスク制御ブロック(TCB)
--OSが生成する、タスクを制御するためのデータ構造体。構造体の中には、タスクID、優先度、タスクの状態などの情報が書き込まれる。また、タスクをリスト構造で管理するために、前方/後方ポインタを持つ。
-TLB(Translation Lookaside Buffer)
--アドレス変換テーブルのバッファ。仮想記憶の仮想アドレスと実記憶の物理アドレスとの変換をアドレス変換テーブルを基に行う。それをハードウェア的に行うためにTLBを使用することにより高速化が可能である。
-ページングとスラッシング
--補助記憶装置から実記憶装置にデータを読み込むことをページイン、実記憶装置から補助記憶装置に退避させることを、ページアウトと呼ぶ。これらのページイン、ページアウトのことをページングと言う。ページングが頻繁に発生する状況のことをスラッシングと呼ぶ。
-コンパクション
--セグメント方式にてフラグメンテーションが発生した場合に、使用中のメモリをつめること。ちなみにガーベージコレクションは、使い終わったメモリブロックを自動的に開放する機能のこと。
-セマフォ
--P操作でマイナス、S操作でプラス。
-リアルタイムOSの割り込み
--リアルタイムOSの割り込みは、外部からの割り込みの処理の場合は、割り込みハンドラと割り込みタスクに分けて行うことが多い。
--割り込みハンドラは割り込み信号を受け、直接起動される部分。通常、割り込みハンドラは取り急ぎ必要な処理のみを行い、残りの処理を割り込みタスクで行う。何故なら割り込みハンドラはカーネルの制御を受けないので、リアルタイム性を考えると当然である。割り込みハンドラはシステムコールを使用して、カーネルに通知する。カーネルのタスクスケジューラにより、割り込みタスクが機動され、残りの処理を行う。
-イベントフラグ
--タスクの同期制御手段。一つのイベントフラグで、一度に複数のイベント待ちを解除できる。待ち条件をビット列で指定できる場合もあり、AND待ちとOR待ちがある。
-メールボックス
--タスク間の通信に用いる。メール受信要求を発行したタスクは、待ち状態になる場合の同期型とならない場合の非同期型の二種類がある。
-ランデブ
--メッセージの通知及び同期機能の両方を兼ね備えている。
***第3章 ネットワークとセキュリティ [#b887a158]
-ターンアラウンドタイム = 端末とホスト間の上り伝送時間+ホスト処理時間+下り伝送時間
-OSI基本参照モデル
--トランスポート層 : TCP,UDP
--ネットワーク層 : IP,ICMP,ARP
--データリンク層 : イーサネット(IEEE 802.3),トークンリング,PPP
--物理層 : イーサネット(IEEE 802.3),トークンリング,RS-232
-ATM(Asynchronous Transfer Mode,非同期転送モード)
--固定長の53バイトのセルと呼ぶ単位で伝送を行う。セルは5バイトのヘッダと48バイトのデータから構成される。
--コネクション指向であり、帯域の確保なども可能なので、イーサネットLANに比べ、信頼性やリアルタイム性に優れるモードを選択できる利点がある。
-ISDN
--Bチャネル : ユーザ情報転送用、64kbps、2チャネル
--Dチャネル : 信号情報転送用、16kbps、1チャネル
-認証プロトコル
--PAP(Password Authentication Protocol)
---PPPなどで使用されるパスワード認証プロトコル。パスワードを平文で直接ネットワークに流す。
--CHAP(Challenge Handshake Authentication Protocol)
---パスワードを直接転送せず、パスワードを元に生成した、毎回違うワンタイムパスワードを伝送する方式。
--EAP(Extensible Authentication Protocol)
---PPPなどで使用される、新しい認証プロトコル。動的な鍵の交換が可能。IEEE 802.1xで採用。
-サラミ技術
--金利計算処理などで発生する端数を、特定口座に振り込む手口。
-タッピング
--LANケーブルのジョイント部に細工をして、そこから情報を盗聴する方法。
-オブジェクト指向
--CORBA(Common Object Request Brocker Architecture) : オブジェクト指向の技術の標準化を行っているOMG(Object Management Group)が規定する、分散システム環境における、オブジェクト同士がメッセージを交換(通信)するためのフレームワークである。
--ORB(Object Request Brocker) : CORBAオブジェクト同士のメッセージ通信のための、一種のソフトウェア的な共通バス。
-情報セキュリティポリシー
--ISMS(Information Security Management System:情報セキュリティマネジメントシステム) : 企業内の情報資産に潜在するリスク項目を洗い出し、調査、分析、評価を行い、それに対する必要なセキュリティレベルを決め、プランを立て、システムを運用する。機密性、完全性、可用性を維持し、改善することがISMSでは大切である。Plan,Do,Check,AckのPDCAサイクルを継続的に繰り返す。
***第4章 エンベデッドシステムの開発と関連知識 [#eccdbba4]
-エンベデッドシステムの開発工程
--[要求定義]->[開発計画]->[外部設計]->[内部設計/ハードとソフトのトレードオフ]->[{ハード,ソフト}設計]->[{ハード,ソフト}製作]->[{ハード,ソフト}単体テスト]->[結合テスト]->[評価・保守]
---要求定義 : 要求分析工程の結果を基に、要求定義書(仕様書)を作成
---外部設計 : システムの動作、外部インタフェース、画面設計など
---内部設計 : 外部設計を基に、機能モジュールの分割、モジュール間インタフェースの設計、ハードとソフトのトレードオフなど
-コンカレント開発
--ハードウェアとソフトウェアの並行(同時)開発。
--コデザイン(協調設計) : ハードウェア/ソフトウェアの設計に着手する前に相互のインタフェース設計を行うことにより、機能分担などを早期に確認可能。内部設計で行う。
--コベリフィケーション(協調検証) : ハードウェア/ソフトウェアの両者の完成を待たずに事前に検証すること。ハードとソフトの製作工程にて行う。
-ウォッチドッグタイマ
--プログラム中で、ウォッチドッグタイマを時々リセットするようにプログラムを組む。仮に一定の時間以上リセットが行われなかった場合、異常と判断し、NMI(ノンマスカブル割り込み)によりリスタートする。
-マスククロック方式
--動作する必要のない回路に対するクロックの供給を停止する方式。
-ソフトウェア製品の品質特性(ISO/IEC9126)
--機能性(functionality) : 要求される機能と合っているか?
--信頼性(reliability) : 障害で止まらないか?障害からの回復をしやすいか?
--使用性(usability) : 使いやすいか?運用しやすいか?
--効率性(efficiency) : 資源の利用効率や時間的効率が良いか?
--保守性(maintainability) : 後の習性や回収が容易であるか?
--移植性(portability) : 別の言語、別のシステムへ書き換えやすいか?
-ソフトウェア開発モデル
--ウォータフォールモデル : 上流工程から下流工程へ一貫して一方的に開発を進めるモデル
--スパイラルモデル : 作業工程の流れをできる範囲から始めて、その範囲内でウォータフォールモデルのような、分析、設計、コード化、テストの一連の作業を繰り返しつつ、徐々にシステムを構築していくモデル
--インクリメンタルプロセスモデル : 開発全体を切り分け、作業を小さな繰り返し単位に分割し、各単位の機能を実際に動作できる状態まで作り込み、検証を行いながら開発するモデル。スパイラルモデルとの違いとして、各単位の機能の製作は並行して行うことが可能である。
--プロトタイプモデル : システムの全体や仕様の確定していない部分のプロトタイプを作成し、仕様を確認していくモデル。
-インサーキットエミュレータ
--MPUそのものをエミュレーションする、ハードウェア開発用装置。
--ソフトウェアブレークポイント : プログラム内に強制的に実行を停止するコードを挿入しておく方法で、デバッガソフトの場合に使用する。実行を停止するコードを挿入する都合上、ROM空間には設定できない。
--ハードウェアブレークポイント : インサーキットエミュレータの機能であり、ハードウェア的に実行を止めることができるため、コードをプログラム中に挿入する必要が無い。その為、ROM空間及びRAM空間に設定が可能である。
-信頼性工学
--MTBF(Mean Time Between Failure ) : 平均故障間隔。
--MTTR(Mean Time To Repair) : 平均修復時間。エラーログ取得機能により症状の把握/原因の特定が早まり、修復に要する時間を短くできる。
--故障の発生件数が偶発的であるとき、ポアソン分布に従う。
--可用性、稼働率、アベイラビリティ(availability) = MTBF/(MTBF+MTTR)
-バスタブ曲線 : 時間tをx軸に、故障率λをy軸にして描かれる故障率と時間との関係であるバスタブの形をした曲線。
--初期故障期 : 初期不良
--偶発故障期 : 偶発的な故障
--摩耗故障期 : ハードウェアの寿命
-信頼性設計
--高度信頼設計の考え方
---フォールトトレランス(障害許容) : 障害が発生してもシステム停止に至らないように設計することである。具体的にはシステムを運用中でも故障部分の修復を可能にしたり、システムのコンポーネントを冗長構成にしたりすることで、システムの信頼性を高める。
---フォールトアボイダンス(障害回避) : 信頼性の高い部品を使用したり、十分なテストを実施したりすることで、障害を回避し、信頼性の高いシステムを構築すること。
---リカバリー(障害回復) : 障害が発生した後、いち早くシステムが復旧するように設計することである。具体的には定期的にデータのバックアップを取得する方法がある。
--フォールトトレランスの実装技術
---フェールセーフ : システムの一部に故障や異常が発生した場合に、データの消失や装置の損傷、オペレータへの危害を減じるよう、常に安全側にシステムを制御することである。予備切り替え方式はフェールセーフの実現方法の一つである。
---フェールソフト : 装置の一部が故障した際、機能あるいは性能を制限した縮退状態に移行し、全面的なサービス停止を防ぐこと。故障切り離し方式。故障切り離し状態のことをフォールバックという。
---フールプルーフ : ユーザの入力に対して確認のメッセージを出力したり、決められた順序で入力をしなければ動作しないようにして、不特定多数の人が操作しても誤動作が起こりにくいように設計することである。
-待ち行列
--ケンドール記号
---到着数分布/サービス時間分布/窓口数 (待ち行列の長さの上限)~
M : ランダム~
D : 一定値~
通常、待ち行列の長さの上限は∞であり、表記は省略される。
--M/M/1モデル
---到着数の分布がポアソン分布に従う
---サービス時間の分布が指数分布に従う
---窓口の数が1個である
---待ち行列の長さに上限が無い=∞
---待ち行列の多くの場合はM/M/1モデルが採用される。このモデルでは到着したトランザクションに優先順位は無い=FCFS
-アムダールの法則
--速度向上度&texvc(S(n)=\frac{A}{B}=\frac{1}{\frac{F}{n}+(1-F)});
--A : 1プロセッサで必要な処理時間
--B : nプロセッサの場合の必要な処理時間
--n : プロセッサの個数
--F : 並列処理を行える割合
-オブジェクト思考の基礎
--クラス間の関係
---is-a関係 : サブクラス is-a スーパークラス。特化/汎化の関係。
---has-a関係 : 全体 has-a 部分。
---part-of関係 : 部分 part-of 全体。
***第5章 新傾向問題、頻出問題分析 [#h1103555]
-IDS(Inrusion Detection System)
--侵入検知システム、または不正アクセス監視システムと呼ばれる。
--ファイアウォールではWebやメールサーバなどの通信は許可している。この穴を突いた攻撃に対しての防御はファイアウォールでは難しいので、パケットの振る舞いに不正なアクセスと思われるパケットを発見した場合に、警報を出し、ログに残すのがIDS。
-メッセージダイジェスト
--特定のアルゴリズムにより元のメッセージを圧縮したような値であり、元のメッセージが1バイトでも変化すると、異なる値を取る。
-JIS X 5080
--ISO/IEC 17799(情報技術-情報セキュリティマネジメントの実線のための規範)をベースにした、日本版。代表的なセキュリティの規格に英国のBS7799があげられる。BS7799は第1部と第2部の二つの構成となっており、第1部を国際規格としたものがISO 17799である。
--ISO 10006 : プロジェクト管理における品質の指針。PMの国際標準である。なおISO 10006ベースとなったのがPMBOKである。
--PMBOK(the project management body of knowledge;ピンボック) : 米国プロジェクトマネジメント協会(PMI)が提唱する、プロジェクトマネジメントの標準的なフレームワーク(知識体系)であり、プロジェクトを統合的に管理するためのガイドラインである。
-A/Dコンバータ
--逐次比較方式 : A/D変換とD/A変換を比較結果が等しくなるまで繰り返し、出力とする。変換速度はマイクロ秒オーダ。
--並列比較方式(フラッシュ方式) : 多数の電圧比較器を並べ、同時に電圧を比較することにより高速なA/D変換が可能。分解度を上げるには精度の高い電圧比較器が多数必要なので高コスト。ビデオ信号のように高速で精度があまり求められない用途に使用される。変換速度はナノ秒オーダ。
--二重積分方式 : CR回路により積分回路を構成し、コンデンサの電気の充放電速度と印加電圧との関係を利用して変換を行う。変換速度はミリ秒オーダ。
--デルタシグマ方式 : 入力電圧を高速に2値に変換し、0/1のビットストリームとしてA/D変換する方式である。この方式は出力のディジタルフィルタの特性によって変換時間が決定される特徴がある。
-ステッピングモーター
--励磁方式~
同時に励磁しているコイル数がどのようになっているかということ。
---1相励磁方式 : 1,1,1,1,...
---2相励磁方式 : 2,2,2,2,...
---1-2相励磁方式 : 2,1,2,1,...
---トルク面では1相より2相の方が大きくなり消費電力も同じく大きくなる。
---1-2相励磁方式はパルスに対するステッピング角が1/2になる。
-モジュール結合度
--[弱]データ結合,スタンプ結合,制御結合,外部結合,共有結合,内部結合[強]
---データ結合 : データ項目だけをモジュール間の引数として渡す。
---スタンプ結合 : 構造体などのポインタを受け渡す。
---制御結合 : 制御パラメタを引数として渡し、モジュールの実行順序を制御する。
---外部結合 : 必要なデータだけを外部宣言して共有する。
---共有結合 : 共通域に定義したデータを、関係するモジュールが参照する。
---内部結合 : 他のモジュールの内部変数を直接的に参照する。
---出た、スター選手が今日いない(語呂合わせ)
-テストケース設計法
--ホワイトボックステスト : 分岐網羅
--ブラックボックステスト : 同値分析、限界値分析
---同値分析 : 同じ結果となるクラスを識別し、その中から任意の一つのデータを代表として選んでテストする
---限界値分析 : 異なるクラスの境目(限界値)を分析する
ページ名: