コンピュータの
重箱の隅

論理回路から加算器は飛躍しすぎ?

プログラムを実行する手順を確認する

まずはプログラムファイルを保存するフォルダを作成しておきましょう。本書では、ファイルはC:\Users…過去に「コンピュータの歴史」をブール論理(Boolean Logic)の誕生あたりからたどろうとして、いろいろと調べてみたのだが、ジョージ・ブール氏の考えたものは現在ブール論理として習うものとかなり違っていた。

画像

ブール氏が考えたのは、言葉で推論するとどうしてもあいまいさが生じるので、数式を使って推論すべきだというものだった。実際、ブール氏の論文を見てみると、足し算や掛け算らしき数式しか書かれていない。

https://www.gutenberg.org/ebooks/36884にリンクしたい

現在使われている論理記号やAND、ORなどの用語は、後世に数理論理学として発展していく中で作られたもので、最初のとっかかりのアイデアを考えた人として、ブール氏の名前を冠することにしたらしい。

論理回路の誕生

ブール氏が論文を書いてから100年ほどして、電信に使われるリレーを使った論理回路(Logic Circuit)が誕生した。クロード・シャノン氏が論理回路についての論文を書いたのが1937年で、ほぼ同時期に最初のデジタルコンピュータも誕生している。このあたり順番がはっきりしなくてモヤッとするが、たいていの発明・発見は、複数の人が同時期に同じ答えにたどりつくもののようだ。

from pathlib import Path
from bs4 import BeautifulSoup

result = '## 目次{#toc role="doc-toc"}\n'
outpath = Path('tocoutput.md')
outpath.write_text(result, encoding='utf-8')
generate_toc.py
045from pathlib import Path
046from bs4 import BeautifulSoup
047
048result = '## 目次{#toc role="doc-toc"}\n'
049outpath = Path('tocoutput.md')        #←コード引き出し線(先頭が←)
050outpath.write_text(result, encoding='utf-8')
論理回路(Logic Circuit)

ここで不思議なのは、スイッチを直列に並べてAND回路、並列に並べてOR回路が作れるというのは、ブール論理の延長として理解できる。しかし、その先、つまり論理回路を使って計算するという発想はどこからでてきたのだろう?

2進数1桁の計算を行う半加算器(Half Adder)は、AND回路2つとOR回路1つ、NOT回路1つの組み合わせで作れる。

表見出し
●列見出し ●列見出し(中央ぞろえ) ●列見出し(右ぞろえ)
セル セル セル
セル セル 90
セル セルの中に長めの文を入れる 1000
●列見出し ●列見出し(中央ぞろえ) ●列見出し(右ぞろえ)
セル セル セル
セル セル 90
セル セルの中に長めの文を入れる 1000

〘Enter〙キー

半加算器(Half Adder)

しかし、これがブール論理の延長で、普通に出てくるとはちょっと考えにくい気がする。ブール論理は「AND(かつ)」「OR(または)」などで真偽を求めるものであって、四則演算するものではないはずだ。

残念ながら、加算器の発明者の資料は見つけられなかった。おそらく、何かを作ろうとして論理回路の組み合わせを考えているうちに、「0+0=00」「0+1=01」「1+0=01」「1+1=10」という結果を出せば足し算する回路が作れるという答えにパッとたどりついたのだろう。

世の中には頭のいい人はたくさんいるので、このぐらいは複数の人が同時に思いつくものなのかもしれない。

:::{figure} 論理回路(Logic Circuit) 半加算器(Half Adder) :::

通信機能は5大装置のどこに入る?

コンピュータサイエンスの初歩として必ず登場するのが、ノイマン型コンピュータ(von Neumann architecture)もしくはコンピュータの5大装置だ。コンピュータは「制御」「演算」「記憶」「入力」「出力」という5つの装置で構成されるという説で、フォン・ノイマン氏がその論文を書いたので、ノイマン型と呼ぶ。ノイマン氏は悪魔のように頭がいい人だったが、5大装置をノイマン氏自身がゼロから考えたわけではなく、EDVACという開発中のコンピュータを見学して、「つまり、こういうことだろ?」と論文をまとめたそうだ。

von Neumann architecture

今のパソコンやスマートフォンでも、5大装置という構成は変わらないので、今の教科書にもそのまま出てくる。ただ、5大装置の図に、実際のCPUやメモリ、キーボードなどの部品を当てはめていくと、ふと困ったことに気付く。通信モデムやNIC、タッチディスプレイなど、5つのカテゴリにうまく当てはまらない機器が結構出てくるのだ。

