Berapa jumlah maksimum ram yang dapat ditangani mesin 64bit secara teoritis?

21

Saya membaca buku arsitektur komputer saya dan saya melihat bahwa dalam x86, 32bit CPU, penghitung program adalah 32 bit.

Jadi, jumlah byte yang dapat dialamatkan adalah 2 ^ 32 byte, atau 4GB. Jadi masuk akal bagi saya bahwa sebagian besar mesin 32 bit membatasi jumlah ram hingga 4GB (mengabaikan PAE).

Apakah saya benar dengan asumsi bahwa mesin 64bit secara teoritis dapat mengatasi 2 ^ 64 byte, atau 16 exabytes ram ?!

KingNestor
sumber
4
Perhatikan bahwa tidak ada prosesor x86 64-bit yang ada yang dapat melakukan ini. Tembolok mereka tidak memiliki bit tag yang cukup, bus alamat mereka tidak memiliki cukup lebar, dan sebagainya. 46-bit (8TB) adalah maksimum untuk banyak CPU x86 modern.
David Schwartz
4
Secara teoritis, tidak ada batasan. Bahkan CPU 32-bit dapat memiliki ruang alamat di atas 4 GiB. Itu tergantung pada bagaimana sistem manajemen memori diimplementasikan dalam perangkat keras , yang biasanya tidak tergantung pada panjang kata CPU. Pointer dalam program selalu panjang kata, tetapi ini adalah alamat virtual (dan bukan fisik), jadi mereka selanjutnya dipetakan ke dalam ruang alamat yang berbeda.
Terobosan
Ini adalah pertanyaan lama dengan jawaban lama tapi saya merasa jawaban yang paling tervvotifikasi untuk pertanyaan ini sangat menyesatkan, dan mereka adalah jawaban untuk Berapa banyak RAM yang dapat dimiliki mesin dengan alamat bus alamat 64-bit . Seperti yang David dan Breakthrough tunjukkan di atas, "bitness" dari suatu arsitektur mencerminkan ukuran dari register utama, bukan ukuran dari bus alamat.
Sebi
Mengapa Anda mengabaikan PAE?
Jamie Hanrahan

Jawaban:

28

Secara teoritis: 16,8 juta terabyte. Dalam praktiknya: kasing komputer Anda agak terlalu kecil untuk memuat semua RAM itu.

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

Matt Ball
sumber
13
Terlalu kecil .... hari ini !!!!
Snicker
2
16.777.216 juta tebibyte. Jika Anda ingin lebih tepat.
totymedli
Saya membaca di sumber lain bahwa prosesor tidak dapat menggunakan setiap bit untuk mengakses memori, apakah ini dipertimbangkan dalam jawaban Anda?
Andrey
17

Untuk melengkapi jawaban Matt Ball, stik RAM terbesar saat ini yang dapat saya temukan pada satu pengecer online adalah 32GB. Dibutuhkan 32 untuk mencapai 1 terabyte. Pada sekitar setengah inci per batang ini membawa kita ke ruang 16 inci yang dikhususkan pada motherboard Anda untuk satu terabyte ram komersial. Untuk mencapai 16,8 juta terabyte akan membutuhkan motherboard 4.242,42 mil. Jarak dari LA ke NYC adalah sekitar 2141 mil, sehingga motherboard akan membentang di seluruh negeri dan kembali untuk mengakomodasi RAM sebanyak itu.

Jelas ini tidak praktis.

Bagaimana kalau kita tidak meletakkan RAM kita semua dalam satu baris seperti pada kebanyakan motherboard, tetapi menempatkannya berdampingan. Saya ingin mengatakan bahwa rata-rata batang ram panjangnya sekitar enam inci, jadi jika kita mengizinkan lebar setengah inci, Anda dapat memiliki unit persegi dari 12 batang ram dalam persegi 6 inci. Anggap persegi ini RAM-ubin. RAM-tile kemudian menampung 384GB RAM. Untuk mencapai 16,8 juta terabyte yang dibutuhkan dalam ubin 384GB akan membutuhkan 44,8 juta ubin. Mari kita berantakan, dan gunakan akar kuadrat dari itu untuk menyimpulkan bahwa ini akan cocok dengan kuadrat dari 6693 dengan 6694 ubin, atau 13.386 dengan 13.388 kaki, yang cukup dekat dengan 2,5 mil persegi, cukup untuk menutupi pusat kota Seattle dalam bayangan, seolah-olah mereka tidak punya cukup keluhan.

