64bit bir makinenin teorik olarak adresleyebileceği maksimum ram miktarı nedir?


21

Bilgisayar mimarlık kitabımı okuyorum ve bir x86, 32 bit işlemcide program sayacının 32 bit olduğunu görüyorum.

Dolayısıyla, adresleyebileceği bayt sayısı 2 ^ 32 bayt veya 4 GB'dir. Bu yüzden, 32 bitlik makinelerin çoğunun koç miktarını 4 gb ile sınırlandırdığı (PAE'yi dikkate almayan) bana mantıklı geliyor.

64 bitlik bir makinenin teorik olarak 2 ^ 64 byte veya 16 exabyte ram adresleyebileceğini varsaymakta haklı mıyım ?!


4
Mevcut hiçbir x86 64 bit işlemcinin bunu yapamayacağını unutmayın. Önbellekleri yeterli etiket bitlerine sahip değiller, adres otobüsleri yeterli genişliğe sahip değil. 46-bit (8TB) birçok modern x86 işlemci için maksimumdur.
David Schwartz

4
Teorik olarak, sınır yoktur. 32 bit işlemciler bile 4 GiB'nin üzerinde bir adres alanına sahip olabilir. Bellek yönetim sisteminin genellikle CPU'nun kelime uzunluğundan bağımsız olan donanımda nasıl uygulandığına bağlıdır . Programlardaki işaretçiler her zaman kelime uzunluğundadır, ancak bunlar yine de sanal adreslerdir (fiziksel değil), bu nedenle farklı bir adres alanına eşleştirilirler.
Atılım

Bu eski cevaplara sahip eski bir soru, ancak bu sorunun en çok oy alan cevaplarının çok yanıltıcı olduğunu ve 64-bit genişliğinde adres veriyolu adresli bir makinenin RAM'in ne kadarını alabileceğini düşünüyorum . David ve Breakthrough'un yukarıda belirttiği gibi, bir mimarinin "bitness" , adres veri yolunun boyutunu değil, birincil kayıtların boyutunu yansıtır.
Sebi

PAE'yi neden görmezden geldin?
Jamie Hanrahan

Yanıtlar:



17

Matt Ball'un cevabını desteklemek için, belirli bir çevrimiçi perakendecide bulabildiğim mevcut en büyük RAM çubuğu 32 GB'dir. Bunlardan 32 tanesinin 1 terabayta ulaşması gerekiyor. Çubuk başına yaklaşık yarım inç boyutunda, bu bizi anakartınızda bir terabayt ticari koçluk için ayrılmış 16 inç boşluğa götürüyor. 16,8 milyon terabayta ulaşmak için 4,242,42 mil anakart gerekir. Los Angeles'tan NYC'ye olan mesafe 2141 mil kadardır, bu yüzden anakart ülke genelinde uzanır ve bu kadar RAM'e uyum sağlar.

Açıkçası bu pratik değildir.

RAM'ımızı çoğu anakartta olduğu gibi tek bir sıraya koymadık, bunun yerine yan yana yerleştirdik. Ortalama tokmak çubuğunun yaklaşık altı santim uzunluğunda olduğunu söylemek istiyorum, bu yüzden genişlik için yarım inçlik bir alana izin verirsek, 6 inçlik bir kare içinde kare 12'lik bir tokmak koyabilirsiniz. Bu kareye RAM kiremit diyelim. Bir RAM döşemesi daha sonra 384GB RAM tutar. İstenen 16.8 milyon terabayta 384GB fayansta ulaşmak 44.8 milyon fayans alacaktır. Dağınık olalım ve bunun karekökünü kullanarak, bunun 6693 x 6694 çinilere, 13.336 x 13.388 fit kare kareye sığacağına karar verdim; Zaten şikayet etmeye yetecekleri yoktu.


2
Çok büyük. Neden onları düz yatırıyorsun? Hepsini bir 100'lük küpte bulabilirsin. Olsa da, serin tutmak için muhtemelen sıvı azot gerekir!
Loren Pechtel

1
kaynamakta olan azot gazı miktarı, Seattle'ın büyük insanları için güvenlik riski oluşturacaktır
Conrad.Dean

Bir olası düzeltme. Bir fayans 6 "6" olduğundan, bu, fayans sayısının iki katı olan 13,386 alıntı yerine 3346,5 x 3347 fit (fayans sayısının yarısı) alanı yapmaz. Ayrıca, kimsenin bahsetmediği bir başka konu daha var. En iyi düzenlemeyi farz edin: bir dairenin, yarıçapı gerekli alanı kaplamak için yaklaşık 1.890 feet olması gerekir. Adm, Grace Hopper'ın belirttiği gibi, bakır üzerindeki iletim gecikmesi bir nanosaniye / ayakla ilgilidir. Bu, dış halkaya gidiş-dönüş gecikmesinin ~ 3.78 mikrosaniye olacağı anlamına gelir. Ana hafıza için yavaş tarafta biraz. IMEHO.
Ocak'ta

4

Etkili olarak, evet - işlemler teoride 2 ^ 64 bayt belleği ele alabilir. Ancak belirttiğiniz gibi, bu sınırın etrafında yollar var.


3

