コアマトリクスの配線例イメージ。Sは読み取り線で、x, yは書き込み線。
コアメモリはもともと安価で大容量なメモリとして開発されました。コアひとつひとつにそれぞれ読み書きする回路をつけるのは実用的ではないので、
何らかの方法でたくさんのコアを少ない制御回路で動かしたいわけです。そのため、コアをマトリクス状に配置し、
書き込み線を縦横に碁盤の目のようにしてコア1個あたりに2本通し、それぞれの書き込み線にはしきい値以下の電流を流します。
XとYのそれぞれの書き込み線を1本選択して電流を流し、選択した2つの線が交差するひとつのコアだけがしきい値を超えるようにすることで、
N個のコアを 2√N 本の線で駆動できるようになります。たとえば、256個のコアを32本の線で駆動できるようになります。
また、読み取り線は全てのコアに巡らせて1本だけで済ませることができます。
このように1枚の基板にたくさんのコアをマトリクス状に配置したものを
コアマトリクスまたは
メモリプレーンと呼び、
コアマトリクスを積層して集積密度をさらに上げたものを
コアメモリスタックといいます。
一般に、ひとつのアドレスに格納されているデータの長さを増やすとき、コアマトリクス1枚を1ビットとし、
たとえば8ビットなら8枚重ねのコアメモリスタックを作り、書き込み線をそれぞれ全て直列接続することで、
一度に複数のコアを操作できるようになります。しかし、このまま書込みすると選択した全てのコアに同じものを書き込んでしまうので、
書き込み線と同じ電流量ながら逆方向の電流を流す導線をコアマトリクスに設け、マトリクスごとに書き込みを制御できるようにします。
この導線を
禁止線(インヒビット線)といい、コアマトリクスをスタックにした際に必要となります。
(書き込み線で一度に操作するコアが1つだけ、つまりコアマトリクスを1枚だけ使う場合は使用しません)
(写真提供:@706GS) これは実際のコアマトリクスの拡大写真で、
赤色の線は書き込み線、黄色は読み取り線、緑色は禁止線となっている。