16ビットアーキテクチャ 16ビット整数は216 (=65,536) 種類の値を保存することができる。符号なしの表現では、0 から 65535 までの整数値となる。2の補数の表現では、-32768 から 32767 までとなる。したがって、16ビットメモリアドレスを使用するプロセッサは、64 KiBのバイトアドレスメモリを直接アクセスできる(アドレス空間が64 KiBである)。

16ビットプロセッサ全盛時代にパーソナルコンピュータで使われた主要なオペレーティングシステムには、IBM PC DOS、MS-DOS、OS/2 1.x などがある。Microsoft Windows 1.0 - 3.xはMS-DOS上で動作するGUIフロントエンドであり、Windows 3.0まではオペレーティング環境()と呼ばれていたThe Windows 3.0 environment | Emerald Insight。Windows 3.1からはという名称になったがNECパーソナルコンピュータ PC-9800シリーズ 98MATE ソフトウェアセットアップガイド、正確には3.1も独立したオペレーティングシステムではない。

純粋な16ビットアドレス空間では、当時であってもメモリが不足しがちであったため、バンク切り替えやセグメント方式によって16ビットを超えるアドレッシングを可能にする工夫がなされているシステムが多かった特集:Windows 9x or Windows 2000? コラム:Windowsの歴史、メモリの歴史(1) - @IT。ただし、これはソフトウェアの複雑化やシステムの不安定化を招く要因ともなった。広大なメモリ空間を安定的に確保して簡潔に利用できるようになるのは、本格的な32ビットアーキテクチャが登場してからのことである。

主な16ビットプロセッサ

有名な16ビットプロセッサとしては、PDP-11、Intel 8086、Intel 80286、WDC 65C816などがある。Intel 8088はIntel 8086とプログラム互換であり、16ビット長のレジスタと算術命令を持っていたので、外部バスは8ビット長であるが、16ビットプロセッサと呼ぶことができる。

16/32ビットの Motorola 68000 データバスが16ビット幅であったため、MC68000 は"16ビット"と呼ばれている。しかし、汎用レジスタが32ビットであり、多くの算術命令が32ビットをサポートし、最大16 MiB(24ビットアドレス)のRAMをサポートしたという点では、32ビットプロセッサということができる。したがって、68000のソフトウェアは元来32ビットであり、32ビットプロセッサへの前方互換性を持っている。

16ビットファイルフォーマット 16ビットファイルフォーマットは、各データの要素(ワード)が16ビット(2バイト)の、バイナリファイルフォーマットである。

一例として挙げられるWindows Metafile形式(WMF)は、Windows 3.xの時代に策定されたベクトル画像形式であり、GDIの16ビットグラフィックス命令を直接格納することができる。

UTF-16形式のUnicodeテキストファイルもまた16ビットのバイナリファイル形式と言える。実際に格納されるデータはエンディアンに依存し、リトルエンディアン(UTF-16LE)とビッグエンディアン(UTF-16BE)を区別するために、先頭に2バイトのバイトオーダーマークが付与されることが多い。

脚注

関連項目 CPU#ビット幅 オクテット 4ビット 8ビット 24ビット 32ビット 64ビット 16bitセンセーション - 2016年に発表された同人漫画、および、派生した商業漫画やテレビアニメ。