Akankah aplikasi dunia nyata membutuhkan ruang alamat datar 128-bit?

32

Ini agak "satu megabyte harus cukup untuk siapa pun", tetapi ...

Ruang alamat datar 64-bit memungkinkan hingga 4,3 miliar kali lebih banyak ruang daripada ruang alamat 32-bit. Itu 17.179.869.184 GiB.

Jelas, transisi dari 8 bit ke 16 bit cukup cepat (Saya melihat segala sesuatu dengan cara remaja-selama-80-an, mengabaikan semua mainframe dan mini karena mereka tidak dapat menjalankan port Elite). Transisi dari 16 bit ke 32 bit butuh waktu lebih lama, dan 32 bit sebenarnya bertahan cukup lama.

Sekarang kita memiliki 64 bit, apakah akan bodoh untuk mengatakan "17.179.869.184 GiB harus cukup untuk siapa pun"?

Ini adalah pertanyaan programmer karena saya benar-benar memiliki sudut pandang pemrograman dalam pikiran. Bahkan jika suatu hari komputer memiliki jumlah memori kerja yang tampaknya tak terbatas, itu tidak berarti bahwa aplikasi perlu melihat ruang alamat datar yang tampaknya tak terbatas.

Pada dasarnya, bisakah kita programmer mendesah lega dan berkata "baiklah, apa pun bilangan bulat atau mengapung, setidaknya saya tidak perlu khawatir tentang pointer saya tumbuh lagi?".

Steve314
sumber
11
Berapa banyak data yang dihasilkan LHC setiap hari?
Peter Taylor
7
Prosesor 8-bit sebenarnya memiliki ruang alamat 16-bit - maka "transisi cepat" :-)
Neil Butterworth
1
Untuk memberikan beberapa konteks, ruang alamat 128bit menyediakan alamat sebanyak mungkin karena ada bintang di alam semesta yang dapat diamati atau setengah dari atom di galaksi kita (dalam beberapa urutan besarnya).
Rein Henrichs
5
@Rein: Dengan kata lain, tidak cukup. Bagaimana kita bisa mensimulasikan alam semesta dengan alamat memori yang tidak cukup bahkan untuk setengah atom hanya di galaksi kita sendiri. amiright
quentin-starin
7
Saya pikir ini bisa dijawab dengan mudah; Star Trek Holodeck. Cukup kata.
Dunk

Jawaban:

27

Saya tidak berpikir kita akan memiliki mesin dengan lebih dari 2 ^ 64 byte RAM di masa mendatang, tapi itu tidak semua ruang alamat berguna untuk.

Untuk beberapa tujuan, penting untuk memetakan hal-hal lain ke dalam ruang alamat, file menjadi contoh penting. Jadi, apakah masuk akal untuk memiliki lebih dari 2 ^ 64 byte dari segala jenis penyimpanan yang terpasang ke komputer di masa mendatang?

Saya harus mengatakan ya. Harus ada lebih dari 2 ^ 64 byte penyimpanan di luar sana, karena itu hanya sekitar 17 juta orang dengan hard disk terabyte. Kami telah memiliki beberapa database petabyte selama beberapa tahun sekarang, dan 2 ^ 64 hanya sekitar 17 ribu petabyte.

Saya pikir kita cenderung menggunakan ruang alamat> 2 ^ 64 dalam beberapa dekade mendatang.

David Thornley
sumber
4
Ini membuat saya berpikir tentang pengalamatan datar untuk mengatasi byte penyimpanan yang tersedia di internet. Saya pikir saya mendengar sesuatu tentang sistem operasi yang menyediakan pengalamatan datar semua penyimpanan pada sistem (tidak perlu memetakan file ke dalam memori - mereka sudah ada di sana). Membuat alamat IP menjadi bagian dari alamat memori Anda tentu akan membutuhkan lebih dari 64 bit - IPv6 sudah membutuhkan 128 bit hanya untuk alamat itu. Akan ada sejumlah besar redundansi di ruang alamat, tapi itu masih masuk akal.
Steve314
2
Iya nih. Itu akan menyederhanakan hidup jika Anda memetakan semua drive & file Anda ke ruang alamat. Banyak sekali kode yang berkaitan dengan memanipulasi file pada disk akan jauh lebih mudah jika Anda hanya memiliki pointer ke seluruh file. Segmen: arsitektur offset akan ideal untuk hal semacam ini.
Loren Pechtel
Ini mengasumsikan bahwa setiap byte dari semua perangkat penyimpanan massal akan langsung dialamatkan.
vartec
2
@ steve314: Anda sedang memikirkan konsep toko tingkat tunggal , yang dipelopori oleh IBM S / 38. Hal-hal yang menarik, tetapi saya pikir akan sulit untuk mengintegrasikannya dengan sistem saat ini.
TMN
1
@ TMN: yah, IBM i (alias i5 / OS, alias OS / 400) masih menggunakannya dan bisa dibilang masih salah satu dari "sistem saat ini".
Joachim Sauer
16

