• 締切済み

CPUがメモリ上に書かれている命令を実行した後

CPUがメモリ上に書かれている命令を実行した後の流れについての質問です。 たとえばメモリ上に「Wordを開く」などの命令があるとき, CPUはその命令を実行すると思いますが,命令を実行とは CPUは, ① ストレージにあるWordのファイルにアクセスする(CPUが直接) それとも ② Wordを開くという演算結果をメモリに返し,その結果,Wordが起動する(CPUの演算結果がメモリを経由) ①と②のどちらでしょうか?

みんなの回答

回答No.1

う~ん。1でも2でもない。 >たとえばメモリ上に「Wordを開く」などの命令があるとき, そんな命令は存在しないのです。 さらに言えばCPUは今、Wordを開いているという事すらも 知りません。さっきも言いましたが意思はないので。 計算した結果が人間にとって「Word」に見えてるだけで、 人間がそれをWordだと言い張ってるだけですよ。 =だから、パーソナルコンピューターというので。 CPUは淡々と機械語を実行しているにすぎないので。 =CPUはそれ自体は、ただのマイクロプロセッサーにすぎない。 なんとなく、5大機能を理解しないと解決しない気がしてきた。 基本の概念を飛ばして学習してる気がする。 人生一回なので、遠回りするのは自由ですが^^ 答えに到達したいなら、CPUの中からの目に 切り替えたほうがいいかもね~ 今、数個の質問はCPUの外からCPUを見てるイメージが どうしても目立つな~。。 んま、わからないうちが一番楽しいんですけどね^^

