64ビットマシンが理論的に対応できるRAMの最大量はいくらですか?


21

コンピューターアーキテクチャの本を読んでいますが、x86、32ビットCPUでは、プログラムカウンターは32ビットです。

したがって、アドレス可能なバイト数は2 ^ 32バイト、つまり4GBです。したがって、ほとんどの32ビットマシンでは、RAMの量が4GBに制限されています(PAEは無視されます)。

64ビットマシンが理論的に2 ^ 64バイト、または16 エクサバイトのRAMをアドレスできると仮定するのは正しいですか?!


4
既存のx86 64ビットプロセッサは実際にこれを実行できないことに注意してください。キャッシュには十分なタグビットがなく、アドレスバスには十分な幅がありません。46ビット(8TB)は、多くの最新のx86 CPUの最大値です。
デビッドシュワルツ

4
理論的には、制限はありません。32ビットCPUでさえ、4 GiBを超えるアドレス空間を持つことができます。これは、メモリ管理システムがハードウェアにどのように実装さているかに依存します。これは通常、CPUのワード長に依存しません。プログラム内のポインターは常にワード長ですが、これらはいずれにせよ(物理的ではなく)仮想アドレスなので、さらに別のアドレススペースにマップされます。
ブレークスルー

これは古い回答を含む古い質問ですが、この質問に対する最も賛成の回答は非常に誤解を招くものであり、64ビット幅のアドレスバスアドレスを持つマシンがどれくらいのRAMを使用できるかに対する回答です。DavidとBreakthroughが先に指摘したように、アーキテクチャの「ビットネス」は、アドレスバスのサイズではなく、プライマリレジスタのサイズを反映しています。
セビ

なぜPAEを無視するのですか?
ジェイミーハンラハン

回答:


28

理論上:1680万テラバイト。実際には、コンピューターのケースが小さすぎて、すべてのRAMに収まりません。

http://en.wikipedia.org/wiki/64-bit#Limitations_of_practical_processors


13
小さすぎる.... 今日!!!!
スニッカー2009年

2
16,777216百万テビバイト。正確にしたい場合。
totymedli

プロセッサがすべてのビットを使用してメモリにアクセスすることはできないことを他のソースで読んでいますが、これはあなたの答えで考慮されていますか?
アンドレイ

17

Matt Ballの答えを補足するために、ある特定のオンライン小売店で見つけられるRAMの現在の最大容量は32GBです。1テラバイトに達するには、これらのうち32個が必要です。1本のスティックあたり約0.5インチで、1テラバイトの商用ramのために、マザーボードに16インチの専用スペースを確保できます。1680万テラバイトに達するには、4,242.42マイルのマザーボードが必要です。LAからNYCまでの距離は約2141マイルであるため、マザーボードは全国に広がり、その量のRAMを収容します。

これは明らかに非現実的です。

ほとんどのマザーボードのようにRAMをすべて一列に並べるのではなく、並べて配置するのはどうでしょうか。ラムの平均スティックの長さは約6インチであると言いたいので、幅に0.5インチを許可すれば、6インチの正方形に12スティックのラムの正方形ユニットを置くことができます。この正方形をRAMタイルと呼びましょう。RAMタイルは、384GBのRAMを保持します。384GBタイルで必要な1,680万テラバイトに達するには、4480万タイルが必要です。乱雑になり、その平方根を使用して、6693 x 6694タイルの正方形、または13,386 x 13,388フィートの正方形に収まると結論付けます。彼らは文句を言うのに十分ではありませんでした。


2
大きすぎる。なぜそれらを平らに置くのですか?あなたはそれをすべて100フィートの立方体で得ることができます。ただし、液体窒素を冷却するには、おそらく液体窒素が必要です。
ローレンペクテル

1
沸騰する窒素ガスの量は、シアトルの偉大な人々に安全上のリスクをもたらすだろう
Conrad.Dean 14

1つの可能な修正。タイルは6 "x 6"なので、タイルカウントの2倍である引用された13,386ではなく、面積3346.5 x 3347フィート(タイルカウントの半分)になりません。また、誰も言及していないように見える別の問題。最適な配置を想定してください:円、半径は、必要な領域を囲むために約1,890フィートである必要があります。Grace HopperのAdmが指摘したように、銅線上の伝送遅延は約1ナノ秒/フィートです。つまり、外部リングへのラウンドトリップレイテンシは〜3.78マイクロ秒になります。それはメインメモリにとっては少し遅いです。IMEHO。
dgnuff

4

事実上、はい-理論上、プロセスは2 ^ 64バイトのメモリをアドレス指定できます。しかし、あなたが指摘したように、この制限を回避する方法があります。


3