Kecuali jika komputer mulai menggunakan beberapa teknologi terobosan yang belum ada bahkan di laboratorium, memiliki lebih dari 2 64 ruang yang dapat dialamatkan secara fisik tidak mungkin dilakukan dengan teknologi silikon saat ini . Teknologi ini mencapai batas fisik . Batas kecepatan (GHz) telah mencapai beberapa tahun yang lalu. Batas miniaturisasi juga sangat dekat. Saat ini teknologi paling maju dalam produksi adalah 20nm, di laboratorium 4nm dengan transistor yang terbuat dari 7 atom.

Singkatnya, berapa lama waktu yang dibutuhkan untuk mengembangkan teknologi baru: komputer saat ini didasarkan pada transistor yang diciptakan pada tahun 1925, dan teknologi silikon saat ini berasal dari tahun 1954.


Adapun teknologi alternatif:

  • komputasi optik - dapat memberikan peningkatan kecepatan komputasi, tetapi tidak menyelesaikan masalah miniaturisasi untuk penyimpanan;
  • komputasi kuantum - untuk digunakan sepenuhnya, akan membutuhkan paradigma pemrograman yang sama sekali baru, jadi jika pointer 64- atau 128-bit adalah yang paling Anda khawatirkan. Juga keterbatasan fisik yang sama pada miniaturisasi berlaku untuk teknologi ini;
  • Komputasi DNA - ini adalah mainan konsep-bukti, yang dirancang untuk memecahkan satu kelas masalah tertentu. Tidak layak untuk penggunaan kehidupan nyata. Untuk mendapatkan perhitungan yang pada PC normal akan dilakukan di bawah satu detik, akan membutuhkan DNA-tank seukuran Samudera Pasifik dan beberapa ribu tahun. Karena itu adalah proses biologis yang alami, tidak ada cara untuk mengecilkan atau mempercepatnya.
vartec
sumber
4
Jadi pada dasarnya, Anda mengatakan tidak akan ada terobosan teknologi lagi? Kami akan terjebak dengan teknologi silikon selamanya. Hal-hal baru yang radikal seperti komputasi kuantum atau komputer DNA akan tetap dalam penelitian selamanya. Apakah Anda benar-benar percaya itu?
nikie
2
@nikie: komputer kuantum bukanlah sihir. Mereka masih menggunakan atom. Mereka masih dibatasi oleh fisika. Komputer DNA? Apakah kamu serius??? Ini sama sekali tidak berguna selain menjadi bukti konsep.
vartec
4
@Thor: baik, secara fisik tidak mungkin untuk menempatkan manusia di Bulan pada tahun 2011 juga.
vartec
7
Kenapa -1? Ringkasan ini memiliki landasan yang sangat kuat. 2 ^ 64 adalah angka yang sangat, sangat, sangat besar. Ini bukan 2 ^ 32 * 2, ini jauh lebih besar, dan 2 ^ 128 cukup gila. Butuh banyak waktu untuk melakukannya for(unsigned __int128 i=0; i<2^128; i++){}. Dengan teknologi saat ini tidak ada banyak penggunaan bilangan bulat 128 bit. Selain mungkin kembali ke ruang alamat yang tidak terlindungi, karena secara tidak sengaja menginjak memori aplikasi lain dalam ruang alamat 128 bit akan sangat mustahil untuk dilakukan, bahkan jika Anda menulis ke alamat acak secara acak.
Coder
2
@nikie: Komputer kuantum tidak relevan dengan diskusi ini, karena menggunakan model memori saat ini (yang menjadi subjek di sini) pada komputer kuantum mengalahkan seluruh tujuan mereka. Oh, dan ya, komputer DNA tidak akan pernah bisa digunakan. Ini seperti menggunakan automata seluler sebagai dasar untuk model eksekusi.
back2dos
15

Komputer super Thorbjoern yang terhubung memiliki sekitar 2 ^ 47 B memori fisik.
Dengan asumsi Hukum Moore berlaku untuk memori komputer super, itu akan menjadi 2 ^ 64 B memori fisik hanya dalam 34 tahun. Ini seperti "OMG, kita akan hidup untuk melihat itu !!!!". Mungkin. Dan memang, itu menarik. Tapi sama tidak relevannya.

Pertanyaannya adalah, apakah saya perlu ruang alamat 128 bit untuk menggunakan memori fisik 2 ^ 65 B?
Jawabannya adalah TIDAK . Saya perlu ruang alamat 128 bit untuk mengatasi 2 ^ 65 B memori virtual dari satu proses .

Itu adalah poin kunci dari pertanyaan Anda, "Apakah aplikasi dunia nyata akan membutuhkan ruang alamat datar 128-bit ?". " Perlu ", tidak sepenuhnya, Anda bisa bertahan dengan lebih sedikit, membuat ruang alamat dipetakan (tidak datar); tapi kemudian Anda tidak akan memiliki "ruang alamat 128-bit datar".

Sebagai contoh, anggaplah Anda ingin memberikan atom pada alamat fisik memori Bumi (untuk alasan apa pun, sebagian besar untuk memberikan contoh sederhana ini ), mulai dari nol dan terus menghitung (kembalilah kepada saya ketika Anda selesai). Sekarang orang lain ingin melakukan hal yang sama pada Kepler-10c (yang berjarak 568 detik).

