Ibaraki Univ. Dept of Electrical & Electronic Eng.

Slides:



Advertisements
Similar presentations
計算機システムⅡ 命令レベル並列処理とアウトオブオーダ処理
Advertisements

第3回 並列計算機のアーキテクチャと 並列処理の実際
第2回 プロセス管理 ジョブ、プロセスとは? プロセスの状態遷移 プロセス制御ブロック スケジューリング.
Ibaraki Univ. Dept of Electrical & Electronic Eng.
オペレーティングシステム 第3回 プロセスの管理とスケジューリング
システムソフトウェア講義の概要 計算機システムの復習:中央演算処理装置(CPU),プログラムの実行,主記憶装置,補助記憶装置
Ibaraki Univ. Dept of Electrical & Electronic Eng.
榮樂 英樹 LilyVM と仮想化技術 榮樂 英樹
計算機システムⅡ 主記憶装置とALU,レジスタの制御
Ibaraki Univ. Dept of Electrical & Electronic Eng.
Ibaraki Univ. Dept of Electrical & Electronic Eng.
オペレーティングシステムJ/K 2004年10月7日
計算機システム概論・2回目 本日のトピック:プロセスについて プロセスとは プロセスのスケジューリングについて 多重プロセスの問題 排他制御
計算機システム ハードウェア編(第3回) ~ ノイマン型コンピュータ ~.
Ibaraki Univ. Dept of Electrical & Electronic Eng.
Ibaraki Univ. Dept of Electrical & Electronic Eng.
プログラムはなぜ動くのか.
高性能コンピューティング論2 第1回 ガイダンス
第3回 CPUの管理と例外処理 OSによるハードウェアの管理 CPUの構成、動作 CPUの管理 例外処理、割り込み処理 コンテキストスイッチ
オペレーティングシステム (割り込み処理)
Linuxカーネルについて 2014/01.
Ibaraki Univ. Dept of Electrical & Electronic Eng.
第5回 CPUの役割と仕組み3 割り込み、パイプライン、並列処理
割 込 み(1) オペレーティングシステム No.5.
オペレーティングシステム i386アーキテクチャ(2)
2016年度 プログラミングⅠ ~ 内部構造と動作の仕組み(1) ~.
Ibaraki Univ. Dept of Electrical & Electronic Eng.
CONCURRENT PROGRAMMING
情報コミュニケーション入門b 第6回 Part1 オペレーティングシステム入門
1章 並列OS概論.
Occam言語による マルチプリエンプティブシステムの 実装と検証
型付きアセンブリ言語を用いた安全なカーネル拡張
Ibaraki Univ. Dept of Electrical & Electronic Eng.
仮想マシン間にまたがる プロセススケジューリング
OSの仕組みとその機能 1E16M001-1 秋田 梨紗 1E16M010-2 梅山 桃香 1E16M013-3 大津 智紗子
Ibaraki Univ. Dept of Electrical & Electronic Eng.
Advanced Computer Architecture
オペレーティングシステム イントロダクション
Ibaraki Univ. Dept of Electrical & Electronic Eng.
Ibaraki Univ. Dept of Electrical & Electronic Eng.
オペレーティングシステム 第3回 プロセスの管理とスケジューリング
第7回 授業計画の修正 中間テストの解説・復習 前回の補足(クロックアルゴリズム・PFF) 仮想記憶方式のまとめ 特別課題について
Ibaraki Univ. Dept of Electrical & Electronic Eng.
コンピュータの基本構成について 1E16M001-1 秋田梨紗 1E16M010-2 梅山桃香 1E16M013-3 大津智紗子
情報コミュニケーション入門b 第6回 Part1 オペレーティングシステム入門
オペレーティングシステム 第2回 割り込みとOSの構成
担当:青木義満 情報工学科 3年生対象 専門科目 システムプログラミング 第6回 システムプログラミング概要 プロセスの生成 担当:青木義満
Ibaraki Univ. Dept of Electrical & Electronic Eng.
Ibaraki Univ. Dept of Electrical & Electronic Eng.
Ibaraki Univ. Dept of Electrical & Electronic Eng.
オペレーティングシステムJ/K 2004年11月15日2時限目
組込みシステムとは コンピュータ制御システム?
第5回 メモリ管理(2) オーバレイ方式 論理アドレスとプログラムの再配置 静的再配置と動的再配置 仮想記憶とメモリ階層 セグメンテーション
Ibaraki Univ. Dept of Electrical & Electronic Eng.
オペレーティングシステム (プロセススケジューリング)
計算機アーキテクチャ1 (計算機構成論(再)) 第一回 計算機の歴史、基本構成、動作原理
2013年度 プログラミングⅠ ~ 内部構造と動作の仕組み(2) ~.
2017年度 プログラミングⅠ ~ 内部構造と動作の仕組み(1) ~.
計算機アーキテクチャ1 (計算機構成論(再)) 第二回 命令の種類と形式
SpectreとMeltdown ITソリューション塾・第27期 2018年3月20日 株式会社アプライド・マーケティング 大越 章司
Ibaraki Univ. Dept of Electrical & Electronic Eng.
オペレーティングシステムJ/K (並行プロセスと並行プログラミング)
第4回 CPUの役割と仕組み2 命令の解析と実行、クロック、レジスタ
コンピュータアーキテクチャ 第 5 回.
オペレーティングシステム (プロセススケジューリング)
2014年度 プログラミングⅠ ~ 内部構造と動作の仕組み(1) ~.
Ibaraki Univ. Dept of Electrical & Electronic Eng.
Ibaraki Univ. Dept of Electrical & Electronic Eng.
Ibaraki Univ. Dept of Electrical & Electronic Eng.
情報システム基盤学基礎1 コンピュータアーキテクチャ編
Presentation transcript:

