計算機システム Ⅱ 第 1 回

37
計計計計計計計計1計 計計計計

Upload: gordon

Post on 06-Jan-2016

30 views

Category:

Documents


3 download

DESCRIPTION

計算機システム Ⅱ 第 1 回. 和田俊和. 講義の 概要. コンピュータを,「バス」,「主記憶」,「CPU」など マクロな機能単位,の組合わせと して理解すること を目的としている . まず ,コンピュータの歴史を通じて,コンピュータがどのように誕生し,高度化していったのかについて学ぶ(1−4) . 次に,CPUがALUと制御回路から成り立ち,命令によって主記憶装置とのデータのやり取りが変わること,RISC,CISCなどの命令セットアーキテクチャを学ぶ(5−8) . 最後に,計算の効率を向上させるためのパイプライン処理や並列処理,実行順序の変更などについて学ぶ(9−14 ) - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 計算機システム Ⅱ 第 1 回

計算機システムⅡ第 1回和田俊和

Page 2: 計算機システム Ⅱ 第 1 回

講義の概要• コンピュータを,「バス」,「主記憶」,「CPU」などマクロな機能単位,の組合わせとして理解することを目的としている.

1. まず,コンピュータの歴史を通じて,コンピュータがどのように誕生し,高度化していったのかについて学ぶ(1−4).

2. 次に,CPUがALUと制御回路から成り立ち,命令によって主記憶装置とのデータのやり取りが変わること,RISC,CISCなどの命令セットアーキテクチャを学ぶ(5−8).

3. 最後に,計算の効率を向上させるためのパイプライン処理や並列処理,実行順序の変更などについて学ぶ(9−14)

4. 最後に,現代的なアーキテクチャについて学んだ後試験を行う.

Page 3: 計算機システム Ⅱ 第 1 回

講義計画1. コンピュータの歴史1(←本日)2. コンピュータの歴史23. コンピュータの歴史34. 演習問題5. 論理回路と記憶,計算:レジスタとALU6. 主記憶装置とALU,レジスタの制御7. 命令セットアーキテクチャ8. 演習問題9. パイプライン処理10. メモリ階層:キャッシュと仮想記憶11. 命令レベル並列処理12. 命令実行順序の変更13. 入出力と周辺装置:DMA,割り込み処理14. 演習問題15. 現代的な計算機アーキテクチャの解説と試験

• 教科書:坂井修一著:電子情報通信学会レクチャーシリーズC−9,コンピュータアーキテクチャ,コロナ社

• 最終回の試験によって成績評価を行う.5回以上欠席で不合格とする.

Page 4: 計算機システム Ⅱ 第 1 回

人はなぜ計算をしたのか?約 25000 年前,後期旧石器時代

• 獲物の頭数 , 農産物の収穫量の勘定・計算• 分配量の決定• 租税の計算• 川の氾濫と面積計算• 航路の決定(天文学,暦)• 数表(主に三角関数)• 時間の見積もり

Page 5: 計算機システム Ⅱ 第 1 回

人はなぜ計算をすることを拒んだか?

• 「機械的」計算を人が行うのは–苦痛である–間違いが起きる–時間がかかる

• 「機械的」計算は機械に行わせるべきである.という発想は自然.–チャールズ・バベッジが「数表の危機」を解決しようとした.

–コンラッド・ツーゼが「 30元連立方程式を解く機械を作ろう」と提案し,上司に拒まれ,会社を辞めた

Page 6: 計算機システム Ⅱ 第 1 回

加減算の道具:アバカス・そろばん

BC1000 ~ 500• 加減算だけなら,石を並べればできる.しかし,大きな数の加減算には多数の石が必要.

• ⇒ 位取り記法( 10 進数)の利用.さらに, 5進数とも組み合わせる.

• ⇒ この結果, 0-99 の数を 10 個の石で表現できるようになった.