Anda tidak ingin bentrokan alamat sehingga orang lain mengalokasikan alamat memori tinggi di ruang memori datar yang tersedia, yang memungkinkan Anda, mereka, dan orang-orang berikutnya untuk ditangani secara langsung , tanpa memetakan memori. Jika Anda tidak akan melakukan itu atau bisa bertahan tanpa hubungan satu-ke-satu antara memori Anda dan alamatnya (Anda bersedia menerapkan array jarang) maka Anda bisa bertahan dengan memori 64 bit yang sangat sedikit, atau kurang.

Setiap kali seseorang mengusulkan " X jumlah Y akan cukup " prediksi seperti itu sering kali berumur pendek.

Jadi pertanyaannya adalah: Seberapa cepat kita akan memiliki satu proses , yang menggunakan 2 ^ 65 B memori. Saya harap tidak pernah.

Masalah besar waktu kita adalah bahwa kekuatan pemrosesan satu CPU terbatas. Ada batas dalam ukuran yang ditentukan oleh ukuran atom, dan untuk ukuran tertentu, ada batas dalam laju jam, yang diberikan oleh kecepatan cahaya, kecepatan di mana informasi tentang perubahan medan magnet disebarkan di alam semesta kita.
Dan sebenarnya, batas tersebut telah dicapai beberapa tahun yang lalu dan kami telah menetapkan pada tingkat jam di bawah sebelumnya. Kekuatan CPU tidak akan lagi naik secara linear. Kinerja sekarang ditingkatkan melalui eksekusi yang tidak sesuai pesanan, prediksi cabang, cache yang lebih besar, kode op yang lebih banyak, operasi vektor dan yang tidak. Telah ada optimasi arsitektur .
Dan ide penting adalah paralelisasi. Masalah dengan paralelisasi adalah, itu tidak meningkat. Jika Anda menulis kode lambat 20 tahun yang lalu, itu bekerja jauh lebih cepat 10 tahun yang lalu. Jika Anda menulis kode lambat sekarang, itu tidak akan jauh lebih cepat dalam 10 tahun.

Proses yang menggunakan memori 2 ^ 65 B adalah tanda kebodohan maksimal. Ini menunjukkan, bahwa belum ada optimasi arsitektur . Untuk memproses data ini secara masuk akal, Anda memerlukan sekitar 10 juta core, yang sebagian besar akan menghabiskan waktu menunggu sumber daya tersedia, karena core yang benar-benar memperoleh sumber daya tersebut menggunakan memori fisik melalui ethernet pada mesin yang sama sekali berbeda. Kunci untuk menangani masalah besar dan kompleks adalah menguraikannya menjadi masalah kecil yang sederhana dan tidak membangun sistem yang semakin besar dan semakin kompleks. Anda perlu partisi horizontal, ketika berhadapan dengan sh * tload data.

Tetapi bahkan dengan asumsi, kegilaan ini harus berlanjut, yakinlah 128 bit sudah cukup :

  • Bumi memiliki sekitar 8,87e + 49 atom , yaitu 2 ^ 166 atom yang kita miliki .
  • Mari kita asumsikan harganya 2 ^ 20 atom untuk menampung satu bit. Ini termasuk juga semua kabel dan plastik serta daya yang menyertainya. Anda tidak bisa hanya membuang transistor ke dalam kotak dan menyebutnya komputer. Jadi 2 ^ 20 tampaknya agak optimis.
  • Untuk menggunakan ruang alamat 128 bit, kita membutuhkan 2 ^ 133 bit, jadi 2 ^ 152 atom yang kita butuhkan . Dengan asumsi distribusi atom yang sama di bumi, Mari kita lihat berapa banyak kerak yang harus kita ambil untuk mendapatkannya:

    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
    

    Jadi Anda harus menempuh jarak 130 meter di seluruh permukaan (termasuk 80% air, pasir, atau es). Itu tidak akan terjadi. Bahkan dengan asumsi Anda dapat menggali (lol) dan semua hal ini cocok untuk diproses menjadi keripik, di mana Anda akan mendapatkan energinya?

back2dos
sumber
8
Di sisi lain Anda akan membutuhkan komputer yang sangat besar untuk melakukan penilaian dampak lingkungan untuk menambang seluruh planet jadi mungkin itu akan membenarkan dirinya sendiri (mendapatkan sedikit Hitch Hikers di sini)
Martin Beckett
2
Satu bit = 10 ^ 6 atom. Seluruh Bumi = 10 ^ 50 atom. Seluruh alam semesta = 10 ^ 80 atom. Notasi eksponensial luar biasa! :-)
Konamiman
2
Intinya bukan untuk menggunakan seluruh ruang alamat 128-bit, tetapi untuk menggunakan ruang alamat 64-bit. Jadi pada titik apa kita memerlukan satu bit pengalamatan ekstra di luar 64 bit? Berapa banyak ruang fisik (molekul) yang dibutuhkan untuk 2 ^ 65 byte?
David R Tribble
1
Jadi Anda mengatakan bahwa arsitektur memori 128-bit fisik memerlukan kemampuan manufaktur skala planet ?
Indolering
Transistor atom tunggal telah dirancang. Bagaimana Anda mencapai atom 2 ^ 20 (sekitar satu juta) per bit? en.wikipedia.org/wiki/5_nanometer
JimmyJames
8

Yah, kita pasti bisa menggunakan ruang alamat yang besar.

