基本情報技術概論 ( 第 10 回 )

41
1 計計計 計計計計 計計計計計計計計 ( 計 10 計 ) 計計計計 計計計計計計 計計 計計

Upload: shona

Post on 29-Jan-2016

66 views

Category:

Documents


0 download

DESCRIPTION

計算機 システム. 基本情報技術概論 ( 第 10 回 ). 埼玉大学 理工学研究科 堀山 貴史. 計算機 アーキテクチャ. コンピュータの 構成 ( 第1回の復習 ). CPU. 主記憶 (main memory, メモリ ) に、 プログラム と データを置く. 制御装置. 演算装置. 入力装置. 主記憶装置. 出力装置. 補助記憶 装置. (参考) フローチャート. i + 1 → i. i < 10. プログラムの実行. 主記憶の上のプログラム 命令を前から順に読んで実行する - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 基本情報技術概論  ( 第 10 回 )

1

計算機 システム

基本情報技術概論 ( 第 10 回 )

埼玉大学 理工学研究科 堀山 貴史

Page 2: 基本情報技術概論  ( 第 10 回 )

2

計算機 アーキテクチャ

Page 3: 基本情報技術概論  ( 第 10 回 )

3

主記憶 (main memory, メモリ ) に、 プログラム と データを置く

出力装置入力装置

制御装置

補助記憶装置

CPU

演算装置

主記憶装置

コンピュータの構成 ( 第1回の復習 )

Page 4: 基本情報技術概論  ( 第 10 回 )

4

主記憶の上のプログラム 命令を前から順に読んで実行す

る 演算命令 (加減算やシフトな

ど) 条件分岐やジャンプもある

主記憶

ADD GR0, 1

SUB GR0, 10

JNZ 01・・・

(参考) フローチャート

i + 1 → i

i < 10

プログラムの実行

Page 5: 基本情報技術概論  ( 第 10 回 )

5

プログラムの実行

主記憶の上のプログラム 命令を前から順に読んで実行す

る 演算命令 (加減算やシフトな

ど) 条件分岐やジャンプもある プログラム内蔵方式

主記憶装置にプログラムを置いて

 実行する方式___________

主記憶

ADD GR0, 1

SUB GR0, 10

JNZ 01・・・

Page 6: 基本情報技術概論  ( 第 10 回 )

6

CPU (プロセッサ)

制御装置 + 演算装置

バ ス

主記憶装置汎用

レジスタ ALU

プログラムカウンタ

命令レジスタ

命令デコーダ制御回路

制御装置 演算装置

参考 : 一度に処理できるビット数は、時代と共に大きく      8 bit CPU → 16 bit → 32 bit → 64 bit

データやり取り用に複数の回路がぶら下がった経路

Page 7: 基本情報技術概論  ( 第 10 回 )

7

演算装置

バ ス

主記憶装置汎用

レジスタ ALU

プログラムカウンタ

命令レジスタ

命令デコーダ制御回路

制御装置 演算装置

汎用レジスタ … プログラム実行に必要な値を一時的に記憶

ALU (Arithmetic and Logic Unit) 算術演算(加減乗除)や論理演算、シフト演算を行う 時代と共に、演算器の種類が多くなっている 加減算器のみ → 乗除算器つき → マルチメディア

演算

Page 8: 基本情報技術概論  ( 第 10 回 )

8

制御装置

バ ス

主記憶装置汎用

レジスタ ALU

プログラムカウンタ

命令レジスタ

命令デコーダ制御回路

制御装置 演算装置

プログラムカウンタ 主記憶上のプログラムの現在の位置(番地)を 記憶するレジスタ  (命令アドレスレジスタと

もいう) 命令レジスタ

主記憶から読んだ、現在の命令を記憶するレジスタ

Page 9: 基本情報技術概論  ( 第 10 回 )

9

命令ごとに、以下を繰り返す

(1) I F 命令を主記憶から命令レジスタに読み込む

(2) I D 命令レジスタの命令を、命令デコーダで解読

(3) EX 演算を行う(4) MA 主記憶にアクセスする(5) WB 実行結果をレジスタに格納する

