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