• ベストアンサー

コンピュータの動作の仕組み

コンピュータの動く仕組みを知りたいのです。 といっても、良く目にする、CPUの模式図などを交えた解説はいろいろ読んではいるのですが、私が疑問に思っているのは、それこそ「コンピュータの電源スイッチをONにした瞬間」から何万分の何秒単位かわかりませんが、刹那の間に繰り広げられる「ユーザがコンピュータを使用できる状態に持っていくまでの準備作業」的な内部処理(できれば時系列に詳しく)の様子なのです。まず、何という部品に通電されて、その部品がどういう役割を果たして・・・みたいな感じでしょうか。それとも、通電の順番なんかは考えても意味のないことでしょうか。 コンピュータの仕組みの根本的なところが知りたいという感じなのです。 コンピュータは電気仕掛けなのだろうけれど、機械仕掛け的な感覚で順を追って理解したいという感じなのです。 高校・大学は文系に進んだので、非常識な質問かもしれません。 こういうことが解説されている本とかサイトが存在するでしょうか?あれば読んでみたい(単なる好奇心なので高価な本は手が出せませんが)といった感じですが、いかがでしょうか? もちろん、ここでご説明いただけるなら大歓迎です。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.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

spacious2
質問者

お礼

大変参考になるご回答をいただき、感謝しております。 私生活でトラブルが発生し、対応に追われ、お礼が遅くなって申し訳ございません。 納得の報告も兼ねてお礼をお伝えしたかったのですが、いろいろ忙しくなってしまい、まだ参照先を全て読み終えておりません。 本当に素晴らしいページを教えていただけたので、必ず全部読むつもりです。 どうもありがとうございました。

その他の回答 (3)

  • gungnir7
  • ベストアンサー率43% (1124/2579)
回答No.3

>そこから、どうやって「0,1の世界」が始まるのか。 >通電から、最初のマシン語実行までには、たぶん物理的な仕掛けがあると思うのですが ご質問者様の疑問は物理層レベルの、コンデンサとか回路の話になるかと思います。 ならば回路設計関連の書籍で目を通すなり検索されると良いでしょう。 さすがにこれは専門外ですので私は割愛します。 一般的にコンピュータの動作の仕組みと問われればBIOSから話が始まるのが妥当なところです。 細かいことは下記の参照URLを見て頂くとして、 コンピュータというのは電源を入れた直後は装置は全てバラバラの状態です。 したがってこのバラバラのパーツを物理的に認識していくことと、 BIOS-メモリ-CPU間で正常に動くかどうかのマザー上のチェックをしなければいけません。 これにOSのブートを含めた3点がBIOSの主な仕事だといっても良いでしょう。 なお、HDDはBIOSから見れば外部接続装置であり、この時点では接続できるか否かのみが対象になります。 BIOSはその最後にOSをブートドライブから立ち上げて、 以後の制御をOSに引き渡します。ここでようやく動作(ブート)が完了します。 http://nobumasa-web.hp.infoseek.co.jp/boot/boot.html

spacious2
質問者

お礼

お礼が遅くなって申し訳ございませんでした。 じっくり読ませていただき始めたタイミングで、生活上の思わぬトラブルが発生し、対応に追われていました。 長引いたので仕事もたまり、今はそちらの対応に追われています。 gungnir7さんとricky-odaさんが教えてくださったURLをじっくり読ませていただけば、かなり深い理解が得られると思います。 その上で疑問が残ったらまたお力をお貸し下さい。 ありがとうございました。

  • Splatter
  • ベストアンサー率41% (181/440)
回答No.2

No.1の方が詳しく仰られているので補足的な内容です。 コンピュータに限らず、物理的にスイッチが入るなどの動作の後に 電気が流れます。通電されることが0から1への変化です。 電球で言うと消えていれば0、点灯していれば1ですね。 通電そのものが1への変化と言えます。 電源ユニットは例外なくマザーボードへ接続されています。 マザーボードに通電が始まると、搭載されているBIOSが 動作を開始します。以降は、BIOSの仕事です。

spacious2
質問者

お礼

どうもありがとうございました。 おかげさまで、深い理解への足がかりがつかめました。 思わぬトラブルがあり時間が取れていませんが、いままでも忘れては思い出すを繰り返していたテーマだったので、必ず再度じっくりと考える機会があることは間違えありません。

spacious2
質問者

補足

