実際のアプリケーションでは、128ビットのフラットアドレス空間が必要になりますか?


32

これは少し「1メガバイトあれば誰でも十分」ということですが、...

64ビットのフラットアドレス空間は、32ビットのアドレス空間よりも最大43億倍のスペースを許可します。これは17,179,869,184 GiBです。

明らかに、8ビットから16ビットへの移行は非常に迅速でした(80年代の10代で物事を表示していますが、これらのメインフレームとミニはすべて、エリートのポートを実行できなかったため無視しています)。16ビットから32ビットへの移行には少し時間がかかり、実際には32ビットがかなり長く続きました。

64ビットになりましたが、「17,179,869,184 GiBで誰にでも十分」と言うのは愚かでしょうか?

プログラミングの観点を本当に念頭に置いているので、これはプログラマーの質問です。いつかコンピューターに一見無限の作業メモリーがあるように見えても、それはアプリケーションが一見無限のフラットなアドレス空間を見る必要があるという意味ではありません。

基本的に、プログラマーは安reliefのため息をついて「まあ、少なくとも整数や浮動小数点数が何であれ、少なくともポインターが成長することを心配する必要はない」と言うことができますか?


11
LHCは毎日どのくらいのデータを生成しますか?
ピーターテイラー

7
8ビットプロセッサには実際には16ビットのアドレス空間がありました-したがって、「クイックトランジション」:
ニールバターワース

1
コンテキストを提供するために、128ビットのアドレス空間は、観測可能な宇宙にある星または銀河の半分の原子と同じ数のアドレスを提供します(数桁以内)。
ラインヘンリッヒス

5
@Rein:つまり、十分ではありません。私たち自身の銀河の半分の原子でも十分なメモリアドレスを持たない宇宙をどのようにシミュレートできますか。amiright
クエンティン・スターアン

7
これは非常に簡単に答えられると思います。スタートレックホロデッキ。十分に言った。
ダンク

回答:


27

近い将来、2 ^ 64バイトを超えるRAMを搭載するマシンは登場しないと思いますが、アドレス空間が役に立つのはそれだけではありません。

いくつかの目的のために、他のものをアドレス空間にマップすると便利です。ファイルは重要な例です。それでは、近い将来、コンピューターに2 ^ 64バイト以上のストレージを接続するのは合理的でしょうか?

はいと言わなければなりません。テラバイトのハードディスクを持っている人はたった約1700万人であるため、そこには2 ^ 64バイトをはるかに超えるストレージが必要です。数年前から複数ペタバイトのデータベースが存在しており、2 ^ 64は約17000ペタバイトにすぎません。

今後数十年以内に2 ^ 64を超えるアドレス空間を使用する可能性が高いと思います。


4
これにより、インターネット上で利用可能な任意のバイトのストレージをアドレス指定するフラットアドレス指定を考えるようになります。システム上のすべてのストレージのフラットアドレス指定を提供するオペレーティングシステムについて何か聞いたことがあると思います(ファイルをメモリにマップする必要はありません-それらは既に存在します)。IPアドレスをメモリアドレスの一部にするには、確かに64ビット以上が必要になります。IPv6は、アドレスのためだけに既に128ビットを必要とします。アドレス空間には膨大な量の冗長性がありますが、それでも意味があります。
Steve314

2
はい。すべてのドライブとファイルをアドレス空間にマッピングすると、生活が簡素化されます。ファイル全体へのポインタがあれば、ディスク上のファイルの操作に関係する非常に多くのコードがはるかに簡単になります。このようなことには、segment:offsetアーキテクチャが理想的です。
ローレンペクテル

これは、すべての大容量記憶装置の各バイトが直接アドレス可能であることを前提としています。
バルテック

2
@ steve314:IBM S / 38によって開拓された単一レベルのストアコンセプトを考えています。興味深いものですが、今日のシステムと統合するのは難しいと思います。
TMN

1
@TMN:さて、IBM i(別名i5 / OS、別名OS / 400)はまだそれを使用しており、間違いなく「今日のシステム」の1つです。
ヨアヒムザウアー

16

