16ビット

プロセッサ
4ビット • 8ビット • 12ビット • 16ビット • 18ビット • 24ビット • 31ビット • 32ビット • 36ビット • 48ビット • 60ビット • 64ビット • 128ビット
アプリケーション
16ビット • 32ビット • 64ビット
データサイズ
ニブル • オクテット • バイト • ワード

16ビット: 16-bit)は、連続した16個(桁)のビット(2オクテット)であり、バイナリで最大65,536(64キビ、約65.5k)までの数を表現できる。

  • 「16ビットアーキテクチャ」とは、整数型メモリアドレス、その他のデータサイズなどが、最大16ビット幅のアーキテクチャである。
  • 「16ビットCPU」(プロセッサ演算装置)とは、16ビットサイズのレジスタ、アドレスバス、データバスを持つCPU(プロセッサ、演算装置)である。
  • 「16ビットオペレーティングシステム」とは、16ビットのCPUを前提に設計されたオペレーティングシステムである。
  • 「16ビットアプリケーション」とは、16ビットのCPUおよび16ビットのオペレーティングシステムを前提に設計されたアプリケーションソフトウェアである。
  • 「16ビットコンピュータ」とは、16ビットのプロセッサ (CPU) を標準的に搭載したコンピュータの世代である。
  • 「16ビットカラー」とは、最大で65,536(64キビ、約65.5k)色数を同時に表示できる。

16ビットアーキテクチャ

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

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

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

16ビットプロセッサはパーソナルコンピュータの分野ではほとんど使われなくなったが、多くの組み込みシステムでは使用されている。例えば、16ビットXAPプロセッサが多くのASICで使われている。[いつ?]

主な16ビットプロセッサ

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

16/32ビットの Motorola 68000

データバスが16ビット幅であったため、MC68000 は"16ビット"と呼ばれている。しかし、汎用レジスタが32ビットであり、多くの算術命令が32ビットをサポートし、最大16 MiB24ビットアドレス)の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バイトのバイトオーダーマークが付与されることが多い。

脚注

  1. ^ The Windows 3.0 environment | Emerald Insight
  2. ^ NECパーソナルコンピュータ PC-9800シリーズ 98MATE ソフトウェアセットアップガイド
  3. ^ 特集:Windows 9x or Windows 2000? コラム:Windowsの歴史、メモリの歴史(1) - @IT

関連項目

アーキテクチャ
並列処理
パイプライン
レベル
スレッド
コア
フリンの分類
タイプ
コンポーネント
電源管理
  • APM
  • ACPI
  • Dynamic frequency scaling(英語版)
  • Dynamic voltage scaling(英語版)
  • Clock gating(英語版)