PowerPoint プレゼンテーション

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