コンピュータが実験室にもまだ存在しない画期的なテクノロジーを使用し始めない限り、現在のシリコンテクノロジーでは2 64を超えるアドレス可能なスペースを持つことは物理的に不可能です。この技術は物理的な限界に達しつつあります。速度(GHz)の制限は、数年前に既に達しています。小型化の限界も非常に近いです。現在、生産における最も先進的な技術は20nmであり、ラボでは7原子で作られたトランジスタを備えた4nmです。

新しいテクノロジーの開発にかかる時間を概観すると、現在のコンピューターは1925年に発明されたトランジスターに基づいており、現在のシリコンテクノロジーは1954年に遡ります。


代替技術に関して:

  • オプティカルコンピューティング —コンピューティング速度は向上しますが、ストレージの小型化の問題は解決しません。
  • 量子コンピューティング —完全に使用するには、完全に新しいプログラミングパラダイムが必要になるため、ポインターが64ビットまたは128ビットである場合は心配する必要はありません。また、小型化に関する同じ物理的制限がこのテクノロジーに適用されます。
  • DNAコンピューティング -これらは概念実証のおもちゃで、特定のクラスの問題を解決するために設計されています。実際の使用には適していません。通常のPCでは1秒未満で実行される計算を取得するには、太平洋の大きさで数千年のDNAタンクが必要です。それは自然な生物学的プロセスなので、それを小型化または高速化する方法はありません。

4
つまり、基本的には、技術的なブレークスルーはもうないということですか?シリコンテクノロジーには永遠にこだわるでしょう。量子コンピューティングやDNAコンピューターなどの根本的に新しいものは、永遠に研究にとどまります。あなたは本当にそれを信じますか?
ニキエ

2
@nikie:量子コンピューターは魔法ではありません。彼らはまだ原子を使用しています。彼らはまだ物理学によって制限されています。DNAコンピューター?真剣ですか???それは概念の証明である以上に全く役に立たない。
バルテック

4
@トール:まあ、2011年に月に人を置くことは物理的に不可能です。
バルテック

7
なぜ-1ですか?この要約には、非常に堅実な根拠があります。2 ^ 64は非常に大きな数です。2 ^ 32 * 2ではなく、かなり大きく、2 ^ 128は非常識です。それをするにはひどい時間がかかるでしょうfor(unsigned __int128 i=0; i<2^128; i++){}。現在の技術では、128ビット整数の使用はあまりありません。保護されていないアドレススペースに戻ることは別として、ランダムアドレスにランダムに書き込みを行っていたとしても、128ビットアドレススペースで他のアプリケーションメモリを誤って踏むことは不可能です。
コーダー

2
@nikie:量子コンピューターで現在のメモリモデル(ここでは主題)を使用すると、その目的全体が無効になるため、量子コンピューターはこの議論とは無関係です。ああ、はい、DNAコンピューターは実際に使用されることはありません。セルオートマトンを実行モデルの基礎として使用するようなものです。
back2dos

15

リンクされているスーパーコンピューターのソルビョーンには、約2 ^ 47 Bの物理メモリーがあります。
ムーアの法則がスーパーコンピューターのメモリに適用されると仮定すると、わずか34年で2 ^ 64 Bの物理メモリになります。これは「OMG、我々はそれを見るために生きます!!!!」のようなものです。多分。そして確かに、それは魅力的です。しかし、同じように無関係です。

質問は、2 ^ 65 Bの物理メモリを使用するために128ビットのアドレス空間が必要ですか?
答えはNOです。1 つのプロセスから2 ^ 65 Bの仮想メモリをアドレス指定するには、128ビットのアドレス空間が必要です。

それ、「現実のアプリケーションでは128ビットのフラットアドレス空間が必要になるでしょうか?」という質問の重要なポイントです。「必要」は、絶対ではありませんが、より少なくて済むので、アドレス空間をマップできます(フラットではありません)。ただし、「フラットな128ビットアドレス空間」はありません。

例として、地球上の原子に物理メモリアドレス(何らかの理由で、主にこの単純な例を提供するため)を割り当て、ゼロから始めてカウントを続けたいと思ったとします(完了したら私に戻ってください)。今、他の誰かがケプラー-10cで同じことをしたいと望んでいます(568の距離)。

