64Kバイトの壁

読み:ろくじゅうよんキロバイトのかべ
外語:64KB wall 英語
品詞:名詞

8ビットマイクロプロセッサーや、x86シリーズのプロセッサーの16ビット環境にある

目次

64Kiバイトを超えるメモリー範囲について、直接アクセスできない、という制限のこと。

正確にはキロではなくキビ、つまり「64Kiバイトの壁」と呼ぶべきだが、当時はまだKi(キビ)という単位がなく、このように「64Kバイトの壁」と呼ばれていた。

技術的内容

x86プロセッサーの16ビット環境では、16ビットのセグメントと16ビットのオフセットにより、20ビットのアドレスを表わす。

このため、セグメント変更なしの条件では、オフセット範囲の16ビット、すなわち216バイトの64Kiバイトの範囲しかアクセスできず、大きなプログラムを組むのが難しかった。これが64Kiバイトの壁である。

x86に限らず、そもそもアドレスバスが16本しかない8ビットマイクロプロセッサー(Z80などに代表される)も、同様にこの壁がある。

ちなみにこの環境下でのC言語プログラミングには特徴があり、ポインターにはfarポインターnearポインターがある。64Kバイトの壁はnearポインターに存在する制限である。

壁の突破

この壁を突破するのは、80286の24ビットのプロテクトモードからで、この環境で224バイト、つまり16Miバイトまでに対応した。

この壁は元々、8ビットのプログラムとの互換性のために産まれた仕様であったが、この壁の突破の究極的な解決は16ビットモードのうちは不可能で、互換性を捨てたプロテクトモードを利用するしかない。

用語の所属

関連する用語
i386
nearポインター
farポインター

コメントなどを投稿するフォームは、日本語対応時のみ表示されます


KisoDic通信用語の基礎知識検索システム WDIC Explorer Version 7.04a (27-May-2022)
Search System : Copyright © Mirai corporation
Dictionary : Copyright © WDIC Creators club