• 締切済み

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

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

みんなの回答

  • kamura01
  • ベストアンサー率30% (61/200)
回答No.1

CPUとストレージ(質問で言うword)の間でデータの受け渡しをするのが主な機能です。 CPUの処理が速い為、ストレージの転送を待つ間にメインメモリがあらかじめデータを蓄えてCPUへデータを受け渡ししています。 ストレージにあるデータは高速なメモリに蓄えられ、メモリを経由してCPUに送って処理の最速化をしています。 >その「Wordが起動した」という状況はメモリ上に保存されているのですか? OSのレジストリに保存されます CPUとメモリが何やったかの情報はすべてOSが管理します

関連するQ&A

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

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

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

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

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

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

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

    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にメモリから読み込まれた後はどのように扱われるのでしょうか? 少し質問が分かりにくく恐縮ですが、情報工学を独学で勉強しており、プログラムが実際の回路でどのように実行されるのか理解したいと思っています。 どうぞご回答よろしくお願い致します。

  • 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度メモリアクセスしているのでしょうか? それとも,また違った方法で実行されているのでしょうか? (出典付き,でお教えていただけるとありがたいですが)

  • CPUとメモリの違い

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

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

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

  • ファイルの実行について

    以前、ACCESS97からbmpファイルやexcelファイルを実行する時に、 shell(”start ファイル名”,0)というコマンド命令を入れて動かいていましたが、 ACCESS2002にバージョンアップするとファイル名がありません。と 出てしまいます。 実行するファイル形式がEXCELだけであれば、 shell(”excel ファイル名”,0)で実行できるのですが、 ファイルの中にはtif形式とbmp形式とWord形式のものがあるので、 困っています。 どうすればいいでしょうか? 動いていた環境は、Windows98 Access97で 動かなくなったパソコンは WindowsXP Access2002です。 

  • Access2000でCPUが100%になってしまって、応答しないになってしまいます。

    Windows XP メモリ256MB を使用しています。 Accessを使っていると、CPUが100%になって、応答しなくなってしまいます。 どうしたらいいのでしょうか? 再起動後、Accessを開いて、抽出を実行すると同じことが起こるのです。 物理的にメモリとかを足せばいいのでしょうが、リースのPCなのでメモリとかを増やせないのです。 WindowsXPの設定を何かかえればいいのでしょうか? あまり具体的でない質問ですいません。よろしくお願いします。

  • "0x45814183"の命令が"0x45814183"のメモリを参照しました…と出てしまう

    一部のテキストドキュメントを開こうとすると「"0x45814183"の命令が"0x45814183"のメモリを参照しました。メモリが"written"になることはできませんでした。」と出て開くことが出来ません。 原因はなんでしょうか?メモリでしょうか? あと、テキストドキュメントだけじゃなく圧縮ファイルを解凍するときやプログラムを実行したときにもたまに出ます。

専門家に質問してみよう