3

私はセグメントレジスタの目的が何であるかを学ぶためにかなりの時間を費やしていましたか? これは、物理メモリが 1 MB しかなかった過去 (8086) に由来することを知っています。しかし、CPU には 16 ビット幅のアドレス レジスタしかありませんでした。これらの 16 アドレス ビットでは、64K バイトしかアドレス指定できません。したがって、1MByte のアドレス空間は、それぞれ 64K サイズのセグメントに分割する必要がありました。

これは、限られたメモリ空間などを回避することを技術者が嫌う過去からの要件のように思えます。しかし、私の質問は、今日のセグメント レジスタの利点は何ですか? どのように、またはどこでレジスターを有用な方法で使用しますか? 説明が必要な場合は、コメントしてください。

4

2 に答える 2

3

フラットモデルについて読んでください。

現在のセグメント レジスタは、下位互換性のためにレガシーとして機能します (@Jester が言及した FS-GS を除く)。

于 2014-11-13T23:40:03.007 に答える