Conrad.Dean
sumber
2
Terlalu besar. Mengapa Anda meletakkannya rata? Anda bisa mendapatkan semuanya dalam kubus 100 '. Anda mungkin akan membutuhkan nitrogen cair untuk membuatnya tetap dingin!
Loren Pechtel
1
jumlah gas nitrogen yang akan mendidih akan menimbulkan risiko keselamatan bagi orang-orang hebat di Seattle
Conrad.Dean
Satu kemungkinan koreksi. Karena ubin adalah 6 "dengan 6" bukankah itu akan membuat area 3346.5 x 3347 kaki (setengah jumlah ubin) daripada yang dikutip 13.386 yang merupakan gandakan jumlah ubin. Juga, masalah lain yang tampaknya tidak ada yang disebutkan. Asumsikan pengaturan terbaik: sebuah lingkaran, jari-jarinya harus sekitar 1.890 kaki untuk melampirkan area yang diperlukan. Seperti Adm, Grace Hopper tunjukkan, latensi transmisi atas tembaga sekitar satu nanodetik / kaki. Itu berarti latensi pulang pergi ke cincin luar akan ~ 3,78 mikrodetik. Itu sedikit di sisi lambat untuk memori utama. IMEHO.
dgnuff
4

Secara efektif, ya - proses bisa, secara teori, mengatasi 2 ^ 64 byte memori. Tapi seperti yang Anda tunjukkan, ada cara di sekitar batas ini.

Adam Wright
sumber
3

Tidak ada hubungan tetap tertentu antara ukuran bit prosesor dan jumlah memori yang dapat dialamatkan. Sebagian besar mesin 8-bit pada akhir 1970-an dapat dengan mudah mengakses 65.536 byte secara langsung, 16-bit 8088 dan 8086 dapat mengakses 1.048.576 byte secara langsung. Selain itu, dimungkinkan untuk menambahkan perangkat keras agar mesin dapat mengakses jumlah RAM apa pun secara tidak langsung; banyak mesin dengan prosesor 8-bit memiliki 128K atau lebih, dan unit ekspansi memori untuk PC berbasis 8088 dapat mengakses lebih dari 16 MB. Meskipun Microsoft hanya mengaktifkan fitur seperti itu di versi "server" Windows, kode 32-bit dimungkinkan untuk mengakses memori di luar tanda 4GiB menggunakan pendekatan serupa.

supercat
sumber
2

Anda benar. Anda dapat mengatasi hingga 16 exabytes RAM. Sekarang .. apakah sistem operasi dapat mengatasinya akan menjadi pertanyaan lain ....


sumber
2

Akan lebih baik untuk dicatat bahwa sistem operasi memiliki batasan sendiri tentang memori dalam arsitektur 64-bit.

Misalnya, lihat apa yang wikipedia sais tentang Windows Vista 64:

Semua versi 64-bit sistem operasi Microsoft saat ini memberlakukan batas 16 TB pada ruang alamat. Proses yang dibuat pada Windows Vista edisi 64-bit dapat memiliki 8 TB dalam memori virtual untuk proses pengguna dan 8 TB untuk proses kernel untuk membuat memori virtual 16 TB. [29] Dalam hal memori fisik Windows Vista 64-Bit Basic mendukung hingga 8 GB RAM, Windows Vista 64-Bit Home Premium mendukung hingga 16 GB RAM, dan Windows Vista 64-Bit Business / Enterprise / Ultimate mendukung hingga 128 GB RAM. [8]

decasteljau
sumber
1

