NEC PC-9801シリーズにおけるMS-DOS環境にある壁。
利用できるメモリ範囲が640Kバイトに制限されてしまうこと。
正確にはキロではなくキビ、つまり「640Kiバイトの壁」と呼ぶべきだが、当時はまだKi(キビ)という単位がなく、このように「640Kバイトの壁」と呼ばれていた。
PC-9801シリーズはi8086および互換プロセッサを搭載しているため、16ビット環境では最大1Miバイトまでアドレッシング可能である。
そしてこの範囲を、次のように割り当てていた。
このうち00000h〜9FFFFhをコンベンショナルメモリ、A0000h〜FFFFFhをUMBという。
結果として、利用できるメモリ領域はコンベンショナルメモリの640Kiバイトの範囲に限られ、それ以上のメモリを利用したければ拡張スロットにバンクメモリを搭載する以外に方法がなかった。これが640Kバイトの壁である。
高解像度モードであるハイレゾリューションモードでは、アドレスマップが変更となり768Kiバイトまでコンベンショナルメモリが利用できたが、従来とは互換性が低く、これは解決になっていなかった。
解決方法として、80286やi386以降のプロテクトモードを利用するDOSエクステンダが開発されたが、あまり一般化しなかった。
16ビット環境のままでの解決方法は仮想86モードによるEMSが最も現実的な回答であったが、究極的な解決はMS-DOS環境であるうちは不可能で、Windows NTやWindows 95の登場を待たねばならなかった。