• 問題点:各桁の計算と桁上がりは人が行う.

Page 7: 計算機システム Ⅱ 第 1 回

乗算の道具:ネピアの骨・算木1550 ~ 1617

• 九九を書いた棒を用いて任意桁と一桁の数の乗算を行う.桁上がりの加算は人間が行う.

ネピア:対数の発明者でもある.

479×8の例

=   3   8   3    2

Page 8: 計算機システム Ⅱ 第 1 回

歯車を使った計算機:1• レオナルドダビンチ( 1452 ~ 1519 )は歯車式計算機を

設計していない

• この歯車では計算できない.

Page 9: 計算機システム Ⅱ 第 1 回

歯車を使った計算機:2• シッカートが最初.(原理はネピアの骨)

ケプラー: 1571~ 1630 シッカート: 1592~ 1635

この背面にネピアの骨を円柱上に記した棒が 6本入っている.加減算とメモリは独立

Page 10: 計算機システム Ⅱ 第 1 回

機械的な歯車計算機• パスカル( 1623 ~ 1662 )のパスカリーヌ.

税務官吏の父を助けるために 18 歳の時に制作.加算専用(減算は補数を使用.)

• ライプニッツ( 1646 ~ 1716 ), 5 桁 ×12 桁の 16 桁の積,除算が計算できた.但し,積は加算,除算は減算の繰り返し.

Page 11: 計算機システム Ⅱ 第 1 回

数表の危機 19 世紀

• 船の航路を決定するには天文観測に基づく自己位置の決定が必要.

• この計算には,三角関数が用いられたが,当時出版されていた数表には誤りが多数存在したため,正誤表が出版され,さらにその正誤表が出版されるというほど混乱していた.

• 何が正しい値かを誰も把握できなくなり,これが原因で船の座礁等の事故も起きた.

Page 12: 計算機システム Ⅱ 第 1 回

歯車を使った計算機:2チャールズ・バベッジ( 1791~ 1871)の夢

• 階差機関–数表の自動的計算と自動組版

• 解析機関とジャガード織機–プログラムに従って計算する歯車

計算機

Page 13: 計算機システム Ⅱ 第 1 回

バベッジの構想1:階差機関人手によるコピーの誤りも無くすため,活版印刷の原版を組むところまで,全自動化を試みた.

Page 14: 計算機システム Ⅱ 第 1 回

バベッジの構想1:階差計算の原理

3 22 3 4 5y x x x x y12345678910

144198197350569866125317422345

第一階差

275799153219297387489

304254667890

第二階差 第三階差

12121212121212

102

603 114

ほとんどの関数は,多項式に展開できる.多項式関数の値を加算だけで求めることができる.   例

Page 15: 計算機システム Ⅱ 第 1 回

階差機関は未完成に終わった• 英国最高の機械工作技術者クレメントへの依頼• 英国からの 17000ポンドの政府助成金+バベッ

ジのほぼ同額の拠出金(蒸気機関車は当時 784ポンド.約 40台分以上)

• クレメントは不満,確執が起きた.• 政府助成金の打ち切りとともに計画は中断し,部品は溶かされた.

• 1/7 モデルのみが完成• その後,スウェーデンのシュウツ親子が完成

Page 16: 計算機システム Ⅱ 第 1 回

バベッジの構想2:解析機関

• パンチカードで指定した模様を織るジャーガード織機にヒントを得,プログラムで指定した通りに計算を行う計算機を作ろうとした.

• しかも,条件分岐等のジャンプ命令まで備えていた.

⇒ 機械式ではあるものの,現代の計算機と同じ構造

Page 17: 計算機システム Ⅱ 第 1 回

バベッジの構想2:解析機関

• 右は,解析機関の中心部「ミル」

• 機械式メモリと,演算制御部( CPU) が分離する構成(現在の計算機とほぼ同じ)

Page 18: 計算機システム Ⅱ 第 1 回

