計算機アーキテクチャ
2014年 4月21日
電気情報工学科 田島 孝治
第3回 計算機アーキテクチャ 1
授業スケジュール(前期)
※
5/5はこどもの日、7/21は海の日のため休講
※急なスケジュール変更があった場合,掲示およびメールで連絡します
2
第3回 計算機アーキテクチャ 回 日付 タイトル 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 文字コード 9 6/9? 中間試験(日程は仮) 回 日付 タイトル 10 6/16 主記憶装置とレジスタ 11 6/23 命令実行の流れ 12 6/30 命令形式とアセンブリ言語 13 7/7 命令セット 14 7/14 サブルーチンの実現 15 7/28 PCSpimによるアセンブリ言語 プログラム 8/4? 期末試験(日程は仮) 16 9/29? フォローアップ(日程は仮)先週の演習問題
次のコンピュータで3つの数の加算を
行った場合の処理時間を求めよ
CPUの演算速度:1処理あたり6秒
メモリの読み書き速度(バス速度):6秒
プログラムの読み込みにもこの時間が必要 実行上の注意
CPUメモリ上の000番地からの内容を
プログラムとして読み込み実行する
メモリ上に結果を格納する
第3回 計算機アーキテクチャ3
メモリ
番地 内容 000 100番地の値を取得 001 101番地の値を取得 002 レジスタの内容を加算 003 結果を103番地へ保存 004 102番地の値を取得 005 103番地の値を取得 006 レジスタの内容を加算 007 結果を103番地へ保存 ・・・ ・・・ 100 データA 101 データB 102 データC 103 結果保存用なぜあまり早くならないのか
処理時間の内訳
処理時間の大半メモリの読み書きが占める
フォンノイマンボトルネック
(
Von Neumann bottleneck)
メモリバスの取り合いにより高速に
計算を行うことが難しい
第3回 計算機アーキテクチャ4
計算処理 メモリへの読み書き 合計時間 初期状態 秒 秒 秒 3倍速 秒 秒 秒 10倍速 秒 秒 秒今のコンピュータでも起こっている?
bottleneck対策技術
メモリを早くすれば良いのですが
…
性能的な限界よりも制御的な限界があります
半導体への読み書きよりも通信路と、
CPUか
らのリクエスト処理(割り当て)が問題
マルチチャネルアーキテクチャ
一般的には
デュアルチャネル
(Dual-channel)
複数のメモリを同時に読み書き可能にする
1回の通信で2データ分
をやり取りできるイメージ
仮想的に通信路を拡大
することができる
第3回 計算機アーキテクチャ5
演習問題7
次のコンピュータで3つの数の加算を
行った場合の処理時間を求めよ
CPUの演算速度:1処理あたり6秒
メモリの読み書き速度(バス速度):6秒
プログラムの読み込みにもこの時間が必要 デュアルチャネル
プログラムは2行まとめて読み込める 読み込んだ2つの命令が両方とも読み込み 命令の場合には、データも2つ同時に読み 込める 実行上の注意
CPUメモリ上の000番地からの内容を
プログラムとして読み込み実行する
メモリ上に結果を格納する
第3回 計算機アーキテクチャ6
メモリ
番地 内容 000 100番地の値を取得 001 101番地の値を取得 002 レジスタの内容を加算 003 結果を103番地へ保存 004 102番地の値を取得 005 103番地の値を取得 006 レジスタの内容を加算 007 結果を103番地へ保存 ・・・ ・・・ 100 データA 101 データB 102 データC 103 結果保存用計算時間の計算用紙
第3回 計算機アーキテクチャ
演習問題の回答
第3回 計算機アーキテクチャ
今日の授業の目的
計算機を構成するハードウェアの種類
を理解する
CPU、メモリの性能について理解する
第3回 計算機アーキテクチャ9
コンピュータのハードウェアを理解する
計算機の論理構成
10
演算装置
制御装置
記憶装置
入力装置
出力装置
主記憶装置 補助記憶装置中央演算処理装置
CPU
実際のハードウェア構成
3種類の基本的なハードウェアから成る
プロセッサ、メインメモリ、入出力装置
バス
:データの通り道
第3回 計算機アーキテクチャ11
プロセッサ
メインメモリ
内部装置
インタフェース外部
バス
内部
バス
I/O
ファイル 装置プロセッサ(
CPU)
情報処理を担当するハードウェア
レジスタ
、
ALU
、制御機構を持つ
ALU(Arithmetic and Logic Unit):算術演算装置
用途に合わせて、プログラムを実行可能
専用の
ICを何個も搭載しなくても良い
柔軟性が向上
用途に応じていくつかの種類が存在
ワンチップ型:組み込み用マイコン
マルチチップ型:複数の
ICを集積
第3回 計算機アーキテクチャ12
(復習)演算装置を細かく見てみよう
演算装置の構成
レジスタ
:
演算装置内にある
一次的な記憶装置
メモリに比べ
非常に高速
にアクセスできる
ALU:
算術演算、論理演算を行う電子回路
第2回 計算機アーキテクチャ13
ALU
汎用レジスタ
R1 R2 R3 R4 R5 R6 R7 R8 FRフラグ
レジスタ
(復習)制御装置を細かく見てみよう
制御装置の構成
プログラムカウンタ
:
次に実行する
命令の番地
を記録
自動で1づつ加算されていくようになっている
命令レジスタ:
メモリから取り出した命令を一時的に記録
デコーダ:
命令レジスタの内容を解釈し制御信号を出力
第2回 計算機アーキテクチャ14
プログラムカウンタ
PC IR命令レジスタ
DECデコーダ
命令の
読み込み
CPUの歴史と発展
世界初の
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 シリーズ
第3回 計算機アーキテクチャ15
8086CPUの外観
第3回 計算機アーキテクチャ
80386の外観
IOのためのピンは裏に配置されている
第3回 計算機アーキテクチャ
Core i7の外見
第3回 計算機アーキテクチャ
18
今売っている
CPUって何が違うの?
ソケット形状
IntelとAMDで異なるだけなく、世代によっても違う
LGA1150
(intel 第4世代Core),Socket FM2等がある
コア
演算処理機能の個数
多ければ多いほど
並列計算ができる
スレッド
1コアあたりの処理命令数
intel社のHyper-Threadingは2スレッドの同時実行を実現
第3回 計算機アーキテクチャ19
今売っている
CPUって何が違うの?
動作周波数
回路の同期信号のクロック数、一般的には演算の実行速度
キャッシュメモリ
CPU内部に用意されている高速なメモリの容量
多いほどボトルネックの解消に役立つ
TDP
熱設計電力:プロセッサーの最大発熱量
多いほど大きなクーラーが必要
小さいほど静音性を高くできる
その他:
消費電力、価格はもちろん違う
モバイル用とデスクトップ用では性能が異なる
第3回 計算機アーキテクチャ20
価格
.comで調べてみた(4/19)
売れ筋ランキング
第3回 計算機アーキテクチャ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
サーバ用
CPU: Intel® Xeon® E7-8870
定価
US$ 4,646
ノートパソコン(モバイル)用
CPU
22
コア数 10 スレッド数 20 動作周波数 2.4GHz キャッシュメモリ 30MB その他 TDP130W型番 Core i3 4100E Core i7 4700EQ
コア数 2 8
スレッド数 4 8
動作周波数 2.4GHz 2.4GHz-3.4GHz キャッシュメモリ 3MB 6MB
メインメモリの歴史
ところでメモリって何?
0/1の状態を
電気的に保持できる
ハードウェア
遅延線
磁気コアメモリ
フェライトコアを
磁化させて情報
を記録
第3回 計算機アーキテクチャ23
磁気コアメモリの拡大図速度面、コスト面での
改善が必要
DRAM(Dynamic RAM)の登場
コンデンサ
に電荷を蓄える原理を用いる
常に電源が必要:定期的に
充電しないと値が消失
する
Intel 1103 (1970)
1Kbitの情報を記録可能
単体モジュール
素子によって性能や使い方
は異なっていた
24
Select
Data
蓄電によりデータ
を保持
DRAMの進化
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倍速で動作する
第3回 計算機アーキテクチャ25
メモリの速さと規格
標準モジュール(チップ)規格の性能表
第3回 計算機アーキテクチャ26
分類
チップ
規格
モジュール
規格
メモリ
クロック(MHz)
バス
クロック(MHz)
転送速度
(GB/秒)
DDR
DDR200
PC
1600
200
100
1.6
DDR266
PC2100
266
133
2.133
DDR333
PC2700
333
167
2.667
DDR400
PC3200
400
200
3.2
DDR2
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
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
SRAM(Static RAM)
論理回路
によって値を記憶する:
Flip-Flop
高速で低電力
だが、
コストは高い
容量は少なくとも高速性が要求される場面で利用される
CPU内の
キャッシュメモリ
等
新しいメモリデバイスは出てくるか?
磁気抵抗メモリ(
MRAM)
コンデンサでなく電子のスピンを利用
メモリスタを利用したメモリ
電流を記録する抵抗器を利用
第3回 計算機アーキテクチャ27
I/O(input/output)について
人間がコンピュータの内部に
情報を与えたり
、
取り出したり
するための装置
通信装置を含めることもある
具体的なハードウェア
キーボード、マウス、トラックボール、センサ
ディスプレイ、プリンタ、アクチュエータ
イーサネット、シリアル通信
第3回 計算機アーキテクチャ28
バスとインタフェース
バス(
bus)
データや制御信号などの伝送路
バスの規格によって伝送速度は異なる
※よく使われている
USBは
U
niversal
S
erial
B
us
どんな種類があるの?
CPUバス、メモリバス
外部バス:
SCSI、IDE、PCI、USB
AGP、PCI Express
バスによって制御するチップは異なる
第3回 計算機アーキテクチャ29
バスの形状
メモリバス
拡張ボードスロット
第3回 計算機アーキテクチャ30
PCIe 1x
PCIe 16x
PCI
演習問題
30GBの動画ファイルを下記のバス規格で
転送するとき、何秒かかるかを求めよ
第3回 計算機アーキテクチャ31
転送区間 規格の種類 規格の転送速度 転送時間 メモリ-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の 意味計算用紙
第3回 計算機アーキテクチャ