2018-08

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

【解説記事】今後の予定&論理ゲート

こんにちは、竹村です。

前回の解説記事は内容が簡単なこともあって質問が来ないかなーなんて思っていたんですが、面白い質問が飛んできました。
コメントで答えたので、みなさんも見てみてください。
いつどの記事に質問しても大丈夫ですから、少しでも気になったことは気軽に質問してみてくださいね。

さて、これからCPUをどのように作っていくのかを説明していくわけですが、そもそもCPUとはなんなのでしょうか?
そして、どんな機能が必要なのでしょうか?

CPUはCentral Processing Unitの略称です。
簡単に言ってしまえば、コンピュータの頭脳部です。
では、CPUにはどんな機能が必要なのでしょうか?

ずばり、CPUにとって重要な機能は以下の二つです。
・計算をすること
・値を保存しておくこと

どうしてこの二つが重要なのか、例を交えて考えてみましょう。

いま、CPUに1から10までの和を計算させることにしましょう。
最初に思いつく最も単純な方法は、1と2を足して、その結果に3を足して、…と順に10まで足していく方法です。
実は、数学の公式などを使わない限り、ほとんどのCPUはこの方法でしか計算できません。
つまり、一度に多くの数字を足し合わせることができないのです。
するとここで、中間的な結果を保存しておく必要が出てきます。
確かに、1+2の結果を覚えておかないと、次は何に3を足せばいいのかわかりません。
それに、最終的な結果も計算した瞬間に消えてしまっては意味がないですよね。

このように、CPUは「計算」と「値の保存」が重要です。
なので、これからはこの2つの要素にスポットを当てて解説をしていこうと思います。
まずは、これから数回かけて「計算」に関することを説明します。そしてそのあとに、これまた数回かけて「値の保存」に関することを説明していく予定です。

そのあとはまだ未定です。
解説記事を続けるなら、具体的なCPUの設計の説明をしたいと思っています。
個人的にはすべてを説明したいなあと思っているのですが、はんだ付け地獄 諸事情によりできない可能性もあるので、今は何とも言えません。

それでは「計算」パートのはじめとして、論理ゲートと、そのうちの1つであるNOTゲートについて説明をはじめようと思います。


みなさんは「コンピュータの内部では0と1だけですべてが表現されている」という話を聞いたことがあると思います。
頭脳部であるCPUも、例外ではありません。

ではそもそも、CPUでは何を0として何を1としているのでしょうか?
答えは電圧です。「ピカチュウ!10万ボルトだ!」のあれです。
僕たちは、5ボルトの電圧を1、0ボルトの電圧を0と考えて設計しました。
なぜそうしたのか、という話は説明が難しいので詳しくは触れませんが、「リレーでCPUを作るのに都合がよかったから」ということです。

これで0と1が表現できたからCPUができるぞー!と言いたいところですが、そんなに簡単ではありません。ここからが本題です。
そうです、CPUにどうやって計算をさせるかという話です。

CPUは論理演算という計算しかできません。
論理演算とは、0と1だけを使った計算の事です。
しかし、計算と言っても、僕たちが小学校で習ったような足し算や引き算ではありません。
代表的なものとしてNOT(否定)、AND(論理積)、OR(論理和)、XOR(排他的論理和)などがあります。
これらの演算を組み合わせることで、足し算や引き算だけでなく、さまざまな計算をすることができます。
詳しくはもう少し後の解説記事まで待っていてください。

論理演算をする機構のことを論理ゲートと言い、NOT演算やAND演算をするものをそれぞれNOTゲートやANDゲートなどと呼びます。
では、リレーをどのように使って論理ゲートを作るのか、NOTゲートを例にして説明していきます。

さっきから論理演算を計算だと説明していますが、関数だと考えてもらった方がわかりやすいと思います。
つまり、何かが入力されたら、それに対応する出力をするということです。
NOT演算は、1つの0か1を入力することができ、0が入力されたときには1を、1が入力されたときは0を出力します。
これを表にまとめると表1のようになります。

 入力  出力 
  0   1 
  1   0 
(表1:NOT演算の真理値表)

つまり、入力とは違う数字を出力しているわけです。
これにNOT(否定)という名前がついているのもしっくりきますね。
また、入力と出力をまとめた、このような表のことを真理値表と呼びます。
今後もよく出てくるので、言葉を覚えてもらえると助かります。

では、この演算をリレーを使ってどのように実現するのかというと、図1のようにします。
inは入力、outは出力のことです。
Vは電源電圧のことで、要は1です。
Gはグラウンドのことで、要は0です。

not_gate.png
(図1:NOTゲート)

では、図1がほんとにNOT演算を実現できているのか確かめてみましょう。
電磁石には、一方の端子が1で、もう一方の端子が0のときだけ電流が流れます。
なので、inが0のとき電磁石は磁力をもたず、スイッチは動きません。
つまり、outはVとつながっているので1になります。
一方、inを1にしてみると、電磁石の端子が1と0になるので電磁石が磁力をもち、スイッチが動きます。
つまり、outはGとつながるので0になります。
以上より、確かにNOT演算を実現できていることがわかります。


今回の説明は以上です。
前回に比べて難しい雰囲気なってきました。
冒頭の部分も長かったので、読むのが大変だったと思います。
わかりやすく書いたつもりではいますが、質問がありましたら遠慮なくお願いします。

次回は「計算」パートの続きとして、ANDゲート、ORゲート、XORゲートの構成と、MIL記号について解説しようと思います。

それではまた、次回の更新で。


コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

http://antisemiconductor.blog.fc2.com/tb.php/16-6c100c7b
この記事にトラックバックする(FC2ブログユーザー)

«  | ホーム |  »

プロフィール

アンチ半導体同盟(仮)

Author:アンチ半導体同盟(仮)
東京工業大学 工大祭 2013でリレー式計算機を展示します。
日時:10月12日(土)、10月13日(日)
場所:大岡山キャンパス西9号館W934講義室
企画名:リレー式計算機展

最新記事

最新コメント

最新トラックバック

月別アーカイブ

カテゴリ

未分類 (0)
活動紹介 (19)
メンバー紹介 (2)
解説記事 (6)

RSSリンクの表示

リンク

このブログをリンクに追加する

ブロとも申請フォーム

この人とブロともになる

QRコード

QR

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。