基本情報技術概論(第8回) 埼玉大学 理工学研究科 堀山 貴史

Slides:



Advertisements
Similar presentations
1 プログラム言語 と 言語プロセッ サ 基本情報技術概論 II ( 第1回 ) 埼玉大学 理工学研究科 堀山 貴史.
Advertisements

基本情報技術概論(第2回) 埼玉大学 理工学研究科 堀山 貴史
基本情報技術概論 I 演習(第5回) 埼玉大学 理工学研究科 堀山 貴史
  第4章 コンピュータのハードウェア  コンピュータは機械である.この機械は高速計算と大容量記憶という2つの特徴をもつ.この章では,コンピュータのハードウェアを解剖することによって,コンピュータがなぜ高速計算・大容量記憶できるかを理解する. コンピュータシステム = ハードウェア + ソフトウェア.
基本情報技術概論(第10回) 埼玉大学 理工学研究科 堀山 貴史
基本情報技術概論(第12回) 埼玉大学 理工学研究科 堀山 貴史
基本情報技術概論(第9回) 埼玉大学 理工学研究科 堀山 貴史
計算機システムⅡ 主記憶装置とALU,レジスタの制御
CPU実験 第1回中間発表 4班 瀬沼、高橋、津田、富山、張本.
Ibaraki Univ. Dept of Electrical & Electronic Eng.
基本情報技術概論(第4回) 埼玉大学 理工学研究科 堀山 貴史
テープ(メモリ)と状態で何をするか決める
コンピュータの主役はCPU(Central Processing Unit)
情 報 技 術 基 礎 処理装置の構成と動作 D17kog706pr101 始.
オリジナルなCPUの開発 指導教授:笠原 宏 05IE063 戸塚 雄太 05IE074 橋本 将平 05IE089 牧野 政道
計算機システムⅡ 命令セットアーキテクチャ
計算機システム ハードウェア編(第3回) ~ ノイマン型コンピュータ ~.
Ibaraki Univ. Dept of Electrical & Electronic Eng.
プログラムはなぜ動くのか.
2016年度 プログラミングⅠ ~ 内部構造と動作の仕組み(1) ~.
Ibaraki Univ. Dept of Electrical & Electronic Eng.
基本情報技術概論(第3回) 埼玉大学 理工学研究科 堀山 貴史
専門演習Ⅰ 国際経済学部 国際産業情報学科 2年 石川 愛
第7回 2006/6/12.
計算機入門I ハードウェア(1) 計算機のハードウェア構成 ~計算機のハードウェアとは何か~
コンピュータの原理 1E17M053-9 奈良 皐佑 1E17M070-7 師尾 直希        1E17M078-6 渡邊 惇.
情報工学総合演習 D-I 近似アルゴリズム 埼玉大学 理工学研究科 山田 敏規、 橋口 博樹、 堀山 貴史
アドバンスト コンピュータ アーキテクチャ RISC と 命令パイプライン
コンピュータを知る 1E16M009-1 梅津たくみ 1E16M017-8 小沢あきら 1E16M035-0 柴田かいと
1.コンピュータと情報処理 p.18 第1章第1節 2.コンピュータの動作のしくみ CPUと論理回路
勉強会その3    2016/5/1 10 8分35秒 データの表現 演算.
情報リテラシー2014 part 5/5 (亀田担当分最終回)
コンピュータ系実験Ⅲ 「ワンチップマイコンの応用」 第1週目 アセンブリ言語講座
第7回 授業計画の修正 中間テストの解説・復習 前回の補足(クロックアルゴリズム・PFF) 仮想記憶方式のまとめ 特別課題について
コンピュータの基本構成について 1E16M001-1 秋田梨紗 1E16M010-2 梅山桃香 1E16M013-3 大津智紗子
ディジタル回路の設計と CADによるシステム設計
基本情報技術概論(第6回) 埼玉大学 理工学研究科 堀山 貴史
先週の復習: CPU が働く仕組み コンピュータの構造 pp 制御装置+演算装置+レジスタ 制御装置がなければ電卓と同様
コンピュータの仕組み 〜ハードウェア〜 1E15M009-3 伊藤佳樹 1E15M035-2 柴田将馬 1E15M061-1 花岡沙紀
コンピュータアーキテクチャ 第 10 回.
基本情報技術概論I (第4回) 埼玉大学 理工学研究科 堀山 貴史
2010年度 情報科学序論 ~ 内部構造と動作の仕組み(2) ~.
基本情報技術概論(第2回) 埼玉大学 理工学研究科 堀山 貴史
基本情報技術概論(第2回) 埼玉大学 理工学研究科 堀山 貴史
第5回 メモリ管理(2) オーバレイ方式 論理アドレスとプログラムの再配置 静的再配置と動的再配置 仮想記憶とメモリ階層 セグメンテーション
坂井 修一 東京大学 大学院 情報理工学系研究科 電子情報学専攻 東京大学 工学部 電気工学科
明星大学 情報学科 2012年度前期     情報技術Ⅰ   第1回
Ibaraki Univ. Dept of Electrical & Electronic Eng.
コンピュータアーキテクチャ 第 9 回.
コンピュータアーキテクチャ 第 10 回.
基本情報技術概論(第10回) 埼玉大学 理工学研究科 堀山 貴史
コンピュータアーキテクチャ 第 2 回.
計算機アーキテクチャ1 (計算機構成論(再)) 第一回 計算機の歴史、基本構成、動作原理
2013年度 プログラミングⅠ ~ 内部構造と動作の仕組み(2) ~.
2017年度 プログラミングⅠ ~ 内部構造と動作の仕組み(1) ~.
基本情報技術概論(第13回) 埼玉大学 理工学研究科 堀山 貴史
基本情報技術概論(第5回) 埼玉大学 理工学研究科 堀山 貴史
コンピュータアーキテクチャ 第 2 回.
コンピュータアーキテクチャ 第 5 回.
基本情報技術概論(第6回) 埼玉大学 理工学研究科 堀山 貴史
基本情報技術概論(第5回) 埼玉大学 理工学研究科 堀山 貴史
計算機アーキテクチャ1 (計算機構成論(再)) 第二回 命令の種類と形式
コンピュータアーキテクチャ 第 4 回.
第4回 CPUの役割と仕組み2 命令の解析と実行、クロック、レジスタ
コンピュータアーキテクチャ 第 5 回.
2014年度 プログラミングⅠ ~ 内部構造と動作の仕組み(1) ~.
情報システム基盤学基礎1 コンピュータアーキテクチャ編
2008年度 情報科学序論 ~ 内部構造と動作の仕組み(2) ~.
明星大学 情報学科 2014年度前期     情報技術Ⅰ   第1回
情報システム基盤学基礎1 コンピュータアーキテクチャ編
Presentation transcript:

基本情報技術概論(第8回) 埼玉大学 理工学研究科 堀山 貴史 2008/6/12 基本情報技術概論 (第8回) プロセッサ アーキテクチャ 埼玉大学 理工学研究科 堀山 貴史 2008/01/23

コンピュータの構成 (第1回の復習) 主記憶 (main memory, メモリ) に、 CPU 制御装置 演算装置 入力装置 主記憶装置 コンピュータの構成 (第1回の復習) CPU 主記憶 (main memory, メモリ) に、 プログラム と データを置く 制御装置 演算装置 入力装置 主記憶装置 出力装置 補助記憶装置

コンピュータの構成 (第1回の復習) 制御装置 主記憶装置のプログラム(命令)を取り出し、 解読し、その結果をもとに他の装置を制御する コンピュータの構成 (第1回の復習) 制御装置 主記憶装置のプログラム(命令)を取り出し、 解読し、その結果をもとに他の装置を制御する 演算装置 算術演算や論理演算、条件分岐用の比較などデータに対する演算を実行する 記憶装置(主記憶装置、補助記憶装置) プログラムやデータを記憶する 入力装置 … コンピュータ外部から入力 出力装置 … コンピュータ外部へ出力 CPU

プログラムの実行 主記憶の上のプログラム 命令を前から順に読んで実行する 演算命令 (加減算やシフトなど) 条件分岐やジャンプもある 主記憶 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

