なお、UNIXでプログラムが異常終了したときの動作を「コアダンプ」というが、これは、主記憶装置が磁気コアメモリを利用していた時代(1960年代)の名残である。
パーソナルコンピュータ (PC) が普及を始めた時代の初期(1980年代)では、8ビットまたは16ビットCPUを使っていた。これらは通例16ビットのアドレスバスを持ち、そのアドレス空間は216バイトすなわち64KiBに制限される。しかし当時であっても、この程度のアドレス空間では拡大を続けるソフトウェアの要求に応えることはできず、すぐにCPUのアドレス空間が不足するようになった。これに伴い、バンク切り換え、セグメント方式、EMSなど、実際のCPUのアドレス空間よりも広い主記憶装置の利用を可能にする技術が使われるようになった[1]。ただし、これらの技法はソフトウェアの複雑化やシステムの不安定化を招く要因にもなった。
32ビットCPUになってからは、アドレス空間が232バイトすなわち4GiBに拡大され、シンプルな形態で大容量メモリを扱えるようになったため、主記憶切り替え機能はいったん廃れたが、さらなるメモリ容量への需要に伴って、仮想記憶機能と連動して、一部の32ビットCPUでは、アドレス範囲が32ビットを超えたメモリのアクセスを可能とするような機能が提供されている。[要出典]
2024年現在は64ビットCPUの普及が進んでおり、サーバーやワークステーションやPCだけでなく、スマートフォンやタブレットといったモバイルデバイスでも64ビットアーキテクチャへの移行がほぼ完了している。アドレス空間は264バイトすなわち16EiBに拡大されているが、搭載可能な物理メモリ量は理論的なアドレス空間よりもずっと小さく制限されている。これは、現状ではオペレーティングシステム (OS) もアプリケーションソフトウェアもそこまでの巨大なメモリ空間を必要としているわけではなく、また64ビットアドレス空間をフルサポートするようなハードウェアを実装しようとすると、必要以上にトランジスタ数が増えてしまうからである[2]。 現代的な多くのコンピュータシステムでは、オペレーティングシステムとメモリ管理ハードウェア[注釈 2]の連携により、プロセスごとに保護された主記憶装置のメモリ空間を仮想的に割り当てる、仮想記憶を採用している。そのため、主記憶装置の空間を一定の単位に区切って管理しつつ利用するメモリ管理機能が利用されている。その方法には、セグメント方式やページング方式がある。 本来の主記憶装置の容量で足りない時は外部の容量を主記憶装置代わりとすることもある。これは仮想メモリとも言われる。 サーバやパーソナルコンピュータのハードウェアで、故障が最も発生し易いものの一つが主記憶装置である。従ってWindows 10などのOSでは「Windowsメモリ診断」ツールが利用できる。主記憶装置が故障すると以下のような事象が発生する。
主記憶装置の使われ方
故障
電源を投入してもOSが立ち上がらずブルースクリーンが表示される。
OSの起動途中に再起動し繰り返す。
OSが立ち上がってPCを一定時間操作している途中で、画面がスノーノイズのようになって操作不可能になる。