ご回答ありがとうございます。 その後、いくつかサイトを巡ったりしていましたが、メモリの仕組みなどはこの「通電状態(※1)を0,1に置き換える」ことで実現されているようですね。 (※1 「電荷の有無」と書いてありましたが、「通電状態」とはまた違う意味になりますか?) ご回答いただいた内容を読ませていただいたり、ネットサーフィンしてみたりしながらいろいろ勉強させていております。その上で、未だにすっきりしていない点を整理すると、以下のような感じです。 「様々なやり方があるうちの1つだけでも良いから、コンピュータ(電卓のようなものでもいい)の起動の様子を物理的な仕組みと実行されるマシン語を逐次追いながら解説してくれているようなものがないか」 例えばご回答頂いた中の「搭載されているBIOSが動作を開始します」に関してであれば、「BIOSの動作」というものを追っていけるような解説があったらいいなという感じなのです。 BIOSってプログラムですよね。 BIOSを含めて、プログラム(というか、マシン語)というものが(物理的に)どのように呼び出されて、(物理的に)どのように作用して、例えば「初期化プログラムは、まずビデオカードを初期化を行う(※2)」といった機能を実現したことになるのか。という感じです。コンピュータの部品のどの部分をどのように変化させたことによって「ビデオカードを初期化が行われた」ということになるのかなといった感じです。 (※2 回答番号:No.3のgungnir7さんがご紹介下さったサイトの説明文に出てきていたので、使わせていただきました。) 一番最初のマシン語はどんな命令で、その次はどんなで、・・・ここまでで、ビデオカードを初期化が行われました。みたいなのが具体的に見られるようなものを探しています。 たとえば、この例なら、ビデオカードの初期化さえ見られれば、あとは他のデバイスなどもだいたい似たようなものだろうという感じで納得してしまえると思うのです。

  • vaidurya
  • ベストアンサー率45% (2714/5983)
回答No.1

中途半端に詳しい本というのは、たぶんありません。 それだけで本にはなりませんし、その部分は 一般的なコンピューターユーザーが手出しする領域ではありませんから… まぁ通電したときに、Windows等が動くPCであれば 普通回路のほとんどにまず電力が供給されます。 M/Bの設計によってはそうでない場合もあるとは思います。 で、CPUは特定のメモリー部分を実行するように作られていて そこにM/B上のBIOSやEFIが置かれています。 というかメモリーアドレス的にそこに繋がれている。 そのため、BIOSやEFIが起動し、ハードウェアの自己診断を行ない BIOS設定を呼び出し、バス上の各デバイスを適宜設定します。 その後、起動デバイスの設定項目を読み出し、それに従って 起動デバイスの先頭部分から何らかのプログラムの読み込みを試みます。 これはBIOS等の処理で、一定ではありません。 BIOSはそのハードウェアに合わせて設定されて組み込まれていて WindowsやLinuxのブートプログラムさえ起動できれば BIOSがどういう手順で何をやるかはBIOSを作る人の自由 一定の手順というものは無いわけです。 各種機能への給電管理が行なわれるのも、まずBIOS上での処理で 外部的には、そこはブラックボックス化されているもので 規格が無い=メーカーや機種によって違うと言えます。 ノートPCなら電源投入時には最小限の回路にしか給電しないで USB無効設定なら、USB回路はずっと給電されないままだったりするはずです。 対してデスクトップPCだと、待機電力状態でもUSBに給電されているのが普通。

spacious2
質問者

お礼

最初に頂いたご回答であり、非常に丁寧に教えていただけて、大変感謝しています。 おかげさまで、他の方からもいろいろなアドバイスを頂くことができました。

spacious2
質問者

補足

詳しい説明をありがとうございます。 大変参考になりました。 また、読ませていただいて、私の関心の比重が特にどの辺にあるのかもはっきりしてきました。 >で、CPUは特定のメモリー部分を実行するように作られていて >そこにM/B上のBIOSやEFIが置かれています。 >というかメモリーアドレス的にそこに繋がれている。 の部分をもっと詳しく知りたいということがわかりました。 「始まりの始まりはどうやって始まるのか」という感じです。 一番始めに何が始まるか。 人が始めるのは「スイッチON」というアクションです。 次は、「通電」だと思うのです。 そこから、どうやって「0,1の世界」が始まるのか。 通電から、最初のマシン語実行までには、たぶん物理的な仕掛けがあると思うのですが、そこも知りたいですし、最初に実行されるマシン語、次に実行されるマシン語・・・ 最初のある程度まででも構わないから、実際の始まりの様子を知りたいのです。 おそらく、ハードやシステムによって幾通りもあるのだと思いますが、原始的なものや単純なものでも構わないので、何か具体例を見ながら追っていけるようなものがあればいいなと思いますが、やはり難しいでしょうか。