Bayangkan ini:

  1. Ruang alamat tidak terbatas pada satu komputer. Sebaliknya, alamat secara unik mengidentifikasi sel memori dalam ruang alamat universal. Jadi Anda dapat memiliki pointer ke sel memori di komputer mana pun di dunia. Perlu ada beberapa protokol untuk mengaktifkan pembacaan dari memori jauh, tetapi itu adalah detail implementasi. :-)

  2. Memori adalah Write Once, Read Many, artinya Anda hanya dapat menulis data ke alamat memori satu kali. Untuk nilai yang bisa berubah, Anda harus mengalokasikan sepotong memori baru setiap kali itu berubah. Kami para pemrogram telah mulai melihat kelebihan dari kekekalan dan memori transaksional, jadi desain perangkat keras yang bahkan tidak memungkinkan memori ditimpa mungkin bukan ide yang mustahil.

Gabungkan kedua ide ini, dan Anda akan membutuhkan ruang alamat yang sangat besar.

Martin Vilcans
sumber
Dan mengapa Anda perlu mengatasi setiap byte dari setiap komputer di dunia? (Saya berasumsi bahwa Anda bukan NSA.)
David R Tribble
karena kita akan membangun tuan rumah hivemind AI yang tersebar dunia untuk membawa kita pada keselamatan tentu saja!
sara
7

Semakin banyak komputer yang mampu, semakin banyak masalah kompleks yang diminta untuk mereka atasi.

Superkomputer terbesar yang terdaftar di top500.org adalah http://www.top500.org/system/10587 dengan sekitar 220 Tb RAM dan 180000 core. Dengan kata lain, itulah yang bisa digunakan "aplikasi kehidupan nyata" pada platform ini.

Komputer hari ini sekuat superkomputer 10-15 tahun yang lalu (meskipun kekuatan komputasi mungkin tersembunyi di kartu grafis Anda).

Jadi faktor 100 dalam memori dalam 10-15 tahun akan berarti bahwa ruang alamat 64 bit akan menjadi faktor pembatas dalam sekitar 100 tahun (karena log (100 juta) / log (100) sekitar 6) jika tren saat ini berlaku.

pengguna1249
sumber
catatan: matematika belum diverifikasi, mungkin cukup.
17
itu seperti prediksi dari tahun 1800-an, bahwa jika lalu lintas tumbuh begitu banyak, seluruh kota akan ditutupi oleh gunung kotoran kuda :-P
vartec
1
220 GB tidak banyak hari ini. Ada server dengan RAM 256 GB. 180000 core? Nah, itu sesuatu :). Saya hanya menunjukkan ini karena perhatian utama OP adalah ukuran RAM.
Tamás Szelei
1
@ vartec, hanya menunjukkan bahwa ekstrapolasi buta mungkin tidak valid. Hal yang sama di sini.
6
Tamas benar: Di tautan yang Anda berikan, dinyatakan "229376 GB", yang akan lebih seperti 220 TB. Juga, dengan asumsi 4MB L2 cache per core, 180K core sudah memiliki cache L2 720 GB;)
back2dos
5

Seluruh utas ini cukup lucu untuk dibaca, pendapat yang sangat kuat untuk dan melawan ...

Sini sesuatu ..

Saya mengerti dari pertanyaan bahwa itu adalah teknologi agnostik dan tidak terikat oleh waktu. Dengan demikian perkembangan saat ini dalam silikon, komputer kuantum atau Infinite Monkey Peddling Abacus pada dasarnya tidak relevan.

Perhitungan dan ekstrapolasi juga cukup lucu, meskipun jawaban dari back2dos bekerja cukup baik untuk menggambarkan ukuran semata-mata dari apa yang angka ini wakili. jadi mari kita bekerja dengan itu.

Tempatkan pikiran Anda di masa depan di mana manusia tidak lagi terikat pada batas planet kecilnya, alat transportasi yang realistis dikembangkan untuk memungkinkan transportasi jarak yang sangat jauh dan struktur sosial (ekonomi, politik dll) telah berevolusi untuk melampaui generasi. Proyek-proyek firaun mencakup telah menjadi tempat umum. Mari kita fokus pada dua aspek dari visi masa depan yang belum jelas ini, jika seseorang ingin menghabiskan waktu untuk menjelaskan setiap detail. Saya cukup yakin seseorang dapat merasionalisasi semua itu melalui serangkaian evolusi yang masuk akal pada teknologi saat ini. Dengan kata lain masa depan yang masuk akal, meskipun tidak mungkin ...

Proyek pertama yang disebut Colossus dalam memori komputer elektronik pertama karena itu adalah komputer planet pertama. Colossus Brotherhood memang menemukan cara untuk menangkap planetoid kecil dan mengubahnya menjadi komputer yang berfungsi. Baru-baru ini ditemukan di sabuk Kuyper yang sangat kaya akan isotop yang melebur sehingga membuatnya sangat otonom, mereka membuat proses konstruksi benar-benar otonom dengan probe, robot, dll membuat sistem komputer memperbaiki sendiri dan membangun sendiri. Dalam kondisi ini dapat dibayangkan bahwa ruang alamat 2 ^ 64 agak terbatas untuk proyek ini karena mereka ingin mendapatkan ruang alamat terus menerus untuk dengan mudah port aplikasi yang sudah ada untuk proyek lain juga sedang berlangsung.