そのときはしかたなく、入力と出力を図の右側に配置して、「入出力兼用の機器もある」と説明したのだが、もっとうまいやり方があったのではと今でもときどき思う。

ノイマン氏に聞いてみたいところだが、悪魔のように頭のいい人だったらしいので、「馬鹿め、そのぐらい自分で考えろ」といわれそうだ。

h3見出し(小見出し)

h4見出し(小小見出し)

h5見出し(コラム?)
h6見出し(図表見出し)
コラムタイトル

コラムテキスト。コラムタイトルのあとは1行空ける

デジタルとアナログ

よくコンピュータはデジタルだという。デジタルは「連続した量」を意味するアナログの対義語で、連続していないという意味から日本語では「離散的な値」ともいう。電気や光、音といった自然現象はすべてアナログだ。

ここでよく考えてみると、コンピュータの電子回路も電気が流れているからアナログではないかという答えにたどり着く。実際のところ、コンピュータの電気信号も連続的に変化していて微妙なブレがあり、この範囲にだいたいおさまったら「1」、この範囲だったら「0」という感じに決めて、デジタルと見なしているそうだ。

digital analog

自然界にはアナログしか存在せず、コンピュータもアナログ。ということは、純粋なデジタルは、人間の頭の中にしか存在しないということになる。加えていうとプログラム(ソフトウェア)も、人間のデジタル的な考え方を反映したものなので、デジタルといえる。

デジタルとアナログについて考えていくと面白いことがいろいろあって、昔のビデオテープや音楽テープはすべてアナログで、デジタル化したDVDやCDが登場したのは結構あとのことだ。これはなぜかというと、デジタルのほうがデータ量が増えるからだ。

例えばアナログで「100」を表す場合、単位や媒体は何かはわからないが、100の強さの信号があればいい。デジタルで100を表す場合、2進数だと「01100100」となるので7ビット必要になる。仮に1秒間に1つしか信号を送れないとすると、アナログでは1秒で済むところが、デジタルでは7秒必要という計算になる。つまり、デジタルのほうがデータ量が増えるわけで、これを解決するには電子回路をはるかに高速にするしかない。その発展に時間がかかったわけだ。

digital analog

データ量が増える以外のデジタルの弱点として、連続して変化するアナログを、段階的なデジタルに変換する過程で、変化途中の細かな情報が切り捨てられるという点がある。 アナログの信号(レコードとかフィルムとか)だったら、昔は読み取れなかった情報が未来の技術で読み取れる可能性があるが、デジタルの信号(DVDとかBDとか)はいつまで経っても記録時点のままなので、切り捨てられた情報は未来永劫復元できない。最近よく聞くデジタルリマスターも、大元のフィルムから起こすのであって、DVDを原本とすることはない。

などとと書きつつも、最近のAI技術では「存在しないものをそれらしく復元する」こともできてしまうので、将来的には何とかなってしまうかもしれないなとも思う。未来を見通すのは難しい。



ルビサンプル

