線形アドレス

読み:せんけいアドレス
外語:linear address 英語
品詞:名詞

電子計算機においてアドレス、特にメモリーアドレスを指定する際に、0から始まる連続した一つの整数によって表わす方法のこと。

目次

現在主流のノイマン型電子計算機は、基本的にチューリングマシンであるため、全てが線形アドレスを用いており、一つも例外はない。

但し、従来と互換性を保ちながら大容量のメモリー空間を扱う、という課題の解決のために、ユーザープログラムから見た状況が線形アドレスではないこともある(例えば8086セグメント等)。このような場合でも、最終的に求められるアドレスは一つの数値なので、線形アドレスである。

チューリングマシン

チューリングマシンは仮想の電子計算機なので、完全なチューリングマシンは存在しえないが、その基本的な要素については充分実現可能であり、そして現在の殆ど全ての電子計算機は、このチューリングマシンなのである。

チューリングマシンの要求として、読み書きできる場所(例えばテープ)を前後に移動する機能があればよく、特定のアドレスを一意に示す機能は求められていない。

しかし無限の容量を扱うことは現実的に不可能であるので、特定の幅を持ったアドレスの範囲内で、その読み書きできる位置に番号を振ることになる。この場所を示すためにポインターが使われるため、結果としてチューリングマシンをほぼ忠実に再現できることになり、同時に、0から始まる連続した番号によってアドレスを管理する、という仕様が生まれることとなる。

x86プロセッサーの場合

16ビットマイクロプロセッサーから始まったx86は、その進化の途上において、様々な苦労を重ねてアドレス幅を増やしてきた。

16ビット時代はセグメントによって、32ビット化してからもPAE(Physical Address Extension、物理アドレス拡張)という技術によってアドレスの拡張をしている。

このとき、例えばセグメントを用いる方法において、ds:[si]のようにしてメモリーにアクセスする場合、これは線形とは言いがたい。しかしCPU内部では、dsレジスターとsiレジスターを組み合わせ、20ビットの線形アドレスを算出しているのである。

一方、PAEなどが無くアドレスバスが32ビットとなったx86プロセッサーを想定すれば、[esi]のようにしてメモリーにアクセスする場合、これは線形だと言える。

関連する用語
チューリングマシン
ノイマン型

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


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