アドレスの衝突は望ましくないので、他の人は使用可能なフラットメモリスペースに高いメモリアドレスを割り当てます。これにより、メモリをマッピングせずに、あなたと次の人を直接アドレス指定できます。あなたがそれをやらないか、メモリとそのアドレスの間に1対1の関係がなければ(スパース配列を実装したいと思っています)、あなたはわずか64ビット以下のメモリでうまくいくことができます。

誰かが「Xの量のYで十分だ提案するときはいつでも、そのような予測はしばしば短命のままです。

したがって、問題は次のとおりです。2^ 65 Bのメモリを使用する単一のプロセスがどのくらいの期間あるか。絶対にしないでください。

私たちの時代の大きな問題は、単一のCPUの処理能力が制限されていることです。原子のサイズによって定義されるサイズには制限があり、特定のサイズについては、光の速度、磁場の変化に関する情報が宇宙で伝播される速度によって与えられるクロックレートに制限があります。
実際、数年前に制限に達し、以前よりも低いクロックレートで落ち着きました。CPUパワーは直線的に拡大しなくなります。順不同の実行、分岐予測、より大きなキャッシュ、より多くの命令コード、ベクトル演算などによってパフォーマンスが向上しました。アーキテクチャの最適化が行われました
そして重要なアイデアは、並列化です。並列化の問題は、スケールアップしないことです。20年前に遅いコードを書いた場合、10年前にはずっと速く動作しました。遅いコードを今書いたとしても、10年でそれほど速くなることはありません。

2 ^ 65 Bのメモリを使用するプロセスは、最大の愚かさの兆候です。これは、アーキテクチャの最適化が行われていないことを示しています。このデータを賢明に処理するには、1,000万個のコアが必要になりますが、そのほとんどはリソースが利用可能になるのを待つのに時間を費やすことになります。大きく複雑な問題に対処するための鍵は、それらを小さく単純な問題に分解し、これまでになく大きく複雑なシステムを構築しないことです。sh * tloadsのデータを処理する場合、水平分割が必要です。

しかし、この狂気が続くと仮定しても、128ビット十分ですので安心してください:

  • 地球には約8.87e + 49の原子があり、これは私たちが持っている2 ^ 166個の原子です
  • 1ビットを保持するのに2 ^ 20アトムかかると仮定しましょう。これには、すべての配線とプラスチック、およびそれに伴う電力も含まれます。トランジスタを箱に入れて、それをコンピューターと呼ぶことはできません。したがって、2 ^ 20はかなり楽観的です。
  • 128ビットのアドレス空間を使用するには、2 ^ 133ビット、つまり2 ^ 152アトムが必要です。地球上で原子が均等に分布していると仮定して、それらを取得するためにどれだけの地殻を取る必要があるか見てみましょう

    let
       q  := ratio of atoms needed to atoms present = 2^-14
       Vc := volume of the crust to be used
       Ve := volume of the earth
       re := the radius of the earth = 6.38e6
       tc := the required thickness of the crust
       k  := 0.75*pi
    thus
                                 Vc / Ve = q 
       (k*re^3 - k*(re-tc)^3) / (k*re^3) = q
                    1 - ((re-tc) / re)^3 = q        
                              (re-tc)/re = root3(1-q)
                                      tc = re * (1 - root3(1-q))
                                      tc = 6.38e6 * (1 - (1 - 2^-14)^(1/3))
                                      tc = 129.804073
    

    したがって、表面全体(水、砂、または氷で覆われた80%を含む)で130メートルを使用できます。それは起こらない。あなたがそれを掘ることができると仮定しても(笑)、この問題はすべてチップに加工するのに適していますが、どこでエネルギーを得ますか?


8
一方で、地球全体をストリップマイニングするための環境影響評価を行うには非常に大きなコンピューターが必要になりますので、おそらくそれ自体が正当化されます(ここで少しヒッチハイカーを取得します)
マーティンベケット

2
1ビット= 10 ^ 6アトム。地球全体= 10 ^ 50原子。宇宙全体= 10 ^ 80原子。指数表記は素晴らしいです!:
コナミマン

2
ポイントは、128ビットのアドレス空間全体を使い切ることではなく、64ビットのアドレス空間を使い切ることです。では、どの時点で64ビットを超える1つの追加のアドレス指定ビットが必要ですか?2 ^ 65バイトに必要な物理スペース(分子)はどれくらいですか?
デビッドRトリブル

