FC2ブログ


●○スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。



●○セグメント

セグメントに関しては、覚える事が多いなあ。
アドレスバス20とやらが、よく分からない。


用語説明
セグメントアドレス
  セグメントの番号

リニアアドレス
  ページング機能を無効にしていたら、物理アドレスとして使われるアドレスの事
  ページング機能を有効にすると、もう一つ処理が入って物理アドレスに変換される

セグメントベース
  セグメントアドレスをリニアアドレスに変換したもの

オフセットアドレス
  セグメントベースからのオフセット

セレクタ値
  セグメントレジスタでセグメントを指定する値の事

セグメントディスクリプタ (P.143)
  セグメントに関する情報をまとめたもの

グローバルディスクリプタテーブル(GDT)
  ディスクリプタをまとめたもの
  メモリ上に配置する

ローカルディスクリプタテーブル(LDT)
  タスクに関係するディスクリプタをまとめたもの

割り込みディスクリプタテーブル(IDT)
  割り込みに関するディスクリプタをまとめたもの

GDTR (P.144)
  GDTのアドレスを保存しておくレジスタ
  LGDT命令で書き込む

リミット値
  オフセット値の上限を決める値

属性
  P.193に図

物理アドレスへのたどり着き方(ページング無効)
セグメントアドレス -> セグメントベース -> オフセットアドレスを加える
-> リニアアドレス -> 物理アドレス

セグメントレジスタの役割
マシン語の読み込み
  CSレジスタ -> セグメントを指定
  EIPレジスタ -> オフセットを指定

データへのアクセス
  DSレジスタ -> セグメントを指定

スタックへのアクセス
  SSレジスタ -> スタック領域のセグメントを指定
  BPレジスタ -> 変数を指す

プロテクトモードでの動作
GDTRからGDTのアドレスを知る -> Csレジスタ、DSレジスタにあるセレクタ値を知る
-> 属性やリミット値を考慮してアドレス変換 -> 物理アドレス
スポンサーサイト









ブログ管理人にのみ表示を許可する


trackback
trackback_url
http://moom6.blog2.fc2.com/tb.php/24-9c41ece5

[TOP]
copyright (C) 2006 Linuxとかのメモ all rights reserved. [ template by *mami ]
//
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。