31ビット

31ビットアーキテクチャとは



31ビットとは、連続した31個のビット(2進数の桁)で構成され、最大で2,147,483,648(2の31乗)までの数を表現できるデータ形式です。このアーキテクチャは、特にコンピュータの分野において、整数、メモリアドレス、その他のデータサイズが最大31ビット幅であることを指します。

31ビットCPU



31ビットCPUは、31ビットサイズのレジスタ、アドレスバス、データバスを持つCPUを指します。これらの要素が31ビット幅であることで、CPUが一度に処理できるデータの量やアクセスできるメモリ空間の大きさが制限されます。

31ビットアーキテクチャの歴史



1983年IBMメインフレーム用のSystem/370-XAアーキテクチャを導入し、従来の24[[ビット]]アドレッシングから31ビットアドレッシングへと拡張しました。これにより、アドレス空間は128倍に広がり、プログラムは従来の16MBの上限を超えるメモリを利用できるようになりました。

初期のSystem/360やSystem/370では、アドレスは32[[ビット]]のワードに格納されていましたが、実際には24[[ビット]]のみが使用され、上位8[[ビット]]は無視されていました。S/370-XAでは、この無視されていたビットもアドレスとして利用されるようになりました。

この移行は、既存のプログラムへの影響を最小限に抑えるために、巧妙に行われました。アセンブリ言語のプログラムでは、アドレスを含むワードの上位1バイトをタグなどの目的に利用しているものがありました。IBMは、最上位ビットの状態によって、31ビット全体をアドレスとして使用する拡張アドレッシングと、従来の24[[ビット]]アドレッシングを切り替える仕組みを導入しました。

最上位ビットがオンの場合、続く31ビット全てがアドレスとして使用され、最上位ビットがオフの場合、従来の24[[ビット]]のみがアドレスとして使用されるという仕組みです。これにより、既存のプログラムは最小限の変更で31ビットアドレッシングを利用できるようになりました。

1990年代には、後継の370/ESA、390/ESA、ESA/390、S/390アーキテクチャが登場しましたが、これらも31ビットの仮想記憶とアドレッシングモードを維持しました。

31ビットアーキテクチャの限界



31ビットアーキテクチャでは、アドレス空間が最大2GBに制限されるため、大規模なプログラムや大量のデータを扱う場合には限界がありました。そのため、IBM2000年64[[ビット]]のz/Architectureを発表し、この問題を解決しました。

64[[ビット]]アーキテクチャへの移行



z/Architectureでは、最上位ビットを特別な目的に使用せず、64[[ビット]]全てをアドレスとして利用します。これにより、アドレス空間は大幅に拡大し、2GBの壁は解消されました。しかし、z/Architectureは24[[ビット]]および31ビットのコードとの互換性を維持しており、これらのコードを64[[ビット]]コードと同時に実行できます。

Linuxも、1999年に既存の32[[ビット]]データと31ビットアドレッシングのハードウェア用にLinux/390をリリースしました。初期のLinuxアプリケーションは、31ビットアドレッシングの制約を受けましたが、現在の64[[ビット]]ハードウェア、64[[ビット]]Linux64[[ビット]]アプリケーションの組み合わせでは、この制約はなくなっています。ただし、64[[ビット]]Linuxディストリビューションでは、現在でも31ビットプログラムをサポートしています。

31ビットアーキテクチャの特殊な用途



IBMの31ビットアーキテクチャでは、拡張記憶(expanded storage)がサポートされており、31ビットコードは主記憶装置とは別の追加メモリを使用することができました。ただし、各インスタンスは最大2GBの作業アドレススペースに制限されていました。また、31ビットLinuxは、2GBを超えるメモリをRAMディスクのように割り当てることができます。

Unicodeにおける31ビット



UnicodeのUCS-4は、32[[ビット]]ではなく31ビットのコードとして設計されていました。これは、最上位ビットを特別な目的に使用し、他の形式との互換性を容易にするためでした。

31ビットアーキテクチャのまとめ



31ビットアーキテクチャは、かつてメインフレームの世界で重要な役割を果たしましたが、現在は64[[ビット]]アーキテクチャが主流となっています。しかし、その歴史と設計思想は、コンピュータアーキテクチャの進化を理解する上で重要な要素です。

関連事項



もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。