コンピュータサイエンスのしょとしてかならとうじょうするのが、ノイマンがたコンピュータ(vonフォン Neumannノイマン architectureアーキテクチャもしくはコンピュータの5だいそうだ。

コンピュータサイエンスの初歩として必ず登場するのが、ノイマン型コンピュータ(vonフォン Neumannノイマン architectureアーキテクチャもしくはコンピュータの5大装置だ。コンピュータは「制御」「演算」「記憶」「入力」「出力」という5つの装置で構成されるという説で、フォン・ノイマン氏がその論文を書いたので、ノイマン型と呼ぶ。


ここまでは本文です。

コラムタイトル

ここは囲み記事にします。囲み記事は<div class="column"></div>で囲んでください。ここは囲み記事にします。囲み記事は<div class="column"></div>で囲んでください。ここは囲み記事にします。囲み記事は<div class="column"></div>で囲んでください。


数式サンプル

インライン数式は\(y=\frac{1}{x^2}\)こんな感じになります。

ディスプレイ数式は$$f(x)=\frac{1}{\sqrt{2\pi}}\exp\left(-\frac{x^2}{2}\right)$$となります。

$$ \begin{eqnarray} \frac{2}{3} + \frac{1}{5} &=& \frac{10}{15} + \frac{3}{15} \\ &=& \frac{13}{15} \end{eqnarray} $$


CSS 20mm四方

350dpiの写真 200dpiの写真 96dpiの写真


会話サンプル

【生徒naki】なき

【生徒hatena】はてな

【生徒gao】がお

【生徒normal】ノーマル

【生徒egao】えがお


【先生fum】ふむ

【先生shock】ショック

【先生soreda】それだ

【先生egao】えがお

【先生normal】ノーマル


【生徒normal】交互ノーマル

【先生fum】交互ふむ

【生徒egao】交互えがお

【先生shock】交互ショック


@comment:編集コメントを小さく表示できます。@commend

:::{.hen} このページが空いています! 埋めてください! :::

「ではみなさんは、そういうふうに川だと云われたり、乳の流れたあとだと云われたりしていたこのぼんやりと白いものがほんとうは何かご承知ですか。」先生は、黒板に吊した大きな黒い星座の図の、上から下へ白くけぶった銀河帯のようなところを指しながら、みんなに問をかけました。

カムパネルラが手をあげました。それから四五人手をあげました。ジョバンニも手をあげようとして、急いでそのままやめました。たしかにあれがみんな星だと、いつか雑誌で読んだのでしたが、このごろはジョバンニはまるで毎日教室でもねむく、本を読むひまも読む本もないので、なんだかどんなこともよくわからないという気持ちがするのでした。

ところが先生は早くもそれを見附けたのでした。 「ジョバンニさん。あなたはわかっているのでしょう。」

ジョバンニは勢よく立ちあがりましたが、立って見るともうはっきりとそれを答えることができないのでした。ザネリが前の席からふりかえって、ジョバンニを見てくすっとわらいました。ジョバンニはもうどぎまぎしてまっ赤になってしまいました。先生がまた云いました。 「大きな望遠鏡で銀河をよっく調べると銀河は大体何でしょう。」

やっぱり星だとジョバンニは思いましたがこんどもすぐに答えることができませんでした。

先生はしばらく困ったようすでしたが、眼をカムパネルラの方へ向けて、 「ではカムパネルラさん。」と名指しました。するとあんなに元気に手をあげたカムパネルラが、やはりもじもじ立ち上ったままやはり答えができませんでした。

先生は意外なようにしばらくじっとカムパネルラを見ていましたが、急いで「では。よし。」と云いながら、自分で星図を指しました。 「このぼんやりと白い銀河を大きないい望遠鏡で見ますと、もうたくさんの小さな星に見えるのです。ジョバンニさんそうでしょう。」

ジョバンニはまっ赤になってうなずきました。けれどもいつかジョバンニの眼のなかには涙がいっぱいになりました。そうだ僕は知っていたのだ、勿論カムパネルラも知っている、それはいつかカムパネルラのお父さんの博士のうちでカムパネルラといっしょに読んだ雑誌のなかにあったのだ。それどこでなくカムパネルラは、その雑誌を読むと、すぐお父さんの書斎から巨きな本をもってきて、ぎんがというところをひろげ、まっ黒な頁いっぱいに白い点々のある美しい写真を二人でいつまでも見たのでした。それをカムパネルラが忘れる筈もなかったのに、すぐに返事をしなかったのは、このごろぼくが、朝にも午后にも仕事がつらく、学校に出てももうみんなともはきはき遊ばず、カムパネルラともあんまり物を云わないようになったので、カムパネルラがそれを知って気の毒がってわざと返事をしなかったのだ、そう考えるとたまらないほど、じぶんもカムパネルラもあわれなような気がするのでした。

先生はまた云いました。 「ですからもしもこの天の川がほんとうに川だと考えるなら、その一つ一つの小さな星はみんなその川のそこの砂や砂利の粒にもあたるわけです。またこれを巨きな乳の流れと考えるならもっと天の川とよく似ています。つまりその星はみな、乳のなかにまるで細かにうかんでいる脂油の球にもあたるのです。そんなら何がその川の水にあたるかと云いますと、それは真空という光をある速さで伝えるもので、太陽や地球もやっぱりそのなかに浮んでいるのです。つまりは私どもも天の川の水のなかに棲んでいるわけです。そしてその天の川の水のなかから四方を見ると、ちょうど水が深いほど青く見えるように、天の川の底の深く遠いところほど星がたくさん集って見えしたがって白くぼんやり見えるのです。この模型をごらんなさい。」