第3回 CPUの管理と例外処理 OSによるハードウェアの管理 CPUの構成、動作 CPUの管理 例外処理、割り込み処理 コンテキストスイッチ

Slides:



Advertisements
Similar presentations
CPU設計と パイプライン.
Advertisements

第3回 並列計算機のアーキテクチャと 並列処理の実際
第2回 プロセス管理 ジョブ、プロセスとは? プロセスの状態遷移 プロセス制御ブロック スケジューリング.
オペレーティングシステム 第3回 プロセスの管理とスケジューリング
計算機システム概論・3回目 本日のトピック:割込みと入出力制御について 割込み制御について 問題点の明確化 割込みとは
入 出 力 管 理 オペレーティングシステム 6/26/09.
コンパイラ 2011年11月14日
計算機システムⅡ 主記憶装置とALU,レジスタの制御
坂井 修一 東京大学 大学院 情報理工学系研究科 電子情報学専攻 東京大学 工学部 電気工学科
システムプログラミング 第11回 シグナル 情報工学科  篠埜 功.
オペレーティングシステム (OSの機能と構造)
オリジナルなCPUの開発 指導教授:笠原 宏 05IE063 戸塚 雄太 05IE074 橋本 将平 05IE089 牧野 政道
App. A アセンブラ、リンカ、 SPIMシミュレータ
2006年度 計算機システム演習 第4回 2005年5月19日.
Ibaraki Univ. Dept of Electrical & Electronic Eng.
担当:青木義満、篠埜 功 情報工学科 3年生対象 専門科目 システムプログラミング 第8回、第9回 シグナル処理 担当:青木義満、篠埜 功
オペレーティングシステム (割り込み処理)
Linuxカーネルについて 2014/01.
Ibaraki Univ. Dept of Electrical & Electronic Eng.
第5回 CPUの役割と仕組み3 割り込み、パイプライン、並列処理
割 込 み(1) オペレーティングシステム No.5.
オペレーティングシステム i386アーキテクチャ(2)
割り込み.
割り込み.
システムプログラミング 第11回 シグナル 情報工学科  篠埜 功.
ネストした仮想化を用いた VMの安全な帯域外リモート管理
シグナル通信 普通の割込みとソフトウェア割込み ソフトウェア割込みとシグナル キーボードからのシグナル 例外 (exception)
デバイスからの異常注入が指定可能なCPUエミュレータ
計算機システムⅡ 入出力と周辺装置 和田俊和.
第7回 2006/6/12.
計算機入門I ハードウェア(1) 計算機のハードウェア構成 ~計算機のハードウェアとは何か~
第8回入出力制御 デバイスコントローラ ポーリングと割込み 入出力の方式 PIO DMA 入出力のためのソフトウェア技法.
システムソフトウェア講義の概要 計算機システムの復習:中央演算処理装置(CPU),プログラムの実行,主記憶装置,補助記憶装置
・ディジタル回路とクロック ・プロセッサアーキテクチャ ・例外処理 ・パイプライン ・ハザード
第6回 メモリの種類と特徴 主記憶装置、ROM、RAM
システムソフトウェア講義の概要 計算機システムの復習:中央演算処理装置(CPU),プログラムの実行,主記憶装置,補助記憶装置
コンピュータ系実験Ⅲ 「ワンチップマイコンの応用」 第3週目
オペレーティングシステム 第15回 割込みと入出力の制御
コンピュータ系実験Ⅲ 「ワンチップマイコンの応用」 第1週目 アセンブリ言語講座
オペレーティングシステム イントロダクション
オペレーティングシステム 第3回 プロセスの管理とスケジューリング
第7回 授業計画の修正 中間テストの解説・復習 前回の補足(クロックアルゴリズム・PFF) 仮想記憶方式のまとめ 特別課題について
コンピュータの基本構成について 1E16M001-1 秋田梨紗 1E16M010-2 梅山桃香 1E16M013-3 大津智紗子
オペレーティングシステム 第2回 割り込みとOSの構成
ディジタル回路の設計と CADによるシステム設計
担当:青木義満 情報工学科 3年生対象 専門科目 システムプログラミング 第6回 システムプログラミング概要 プロセスの生成 担当:青木義満
情報処理 タイマの基礎 R8C タイマの基礎.
Ibaraki Univ. Dept of Electrical & Electronic Eng.
オペレーティングシステムJ/K 2004年11月15日2時限目
組込みシステムとは コンピュータ制御システム?
第5回 メモリ管理(2) オーバレイ方式 論理アドレスとプログラムの再配置 静的再配置と動的再配置 仮想記憶とメモリ階層 セグメンテーション
坂井 修一 東京大学 大学院 情報理工学系研究科 電子情報学専攻 東京大学 工学部 電気工学科
明星大学 情報学科 2012年度前期     情報技術Ⅰ   第1回
オペレーティングシステム (OSの機能と構造)
オペレーティングシステム (プロセススケジューリング)
コンピュータアーキテクチャ 第 9 回.
コンピュータアーキテクチャ 第 4 回.
計算機アーキテクチャ1 (計算機構成論(再)) 第一回 計算機の歴史、基本構成、動作原理
実装について 前田俊行.
コンピュータアーキテクチャ 第 5 回.
システムソフトウェア講義の概要 計算機システムの復習:中央演算処理装置(CPU),プログラムの実行,主記憶装置,補助記憶装置
計算機アーキテクチャ1 (計算機構成論(再)) 第二回 命令の種類と形式
コンピュータアーキテクチャ 第 4 回.
第4回 CPUの役割と仕組み2 命令の解析と実行、クロック、レジスタ
コンピュータアーキテクチャ 第 9 回.
コンピュータアーキテクチャ 第 5 回.
オペレーティングシステム (プロセススケジューリング)
システムプログラミング 第11回 シグナル 情報工学科  篠埜 功.
Ibaraki Univ. Dept of Electrical & Electronic Eng.
明星大学 情報学科 2014年度前期     情報技術Ⅰ   第1回
Presentation transcript:

第3回 CPUの管理と例外処理 OSによるハードウェアの管理 CPUの構成、動作 CPUの管理 例外処理、割り込み処理 コンテキストスイッチ システムの起動と終了

OSによるハードウェア管理 管理対象 ハードウェア環境の把握 ハードウェアの制御 計算資源(メインプロセッサ(CPU)、メモリ、入出力装置など) ハードウェア環境の把握 システム起動時(ブート時)のハードウェアの設定 故障デバイスの検出 ハードウェアの制御 アドレスマッピングによるデバイス制御 割り込み装置

CPUの管理とは? CPUの状態を管理(実行管理の一部) プロセス制御(コンテキストスイッチ:プロセスの切り替え)の実装で使用される 例外処理 割り込み処理

(非パイプライン)CPUの構成例 address bus data bus RDR R1 PC R2 MAR R3 ALU CCR WDR IR 命令制御装置 主記憶装置

CPUの構成 ALU…算術演算装置 PC …プログラムカウンタ MAR … Memory Address Register. アドレスを 指定する RDR … Read Data Register WDR … Write Data Register IR … Instruction Register. 命令(Instruction: Operation Code)を入れる CCR … Condition Code Register. 条件コードレ ジスタ。分岐命令などに使用

CPUの管理 プロセッサには動作レベルがある 特権モード 非特権モード 割り込み可 割り込み禁止 PSW (Processor Status Word)を通してプロセッサの状態を把握し、管理・制御する 割り込み制御 条件コード PSWを構成するものの例 CCR PC  etc.

CPU動作レベルの例 CPUの動作レベル 動作モード 説明 1 2 3 4 5 6 特権モード、割り込み禁止 不測の事態に対応するレベル 特権モード、割り込み禁止 不測の事態に対応するレベル 1 OSの重要処理レベル 2 特権モード、割り込み可 OSレベル、入出力処理 3 OSレベル、通常レベル 4 非特権モード、割り込み禁止 ユーザ・レベル、特殊なケース 5 非特権モード、割り込み可 一般ユーザ・レベル 6 非動作状態 アイドル状態

例外処理 実行中に異常が発生した場合(ゼロ除算など)に、異常に対処する機構 ゼロ除算例外、ページ例外など 通常、CPUは例外を感知すると、OSによって事前に登録された例外処理ルーチン(例外処理プログラム)に制御を移す