I F I D EX MA WB

※ 1 I F - Instruction Fetch / I D - Instruction Decode / EX - Execution / MA - Memory Access / WB - Write Back※ 2 設計によって、各ステージの詳細には差異がある

プログラムの実行

Page 10: 基本情報技術概論  ( 第 10 回 )

10

(1) I F : 命令を主記憶から命令レジスタに読み込む

バ ス

主記憶装置汎用

レジスタ ALU

命令レジスタ

命令デコーダ制御回路

制御装置 演算装置

プログラムカウンタ

プログラムの番地を指示

指示された番地の命令が返って

くる

プログラムの実行

Page 11: 基本情報技術概論  ( 第 10 回 )

11

(2) I D : 命令レジスタの命令を、命令デコーダで解読

例) LD GR0, 200 主記憶 200 番地の内容を GR0 にロー

ド バ ス

主記憶装置汎用

レジスタ ALU

プログラムカウンタ

命令レジスタ

命令デコーダ制御回路

制御装置 演算装置

プログラムの実行

Page 12: 基本情報技術概論  ( 第 10 回 )

12

(3) EX : 演算を行う

例) 演算命令、オペランドのアドレス計算

バ ス

主記憶装置

ALU

プログラムカウンタ

命令レジスタ

命令デコーダ制御回路

制御装置 演算装置

汎用レジスタ

プログラムの実行

Page 13: 基本情報技術概論  ( 第 10 回 )

13

(4) MA : 主記憶にアクセスする

バ ス

主記憶装置汎用

レジスタ ALU

プログラムカウンタ

命令レジスタ

命令デコーダ制御回路

制御装置 演算装置

プログラムの実行

Page 14: 基本情報技術概論  ( 第 10 回 )

14

プログラムの実行

(5) WB : 実行結果をレジスタに格納する

バ ス

主記憶装置汎用

レジスタ ALU

プログラムカウンタ

命令レジスタ

命令デコーダ制御回路

制御装置 演算装置

Page 15: 基本情報技術概論  ( 第 10 回 )

15

高速化技術: プログラムの実行 ( 再び )

(1) I F 命令をメモリから命令レジスタに読み込む

(2) I D 命令レジスタの命令を、命令デコーダで解読

(3) EX 演算を行う(4) MA メモリにアクセスする(5) WB 実行結果をレジスタに格納する

I F I D EX MA WB I F I D EX MA WB

1つ目の命令 2つ目の命令

・・・

Page 16: 基本情報技術概論  ( 第 10 回 )

16

高速化技術 ( パイプライン処理 )

I F I D EX MA

I F I D

I F I D WB

I F MA WB・・・

1つ目の命令2つ目の命令3つ目の命令4つ目の命令 ・

・・

・ 命令の依存関係を解決する必要がある

・ 条件分岐が成立すると、次の命令からやり直し

___________

EX

WB

EX

I D

MA WB

MA

EX

Page 17: 基本情報技術概論  ( 第 10 回 )

17

高速化技術 ( スーパースカラー )

演算器を複数持つなどして、 複数のパイプライン処理を同時に実行する

I F I D EX MA WB

I F I D EX MA WB

I F I D EX MA WB

I F I D EX MA WB

I F I D EX MA WB

I F I D EX MA WB

命令の依存関係の 解決が複雑

→ ハードウェアが複雑

Page 18: 基本情報技術概論  ( 第 10 回 )

18

高速化技術 (VL I

W)

Very Large Instruction Word 複数命令を1つの固まりとみなし、同時に

実行

IF IDEX

MA WBEXEXEX

IF IDEX

MA WBEXEXEX

…・ 命令の依存関係の解決は、コンパイラに任せる

・ ハードウェアは簡単

Page 19: 基本情報技術概論  ( 第 10 回 )

19

彼が携帯電話を使うと、 1 秒間に 6 回キーを押すことができる。また、平仮名の入力には、 1 文字に平均 3 回キーを押す必要がある。

・ 1 秒間に何文字の平仮名が打てるか? ・ 平仮名 1 文字あたり、何秒かかるか? (予測入力等は考慮しない。)