Proyek lain lebih merupakan percobaan dalam jaringan daripada sistem fisik, namun, dengan cepat menunjukkan bahwa ruang alamat yang lebih besar diperlukan. 540 tahun yang lalu seorang peretas muda bermain-main dengan ide menciptakan jaring bot raksasa. Internet telah meluas hingga mencakup koloni-koloni yang baru lahir di sekitar tata surya yang membangun kemajuan besar yang dibuat dalam kekuatan fusi. Idenya pada dasarnya adalah untuk memiliki sedikit bot yang tersebar di seluruh jaringan tetapi muatannya ditakdirkan untuk menyediakan mesin virtual terpadu di mana kode akan ditulis dengan asumsi semua kekuatan semua bot digabungkan. Upaya besar dimasukkan ke dalam kompiler dan penyebaran yang berusaha mengoptimalkan kelambatan dan algoritme canggih yang dirancang untuk memperhitungkan ketidakterandalan yang melekat dari medium yang mendasarinya. Bahasa ditulis khusus untuk menargetkan yang baru ini " hacker kami malah menciptakan perusahaan payung dan menjual daya komputasi kepada penawar tertinggi. Ketika dia meninggal dia menyumbangkan botnet ini dan semua teknologi untuk yayasan. Pada saat itu botnet sudah berjalan selama 64 tahun dan sudah melampaui ruang alamat 2 ^ 64 beberapa waktu yang lalu menghancurkan prakonsepsi berusia 1000 tahun bahwa kita tidak akan pernah membutuhkan ruang alamat yang lebih besar. Saat ini 2 ^ 128 adalah norma dan apa yang akan digunakan untuk Colossus tetapi sudah ada rencana untuk memperluas ini menjadi 2 ^ 256. hacker kami malah menciptakan perusahaan payung dan menjual daya komputasi kepada penawar tertinggi. Ketika dia meninggal dia menyumbangkan botnet ini dan semua teknologi untuk yayasan. Pada saat itu botnet sudah berjalan selama 64 tahun dan sudah melampaui ruang alamat 2 ^ 64 beberapa waktu yang lalu menghancurkan prakonsepsi berusia 1000 tahun bahwa kita tidak akan pernah membutuhkan ruang alamat yang lebih besar. Saat ini 2 ^ 128 adalah norma dan apa yang akan digunakan untuk Colossus tetapi sudah ada rencana untuk memperluas ini menjadi 2 ^ 256.

Saya mungkin bisa datang dengan skenario yang lebih masuk akal yang menggambarkan bahwa ya ... sangat mungkin, bahkan hampir pasti, bahwa suatu hari kita akan memerlukan ruang alamat yang lebih besar dari ini.

Yang mengatakan namun saya tidak berpikir saya akan kehilangan tidur, jika aplikasi Anda memerlukan ruang alamat tertentu untuk bekerja dengan benar maka kemungkinan besar itu akan hidup dalam VM yang memberikan semua yang dibutuhkan ...

Demikian ... jawaban singkat ...

YA, Kemungkinan besar

tapi

Mengapa tidak berurusan dengan ini ketika masalah muncul ... Secara pribadi saya tidak pernah membuat asumsi dalam program saya sehingga tidak pernah mendapatkan kejutan.

Newtopian
sumber
2
Saya terhibur pada tingkat detail dalam contoh fiktif Anda. Apakah Anda menulis cerita pendek di suatu tempat?
Christopher Bibbs
2

Lokasi alamat memiliki biaya logaritmik berkenaan dengan lebar alamat sehingga kami dapat mempertimbangkan batas atas berdasarkan parameter yang dimaksud:

64-bit untuk partikel pasir di bumi = 7.5x10 ^ 18
128-bit untuk bintang di alam semesta yang dapat diamati = 10 ^ 24
256-bit untuk partikel di bumi = 10 ^ 50
512-bit untuk partikel di alam semesta yang dapat diamati = 10 ^ 82
1024 -bit untuk panjang papan kubik di alam semesta yang dapat diamati = 4,65 × 10 ^ 185

  • The sparsity diperkenalkan untuk hashing, keamanan, dan pengindeksan

6.6106 ... × 10 ^ 122-bit untuk kemungkinan konfigurasi partikel di alam semesta teramati = 10 ^ (10 ^ 122)

Kita dapat mengasumsikan konfigurasi yang mungkin sebagai batas atas untuk alamat memori konstruktif terbesar yang mungkin secara fisik.

Timothy Swan
sumber
Untuk menghitung lebar yang diperlukan untuk alamat n , ketik ini ke wolfram alpha: 2 ^ ceil (log2 (log2 ( n )))
Timothy Swan
1
Anda benar bahwa mungkin berguna untuk memiliki ruang alamat yang sangat redundan di mana sebagian besar alamat tidak merujuk pada apa pun, seperti pada hashing Anda dll, tapi saya pikir seseorang bahkan menyarankan penyandian URL ke alamat virtual mesin (bukan hanya sebuah hash dari mereka), jadi sungguh, tidak ada batas atas pada seberapa boros / berlebihan beberapa skema pengalamatan virtual masa depan berpotensi. Bukan berarti meng-encode data ke dalam alamat (yang bertentangan dengan mencarinya di tabel yang berpotensi dilindungi bila diperlukan) tentu saja merupakan ide yang bagus.
Steve314
0