割込み処理 そもそもは、入出力デバイスの制御のために必要となった cf.) ポーリング(polling) 割込み信号を受け取ると、実行中のプロセス(プログラム)を一旦中断して、割り込みベクタの示す割り込み処理ルーチンに制御を移し、その後再び中断したプロセスを再開する動作・仕組み 割込み信号 … 各デバイスの状態の変化を CPUに通知 する信号 割込みベクタ … 割込みハンドラの開始アドレスが書か れているアドレス 割込み処理ルーチン(割込みハンドラ) …  割込みがかかった時に行わせる処理が書かれたプログラム 割込みは、特権モードで実行される

割込みの種類 内部割込み … プログラム実行の結果発生 する割込み 外部割込み … プログラム実行とは別に発 生する割込み 内部割込み … プログラム実行の結果発生 する割込み プログラム割込み:プログラム実行中のエラー ゼロ除算、オーバフロー、メモリアクセス保護違反 SVC割込み:システムコールによる特権モード移行 外部割込み … プログラム実行とは別に発 生する割込み 入出力割込み タイマー割込み 接続されたデバイスからの障害などによる割込み

割込み処理の大まかな流れ 割込み信号(シグナル)を受け取る 現在実行中のプロセスのPSWを退避する 動作モードを特権モードにする 割込みベクタに示されたアドレスに飛ぶ 割込み処理ルーチンを実行する 動作モードを非特権モードに戻す 退避させたPSWを回復する 中断したプロセスを再開する

システムコールを例とした割込み 非特権モード 特権モード ユーザプログラム 関数からの復帰 syscall(x,y) ライブラリ パラメータ、システムコール番号の設定など 戻り値の設定など  SVC命令の実行  割込みの発生 ユーザプログラム の復帰 システムコールのサブルーチン 特権モード 割り込み処理  割込みの分析  パラメータ取得 割り込みハンドラ システムコールを処理するサブルーチンの選択

割り込みレベル・割込みベクタ・ 割込みハンドラー 割込みレベル 割込みには、種類を識別するための番号が定義(割込みレベル) 割込みレベルで、処理の緊急度を示す 割込み中の他の割込み処理の対応 割り込み禁止にセット より高いレベルの割込みを許可(多重レベル割込み) 割込みベクタ 割込みの種類・レベルごとに用意されている 割込みベクタにセットされた番地へ飛ぶ 割込みハンドラー 割込み処理の内容が記述されたルーチン(プログラム) 割込みベクタに種類に応じて予め登録される

コンテキストスイッチ プロセスの切り替えをコンテキストスイッチという コンテキストスイッチも割込み機構が使用されている タイマー割込み コンテキストスイッチが起こる場合 プロセスが終了した 時分割処理において規定の時間(定時間:quantum time)が経過 優先して実行すべきプロセスが変わった(横取り) 入出力の完了待ち(待ち状態)になった

コンテキストスイッチの流れ プロセスA プロセスB タイマー割込み または SVC割込み PSW(レジスタ)退避 PSW(レジスタ)復元 遊休状態 タイマー割込み または SVC割込み PSW(レジスタ)退避 PSW(レジスタ)復元 タイマー割込み または SVC割込み PSW(レジスタ)退避 PSW(レジスタ)復元

システムの起動(boot)の流れ 接続デバイスのチェック、初期化 初期プログラムIPL (Initial Program Loader) 電源投入 初期チェック 接続デバイスのチェック、初期化 ブートストラップ 初期プログラムIPL (Initial Program Loader) IPL OS コマンドインタープリタ

ブートストラップ IPLをHDDなどからメモリに書き出す 入力装置(HDD)のハードウェアの状況確認 CPUがもっているカウンタをセット(書き込むバイト数) 指定されたデバイスから1バイト読み込む 読み取ったデータデータをMARが指すメモリ番地に書き込む メモリアドレスレジスタの値を1増やす カウンタを1減らす カウンタの値が0になるまで、3-6を繰り返す 0になったら、PCを書き込み始めたメモリ番地に設定してそこからプログラム(IPL)を開始する

システムの終了(shutdown) 新しいプロセスの生成の停止 実行中のプロセスの停止と停止の確認 システムの統計情報、システムプログラムのファイルのクローズ システム自体の停止 ファイルシステムのマウントの解除 各デバイスの終了処理