関連するQ&A

  • 「コンピューターのしくみ」についての本を探しています

    なくしてしまったパソコン関係の本を探しています。A5版の水色系のカバーであまり厚くなく、「コンピュータのしくみ」というような基礎を学ぶ感じのシンプルなタイトルでした。どこかの専門学校が出している本だったように思います。(TAC専門学校だったか?と思い検索してみましたがありませんでした。)2進法からCPUのこと、ハードディスクのこと、ネットワークのことなど基本がすべてイラスト入りで載っていました。古本屋でたまたま買った本で、たしか2003年くらいのものだったと思います。タイトルさえはっきりしないんじゃ見つからないと思いますが・・・すごくわかりやすい本だったので、できれば普通にもう一度購入したいです(>_<)!

  • コンピュータ科学の教科書

    私は今大学4年で、情報系ではない理系にいます。2年ほど趣味でWebデザインをやっていて、初めはいわゆる「デザイン」の方が楽しくてやっていたのですが、Javascriptをいじるようになってからそういった内部的な仕組みの方が面白いと感じるようになりました。 それで、純粋な好奇心としてコンピュータの基礎の部分からプログラミングを理解したいので独学で勉強しようと思うのですが、どの本が良いのかよく分かりません。大学のコンピュータ科学専攻の学生が最初に使う教科書のような本が良いなあと思っているんですが、そういった本がありましたら是非紹介してください。

  • 初心者にやさしいPC関係の本

    パソコンの勉強を始めようと思っているのですが、どういう本を読めばいいのやら種類が多すぎて迷っています。 1:周辺機器の名称や、いろんな専門用語がわかり易く解説してある用語辞典のようなもの。 2:パソコン(コンピュータ)の仕組みが解る本。 を紹介して下さい。因みに「2」は説明が難しいのですが、なんというか物理的な…つまり、プログラム云々ではなく、各部品の役割というか、そういうことが理解できる本、という意味です。(ご理解いただけるかどうか…汗) 「1冊に絞れ」とは言いませんので、オススメのものがあればどんどん教えてください。どうか宜しくお願いします。

  • コンピュータの基礎知識を学びたい。おススメの本など教えて下さい。

    コンピュータの基礎知識を学びたい。おススメの本など教えて下さい。 こんにちは。ご覧頂いてありがとうございます。 私(24歳)は文系なので、コンピュータは文章作成やネット程度を使うだけで、ほとんど知識がありません(ちなみに、使っているマシンはMacBook Airの初期モデルです。全くもって外見だけで選びました)。 そこで、コンピュータの基礎的なことを学べる本など、何かお薦めのものがあればご紹介頂ければと思い、投稿致しました。 もっとも、コンピュータを学びたいと言っても、専門的な学習がしたいとか、プログラミングができるようになりたいという訳ではありません。 例えば、電気屋さんやネットの情報でスペックを見たときに、そこに欠いてあることの意味が解る(プロセッサとかメモリの辞書的な意味だけでなく、大体の仕組みも含めて)とか、そこから「こういうことをやるにはスペック不足だが、この程度なら十分」などの判断できるとか、インターネット接続の仕組みが説明できるとか、言ってみれば電気屋さんの店員さんがもっている類の知識が学びたいと思っています。 こちらが全く解っていない素人なので、質問自体が意味が解らないものになっているかもしれません。 ご面倒をおかけし申し訳ございませんが、何かアドバイスを頂けますと幸いです。

  • コロナワクチンの仕組みを教えて下さい

    ようやくワクチンの接種が始まりましたが、コロナワクチンの仕組みを解説していただけないでしょうか? ニュースを見る感じ、今回のワクチンは、これまでの弱毒化したウィルスを打ち込むタイプのワクチンとは大分仕組みが違う様です。 自分は、副作用などはあまり心配していないのですが、仕組みに関して良くわかっていないので、知的好奇心と納得の意味で、詳しい解説をして欲しいです。 一応、厚生労働省のページや、ニュースサイトで記事を探したのですが、そこで書かれていた解説は > 本剤はメッセンジャーRNA(mRNA)ワクチンであり、SARS-CoV-2のスパイクタンパク質(ウイルスがヒトの細胞へ侵入するために必要なタンパク質)の設計図となるmRNAを脂質の膜に包んだ製剤です など、おそらく必要な前提知識を大幅にカットした2,3行の解説でものしか見つけられていなくて、なんとなくしか分かった感じになれません。 https://www.mhlw.go.jp/stf/seisakunitsuite/bunya/vaccine_00184.html 一応、自分が分かっている知識のラインを出すと • ウィルスはDNAウィルスとRNAウィルスと種類があり、コロナウィルスはRNAウィルス • RNA: DNAが本で会えば、必要なページをコピーしてきたようなもの くらいの状態です。 知りたいのは • ウィルスはどう感染していて、ワクチンは何所のプロセスを真似て免疫に作用しているのか • これまでこの仕組みでワクチンが作られていなかったのは、人に使うのに慎重だったからか、それとも保存や管理などの実用上の理由からか • マイナス何十度という低温での保存が必要なのは何故なのか このあたりかなって考えています。 広げ始めると説明がいつまでも終わらない広い範囲の話になってしまいますが、概ね高校の生物と化学双方履修済みくらいの状態をベースに解説をしてもらえると、多くの人が深めの理解を出来ると思います。

  • コンピュータ関係の勉強

    コンピュータ関係について自分で勉強をしたいなと思っています。 分野に分けてもいろいろあると思うのですが、何の勉強を したらいいかわかりません。 どのようなことができるようになりたいかといわれると、たぶん自分はまだ コンピュータを使って何ができるのかということで知らないことが多いと 思うので、何とも言えないのですが、ブラッディマンデイでやっていたように、 自由自在にコンピュータを操れるようになりたいです。コンピュータの内部の 仕組みを理解する必要があるのでしょうか。 また、facebookを作った人の話をテレビで見たのですが、ものの数時間で サイトを一つ作ることができたようで、どうやればそんなことができるのか 全くわかりません。プログラミングをマスターしているのでしょうか。 自分も将来そういう有名なサイトを作ってみたいなーと考えることがあります。 という感じで、コンピュータ関係に詳しくなりたいです。 現在自分はそういった知識はほぼないと思います。 まず第一歩として、これを見てやるといいような本やサイトなどはあるでしょうか? そしてこれをマスターすれば、こういうことができるようになる、ということも 教えていただきたいです。 目標自体がまだ知らぬ物なので(どんなことができるのかわからない)、 質問が拙くて申し訳ありませんが、よろしくお願いします。

  • OSの役割について、簡単に解説してください。特に、下記に挙げてある各役

    OSの役割について、簡単に解説してください。特に、下記に挙げてある各役割の意味や意義をそれぞれ分かりやすく解説してもらえれば助かります。また、下記に挙げられていない役割があったらそれについても解説してもられば、より助かります。 * プログラム・データのロード・起動。 * ユーザ・インターフェースの提供: ユーザとコンピュータとのやりとりをスムーズに出来るような仕組みを提供する。 * プログラムやデータの管理: 1つ1つのプログラムやデータをファイルという単位でまとめ、階層化されたディレクトリ構造(WindowsやMacOSだとフォルダ)で管理。 * マルチタスク・マルチユーザの実現: 同時に複数のプログラムを実行するための仕組みを提供する。 (これには、複数のプログラムの実行を同時に制御する「タイムシェアリング」の他、メモリ(記憶領域)などの資源の競合を処理する方法も必要になる。) また、複数のユーザが1つのコンピュータを利用するための仕組みを提供する。 * ハードウェアの抽象化: ハードウェアを抽象化することで、ソフトウェアの方ではそれらの細かい違いを考えずにプログラムを作ってよいようにする。 * ネットワーク環境の提供

  • アプリ職人やハッカーについて

    コンピュータのしくみやネットワークのしくみを本で読んだが プログラミングができるようになりません。 c言語などでhello worldなどの文字を出力できるくらいのレベルで システムを制御するという感じがつかめないというより プログラミングができるようになるのにどんなことをしているのか?

  • 私の生命線が・・・

    最近、某雑誌で手相の特集をしており、暇つぶしに見ていました。この線が何線で・・・という解説の欄で、模式図の生命線(親指と人差し指の間から手首に向かって伸びてる線ですよね?)は左手で、ぐんと長く手首まで伸びていました。この本だけでなく、以前読んだ本の模式図もそんな感じでした。それだけなら模式図だからいいのですが・・・私の身の回り、親族、友人、知人、たまたま見た人、ほとんど全員、長さに多少の誤差はあれど、長いくっきりとした生命線をしていました。 いっぽう私の生命線は、人差し指の終わり、中指にかからないあたりで両手とも終わっています。極端に短い印象があります。左手は、そのメインの生命線が消えるあたりからその右隣にやや薄い線が手首とまでは行きませんがのびています。生命線の片割れなんでしょうか?? 右手はメインの生命線が消えたあと、かなり極薄のせんが続いて伸びて、小指に到達するか?位の長さまで伸びています。 分かりにくい説明で申し訳ないのですが、どなたか手相に詳しい方に、私の生命線の解釈について教えていただきたいと思います。私はもともと身体も丈夫でないので、ちょっと・・・気になってしまします・・・。 よろしくお願いします。

  • 文学や小説を楽しむ

    ビジネス書、歴史本、雑誌、専門書など の書籍はよく読みます。 読もうという気持ちになります。 何かを知りたい、知的好奇心 今まで知らなかった世の中の仕組みや 物事の仕組みや成り立ちなど知るのが 楽しく思えます。 文学作品、小説だと知識を得るための 読書でないので読もうという気持ちが わいてきません。 文学作品でもストーリーを楽しむことなく そそくさとあらすじを理解しさえすれば 終わりという感じになって味気ないです。 文学や小説、推理小説などを楽しめるように なるにはどうしたらよいでしょうか。 よろしくお願いします。