計算機アーキテクチャ 第 3 回コンピュータのハードウェア 2014 年 4 月 21 日 電気情報工学科 田島孝治 1
授業スケジュール ( 前期 ) 2 回 日付タイトル 回日付タイトル 1 4/7 コンピュータ技術の歴史と コンピュータアーキテクチャ 2 4/14 ノイマン型コンピュータ 3 4/21 コンピュータのハードウェア 4 4/28 数と文字の表現 5 5/12 固定小数点数と浮動小数点表現 6 5/19 計算アーキテクチャ (ARU) 7 5/26 計算装置のハードウェア実装 8 6/2 文字コード 10 6/16 主記憶装置とレジスタ 11 6/23 命令実行の流れ 12 6/30 命令形式とアセンブリ言語 13 7/7 命令セット 14 7/14 サブルーチンの実現 15 7/28 PCSpimによるアセンブリ言語 プログラム 8/4? 期末試験 ( 日程は仮 ) 16 9/29? フォローアップ ( 日程は仮 ) 9 6/9? 中間試験 ( 日程は仮 ) 5/5はこどもの日 7/21は海の日のため休講 急なスケジュール変更があった場合, 掲示およびメールで連絡します
先週の演習問題 次のコンピュータで 3 つの数の加算を行った場合の処理時間を求めよ CPU の演算速度 :1 処理あたり 6 秒 メモリの読み書き速度 ( バス速度 ):6 秒 プログラムの読み込みにもこの時間が必要 実行上の注意 CPU メモリ上の 000 番地からの内容をプログラムとして読み込み実行する メモリ上に結果を格納する メモリ 番地内容 000 100 番地の値を取得 001 101 番地の値を取得 002 レジスタの内容を加算 003 結果を103 番地へ保存 004 102 番地の値を取得 005 103 番地の値を取得 006 レジスタの内容を加算 007 結果を103 番地へ保存 3 100 データ A 101 データ B 102 データ C 103 結果保存用
なぜあまり早くならないのか 4 処理時間の内訳 計算処理メモリへの読み書き合計時間 初期状態秒秒秒 3 倍速秒秒秒 10 倍速秒秒秒 処理時間の大半メモリの読み書きが占める フォンノイマンボトルネック (Von Neumann bottleneck) メモリバスの取り合いにより高速に計算を行うことが難しい 今のコンピュータでも起こっている? bottleneck
対策技術 5 メモリを早くすれば良いのですが 性能的な限界よりも制御的な限界があります 半導体への読み書きよりも通信路と CPU からのリクエスト処理 ( 割り当て ) が問題 マルチチャネルアーキテクチャ 一般的にはデュアルチャネル (Dual-channel) 複数のメモリを同時に読み書き可能にする 1 回の通信で 2 データ分をやり取りできるイメージ 仮想的に通信路を拡大することができる
演習問題 7 次のコンピュータで 3 つの数の加算を行った場合の処理時間を求めよ CPU の演算速度 :1 処理あたり 6 秒 メモリの読み書き速度 ( バス速度 ):6 秒 プログラムの読み込みにもこの時間が必要 デュアルチャネル プログラムは 2 行まとめて読み込める 読み込んだ 2 つの命令が両方とも読み込み命令の場合には データも 2 つ同時に読み込める 実行上の注意 CPU メモリ上の 000 番地からの内容をプログラムとして読み込み実行する メモリ上に結果を格納する メモリ 番地内容 000 100 番地の値を取得 001 101 番地の値を取得 002 レジスタの内容を加算 003 結果を103 番地へ保存 004 102 番地の値を取得 005 103 番地の値を取得 006 レジスタの内容を加算 007 結果を103 番地へ保存 100 データA 101 データB 102 データC 103 結果保存用 6
計算時間の計算用紙 7
演習問題の回答 8
今日の授業の目的 9 コンピュータのハードウェアを理解する 計算機を構成するハードウェアの種類を理解する CPU メモリの性能について理解する
計算機の論理構成 10 入力装置 演算装置 記憶装置 主記憶装置 制御装置 中央演算処理装置 CPU 補助記憶装置 出力装置
実際のハードウェア構成 11 プロセッサ 内部装置 内部バス メインメモリ インタフェース 外部バス I/O 3 種類の基本的なハードウェアから成る プロセッサ メインメモリ 入出力装置 バス : データの通り道 ファイル装置
プロセッサ (CPU) 12 情報処理を担当するハードウェア レジスタ ALU 制御機構を持つ ALU(Arithmetic and Logic Unit): 算術演算装置 用途に合わせて プログラムを実行可能 専用のICを何個も搭載しなくても良い 柔軟性が向上 用途に応じていくつかの種類が存在 ワンチップ型 : 組み込み用マイコン マルチチップ型 : 複数のICを集積
( 復習 ) 演算装置を細かく見てみよう 13 演算装置の構成 汎用レジスタ R1 R5 R2 R6 R3 R7 ALU フラグ レジスタ FR R4 R8 レジスタ : 演算装置内にある一次的な記憶装置 メモリに比べ非常に高速にアクセスできる ALU: 算術演算 論理演算を行う電子回路 第 2 回計算機アーキテクチャ
( 復習 ) 制御装置を細かく見てみよう 14 制御装置の構成 プログラムカウンタ PC 命令レジスタ IR 命令の 読み込み デコーダ DEC プログラムカウンタ : 次に実行する命令の番地を記録 自動で 1 づつ加算されていくようになっている 命令レジスタ : メモリから取り出した命令を一時的に記録 デコーダ : 命令レジスタの内容を解釈し制御信号を出力 第 2 回計算機アーキテクチャ
CPU の歴史と発展 15 世界初の CPU: i4004 (1971,Intel) 2000 個以上の素子から成る4bitCPU 100kHz 程度で動作 CPU の確立 8080:Intelの作った8bitCPU 6800: モトローラの作った8bitCPU どちらも1MHz 程度で動作する インテル CPU の歴史 8086 80386 80486 Pentium PentiumII Pentium4 Core 2シリーズ Core i シリーズ
8086CPU の外観 16
80386 の外観 17 IO のためのピンは裏に配置されている
Core i7 の外見 18 近年は裏面を接点だけにしてある CPU が登場
今売っている CPU って何が違うの? 19 ソケット形状 Intel と AMD で異なるだけなく 世代によっても違う LGA1150 (intel 第 4 世代 Core),Socket FM2 等がある コア 演算処理機能の個数 多ければ多いほど並列計算ができる スレッド 1 コアあたりの処理命令数 intel 社の Hyper-Threading は 2 スレッドの同時実行を実現
今売っている CPU って何が違うの? 20 動作周波数 回路の同期信号のクロック数 一般的には演算の実行速度 キャッシュメモリ CPU 内部に用意されている高速なメモリの容量 多いほどボトルネックの解消に役立つ TDP 熱設計電力 : プロセッサーの最大発熱量 多いほど大きなクーラーが必要 小さいほど静音性を高くできる その他 : 消費電力 価格はもちろん違う モバイル用とデスクトップ用では性能が異なる
価格.com で調べてみた (4/19) 21 売れ筋ランキング 項目 \ 順位 1 2 3 4 5 商品名 Celeron Dual-Core G1820 Core i3 4130 Athlon Quad-Core 5350 Core i7 4770K Core i7 4770 価格 4,480 12,397 6,480 36,440 32,810 コア数 2 2 4 4 4 スレッド数 2 4-8 8 動作周波数 2.7GHz 3.4GHz 2.0GHz 3.5GHz 3.4GHz キャッシュメモリ 2MB 3MB 2MB 8M 8M その他 TDP53W TDP54W TDP25W TDP84W TDP84W http://ark.intel.com/products/75122
最高の CPU 最適な CPU 22 サーバ用 CPU: Intel Xeon E7-8870 定価 US$ 4,646 コア数 10 スレッド数 20 動作周波数 キャッシュメモリ 2.4GHz 30MB その他 TDP130W ノートパソコン ( モバイル ) 用 CPU 型番 Core i3 4100E Core i7 4700EQ コア数 2 8 スレッド数 4 8 動作周波数 2.4GHz 2.4GHz-3.4GHz キャッシュメモリ 3MB 6MB その他 TDP37W TDP47W
メインメモリの歴史 23 ところでメモリって何? 0/1 の状態を電気的に保持できるハードウェア 遅延線 磁気コアメモリ フェライトコアを磁化させて情報を記録 速度面 コスト面での改善が必要 磁気コアメモリの拡大図
DRAM(Dynamic RAM) の登場 24 コンデンサに電荷を蓄える原理を用いる 常に電源が必要 : 定期的に充電しないと値が消失する Intel 1103 (1970) 1Kbit の情報を記録可能 単体モジュール 素子によって性能や使い方は異なっていた Select Data 蓄電によりデータを保持
DRAM の進化 25 SDRAM(1996) データの読み書きがクロック信号に同期するように改良された DRAM 外部クロック (66MHz,100MHz,133MHz) に合わせて動作する DDR-SDRAM(2001) 通常の SD-RAM の 2 倍速 (Double-Data-Rate) で動作する クロックと等速の動作を実現 DDR2-SDRAM(2004) DDR の 2 倍速の動作 DDR2 以降はプリフェッチ ( 事前読み出し ) を利用し 高速化を実現 DDR3-SDRAM(2007) DDR2 の 2 倍速で動作する
メモリの速さと規格 26 標準モジュール ( チップ ) 規格の性能表 分類 DDR DDR2 DDR3 チップ モジュール メモリ バス 転送速度 規格 規格 クロック (MHz) クロック (MHz) (GB/ 秒 ) DDR200 PC1600 200 100 1.6 DDR266 PC2100 266 133 2.133 DDR333 PC2700 333 167 2.667 DDR400 PC3200 400 200 3.2 DDR2-400 PC2-3200 100 200 3.2 DDR2-533 PC2-4200 133 266 4.267 DDR2-667 PC2-5300 166 333 5.333 DDR2-800 PC2-6400 200 400 6.4 DDR3-800 PC3-6400 100 400 6.4 DDR3-1066 PC3-8500 133 533 8.533 DDR3-1333 PC3-10600 166 667 10.667 DDR3-1600 PC3-12800 200 800 12.8
DRAM と SRAM 27 SRAM(Static RAM) 論理回路によって値を記憶する :Flip-Flop 高速で低電力だが コストは高い 容量は少なくとも高速性が要求される場面で利用される CPU 内のキャッシュメモリ等 新しいメモリデバイスは出てくるか? 磁気抵抗メモリ (MRAM) コンデンサでなく電子のスピンを利用 メモリスタを利用したメモリ 電流を記録する抵抗器を利用
I/O(input/output) について 28 人間がコンピュータの内部に情報を与えたり 取り出したりするための装置 通信装置を含めることもある 具体的なハードウェア キーボード マウス トラックボール センサ ディスプレイ プリンタ アクチュエータ イーサネット シリアル通信
バスとインタフェース 29 バス (bus) データや制御信号などの伝送路 バスの規格によって伝送速度は異なる よく使われている USB は Universal Serial Bus どんな種類があるの? CPU バス メモリバス 外部バス :SCSI IDE PCI USB AGP PCI Express バスによって制御するチップは異なる
バスの形状 30 メモリバス 拡張ボードスロット PCIe 1x PCIe 16x PCI
演習問題 31 30GB の動画ファイルを下記のバス規格で転送するとき 何秒かかるかを求めよ 転送区間 規格の種類 規格の転送速度 転送時間 メモリ-CPU DDR3-1600 12.8GB/ 秒 メモリ-GPU PCIe x16 16GB/ 秒 HDD-メモリ Serial ATA600 600MB/ 秒 SSD-メモリ Serial ATA 6Gb/s 600MB/ 秒 USB-メモリ USB2.0 480Mbps USB-メモリ USB3.0 5Gbps 有線 LAN 1000BASE-T 1Gbps 無線 LAN IEEE 802.11n 600Mbps 携帯回線 LTE (4G) 100Mbps 実際は 300MB/ 秒程度 bps は bit/sec の意味
計算用紙 32
パソコンは何を買えば作れる? 33 ケース 電源 マザーボード CPUファン CPU メインメモリ HDD or SSD 光学ドライブ OS ベアボーン オプション グラフィックカード サウンドカード その他周辺機器 キーボード マウス ディスプレイ プリンタ スピーカー 無線 LAN ケースファン
何を元に決めればよいか 34 使用用途 : どのハードウェアにこだわるか 動画を大量に録画 :HDD を増強 ブルーレイを綺麗に見たい : グラフィックボード メモリ 光学ドライブを重視 ゲームを快適に動かしたい : グラフィックボード メインメモリを重視 とにかく静かに使いたい : ケース 電源 クーラを調整 金額 上限を決めておく 優先度の高いものにコストをかける
パソコンを作ってみよう 35 自分ですべてパーツを選んで作る 慣れていないと大変 組み合わせに不具合があると取り付けられない 自由度は高い BTO でパーツを選ぶ ある程度決まったものを組み合わせる 組み立てる手間も省ける ( その分コストが上がる ) 自由度が落ちるが 自分であとから追加もできる ベアボーンを使う ケース関係は決まっている CPU 等コアの部分は選べる ケースがコンパクトにできるなどの魅力もある