ア | イ | ウ | エ | オ |
カ | キ | ク | ケ | コ |
サ | シ | ス | セ | ソ |
タ | チ | ツ | テ | ト |
ナ | ニ | ヌ | ネ | ノ |
ハ | ヒ | フ | ヘ | ホ |
マ | ミ | ム | メ | モ |
ヤ | ユ | ヨ | ||
ラ | リ | ル | レ | ロ |
ワ | ヰ | ヴ | ヱ | ヲ |
ン |
A | B | C | D | E |
F | G | H | I | J |
K | L | M | N | O |
P | Q | R | S | T |
U | V | W | X | Y |
Z | 数字 | 記号 |
電子計算機においてアドレス、特にメモリーアドレスを指定する際に、0から始まる連続した一つの整数によって表わす方法のこと。
チューリングマシンは仮想の電子計算機なので、完全なチューリングマシンは存在しえないが、その基本的な要素については充分実現可能であり、そして現在の殆ど全ての電子計算機は、このチューリングマシンなのである。
チューリングマシンの要求として、読み書きできる場所(例えばテープ)を前後に移動する機能があればよく、特定のアドレスを一意に示す機能は求められていない。
しかし無限の容量を扱うことは現実的に不可能であるので、特定の幅を持ったアドレスの範囲内で、その読み書きできる位置に番号を振ることになる。この場所を示すためにポインターが使われるため、結果としてチューリングマシンをほぼ忠実に再現できることになり、同時に、0から始まる連続した番号によってアドレスを管理する、という仕様が生まれることとなる。
16ビットマイクロプロセッサーから始まったx86は、その進化の途上において、様々な苦労を重ねてアドレス幅を増やしてきた。
16ビット時代はセグメントによって、32ビット化してからもPAE(Physical Address Extension、物理アドレス拡張)という技術によってアドレスの拡張をしている。
このとき、例えばセグメントを用いる方法において、ds:[si]のようにしてメモリーにアクセスする場合、これは線形とは言いがたい。しかしCPU内部では、dsレジスターとsiレジスターを組み合わせ、20ビットの線形アドレスを算出しているのである。
一方、PAEなどが無くアドレスバスが32ビットとなったx86プロセッサーを想定すれば、[esi]のようにしてメモリーにアクセスする場合、これは線形だと言える。
コメントなどを投稿するフォームは、日本語対応時のみ表示されます