64ビットアーキテクチャ
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/02/14 02:30 UTC 版)
「64ビット」の記事における「64ビットアーキテクチャ」の解説
64ビットプロセッサは、1960年代から一部のスーパーコンピュータで使われており、1990年代初期からRISCベースのワークステーションやサーバで使われてきた。2003年には、x86-64と64ビットPowerPCプロセッサが登場し、それまで32ビットが主流だったパーソナルコンピュータ市場でも64ビットCPUが使われるようになった。 他のビット数のプロセッサと同様に、プロセッサ内部のビット数と、プロセッサ外部のデータバスやアドレスバスのビット幅は、異なる場合がある。通常、オペレーティングシステム (OS) を含めてソフトウェアの観点では内部(論理)、物理配線などの観点では外部(物理)が重要である。 例えばPentium Proは、プロセッサ内部は32ビットだが、外部アドレスバスは36ビット幅、外部データバスは 64ビット幅で、浮動小数点ユニットは80ビットである。また一部の16ビットプロセッサ(例えばMC68000)は、外部バスは16ビットだが、内部は一部32ビットの能力があることから、「16/32ビットプロセッサ」などと呼ばれていた。他にも、コンピュータの命令セットにおける命令のサイズや、何らかのデータ(例えば、64ビット倍精度浮動小数点数など)のサイズを指して使われる。 一般には「64ビット」コンピュータ・アーキテクチャと言えば、整数レジスタが64ビット幅で、64ビットの整数データを(内部的にも外部的にも)サポートしていることを意味するが、どの観点のビット数なのかは要注意である。 一般的なアプリケーションでは32ビットCPUでも64ビットCPUと同等の速度であることが多いため、64ビットCPUではメモリ搭載量が大幅に増やせることにメリットがあると言える。
※この「64ビットアーキテクチャ」の解説は、「64ビット」の解説の一部です。
「64ビットアーキテクチャ」を含む「64ビット」の記事については、「64ビット」の概要を参照ください。
64ビット・アーキテクチャ
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2020/11/19 08:15 UTC 版)
「R4000」の記事における「64ビット・アーキテクチャ」の解説
64ビットモードでは、汎用レジスタが全て64ビット幅となり、アドレスに関連する情報を格納するCP0レジスタも64ビット化された。各種演算は64ビット版が用意されている。メモリ管理ユニット (MMU) は48エントリのTLBを使って仮想アドレスから物理アドレスへの変換を行う。仮想アドレス空間は64ビットとなっているが、実はフラットではない(右図参照)。実際には40ビット、すなわち1TBの仮想記憶空間しか実装していない。それ以外のビットはゼロであることを確認するだけとなっている。物理アドレスは36ビットで、物理メモリ空間は64GBまでとなっている。また、特筆すべきは特権モードとしてカーネルモードとユーザモードの中間のスーパーバイザモードが導入された点である。この図の中で xkphys は説明が必要であろう。xkphys は物理空間をTLBを使わずにマップしているが、サイズは物理空間 64GBよりもずっと大きい。これは、従来の kseg0 と kseg1 を拡張したものであり、キャッシュコヒーレンシ(後述)をどういう方式で保つかによって物理空間を多重にマップしているためである。xkphysにカーネルをおく場合、キャッシュコヒーレンシの方式(プロトコル)によってアクセスすべきアドレスが異なる。
※この「64ビット・アーキテクチャ」の解説は、「R4000」の解説の一部です。
「64ビット・アーキテクチャ」を含む「R4000」の記事については、「R4000」の概要を参照ください。
- 64ビットアーキテクチャのページへのリンク