計算機構成論II 第1回 (全15回)
知能情報工学科
横田孝義
2 10/6 10/12 10/19 10/28 11/2 11/9 11/16 11/21 12/7 12/14 12/21 1/11 1/18 1/25 2/1
授業計画
2/8 定期テストテキスト
¥3,672円
尾内理紀夫 著
ISBN978-4-254-12701-0 C3341 朝倉書院
4
ダウンロード可能な資料
中間テスト、期末テスト、レポートで採点します。
成績評価は
中間テスト得点(100点満点)×0.3
+期末テスト得点(100点満点) ×0.5
+ レポート複数回の平均得点(100点満点)x 0.2
とし、60点以上を合格とする。
評価方法
6
ノイマン型コンピュータ
真空管 トランジスタ
IC LSI VLSI
Intel 8080 Intel core i7
8
黎明期のコンピュータ
ENIAC(Electronic Numerical Integrator and Calculator))
ペンシルべニア大学ムーア校 J.Presper Eckert & John W.Mauchly
1943年開発開始、1946年公開 真空管 18,000本 高さ 3m 弱 長さ 25m 奥行 1m弱 重さ 30t 消費電力 150kW
黎明期のコンピュータ
EDVAC(Electronic Discrete Variable Automatic Computer)
ジョン・フォン・ノイマン (John von Neumann) 1902-1957
プログラム可変内蔵方式
草稿を執筆 1945年に流出
開発が停滞
1951年に稼働
大学内で対立
約6,000本の真空管 約12,000個のダイオード 消費電力:56kW 占有面積:45.5m2 重さ:7.8t 30人が8時間交代で運用10
黎明期のコンピュータ
EDSAC(Electronic Delay Storage Automatic Calculator)
英国ケンブリッジ大学 ウィルクス(Maurice V. Wilkes) 1913-2010 1947年 EDVACに似たプログラム可変内蔵方式の コンピュータの開発に着手 1949年稼働 サブルーチンの方式のベースを築いた 3,000本の真空管 消費電力:12kW 占有面積: 20m2
ノイマン型コンピューターの定義
(1) プログラム可変内蔵方式 プログラムを構成する命令とデータをコンピュータ内部のメモリに内蔵させる。 命令とデータを区別せず、命令もデータのように処理可能。 実行時にプログラムの任意の部分を書き換えることが可能。 (2) 逐次制御方式 命令は一度に一つずつ、順に(逐次に)実行される。これを命令逐次ともいう。 また、データも一度に1ビットずつ処理される。これをビット逐次ともいう。 (3)一つのプロセッサと一つのメモリ プロセッサはメモリから命令、データを読み込み、命令を実行し、結果を 再びメモリに格納する。 (4)線形アドレス空間 アドレス(メモリの番地)は0から始まる番号順に1次元的に付与されて いるため線形アドレスという。アドレスが16ビットで表現されるならばアドレスは 0から65,535 (216-1)になる。12
ノイマン型コンピュータ
1976年 Intel社の8ビット マイクロプロセッサ 8080A 4,800トランジスタ アドレス 16ビット データ 8ビット クロック周波数 2MHz 世界初の本格的なマイクロプロセッサノイマン型コンピューターの性能向上の歴史の例
1年半で性能は2倍 ムーアの法則 1980年代のスーパーコンピュータは 今日のパソコンの1/100の性能で価格は 1,000倍以上 Memory 64MB HDD ~2GB 0.63 GFLOPS HITAC S-810/20K(1987) Memory ~16GB HDD ~TB 51 GFLOPS x 10014
構造と機能
EDSACの構造:現在のコンピュータと大きく変わっていない。
メモリ部 入力部 出力部 制御部 算術演算ユニット アキュムレータ 演算部 レジスタがアキュム レータ一つだけ。 計算の途中結果は メモリ部に退避。 必要時に読み出す フォン・ノイマン ボトルネック データの流れ 制御の流れもう少し詳しい構造と機能
データの流れ 制御の流れ 命令レジスタ プログラム カウンタ 命令デコーダ 演算 ユニット レ ジ ス タ 群 メモリ部 入出力部 制御部 演算部CPU
16
CPU(Central Processing Unit) 中央処理装置
演算部とは
演算ユニットとレジスタ群で構成 演算ユニット: 算術演算と論理演算を行う レジスタ:一時格納用の高速メモリ 読み書きが高速に出来る レジスタの数が少ないと一時退避用にメモリアクセスが増大する。 これをフォン・ノイマンボトルネックと呼ぶ。 近年のCPUでは多数のレジスタを持つことによってこれを解消している18
CPU(Central Processing Unit) 中央処理装置
制御部とは
メモリ部から取り出した機械語命令に 従って、演算部、メモリ部、入出力部 を制御する。 機械語命令の1例 (Intel 8080A) MOV r, M 意味:レジスタrにアドレスMにある メモリの内容を格納せよ 実際には命令は1と0で表現される ビット列で表される。 EDSACでは機械語命令数は30数個 加減算 乗算 データ転送 シフト 条件分岐などCPU(Central Processing Unit) 中央処理装置
制御部とは
プログラムカウンタ(PC): メモリ部に格納されている機械語命令の アドレスを保持する。プログラムカウンタは レジスタの一種である。 命令レジスタ: メモリ部から読み出した機械語命令を 格納するレジスタである。 命令デコーダ: 機械語命令を解読して制御のための 信号を生成してコントロールバス経由で 送出する。 制御対象は演算部、メモリ部、入出力部 およびプログラムカウンタである。20
CPU(Central Processing Unit) 中央処理装置
バス(BUS)とは
コントロールバス 外部 バス アドレスバス、データバス アドレスバス: メモリ部、あるいは 入出力部の入出力ポート(I/Oポート) アドレスを指定するためのバス バスの幅は16ビット~48ビット等 データバス: CPUとメモリ部、あるいはCPUと 入出力部をつなぐバスである。 バスの幅は8ビットから32ビット等CPU(Central Processing Unit) 中央処理装置
コントロールバスとは
制御対象を指定するセレクト信号と 何を実行するか メモリへの書き込み、読み出し I/Oポートへの出力、読み込みなどを 送出する。22
CPU(Central Processing Unit) 中央処理装置
アドレス データ 書き込み信 号 ① ② ② メモ リリク エスト 信号 ③ アドレスバス データバス コントロールバス メモリ部 例1 メモリへの書き込み動作 C P U
CPU(Central Processing Unit) 中央処理装置
I/Oポート アドレス データ リード信号 ① ② ③ I/O リク エスト 信号 ② アドレスバス データバス コントロールバス 入出力部 例2 入出力部からのデータの 読み込み C P U24
CPU(Central Processing Unit) 中央処理装置
マイクロプロセッサ
CPUの機能を1個のVLSIで実現したのがマイクロプロセッサ どの毎プロプロセッサを 対象に機械語命令などを 勉強すべきか? MIPSとSPARCを採りあげる26
CISCとRISC
世界初のマイクロプロセッサ 1971年 intel 4004 日本人の設計(嶋 正利氏) クロック周波数 500kHz トランジスタ 2,300個 データバス 4ビット アドレスバス 12ビット 今日のCore i7までにつながる。 CISC型マイクロプロセッサ(Complex Instruction Set Computer )
機械語命令が複雑で一つの命令で多くの処理を 盛り込む複合化命令が採用されている。
1年半で性能は2倍 ムーアの法則 1980年代のスーパーコンピュータは 今日のパソコンの1/100の性能で価格は 1,000倍以上 Memory 64MB HDD ~2GB 0.63 GFLOPS HITAC S-810/20K(1987) Memory ~16GB HDD ~TB 51 GFLOPS x 100
CISCとRISC
28
CISCとRISC
一方、1975年にRISCという対極の位置づけのマイクロプロセッサが登場した。 RISC: Reduced Instruction Set Computer
1975年 IBM 801
1986年 MIPS Computer Systems社 MIPS R2000 1987年 Sun Microsystems社 SPARC
CISCとRISC
RISCの特徴 1) 1命令1クロックサイクル 2) ロードストア―キクチャ 3) 固定長命令 4) 機械語命令は基本的、汎用的なもののみ 5) パイプライン処理への考慮 6) コンパイラによる支援重視 CISCに比べてハードウエアが簡素化 現在ではRISCの複雑化により両者を区別する事に意味がなくなってきた。30
MIPSとSPARC
MIPSシミュレータの存在 MIPS シミュレータ で検索すると ダウンロードサイトが 出てくる。 QtSpim_9.1.16_Windows性能比較
コンピュータの性能を決める要因
CPU性能
オペレーティングシステム
コンパイラ
パイプライン処理
記憶階層
そのコンピュータに向いたプログラムかどうか
32
性能比較
CPU実行時間 プログラムのCPU実行時間 = プログラム内命令数 × 平均CPI × クロックサイクル時間 プログラム内命令数:そのプログラムのオブジェクトコード内で実際に実行された 機械語命令数 クロックサイクル時間:クロックパルスの周期 平均CPI: Clock cycle Per InstructionMIPS値
MIPS値とは、Million Instructions Per Second の略
1秒間に機械語命令実行数を100万単位で数えた数値。
34