Ibaraki Univ. Dept of Electrical & Electronic Eng. 2011. 6. 13 電子計算機工学 Ibaraki Univ. Dept of Electrical & Electronic Eng. Keiichi MIYAJIMA

命令実行順序制御

命令実行順序制御 ノイマン型コンピュータの命令実行順序制御 プログラムカウンタによる順序制御 逐次的にマシン命令を連続実行   プログラムカウンタによる順序制御   逐次的にマシン命令を連続実行 ハードウエア構成(シーケンサ)   プログラムカウンタ、   命令レジスタ、   制御用レジスタ、   割り込み処理用レジスタ、   アドレス計算加減算器

次命令アドレスの決定 暗黙の決定 分岐命令   無条件分岐   条件分岐   サブルーチン分岐   割り込み

命令実行順序制御の高速化 命令を平行して多重実行することをパイプライン制御という。 先行制御   後続するステージの処理を予測して現ステージで実行可能     なら、実行する。 命令先取り制御   前の命令を実行中に次の命令を先読みしておくこと。                       (プリフェッチという) 分岐予測   分岐が発生すると先読みした命令が無駄になる。   分岐を予測して、分岐先アドレスの命令を読む。

パイプライン制御 命令パイプライン 演算パイプライン I  命令フェッチ・デコード O オペランドフェッチ E  命令機能の実行 W 結果の格納

パイプライン制御 命令パイプラインの例 I O E W 命令1 I O E W 命令2 I O E W 命令3 命令5 命令4 命令3

命令レベル並列処理 逐次的なマシン命令列の中にも並列実行できる命令列がある。 例: (AxB)+(C÷D)->Z コンパイル   ①MULTIPLY  A,B,p   ②DIVIDE    C,D,q   ③ADD      p,q,Z ① と②の処理は順序を入れ替えても、並列処理してもかまわない。 通常のパイプライン処理をスカラ処理と呼ぶのに対して、命令レベル 並列処理のできるアーキテクチャーをスーパスカラ処理と呼ぶ。

スーパースカラ処理 並列処理をするかどうかは、ハードウエアが管理する。 I O E W 命令1a I O E W 命令1b I O E W 命令2a I O E W 命令2b I O E W 命令3a I O E W 命令3b 並列処理をするかどうかは、ハードウエアが管理する。

制御機構とオペレーティングシステム OS コンピュータの実行を管理制御するソフトウエア機能 プロセッサ  マシン命令を実行する物理的な機構(ハードウエア) プロセス   処理を実現するために用意されたプログラム・データの集まり OSはメインメモリにプロセスを割り当てる。 マルチタスキング

マルチタスキング ノイマン型コンピュータは、プロセッサは単一 一時に1プロセスしか実行できない。 プロセッサの時分割制御                  一時に1プロセスしか実行できない。 プロセッサの時分割制御  プロセッサの利用時間を細かく切ってOSが各プロセスの実行に  割り当てる制御方式。 マルチタスキング (マルチプロセス制御)  多重化したハードウエア機構の効率的利用をOSによって制御  することが重要。

マルチタスク処理 OS 各プログラムは実際には並列実行されているわけではない 短い時間間隔で切り換えて実行 プロセスA プロセスB プロセスC 短い時間間隔で切り換えて実行

OSによるプロセス管理 ・プロセスの生成と消去 ・実行プロセスの切り替え(スイッチ) ・プロセス間の同期、排他制御 ・プロセス実行順序のスケジューリング ・プロセスの保護