1
つまり、物理的な128ビットメモリアーキテクチャには惑星規模の製造能力が必要だということですか。
16

単一原子トランジスタが考案されました。ビット数あたり2 ^ 20(約100万)の原子にどのように到達しますか?en.wikipedia.org/wiki/5_nanometer
ジミージェームズ

8

まあ、間違いなく大きなアドレス空間を使用できます。

これを想像してください:

  1. アドレス空間は単一のコンピューターに限定されません。代わりに、アドレスはユニバーサルアドレス空間のメモリセルを一意に識別します。そのため、世界中のどのコンピューターでもメモリセルへのポインターを持つことができます。リモートメモリからの読み取りを可能にするプロトコルが必要になりますが、これは実装の詳細です。:-)

  2. メモリはWrite Once、Read Manyです。つまり、メモリアドレスにデータを書き込むことができるのは1回だけです。可変値の場合、変更するたびに新しいメモリを割り当てる必要があります。私たちプログラマーは、不変性とトランザクションメモリの長所を認識し始めているため、メモリの上書きさえも許可しないハードウェア設計は、それほど不可能な考えではないかもしれません。

これら2つのアイデアを組み合わせると、巨大なアドレススペースが必要になります。


そして、なぜあなたは世界中のすべてのコンピューターのすべてのバイトに対処する必要があるのでしょうか?(私はあなたがNSAではないと仮定しています。)
デビッドRトリブル

私たちはもちろん私たちを救いに導くために、世界に広がるハイブマインドAIの大君主を築くつもりだからです!
サラ

7

コンピュータの能力が向上すればするほど、作業が複雑になります。

top500.orgにリストされている最大のスーパーコンピューターは、約220 TbのRAMと180000コアを持つhttp://www.top500.org/system/10587です。言い換えれば、それが「実生活のアプリケーション」がこのプラットフォームで動作できることです。

今日のコンピューターは、10〜15年前のスーパーコンピューターと同じくらい強力です(グラフィックスカードに計算能力が隠されていても)。

したがって、現在の傾向が当てはまる場合、10〜15年でメモリの係数100は、64ビットアドレス空間が約100年で制限要因になることを意味します(log(1億)/ log(100)は約6)。


注:数学は未検証で、おそらくかなり外れています。

17
1800年代の予測のように、交通量が非常に多くなると、都市全体が馬糞の山で覆われるようになる
-P-バルテック

1
最近では220 GBはそれほど多くありません。256 GB RAMのサーバーがあります。180000コア?今、それは何かです:)。OPの主な関心事はRAMサイズであるため、これを指摘しているだけです。
タマスシェレイ

1
@vartecは、ブラインド外挿が有効でない可能性があることを示しています。ここも同じです。

6
Tamásは正しかった:あなたが提供したリンクでは、「229376 GB」と表示されます。これは220 TBに近いでしょう。また、コアあたり4MBのL2キャッシュを想定すると、180Kコアには既に720GBのL2キャッシュがあります;)
back2dos

5

このスレッド全体は非常に読みやすく、賛否両論の非常に強い意見です...

ここに何か..

私は質問から、それはテクノロジーにとらわれず、時間に縛られていないことを理解しています。したがって、シリコン、量子コンピューター、またはInfinite Monkey Peddling Abacusの現在の開発は、実質的に無関係です。

back2dosからの答えは、この数値が表すものの大きさを示すのに非常にうまく機能していますが、計算と外挿も非常に面白いです。それで、それで働きましょう。

人類がもはや小さな惑星にとらわれない未来に思いをはせてください。非常に長い距離を移動できるようにする現実的な輸送手段が開発され、社会構造(経済、政治など)は世代を超えて進化しました。ファラオプロジェクトは、一般的な場所になりました。将来のこの非常にフェッチされたビジョンの2つの側面に焦点を当てましょう。時間をかけてすべての詳細を説明したい場合は、現在のテクノロジーの一連のもっともらしい進化を通じてすべてを合理化できると確信しています。言い換えれば、ありそうもない将来ではあるが、もっともらしい...とにかく...