練習問題?: 性能評価

Page 20: 基本情報技術概論  ( 第 10 回 )

20

性能評価

クロック クロックに同期して、レジスタの値が変わ

例 )

クロックに同期して、ステージを進める

クロック周波数 ( 単位は Hz) 1秒間のクロック数 例: CPU のクロック周波数が 1.6 GHz

IF ID EX MA WB

Page 21: 基本情報技術概論  ( 第 10 回 )

21

性能評価

CPI (Clocks Per Instruction) 1命令ごとの(実行に必要な)クロック数

例 )

命令ごとにクロック数可変なら、平均をとる

M I PS (Million Instruction Per Second) 1秒ごとの命令(実行)数 (単位 M …

100万) FLOPS (Floating point number Operations Per

Second) 1秒ごとの浮動小数点演算実行数

IF ID EX MA WB この例なら5クロック

Page 22: 基本情報技術概論  ( 第 10 回 )

22

練習問題: 性能評価

1 GHz で動作する CPU がある。この CPU は、

機械語の 1 命令を平均 0.8 クロックで実行できる。

この CPU は何 M I PS か。

(H19年度 秋 一部改変 )

Page 23: 基本情報技術概論  ( 第 10 回 )

23

クロック周波数 6 MHz (6 x 106 クロック / 秒 )

CP I 3 (クロック / 命令)

M I PS 2 ( 2 x 106 命令 /

秒) 1 命令の実行時間 0.5 μs ( 0.5 x 10-6 秒 /

命令)

練習問題?: 性能評価

slide 19

1 秒間に 6 回キーを押す。1 文字に平均 3 回キーを押す必要がある。

・ 1 秒間に何文字? ・ 1 文字あたり、何秒かかる?

Page 24: 基本情報技術概論  ( 第 10 回 )

24

主記憶装置

Page 25: 基本情報技術概論  ( 第 10 回 )

25

記憶の階層

高速・小容量 と 低速・大容量 の記憶装置 うまく組み合わせれば、高速・大容量の記憶

装置のように扱える

レジスタ

主記憶 (メモリ)

補助記憶( HDD 、 Disc 、テープ)

容量アクセ

ス速度

速い

遅い

Page 26: 基本情報技術概論  ( 第 10 回 )

26

記憶の階層 ( キャッシュ , Cache)

動作速度の差を埋めるための仕組み

容量 速度

速い

遅い補助記憶

ディスクキャッシュ

主記憶 (メモリ)

キャッシュ

レジスタ

近頃のCPUで

は、 L1, L2キャッシュ

___________

Page 27: 基本情報技術概論  ( 第 10 回 )

27

練習問題: 記憶の階層

平均年齢は?

50 才

20 才 80 %

27

容量 速度

速い

遅い 主記憶 (メモリ)

キャッシュ

50 ns

20 ns 80 %

アクセス時間

キャッシュヒッ

ト率

実効アクセス速度は? … アクセス時間の期待値

Page 28: 基本情報技術概論  ( 第 10 回 )

28

実効アクセス時間 = キャッシュ アクセス時間 x キャッシュ ヒット率

+ 主記憶 アクセス時間 x ( 1 – キャッシュ ヒット率 )

問題 ) アクセス時間が主記憶 60 ns 、キャッシュ 10 ns のシステムがある。システムとしての実効アクセス速度が 15 ns の時、キャッシュのヒット率は いくらか。

(H19年度 春 )

練習問題: 記憶の階層

Page 29: 基本情報技術概論  ( 第 10 回 )

29

参考: メモリ アクセス の高速化

メモリ インタリーブ 主記憶へのアクセスを高速化する手法 主記憶を複数の区画(バンク)に分割し、 並列にアクセスする

主記憶

159

26

10

37

11

48

12

… … … …

番地

Page 30: 基本情報技術概論  ( 第 10 回 )

30

Page 31: 基本情報技術概論  ( 第 10 回 )

31

(1) I F : 命令を主記憶から命令レジスタに読み込む

バ ス

主記憶装置汎用

レジスタ ALU

