2004/05/11 計算機の仕組 # この講義の本質ではないが、これを理解していないと、こまる。 計算機に電源を入れると、利用できるまでに暫く時間がかかる なにが、おきているかわかりますか ? いま、演習に使うような計算 ( 数値計算 ) の今の状況 もののたわみを計算する 1 億位に分割して計算 へたをすると、1 ヶ月位かかる 現在の計算機の原理を考えた人 フォン=ノイマン ( 38 さい位でなくなる ) 昔の電卓 ( 今の電卓は、ほとんど計算機 ) 1 + 2 = 3 1, 2, つまりデータ +, =, つまり操作 この両方 ( とくに操作 ) を人間がやる ノイマン型 操作を計算機が行うようになった 様々な発展の要因になっている。 非ひノイマン型の例 アナログ型計算機 演習室の後においてある ( 必見 !! ) == 計算機の仕組 基本は、 プロセッサー (CPU) + メモリ (Memory) これだけあれば、一応、計算機は動く これだけでは、人間には役にたたない I/O ( 入力と出力 ) が必要 I : Input : 人間が計算機を操作するために必要 O : Output : 人間に計算機の情報を読み取るために必要 更に、 補助記憶装置 ( ディスク ) : データの長期 / 大量 保存 == 記憶装置の必要条件 ある操作の結果が保存されている ある一定の期間、状態が保存されていればよい # 黒板のチョークの跡も記憶装置 現在の記憶装置 IC .. トランジスタ + コンデンサー で実現される コンデンサー : 電圧をかけると、電気を(しばらく) 蓄える 電圧をかけるのをやめると、電気は失われてしまう 1/4096 sec. DRAM ( 現在の記憶装置の主流 ) 主に、コンデンサーで実現されている。 時間がたつと放電する 情報を失われる Voice Recorder 30 秒以内に、電池交換 その間なら、内蔵のコンデンサーで情報が保存できる。 情報さえ保存されればなんでもよい テレビのブランカンが電源 off 後もひかっている この性質を利用することもあったらしい 磁気記憶装置もある Floppy Disk / MD など 長時間記憶できる == 計算機を off すると.. DRAM の内容は失われてしまう 計算機を on すると.. メモリ ( DRAM ) の中身は空っぽ... 計算機を操作するには、.. メモリ中に、操作を受け答えするプログラム ( OS ) がないと何もできない どうする ? 昔の計算機では、最初に、「手」で、スイッチを使って、最初のプログラムを入れた IPL ( Initial Program Loader ) 今は .. ? 何もしていない 何がおきているのか ? 実は.. 電源を消してもきえない Memory (ROM) がある、 それにかいてある Program を利用して動いている RAM は、読み書き可能 カセットテープ 書けるのは便利だが、書き変る ( 内容が失われる ) のは困る ROM は、読むだけ ( 書けない ) CD 電源 on でいつでもつかえる。 # 数値計算を理解するためには、時間のスケールを認識する必要がある # 計算機の仕組と、時間のスケールの関係を把握しないといけない。 現在利用している PC CPU は、1 G 前後 Memory の速度は、50ns ( 5.0 x 10E-8 ) 上との差は 50 倍位 Hard Disk の仕組 薄い鉄板に磁気塗装し、同心円状に記憶する # 昔のレコードや、CD は、渦巻き状の記憶方法 # テープと同じ構造 ( テープと同じ扱いができるので便利 ) # Sony などが開発していた時期がある 円板に記憶されている磁気情報を読み取り装置 ( Head ) で読み取る 円板と Head の間は少しだけ離れている 航空機が滑走路で、1 cm の高さで滑空している状態と同じ テープレコーダ等は、くっついている 摩耗してだめになる HD の場合は、くっつくと壊れる 平にするには、研磨技術が使われる おおきな円板を磨いて真中の良い部分を取る 離れすぎると、読み取れない # Video Tape # メーカーによるヘッドーに対するせっしかたが違う # 同じメーカ ( 特性 ) のテープを利用した方がよい # 電車のパンタグラフも触れている ( 削っている ) # 新幹線では、早過ぎて、東京大阪間で、全て擦っていると壊れる # そこで、少し離してあり、HD と同じ形式 # 通電は、アーク電流 ( 放電 ) で.. # 夜みると光って、放電していることがわかる Hard Disk を決める三つの要素 転送速度 ( Disk から PC 本体に転送する時間 ) 10^-6 - 10^-7 回転待ち ( 読み取り装置 [Head] の場所に円板が回転してデータがくるまで.. ) 10^-3 - 10^2 シーク時間 ( Head を同心円 [Track] の位置に移動させるため ) 10^-1 - 10^-2 CPU と Hard Disk では、100 万倍もちがう ( 時間差が大きい !! ) # 計算結果を Disk に書いて、再度読み取るより、計算しなおした方が速い場合も.. == 時間のスケールの話 演習でやる場合はどうでもよい 10^1 が 1 になっても大した問題ではない しかし.. 1 時間が 10 時間になったら大変 計算に時間がたちすぎると人間の思考が中断されてしまう 長い時間計算を行う場合は、このような計算機時間のスケールに注意すること !! == Memory の話 DRAM ( Dynamic Randam Access Memory ) ROM ( Read Only Memory ) # Naming Policy が統一されていない !! # RAM は、RWM ( Read & Write Memory ) とすべき # ROM だって、実は、 Randam Access 可能 !! DRAM は、トランジスタ + コンデンサー トランジスタ : アクセス制御 コンデンサー : 電気を記憶 ( 本質的な記憶部分 ) コンデンサー は、放電してしまう ( つまり、記憶が失われる可能性がある ) そこで、放電して情報を失うまえに、もう一度書き戻す 1/4096 sec に一度 記憶を、動的に維持する必要があるので、Dynamic リフレッシュが必要 SRAM ( Static RAM ) は、トランジスタを 4 から 6 個で構成 フィリップフロップ回路を作る DRAM は Dynamic に記憶させるので早くできない 50 - 60 ms SRAM は、Dynamic でないので、早くできる 2 - 20 ms SRAM の方が早いのだが、回路が複雑 ( 面積が増える ) なので、値段が高い 大容量の場合は、DRAM にせざるをえない Memory の全部を DRAM にすると遲い、SRAM にすると高い よく利用する情報だけを入れる少量の速い SRAM 全体は、大量なので DRAM と住みわける CPU と Memory (DRAM) の間に Cache (SRAM) を挿入する 全体としての速度があがるが、値段高さはそれほどでない 現在の仕組 # Memory から Cache への Copy は、連続して行うと、更に速い # Memory への Data Access には、 # Address 指定 # Data 転送 # の二つがあり、連続ならば、前者が不要なので早くなる 本当に上手くゆくのか ? 実は、上手くゆくための条件があり、それが成立しないとだめ [条件] 連続してデータをアクセスする アクセスする内容は、キャッシュ内に収まる # Hit 率が高ければ Okey 条件が成立すれば旨い、しかし、外すといたい 投機的.. Program のかきかたによって memory へのアクセス順が異る # 二次げんの配列のアクセス順 ( どちらの添字を先に回す ) # によって、計算速度がかわる # 配列の 0 Clear をためそう !! == 計算機の話は、来週位 再来週からは、いよいよ、「非線型方程式」(本番)に入る 計算機の話は、詳しくは理解する必要はない # 5 年もたては、話は変っている可能性がある == 今後の計算機の問題点は ? 熱 !! 昔.. ボード 一枚で 1.5KW ... テッパン焼 今.. 数ミリ角で 100W ... 中心部の熱はとんでもない CPU の電源をきっても、電流がながれる ( 1 割くらい ) 電気がどんどん漏れてしまう 電力が無駄になっている ( 熱に変る ) 集積度をあげると、酸化膜が薄くなる 絶縁性が失われて、電気がもれる 絶縁性を上げるには.. シリコンに、酸素をビームで打ち込んで酸化 酸化膜を貼り付ける 省電力モードの仕組 電圧を下げる 電圧を半分にすれば、電力は、1/4 になる 電圧がさがるとクロックがあげられないので、速度が遅くなる 1/4 にはならない ( 1/2 位 ? ) 現在の発想 電圧を 1/2 にして、電力を 1/4 Speed は 1/2 なので 2 CPU にする Pin 数の増大 高速化するには、Pin 数をふやさないといけない とっても多い System 設計の立場から言えば変 究極は 2 本 複数の pin ( 線 ) で、通信すると、同時に情報が到達しない ( スキュー問題 ) パラレルからシリアルへ回帰 加工精度の問題