最初の惑星コンピューターであるため、その最初の電子コンピューターの記憶にあるコロッサスと呼ばれる最初のプロジェクト。コロッサスブラザーフッドは、実際に小さな惑星を捕らえ、それを動作するコンピューターに変換する手段を見つけました。最近、Kuyperベルトで発見され、特に可融性同位体が豊富でエネルギー的に自律しているため、プローブ、ロボットなどで完全に自律的に構築プロセスを行い、コンピューターシステムを自己修復および自己構築しました。この状態では、進行中の別のプロジェクトにすでに存在するアプリケーションを簡単に移植するために連続アドレス空間を取得したいため、2 ^ 64アドレス空間がこのプロジェクトにある程度限定されていると考えられます。

もう1つのプロジェクトは、物理システムよりもネットワーキングの実験に近いものですが、それでも、より大きなアドレススペースが必要であることをすぐに実証しました。540年前、若いハッカーが巨大なボットネットを作成するというアイデアをいじっていました。インターネットはすでに拡大しており、核融合発電の大きな進歩により、太陽系周辺の新生コロニーが含まれるようになりました。彼のアイデアは基本的にネットワークにボットを少しだけ広げることでしたが、ペイロードはすべてのボットのすべての能力が組み合わされていると仮定してコードが記述される統合仮想マシンを提供することを目的としていました。基礎となる媒体の固有の信頼性を考慮して設計された遅延と洗練されたアルゴリズムを最適化するために、コンパイラと展開に多大な努力が注がれました。言語は、この新しい「私たちのハッカーは代わりに傘下の会社を作成し、最高の入札者にコンピューティングパワーを販売しました。彼が亡くなったとき、彼はこのボットネットとすべてのテクノロジーを財団に寄付しました。その時点で、ボットネットはすでに64年間実行されており、かなり前に2 ^ 64アドレス空間をすでに超えていたため、1000年前の大きなアドレス空間は必要ないという先入観を打ち破りました。現在では2 ^ 128が標準であり、Colossusに使用されるものですが、すでにこれを2 ^ 256に拡張する計画があります。私たちのハッカーは代わりに傘下の会社を作成し、最高の入札者にコンピューティングパワーを販売しました。彼が亡くなったとき、彼はこのボットネットとすべてのテクノロジーを財団に寄付しました。その時点で、ボットネットはすでに64年間実行されており、かなり前に2 ^ 64アドレス空間をすでに超えていたため、1000年前の大きなアドレス空間は必要ないという先入観を打ち破りました。現在では2 ^ 128が標準であり、Colossusに使用されるものですが、すでにこれを2 ^ 256に拡張する計画があります。

おそらく、そうだということを示す、より妥当なシナリオを思い付くことができるでしょう...いつか、これよりも大きなアドレススペースが必要になる可能性があります。

ただし、これがスリープ状態を緩めるとは思わない、アプリケーションが正しく動作するために特定のアドレス空間を必要とする場合、おそらく必要なすべてを提供するVMに住んでいるだろう...

したがって...短い答え...

はい、ほとんどの場合

しかし

問題が発生したときにこれに対処しないのはなぜですか...個人的に私は私のプログラムで仮定をすることはありませんので、驚きを得ることはありません。


2
架空の例の詳細レベルで面白がっています。どこかで短編小説を書いていますか?
クリストファービブス

2

住所の場所には住所の幅に対して対数コストがかかるため、問題のパラメーターに基づいて上限を考慮することができます。

地球上の砂の粒子の64ビット = 7.5x10 ^ 18 観測可能な宇宙の星の
128ビット = 10 ^ 24 地球の粒子の
256ビット = 10 ^ 50 観測可能な宇宙の粒子の
512ビット = 10 ^ 82
1024観測可能な宇宙の立方板の長さのビット = 4.65×10 ^ 185

  • スパースハッシュ、セキュリティ、およびインデックス作成のために導入

6.6106 ...×10 ^ 122ビット(観測可能な宇宙で可能な粒子配置= 10 ^(10 ^ 122)

物理的に可能な最大の構築可能なメモリアドレスの上限として、可能な構成を想定できます。


n個のアドレスに必要な幅を計算するには、これをwolfram alphaに入力します:2 ^ ceil(log2(log2(n)))
Timothy Swan

1
あなたのハッシュなどのように、ほとんどのアドレスがまったく何も参照しない非常に冗長なアドレス空間を持つことは有用かもしれませんが、誰かがURLをマシンの仮想アドレスにエンコードすることを提案したと思いますそれらのハッシュ)、したがって、実際には、将来の仮想アドレス指定スキームが潜在的にどれほど無駄/冗長であるかについての上限はありません。もちろん、データをアドレスにエンコードすること(必要に応じて潜在的に保護されたテーブルで検索することとは対照的に)は、良いアイデアのようには聞こえません。
Steve314