Yah, saya pikir bahwa untuk beberapa tahun yang akan datang Anda mungkin bisa menarik napas lega. Jika Anda melihat kecepatan inovasi dalam perangkat keras, dapat diamati bahwa selama beberapa tahun terakhir tidak ada terobosan signifikan yang terjadi. CPU dengan frekuensi 2,x GHz telah ada untuk sementara waktu sekarang dan setiap peningkatan daya pemrosesan saat ini berasal dari pengepakan lebih banyak core pada chip. Kapasitas drive masih naik, tetapi tidak pada kecepatan yang sama dengan 10 tahun yang lalu.

Saya pikir teknologi kami saat ini mendekati batas fisika.

Apa artinya itu untuk masa depan? Saya pikir bahwa untuk mendapatkan lompatan kuantum baru dalam pemrosesan informasi, sepenuhnya teknologi baru harus digunakan. Teknologi ini kemungkinan akan menggunakan "perangkat lunak", meskipun mungkin dalam konteks yang sangat asing dengan sekarang. Dan siapa yang tahu apa persyaratan ruang alamat yang mereka miliki atau dapat berikan? Atau apakah address space bahkan merupakan konsep yang bermakna dalam teknologi itu?

Jadi jangan pensiun dulu.

wolfgangsz
sumber
kecepatan cpu adalah konsep yang agak berbeda dari ukuran memori.
Saya tidak yakin Anda dapat menarik kesimpulan bahwa karena kecepatan prosesor tidak naik banyak dalam beberapa tahun terakhir ada hubungannya dengan mendekati batas fisika. Ini adalah fakta bahwa CPU multicore telah menjadi kemarahan selama beberapa tahun terakhir dan bisa jadi produsen CPU menginvestasikan uang mereka pada bagaimana cara terbaik memanfaatkan semua prosesor bersama daripada menghabiskan uang mereka untuk perbaikan clocking. Bahkan perusahaan besar memiliki batasan pada dolar R&D mereka. Kapasitas drive IMO masih naik cukup cepat. Baru saja melihat drive 3 TB seharga $ 140.
Dunk
0

Ya akan ada. (Game? Hal-hal yang berhubungan dengan Kecerdasan Buatan?)

Namun, pertanyaan yang lebih tepat adalah apakah itu akan diperhitungkan oleh programmer biasa. Pikirkan bagaimana Ruby secara otomatis mengkonversi angka dari FixNum ke BigNum dan kembali ketika diperlukan. Saya akan terkejut jika bahasa lain (setidaknya yang dinamis) pada akhirnya tidak melakukan hal yang sama.

Denis de Bernardy
sumber
1
Oh ya. sial ya. Saya ingin memainkan permainan yang sangat keren, ia harus menggunakan aritmatika 128 bit !!!!!!!!!
Chani
1
Duke Nukem Forever Rev 2.0? Atau Madden Football 2025?
John R. Strohm
0

Menyimpan jumlah informasi ini adalah satu hal dan melakukan sesuatu yang bermanfaat dengannya adalah hal lain. Dari sudut pandang saya, saya melihat tidak perlu untuk penyimpanan ini kecuali kita memiliki kekuatan pemrosesan untuk menggunakannya. Mungkin caching basis data besar adalah satu hal tetapi untuk pemrosesan numerik saya pikir kita perlu prosesor terlebih dahulu.

Gus
sumber
0

Akankah aplikasi membutuhkan banyak memori? Cukup mungkin. Aplikasi seperti ramalan cuaca, simulasi fisik secara umum atau kriptografi mungkin akan selalu mendapat manfaat dari lebih banyak memori dan lebih banyak kekuatan pemrosesan. Dan siapa yang tahu apa aplikasi pembunuh dalam 50-100 tahun ke depan? Menampilkan holografik? Tabel pelangi untuk setiap kemungkinan kata sandi 100 karakter?

Apakah mungkin secara fisik untuk mewakili memori sebanyak itu? Sangat mungkin. Sebagai contoh, komputer kuantum 100-qubit dapat mewakili jumlah status yang sama dengan komputer klasik 2 ^ 100 bit. Jauh lebih dari 2 ^ 67 bit ruang alamat yang kita miliki sekarang. (Saya tahu, komputer kuantum 100 qubit kedengarannya seperti fiksi ilmiah. Saya tidak yakin itu akan mungkin untuk membangun satu. Tetapi di sisi lain, hal yang sama mungkin bisa dikatakan tentang teknologi apa pun yang akan digunakan 50 atau 100 tahun dari sekarang.)

Tetapi saya sangat ragu bahwa "ruang alamat datar" akan menjadi kekhawatiran utama saat itu. Mungkin kita akan mengembangkan algoritma kuantum saat itu, di mana konsep "ruang alamat" tidak masuk akal. Bahkan jika komputer tetap "klasik" kita mungkin harus berurusan dengan sejumlah unit pemrosesan menakutkan dengan memori tidak seragam yang menyertainya.