高速化技術 (VLIW) Very Large Instruction Word 複数命令を1つの固まりとみなし、同時に実行 IF ID EX MA WB EX EX EX IF ID EX MA WB EX EX EX … ・ 命令の依存関係の解決は、コンパイラに任せる ・ ハードウェアは簡単

性能評価 クロック クロックに同期して、レジスタの値が変わる 例) クロックに同期して、ステージを進める クロック周波数 (単位は 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年度 秋 一部改変)

命令形式 と アドレス指定

命令形式 命令コード (命令の種類) ロード・ストア (主記憶やレジスタの間でデータ転送) ________ ________ 命令コード オペランド 命令の意味 ADDA GR0, GR1 GR0 ← (GR0) + (GR1) LD GR0, 200 GR0 に、主記憶 200 番地の 内容をロード ________________ 命令コード (命令の種類) ロード・ストア (主記憶やレジスタの間でデータ転送) 演算 (加算などの算術演算、論理演算、シフト演算) 分岐 オペランド (命令の対象) データの値そのもの、レジスタ指定、主記憶の番地指定 ________________

オペランド: アドレス指定 即値 直接(絶対)アドレス指定 間接アドレス指定 インデックス(指標)アドレス指定 ベース(基底)アドレス指定 PC相対アドレス指定

アドレス指定: 即値 オペランドに、データの値そのものが書いてある (メモリアクセスは、しない) アドレス指定: 即値 オペランドに、データの値そのものが書いてある (メモリアクセスは、しない) R ← op , R ← R (演算) op メモリ (アドレス) オペランド 100 200 100 200 300 レジスタ 300 400

アドレス指定: 直接 アドレス指定 op が 実効アドレス (op の指すメモリの内容をとる) R ← M ( op ) 実効アドレス アドレス指定: 直接 アドレス指定 ________________ ________________ op が 実効アドレス (op の指すメモリの内容をとる) R ← M ( op ) 実効アドレス 実際にデータが格納 されているアドレス メモリ (アドレス) オペランド 100 200 100 200 300 レジスタ 300 400

アドレス指定: 間接 アドレス指定 op が指すメモリ内容が、実効アドレスになる R ← M ( M ( op ) ) メモリ (アドレス) アドレス指定: 間接 アドレス指定 op が指すメモリ内容が、実効アドレスになる R ← M ( M ( op ) ) メモリ (アドレス) オペランド 100 200 100 200 300 レジスタ 300 400

アドレス指定: インデックス アドレス指定 インデックスレジスタ + オペランド でアドレス指定 R ← M ( IndexR + op ) メモリ 配列に利用 (アドレス) オペランド 100 200 100 インデックス レジスタ 100 200 300 レジスタ 300 400

アドレス指定: ベース アドレス指定 ベースレジスタ + オペランド でアドレス指定 R ← M ( BaseR + op ) メモリ プログラムの開始位置を記憶 (アドレス) オペランド 100 200 100 ベース レジスタ 100 200 300 レジスタ 300 400

アドレス指定: PC相対 アドレス指定 プログラムカウンタ + オペランド でアドレス指定 R ← M ( PC + op ) メモリ (アドレス) オペランド 100 200 100 PC 100 200 300 レジスタ 300 400

アドレス指定: ジャンプ命令 絶対アドレス 普段は、 PC ← op 次の命令を実行 (PC) 相対アドレス PC ← PC + 1 PC ← PC + op プログラムをメモリ上のどこに置いても、   正しく動く 普段は、 次の命令を実行 PC ← PC + 1

Complex Instruction Set Computer 命令語数が多彩 命令によって語長が変わる メモリ アクセスが多様 参考: CISC と RISC Complex Instruction Set Computer 命令語数が多彩 命令によって語長が変わる メモリ アクセスが多様 Reduced Instruction Set Computer 命令語数を少なくする、命令語長を固定する メモリ アクセスは、ロード・ストアのみ → ハードウェアが簡単 ・・・ 高速化

