アプリ版:「スタンプのみでお礼する」機能のリリースについて

以前からの疑問なのですが、CPUでマシン語に変換されて高速度で計算やデータ処理がされますが、これって電子が0,1の間を高速度で進んで新たな0,1の羅列?のマシン語の結果を出すと言う事でしょうか?ある本には0,1というのは電圧が有る、無い(0Vと5Vとか)と言う事だとも書いてありました。0,1のマシン語と電子の動き(電圧の有る、無いと言うのかも知れませんが)との関係を教えてもらえると幸いです。
また、パソコンのCPUと家電や自動機に使用されているCPU(Z80など)の違いって原理的に何かあるのでしょうか?
これらを知りたくいくつか書籍を購入したりもしたのですが、肝心なところが解からず質問させてもらいました。
 宜しくお願い致します。

A 回答 (6件)

以前半導体設計(CMOS系マイコン)を経験した者です。

今はしていませんが。

他の方の書かれている内容を分かりやすく書きます。
CPUは何故どうさできるのかを知るのでしたら、逆から調べて行った方がわかりやすいですので、説明します。

CPUは基本的には次のような構造で成り立っています。
・CPUは、複数のクロック信号(配線)でタイミングよく区切って、信号が流れるようになっている。
 (水門と考えた方がわかりやすいです)
・プログラム(マシン語)を読むデコーダーがついていて、ROM、RAMから流れてくる信号をデコーダーが解読して動作に必要な信号を取り出せるようになっている。
・多数のレジスタで構成されている。
・詳細回路図から見ると、NAND,NOR,NOTを中心に構成されている。

次に、電子の面から説明します。
CMOSに関する動作に関する説明は下記のURLでご覧ください。
http://ja.wikipedia.org/wiki/CMOS
(他にNMOSのみで構成されたのもありますが、今はもう使われていないでしょう)
CMOSは素子のON-OFFで動作するので、反転する時のみ電流が流れる、固定している時はほとんど電流値が0に等しいので、電位で考えた方がよいです。

>それから、パソコンのCPUと家電や自動機に使用されているCPU(Z80など)の違いって原理的に何かあるのでしょうか?
動作の原理は同じです。Z80だって、昔のNEC PC-8001に使われていましたよ。
で、違うところは、パソコン用CPUはマザーボードを見てわかるように複数のチップで構成されていますが、家電用Z80は、1チップでROM、RAM、コントローラ、CPUで構成されています。
つまり、コストダウンとコンパクト化にするため、設計レベルですでにあるものを1つのチップに配置して、その上に配線しているのです。

もっと調べたいようでしたら、こういうことを説明している書籍は案外少ないですよ。企業秘密の部分が大きいので、さわり程度しかこうかいされていません。書籍よりもメーカーから出されている資料を読まれた方が動作がなんとなくわかってきますよ。
    • good
    • 0
この回答へのお礼

大変貴重な回答有難うございました。
ようやく、おおよその動作原理が解かってきました。
難しい回路設計までは理解できないとしても、これまでCPUにしても漠然とした理解しかできませんでした。でも、これでCPUが早く演算したり、家電CPUがPCと違い、何故それだけで動作するのかも解かりました。
仕事上、機械にエンコーダやデコーダーなどが着いているのがありますが、今まで信号を読んでいるとか、変換しているというくらいしかの知識しかありませんでしたが、それらがどうなっていてCPUでどう処理されているのかおおよそ理解できました。
GW中に休み返上で少しでも解かればと思っていたのですが、思っていた以上の収穫です。今までも書籍などで自分なりに調べてきましたが、いつも知りたい部分の一部分しか解からず、時には混乱さえしていました。メーカーからの資料も見てみます。どうお礼を言ったら良いか判りませんが、大変助かりました。
有難うございました。

お礼日時:2009/05/03 12:18

CMOSゲートの入力の電圧が変化すると、出力の電圧が変化するという無接点回路があって、


そのゲートを組み合わせることで構成されたフリップフロップやAND,ORなどの論理回路の状態が変化していき、
その論理回路を大量に配線することでレジスタや乗算機といった論理ブロックができてて、
さらにその論理ブロックを組み合わせることで、CPUが構成されてるって感じかな。
    • good
    • 0
この回答へのお礼

回答有難うございました。
CPUの構造も少しですが解かりました。
以前、シーケンスの回路でAND回路やOR回路を作った事があります。少し違うかもしれませんがそのような回路が大量に配線されていて出来ているのがレジスタや乗算機ということですね。入力されたデータがCMOSゲートで変化した電圧となって、予め大量配線されて出来ているレジスタで一時保管したり、乗算機で演算される、そして結果を変化した電圧として出力する。これがCPUのおおよその構造?と言う訳なのではないかと思いました。
 superside0さん他何人かの回答者さまのおかげでおおよそですが、CPUひいてはコンピュータや家電のマイコンのシステム?みたいのが解かってきました。仕事上にも役にたちます。
感謝です。
 有難うございました。

お礼日時:2009/05/03 13:56

0、1の区別はやはり電圧の高低ですね。

電圧の有る無しは相当昔の回路です。
イチイチ電圧のON・OFFをやっていては負担が大きすぎると思います。

質問者さんは電気工学、あるいはNo3の方のようにコンピュータの仕組みを勉強された方が早いと思います。
電気工学はオームの法則など中学レベルの理科から始まって、コンデンサの容量計算などですね。
電気工学の知識が必要かどうかは分かりませんが、電検3種の勉強で十分でしょう。

