0

コンピュータがどのように起動するかを非常に詳細に理解しようとしています。

Z80プロセッサのようにメモリホールを避けるために、
RAMはROMの一番下に配置されています。
2. リセット ベクターが使用され、プロセッサを ROM 内のメモリ ロケーションに移動します。その内容は、プロセッサが実際に命令 (POST 命令) の実行を開始する実際のロケーション (再び ROM) を指します。なんでそうなの?

それでも理解できない場合は、このリンクで簡単に説明します。 http://lateblt.tripod.com/bit68.txt

4

2 に答える 2

1

プロセッサロジックは一般的に固定されており、ハードウェアという用語が使われています。ソフトウェアとは、変更、成形などが可能なものであり、ソフトウェアという用語です。

ハードウェアは、2つの基本的な方法、いくつかの方法で開始する必要があります。

1)プロセッサのメモリ空間でロジックにハードコードされたアドレスが読み取られ、その値がコードの実行を開始するアドレスになります。

2)ロジックにハードコードされたアドレスは、プロセッサがコードの実行を開始する場所です。

プロセッサ自体が他のハードウェアと統合されている場合、あらゆるものを任意のアドレス空間にマッピングできます。RAMは、アドレス0x1000または0x40000000、あるいはその両方に配置できます。周辺機器を0x1000、0x4000、0xF0000000、または上記のすべてにマッピングできます。それは、システム設計者の選択、または物事が進むエンジニアのチームの組み合わせです。重要な要素の1つは、リセットが解除された後のシステムの起動方法です。プロセッサの起動は、そのアーキテクチャのためによく知られています。設計者は多くの場合、次の2つのパスを選択します。

1)プロセッサの起動方法に応じてリセットベクトルまたはエントリポイントを含むメモリスペースにROMを配置します(どのアーキテクチャに関係なく、読み取られる最初のアドレスまたはアドレスの最初のブロックがあり、それらの内容が起動を駆動します)プロセッサの)。ソフトウェアは、プロセッサが起動して実行されるように、コードまたはベクトルテーブル、あるいはその両方をこのROMに配置します。

2)一部のホストがプログラムをそのRAMにダウンロードし、プロセッサのリセットを解放できるように、RAMをメモリスペースに配置します。次に、プロセッサはハードコードされたブート手順に従い、ソフトウェアが実行されます。

1つ目は最も一般的で、2つ目は一部の周辺機器、マウス、ネットワークカードなどに見られます(たとえば、/ usr / lib / Firmware /のファームウェアの一部がこれに使用されます)。

ただし、最終的には、プロセッサは通常、1つの起動方法、つまり固定方法で設計されているため、そのプロセッサ用に作成されたすべてのソフトウェアはその1つの方法に準拠でき、変更を続ける必要はありません。また、設計時のプロセッサはターゲットアプリケーションを認識していないため、一般的なソリューションが必要です。ターゲットアプリケーションは、多くの場合、メモリマップ、プロセッサのメモリスペースのどこにあるかを定義し、その割り当てのタスクの1つは、その製品の起動方法です。そこから、ソフトウェアは、プロセッサの規則と製品のハードウェアの規則に準拠するようにコンパイルおよび配置されます。

于 2013-02-23T16:45:22.617 に答える
0

アーキテクチャによって完全に異なります。ただし、コアがこれを実行する理由はいくつかあります。組み込みコア(ARMとMicroblazeのラインに沿って考えてください)は、単一のアドレス空間を持つシステムオンチップマシン内で使用される傾向があります。このようなアーキテクチャは、いたるところに複数のメモリを持つことができ、メモリの下部領域(つまり、0x00)に割り込みベクトルが含まれるように指示するだけの傾向があります。次に、プログラマーがどこから起動するかを簡単に指定できるようにします。Microblazeでは、XPSの好きな場所にメモリを接続できます。

さらに、ブートローダーを簡単にサポートするために使用できます。これらは通常、小さなプログラムとして使用され、初期化を少し行ってから、単純にアクセスできないメディア(USBやイーサネットなど)から大きなプログラムをフェッチします。このような場合、ブートローダーは通常、自身をハイメモリにコピーし、その下をフェッチして、そこにジャンプします。リセットベクトルにより、プログラマーは最初のステップをバイパスできます。

于 2013-02-22T19:08:44.023 に答える