31ビットコンピューティング

コンピュータ アーキテクチャでは、31 ビットの整数メモリ アドレス、またはその他のデータユニットは 31ビット幅のものです。

1983年、IBMはSystem/370-XAメインフレーム・アーキテクチャに、 24ビット物理・仮想[ 1 ]および移行的な24ビット仮想/ 26ビット物理[ 2 ] [ 3 ]アドレッシングのアップグレードとして31ビット・アドレッシングを導入しました。[ 4 ] [ 5 ]この拡張により、アドレス空間が128倍大きくなり、プログラムは16MBを超えるメモリ(「境界より上」と呼ばれる)をアドレス指定できるようになりました  [ 6 ] [ 1 ] COBOL FORTRAN 後にLinux/390のサポートも含まれました。

1980年代初頭にモトローラ68012が導入されました。モトローラ68010と同様に32ビットのデータレジスタとアドレスレジスタを備えていましたが、アドレスの下位24ビットを提供する代わりに、アドレスピンのビット30を除くすべてのビットを提供しました。[ 7 ]

31ビットコンピュータ

Librascope LGP-30は31ビット固定小数点数をサポートしていました

Librascope LGP-30は初期の市販コンピュータでした。LGP-30は1956年に初めて製造され、[ 8 ]小売価格は47,000ドルで、2024年には540,000ドルに相当します。[ 9 ]

これは、4096ワードのドラムメモリを備えた31ビットのバイナリコンピュータでした。ドラムワードごとに32ビットのロケーションがありましたが、実際に使用されるのは31ビットのみで、32ビット目に「ヘッド内の磁束の回復」が可能でした。真空管の数は、ソリッドステートダイオードロジックビットシリアルアーキテクチャ、そして15個のフリップフロップの多重使用によって最小限に抑えられました。

LGP-30は一般にデスクコンピュータと呼ばれていました。タイプライター棚を除いた高さ、幅、奥行きは、84cm×112cm×66cm(33×44×26インチ)でした。重量は約360kg(800ポンド)で、頑丈なキャスターが取り付けられており、移動が容易でした。

31ビットアドレスのIBMメインフレーム

System/360 (360/67以外)および初期のSystem/370アーキテクチャでは、汎用レジスタは32 ビット幅で、マシンは 32 ビットの算術演算を実行し、アドレスは常に 32 ビットのワードで格納されたため、アーキテクチャは32 ビットであると考えられていましたが、マシンはアドレスの上位 8 ビットを無視し、結果として24 ビットのアドレス指定になりました。

System/370-XAアーキテクチャとIBMエンタープライズ・システム・アーキテクチャでは、旧来のアプリケーションとの互換性を保つための24ビット・アドレッシング・モードに加えて、ワード内の上位ビット(ビット0)のみがアドレッシングにおいて無視される31ビット・アドレッシング・モードが採用されています。ただし、モード切り替え命令ではビット0も使用されます。IBMが360/67に32ビット・アドレッシングを実装しなかった理由は少なくとも2つあります。

  1. ループ制御命令BXHBXLE は符号付きの比較を行いました。
  2. 既存のソフトウェアの多くは、ビット0をリスト終了インジケータとして使用していました。[ 10 ]

64 ビットのz/Architecture は、古いアプリケーションとの互換性を保つために、24 ビットおよび 31 ビットのアドレス指定モードもサポートしています。

RubyとSmalltalk

Ruby および Smalltalk 言語のインタープリタは、値がアンボックス化整数かどうかを判定するために最下位ビットを使用します。つまり、32 ビットマシン (または32 ビットポインタを持つ16 ビットマシン) では、31 ビット整数はアンボックス化されます。オーバーフローの場合、結果はボックス化されたオブジェクトに適合されるため、割り当てとガベージコレクションが必要になります。したがって、31 ビットの符号付き形式に適合しない 32 ビット値がある場合、それらのインタープリタでは非常に非効率になります。64 ビットコンピュータ上の 63 ビットのアンボックス化整数についても同様です。同様の設計は、変数が任意の型の値を取ることができる LISP やその他の言語にも見られます。場合によっては、この種の設計に対するハードウェアサポートがありました。「タグ付きアーキテクチャLisp マシン」を参照してください。

参考

  1. ^ a b「仮想記憶と64ビット・アドレス指定能力の簡潔な歴史IBM
  2. ^「26ビットの移行サポート付き」
  3. ^ KE Plambeck (2002). 「z/Architectureの開発と特性」PDF
  4. ^ Robert T. Fertig (1983年5月). 「XA: The View From The Trenches (pp.122-136)」. Datamation .
  5. ^ロナルド・L・ボンド (1983年5月). 「XA: ホワイトプレーンズからの眺め (pp.139–152)」.データメーション.
  6. ^「...境界より上の 31 ビット領域で実行するには...「31 ビット領域で実行するように書き換える」。Computerworld。198610 月 27 日。13 ページ。
  7. ^ 「4.1 信号の説明」(PDF) . MC68010/MC68012 16/32ビット仮想メモリマイクロプロセッサ(PDF) . Motorola Semiconductor. 1985年5月. pp.  4-1 – 4-2 . ADI942R2.{{cite book}}:|work=無視されました (ヘルプ)
  8. ^ "1950-1959 Librazettes" . www.librascopememories.com . 2014年12月27日時点のオリジナルからアーカイブ2018年3月19日閲覧。Librazette : 1956年7月 – Royal Precision Plans – LGP-30のプロモーション、1956年11月 – LGP-30、Flow Computer Spearhead – 商用販売および生産 – 生産開始Paul Coatesが12月にLGP-30を特集。テレビ番組
  9. ^ 1634–1699: McCusker, JJ (1997). How Much Is That in Real Money? A Historical Price Index for Use as a Deflator of Money Values in the Economy of the United States: Addenda and Corrigenda (PDF) . American Antiquarian Society .1700–1799年:McCusker, JJ (1992).実質貨幣価値はいくらか?米国経済における貨幣価値のデフレーターとして用いる歴史的物価指数(PDF) .アメリカ古物協会.1800年~現在:ミネアポリス連邦準備銀行。「消費者物価指数(推定)1800年~」 。 2024年2月29日閲覧
  10. ^「...最後のフルワードの上位ビットは、リストの終わりを示すために1に設定する必要があります。」WAIT — 1つ以上のイベントを待機します」。IBM