コンピュータの主役はCPU(Central Processing Unit)

Slides:



Advertisements
Similar presentations
1 広島大学 理学研究科 尾崎 裕介 石川 健一. 1. Graphic Processing Unit (GPU) とは? 2. Nvidia CUDA programming model 3. GPU の高速化 4. QCD with CUDA 5. 結果 6. まとめ 2.
Advertisements

授業展開#12 コンピュータの扱いにくい問 題. 扱いにくい問題  処理時間がかかる。  メモリを大量に必要とする。  プログラムの優劣、アルゴリズムの優劣 を比較するためには、標準的なコン ピュータで比較する必要がある。  処理時間を計るのに、コンピュータのモ デルとして、チューリングマシンを考え、
2014年4月11日 電子制御設計製図Ⅰ 第二回 担当教員: 北川輝彦.
第3回 並列計算機のアーキテクチャと 並列処理の実際
計算理工学基礎 「ハイパフォーマンスコンピューティングの基礎」
CPUについて HN:セシル.
基本情報技術概論(第10回) 埼玉大学 理工学研究科 堀山 貴史
Ibaraki Univ. Dept of Electrical & Electronic Eng.
計算科学が拓く世界 スーパーコンピュータは 何故スーパーか
榮樂 英樹 LilyVM と仮想化技術 榮樂 英樹
USB2.0対応PICマイコンによる データ取得システムの開発
計算機システムⅡ 主記憶装置とALU,レジスタの制御
計算機アーキテクチャ特論Chapter.6.6~6.9
CPU実験 第1回中間発表 4班 瀬沼、高橋、津田、富山、張本.
「コンピュータと情報システム」 01章 コンピュータの基礎知識
  第1章 コンピュータの歴史と構成  コンピュータ(computer)は人間の命令(プログラム)に従って,複雑な計算やいろいろなデータ処理ができる機械(道具)である.主な特徴は次の3点である. ●高速計算:計算は極めて速い.1秒間に数百億以上の計算ができる.   ●正確計算:人間の命令に従って,間違えることなく正しく計算できる. 