Keuntungan terbesar dari 64 bit bukanlah RAM yang bisa dialaminya, tetapi yang lainnya. Anda dapat menetapkan alamat untuk setiap byte pada disk, misalnya, dan meningkatkan kapasitas disk tidak akan membatalkannya selama beberapa dekade.

Mark tebusan
sumber
Tentu saja karena CPU saat ini memiliki ruang alamat ini terbatas secara artifisial, mungkin hanya satu dekade sebelum tidak ada bit yang cukup untuk mengatasi setiap byte pada disk lagi. Mudah-mudahan pada tahap itu batas akan dinaikkan, seperti cara SSD berjalan, membuat seluruh disk muncul sebagai bagian dari memori dapat meningkatkan kinerja secara dramatis. Saya tidak keberatan memasukkan SSD ke slot RAM alih-alih ke kabel SATA!
Malvineous
@Malvineous Saya sedang berbicara tentang sesuatu yang lebih mendasar, bahkan jika Anda membatasi diri Anda sendiri hingga 63 bit Anda dapat langsung mengatasi 9223372 TB. Dan SSD di slot RAM sudah ada, lihat Sandisk .
Mark Ransom
Saya tidak setuju dengan Anda, saya hanya menunjukkan bahwa dengan teknologi saat ini ada batasan buatan pada apa yang Anda sarankan (misalnya hanya 48 atau 51 bit alamat yang dibawa ke bus fisik). Jika DIMM-SSD itu menangkap kami mungkin kehabisan alamat memori lebih cepat dari yang Anda sarankan, kecuali batas buatan ini dapat dinaikkan atau dihapus. Saya setuju jika 64-bit penuh tersedia maka itu akan menjadi dekade sebelum menjadi masalah.
Malvineous
Sebagai catatan, saya melihat tautan SanDisk UlltraDIMM tetapi sayangnya ini bukan SSD-as-RAM secara teknis. Ini adalah SSD SATA 6Gbps, dengan adaptor DDR3-ke-SATA yang memungkinkannya diakses seolah-olah itu adalah memori. Konversi tambahan permintaan memori ke protokol SATA memperkenalkan beberapa latensi dan tampak agak berantakan. Semoga seseorang akan melihat manfaat dari ini dan segera merilis antarmuka memori yang benar untuk mem-flash tanpa ada adaptor yang tidak perlu di antaranya!
Malvineous
0

Sebagian besar prosesor saat ini memiliki semacam batas buatan pada ukuran alamat mereka. Sebagai contoh, arsitektur AMD64 memiliki batas 52-bit pada memori fisik dan saat ini hanya mendukung ruang alamat virtual 48-bit. (Via Wikipedia). Namun ya, secara fisik ~ 16,4 juta terabyte adalah mungkin.


sumber
-1

untuk jawaban fisik yang realistis 1536 GB dengan 48 kartu ram menjalankan 32 GB tongkat tunggal dan 4x lga2011 xeon

ini adalah untuk esai pc seseorang dapat membeli tanpa melanggar severs hardcore tersembunyi berpikir ada 64GB tunggal membawa statistik .... 3072gb 128gb menjadi 6144gb 256gb menjadi 12288gb

hanya untuk membuang di sana bahwa ada cara untuk mengatasi keterbatasan os dengan ram jika os Anda hanya dapat melihat 4gb ram mengubah sisa menjadi drive ram dan menggunakan drive ram sebagai file halaman XD XD XD XD hanya masalah membuat os preboot Sistem beberapa hal serupa dilakukan kembali pada hari - hari awal dos / windows 3.11 dll

dan mungkin ada peretasan kecil lainnya untuk mengatasi batasan cpu

gigi kita bisa melihat isnt wats di luar sana ada cara yang lebih ampuh saya punya pc dari 98 runing 8 prosesor dan kira-kira seperti 32GB ram tapi ini mahal hi server end

Saya melihat ke server sebagai desktop karena saya muak dengan komputer untuk XD publik

Weazel
sumber