ホームページ  >  記事  >  CPU がアクセスして実行できるようになる前に、プログラムを保存する必要がある場所

CPU がアクセスして実行できるようになる前に、プログラムを保存する必要がある場所

coldplay.xixi
coldplay.xixiオリジナル
2020-08-29 10:54:5514417ブラウズ

プログラムは、CPU がアクセスして実行する前にメモリに保存する必要があり、命令レジスタの内容は最初にアドレス バスに転送される必要があります。PC がプログラムを実行するときは、プログラムを外部メモリからRAMに転送し、CPU動作中にフラッシュから直接プログラムを読み込みます。

CPU がアクセスして実行できるようになる前に、プログラムを保存する必要がある場所

#CPU がプログラムを実行するとき、命令はメモリ上に存在し、命令レジスタの内容をそのアドレスに転送する必要があります。まずはバス。

x86cpu やマイコンがプログラムを読み込む具体的な方法 プログラムを実行する際、PC はプログラムを外部メモリ (ハードディスク) から

RAM に転送して実行します。 from プログラムやデータは RAM から読み込まれますが、マイコンのプログラムはフラッシュに固定されており、CPU の動作時にはプログラムはフラッシュから直接読み出され、データは RAM から読み出されます。 x86 アーキテクチャの CPU は Feng Neumann システムに基づいており、データとプログラムが一緒に保存されており、PC の RAM リソースは数十 M から数百 M、さらには数 G にも及ぶ非常に豊富です。客観的に見て大量のプログラムデータに耐えることができます。

シングルチップマイクロコンピュータのアーキテクチャは、ほとんどが

Havalシステムであり、プログラムとデータが別々に保存され、シングルチップのオンチップRAMリソースは非常に限られています。内部 RAM はコストがかかりますが、大幅な改善が見られます。上記の分析から、アーキテクチャと RAM リソースの量という 2 つの考慮事項に基づいて、マイクロコントローラーのプログラムをフラッシュに保存できることがわかります。

したがって、今日では技術が進歩するだけでなく、オンチップ RAM の容量も増加し続けるため、RAM リソースはこの差を制限する主な要因ではなくなりました。 CPUがプログラムを読み込みます。

組み込みシステム プログラムを RAM に保存する具体的な方法 「多くの組み込みシステムでは、コードの多くが Norflash に保存され、フラッシュで直接実行されます。私は最近、新しいコードが会社のソフトウェアに含まれていることを知りました。」実行速度を向上させるために RAM にロードされました。当時、この問題の解決に多くの時間を費やしました。リンク スクリプトを注意深く検討し、GNU Linux クロス ツール チェーンを使用しました。アドレスの割り当ては ld スクリプトで記述されます。

これらは次のように実装されます: 1. RAM で実行する必要があるコードを別の c ファイルに記述し、スクリプトに設定します 実行アドレスとストレージ アドレスは分離されています 必要なフラグを設定しますコードの開始と終了の変数 2. 格納アドレスにあるコードをコード内の実行アドレスにコピーする フォン・ノイマン方式とハーバード方式の違い プログラム空間とデータ空間の違い

ほとんどの初期のマイクロプロセッサは

フォン ノイマン構造 を採用しており、代表的なものは Intel の X86 マイクロプロセッサです。命令の実行とオペランドのフェッチは両方とも同じバス上で行われ、時分割で実行されます。欠点は、高速で実行する場合、命令とオペランドを同時にフェッチできないため、送信プロセスにボトルネックが形成されることです。

ハーバード バス テクノロジのアプリケーションは、DSP と ARM に代表されます。ハーバードバスアーキテクチャを使用したチップの内部プログラム空間とデータ空間が分離されているため、命令とオペランドを同時にフェッチできるため、計算能力が大幅に向上します。たとえば、STM320LF240x シリーズ DSP は、強化されたハーバードバスです。

プログラミングについて詳しく知りたい場合は、

php training 列 !# に注目してください。
##

以上がCPU がアクセスして実行できるようになる前に、プログラムを保存する必要がある場所の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。