0

まあ、私は数年来、おそらく安reliefのため息をつくことができると思います。ハードウェアのイノベーションの速度を見ると、ここ数年で大きなブレークスルーが起こっていないことがわかります。2.x GHzの周波数を備えたCPUは、しばらく前から存在しており、今日の処理能力の増加は、チップ上により多くのコアを搭載することによってもたらされています。ドライブ容量はまだ増加していますが、10年前と同じ速度ではありません。

私たちの現在の技術は物理学の限界に近づいていると思います。

それは将来にとって何を意味するのでしょうか?情報処理の新たな飛躍を得るためには、まったく新しい技術を活用する必要があると思います。これらの技術は、おそらく今日の状況とはまったく異なるコンテキストではあるが、「ソフトウェア」を使用する可能性が高い。そして、誰が持っている、または提供できるアドレス空間の要件を誰が知っていますか?それとも、アドレス空間がその技術において意味のある概念であるかどうか?

まだこれで引退しないでください。


CPU速度は、メモリサイズとは多少異なる概念です。

プロセッサの速度がここ数年あまり向上していないため、物理学の限界に近づいていることに関係があるという結論を導き出すことができるかどうかはわかりません。過去数年にわたってマルチコアCPUが大流行していることは事実であり、CPUメーカーは、クロックの改善にお金を費やすのではなく、これらすべてのプロセッサを最適に活用する方法にお金を投資している可能性があります。大企業でさえ、研究開発費に制限があります。ドライブ容量は依然としてかなり高速に増加しています。140ドルで3 TBのドライブを見ました。
ダンク

0

はい、あります。(ゲーム?人工知能関連のもの?)

しかし、より適切な質問は、それが典型的なプログラマーにカウントされるかどうかです。Rubyが数値をFixNumからBigNumに自動的に変換し、必要に応じて元に戻す方法を考えてください。他の言語(少なくとも動的言語)が最終的に同じことをしない場合、私は驚くでしょう。


1
そうそう。ええええ。私はすごいクールなゲームをプレイしたいのですが、128ビット演算を使用する必要があります!!!!!!!!!
チャニ

1
Duke Nukem Forever Rev 2.0?またはMadden Football 2025?
ジョンR.ストローム

0

この量の情報を保存することと、それに役立つ何かをすることは別です。私の観点からすると、このストレージを使用する処理能力がなければ、このストレージは必要ありません。おそらく巨大なデータベースをキャッシュすることは一つのことですが、数値処理のためには最初にプロセッサが必要だと思います。


0

アプリケーションはこれほど多くのメモリを必要としますか?かなり可能。天気予報、一般的な物理シミュレーション、暗号化などのアプリケーションは、おそらくより多くのメモリと処理能力の恩恵を受けるでしょう。そして、50-100年後のキラーアプリがどうなるか誰が知っていますか?ホログラフィックディスプレイ?すべての可能な100文字のパスワードのレインボーテーブル?

そんなに多くのメモリを表現することは物理的に可能ですか?間違いなく可能です。たとえば、100キュービットの量子コンピューターは、従来の2 ^ 100ビットのコンピューターと同じ数の状態を表すことができます。ウェイより多くの我々が今持っているアドレス空間の2 ^ 67ビットより。(100キュービットの量子コンピューターはサイエンスフィクションのように聞こえます。それを構築することは決して不可能だとは思いません。しかし、一方で、使用されるテクノロジーについても同じことが言えるでしょう。または100年後)

しかし、私は「フラットなアドレス空間」がそれまでの主な心配事になることを真剣に疑っています。それまでに量子アルゴリズムを開発し、「アドレス空間」の概念があまり意味をなさないかもしれません。コンピューターが「クラシック」のままであっても、不均一なメモリーが接続された恐ろしい数の処理ユニットを処理する必要があるでしょう。


