コンピュータアーキテクチャにおいて、32ビットコンピューティングとは、32ビット単位でデータを処理するプロセッサ、メモリ、およびその他の主要なシステムコンポーネントを備えたコンピュータシステムを指します。[1] [2]より小さいビット幅と比較して、32ビットコンピュータは大規模な計算をより効率的に実行し、クロックサイクルごとにより多くのデータを処理できます。一般的な32ビットパーソナルコンピュータには32ビットアドレスバスもあり、最大4GBのRAMにアクセスできます。これは、以前の世代のシステムアーキテクチャで許可されていた容量をはるかに上回っています。[3]
32 ビット設計は、電子計算の初期の頃から、実験的なシステム、その後、大型メインフレームやミニコンピュータシステムで使用されてきました。最初のハイブリッド 16/32 ビットマイクロプロセッサであるMotorola 68000 は、1970 年代後半に導入され、オリジナルのApple Macintoshなどのシステムで使用されました。HP FOCUS、Motorola 68020、Intel 80386などの完全な 32 ビット マイクロプロセッサは、1980 年代前半から中頃に発売され、1990 年代前半には主流になりました。この世代のパーソナル コンピュータは、ワールド ワイド ウェブの最初の大量導入と同時期に登場し、その普及を可能にしました。 32 ビット アーキテクチャは特定のアプリケーションで依然として広く使用されていますが、PC およびサーバー市場は2000 年代半ば以降、 x86-64やその他の 64 ビット アーキテクチャにより 64 ビットに移行し、インストールされたメモリはエントリー レベルのコンピューターの 32 ビット 4G RAM アドレス制限を超えることが多くなりました。最新世代のスマートフォンも 64 ビットに切り替わっています。
整数を格納する範囲
32 ビット レジスタには 2 32 個の異なる値を格納できます。32ビットで格納できる整数値の範囲は、使用する整数表現によって異なります。最も一般的な 2 つの表現では、範囲は(符号なし) 2 進数として表現する場合は0 から4,294,967,295 (2 32 − 1) まで、 2 の補数として表現する場合は-2,147,483,648 (-2 31 ) から2,147,483,647 (2 31 − 1)までです。
重要な結果の 1 つは、32 ビットのメモリ アドレスを持つプロセッサが、最大 4 GiBのバイト アドレス指定可能なメモリに直接アクセスできることです (ただし、実際には制限はこれより低くなる可能性があります)。
技術履歴
世界初のプログラム記憶式電子計算機であるマンチェスター ベイビーは、 1948 年に 32 ビット アーキテクチャを採用しましたが、これは概念実証にすぎず、実用的な容量はほとんどありませんでした。ウィリアムズ管に 32 ビットの RAM ワードを 32 個保持しただけで、加算演算はなく、減算のみでした。
32ビットアーキテクチャの最初の数十年(1960年代から1980年代)は、メモリやその他のデジタル回路や配線は高価でした。 [4]そのため、古い32ビットプロセッサファミリ(またはよりシンプルで安価な派生型)では、コストを削減するために多くの妥協や制限がありました。たとえば、16ビットALUや、32ビットよりも狭い外部(または内部)バスでは、メモリサイズが制限されたり、命令のフェッチ、実行、または書き戻しに多くのサイクルが必要になったりしました。
それにもかかわらず、このようなプロセッサは32ビットレジスタと32ビットの量を操作できる命令を備えていたため、32ビットプロセッサと呼ばれることがあった。たとえば、 IBM System/360 Model 30には8ビットALU、8ビット内部データパス、8ビットメモリパスがあった。[5]また、オリジナルのMotorola 68000には16ビットデータALUと16ビット外部データバスがあったが、32ビットレジスタと32ビット指向の命令セットがあった。68000の設計は16/32ビットプロセッサと呼ばれることもあった。[6]
しかし、新しい32ビット設計ではその逆のことが当てはまることが多い。例えば、Pentium Proプロセッサは32ビットマシンであり、32ビットレジスタと32ビット量を操作する命令を備えているが、外部アドレスバスは36ビット幅で、4GBよりも大きなアドレス空間を提供している。また、外部データバスは64ビット幅で、主に命令とデータのより効率的なプリフェッチを可能にするために設けられている。[7]
アーキテクチャ
汎用コンピューティングで使用される著名な32ビット命令セットアーキテクチャには、IBM System/360、IBM System/370(24ビットアドレッシング)、System/370-XA、ESA/370、およびESA/390(31ビットアドレッシング)、DEC VAX、NS320xx、Motorola 68000ファミリ(最初の2つのモデルは24ビットアドレッシング)、x86アーキテクチャのIntel IA-32 32ビットバージョン、 ARM、[8] SPARC、MIPS、PowerPC、およびPA-RISCアーキテクチャの32ビットバージョンなどがあります。組み込みコンピューティングに使用される32ビット命令セットアーキテクチャには、68000ファミリ、ColdFire、x86、ARM、MIPS、PowerPC、およびInfineon TriCoreアーキテクチャがあります。
アプリケーション
x86 アーキテクチャでは、32 ビット アプリケーションとは通常、80386以降のチップで可能な32 ビットの線形アドレス空間(またはフラット メモリ モデル) を通常 (必ずしもそうとは限りません) 使用するソフトウェアを意味します。この文脈では、 DOS、Microsoft WindowsおよびOS/2 [9]が元々8088/8086または80286の16 ビットマイクロプロセッサ用に作成されたため、これらのプロセッサはセグメント化されたアドレス空間を持ち、64キロバイトを超えるコードまたはデータに到達するにはプログラムはセグメント間を切り替える必要がありました。これは他のマシン操作に比べて非常に時間がかかるため、パフォーマンスが低下する可能性があります。さらに、セグメントを使用したプログラミングは複雑になる傾向があり、アセンブリ言語だけでなくPascal、コンパイルされたBASIC、Fortran、Cなど の高級言語でも、特別なfarキーワードとnearキーワードまたはメモリ モデルを(注意して) 使用する必要がありました。
80386 とその後継機は、80286 の 16 ビット セグメントを完全にサポートしているが、メイン レジスタの新しい 32 ビット幅を使用して、32 ビット アドレス オフセットのセグメントもサポートしている。すべての 32 ビット セグメントのベース アドレスが 0 に設定され、セグメント レジスタが明示的に使用されていない場合は、セグメント化は無視され、プロセッサは単純な線形 32 ビット アドレス空間を持つように見える。Windowsや OS/2 などのオペレーティング システムでは、32 ビット プログラムだけでなく 16 ビット (セグメント化) プログラムも実行できる。前者は下位互換性のために存在し、後者は通常、新しいソフトウェア開発に使用されることを意図している。[10]
画像
デジタル画像/写真では、32 ビットは通常、RGBA カラー スペース、つまり8 ビットのアルファ チャネルが追加された24 ビットのトゥルーカラー画像を指します。RGBEなど、他の画像形式もピクセルあたり 32 ビットを指定します。
デジタル画像では、32 ビットは、チャネルあたり 32 ビット、つまりピクセルあたり合計 96 ビットを使用するハイ ダイナミック レンジ イメージング(HDR) 形式を指すことがあります。チャネルあたり 32 ビットの画像は、 sRGBカラー スペースで許可される値よりも明るい値 (白よりも明るい値) を表すために使用されます。これらの値を使用すると、画像の露出を下げるときや、暗いフィルターや鈍い反射を通して見るときに、明るいハイライトをより正確に保持できます。
たとえば、油膜の反射は、鏡面の反射のほんの一部にすぎません。HDR 画像では、ハイライトの反射が鈍い灰色の形ではなく、明るい白い領域として表示されます。
ファイル形式
32 ビット ファイル形式は、各基本情報が 32 ビット (または 4バイト) で定義されるバイナリ ファイル 形式です。このような形式の例としては、拡張メタファイル形式があります。
参照
参考文献
- ^ Prosise, Jeff (1995-11-07). 「16 ビットか 32 ビットか: あなたにとって重要か?」PC Magazine . pp. 321–322 . 2022-11-30閲覧。
- ^ ブキャナン、ウィリアム (1997)。エンジニアのためのソフトウェア開発: C/C++、パスカル、アセンブリ、Visual Basic、HTML、Java Script、Java DOS、Windows NT、UNIX。バーリントン: エルゼビア サイエンス。p. 230。ISBN 978-0-08-054137-2. OCLC 854975383.
- ^ Venkateswarlu, NB (2012).工学・理科系学生のための必須コンピュータ・IT基礎. S. Chand Publishing. p. 143. ISBN 978-81-219-4047-4。
- ^パターソン、デビッド 、ディッツェル、デビッド(2000)。コンピュータアーキテクチャの読み物。サンディエゴ:アカデミックプレス。p.136。ISBN 9781558605398。
- ^ IBM System/360 モデル 30 の機能特性(PDF) . IBM. 1971 年 8 月. pp. 8, 9. GA24-3231-7.
- ^ 「Motorola 68000 ファミリー プログラマーズ リファレンス マニュアル」(PDF) 1992 年、p. 1-1 。2022 年1 月 18 日閲覧。
- ^ Gwennap, Linley (1995 年 2 月 16 日). 「Intel の P6 は分離されたスーパースカラー設計を採用」(PDF) . Microprocessor Report . 2012 年12 月 3 日閲覧。
- ^ 「ARM アーキテクチャの概要」(PDF)。
- ^ 80286 用のUNIXの亜種もありました。
- ^この記事は、2008 年 11 月 1 日より前に Free On-line Dictionary of Computingの 32-bit+application から取得した資料に基づいており、 GFDLバージョン 1.3 以降 の「再ライセンス」条件に基づいて組み込まれています。
外部リンク
- HOW Stuff Works「ビットとバイトの仕組み」
- 「LockerGnome.com の Ken Colburn: 32 ビットと 64 ビットの Windows」。2016 年 3 月 30 日にオリジナルからアーカイブされました。
