計算機システム Ⅱ 第 1 回
DESCRIPTION
計算機システム Ⅱ 第 1 回. 和田俊和. 講義の 概要. コンピュータを,「バス」,「主記憶」,「CPU」など マクロな機能単位,の組合わせと して理解すること を目的としている . まず ,コンピュータの歴史を通じて,コンピュータがどのように誕生し,高度化していったのかについて学ぶ(1−4) . 次に,CPUがALUと制御回路から成り立ち,命令によって主記憶装置とのデータのやり取りが変わること,RISC,CISCなどの命令セットアーキテクチャを学ぶ(5−8) . 最後に,計算の効率を向上させるためのパイプライン処理や並列処理,実行順序の変更などについて学ぶ(9−14 ) - PowerPoint PPT PresentationTRANSCRIPT
計算機システムⅡ第 1回和田俊和
講義の概要• コンピュータを,「バス」,「主記憶」,「CPU」などマクロな機能単位,の組合わせとして理解することを目的としている.
1. まず,コンピュータの歴史を通じて,コンピュータがどのように誕生し,高度化していったのかについて学ぶ(1−4).
2. 次に,CPUがALUと制御回路から成り立ち,命令によって主記憶装置とのデータのやり取りが変わること,RISC,CISCなどの命令セットアーキテクチャを学ぶ(5−8).
3. 最後に,計算の効率を向上させるためのパイプライン処理や並列処理,実行順序の変更などについて学ぶ(9−14)
4. 最後に,現代的なアーキテクチャについて学んだ後試験を行う.
講義計画1. コンピュータの歴史1(←本日)2. コンピュータの歴史23. コンピュータの歴史34. 演習問題5. 論理回路と記憶,計算:レジスタとALU6. 主記憶装置とALU,レジスタの制御7. 命令セットアーキテクチャ8. 演習問題9. パイプライン処理10. メモリ階層:キャッシュと仮想記憶11. 命令レベル並列処理12. 命令実行順序の変更13. 入出力と周辺装置:DMA,割り込み処理14. 演習問題15. 現代的な計算機アーキテクチャの解説と試験
• 教科書:坂井修一著:電子情報通信学会レクチャーシリーズC−9,コンピュータアーキテクチャ,コロナ社
• 最終回の試験によって成績評価を行う.5回以上欠席で不合格とする.
人はなぜ計算をしたのか?約 25000 年前,後期旧石器時代
• 獲物の頭数 , 農産物の収穫量の勘定・計算• 分配量の決定• 租税の計算• 川の氾濫と面積計算• 航路の決定(天文学,暦)• 数表(主に三角関数)• 時間の見積もり
人はなぜ計算をすることを拒んだか?
• 「機械的」計算を人が行うのは–苦痛である–間違いが起きる–時間がかかる
• 「機械的」計算は機械に行わせるべきである.という発想は自然.–チャールズ・バベッジが「数表の危機」を解決しようとした.
–コンラッド・ツーゼが「 30元連立方程式を解く機械を作ろう」と提案し,上司に拒まれ,会社を辞めた
加減算の道具:アバカス・そろばん
BC1000 ~ 500• 加減算だけなら,石を並べればできる.しかし,大きな数の加減算には多数の石が必要.
• ⇒ 位取り記法( 10 進数)の利用.さらに, 5進数とも組み合わせる.
• ⇒ この結果, 0-99 の数を 10 個の石で表現できるようになった.
• 問題点:各桁の計算と桁上がりは人が行う.
乗算の道具:ネピアの骨・算木1550 ~ 1617
• 九九を書いた棒を用いて任意桁と一桁の数の乗算を行う.桁上がりの加算は人間が行う.
ネピア:対数の発明者でもある.
479×8の例
= 3 8 3 2
歯車を使った計算機:1• レオナルドダビンチ( 1452 ~ 1519 )は歯車式計算機を
設計していない
• この歯車では計算できない.
歯車を使った計算機:2• シッカートが最初.(原理はネピアの骨)
ケプラー: 1571~ 1630 シッカート: 1592~ 1635
この背面にネピアの骨を円柱上に記した棒が 6本入っている.加減算とメモリは独立
機械的な歯車計算機• パスカル( 1623 ~ 1662 )のパスカリーヌ.
税務官吏の父を助けるために 18 歳の時に制作.加算専用(減算は補数を使用.)
• ライプニッツ( 1646 ~ 1716 ), 5 桁 ×12 桁の 16 桁の積,除算が計算できた.但し,積は加算,除算は減算の繰り返し.
数表の危機 19 世紀
• 船の航路を決定するには天文観測に基づく自己位置の決定が必要.
• この計算には,三角関数が用いられたが,当時出版されていた数表には誤りが多数存在したため,正誤表が出版され,さらにその正誤表が出版されるというほど混乱していた.
• 何が正しい値かを誰も把握できなくなり,これが原因で船の座礁等の事故も起きた.
歯車を使った計算機:2チャールズ・バベッジ( 1791~ 1871)の夢
• 階差機関–数表の自動的計算と自動組版
• 解析機関とジャガード織機–プログラムに従って計算する歯車
計算機
バベッジの構想1:階差機関人手によるコピーの誤りも無くすため,活版印刷の原版を組むところまで,全自動化を試みた.
バベッジの構想1:階差計算の原理
3 22 3 4 5y x x x x y12345678910
144198197350569866125317422345
第一階差
275799153219297387489
304254667890
第二階差 第三階差
12121212121212
102
603 114
ほとんどの関数は,多項式に展開できる.多項式関数の値を加算だけで求めることができる. 例
階差機関は未完成に終わった• 英国最高の機械工作技術者クレメントへの依頼• 英国からの 17000ポンドの政府助成金+バベッ
ジのほぼ同額の拠出金(蒸気機関車は当時 784ポンド.約 40台分以上)
• クレメントは不満,確執が起きた.• 政府助成金の打ち切りとともに計画は中断し,部品は溶かされた.
• 1/7 モデルのみが完成• その後,スウェーデンのシュウツ親子が完成
バベッジの構想2:解析機関
• パンチカードで指定した模様を織るジャーガード織機にヒントを得,プログラムで指定した通りに計算を行う計算機を作ろうとした.
• しかも,条件分岐等のジャンプ命令まで備えていた.
⇒ 機械式ではあるものの,現代の計算機と同じ構造
バベッジの構想2:解析機関
• 右は,解析機関の中心部「ミル」
• 機械式メモリと,演算制御部( CPU) が分離する構成(現在の計算機とほぼ同じ)
最初にプログラムが動いた機械式計算機コンラッド ・ツーゼ 1910 ~ 1995
• 新入社員として入社した会社で,計算する機械を作るよう提案した.
• しかし,聞き入れてもらえず,退職し,自宅でプログラムに従って動く機械式計算機 Z1 を完成させる.
• その後演算部をリレー式にしたZ2 ,メモリ部もリレー式にした Z3,条件分岐やサブルーチンを入れたZ4他, 200 を超える計算機を作った.
コンラッド ・ツーゼ
リレー
ばね
コイル
NOT回路
NAND回路
真空管
二極真空管 三極真空管
真空管とメモリドラム: ABCマシン• 真空管をリレーの代わりに使う.
⇒高速化• メモリ⇒コンデンサに蓄えられた電荷を使う.リーク(電荷の漏れ)は再チャージすることで補う(ダイナミックメモリ) ジョン アタナソフ
1903~ 1995
1939年 10月試作機完成
実用的プログラム内蔵型計算機ASCC⇒ハーバード・マーク I
• 3000 個のリレーと 2200 個の歯車から成る電気機械式計算機
• 紙テープからプログラムを読み込む汎用計算機
• 条件分岐は後に組み込まれた.• 15 年間も使用された実用的計算機
ハワード・エイケン1900~ 1973
1943年完成, 1959年まで使用
「バグ」の正体• ハーバードマーク I があるとき,停止した.• 原因:蛾がリレーに挟まっていた.• これ以来プログラムの間違いを「バグ
(虫)」と呼ぶようになった.
ENIAC は最初の実用的電子計算機
• ゴールドスタイン将校が弾道計算用の機械を模索中,電子計算機を作ろうとしていたモークリとエッカートに目をつけた.
• 完成は終戦後 1946 年
ENIAC• 真空管 17468 本リレー 1500 個を用いた計算機• 10 進数 10 桁の固定小数点による数値表現• 一般数値記憶用メモリ 20 個, πや e ,三角関
数等の定数記憶メモリが 300 個.• 加減算 200[μs] ,乗算 2800[μs] ,除算 24000[μs]• プログラムは配線とスイッチで表現.条件分岐はない.
• 完成は第 2次大戦後 1946 年.弾道計算には使われなかった.稼働期間は 10 年間
ENIAC は最初の実用的電子計算機もどき
• モークリとエッカートは「電子的にかつディジタルに計算を行う方法」について特許を持っていたが,スペリーランド社が買い取っていた.
• どの会社もスペリーランド社に特許使用料を支払っていたが,ハネウェル社だけは払わなかった.
• スペリーランド社は,ハネウェル社を訴えたが,逆に,当該特許は無効であるとハネウェルから訴えられた.
ENIAC裁判の結果• 6 年間に及ぶ裁判の結果, 1973 年「モークリ
とエッカートは自ら最初の電子計算機を発明したのではなく,その基本原理はアタナソフの ABCマシンから受け継いだものである.」との判決が下り,特許は無効となった.
• 実際に, 1941 年モークリはアタナソフを訪れ, ABCマシンの原理を聞いていた!ついでにアタナソフに礼状まで送っていた.
• しかし, ABCマシンは最初の電子計算機とは呼べない.(未完成であったため)
ENIAC のプログラムは,ワイヤー
• ENIAC にはプログラムはあったが,それらはすべて,ワイヤーの結線によって表わされていた.
• 簡単なプログラムを組むのにも 1週間以上もかかった.
• つまり,プログラムを電子的に表現するということはできていなかった.
プログラム内蔵式電子計算機へEDSACではない! 1948年
• SSEM ( Baby )が最初• Manchester Mark1• Ferranti Mark1命令数が 7 個と少なく,メモリも非常に少ない( 32語)が,プログラムが動いた.フレデリック・ウイリアムズ ,トム・キルバーンによる.ウイリアムズ・キルバーン管がメモリとして使えることを確認するための装置?
EDVAC ( 1951 )• モークリとエッカートは, ENIAC のワイヤーを用いたプロ
グラミングは修正すべきであると考えていた.• この二人が,プログラム内蔵型電子計算機を発案
し, EDVAC の設計に取り組んだ.( EDVAC の完成は 1949年しかしトラブルが多く 1951 年から稼働)
• しかし,ペンシルベニア大は,天才数学者として有名であったフォン・ノイマンに「 EDVAC に関する最初の草稿」を発表させた( 1945 年).
• この結果,プログラム内蔵式の計算機は「フォン・ノイマン型計算機」と呼ばれるようになった.
• EDVAC はこの草稿で有名になったが,歴史上は特に重要な計算機ではない.
しかし,フォン・ノイマン型計算機はフォン・ノイマンとは無関係である
• エッカートは,後に,フォン・ノイマンのことを「アイデア泥棒」と呼んでいる.
• ノイマンはこのことに対して肯定も否定もしていない.
EDVACとフォン・ノイマン
EDSAC ( 1949 年)が実用的な本当の意味での計算機
• プログラム内蔵型の計算機で,実用的に使えるものは,イギリス,ケンブリッジ大の EDSAC が最初である.( SSEM はあくまで実験機)
• 真空管 3000 本,メモリには水銀遅延管(水銀を充填した管の両端に水晶振動子を取り付け,増幅回路で繋いだもの.)
• サブルーチンの本格的利用
「計算のための道具を作る」という夢は果たされてしまった!
次に何が待ち受けていたのだろうか?• 小型化?高速化?• 製品化?• 金儲け?• 使いやすさ?• 計算とはどういうことかを示す?• 人と同等の知能を持つ機械の実現?
コンピュータの多面的発展
待ち受けていたもの• 小型化?高速化?⇒トランジスタ⇒ IC LSI …⇒ ⇒• 製品化?⇒電卓 ,マイコン ,ミニコン , メインフレーム• 金儲け? ⇒ソフトウエア産業の勃興• 使いやすさ? ⇒言語処理系, OS , UI ,
• 計算とはどういうことかを示す? ⇒計算科学• 人と同等の知能を持つ機械の実現? ⇒ AI• ...
時間内に提出: 下記について,講義内容に基づいて答えなさい.
1. ある機械が,「コンピュータである」ための条件は何か?
2. 電子計算機とコンピュータの違いは何か?
次週の予告
• 第 2次世界大戦中に開発され,戦争に用いられてきた「電子計算機」コロッサスが存在していた.
• その存在や内容は近年まで明らかにされてこなかった.
• どのような目的でコロッサスが作られ,歴史の闇に葬り去られてきたかについて述べる.