命令も含めデータはすべてメモリー内に格納されている。 現在のコンピュータは必要なソフトウェアが爆発的に増大し, メモリーだけでは収容できなくなっている。 このため,周辺装置にハードディスクなどを置き, データは基本的にはそこに格納し,現在まさに利用しようという直前に, メモリーに移動してきて利用するようになってきている。 このため,コンピュータの起動直後に動作する ハードディスクから重要なデータを移動するような機械語の初期化プログラムは, メモリー上の書換え不能な場所に置いておく必要がある。 その他の大部分の領域は書換え可能である方が便利である。
実際,メモリーには物理的 7.6には 読み出し専用メモリーと書換え可能メモリーの2種類があり, CPUから見ると,論理的には連続的に繋がっているようになっている。 先に示した周辺装置も物理的にはまったく異なる存在ではあるが, 論理的7.7には RAMやROMと同じように,メモリーの一部に見えるように細工がされている。
このため, 論理的なメモリー空間は, およそ図 7.5のように構成されている。 CPUは最初にメモリーの0xFFFF番地を読みに行き, そこに記された初期アドレスの命令を実行に行く。
書換え可能メモリー(random access memory)あるいはRAMは CPUのレジスタのようなものである。 ただし,CPUのレジスタは後述するように,1bit当たり7個のFETで構成されているが, 外付けのメモリーのRAMは1bit当たり2個ほどのFETで構成されている。 ただし,これほどFET数が削減できるのは,メモリーが極めて巨大であり, 複雑な処理を行う周辺回路のFET数が無視できることによっている。 また,CPU内のメモリーに比べ,読み出しの速度が遅い。
書換え不能な読み出し専用メモリー(read only memory)あるいはROMは アドレスを与えるとあらかじめ書き込まれた固定のデータが出力される。 その内容は,コンピュータ自身では書き換えることができない。 実体は,先に述べたNAND-NAND回路と同じものである。 NAND-NAND回路も,入力を与えると出力が決定してしまうことから, 対応は明らかであろう。
メモリーはアドレスを指定しても, CPU内のメモリーのようにすぐには返事のデータが返されるとは限らない。 一般に,応答遅れがやや大きい。 このため,データバスにデータが確実に乗った, あるいはデータを確実に受け取ったことをCPUに伝える制御線を持っている。 さらに,RAMのようにデータを受ける場合とデータを送る場合があるときには, CPUからどちらであるかを指示する制御線も必要である。