cmpsys13w03_cpu_hp.ppt
20
0
0
全文
(2) Outline! CPU の主な働き! u CPU での命令実行処理! u CPU の高速化技術! u CPU の性能評価方法・手段! u 並列計算機! u 現在の CPU の動向� u .
(3) CPU の主な働き� u . 制御装置 (Control Unit, CU)! • プログラム制御(命令の解読、実行。分岐命令、データ転送 命令)! • 入出力制御(入出力動作と内部処理。入出力命令)! • 誤り制御(データの誤りの検出、パリティチェック)! • 記憶保護機構(多重平行処理での各記憶領域の保護)!. u . 演算装置 (Arithmetic and Logic Unit, ALU)! • • • • • . 整数演算(四則演算。算術演算命令)! 論理演算(論理和、積、論理否定など。論理演算命令)! 比較演算(算術、論理比較。比較演算命令)! シフト演算(ビットシフト。シフト演算命令)! 浮動小数点演算�.
(4) CPU での命令の実行の流れ�. !3a) オペランド (対象となる値や変数) の有効アドレス計算(利用 する主記憶装置上での場所やレジスタの決定)!. �3b) オペランドの取出し(主記憶装置上のデータやレジスタの内 容を演算回路に取り込む)!. 4) 命令を実行する(Execute, E)! 5) 演算結果をレジスタやメモリに書き込む (Write back/Store, W/S)�. 命令. 取り出し. 段階�. 命令. 実行. 段階�. 命令サイクル. (要する時間:サイクルタイム)�. 1) 命令をレジスタやメモリから取り出す (Instruction Fetch, IF)! 2) 命令を解読する(演算回路の選択) (Instruction Decode, ID)! 3) レジスタやメモリへアクセスする(Operand Addressing, OA)!.
(5) (実際の処理手順は、より多段かつ複雑。 CPU メーカのホームページなどのデータ シート参考のこと。)�.
(6) 動作クロック(clock)� 水晶発振器を用いて発生させる�. write back. execute. addressing. decode. fetch. スタート�. この例では、1つの計算(命令)に. 5 clock かかっている。1 clock 1 計算でない!� クロック周波数:1秒間のクロック数. (CPU の性能の基準値の一つ) .
(7) 実際の処理手順� コンパイル. プログラム. (人が書く処理手順書)�. (機械語へ変換). 0 load A 0 0 0 1. a = 20;. b = 15;. c = a + b;. 1年時の. 計算機基礎を. 参照�. 1. add B. 0 0 1 1. 2 store C 0 0 1 0 3. stop. 0 1 0 1. 4. 20. 0 0 0 0. 5. 15. 0 0 0 0. 6. 0. 0 0 0 0. CPU での処理� これら1つ1つ に対して 先の fetch ~ write back がCPU で処理がされ ていく。�.
(8) 実行コードを知る� アッセンブラコード (assembler code) で確認する。(gcc -S source.c)! (情報処理試験 COMET)! C の(意味のない). ソースコード�. main(){. int a,b,c;. a=1;. b=2;. c=a+b;. }. 命令コード部. (operator,演算子). [実行命令部]. オペランド部. (operand, 被演算子). [対象となるデータの. 場所(アドレス)指定部]. main:. ��.... movl $1, -12(%rbp). movl $2, -8(%rbp). movl -8(%rbp), %eax. movl -12(%rbp), %edx. leal (%rdx,%rax), %eax. movl %eax, -4(%rbp). leave. ret. 一部抜粋�. x86/Linux の例�. このような機械語と. 1対1の関係にある言語を. アッセンブリ言語と言う。. これを機械語に変換する. ソフトウェアを. アッセンブラと言う。� 各命令は、命令コード部と. オペンランド部から成り、. 先の fetch ~ write back の. 命令サイクルの例は、. 例えば、この1つ命令に. 対して. 1サイクル行なわれる。�.
(9) CPU の高速化技法�.
(10) パイプライン処理� 時間(クロック)� fetch!. decode! access! execute! 1つの命令� fetch!. decode! fetch!. 分岐予測. write! 失敗!�. access! execute! decode!. write!. access! execute!. write!. 並列処理(次の. fetch! 無駄!� decode! access! execute! 処理を予測し、次々に処. 理)により、単位時間当たりの. fetch! decode! access! 実行命令数(through-put)は増加� このようなパリプライン. パイプラインの段数�. 処理の失敗、滞りを. 「パイプラインハザード. (hazard)」 という。�. 多段の方が1段あたり処理が少なく、クロックアップは容易。. しかし、予測を間違うと、多くの計算が無駄になる。�.
(11) 計算機そのものではない!�. CPU の性能の決定要因� u u u . u . u u . 内部動作周波数(クロック数, 1 GHz or 3 GHz ?)! 一度に処理出来る bit 数(16, 32 or 64 bit ?)! パイプライン処理! • 一連の処理に必要な命令数 (RISC or CISC ?)! • 1命令あたりの実行に必要なクロック数! • スーパーパイプライン(Pen4:ハイパーパイプライン): パイプラ インのステージをさらに細分化 して並列処理(1ステージ当りの 作業が減りクロック数の上昇が容易)! • 分岐予想の正確さ ! 演算装置(浮動小数点演算装置など)の数 ! • スーパースカラ (superscalar): 同時に並行して命令を処理! 1 (+ 2) 次キャッシュ (L1, L2 cache) の性能と大きさ! (CPU (core) の数)!.
(12) Intel モバイルPentium の例� CPU名�. PenIII-M!. Pen4-M!. Pen M!. パイプライン段数�. 10段�. 20!. 10~12 ?!. 整数�. 3!. 6!. 3 ?!. 浮動小数点�. 1!. 2!. 2 ?!. MMX/SSE/SSE2!. 2!. 1!. 2 ?!. 命令 L1 キャッシュ容量�. 16 kB!. 12kμOps!. 32 kB!. データ L1 キャッシュ容量�. 16 kB!. 8 kB!. 32 kB!. L2 キャッシュ容量�. 512 kB!. 512 kB!. 1-2 MB!. FSB 周波数 (MHz)!. 100/133!. 400/533!. 400!. 実行ユニット数�.
(13) 実行時間と実行尺度 CPI! u . プログラムの “CPU” の実行時間. = 命令数 x 平均 CPI x クロックサイクル時間. • 命令数. u . オブジェクトコードにおいて、実行される機械語の命令数(ソースコード の行数でない). • CPI (Cycles Per Instruction). u u u . 1命令の実行に必要なクロック数(種々の命令の平均値)! 1命令の実行時間 = CPI ÷ クロック周波数! パイプライン処理により向上可(CPI の値はより小さく)!. • クロックサイクル時間 (= 1/クロック周波数)! u . cf. IPC (Instruction Per Cycle)! • ICP = 1/CPI! • 1クロックで実行可能な命令数! • 最近のものでは、(スーパースカラを用いて 1コアあたり) IPC = 1~2 が多 い。 !.
(14) 演算 アーキテクチャ� u . RISC (Reduced Instruction Set Computer) . • 「縮小命令セットコンピュータ」. • 命令を複数の単純化したものにして実行する。! • 例) IBM/Motorola [Power, PowerPC], Sun [Sparc], Dec(現 HP) [Alpha], MIPS [MIPS]!. u . CISC (Complex Instruction Set Computer) . • 「複合命令セットコンピュータ 」! • 一つの命令を段階を踏んで処理をする。! u . 複雑な処理も1命令で出来るが、実行に時間がかかる。!. • 例) Intel [x86系, Xeon, Pentium, Celeron], AMD [Athlon, Duron]! • 現在では、上記の CPU は内部的には RISC と言われている。!.
(15) 実行尺度 MIPS! u . MIPS (Million Instruction Per Second) ! • 1秒間あたりの命令実行回数/106! • CPU によって、命令セットの数が異なり、異なる CPU 間同士 の比較は難しい. u . 以前は、MIPS が性能評価によく使われていたが、現在は、使われな いことが多い。. • 例: クロック数 f = 1 GHz, CPI (= 1/IPC) = 0.8. f / CPI (or = f x IPC) = 1x109 / 0.8 = 1.25 x 109 ! !! != 1,250 MIPS! (c.f., 1 実行時間= (1 / 1x109) x 0.8 = 8x10-10 s = 0.8 ns).
(16) 性能評価 FLOPS, Benchmark Test! u . FLOPS (FLoating Second). point Operations Per. • 1秒間あたりの浮動小数点計算回数. http://www.top500.org. • 日本(理化学研究所•富士通) の「京 “K”」 SPARC64 2.0 GHz [705,024 cores] (11/06-11/11 はトップ, 13/06 現在 4 位). u . u . 日本 NEC の地球シミュレータは、2004年まで2年半首位だった。. Benchmark Test! • 実際に使われるアプリケーションソフトウエアでの性能評価! • 公的な基準としては SPECint, SPECfp など! u . Benchmark テスト用のアプリでは、CPU メーカの 最適化により?実 際を反映していない場合がある。 !.
(17) 並列計算機の分類� u . MIMD, SIMD, SISD, MISD に分類される。. u . MIMD (Multiple Instruction stream Multiple Data stream). • 複数の CPU (マルチプロセッサ) に対して複数の異なる命令 を同時処理(各 CPU は独立にプログラムを実行)! • 現在の超並列コンピュータの主流! • PC での Dual-CPU, Dual-Core, Quad-CPU/Core, ..! L2 Cache. L2 Cache. CPU Core/Chip. CPU Core/Chip. CPU. CPU. L1 Cache. L1 Cache. CPU Core/Chip. CPU Core/Chip. CPU. CPU. L1 Cache. L1 Cache. L2 Cache. Dual CPU の例� Chip Set. (North Bridge). Chip Set. (North Bridge). Dual Core の例. (様々な形態有).
(18) (実際の CPU 回路の写真などを見る とわかりやすい。CPU によって、2次、 3次キャッシュの位置も異なる。)�.
(19) 並列計算機の分類 (SIMD)! u . SIMD (Single Instruction stream Multiple Data stream)! • 1つの命令で複数のデータを処理 (各 CPU は同期的に動作 し、演算を並列に実行)。行列演算など。! • スーパーコンピュータで用いられている。! • 1CPU 内でも! Intel/Pentium : MMX (Multi-Media eXtension), ! SSE (Stream SIMD Extension)! y1. u IBM/PowerPC : AltiVec (Velocity Engine) ! y2. u AMD/Athlon : 3DNow!! y3 =. u . 例) jpeg:. Fourier 変換�. a11 a12 .... a21 a22 ... a31 ... .. 他に SISD (逐次型計算機), MISD (演算パイプライン型計算機) 等�. x1. x2. x3. ..
(20) 現在の CPU の動向� u . CPU の高周波数化の限界 (~ 3-4 GHz) から複数の CPU コ アを積んだ並行処理化 (MIMD) へ! • 複数の CPU(コア)を搭載することにより、同時に複数の処理をする。 ex. Dual-Core (2 core), Quad-Core (4 core) ! • 対応したアプリケーションのみ有効!. u . u u . 関連した最近流行の技術! • クラスタリング (clustering) ! • グリッドコンピューティング (grid computing)! (GPU を用いた高速浮動小数点計算)! 静穏化/省電力の方が重要に! • トランジスタ間の配線を細く (~ 30 nm (=300Å) )、短く! • 節電(周波数を可変に。使っていない回路は停止など)!. u . CPU チップの多機能化! • メモリコントローラ, GPU の内蔵! u . 高速化、省電力化�.
(21)
関連したドキュメント
存在が軽視されてきたことについては、さまざまな理由が考えられる。何よりも『君主論』に彼の名は全く登場しない。もう一つ
あれば、その逸脱に対しては N400 が惹起され、 ELAN や P600 は惹起しないと 考えられる。もし、シカの認可処理に統語的処理と意味的処理の両方が関わっ
[No.20 優良処理業者が市場で正当 に評価され、優位に立つことができる環 境の醸成].
○池本委員 事業計画について教えていただきたいのですが、12 ページの表 4-3 を見ます と、破砕処理施設は既存施設が 1 時間当たり 60t に対して、新施設は
下山にはいり、ABさんの名案でロープでつ ながれた子供たちには笑ってしまいました。つ
わずかでもお金を入れてくれる人を見て共感してくれる人がいることを知り嬉 しくなりました。皆様の善意の募金が少しずつ集まり 2017 年 11 月末までの 6
2018 年、ジョイセフはこれまで以上に SDGs への意識を強く持って活動していく。定款に 定められた 7 つの公益事業すべてが SDGs
税務監督局の事務処理についても,細かく決められている。局務は総て局