「100キュービット量子コンピューターは、従来の2 ^ 100ビットコンピューターと同じ数の状態を表すことができます。」それは実際には量子ビットの仕組みではありません。100キュービットコンピューターは、100ビットコンピューターと同じ数の状態を表すことができます。違いは、100キュービットコンピューターは、これらすべての状態の重ね合わせを一度に表現できることです。量子ビットについての他のことは、それらを読みに行くとき、あなたは1つの答えしか得られず、それは完全にランダムであることです。
ジミージェームズ

@JimmyJames:その通り。したがって、100量子ビットの量子コンピューターが古典コンピューターで1つの瞬間に持っているのと同じ情報を表現したい場合(シミュレートする場合など)、100ビット以上の方法が必要になります。それは私が言ったことです。(とにかく、とにかく。)
ニキー

繰り返しますが、それはそれがどのように機能するかではありません。2ビットのレジスタは4つの値を表すことができます。2キュービットレジスタは4つの値を表すことができます。どちらも同じ範囲の値を表すことができます。キュービットレジスタは、4つすべてを同時に表すことができます。それが違いです。
ジミージェームズ

@JimmyJames:2ビットの「クラシック」レジスターは2つの値を表すことができるが、同時に表現するようなものです。このように考えてください。古典的なコンピューターで量子コンピューターをシミュレートしたい場合、いつでもtで2量子ビットの量子コンピューターの完全な状態を保存するには何ビット必要ですか?
ニキー

私はそれを取得しますが、私が不足しているのは、キュービットから特定の値を取得できないということです。重ね合わせでは量子ビット、それが読まれたとき、あなたはどちらか1または0を取得しますが、あなたが原因でデコヒーレンスの両方の値を取得することはできません与えられ、すなわち: en.wikipedia.org/wiki/Quantum_decoherence
JimmyJames

0

すべてのメモリロケーションにグローバルに一意のアドレスがある場合はどうなりますか?

  • ネットワークプロトコルは、はるかに単純になる可能性があります。
  • 分散オブジェクトは興味深いものです。すべてのオブジェクトは同じメモリ空間に存在できます。
  • 多分、「一度だけ書き込む」メモリに切り替えて、アドレス構造の一部として時間を含めるでしょう。過去に存在したオブジェクトを読み取ることができます。
  • すべてのセカンダリストレージは直接アドレス可能です。さようならFILEfopen()など
  • 悪いポインターに書き込み、他の誰かのマシンをホースで固定したことで逮捕される可能性があります。
  • 生徒は最初のCSクラスを受講する前にスクリーニングを受ける必要があります:Total Perspective Vortexに耐えることができる人はほとんどいません。

0

ここでは「大声で考えて」いますが、128ビットコンピューターの残りの64ビットで興味深いセマンティックなことができると思いました。Cf. IPの仕組み。

私は人々がこのような何かの楽しい使い方を思いつくことができると確信しています。:) PS3が128ビットアドレスを使用する理由は誰でも知っていますか?もちろん、余分なメモリをすべて無駄にすることはありません(そして、実際のアドレスのメモリについてだけであり、それらのアドレスが指しているものについてではありません)。データとしてのアドレス。アドレス自体にブランチをエンコードすることもできます。つまり、0x [ifAddress] [elseAddress]マルチコアシステムもこのタイプのセグメンテーションの恩恵を受ける可能性があります。そして...そして...


0

64ビットアーキテクチャを超える理由はありますか?(18,446,744,073,709,551,615バイトのアドレス可能なメモリ)

デジタルエレクトロニクスおよびコンピューティングに関連する測定単位の2進数の倍数に対するプレフィックスの使用に関するIEEE 1541-2002標準を使用すると、次のことがわかります。

1バイト= 8ビット、1キロバイト= 1024バイト、1メガバイト= 1024 KB、1ギガバイト= 1024 MB、1テラバイト= 1024 GB、1ペタバイト= 1024 TB、1エクサバイト= 1024 PB

Zettabyte、Yottabyte、Xenottabyte、Shilentnobyte、Domegemegrottebyte、Icosebyte、およびMonoicosebyteについても同様です。

2016年現在、Earthドライブの合計ストレージは約2,500エクサバイトと推定されています。

