• ベストアンサー

プログラムはどのように動いているのか

Microstarの回答

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

No.6回答者です。 説明不足と間違いがあったようです。 今から25年前組み込み用4bitマイコンのパターン設計をやったのは本当です。大手電機メーカーでの話です。 先の回答はハードからの視点で回答したもので、ソフト関係は別の部署がやっていたので、あまり詳しくないです。そのせいか勘違いがあったようです。お詫びします。 さて、2進数のプログラム化にした命令コードをROMからインストラクションデコーダーへ読み込ませて動作させています。 2進数化にするまでは、それに適したプログラム言語からマシン語に装置を使って変換してました。紙テープを使っていた頃の話です。今はどのようにやっているのかはやめているので、わかりません。 そのことを訂正します。

関連するQ&A

  • プログラムの実行

    プログラムの実行について (1) プログラムを実行させるためには、プログラムをメモリーにロードする必要があると思うが、ロードはどのプログラムがやっているのか、その流れ、仕組みを教えてください。 (2) メインメモリーのどの部分にロードされるのか。 (3) プログラムがメインメモリーにあるだけでは、プログラムは実行しないようにおもうが、実行する合図のようなものがあるのか。 (4) comファイル、exeファイル、basicの場合で違いがあるのか。 * osがwindows7またはxpとします。

  • メモリ上にプログラムをロードして実行したい!!

    C言語とマイコンで遊んでる者です。 タイトルの通りSDカードやCF等の記録媒体からマイコンのRAM上にプログラムをロードして実行させたいのですが方法がよく解りません。 説明しにくいのですが、PCで言うところのBIOSみたいな物を予めマイコンに書き込んでおいて、そのプログラムが外部のストレージの中に有る実行ファイルのようになってるプログラムデータをメモリ上にコピーして、処理をそのプログラムのエントリーポイントに受け渡すようなOSモドキみたいな物を作りたいのです。 アセンブラならLDとかMOVとかでメモリにコピー出来るかもしれませんが、C言語ではどのようにしてコピーするのでしょう? 仮にメモリ上にコピー出来てもmain()関数が重複してしまい呼び出す方法が解りません。 こちらもアセンブラならばプログラムカウンタをロードした位置にしてやればいいのでしょうけれど。 C言語ではできないでしょうか? マイコンはAVRかSH2Aで考えています。 何方かご教授願います。

  • W-ZERO3のプログラム実行用メモリについて

    W-ZERO3について質問です。ご存知の方がいたら教えてください。 ZERO3の実行用メモリーですが、特に使用ソフトを増やしたわけでもないのに、実行中プログラムを全てストップした後の空きのメモリー領域が少なくなっていきます。その為、PFDビュアを他のソフト実行中に使うとエラー(多分メモリ不足)となってしまいます。プログラム実行用のメモリを増やす(と言うか元に戻す)方法ご存知ないでしょうか?多分無駄なファイルがいると思うのですが、何がそれに該当するのかわかりません。

  • CPUがリセット状態のとき内部では何が起きている?

    書籍「コンピュータはなぜ動くのか 知っておきたいハードウエア&ソフトウエアの基礎知識」のP43にて >Z80CPUのRESETピンをいったん0にしてから1に戻すと、CPUがリセットされ、メモリー・アドレスの0番地に記憶されたプログラムから順に実行が開始されます。 上記の内容が掲載されていたのですが、Z80CPUにてリセットされるとき、Z80CPUのIC内部では何が起きているのでしょうか? Z80CPU内の「プログラムカウンタ」に初期設定の値「&H0000」が入るのでしょうか? 回答のほうお願いします。

  • どのような計算を実行するプログラムであるのか。

    (1)(2)のプログラムが、それぞれどのような計算を実行するプログラムであるのか全く分かりませんのでお教え下さい。 ◆プログラム(1) LOAD 10 MUL 11 STORE 10 LOAD 12 SUB 13 STORE 12 JZ 8 J 0 LOAD 10 STOP 0 1 2 10 1 ◆プログラム(2) LOAD 10 MUL 11 STORE 10 LOAD 11 SUB 12 STORE 11 JZ 8 J 0 LOAD 10 STOP 0 1 6 1

  • プログラムサイズの上限時エラーを表示する設定

    静的メモリサイズが大きいと、プログラムが実行されません。 静的メモリサイズを小さくすると、処理の先頭の命令(コンソールprint文)が出ることでわかります。 ここで対応したい事項として ・この実行がなされない(多分プログラムをロードできないと推察)場合に、その旨のメッセージを表示する方法。コンパイラオプションなどの設定。 ・ロードに必要なメモリサイズを知る方法。 ・このメモリサイズは4GBでしょうか。windows64、visualC++2022。 ただし、処理の先頭の文が出力されない原因として、静的メモリサイズの上限以下であっても、何らかの理由でサイズを増やすと問題となるケースでは無いと仮定します。コンソールプログラム。 なお動的メモリ確保による方法は、この場合は対象外です。

  • プログラムの変更と削除でできないプログラムの削除

    プログラムを実行しようとすると「このプログラムのリソースをロードできず実行できない」となるので、アンインストールして再インストールをしようと思うのですが、プログラムの変更と削除ではプログラムが見つからない、と削除できません。プログラムの入っているファイル自体を削除しようとしてもこのファイルは削除できません、となります。プログラムはNECのSMART VISIONというテレビを見たり録画したりするものです。削除せずインストールしようとCD-ROMを開こうとしても実行できません。初心者です。よろしくお願いします。

  • プログラムのいくつかを終了させたい

    スタンバイにしてから電源を入れると、3個のプログラムを実行しています。と表示され、実行しているプログラムが多すぎるために、コンピューターの処理速度が通常より遅い、プログラムをいくつか終了させて下さい。と表示されています。 プログラムの終了させる方法を教えてください。

  • 自動再生でアンインストールしたプログラムがでてくる

    CDやUSBメモリやメモリーカードを接続すると「Windowsが実行する動作を選んでください」とでてくるのですがすでにアンインストールしたプログラムが表示されます。ちなみにプログラムは画像の転送HP画像転送ソフトウェアです。そのプログラムを選んでも何も動作は起こらないのですが気になります。表示させないようにするにはどうしたらよいのでしょうか?

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

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