Bir işlemcinin bit boyutu ile adreslenebilir bellek miktarı arasında belirli bir sabit ilişki yoktur. 1970'lerin sonundaki 8 bitlik makinelerin çoğu doğrudan 65,536 bayta kolayca erişebiliyordu, 16 bit 8088 ve 8086 doğrudan 1,048,576 bayta erişebiliyordu. Ek olarak, makinelerin herhangi bir miktarda RAM'e dolaylı olarak erişmelerini sağlamak için donanım eklemek mümkündür; 8 bit işlemcili birçok makinede 128 K veya daha fazla veri vardı ve 8088 tabanlı PC'ler için bellek genişletme birimleri 16 megg'den erişebiliyordu. Her ne kadar Microsoft, bu özelliği yalnızca Windows'un "sunucu" sürümlerinde etkinleştirmiş olsa da, benzer yaklaşımlar kullanarak 32 bit kodun 4GiB işaretinin ötesindeki belleğe erişmesi mümkündü.


2

Doğru olurdun. 16 exabyte'a kadar RAM adresleyebilirsiniz. Şimdi .. işletim sisteminin başa çıkıp çıkamayacağı başka bir soru olurdu.


2

İşletim sisteminin 64 bitlik bir mimaride bellek konusunda kendi sınırlamaları olduğunu da not etmek iyi olurdu.

Örneğin, Windows Vista 64 ile ilgili neler yazdığını görün :

Microsoft işletim sistemlerinin 64 bit sürümlerinin tümü, şu anda adres alanına 16 TB sınırlama getirmektedir. Windows Vista'nın 64 bit sürümlerinde oluşturulan işlemler, kullanıcı işlemleri için sanal bellekte 8 TB, 16 TB sanal bellek oluşturmak için çekirdek işlemler için 8 TB olabilir. [29] Fiziksel bellek açısından Windows Vista 64-Bit Basic, 8 GB RAM'e kadar destekler, Windows Vista 64-Bit Home Premium, 16 GB RAM'e kadar destekler ve Windows Vista 64-Bit Business / Enterprise / Ultimate, 128 GB'a kadar destekler RAM. [8]



1

64 bit için en büyük avantaj, adresleyebileceği RAM değil, her şey. Örneğin, bir diskteki her bayt için bir adres tanımlayabilirsiniz ve disk kapasitelerinin artması on yıllar boyunca bunu geçersiz kılmaz.


Tabii ki mevcut CPU'lar bu adres alanını yapay olarak sınırlandırdığından, diskteki her baytı daha fazla adreslemek için yeterli bit bulunmadan önce on yıl olabilir. Umarım bu aşamada, SSD'lerin gidişatının devam etmesiyle, tüm diski bir bellek bölümü olarak göstermek, performansı çarpıcı bir şekilde artırabilecek şekilde sınırlar yükseltilecektir. Bir SSD'yi bir SATA kablosuna değil, bir RAM yuvasına takmak sorun olmazdı!
Malvineous

@Malvineous Daha temel bir şeyden bahsediyordum, kendinizi 63 bit ile sınırlasanız bile, doğrudan 9223372 TB'yi ele alabilirsiniz. RAM yuvasında SSD'ler zaten var, bkz. Sandisk .
Mark Ransom

Sizinle aynı fikirde değildim, sadece şu anki teknoloji ile önerdiğiniz şeylerin yapay sınırlarının bulunduğuna işaret ediyordum (örneğin, fiziksel veriyoluna gönderilen adresin yalnızca 48 veya 51 biti). Bu DIMM-SSD'leri yakalarsa, önerdiğinizden daha kısa bir süre önce bellek adresleri tükenebilir, bu yapay sınırlar yükseltilip kaldırılamazsa. Eğer 64 bitin tamamının mevcut olsaydı, sorun çıkmadan on yıllarca geçeceğini kabul ediyorum.
Malvineous

Sadece kayıt için SanDisk UlltraDIMM bağlantısına baktım ama ne yazık ki bu teknik olarak RAM olarak SSD değil. DDR3-SATA adaptörüne sahip, 6Gbps SATA SSD, hafızadaymış gibi erişilmesine izin veren bir adaptör. Bellek isteklerinin SATA protokolüne eklenmesi biraz gecikmeye neden oluyor ve biraz dağınık görünüyor. Umarım birileri bunun faydasını görecek ve kısa sürede aralarında gereksiz adaptör olmadan flaş yapmak için gerçek bir bellek arayüzü çıkaracak!
Malvineous

0

Günümüzdeki işlemcilerin çoğunun adres boyutunda bir çeşit yapay sınır var. Örneğin, AMD64 mimarisi fiziksel bellekte 52 bit sınırına sahiptir ve şu anda yalnızca 48 bit sanal adres alanını desteklemektedir. (Vikipedi Üzerinden). Ancak evet, fiziksel olarak ~ 16.4 milyon terabayt mümkündür.


-1

Gerçekçi bir fiziksel cevap için 1536gb, 32GB tek çubuk ve 4x lga2011 xeons çalışan 48 ram kartlı

Bu, birisi gizli hardcore kırıcıları ihlal etmeden satın alabileceği esayist pc içindir, bununla birlikte 64 gb'lik tek stics… 3072 gb 128 gb 6144 gb olmak üzere 256 gb 12288 gb olsun

sadece, eğer sadece 4 gb ram görebiliyorsa, ram ile os sınırlamalarını aşmanın yollarını bulmak için atmak için, artıkları bir ram sürücüye çevirin ve ram sürücüsünü sayfa dosyası olarak kullanın XD XD XD XD Sistem bazı böyle simüler bir şey dos / windows 3.11 vb erken günlerinde geri yapıldı

ve cpu sınırlamalarını aşmak için başka küçük saldırılar olabilir

Göremediğimiz bir şey var mı? Want'ları göremiyoruz. Orada çalışan 98 adet 8 işlemciden bir bilgisayar ve 32GB RAM gibi bir şey var.

sunuculara masaüstü gibi bakıyorum çünkü ortak XD bilgisayarlarından bıktım

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.