64ビットのレジスタは、15エクサバイトのメモリに直接アクセスできます。128ビットのレジスタは、3.40282367×10 ^ 35ゼッタバイトに直接アクセスできます。または295,147,905,247,928,000 Monoicosebytes。

したがって、128ビットのレジスタは、すべてのEarthsメモリ、インターネット上で送信されたすべてのもの、発話または書かれたすべての単語、すべての映画などにアクセスするのに適切な位置にあることがわかります。 。

答えはイエスです。これまでの、またはこれからのデジタルモノを指し示すことができるフレームワークを保留しています


0

平均的な人間の脳のニューロン数について私が見つけることができる最良の推定値は、約860億です。RAMとニューロンを一般的に直接比較することはできませんが、ニューラルネットワークではできます。ニューロンまたはシナプスの状態を表すために多くのアドレスを使用します。だから私は、ワイルドな推測を捨てて、人間の脳に匹敵するようなニューラルネットワークを作成するために、1兆個のアドレスのようなものを見ていると言います。だから、それができれば、なぜそれ以上さほど進んでいないのかわかりません。そのようなネットワークで考えられる問題の種類は、理解する能力を超えているだけでなく、そうするためになぜそれらが非常に大きくなければならないのかということです。


0

アドレス空間です。C標準を変更して、reallocが使用するポインターを変更できないようにするとします。今日は2 ^ 33個のメモリブロックを割り当てることができます(Macで192GBのRAM、8億倍の8バイトポインター、および16バイトの割り当て領域が必要になるため、今はできませんが、できるMacを購入できます)新しい住宅ローンを持ち出すことなく)。

そして、これらのポインターのいずれかを再割り当てして、2 ^ 33バイトを保持できます。ただし、同時に多くはありません:-) reallocがポインターの移動を許可せず、2 ^ 33バイトが許可されている場合、元のポインターは2 ^ 33バイト離れている必要があります。つまり、2 ^ 66バイトのメモリが必要です。


-1

確かに、将来その量のスペースが不要になる理由はありません。ゲーム開発を検討する場合、ゲームをどれだけ現実的または複雑にできるかについて制限はありませんか?(グラフィックスの詳細/使用されるポリゴンの数、オブジェクトの相互作用と動作を定義するアルゴリズム)?

10年後、12GBのRAMと8コアプロセッサの最小要件で10TBのゲームをプレイするかもしれません。:P


詳細に制限はありません。しかし、シリコンには限界があります。
ビリーONeal

-1

20年前、地球上の人の数は20億人も減り、ほとんどのコンピューターシステムにはキロバイト単位で測定できるアドレス可能なメモリがありました。今日、世界の人口は同じ割合で増加し、コンピューターユーザーの数は毎年指数関数的に増加しています。

完全な64バイトのアドレス空間を必要とするシステムはごくわずかです。ただし、一部のシステムでは、テラバイト単位の情報が毎日保存されます。これは、コンピューターユーザーとインターネット速度の増加により可能になりました。HTTPが発明されてからわずか23年後には、すでに10 GB /秒のインターネット速度をサポートできます。この速度では、50年間で1 TB / s以上のインターネット速度を期待しないのは愚かなことだと思います。このようにすべてのデータをすばやく移動できると、保存するデータが増えますが、このデータを保存するためにより多くの人が存在することになり、128ビットシステムへの広範な移行、最終的には256および512ビット。


あなたはすべての点で正しいですが、あなたは私のポイントを逃しました。コンピューティング業界は100年未満であり、過去数十年にわたって成長し続けている場合、この時点で限界に達したと考えるのは愚かであるだけでなく、要求に無知です。未来の。64ビットアーキテクチャが必要になるのは、アドレス空間だけではありません。命令セットは非常に大きくなる可能性があり、128ビット幅のポインターがより効率的で優先されます。別の利点は、より高いビットアーキテクチャに切り替えるCPUレジストリスペースです。
アンドリューカッツ

なぜこれらすべてのコメントを書いたのかはわかりません-機嫌が悪いだけが私の最高の言い訳です。しかし、下票は私のものではありません。
Steve314

-1

はい、アプリは仮想空間のすべてのバイトを埋めません。アドレス空間レイアウトのランダム化が最大のメリットを得るでしょう。

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