• ベストアンサー

パソコンの動作原理について教えてください。

Microstarの回答

  • Microstar
  • ベストアンサー率21% (289/1367)
回答No.6

CPUはロジック回路が使われてい、しかも組み合わせていますので、0と1で動作できるようになっているからです。そのロジック回路は、AND回路、OR回路、INV回路、ゲート回路(ON/OFF)で出来上がっています。 どうやって動かすかというと、ROMからID(インストラクションデコーダー)にプログラムデータを解読して、そこから制御信号が流れて、各回路を動かすようになっています。 詳細に知りたい場合は、本屋へ行けば解説本が出ていますので、買って読んでみてはどうでしょうか?

shure-neko
質問者

お礼

ロジック回路についても、私は全然聞いたこともなかったので、知識が足りないようです; いろいろと勉強してから、このことについて学びたいと思います。 回答ありがとうございました。

関連するQ&A

  • ショートカットが動作しません。

    初めての質問です。 ショートカットに関して質問です。 ◆環境 WindowsXPで複数台の同一設定のPCがあります。但し、コンピュータ名だけは異なります。 ◆症状  あるプログラムを動作させるショートカットを1台のPCで作成し、これを他のマシンにコピーしました。ショートカットキーによる動作が効きません。(そのショートカットのダブルクリックでは動作するのですが、、、)  そのショートカット(.lnk)をバイナリで見るとコンピュータ名の情報が含まれているようです。コンピュータ名が異なるマシンでは動作できないのでしょうか? 何かの設定で回避できるのでしょうか?   ご存じの方、ご教授下さい。

  • 最初のアセンブラ

    人間がハンドアセンブル際にアセンブリ言語と機械語の対応表を見比べて翻訳する作業を、コンピュータの黎明期に機械語で最初に作られたアセンブラはどのように行っていたのかということを教えて下さい。 プログラミング言語の歴史を考えてみると、(フォン・ノイマン型)コンピュータの黎明期では全てのプログラムは最初人間が直接真空管やディップスイッチのオン/オフを切り替えることで、機械語でプログラムを入力していたと思います。その後アセンブラが開発されたことで、人間はパンチカードやカセットテープなどを通してアセンブリ言語でプログラミングを行えるようになったと聞きました。 アセンブリ言語は機械語と1対1で結びついたもので、アセンブラはアセンブリ言語を機械語に翻訳するのだと言うことは分かります。しかし、パンチカードやカセットテープで入力したアセンブリ言語も、コンピュータにとっては根本的には0/1(スイッチのオン/オフ)という点では変わりはなく、最初のアセンブラはその0/1をどのようにして正しい機械語の0/1に変換することが出来たのでしょうか? 少し質問の意味が分かりにくいかもしれませんが、例えば MOV B, A //Bレジスタの内容をAレジスタに送る といったアセンブリ言語は、機械語では 01000000 に相当するかもしれません。しかしコンピュータがパンチカードを読み込んだ時点では 01010100 といった信号として入力されるとしたら、機械語で最初にアセンブラを作成した人はどのようにしてそれを適切な機械語(ここでは01000000)に翻訳出来たのでしょうか? 想像では最初に機械語で非常に超簡単なアセンブラの原型とも言えるプログラムを作って、それを元にした簡単なアセンブリ言語(の原型)でより高度なアセンブラを作る、といったことを繰り返していまのアセンブラが開発されていったと思いますが、では最初のアセンブラの原型とはメモリ上ではどのように実現されていたのか、ということが気になったので質問させていただきました。アセンブリ言語で実際にプログラムのイメージはこんな感じでは?ということを書いて下さっても構いません。 よろしくお願い致します。

  • プログラム言語って何があるの?

    私、プログラム言語について調べています。 ウィキペディアをみてもたくさんあって、そこからまたリンクがたくさんあってどこでどのように区切っていいのか分かりません。そこで皆さんに質問したいのですが、プログラム言語はどのようなものがありますか? 大まかにプログラム言語の総称があってその次に (1)機械語(マシン語) (2)アセンブラ言語 高水準言語これの中に (3)インタプリタ言語 (4)コンパイラ言語がありますが、 (1)~(4)のそれぞれの詳細を教えてください。例:BASIC、C等 またこの枠に入らないプログラム言語がありましたら教えてください。 とってもマイナーなものでも構いません。出来ればURL欲しいです。 お願いします。m(_ _)m

  • コンピュータって?

    ずっと疑問だったけど、私考なんだけど、CPUが500MHZとか CPUの性能を表すけど、これって、添付画像の下の波というか タイミングの回数で、感知する時間、しない時間を1サイクルとして 1秒間に500MHZだったら、1秒間に、0と1を5億回分まで認識出来ますってことでしょうか? また、プログラムでは、なんちゃら言語とかあるけど、これは わかりやすいように言葉(単語)になってるのだとおもうけど { } \ だったり、print だったり、そういう単語や記号を 0011001011(←適当)に変換したのがマシン語だと思うのだけど この0と1だけで、計算したり判断したりできるのがずっと 不思議なんだけど、たとえば、もし、printが0011001011だったと したら、0011001011は印刷をすることと、決められてるのしょうか? それぞれの記号やプログラム単語などには、それぞれに、0と1の 羅列がきめてあり、それに伴った動きをするってことでしょうか? そこが、未だにわからないです。 だとしたら(勝手にこうかな?って思ってるので違うかもしれないけど) プログラムの単語ほどに、0と1の組み合わせがあるってことに なるんでしょうか? だとすると、誰がそれを決めてるんだろう? 新しい用語が増えるたびに、決まるのだろうか?とか もし、そうなら、新しい用語が決まる前のコンピュータは その紐付けがないから動かないとなるとおもうから、 いや、これはやっぱり違うのかなって思っちゃう。 どうして1と0で動きが決まるのかがずっと疑問です。

  • WindowsXP上ではじめて読むマシン語のプログラムを実行したいので

    WindowsXP上ではじめて読むマシン語のプログラムを実行したいのですが。 いつもお世話になっております。 小生、只今アスキーブックスさんから出版されている、「はじめて読むマシン語」という書籍を読みながら、Z80の機械語を勉強しようと思っています。 しかし、肝心のZ80の機械語を実行できる開発環境がなく、どうしようかと思っています。 先輩方の中でWindowsXP上で動作する、Z80の機械語を実行できる開発環境をお知りの方いらっしゃいましたら、ご教示宜しくお願い致します。 お忙しい中申し訳ございませんが、以上ご確認の程、宜しくお願い致します。

  • JAVAでつくったプログラムはコンピュータ単体で動作しますか。

    ビギナなので,見当違いな質問ならば申し訳ない。 JAVA言語でつくったプログラムは.exeファイルのような形にして コンピュータ単体で動作させることはできないのでしょうか。

    • ベストアンサー
    • Java
  • プログラミングの第一歩 基礎の基礎

    C言語でのプログラミングを勉強したいと思っています。周りで教えてくれる人もいるのですが、いきなり話がプログラミング言語の初歩に入るので、よく理解できません。コンピュータとは無縁の文科系の私にもわかるように、初歩以前のABCを教えていただければうれしいです。 プログラミング自体は、書物を読めば分かると思います。ただ、ワードパッドなりメモ帳なりに組んだプログラムを実際にマシーンに読ませて動作させるようにするにはどうしたらいいのでしょうか。 Windowsの初期画面から、どこに入っていってプログラムを入力しますか? プログラムの保存先はCドライブですか? どうやって、そのプログラムを実行しますか? 恥ずかしながら、このレベルが分かりません。適切なサイトも見当たりません。 どうぞ宜しく教えて下さい。

  • Python。Seleniumの動作。

    個人的に仕事などで使えるプログラムツールを作りたいと思い、現在Pythonを勉強しています。 が、スタンパーみたいなソフトや、ログインなどの動作をしてくれるとか、自動でプルダウンをランダムに選択してくれるようなワンボタンのソフト等を作りたくてGUI前提で考えていたのですが、そもそもPythonをGUIにするのは重いからあまりしないと後で知りました。 色々調べたり聞いたりすると、そういう目的ならPythonがいいんじゃないかみたいに言われたりもしたのですが… SeleniumならWEBの自動操作が出来るということで色々弄っていたのですが、確かに操作は少し出来るようになってきましたが、あまりにも動作がアナログ的というか… 表示されていない要素は指定できないとか、WEBページの読み込みが間に合わないと動作がバグるとか。 個人的にはプログラムというのはもっと『このボタンを押せとコードを書いたらボタンを確実に押して進行してくれる』ものだと思っていたのですが。 こういうものなのでしょうか? それともSeleniumが実際に人が操作する動作をしっかり守ったものなのでしょうか。 これが例えば他の言語でコードを組んだ場合も、同じような動作になってしまうのでしょうか。

  • アセンブリ言語についてと言語の違いについて。

    高水準と低水準言語の違いは、まず、マシン語の2進数の羅列では分からないからアセンブリ言語が生まれ、 アセンブリ言語よりさらに人間が理解できる言語が、C言語やBASICなどでしょうか?教えていただけないでしょうか?合っていますでしょうか?

  • プログラミングを突き詰めて考えると難しい

    プログラミング(C.C++)を勉強しているのですが、プログラムが実行されるまでの流れの”中身”が分かりません。 ■C言語で書いたプログラム ↓ ■コンパイラ ↓ ■マシン語 ↓ ■CPU だと思うのですが中でどのように処理されているかがよく分かりません。 あと、「マシン語によるプログラミングでは、基本的にCPUが直接解釈できるマシンコードと一対一に対応するニーモニックを使用する。この後アセンブラによってニーモニックをマシンコードに変換し、CPUで実行できるようにする。」と書いてるあったのですが、C言語との違いは何なのでしょうか?どちらもマシンコードに変換するのでおなじプログラムだと思うのですが。 色々調べているうちにこれを理解していくにはかなり難しく、マシン語がどのようにCPUで処理されて結果としてでてくるまでの過程など勉強しなければいけない気がするのですが、わかりやすい参考になる本やサイトがれば教えて頂けないでしょうか