プロセスの状態管理 生成 消去 実行可能 実行中 事象待ち 事象待ち:入出力動作の完了待ち や スーパーバイザーコールの 完了待ちなど スケジューリング 生成 消去 事象発生 事象待ち 事象待ち 事象待ち:入出力動作の完了待ち や スーパーバイザーコールの        完了待ちなど

プロセス制御ブロック プロセスを管理し、その実行を制御するための情報が格納されている。 Process Control Block または、プロセステーブルと言う。 主な情報   ①プロセス識別番号   ②優先順位や、ライフタイム情報   ③メモリ管理情報やプロセッサ管理情報の格納先アドレス、サイズ

プロセススイッチ OSは一定のアルゴリズムでプロセスを切り替える。 PCBやハードウエアの状態によって切り替え制御する。 PSW(Program Status Word)と言う、プログラム実行状態情報など を参照して制御する。 PSWの情報(プロセスコンテクストと言うこともある)   ・プロセッサ状態   ・コンディション   ・プログラムカウンタ   ・汎用レジスタ   ・プロセスの使用しているメインメモリの情報   ・割り込み優先度 プロセススイッチはプロセスコンテクストのメインメモリへの退避、 メインメモリからの回復の処理を行う。

プロセススケジューリングアルゴリズム プロセスをどういう順で実行するのか? 優先度順方式 ラウンドロビン(round-robin scheduling)方式

スケジューリング 優先度順 待ち行列 実行中 優先度順に実行 プロセス D プロセス B プロセス C 優先度 4 優先度 3 優先度 2 プロセス  D プロセス  B プロセス  C 優先度 4 優先度 3 優先度 2 実行中 優先度順に実行 プロセス  A 優先度 1

スケジューリング ラウンドロビン(round-robin scheduling)方式 待ち行列 実行中 一定時間毎に入れ替え プロセス D プロセス  D プロセス  C プロセス  B 実行中 プロセス  A 一定時間毎に入れ替え

スケジューリング 実際には・・・ 優先度方式とラウンドロビン方式を適度に混ぜ合わせた方式が使われる 実行可能状態 待ち状態 実行状態 プロセス  D プロセス  C プロセス  B 待ち状態 実行状態 プロセス  A

マルチスレッド処理 スレッド プロセスが生成するマシン命令実行(制御)の流れ マルチスレッド処理 スレッド単位での命令実行を多重化 スレッド    プロセスが生成するマシン命令実行(制御)の流れ マルチスレッド処理  スレッド単位での命令実行を多重化 PSWの一部をスレッドコンテクストとして、これを切り替えていく スレッドとは、マシン命令とプロセスの中間サイズ

プロセッサの状態とカーネル ユーザ状態 スーパバイザ状態(特権モード) OS以外の普通のユーザのプロセスを実行している時の状態 “OSプロセス”あるいは“スーパバイザプロセス”というOSそのものを実行している時の状態。 特権命令も実行可能 ①メモリ管理 ②システム保護 ③リソース、ソフトウェア、各種ハードウェアの割り付け ④資源利用のスケジューリング kernel(カーネル) 特権モードで動作するOS ①割り込み処理; ②プロセス管理; ③プロセススイッチ; ④PCBの管理

デッドロックと排他制御 デッドロック 資源a 資源b 使用要求待ち 使用中 プロセス B プロセス A 使用要求待ち 使用中 プロセス  B プロセス  A 使用要求待ち 資源b 使用中 2つのプロセスが相互に「使用要求待ち状態」になり、止まってしまう。 これを防ぐために、排他制御あるいは相互排除制御を行う

仮想マシンとOS OSa OSb OSc OSd 実コンピュータ Virtual Machine(仮想コンピュータ) 仮想マシン A B 仮想マシン C 仮想マシン D 実コンピュータ Virtual Machine(仮想コンピュータ)

本日のまとめ 命令実行順序制御 1.命令実行順序制御 2.命令パイプライン処理 3.制御機構とOS ノイマン型の場合、ハードウェア構成、次命令アドレスの決定 2.命令パイプライン処理 命令実行順序制御の高速化、パイプライン処理 3.制御機構とOS プロセス、マルチタスク、OSによるプロセス管理

本日の課題 1.ノイマン型コンピュータの命令実行順序制御における次命令アドレスの決定機能について、分類して説明せよ。 2.5段の命令パイプライン処理の理論的な性能(向上度)について、定式化して説明せよ。またこのアーキテクチャがパイプライン処理なしに比べて4.8倍の性能向上を得るためには、パイプラインに何個の命令を投入しなければならないか、計算せよ。 3.次の単語について説明せよ。 ①マルチタスキング,②プロセス制御ブロック(PCB),③プロセスコンテクストまたはPSW,④デッドロック