命令レジスタ

命令デコーダ制御回路

制御装置 演算装置

プログラムカウンタ

プログラムの番地を指示

指示された番地の命令が返って

くる

プログラムの実行

Page 32: 基本情報技術概論  ( 第 10 回 )

32

(2) I D : 命令レジスタの命令を、命令デコーダで解読

例) LD GR0, 200 主記憶 200 番地の内容を GR0 にロー

ド バ ス

主記憶装置汎用

レジスタ ALU

プログラムカウンタ

命令レジスタ

命令デコーダ制御回路

制御装置 演算装置

プログラムの実行

Page 33: 基本情報技術概論  ( 第 10 回 )

33

(3) EX : 演算を行う

例) 演算命令、オペランドのアドレス計算

バ ス

主記憶装置

ALU

プログラムカウンタ

命令レジスタ

命令デコーダ制御回路

制御装置 演算装置

汎用レジスタ

プログラムの実行

Page 34: 基本情報技術概論  ( 第 10 回 )

34

(4) MA : 主記憶にアクセスする

バ ス

主記憶装置汎用

レジスタ ALU

プログラムカウンタ

命令レジスタ

命令デコーダ制御回路

制御装置 演算装置

データの番地を指示

プログラムの実行

Page 35: 基本情報技術概論  ( 第 10 回 )

35

(5) WB : 実行結果をレジスタに格納する

バ ス

主記憶装置汎用

レジスタ ALU

プログラムカウンタ

命令レジスタ

命令デコーダ制御回路

制御装置 演算装置

プログラムの実行

Page 36: 基本情報技術概論  ( 第 10 回 )

36

Page 37: 基本情報技術概論  ( 第 10 回 )

37

実効アクセス速度 15 ns

37

容量 速度

速い

遅い 主記憶 (メモリ)

キャッシュ

60 ns

10 ns ?

アクセス時間

キャッシュヒッ

ト率

練習問題: 記憶の階層

Page 38: 基本情報技術概論  ( 第 10 回 )

38

Page 39: 基本情報技術概論  ( 第 10 回 )

39

Page 40: 基本情報技術概論  ( 第 10 回 )

40

この教材のご利用について この教材は、以下に示す利用条件の下で、著作権者にわざわざ許諾を求めることなく、無償で自由にご利用いただけます。講義、自主学習はもちろん、翻訳、改変、再配布等を含めて自由にご利用ください。

非商業利用に限定 この教材は、翻訳や改変等を加えたものも含めて、著作権者

の許諾を受けずに商業目的で利用することは、許可されていません。

著作権の帰属 この教材および教材中の図の著作権は、次ページ以降に示す著作者に帰属します。この教材、または翻訳や改変等を加えたものを公開される場合には、「本教材 (or 本資料 ) は http://www.al.ics. saitama-u.ac.jp/horiyama/OCW/ の教材です (or 教材を改変したものです」 との旨の著作権表示を明確に実施してください。なお、この教材に改変等を加えたものの著作権は、次ページ以降に示す著作者および改変等を加えた方に帰属します。

同一条件での頒布・再頒布 この教材、または翻訳や改変等を加えたものを頒布・再頒布

する場合には、頒布・再頒布の形態を問わず、このページの利用条件に準拠して無償で自由に利用できるようにしてください。

この文面は、 TOKYO TECH OCW の利用条件を参考にしました

Page 41: 基本情報技術概論  ( 第 10 回 )

41

配布場所 http://www.al.ics.saitama-u.ac.jp/horiyama/OCW/

この powerpoint ファイルの著作者 堀山 貴史  2007-2010 [email protected]

u.ac.jp 改変等を加えられた場合は、お名前等を追加してください

図の著作者 p. 3, 25, 29

ハードディスク : 堀山 貴史 CPU, メモリ , キーボード , USB :

http://webweb.s92.xrea.com/ パソコン , ディスプレイ , プリンタ , マウス , FD, CD :

Microsoft Office Online / クリップアート p. 19, 27

クリップアート : Microsoft Office Online / クリップアート

その他 堀山 貴史

この教材のご利用について