nikie
sumber
"Komputer kuantum 100-qubit dapat mewakili jumlah status yang sama dengan komputer klasik 2 ^ 100 bit." Itu sebenarnya bukan cara kerja qubit. Komputer 100-qubit dapat mewakili jumlah status yang sama dengan komputer 100-bit. Perbedaannya adalah bahwa komputer 100-qubit dapat mewakili superposisi dari semua status tersebut pada satu saat. Hal lain tentang qubit adalah ketika Anda membacanya, Anda hanya akan mendapatkan satu jawaban dan itu akan sepenuhnya acak.
JimmyJames
@ JimmyJames: Tepat. Jadi jika Anda ingin merepresentasikan informasi yang sama dengan komputer kuantum 100-qubit pada saat yang sama di komputer klasik (misalnya untuk mensimulasikannya), Anda akan membutuhkan lebih dari 100 bit. Itu yang aku katakan. (Atau maksudnya, bagaimanapun.)
nikie
Sekali lagi, itu bukan cara kerjanya. Register 2-bit dapat mewakili 4 nilai. Register 2-qubit dapat mewakili 4 nilai. Keduanya mampu mewakili kisaran nilai yang sama. Register qubit dapat mewakili semua 4 pada saat yang sama. Itulah bedanya.
JimmyJames
@ JimmyJames: Itu seperti mengatakan register "klasik" 2bit dapat mewakili 2 nilai, tetapi pada saat yang sama. Pikirkan seperti ini: Jika Anda ingin mensimulasikan komputer kuantum dalam komputer klasik, berapa banyak bit yang Anda perlukan untuk menyimpan keadaan penuh komputer kuantum 2-qubit kapan saja t ?
nikie
Saya mengerti tetapi saya tetapi apa yang Anda lewatkan adalah Anda tidak dapat mengambil nilai tertentu dari qubit. Yaitu, diberi qubit dalam superposisi, ketika dibaca, Anda akan mendapatkan 1 atau 0 tetapi Anda tidak dapat mengambil kedua nilai karena dekoherensi: en.wikipedia.org/wiki/Quantum_decoherence
JimmyJames
0

Apa yang akan terjadi jika setiap lokasi memori memiliki alamat unik secara global?

  • Protokol jaringan bisa menjadi jauh lebih sederhana.
  • Objek terdistribusi akan menarik - semua objek bisa ada di ruang memori yang sama.
  • Mungkin kita akan beralih ke memori "tulis sekali" dan sertakan waktu sebagai bagian dari struktur alamat. Anda bisa membaca objek yang ada di masa lalu.
  • Semua penyimpanan sekunder akan langsung dialamatkan. Selamat tinggal FILE, fopen()dll
  • Anda bisa ditangkap karena menulis ke pointer yang buruk dan menyemprot mesin orang lain.
  • Siswa harus diskrining sebelum mengambil kelas CS pertama mereka: sangat sedikit orang yang dapat menahan Total Perspektif Vortex .
Caleb
sumber
0

Hanya "berpikir keras" di sini, tetapi terpikir oleh saya bahwa seseorang dapat melakukan hal-hal semantik yang menarik dengan 64 bit yang tersisa pada, katakanlah, komputer 128 bit. Lih cara IP bekerja.

Saya yakin orang-orang bisa menggunakan hal-hal yang menyenangkan untuk hal seperti ini. :) Adakah yang tahu untuk apa PS3 menggunakan alamat 128 bitnya? Tentunya Anda tidak akan menyia-nyiakan semua memori ekstra (dan saya berbicara hanya tentang memori untuk alamat yang sebenarnya, bukan apa yang menunjuk ke alamat tersebut). Alamat sebagai data. Anda bahkan dapat menyandikan cabang di alamat itu sendiri ... yaitu, 0x [ifAddress] [elseAddress] Sistem multi-core mungkin mendapat manfaat dari jenis segmentasi ini juga. Dan dan...

sangat bodoh
sumber
0

Apakah ada alasan untuk melampaui arsitektur 64 bit? (18.444.744.073.709.551.615 byte memori beralamat)

Menggunakan standar IEEE 1541-2002 mengenai penggunaan awalan untuk kelipatan biner dari unit pengukuran yang terkait dengan elektronik digital dan komputasi, kita melihat bahwa:

1 Byte = 8 Bit, 1 Kilobyte = 1024 Bytes, 1 Megabyte = 1024 KB, 1 Gigabyte = 1024 MB, 1 Terabyte = 1024 GB, 1 Petabyte = 1024 TB, 1 Exabyte = 1024 PB

Dan seterusnya untuk Zettabyte, Yottabyte, Xenottabyte, Shilentnobyte, Domegemegrottebyte, Icosebyte, dan Monoicosebyte.

Total penyimpanan drive Earth diperkirakan sekitar 2.500 Exabytes pada 2016.

Register 64 bit dapat mengakses 15 Exabytes memori secara langsung. Register 128 bit dapat langsung mengakses 3,40282367 × 10 ^ 35 Zettabytes. Atau 295.147.905.247.928.000 Monoicosebytes.

