- ベストアンサー
コンピュータの動作の仕組み
コンピュータの動く仕組みを知りたいのです。 といっても、良く目にする、CPUの模式図などを交えた解説はいろいろ読んではいるのですが、私が疑問に思っているのは、それこそ「コンピュータの電源スイッチをONにした瞬間」から何万分の何秒単位かわかりませんが、刹那の間に繰り広げられる「ユーザがコンピュータを使用できる状態に持っていくまでの準備作業」的な内部処理(できれば時系列に詳しく)の様子なのです。まず、何という部品に通電されて、その部品がどういう役割を果たして・・・みたいな感じでしょうか。それとも、通電の順番なんかは考えても意味のないことでしょうか。 コンピュータの仕組みの根本的なところが知りたいという感じなのです。 コンピュータは電気仕掛けなのだろうけれど、機械仕掛け的な感覚で順を追って理解したいという感じなのです。 高校・大学は文系に進んだので、非常識な質問かもしれません。 こういうことが解説されている本とかサイトが存在するでしょうか?あれば読んでみたい(単なる好奇心なので高価な本は手が出せませんが)といった感じですが、いかがでしょうか? もちろん、ここでご説明いただけるなら大歓迎です。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
PCの電源をONしてから使用者がPCを使用できるようになるまでの期間はとってもスリリングな時間ですね. BIOSに制御が移って,OSが起動するまでの動作は 回答NO.3で引用されたURLの説明が明快です. BIOSに制御が渡る以前のCPU起動時の仕組みは http://www.softech.co.jp/mm_090204_firm.htm これが参考になります. 更には,そもそもCPUはどのようにして動き始めるのかは 以下のURLが参考になります. なんと,CPUをSSIのみで構成しようという試みです. http://www.alles.or.jp/~thisida/mycputop.html
その他の回答 (3)
- gungnir7
- ベストアンサー率43% (1124/2579)
>そこから、どうやって「0,1の世界」が始まるのか。 >通電から、最初のマシン語実行までには、たぶん物理的な仕掛けがあると思うのですが ご質問者様の疑問は物理層レベルの、コンデンサとか回路の話になるかと思います。 ならば回路設計関連の書籍で目を通すなり検索されると良いでしょう。 さすがにこれは専門外ですので私は割愛します。 一般的にコンピュータの動作の仕組みと問われればBIOSから話が始まるのが妥当なところです。 細かいことは下記の参照URLを見て頂くとして、 コンピュータというのは電源を入れた直後は装置は全てバラバラの状態です。 したがってこのバラバラのパーツを物理的に認識していくことと、 BIOS-メモリ-CPU間で正常に動くかどうかのマザー上のチェックをしなければいけません。 これにOSのブートを含めた3点がBIOSの主な仕事だといっても良いでしょう。 なお、HDDはBIOSから見れば外部接続装置であり、この時点では接続できるか否かのみが対象になります。 BIOSはその最後にOSをブートドライブから立ち上げて、 以後の制御をOSに引き渡します。ここでようやく動作(ブート)が完了します。 http://nobumasa-web.hp.infoseek.co.jp/boot/boot.html
お礼
お礼が遅くなって申し訳ございませんでした。 じっくり読ませていただき始めたタイミングで、生活上の思わぬトラブルが発生し、対応に追われていました。 長引いたので仕事もたまり、今はそちらの対応に追われています。 gungnir7さんとricky-odaさんが教えてくださったURLをじっくり読ませていただけば、かなり深い理解が得られると思います。 その上で疑問が残ったらまたお力をお貸し下さい。 ありがとうございました。
- Splatter
- ベストアンサー率41% (181/440)
No.1の方が詳しく仰られているので補足的な内容です。 コンピュータに限らず、物理的にスイッチが入るなどの動作の後に 電気が流れます。通電されることが0から1への変化です。 電球で言うと消えていれば0、点灯していれば1ですね。 通電そのものが1への変化と言えます。 電源ユニットは例外なくマザーボードへ接続されています。 マザーボードに通電が始まると、搭載されているBIOSが 動作を開始します。以降は、BIOSの仕事です。
お礼
どうもありがとうございました。 おかげさまで、深い理解への足がかりがつかめました。 思わぬトラブルがあり時間が取れていませんが、いままでも忘れては思い出すを繰り返していたテーマだったので、必ず再度じっくりと考える機会があることは間違えありません。
補足
ご回答ありがとうございます。 その後、いくつかサイトを巡ったりしていましたが、メモリの仕組みなどはこの「通電状態(※1)を0,1に置き換える」ことで実現されているようですね。 (※1 「電荷の有無」と書いてありましたが、「通電状態」とはまた違う意味になりますか?) ご回答いただいた内容を読ませていただいたり、ネットサーフィンしてみたりしながらいろいろ勉強させていております。その上で、未だにすっきりしていない点を整理すると、以下のような感じです。 「様々なやり方があるうちの1つだけでも良いから、コンピュータ(電卓のようなものでもいい)の起動の様子を物理的な仕組みと実行されるマシン語を逐次追いながら解説してくれているようなものがないか」 例えばご回答頂いた中の「搭載されているBIOSが動作を開始します」に関してであれば、「BIOSの動作」というものを追っていけるような解説があったらいいなという感じなのです。 BIOSってプログラムですよね。 BIOSを含めて、プログラム(というか、マシン語)というものが(物理的に)どのように呼び出されて、(物理的に)どのように作用して、例えば「初期化プログラムは、まずビデオカードを初期化を行う(※2)」といった機能を実現したことになるのか。という感じです。コンピュータの部品のどの部分をどのように変化させたことによって「ビデオカードを初期化が行われた」ということになるのかなといった感じです。 (※2 回答番号:No.3のgungnir7さんがご紹介下さったサイトの説明文に出てきていたので、使わせていただきました。) 一番最初のマシン語はどんな命令で、その次はどんなで、・・・ここまでで、ビデオカードを初期化が行われました。みたいなのが具体的に見られるようなものを探しています。 たとえば、この例なら、ビデオカードの初期化さえ見られれば、あとは他のデバイスなどもだいたい似たようなものだろうという感じで納得してしまえると思うのです。
- vaidurya
- ベストアンサー率45% (2714/5983)
中途半端に詳しい本というのは、たぶんありません。 それだけで本にはなりませんし、その部分は 一般的なコンピューターユーザーが手出しする領域ではありませんから… まぁ通電したときに、Windows等が動くPCであれば 普通回路のほとんどにまず電力が供給されます。 M/Bの設計によってはそうでない場合もあるとは思います。 で、CPUは特定のメモリー部分を実行するように作られていて そこにM/B上のBIOSやEFIが置かれています。 というかメモリーアドレス的にそこに繋がれている。 そのため、BIOSやEFIが起動し、ハードウェアの自己診断を行ない BIOS設定を呼び出し、バス上の各デバイスを適宜設定します。 その後、起動デバイスの設定項目を読み出し、それに従って 起動デバイスの先頭部分から何らかのプログラムの読み込みを試みます。 これはBIOS等の処理で、一定ではありません。 BIOSはそのハードウェアに合わせて設定されて組み込まれていて WindowsやLinuxのブートプログラムさえ起動できれば BIOSがどういう手順で何をやるかはBIOSを作る人の自由 一定の手順というものは無いわけです。 各種機能への給電管理が行なわれるのも、まずBIOS上での処理で 外部的には、そこはブラックボックス化されているもので 規格が無い=メーカーや機種によって違うと言えます。 ノートPCなら電源投入時には最小限の回路にしか給電しないで USB無効設定なら、USB回路はずっと給電されないままだったりするはずです。 対してデスクトップPCだと、待機電力状態でもUSBに給電されているのが普通。
お礼
最初に頂いたご回答であり、非常に丁寧に教えていただけて、大変感謝しています。 おかげさまで、他の方からもいろいろなアドバイスを頂くことができました。
補足
詳しい説明をありがとうございます。 大変参考になりました。 また、読ませていただいて、私の関心の比重が特にどの辺にあるのかもはっきりしてきました。 >で、CPUは特定のメモリー部分を実行するように作られていて >そこにM/B上のBIOSやEFIが置かれています。 >というかメモリーアドレス的にそこに繋がれている。 の部分をもっと詳しく知りたいということがわかりました。 「始まりの始まりはどうやって始まるのか」という感じです。 一番始めに何が始まるか。 人が始めるのは「スイッチON」というアクションです。 次は、「通電」だと思うのです。 そこから、どうやって「0,1の世界」が始まるのか。 通電から、最初のマシン語実行までには、たぶん物理的な仕掛けがあると思うのですが、そこも知りたいですし、最初に実行されるマシン語、次に実行されるマシン語・・・ 最初のある程度まででも構わないから、実際の始まりの様子を知りたいのです。 おそらく、ハードやシステムによって幾通りもあるのだと思いますが、原始的なものや単純なものでも構わないので、何か具体例を見ながら追っていけるようなものがあればいいなと思いますが、やはり難しいでしょうか。
お礼
大変参考になるご回答をいただき、感謝しております。 私生活でトラブルが発生し、対応に追われ、お礼が遅くなって申し訳ございません。 納得の報告も兼ねてお礼をお伝えしたかったのですが、いろいろ忙しくなってしまい、まだ参照先を全て読み終えておりません。 本当に素晴らしいページを教えていただけたので、必ず全部読むつもりです。 どうもありがとうございました。