プロセッサのビットサイズとアドレス可能なメモリの量の間に特定の固定関係はありません。1970年代後半のほとんどの8ビットマシンは65,536バイトに簡単に直接アクセスでき、16ビット8088および8086は1,048,576バイトに直接アクセスできました。さらに、ハードウェアを追加して、マシンが任意の量のRAMに間接的にアクセスできるようにすることもできます。8ビットプロセッサを搭載した多くのマシンには128K以上があり、8088ベースのPCのメモリ拡張ユニットは16メガバイト以上にアクセスできました。Microsoftはこのような機能をWindowsの「サーバー」バージョンでのみ有効にしましたが、32ビットコードが同様のアプローチを使用して4GiBマークを超えてメモリにアクセスすることは可能でした。


2

あなたは正しいでしょう。最大16エクサバイトのRAMをアドレス指定できます。今..オペレーティングシステムがそれを処理できるかどうかは別の質問になるでしょう...


2

また、オペレーティングシステムには64ビットアーキテクチャのメモリに関する独自の制限があることに注意してください。

たとえば、ウィキペディアがWindows Vista 64について述べていることを参照してください。

現在、Microsoftオペレーティングシステムの64ビットバージョンはすべて、アドレススペースに16 TBの制限を課しています。64ビット版のWindows Vistaで作成されたプロセスは、ユーザープロセス用に8 TBの仮想メモリを、カーネルプロセス用に8 TBの仮想メモリを作成して、16 TBの仮想メモリを作成できます。物理メモリに関しては、Windows Vista 64-Bit Basicは最大8 GBのRAM、Windows Vista 64-Bit Home Premiumは最大16 GBのRAM、Windows Vista 64-Bit Business / Enterprise / Ultimateは最大128 GBをサポートします。 RAM。[8]



1

64ビットの最大の利点は、アドレス可能なRAMではなく、他のすべてのものです。たとえば、ディスク上のすべてのバイトのアドレスを定義できます。ディスク容量を増やしても、数十年間これは無効になりません。


もちろん、現在のCPUにはこのアドレス空間が人為的に制限されているため、ディスク上のすべてのバイトをアドレス指定するのに十分なビットがなくなるのは10年前かもしれません。その段階までに、SSDの進行に合わせて制限が引き上げられ、ディスク全体がメモリの一部として表示されることでパフォーマンスが劇的に向上することを願っています。SSDをSATAケーブルではなくRAMスロットに接続してもかまいません。
Malvineous 14

@Malvineous私はもっと基本的なことについて話していました。63ビットに制限しても、9223372 TBを直接アドレス指定できます。RAMスロットのSSDはすでに存在しています。Sandiskを参照してください。
マークランサム14

私はあなたに同意していませんでしたが、現在の技術ではあなたが提案しているものに人為的な制限があることを指摘していました(例:物理バスに持ち出されるアドレスの48または51ビットのみ)。これらのDIMM-SSDが追いつくと、これらの人為的な制限を引き上げたり削除したりできない限り、メモリアドレスがすぐに不足する可能性があります。完全な64ビットが利用可能であれば、問題になるまで数十年かかるでしょう。
Malvineous 14

記録のために、私はSanDisk UlltraDIMMリンクを見ましたが、悲しいことに、これは技術的にはSSD-as-RAMではありません。これは6Gbps SATA SSDであり、DDR3からSATAへのアダプタを備えているため、メモリのようにアクセスできます。メモリリクエストのSATAプロトコルへの追加変換により、遅延が発生し、少し厄介に見えます。誰かがこの利点を見て、すぐに真のメモリインターフェイスをリリースして、間に不要なアダプターを入れずにフラッシュすることを願っています!
悪意のある14

0

現在のほとんどのプロセッサには、アドレスサイズに何らかの人工的な制限があります。たとえば、AMD64アーキテクチャの物理メモリには52ビットの制限があり、現在は48ビットの仮想アドレス空間のみをサポートしています。(ウィキペディア経由)。ただし、はい、物理的に〜1640万テラバイトが可能です。


-1

32 GBのシングルスティックと4つのlga2011 xeonsを実行する48枚のRAMカードを備えた現実的な物理的回答1536 GB

これは、誰かが隠されたハードコアサーバーを破ることなく購入できるエサイストPC向けです。

単に、4 GBのRAMが残りをRAMドライブに変え、RAMドライブをページファイルとして使用できる場合、RAMでOSの制限を回避する方法があることを捨てますXD XD XD XDシステムは、DOS / Windows 3.11などの初期の頃にそのような類似したことを行っていました

CPUの制限を回避するための他の小さなハックがあります。

私たちが見ることができるギアは、98個の実行8プロセッサからPCを持っていて、32ギガバイトのRAMのように考えているより強力なものがありますが、これは高価なハイエンドサーバーです

パブリックXDのコンピューターにうんざりしているので、サーバーをデスクトップとして見ている

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.