最初にプログラムが動いた機械式計算機コンラッド ・ツーゼ 1910 ~ 1995

• 新入社員として入社した会社で,計算する機械を作るよう提案した.

• しかし,聞き入れてもらえず,退職し,自宅でプログラムに従って動く機械式計算機 Z1 を完成させる.

• その後演算部をリレー式にしたZ2 ,メモリ部もリレー式にした Z3,条件分岐やサブルーチンを入れたZ4他, 200 を超える計算機を作った.

Page 19: 計算機システム Ⅱ 第 1 回

コンラッド ・ツーゼ

Page 20: 計算機システム Ⅱ 第 1 回

リレー

ばね

コイル

NOT回路

NAND回路

Page 21: 計算機システム Ⅱ 第 1 回

真空管

二極真空管 三極真空管

Page 22: 計算機システム Ⅱ 第 1 回

真空管とメモリドラム: ABCマシン• 真空管をリレーの代わりに使う.

⇒高速化• メモリ⇒コンデンサに蓄えられた電荷を使う.リーク(電荷の漏れ)は再チャージすることで補う(ダイナミックメモリ) ジョン アタナソフ

1903~ 1995

1939年 10月試作機完成

Page 23: 計算機システム Ⅱ 第 1 回

実用的プログラム内蔵型計算機ASCC⇒ハーバード・マーク I

• 3000 個のリレーと 2200 個の歯車から成る電気機械式計算機

• 紙テープからプログラムを読み込む汎用計算機

• 条件分岐は後に組み込まれた.• 15 年間も使用された実用的計算機

ハワード・エイケン1900~ 1973

1943年完成, 1959年まで使用

Page 24: 計算機システム Ⅱ 第 1 回

「バグ」の正体• ハーバードマーク I があるとき,停止した.• 原因:蛾がリレーに挟まっていた.• これ以来プログラムの間違いを「バグ

(虫)」と呼ぶようになった.

Page 25: 計算機システム Ⅱ 第 1 回

ENIAC は最初の実用的電子計算機

• ゴールドスタイン将校が弾道計算用の機械を模索中,電子計算機を作ろうとしていたモークリとエッカートに目をつけた.

• 完成は終戦後 1946 年

Page 26: 計算機システム Ⅱ 第 1 回

ENIAC• 真空管 17468 本リレー 1500 個を用いた計算機• 10 進数 10 桁の固定小数点による数値表現• 一般数値記憶用メモリ 20 個, πや e ,三角関

数等の定数記憶メモリが 300 個.• 加減算 200[μs] ,乗算 2800[μs] ,除算 24000[μs]• プログラムは配線とスイッチで表現.条件分岐はない.

• 完成は第 2次大戦後 1946 年.弾道計算には使われなかった.稼働期間は 10 年間

Page 27: 計算機システム Ⅱ 第 1 回

ENIAC は最初の実用的電子計算機もどき

• モークリとエッカートは「電子的にかつディジタルに計算を行う方法」について特許を持っていたが,スペリーランド社が買い取っていた.

• どの会社もスペリーランド社に特許使用料を支払っていたが,ハネウェル社だけは払わなかった.

• スペリーランド社は,ハネウェル社を訴えたが,逆に,当該特許は無効であるとハネウェルから訴えられた.

Page 28: 計算機システム Ⅱ 第 1 回

ENIAC裁判の結果• 6 年間に及ぶ裁判の結果, 1973 年「モークリ

とエッカートは自ら最初の電子計算機を発明したのではなく,その基本原理はアタナソフの ABCマシンから受け継いだものである.」との判決が下り,特許は無効となった.

• 実際に, 1941 年モークリはアタナソフを訪れ, ABCマシンの原理を聞いていた!ついでにアタナソフに礼状まで送っていた.

• しかし, ABCマシンは最初の電子計算機とは呼べない.(未完成であったため)

Page 29: 計算機システム Ⅱ 第 1 回