プログラムの実行 (1) I F : 命令を主記憶から命令レジスタに読み込む プログラムの番地を指示 指示された番地の命令が返ってくる バ ス 主記憶 装置 プログラム カウンタ 命令 レジスタ 汎用 レジスタ ALU 制御回路 命令 デコーダ 制御装置 演算装置

プログラムの実行 (2) I D : 命令レジスタの命令を、命令デコーダで解読 例) LD GR0, 200 バ ス 主記憶 装置 プログラム カウンタ 命令 レジスタ 汎用 レジスタ ALU 制御回路 命令 デコーダ 制御装置 演算装置

プログラムの実行 (3) EX : 演算を行う 例) 演算命令、オペランドのアドレス計算 制御装置 演算装置 バ ス 主記憶 装置 バ ス 主記憶 装置 プログラム カウンタ 命令 レジスタ 汎用 レジスタ ALU 制御回路 命令 デコーダ 制御装置 演算装置

プログラムの実行 (4) MA : 主記憶にアクセスする データの 番地を指示 制御装置 演算装置 バ ス 主記憶 装置 プログラム バ ス 主記憶 装置 プログラム カウンタ 命令 レジスタ 汎用 レジスタ ALU 制御回路 命令 デコーダ 制御装置 演算装置

プログラムの実行 (5) WB : 実行結果をレジスタに格納する 制御装置 演算装置 バ ス 主記憶 装置 プログラム カウンタ 命令 バ ス 主記憶 装置 プログラム カウンタ 命令 レジスタ 汎用 レジスタ ALU 制御回路 命令 デコーダ 制御装置 演算装置

アドレス指定: 即値 オペランドに、データの値そのものが書いてある (メモリアクセスは、しない) アドレス指定: 即値 オペランドに、データの値そのものが書いてある (メモリアクセスは、しない) R ← op , R ← R (演算) op メモリ (アドレス) オペランド 100 200 100 200 300 レジスタ 300 400

アドレス指定: 直接 アドレス指定 op が 実効アドレス (op の指すメモリの内容をとる) R ← M ( op ) 実効アドレス アドレス指定: 直接 アドレス指定 ________________ ________________ op が 実効アドレス (op の指すメモリの内容をとる) R ← M ( op ) 実効アドレス 実際にデータが格納 されているアドレス メモリ (アドレス) オペランド 100 200 100 200 300 レジスタ 300 400

アドレス指定: 間接 アドレス指定 op が指すメモリ内容が、実効アドレスになる R ← M ( M ( op ) ) メモリ (アドレス) アドレス指定: 間接 アドレス指定 op が指すメモリ内容が、実効アドレスになる R ← M ( M ( op ) ) メモリ (アドレス) オペランド 100 200 100 200 300 レジスタ 300 400

アドレス指定: インデックス アドレス指定 インデックスレジスタ + オペランド でアドレス指定 R ← M ( IndexR + op ) メモリ 配列に利用 (アドレス) オペランド 100 200 100 インデックス レジスタ 100 200 300 レジスタ 300 400

アドレス指定: ベース アドレス指定 ベースレジスタ + オペランド でアドレス指定 R ← M ( BaseR + op ) メモリ プログラムの開始位置を記憶 (アドレス) オペランド 100 200 100 ベース レジスタ 100 200 300 レジスタ 300 400

アドレス指定: PC相対 アドレス指定 プログラムカウンタ + オペランド でアドレス指定 R ← M ( PC + op ) メモリ (アドレス) オペランド 100 200 100 PC 100 200 300 レジスタ 300 400

この文面は、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-2009 horiyama@al.ics.saitama-u.ac.jp 改変等を加えられた場合は、お名前等を追加してください 図の著作者 p. 2 ハードディスク : 堀山 貴史 CPU, メモリ, キーボード : http://webweb.s92.xrea.com/ パソコン, ディスプレイ, プリンタ, マウス : Microsoft Office Online / クリップアート その他 堀山 貴史