基本情報技術概論 ( 第 10 回 )
DESCRIPTION
計算機 システム. 基本情報技術概論 ( 第 10 回 ). 埼玉大学 理工学研究科 堀山 貴史. 計算機 アーキテクチャ. コンピュータの 構成 ( 第1回の復習 ). CPU. 主記憶 (main memory, メモリ ) に、 プログラム と データを置く. 制御装置. 演算装置. 入力装置. 主記憶装置. 出力装置. 補助記憶 装置. (参考) フローチャート. i + 1 → i. i < 10. プログラムの実行. 主記憶の上のプログラム 命令を前から順に読んで実行する - PowerPoint PPT PresentationTRANSCRIPT
1
計算機 システム
基本情報技術概論 ( 第 10 回 )
埼玉大学 理工学研究科 堀山 貴史
2
計算機 アーキテクチャ
3
主記憶 (main memory, メモリ ) に、 プログラム と データを置く
出力装置入力装置
制御装置
補助記憶装置
CPU
演算装置
主記憶装置
コンピュータの構成 ( 第1回の復習 )
4
主記憶の上のプログラム 命令を前から順に読んで実行す
る 演算命令 (加減算やシフトな
ど) 条件分岐やジャンプもある
主記憶
ADD GR0, 1
SUB GR0, 10
JNZ 01・・・
(参考) フローチャート
i + 1 → i
i < 10
プログラムの実行
5
プログラムの実行
主記憶の上のプログラム 命令を前から順に読んで実行す
る 演算命令 (加減算やシフトな
ど) 条件分岐やジャンプもある プログラム内蔵方式
主記憶装置にプログラムを置いて
実行する方式___________
主記憶
ADD GR0, 1
SUB GR0, 10
JNZ 01・・・
6
CPU (プロセッサ)
制御装置 + 演算装置
バ ス
主記憶装置汎用
レジスタ ALU
プログラムカウンタ
命令レジスタ
命令デコーダ制御回路
制御装置 演算装置
参考 : 一度に処理できるビット数は、時代と共に大きく 8 bit CPU → 16 bit → 32 bit → 64 bit
データやり取り用に複数の回路がぶら下がった経路
7
演算装置
バ ス
主記憶装置汎用
レジスタ ALU
プログラムカウンタ
命令レジスタ
命令デコーダ制御回路
制御装置 演算装置
汎用レジスタ … プログラム実行に必要な値を一時的に記憶
ALU (Arithmetic and Logic Unit) 算術演算(加減乗除)や論理演算、シフト演算を行う 時代と共に、演算器の種類が多くなっている 加減算器のみ → 乗除算器つき → マルチメディア
演算
8
制御装置
バ ス
主記憶装置汎用
レジスタ ALU
プログラムカウンタ
命令レジスタ
命令デコーダ制御回路
制御装置 演算装置
プログラムカウンタ 主記憶上のプログラムの現在の位置(番地)を 記憶するレジスタ (命令アドレスレジスタと
もいう) 命令レジスタ
主記憶から読んだ、現在の命令を記憶するレジスタ
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 設計によって、各ステージの詳細には差異がある
プログラムの実行
10
(1) I F : 命令を主記憶から命令レジスタに読み込む
バ ス
主記憶装置汎用
レジスタ ALU
命令レジスタ
命令デコーダ制御回路
制御装置 演算装置
プログラムカウンタ
プログラムの番地を指示
指示された番地の命令が返って
くる
プログラムの実行
11
(2) I D : 命令レジスタの命令を、命令デコーダで解読
例) LD GR0, 200 主記憶 200 番地の内容を GR0 にロー
ド バ ス
主記憶装置汎用
レジスタ ALU
プログラムカウンタ
命令レジスタ
命令デコーダ制御回路
制御装置 演算装置
プログラムの実行
12
(3) EX : 演算を行う
例) 演算命令、オペランドのアドレス計算
バ ス
主記憶装置
ALU
プログラムカウンタ
命令レジスタ
命令デコーダ制御回路
制御装置 演算装置
汎用レジスタ
プログラムの実行
13
(4) MA : 主記憶にアクセスする
バ ス
主記憶装置汎用
レジスタ ALU
プログラムカウンタ
命令レジスタ
命令デコーダ制御回路
制御装置 演算装置
プログラムの実行
14
プログラムの実行
(5) WB : 実行結果をレジスタに格納する
バ ス
主記憶装置汎用
レジスタ ALU
プログラムカウンタ
命令レジスタ
命令デコーダ制御回路
制御装置 演算装置
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つ目の命令
・・・
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
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
命令の依存関係の 解決が複雑
→ ハードウェアが複雑
18
高速化技術 (VL I
W)
Very Large Instruction Word 複数命令を1つの固まりとみなし、同時に
実行
IF IDEX
MA WBEXEXEX
IF IDEX
MA WBEXEXEX
…・ 命令の依存関係の解決は、コンパイラに任せる
・ ハードウェアは簡単
19
彼が携帯電話を使うと、 1 秒間に 6 回キーを押すことができる。また、平仮名の入力には、 1 文字に平均 3 回キーを押す必要がある。
・ 1 秒間に何文字の平仮名が打てるか? ・ 平仮名 1 文字あたり、何秒かかるか? (予測入力等は考慮しない。)
練習問題?: 性能評価
20
性能評価
クロック クロックに同期して、レジスタの値が変わ
る
例 )
クロックに同期して、ステージを進める
クロック周波数 ( 単位は Hz) 1秒間のクロック数 例: CPU のクロック周波数が 1.6 GHz
IF ID EX MA WB
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クロック
22
練習問題: 性能評価
1 GHz で動作する CPU がある。この CPU は、
機械語の 1 命令を平均 0.8 クロックで実行できる。
この CPU は何 M I PS か。
(H19年度 秋 一部改変 )
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 文字あたり、何秒かかる?
24
主記憶装置
25
記憶の階層
高速・小容量 と 低速・大容量 の記憶装置 うまく組み合わせれば、高速・大容量の記憶
装置のように扱える
レジスタ
主記憶 (メモリ)
補助記憶( HDD 、 Disc 、テープ)
容量アクセ
ス速度
小
大
速い
遅い
26
記憶の階層 ( キャッシュ , Cache)
動作速度の差を埋めるための仕組み
容量 速度
小
大
速い
遅い補助記憶
ディスクキャッシュ
主記憶 (メモリ)
キャッシュ
レジスタ
近頃のCPUで
は、 L1, L2キャッシュ
___________
27
練習問題: 記憶の階層
平均年齢は?
50 才
20 才 80 %
27
容量 速度
小
大
速い
遅い 主記憶 (メモリ)
キャッシュ
50 ns
20 ns 80 %
アクセス時間
キャッシュヒッ
ト率
実効アクセス速度は? … アクセス時間の期待値
28
実効アクセス時間 = キャッシュ アクセス時間 x キャッシュ ヒット率
+ 主記憶 アクセス時間 x ( 1 – キャッシュ ヒット率 )
問題 ) アクセス時間が主記憶 60 ns 、キャッシュ 10 ns のシステムがある。システムとしての実効アクセス速度が 15 ns の時、キャッシュのヒット率は いくらか。
(H19年度 春 )
練習問題: 記憶の階層
29
参考: メモリ アクセス の高速化
メモリ インタリーブ 主記憶へのアクセスを高速化する手法 主記憶を複数の区画(バンク)に分割し、 並列にアクセスする
主記憶
159
26
10
37
11
48
12
… … … …
番地
30
31
(1) I F : 命令を主記憶から命令レジスタに読み込む
バ ス
主記憶装置汎用
レジスタ ALU
命令レジスタ
命令デコーダ制御回路
制御装置 演算装置
プログラムカウンタ
プログラムの番地を指示
指示された番地の命令が返って
くる
プログラムの実行
32
(2) I D : 命令レジスタの命令を、命令デコーダで解読
例) LD GR0, 200 主記憶 200 番地の内容を GR0 にロー
ド バ ス
主記憶装置汎用
レジスタ ALU
プログラムカウンタ
命令レジスタ
命令デコーダ制御回路
制御装置 演算装置
プログラムの実行
33
(3) EX : 演算を行う
例) 演算命令、オペランドのアドレス計算
バ ス
主記憶装置
ALU
プログラムカウンタ
命令レジスタ
命令デコーダ制御回路
制御装置 演算装置
汎用レジスタ
プログラムの実行
34
(4) MA : 主記憶にアクセスする
バ ス
主記憶装置汎用
レジスタ ALU
プログラムカウンタ
命令レジスタ
命令デコーダ制御回路
制御装置 演算装置
データの番地を指示
プログラムの実行
35
(5) WB : 実行結果をレジスタに格納する
バ ス
主記憶装置汎用
レジスタ ALU
プログラムカウンタ
命令レジスタ
命令デコーダ制御回路
制御装置 演算装置
プログラムの実行
36
37
実効アクセス速度 15 ns
37
容量 速度
小
大
速い
遅い 主記憶 (メモリ)
キャッシュ
60 ns
10 ns ?
アクセス時間
キャッシュヒッ
ト率
練習問題: 記憶の階層
38
39
40
この教材のご利用について この教材は、以下に示す利用条件の下で、著作権者にわざわざ許諾を求めることなく、無償で自由にご利用いただけます。講義、自主学習はもちろん、翻訳、改変、再配布等を含めて自由にご利用ください。
非商業利用に限定 この教材は、翻訳や改変等を加えたものも含めて、著作権者
の許諾を受けずに商業目的で利用することは、許可されていません。
著作権の帰属 この教材および教材中の図の著作権は、次ページ以降に示す著作者に帰属します。この教材、または翻訳や改変等を加えたものを公開される場合には、「本教材 (or 本資料 ) は http://www.al.ics. saitama-u.ac.jp/horiyama/OCW/ の教材です (or 教材を改変したものです」 との旨の著作権表示を明確に実施してください。なお、この教材に改変等を加えたものの著作権は、次ページ以降に示す著作者および改変等を加えた方に帰属します。
同一条件での頒布・再頒布 この教材、または翻訳や改変等を加えたものを頒布・再頒布
する場合には、頒布・再頒布の形態を問わず、このページの利用条件に準拠して無償で自由に利用できるようにしてください。
この文面は、 TOKYO TECH OCW の利用条件を参考にしました
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 / クリップアート
その他 堀山 貴史
この教材のご利用について