導入
コンピュータ アーキテクチャでは、16 ビット整数のメモリ アドレス、またはその他のデータ単位は、少なくとも 16 ビット (2 バイト) 幅のメモリ アドレスです。
さらに、16 ビット CPU および ALU アーキテクチャは、このサイズのレジスタ、アドレスバス、またはデータ バスに基づいたアーキテクチャです。 16 ビットは、16 ビット プロセッサが標準であった世代のコンピュータを指す用語でもあります。

16ビットアーキテクチャ
1975 年に導入されたHewlett-Packardの BPC は、最初の 16 ビットマイクロプロセッサでした。
初期の 16 ビット プロセッサには、 PDP-11 、Intel_8086、Intel_80286、および MOS_Technology_65C816 が含まれます。
Intel 8088 は、外部バスの幅が8 ビットでしたが、レジスタも算術命令と同様に 16 ビットであるという意味では 16 ビットでした。 Intel 8088 にはコプロセッサが統合されています。
16 ビット整数を使用すると、2^16 (または 65536) 個の一意の値を保存できます。
符号なし表現では、これらの値は 0 ~ 65535 の整数であり、さらに -32768 ~ 32767 の 2 つの値が使用されます。
したがって、16 ビットのメモリアドレスを持つプロセッサは、 64 KiB のアドレス指定可能なメモリに直接アクセスできます。
16 ビット プロセッサは、パーソナル コンピュータ業界ではほぼ完全に取って代わられていますが、依然としてさまざまな組み込みアプリケーションで使用されています。
たとえば、16 ビット XAP プロセッサは多くの ASIC 回路で使用されています。

Motorola 16/32 68000 および Intel 386SX
Motorola 68000 は、データバスが 16 ビット幅であるため「 16 ビット」と呼ばれることもありますが、汎用レジスタの長さが 32 ビットであり、ほとんどの算術命令が 32 ビット算術をサポートしているため、32 ビットです。最大 16 メガバイトのアドレス指定可能な RAM。
したがって、68000ソフトウェアは本質的に 32 ビットであり、他の 32 ビット プロセッサと互換性があります。
同じ分析が、同じく 32 ビット プロセッサであり、外部 16 ビット バスに依存する 386SX と呼ばれる Intel の低価格CPU にも当てはまります。
Séga Mega_Drive の 68000 プロセッサは広告で大きく取り上げられました。
この広告が飽和したため、1988 年から 1995 年のビデオゲーム機の時代は「16 ビット時代」と呼ばれることがあります。

16ビットメモリモデル
64 ビット モデルと比較して、Intel の 16 ビットアーキテクチャでは、さまざまなメモリ モデルがさまざまな方法で特定のメモリ位置にアクセスできます。
特定のメモリ モデルを使用する理由は、アセンブルされる命令のサイズまたはポインタに必要なストレージです。
16 ビット時代のコンパイラには、一般に次のような特徴があります。
| データモデル | short | int | long | ポインタ |
|---|---|---|---|---|
| IP16L32(近傍) | 16 | 16 | 32 | 16 |
| I16LP32(遠方) | 16 | 16 | 32 | 32 |
“メニュー”
コードとデータは同じセグメント内にあります (特に、レジスタ CS、DS、ES、SS は同じセグメントを指します)。 「near」ポインタは常に使用されます。コード、データ、スタックを合わせて64KB を超えることはできません。
“少し”
コードとデータは異なるセグメントにあり、常に「近い」ポインターが使用されます。
コード用に 64 KB のスペースがあり、データ/スタック用に 64 KB のスペースがあります。
「中」コード ポインターは「ファー」ポインターを使用し、1MB へのアクセスを許可します。データ ポインタは「near」タイプのままです。
「コンパクト」 データ ポインターは「遠い」ポインターを使用し、コードは「近い」ポインターを使用します。
「大きい」/「巨大」なコードとデータ ポインターは「遠く」になります。

