26

superuser.com からの応答がないため、これは再提出です。誤解して申し訳ありません。

組み込みシステムにおける物理アドレス指定と仮想アドレス指定の概念の違いを知る必要があります。

仮想アドレスの概念が組み込みシステムに実装されているのはなぜですか?

組み込みシステムにおける物理アドレスの概念を備えたシステムに対する仮想アドレスの利点は何ですか?

仮想アドレス指定から物理アドレス指定へのマッピングは、組み込みシステムでどのように行われますか?

いくつかの単純なアーキテクチャでのいくつかの簡単な例を使用して、上記の概念を説明してください。

4

2 に答える 2

53

物理アドレッシングとは、プログラムが実際に RAM の実際のレイアウトを認識していることを意味します。アドレス 0x8746b3 の変数にアクセスすると、物理 RAM チップに実際に格納されます。

仮想アドレッシングでは、すべてのアプリケーション メモリ アクセスがページ テーブルに移動し、ページ テーブルが仮想アドレスから物理アドレスにマップされます。したがって、すべてのアプリケーションには独自の「プライベート」アドレス空間があり、プログラムは別のプログラムのメモリを読み書きできません。これはセグメンテーションと呼ばれます。

仮想アドレス指定には多くの利点があります。貧弱なポインター操作などによってプログラムが互いにクラッシュするのを防ぎます。各プログラムには独自の個別の仮想メモリ セットがあるため、どのプログラムも別のデータを読み取ることができません。これは安全性とセキュリティ プラスの両方です。仮想メモリはページングも可能にします。この場合、プログラムの物理 RAM は、使用されていないときにディスク (または現在は低速のフラッシュ) に格納され、アプリケーションがページにアクセスしようとするとコールバックされます。また、特定の物理ページには 1 つのプログラムしか常駐できないため、物理ページング システムでは、a) すべてのプログラムをコンパイルして異なるメモリ アドレスにロードする必要がある、または b) すべてのプログラムが位置独立コードを使用する必要がある、または c)一部のプログラム セットは同時に実行できません。

物理仮想マッピングは、ソフトウェア (メモリ トラップのハードウェア サポートを使用) または純粋なハードウェアで実行できます。ページ テーブル自体が特別なハードウェア メモリ セット上にある場合もあります。どの組み込みシステムが何をするのかは頭の中でわかりませんが、すべてのデスクトップにはハードウェア TLB (Translation Lookaside Buffer、基本的には仮想物理マッピングのキャッシュ) があり、一部のデスクトップには高度なメモリ マッピング ユニットがあります。仮想マシンなど。

仮想メモリの唯一の欠点は、ハードウェアの実装が複雑になり、パフォーマンスが低下することです。

于 2010-07-14T05:44:45.327 に答える
1

VAX (Virtual Address eXtented by Digital Equipment Corp、後に Compaq、後に HP) は、仮想組み込みハードウェア システムの非常に良い例です。それは、VMS または Virtual Memory Systems と呼ばれる OS を搭載した 32 ビットのミニ コンピュータでした。Dave Cutler は、システムの主要アーキテットの 1 人で、ずっと後に Windows NT 用のカーネルを書きました。彼はこれや他のものをとてもよく読んでいます。Vax には、仮想空間を制御するための特別なハードウェアと、ハードウェアを介したセキュリティのためのオペコード アクセスの制御がありました... 非常に安全です。このシステムは、カーネル レベルでの modfern day PC の祖先です。WNT 3.51 で最初に見た BSOD を読み取ることができたのは、不安定なときにシステムを停止するために VMS で使用されるクラッシュ ダンプからのものだったからです。ところで、VMS と WNT という名前を見ると、VMS のアルファベットの次の文字が WNT という用語を作っていることがわかります。これは事故ではありませんでした。たぶん、彼を手放したことに対するDECのジャブ。

于 2010-07-27T21:15:50.160 に答える