0

メモリ セグメンテーションに関するウィキペディアの記事によると、x86 プロセッサはハードウェアでセグメンテーション境界チェックを行います。ソフトウェアで境界チェックを行うシステムはありますか? もしそうなら、どのようなオーバーヘッドが発生しますか? ハードウェアの実装で、ペナルティを回避するために境界チェックをスキップする方法はありますか (ペナルティがある場合)?

4

1 に答える 1

0

最新の言語はすべて、セグメント境界チェックとメモリ マップ ルックアップに加えて、ソフトウェアで境界チェックを行います。あるベンチマークは、オーバーヘッドが約 0.5% であることを示唆しています。これは、安定性とセキュリティのために支払う小さな代償です。

486 は1 つのサイクルでメモリ位置をロードでき、CPU はオンチップ処理を行うのが得意になっただけなので、セグメンテーション境界チェックにオーバーヘッドがある可能性はまったくありません。

それでも、単純に 64 ビット モードで実行することはできます

于 2014-06-18T23:30:15.483 に答える