関連するQ&A

  • CPUがメモリ上の命令を実行する流れについての質問

    CPUがメモリ上の命令を実行する流れについての質問です。 CPUがメモリ上の命令を実行流れについてなのですが たとえば,「Wordが起動する」までの流れがあるとして ① 「Wordを起動する」という命令がメモリ上にある ② CPUがその命令を読み取り,Wordを起動し,その演算結果をメモリに返す ③ メモリ上に「Wordが起動されている」結果が一時的に保存されている おおまかな流れはこうではないのでしょうか?

  • CPUがメモリ上の命令を実行した後の流れについての

    CPUがメモリ上の命令を実行した後の流れについての質問です。 メモリ上の「Wordを起動する」という命令をCPUが読み取り,Wordを起動したとします。 その「Wordが起動した」という状況はメモリ上に保存されているのですか? つまり, ① メモリ上に「Wordを起動する」という命令がある ② CPUがWordのファイルにアクセスし,Wordが起動 ③ Wordが起動したという情報がメモリに残る

  • PICの命令 ADDWF f,d のメモリアクセス

    ファイルレジスタf1が定義されていて ADDWF f1,f ;f1=W+f1(=は代入演算子)を実行するとき, (1) W+f1を行なうには,f1のメモリにアクセスする必要があります。 (2)f1=W+f1を行なうには,再度f1のメモリにアクセスする必要があると思いますが, この命令は1命令サイクルで実行されます。 ところで, MOVWF f ; W->f も1命令サイクルで実行されます。 しかし,この命令はメモリに一度アクセスするだけです。 ADDWF f1,f は1命令サイクルで本当に2度メモリアクセスしているのでしょうか? それとも,また違った方法で実行されているのでしょうか? (出典付き,でお教えていただけるとありがたいですが)

  • OSとCPUとメモリの関係についての質問です。

    OSとCPUとメモリの関係についての質問です。 OSがCPU上で実行されるときの流れですが ① OSのある処理がメモリにロードされる ② CPUがメモリにアクセスして,OSの処理を実行する ③ CPUで実行した処理がメモリ上に返される ④ 出力される おおまかな流れはこれで合っていますでしょうか?

  • OSとCPUの関係について

    Windows(OS)についての質問です。 Windows(OS)がCPUによって制御されているのは分かりました。 例えば,エクスプローラーは,Windowsのアプリケーションだと思いますが, エクスプローラーを起動した時は,エクスプローラーはメモリ上に記憶されて,CPUがメモリにアクセスして,制御が行われるのでしょうか? CPUが,直接ストレージに保存されているWindowsにアクセスするのでしょうか?

  • 複数バイト命令実行のタイミング

    1バイト単位でメモリの各アドレスにデータが保存されているコンピューターにおいて、複数のバイトで表される命令がどのように実行されるのか教えて下さい。 メモリには一つのアドレスごとに8ビット(1バイト)のデータが入っており、CPUはプログラムカウンタで示されたメモリ上のアドレスにあるデータや命令を一つずつ順番に読み込んで、それをデコーダーが解釈し各回路への指令に変換することでプログラムを実行していくということは理解しています。 しかし現在の32ビットコンピューターなどにおいてアセンブリの命令、例えば「MOV A,B」(Bレジスタの内容をAレジスタにコピーする)といった命令は、「B90001」などの3バイトのマシン語で表されるとすると、メモリ上では アドレス  内容 0000  0xB9 0001  0x00 0002  0x01 のように3つの連続するアドレスにまたがってデータが存在し、CPUが「MOV A,B」を読み込み、それを順次デコーダーに送るまでには「MOV」、「A」、「B」の3クロックを要すると思います。 その際、デコーダーが命令を解釈し各回路に指令の信号を送るタイミングというのは、最後の「B」のデータを読み込んだ時点になるのでしょうか?もしそうならば、3クロック目に最後の「B」のデータがデコーダーに到着するまでの間、「MOV」と「A」のデータというのはCPUにメモリから読み込まれた後はどのように扱われるのでしょうか? 少し質問が分かりにくく恐縮ですが、情報工学を独学で勉強しており、プログラムが実際の回路でどのように実行されるのか理解したいと思っています。 どうぞご回答よろしくお願い致します。

  • CPUについて教えて下さい。

    CPUについてこれまで調べて分かったことは、  ・処理能力の目安となる数値として、クロック周波数を用いる  ・レジスタに記憶されているデータに対して演算を行う  ・レジスタからメモリーやその他の部品にデータを転送する  ・メモリやその他の部品から、レジスタにデータを転送する があります。 それ以外に・・・  (1)補助記憶装置からのみ命令を読み取り、命令を実行する  (2)内部に主記憶装置(メモリ)を持つ  (3)CPUは演算を行い、制御機能は持たない  (4)主記憶が多ければ多いほどCPUの動作は遅くなる  (5)クロック信号が発生する間隔が短いほど、CPUの動作は高速になる この中から最も適切なものを1つ選ばなくてはなりません。 (1)は“補助記憶装置からのみ”というのが違うと思います。 それ以外はちょっと分からないので、どなたかお知恵をかして下さい。 解説も添えてもらえると助かります。 回答よろしくお願いします!

  • CPUとメモリの違い

    CPUとメモリについて質問させてください。 この二つについて色々と検索してみたのですが、どうもよくわかりませんでした。 ・CPUの性能が良いほど、パソコンの処理能力があがる。 ・メモリ量が多いほどPCの動作は速く、快適に使えるようになる。 という事がわかったのですが、具体的にはどうなのでしょう?? パソコンの起動速度、ワードソフト等の起動速度、 動画編集の速度、アプリケーションを多く起動している状態の安定度、 スムーズな動画の再生、 これらはUPUとメモリのどちらに影響されるのでしょうか? よろしくお願いします。

  • エクセルのマクロからアクセスのマクロ実行命令を出せますか?

    教えてください。 一連の作業をアクセスのマクロとエクセルのマクロを使って作業を完成させました。 まず最初にエクセルのブックを起動し、マクロを実行し作業をさせ、その後にアクセスを起動させ、マクロを実行し、作業ファイルをエキスポートさせ、またエクセルに戻り、エクセルマクロを実行させて作業を関せさせたいと思います。 そこで、エクセルのマクロでアクセスを起動させ、アクセスのマクロを実行させるようなことはできるのでしょうか? よろしくお願いします。

  • 実行ファイルのCPU時間

    linuxでtimeコマンドを用いて、 time ./a.out を実行し実行ファイルのCPU時間を出力させました。 その結果、同じ実行ファイルを実行させても、やる度に出力される時間が少し異なりました。 同じファイルでもCPU時間が変わるというのは、特におかしいことではないのでしょうか? よろしくお願いします。

専門家に質問してみよう