ENIAC のプログラムは,ワイヤー

• ENIAC にはプログラムはあったが,それらはすべて,ワイヤーの結線によって表わされていた.

• 簡単なプログラムを組むのにも 1週間以上もかかった.

• つまり,プログラムを電子的に表現するということはできていなかった.

Page 30: 計算機システム Ⅱ 第 1 回

プログラム内蔵式電子計算機へEDSACではない! 1948年

• SSEM ( Baby )が最初• Manchester Mark1• Ferranti Mark1命令数が 7 個と少なく,メモリも非常に少ない( 32語)が,プログラムが動いた.フレデリック・ウイリアムズ ,トム・キルバーンによる.ウイリアムズ・キルバーン管がメモリとして使えることを確認するための装置?

Page 31: 計算機システム Ⅱ 第 1 回

EDVAC ( 1951 )• モークリとエッカートは, ENIAC のワイヤーを用いたプロ

グラミングは修正すべきであると考えていた.• この二人が,プログラム内蔵型電子計算機を発案

し, EDVAC の設計に取り組んだ.( EDVAC の完成は 1949年しかしトラブルが多く 1951 年から稼働)

• しかし,ペンシルベニア大は,天才数学者として有名であったフォン・ノイマンに「 EDVAC に関する最初の草稿」を発表させた( 1945 年).

• この結果,プログラム内蔵式の計算機は「フォン・ノイマン型計算機」と呼ばれるようになった.

• EDVAC はこの草稿で有名になったが,歴史上は特に重要な計算機ではない.

Page 32: 計算機システム Ⅱ 第 1 回

しかし,フォン・ノイマン型計算機はフォン・ノイマンとは無関係である

• エッカートは,後に,フォン・ノイマンのことを「アイデア泥棒」と呼んでいる.

• ノイマンはこのことに対して肯定も否定もしていない.

EDVACとフォン・ノイマン

Page 33: 計算機システム Ⅱ 第 1 回

EDSAC ( 1949 年)が実用的な本当の意味での計算機

• プログラム内蔵型の計算機で,実用的に使えるものは,イギリス,ケンブリッジ大の EDSAC が最初である.( SSEM はあくまで実験機)

• 真空管 3000 本,メモリには水銀遅延管(水銀を充填した管の両端に水晶振動子を取り付け,増幅回路で繋いだもの.)

• サブルーチンの本格的利用

Page 34: 計算機システム Ⅱ 第 1 回

「計算のための道具を作る」という夢は果たされてしまった!

次に何が待ち受けていたのだろうか?• 小型化?高速化?• 製品化?• 金儲け?• 使いやすさ?• 計算とはどういうことかを示す?• 人と同等の知能を持つ機械の実現?

Page 35: 計算機システム Ⅱ 第 1 回

コンピュータの多面的発展

待ち受けていたもの• 小型化?高速化?⇒トランジスタ⇒ IC LSI …⇒ ⇒• 製品化?⇒電卓 ,マイコン ,ミニコン , メインフレーム• 金儲け?      ⇒ソフトウエア産業の勃興• 使いやすさ?     ⇒言語処理系, OS , UI ,

 • 計算とはどういうことかを示す? ⇒計算科学• 人と同等の知能を持つ機械の実現? ⇒ AI• ...

Page 36: 計算機システム Ⅱ 第 1 回

時間内に提出: 下記について,講義内容に基づいて答えなさい.

1. ある機械が,「コンピュータである」ための条件は何か?

2. 電子計算機とコンピュータの違いは何か?

Page 37: 計算機システム Ⅱ 第 1 回

次週の予告

• 第 2次世界大戦中に開発され,戦争に用いられてきた「電子計算機」コロッサスが存在していた.

• その存在や内容は近年まで明らかにされてこなかった.

• どのような目的でコロッサスが作られ,歴史の闇に葬り去られてきたかについて述べる.