Jadi kita dapat melihat bahwa register 128 bit akan berada dalam posisi yang baik untuk mengakses semua memori Bumi, semua yang pernah dikirim di internet, setiap kata yang pernah diucapkan atau ditulis, setiap film, dan banyak lagi, untuk beberapa waktu ke depan .

Jadi jawabannya adalah ya , sambil menunggu kerangka kerja yang dapat menunjuk ke hal digital apa pun yang pernah atau akan pernah ada .

Sean Vikoren
sumber
0

Perkiraan terbaik yang dapat saya temukan untuk jumlah neuron dalam otak manusia rata-rata adalah sekitar 86 miliar. Kami tidak dapat secara langsung membandingkan RAM dengan neuron secara umum tetapi dalam jaringan saraf Anda bisa. Dibutuhkan sejumlah alamat untuk mewakili keadaan neuron atau sinaps. Jadi saya akan mengeluarkan dugaan liar dan mengatakan kita melihat sesuatu seperti trilyun alamat untuk membuat jaringan saraf yang dapat dibandingkan dengan otak manusia. Jadi jika itu bisa dilakukan, saya tidak melihat mengapa itu tidak akan lebih jauh dari itu. Jenis-jenis masalah yang mungkin dapat direnungkan oleh jaringan semacam itu akan berada di luar kemampuan kita untuk memahami dan juga mengapa mereka harus sedemikian besar untuk melakukannya.

JimmyJames
sumber
0

Ini ruang alamat. Katakanlah kita mengubah standar C sehingga realloc tidak diizinkan untuk mengubah pointer yang digunakan. Saya dapat mengalokasikan 2 ^ 33 blok memori hari ini (akan membutuhkan 192GB RAM pada Mac saya, 8 miliar kali 8 byte pointer dan 16 byte dialokasikan ruang, jadi saya tidak bisa melakukan ini sekarang, tapi saya bisa membeli Mac yang bisa melakukan tanpa mengambil hipotek baru).

Dan saya dapat merealokasi salah satu pointer ini untuk menampung 2 ^ 33 byte. Namun tidak banyak pada saat yang sama :-) Jika realloc tidak memungkinkan pointer bergerak, dan 2 ^ 33 byte diizinkan, pointer asli harus terpisah 2 ^ 33 byte, artinya diperlukan memori 2 ^ 66 byte.

gnasher729
sumber
-1

Tentu, saya tidak melihat alasan mengapa jumlah ruang itu tidak diperlukan di masa depan. Jika Anda mempertimbangkan pengembangan game, tidak ada batasan seberapa realistis atau rumitnya sebuah game dapat dibuat, bukan? (Detail grafik / jumlah poligon yang digunakan dan algoritma yang mendefinisikan interaksi dan perilaku objek)?

Siapa tahu, dalam waktu 10 tahun kita mungkin akan bermain game 10TB dengan persyaratan minimal ram 12GB dan prosesor 8 inti. : P

Anonim
sumber
Tidak ada batasan untuk detail. Tetapi ada batasan untuk silikon.
Billy ONeal
-1

20 tahun lalu, ada 2 miliar lebih sedikit orang di planet ini dan sebagian besar sistem komputer memiliki memori yang dapat dialamatkan yang dapat diukur dalam kilobyte. Saat ini, populasi dunia meningkat pada tingkat yang sama dan jumlah pengguna komputer meningkat secara eksponensial setiap tahun.

Memang benar bahwa sangat sedikit sistem yang membutuhkan ruang alamat 64 byte penuh. Namun, beberapa sistem menyimpan terabyte informasi setiap hari. Ini dimungkinkan karena peningkatan pengguna komputer dan kecepatan internet. Kami sudah dapat mendukung kecepatan internet 10 GB / s setelah hanya 23 tahun setelah HTTP ditemukan. Pada tingkat ini saya pikir bodoh untuk tidak mengharapkan 1 TB / s atau kecepatan internet yang lebih tinggi dalam 50 tahun. Ketika kita semua dapat memindahkan data secepat ini, akan ada lebih banyak data yang akan disimpan sementara lebih banyak orang akan ada untuk menyimpan data ini dan hampir tidak dapat dihindarkan bahwa akan ada transisi meluas ke sistem 128 bit, dan akhirnya 256 dan 512 bit.

Andrew Katz
sumber
Anda benar dalam semua hal, namun Anda melewatkan poin saya. Industri komputasi berusia kurang dari 100 tahun dan jika terus tumbuh seperti yang terjadi selama beberapa dekade terakhir, tidak hanya akan bodoh untuk mengasumsikan bahwa kita telah mencapai batas kita pada titik waktu ini tetapi juga mengabaikan permintaan. dari masa depan. Address space bukan satu-satunya alasan mengapa kita membutuhkan arsitektur 64 bit. Set instruksi dapat tumbuh begitu besar dan lebar pointer 128 bit lebih efisien dan disukai. Manfaat lain adalah ruang registri CPU yang beralih ke arsitektur bit yang lebih tinggi.
Andrew Katz
Saya tidak tahu mengapa saya menulis semua komentar itu - suasana hati yang buruk adalah alasan terbaik saya. Downvote bukan milikku, meskipun.
Steve314
-1

ya aplikasi tidak mengisi setiap byte ruang virtual. address space layout randomization akan mendapatkan manfaat terbesar.

roger
sumber