それよりは情報処理技術者試験のITパスポート試験(運用管理レベル)、
あるいは基本情報技術者試験(開発者1、2年生レベル)の勉強の方が適任のような気がします。
こちらはNo3の方が言った内容がハード面での主な勉強内容になります。

電子工学というと、これは主に半導体設計に関わってくる分野です。
光電効果などの量子物理学の知識が必要になってきますので、せめて高校で
物理学を習っていないと話についていくのが難しいかと思われます。

最後に現在は電子コンピュータの時代ですが、次世代のコンピュータとして
量子コンピュータが期待されていると紹介しておきます。
こういった最新技術が汎用で実用化されるのはだいたい20年後なので
2030年頃どうなっているかというところですね。
    • good
    • 0
この回答へのお礼

回答有難うございました。
電圧の有る、無しではなくて高低なのですね。
貴重な収穫になりました。
 仰られる通り、ITパスポート試験も視野には入れてみたのですが、初級シスアド試験からの変更時に調べてみたら、数学など理系に関する事が多く躊躇してしまいました。もともと学生の時は経済系であったのと社会にでてから設計(プラスチック関係で機械や電気はありませんでした)で化学系なら少しは理解できるのですが、電子工学となるとやはり物理を勉強してないときついと思いました。
 もう一度ITパスポート試験の運用管理レベルや基本情報処理技術者試験の本を調べてみます。笑われるかもしれませんが、これらの本もほとんど持っています。
 大変貴重は回答をいただき感謝です。
有難うございまいした。

お礼日時:2009/05/03 12:42

電子の動きからCPUの動作までを学ぶのでしたら、まずはFET(電界効果トランジスタ)の働きが書いてある電子工作系の本を参照されてはいかがでしょうか。


そこからMOS-FETの原理、CMOSの原理、フリップフロップ回路、演算器の仕組み……と、本の説明を読んでいけば、だいたい分かると思います。
電子の動きからマイコンの動作は、途中に色々あるためここでは説明しきれません。電子の流れ=マイコンの動作というわけではありません。
    • good
    • 0
この回答へのお礼

早速の回答ありがとうございました。
何を勉強したら理解できるのか?具体的に教えていただき
助かりました。正直ソフト、ハードと合わせて数十冊の本を購入しました。つい最近ではなぜコンピュータは動くのか?という本を購入して読んでみましたが、疑問は解決しないどころかかえって複雑になってしまいました。言われた本に的を絞って勉強してみます。
これからの方向性が見えてきたようです。
感謝します。ありがとうございました。

お礼日時:2009/05/02 00:36

コンピュータは電子計算機と訳されましたが、やはり


電子というより電気じゃないかと思います。弱電です
ね。

命令実行時の動き、ということでしたら、CPU命令を
実現しているマイクロ命令を勉強されたらいいと思い
ます。
私は勉強不足でPCや今の汎用機がどうなっているかは
知りませんが、少なくとも一昔前の汎用機はマイクロ
命令でCPU命令を実現していました。

マイクロ命令は、どこそこのバスをどれくらいの時間
開け、とかそのような命令です。

CPUそのものの勉強も全体を把握するのにいいと思いま
す。命令だけでなく、各種の仕組みです。
    • good
    • 0
この回答へのお礼

回答ありがとうございました。
電子ではなく弱電ですか・・。私は電子が高速で0,1のところを流れる、流れないと思っていました。弱電なら無電圧や低電圧のものが流れる流れないと言う事になるのだと思います。仕事が生産技術関係で今は自動機で組み立てをしたりしてマイコンなども使わなくてはならないのですが、CPUについてはどういう仕組みになっているのかさえ解からず困っていました。弱電と言う事で明らかに一つ、疑問がとけました。
大変有難うございました。各種の仕組みも勉強してみます。

お礼日時:2009/05/02 00:47

簡単にいってしまえばゼロは電位がない状態でイチは電位がある状態と考えて良いでしょう。


レベルは、例えばZ80などでは5VですがPentiumなどだと0.9V位でしょうか。
つまり動作電圧で正規化されたものだと考えればいいと思います。
例えば5を4ビットで表すと0101ですね。
4本の線に接続された4つのトランジスタが0101のレベルを持っているわけです。

Z80とPC用のCPUなどに基本的な違いはありません。
バス幅、動作速度、アドレスレンジ、命令形態などはそれぞれですが、基本的な動作は同じです。
ワンチップ系はCPUコアにROMやRAM,I/Oを集積したものです。
    • good
    • 0
この回答へのお礼

早速回答をいただきありがとうございました。
やはり電圧なのですね。そして0が電位がない、1が電位があると言う事でマシン語が成り立っているのですね。またZ80とパソコンのCPUが基本的には同じだとお聞きしまして少しほっとしました。
独学でやっているので一つ考え違いをすると次の段階の勉強にいくと
つじつまが合わなくなってしまい、そこから何を考え違いしてるのか?
フィードバックして見つけ出すのですのに長い時間を費やしてしまいます。自分の中で基本が解かっていないのと、もっともっと関連する仕組みを理解していかないと、これからは前に進めないのかも知れません。
でも今回、電子が流れているのはなく、電位(電圧)であること、Z80とパソコンのCPUなどが基本的に同じとの事で、仕事でマイコンを使って簡単な自動機の作らねばならず、今回の回答で1歩前へ進めそうです。感謝です。有難うございました。

お礼日時:2009/05/02 01:07

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!