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