メむンコンテンツぞスキップ
芋出し画像

チュヌリングマシンずノむマン型コンピュヌタが拓いた珟代の扉

    はじめに

     普段䜕気なく䜿っおいるパ゜コンやスマヌトフォン。むンタヌネットで調べ物をしたり、動画を芋たりゲヌムをしたりず、私たちの生掻になくおはならない存圚ずなっおいたす。

     今から玄80幎も前に考案された「ある仮想的な機械」のアむデアが、実はあなたの目の前にあるパ゜コンの土台になっおいるずしたら、驚きたせんか
     そしお、そのアむデアを元に「プログラムを自圚に入れ替えられるコンピュヌタ」を生み出した人物がいたからこそ、私たちは今、様々なアプリやサヌビスを圓たり前のように䜿えるのです。

     この蚘事では、珟代のコンピュヌタの根本的な蚭蚈思想である「ノむマン型」ず、その理論的な基盀ずなった「チュヌリングマシン」に぀いお、解説しおいきたす。

     耇雑に芋えるコンピュヌタの仕組みも、そのルヌツを蟿れば非垞にシンプルなアむデアに基づいおいるこずがわかりたす。

    1. 理論䞊の蚈算機チュヌリングマシン

    1.1 チュヌリングマシンずは

     コンピュヌタの歎史を語る䞊で欠かせないのが、「チュヌリングマシン」ずいう抂念です。これは、1936幎にむギリスの倩才数孊者アラン・チュヌリングが考案した、仮想的な蚈算モデルのこずです。
     圌は「蚈算ずは䜕か」ずいう問いに察しお、非垞にシンプルな芁玠だけでどんな蚈算でもできる機械のむメヌゞを提瀺したした。

     チュヌリングマシンは、以䞋の非垞にシンプルな芁玠で構成されおいたす。

    ・無限に長いテヌプ
     数字や蚘号が曞かれたマス目があるテヌプです。
     䟋えるなら、終わりのないメモ甚玙のようなものです。

    ・読み曞きヘッド
     テヌプ䞊の特定のマス目を読み取ったり、そこに蚘号を曞き蟌んだり、消したりする郚分です。
     たるでペンず消しゎムを持った指先のようです。

    ・状態遷移ルヌル
     ヘッドがテヌプから蚘号を読み取ったずき、珟圚の状態に応じお「䜕を」「どうする」か、そしお「次の状態」をどうするかを決める䞀連のルヌルです。
     これは、コンピュヌタが次にどう動くかを決める「プログラム」のようなものです。

    画像
    【チュヌリングマシンのむメヌゞ】


    1.2 チュヌリングマシンの動䜜原理

     チュヌリングマシンの動䜜は、非垞にシンプルで反埩的です。たるで、䞎えられたルヌル通りに䞀぀ず぀䜜業を進める職人のようです。

    (1)テヌプから蚘号を読み取る
     読み曞きヘッドが、テヌプの特定のマス目にある蚘号を読み取りたす。

    (2)ルヌルに埓っお行動する
     読み取った蚘号ず、珟圚の機械の状態今、どんな䜜業をしおいるかに基づいお、事前に決められたルヌル状態遷移に埓いたす。
     ・読み曞きヘッドをテヌプの右に移動させる。
     ・読み曞きヘッドをテヌプの巊に移動させる。
     ・そしお、機械の次の状態次にどんな䜜業をするかを決めたす。

    (3)このプロセスを繰り返す
     䞊蚘の1ず2の動䜜を、蚈算が完了するたで、あるいは決められた条件が満たされるたで䜕床も繰り返したす。

     䟋テヌプ䞊の「0」を「1」に曞き換える

     具䜓的な䟋で考えおみたしょう。
     もし、テヌプ䞊に「0」が曞かれたマス目があったら、それを「1」に曞き換えるずいうシンプルな蚈算をさせたいずしたす。

     チュヌリングマシンに䞎えるルヌルは、䟋えば以䞋のようになりたす。
     ・珟圚の状態 「0を芋぀けたら1に曞き換える」モヌド
     ・読み取った蚘号 「0」
     ・行動 「1」を曞き蟌む。ヘッドを右に1マス移動する。
     ・次の状態 「曞き換え完了」モヌドたたは、次の「0」を探すモヌド

     このように、チュヌリングマシンは非垞にシンプルな呜什の繰り返しだけで、耇雑な蚈算も原理的には実行できるこずを瀺したした。
     これは、「蚈算ずは䜕か」ずいう根源的な問いに察する、画期的な答えだったのです。
     このシンプルな仕組みが、原理的にはあらゆる蚈算を可胜にするのです。


    2.実甚的な蚈算機ノむマン型コンピュヌタ

    2.1 ノむマン型コンピュヌタの誕生

     チュヌリングマシンが「理論䞊の蚈算機」であったのに察しお、その理論を珟実の機械ずしお初めお蚭蚈したのが、ハンガリヌ系アメリカ人の倩才数孊者ゞョン・フォン・ノむマンです。
     圌が1945幎に提唱した蚭蚈思想は、珟代のコンピュヌタの基本的なアヌキテクチャずしお、今もなお受け継がれおいたす。
     そのため、珟圚私たちが䜿っおいるほずんどのコンピュヌタは「ノむマン型コンピュヌタ」ず呌ばれおいたす。
     特に、ノむマンが関わった初期のコンピュヌタである「EDVAC゚ドバック」の蚭蚈は、その埌のコンピュヌタ開発に倧きな圱響を䞎えたした。


    2.2 ノむマン型コンピュヌタの䞻芁な構成芁玠

     ノむマン型コンピュヌタは、䞻に以䞋の䞻芁な構成芁玠から成り立っおいたす。
     これらは、たるで人間の脳や手足のように、それぞれの圹割を分担しおコンピュヌタを動かしおいたす。

    画像
    【ノむマン型コンピュヌタの䞻芁な構成芁】

    ・CPU䞭倮凊理装眮
     コンピュヌタの「脳」にあたる郚分です。蚈算や刀断を行い、他の郚品に指瀺を出したす。CPUはさらに、二぀の郚分に分かれたす。
     ・挔算装眮ALUArithmetic Logic Unit
      足し算や匕き算などの蚈算や、AずBのどちらが倧きいかずいった比范刀断を行いたす。
     ・制埡装眮
      プログラムの指瀺を解釈しお、CPUの各郚分やメモリ、入出力装眮などがどのように動䜜するかを制埡したす。

    ・メモリ䞻蚘憶装眮
     コンピュヌタの「䜜業台」にあたる郚分です。CPUが凊理するデヌタや、実行するプログラムが䞀時的に保存されたす。
     ノむマン型コンピュヌタの最倧の特城は、プログラムずデヌタを同じ堎所に保存する「プログラム内蔵方匏」を採甚しおいる点です。これにより、プログラムの倉曎が非垞に簡単になりたした。

    ・入出力装眮
     コンピュヌタずナヌザヌずの間で情報を受け枡すための郚分です。
      ・入力装眮
       キヌボヌドやマりスなど、私たちがコンピュヌタに指瀺やデヌタを送るためのものです。
      ・出力装眮
       ディスプレむやプリンタヌなど、コンピュヌタが凊理結果を私たちに䌝えるためのものです。


    3.チュヌリングマシンからノむマン型コンピュヌタぞ

    3.1 理論から珟実ぞの橋枡し

     チュヌリングマシンが「蚈算の原理」を定矩した、いわば「蚈算の理想的な姿」を瀺したのに察しお、ノむマン型コンピュヌタはその原理を「珟実の機械」ずしおどのように実珟するか、具䜓的な蚭蚈図を瀺したした。

     䞡者には、興味深い類䌌点がありたす。

     ・チュヌリングマシンの「無限に長いテヌプ」は、ノむマン型コンピュヌタの「メモリ䞻蚘憶装眮」に察応したす。
      どちらも、情報デヌタやプログラムを保存する堎所です。

     ・チュヌリングマシンの「読み曞きヘッド」ず「状態遷移ルヌル」は、ノむマン型コンピュヌタの「CPU䞭倮凊理装眮」に察応したす。
      CPUがメモリから呜什を読み蟌み、それに埓っお挔算を行い、結果を曞き出すずいう動䜜は、たさにチュヌリングマシンのヘッドがテヌプを操䜜する様子に䌌おいたす。

     ぀たり、チュヌリングマシンで瀺された「蚈算の可胜性」を、ノむマン型コンピュヌタが具䜓的なハヌドりェアずしお実珟したず蚀えるのです。


    3.2 ノむマン型コンピュヌタの革新性

     ノむマン型コンピュヌタの登堎は、コンピュヌタの歎史においおたさに革呜でした。その最倧の革新性は、「プログラム内蔵方匏」にありたす。

    (1)プログラムの倉曎が容易になった
     それたでのコンピュヌタは、蚈算内容を倉えるたびに、ケヌブルを差し替えたり、物理的な郚品を組み替えたりする必芁がありたした。これは、たるで蚈算するたびに機械そのものを改造するような倧倉な䜜業です。
     しかし、プログラム内蔵方匏では、プログラムがデヌタず同じようにメモリに保存されるため、゜フトりェアを曞き換えるだけで、コンピュヌタの機胜を自由に倉えられるようになりたした。

    (2)汎甚性の向䞊
     物理的な倉曎なしに様々な皮類の蚈算を行えるようになったため、䞀台のコンピュヌタが様々な甚途に䜿えるようになりたした。
     これが、珟代のパ゜コンやスマヌトフォンが、文曞䜜成からゲヌム、むンタヌネットたで、あらゆるタスクをこなせる理由です。

    (3)珟代の゜フトりェア開発の基瀎
     この「プログラムを自由に曞き換えられる」ずいう特城こそが、私たちが日々利甚しおいる様々な゜フトりェアやアプリケヌションが生たれる土台ずなりたした。
     もしノむマン型コンピュヌタがなければ、今のような倚様なデゞタルサヌビスは存圚しなかったかもしれたせん。


    おわりに

     この蚘事では、珟代コンピュヌタの基瀎を築いた二぀の重芁な抂念、「チュヌリングマシン」ず「ノむマン型コンピュヌタ」に぀いお解説したした。

     チュヌリングマシンは、「蚈算ずは䜕か」ずいう根源的な問いに察し、理論的な蚈算の限界ず可胜性を瀺したモデルです。そのシンプルな仕組みは、あらゆる蚈算が可胜であるこずを蚌明したした。

     ノむマン型コンピュヌタは、そのチュヌリングマシンの理論を、珟実の機械ずしお実甚的な圢で実装したモデルです。特に「プログラム内蔵方匏」は、コンピュヌタの汎甚性を飛躍的に高め、珟代のIT瀟䌚の基盀を築きたした。

     しかし、ノむマン型コンピュヌタにも課題はありたす。それが「ノむマン・ボトルネック」ず呌ばれる問題です。
     これは、CPUの凊理速床が非垞に速い䞀方で、CPUずメモリの間でデヌタをやり取りする速床には限界があるため、デヌタ転送がCPUの凊理速床に远い぀かず、党䜓の性胜が制限されおしたう珟象を指したす。

     このボトルネックを解消するために、コンピュヌタのアヌキテクチャは今も進化を続けおいたす。
     䟋えば、CPU内郚に高速なキャッシュメモリを搭茉したり、GPU画像凊理装眮のように特定の凊理に特化したプロセッサを掻甚したりず、様々な工倫が凝らされおいたす。

     この蚘事を通じお、普段䜕気なく䜿っおいるコンピュヌタの「内郚」で䜕が起きおいるのか、その歎史的な背景ず仕組みに぀いお、少しでも理解を深めおいただけたなら幞いです。
     IT技術は日々進化しおいたすが、その根底には、アラン・チュヌリングやゞョン・フォン・ノむマンずいった先人たちの偉倧な発芋ず理論があるこずを知るこずは、これからのテクノロゞヌの発展を理解する䞊でもきっず圹立぀はずです。



    曞籍の玹介

    ・プログラムはなぜ動くのか 第版 知っおおきたいプログラミングの基瀎知識 Kindle版
     矢沢 久雄 (著)  圢匏: Kindle版
     日経BP (2021/5/13)
     『プログラムはなぜ動くのか』14幎ぶり、埅望の改蚂第3版!
     「これからの10幎も通甚する基本」を、より倚くの読者に身に぀けおもらうために改蚂したした。
     プログラムがコンピュヌタの䞭でどのように動䜜するのかを、誰にでもわかるように説明したす。プログラムは、メモリヌにロヌドされ、CPUによっお解釈・実行されたす。その仕組みを、倚数の図を䜿っお、順序だおお解説したす。
     ※ 曞籍の解説等は原則ずしおリンク先Amazonにおける解説をベヌスに蚘茉しおいたす。詳现内容はリンク先を参照願いたす。

    *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-

    ・チュヌリングの蚈算理論入門 チュヌリング・マシンからコンピュヌタぞ (ブルヌバックス) Kindle版
     高岡詠子 (著)
     講談瀟 (2014/2/20)
     本曞は、コンピュヌタの原理ずしおのチュヌリング・マシンを解説するずずもに、決定問題を解決した有名な「チュヌリング・マシンの停止問題」も分かりやすく説明したす。さらに蚈算量ず、倧難問の䞀぀「PNP問題」に぀いおも、わかりやすく解説したす。ブルヌバックス・2014幎2月刊
     ※ 曞籍の解説等は原則ずしおリンク先Amazonにおける解説をベヌスに蚘茉しおいたす。詳现内容はリンク先を参照願いたす。

    *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-

    ・やさしい蚈算理論: 有限オヌトマトンからチュヌリング機械たで (Information&Computing 117) 単行本 – 2017/12/10
     䞞岡 ç«  (著)
     サむ゚ンス瀟 (2017/12/10)
     ※ 曞籍の解説等は原則ずしおリンク先Amazonにおける解説をベヌスに蚘茉しおいたす。詳现内容はリンク先を参照願いたす。

    *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-

    ・コンピュヌタの構成ず蚭蚈 MIPS Edition 第6版 䞊 Kindle版
     David Patterson (著), John Hennessy (著), 成田 光地 (翻蚳)
      日経BP (2021/11/4)
    「パタぞネ」の名で芪したれる叀兞的名著の第6版。コンピュヌタ技術の初歩からモバむルクラりド時代の最新のテヌマたで深く解説。
     ※ 曞籍の解説等は原則ずしおリンク先Amazonにおける解説をベヌスに蚘茉しおいたす。詳现内容はリンク先を参照願いたす。

    *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-


     
     
     

    Tom.Msn

     
     
    [毎日]気づきを明日ぞ、[月]仕事/マネゞメント、[æ°Ž]思考、[金]ITず技術、[土]゚ッセむ、[日]ラむフスタむル、等を投皿。ずの関わりが長く、開発・マネゞメント・教育に関わる。3DCG/写真/デザむン/絵本/民俗孊・・・にも関心あり。Amazonのア゜シ゚むトずしお販売䞭

    あなたぞのおすすめ