動的アドレス変換機構とは

[戻る]
かすみ 2002/02/20(水) 02:01:14
ソフト開発に向け勉強中です。よろしくお願いします。

問題集の問で「仮想記憶に関する記述として正しいものはどれか」
の選択肢に、

ア 仮想記憶における動的アドレス変換機構とは、プログラムの実行時に、
 命令で指定された論理アドレスを、ベースレジスタを使って主記憶上の
 物理アドレスに変換するメカニズムである。

というのがありまして、解答としてはこれは「×」なのですが、
用語辞典で「動的アドレス変換機構」を引くと、
「仮想記憶OSで、プログラム実行時に仮想記憶装置上の論理アドレスを、
実記憶装置上のアドレスに変換すること」
とあって、「○」だと思うのですが、何が違うのでしょうか?
「仮想記憶」を引くと「…動的再配置の手法がとられ…」で、
「ベースレジスタ」を引くと「…これにより再配置可能なプログラムとなる」と
なっていて、これでいいような気がしてしまうのですが。

普段、多少コーディングはしていても、システムについての知識がなく
苦戦しています。どなたかご教示願えますでしょうか?

ららら 2002/02/21(木) 05:07:26
こんにちは。らららです。

まず、動的アドレス変換機構は、仮想アドレスを実アドレスに変換するハードウェアで
す。その変換には、ページテーブルを用い変換を行います。
変換には↓のような感じで行われると思います。
http://www.is.titech.ac.jp/~ohshima/TA/architecture/matsu/10/sld020.htm

というように、DATによる変換はベースレジスタを使ったアドレス変換ではない。
よって、間違い。
でどうでしょうか。

(実は自身ないです。間違ってたら突っ込みお願いします)

かすみ 2002/02/22(金) 10:06:54
らららさん、ありがとうございます。

別の、プログラムの再配置可能ロードモジュールの問題で、
「ベースレジスタを使う」という解説があったので、
プログラムの配置にはベースレジスタ、
仮想記憶にはページテーブル、なんですね。きっと。

でもアドレッシングって、インデックス指定修飾方式とか
直接アドレス指定方式とかいろいろ6種類ぐらいありますよね。
これは、何の話なんでしょうか?

簡単にでもいいので、説明してくださる方
よろしくお願いいたします。
もう頭がごちゃごちゃ。

悪夢を統べるもの 2002/03/13(水) 19:42:16
仮想記憶における論理アドレスから物理アドレスへの
変換は処理速度の関係でハードウエアで行われます.その
基本となるのは通常メモリ上にあるページテーブルですが,
それをいちいちアクセスしてると遅すぎるので,CPU上にTLB
(Translation Lookaside Buffer?)というのがあります.TLBは
複数の論理アドレスと物理アドレスの対応の表が保持されている
わけですが,CPUではこれらの表から「同時に」検索を行い,
アドレス変換を自動的に行います.TLBでは同時に検索できるように
特殊なハードウエアになっているため,いわゆる通常のレジスタとは
全く異なるものです.
複数のアドレッシングモードの話ですが,多分,今となっては
ほとんどないでしょうね.CISC時代の話だと思うんで,86系チップ
にはその名残があるかと思います.

かすみ 2002/03/18(月) 13:57:59
[[解決]]
悪夢を統べるものさん、詳しいですねー!
丁寧な説明ありがとうございます。理解しました。
コンピュータアーキテクチャはほんと苦手分野ですが、
試験のために暗記するしかないですね。
ほんとうにありがとうございました。

古いスレッドには追加発言できません。