P,Q比が変更可能なScaLAPACKの コスト見積もり関数の開発
分散遺伝的アルゴリズムによる各種クラスタのベンチマーク
計算機システムⅡ 命令セットアーキテクチャ
ARM 株式会社アプライド・マーケティング 大越 章司
プログラムはなぜ動くのか.
高性能コンピューティング論2 第1回 ガイダンス
第5回 CPUの役割と仕組み3 割り込み、パイプライン、並列処理
情報処理同実習 2007 担当:佐藤春樹、TA:中山君、橋本君、山本君
Ibaraki Univ. Dept of Electrical & Electronic Eng.
基本情報技術概論(第8回) 埼玉大学 理工学研究科 堀山 貴史
パソコンの歴史 ~1970年 1970年代 1980年代 1990年~ ▲1946 ENIAC(世界最初の計算機、1,900加算/秒, 18,000素子) ▲1947 UNIVACⅠ(最初の商用計算機) ▲1964 IBM System/360(5.1MHz, 1MB, 2億円) ▲1974 インテル8080(8.
Yutaka Yasuda, 2004 spring term
組み込み向けCPU 小型デバイスに搭載されるCPU 特徴 携帯電話,デジタルカメラ,PDA,センサデバイスなど 小型 低消費電力 多機能
コンピュータの原理 1E17M053-9 奈良 皐佑 1E17M070-7 師尾 直希        1E17M078-6 渡邊 惇.
OpenMPハードウェア動作合成システムの検証(Ⅰ)
アドバンスト コンピュータ アーキテクチャ RISC と 命令パイプライン
コンピュータを知る 1E16M009-1 梅津たくみ 1E16M017-8 小沢あきら 1E16M035-0 柴田かいと
序章 第2節 教育機器とコンピュータ 1 パーソナルコンピュータ
1.コンピュータと情報処理 p.18 第1章第1節 2.コンピュータの動作のしくみ CPUと論理回路
坂井 修一 東京大学 大学院 情報理工学系研究科 電子情報学専攻 東京大学 工学部 電気工学科
#6 性能向上、ブレイクスルー、集中と分散 Yutaka Yasuda.
コンピュータの歴史 〜計算速度の進歩〜 1E15M009-3 伊藤佳樹 1E15M035-2 柴田将馬 1E15M061-1 花岡沙紀
コンピュータ系実験Ⅲ 「ワンチップマイコンの応用」 第1週目 アセンブリ言語講座
プログラミング言語入門.
Advanced Computer Architecture
コンピュータの歴史 ~1945年からの実用過程~ メンバー:秋田梨紗 (1E16M001-1) 梅山桃香 (1E16M010-2)
コンピュータの基本構成について 1E16M001-1 秋田梨紗 1E16M010-2 梅山桃香 1E16M013-3 大津智紗子
通信機構合わせた最適化をおこなう並列化ンパイラ
ARM 株式会社アプライド・マーケティング 大越 章司
最新 IT トレンド ARM.
ARM.
コンピュータの歴史 1E16M009-1 梅津拓巳 1E16M045-4 田中新汰 1E16M035-0 柴田海斗
前回の授業への質問 質問:プロトコルアナライザで測定できる範囲はどこまでか?
先週の復習: CPU が働く仕組み コンピュータの構造 pp 制御装置+演算装置+レジスタ 制御装置がなければ電卓と同様
坂井 修一 東京大学 大学院 情報理工学系研究科 電子情報学専攻 東京大学 工学部 電気工学科
Ibaraki Univ. Dept of Electrical & Electronic Eng.
コンピュータアーキテクチャ 第 9 回.
より詳しく書けば 遅延時間が無視できない場合の TCPのスループットの低下について
計算機アーキテクチャ1 (計算機構成論(再)) 第一回 計算機の歴史、基本構成、動作原理
基本情報技術概論(第13回) 埼玉大学 理工学研究科 堀山 貴史
パイプラインとは何か? マイクロプロセッサ(MPU)の高速化手法の一つのこと。
計算機アーキテクチャ1 (計算機構成論(再)) 第二回 命令の種類と形式
第4回 CPUの役割と仕組み2 命令の解析と実行、クロック、レジスタ
情報コミュニケーション入門b 第2回 Part1 ハードウェアとソフトウェア
コンピュータアーキテクチャ 第 9 回.
コンピュータの五大要素 入力装置 データ(プログラム)を取り込む 出力装置 処理結果のデータを外部に取り出す
ARM 株式会社アプライド・マーケティング 大越 章司
情報コミュニケーション入門b 第2回 Part1 ハードウェアとソフトウェア
コンピュータ工学基礎 マルチサイクル化とパイプライン化 テキスト9章 115~124
情報論理工学 研究室 第1回:並列とは.
ARM 株式会社アプライド・マーケティング 大越 章司
分散メモリ型並列計算機上での行列演算の並列化
Ibaraki Univ. Dept of Electrical & Electronic Eng.
情報システム基盤学基礎1 コンピュータアーキテクチャ編
Presentation transcript:

コンピュータの主役はCPU(Central Processing Unit) コンピュータの構成要素 コンピュ−タ 制御 入力 装置 装置 記憶 装置 演算 装置 出力 装置 プロセッサ CPU

コンピュ−タの世代 世代 期間 中核テクノロジ 主な新製品 1 1950-1959 真空管   商用電子計算機 1960-1968 トランジスタ   事務・技術計算機から汎用機へ 1969-1977 集積回路(IC)   ミニコンピュ−タ 1978-199? LSIおよびVLSI   パソコンとワ−クステ−ション 5 199?-20?? マイクロプロセッサ 個人用携帯端末と並列プロセサ

1951 UNIVAC I(商用コンピュ−タとして最初に成功) 1000 124,500 1,900 48 $1,000,000 1 年 機種 サイズ  消費電力 性能 メモリ  時価  価格性能比 立方feet   ワット 加算/秒 Kバイト 1 feet = 30 cm 1951 UNIVAC I(商用コンピュ−タとして最初に成功) 1000  124,500 1,900   48 $1,000,000  1 1964 IBM S360/50(コンピュ−タ・ファミリ,大型コンピュ−タ市場支配) 60  10,000 500,000   64 $1,000,000  263 1965 PDP-8(最初の商用ミニコンピュ−タ) 8  500 330,000   4 $16,000   10,855 1976 Cray-1(ス−パ−コンピュ−タ) 58  60,000 166,000,000 32,768 $4,000,000 21,842 1981 IBM PC(パソコンのベストセラ−) 1  150 240,000 256 $3,000   42,105 1991 HP 9000/750(ワークステーション) 2  500 50,000,000 16,384 $7,400  3,556,188 1996 Intel PPro PC (200MHz) 2  500 400,000,000 16,384 $4,400  47,846,890 2003 Intel Pentium 4 PC (3.0GHz) 2  500 6,000,000,000 262,144 $1,600 11,452,000,000

millions of computers D.A.Patterson and J.L.Hennessy: Computer Organization and Design The Hardware/Software Interface, 3rd edition, Morgan Kaufmann, 2005

millions of processors D.A.Patterson and J.L.Hennessy: Computer Organization and Design The Hardware/Software Interface, 3rd edition, Morgan Kaufmann, 2005

コンピュータの性能の定義 クロック(clock) コンピュ−タは一定の速度で時を刻むクロックに基づいて動作する クロック・サイクル時間(clock cycle time) 単位:秒/サイクル クロックの時間間隔,クロック周期ともいう.たとえば10ns 1間隔=1サイクル クロック周波数(clock rate) 単位:サイクル/秒 (Hz) クロック・サイクル時間の逆数.たとえば100MHz    たとえば、クロック・サイクル時間が1μ秒なら         クロック周波数は1MHz 数の単位 1015 peta 1012 tera 109 giga 106 mega 103 kilo 10-15 femto 10-12 pico 10-9 nano 10-6 micro 10-3 milli

例:クロック周波数が100MHzのマシン上で10秒で実行できるプログラム のクロックサイクル数は あるプログラムの CPU実行時間 そのプログラムの クロック・サイクル数 = × クロック・サイクル時間 そのプログラムのクロック・サイクル数 = クロック周波数 例:クロック周波数が100MHzのマシン上で10秒で実行できるプログラム   のクロックサイクル数は    CPU時間×クロック周波数 = 10秒×100×106サイクル/秒 = 1000×106サイクル 命令あたりの平均クロック・サイクル数(Clock Cycles Per Instruction: CPI) 実行したプログラムのクロック・サイクル数 = そのプログラムで実行した命令数 CPU時間 = 実行命令数×CPI×クロック・サイクル時間 例:クロック・サイクル時間が10ns(ナノ秒),CPIが2.0の場合,   100,000命令実行するのに要する時間は 100000命令×2.0サイクル/命令×10×10-9秒/サイクル= 2.0×10-3秒= 2.0ミリ秒

クロック・周波数が100MHzのマシン上で10秒で実行できるプログラムがある. このプログラムの実行に要するクロック・サイクル数はいくつか. 問1: クロック・周波数が100MHzのマシン上で10秒で実行できるプログラムがある. このプログラムの実行に要するクロック・サイクル数はいくつか. このプログラムを6秒で実行できるマシンを開発したい. クロック周波数を上げると,その影響が別の面にでて,そのプログラムでは 1.2倍のクロック・サイクル数が必要になるという. クロック周波数をどこまで上げればよいか. 問2: 同じ命令セットア−キテクチャを実現した2種類のマシンがある(機械語は同じ). マシンAはクロック・サイクル時間が10nsで,あるプログラムでのCPIが2.0であり, マシンBはクロック・サイクル時間が20nsで,同じプログラムでのCPIが1.2である とする.このプログラムでは,どちらがどのくらい速いか. 問3: あるマシンには3種類の命令のクラスA,B,Cがあり, それぞれの命令クラスのCPIは1,2,3である. あるコンパイラ設計者が,ある文に対してコンパイラが生成するコ−ド系列を2通り検討している.1つは,A,B,Cの各クラスの命令が2,1,2回実行されるものであり,もう1つは4,1,1回実行されるものである. どちらのコ−ド系列の方が実行される命令数が多いか.実行速度はどちらが速いか. それぞれのCPIはいくつか. (1)サイクル数=10秒*(100*10^6サイクル/秒)=10^9サイクル, 6秒*(xサイクル/秒)=10^9*1.2サイクル: x= 10^9*0.2=200*10^6 (2)実行時間=サイクル数*クロックサイクル時間=実行命令数*CPI*クロックサイクル時間、 A:実行命令数*2.0*10ns=実行命令数*20ns、B:実行命令数*1.2*20ns=実行命令数*24ns、A:B = 10 : 12 (3)2+1+1=5, 4+1+1=6で前者の方が命令数が少ない。 2*1+1*2+2*3=10cycles, 4*1+1*2+1*3=9cycles, で後者の方が速い。 CPI: 10/5=2, 9/6=1.5

クロック・周波数が5GHzのマシン上であるプログラムを実行したところ 問4: クロック・周波数が3GHzのマシン上で2秒で実行できるプログラムがある. このプログラムの実行に要するクロック・サイクル数はいくつか. このプログラムで5*109の命令が実行されたとしてCPIを求めよ。 問5: クロック・周波数が5GHzのマシン上であるプログラムを実行したところ 7.5*109の命令が実行され、CPIは0.8であった。 このマシンのクロックサイクル時間と、このプログラムの実行にかかったCPU時間を求めよ。 問6: あるマシンで、Javaで書かれたあるプログラムが15秒で実行された。 新しいJavaコンパイラがリリースされて、古いコンパイラが生成する命令の0.6倍の命令ですむようになった。ただし、CPIは1.1倍になってしまった。 このJavaプログラムは、新しいコンパイラを使えば何秒で実行されるか。 (ヒント:変数をいくつか使う。たとえば、命令数をx、サイクル数をyなど)

性能尺度 以前に利用された性能尺度 MIPS (Million Instruction Per Second) = = = = 実行命令数 = 実行時間×106 実行命令数 = クロック・サイクル数×クロック・サイクル時間×106 実行命令数×クロック周波数 クロック周波数 = = 実行命令数×CPI×106 CPI×106 注意:CPIは実行されるプログラムによって,またコンパイラによって    も異なるから,あるマシンのMIPSを正確に求めることは不可能    メ−カの発表するMIPSは最小のCPIを仮定したピ−クMIPS ベンチマークによる性能比較 実際のプログラムによる性能比較 SPEC CPU2000

MFLOPS(million floating-point operations per second: Mega FLOPS) 実行した浮動小数点演算の個数 = 実行時間×106 GFLOPS (Giga FLOPS) TFLOPS (Tera FLOPS) 注意:MFLOPS値はプログラムに強く依存するが,MIPSほどマシンには    依存しない.メ−カの発表するMFLOPS値は浮動小数点演算だけ    を都合よく実行したときの(ピ−ク性能)値. TOP500 http://www.top500.org/ ここでは、LINPACKベンチマ−ク(線形計算のプログラム)で 世界中の高速マシンの順位付けが行われている. 筑波大のCP-PACS(2048台の超並列マシン)は368GFLOPS (ピ−ク性能614GFLOPS)で1996年に1位、1998年6位、2003年314位 2003年の1位は日本の地球シミュレータ(スパコン5000台の超並列機)で35.86TFLOPS 2005年の1位はIBM BlueGene/L(6万5千台の超並列機)で136.8TFLOPS 地球シミュレータは4位 2007年の1位はIBM BlueGene/L(13万台)で280.6TFLOPS, 日本の最高は14位(東工大)で48.9TFLOPS, 地球シミュレータは20位

コンピュータのアーキテクチャ 最初は単純(なアーキテクチャ)であったが複雑になってきた。      CISC (Complex Instruction Set Computer) それを思い切り単純化して、ワンチップCPUが作られた。      RISC (Reduced Instruction Set Computer) RISC もその後、機能を拡張して複雑化しているが、以下のような 特徴がある。 CISC: メインフレーム、インテルX86系    命令語長可変、演算はレジスタ間とメモリー、レジスタ少数 RISC: MIPS, PPC, SH4, ARM    命令語長固定、メモリーアクセスはLOAD/STOREのみ、    レジスタ多数、演算はレジスタ間のみ    パイプライン制御が容易