30Jul
4GB RAM sınırını aşmak için çoğu insan 32 bitlik bilgi işlemeden 64 bitlik bilgi işlemine geçiyor ancak 64 bitlik bilgisayarlara girdikten sonra 'nin bu sınırın üstünden nasıl geçebiliyoruz?
Bugünkü Soru &Yanıt oturumu bize Q & A web sitelerinin topluluk temelli bir gruplandırması olan Stack Exchange'in bir alt bölümü olan SuperUser nezaketen geliyor. Petr Kratochvil'in görüntüsü.
Soru
SuperUser okuyucu KingNestor, 64-bit bir bilgisayarın ne kadar RAM'ini kaldırabileceğini merak ediyor:
Bilgisayar mimarisi kitapımı okuyorum ve bir x86, 32 bit CPU'da program sayacı 32 bit olduğunu görüyorum.
Yani adresleyebileceği bayt sayısı 2 ^ 32 bayt veya 4GB.Dolayısıyla bana göre 32 bitlik makinelerin çoğu RAM miktarını 4 GB'a( PAE'yi yoksay) sınırlıyor.
Bir 64 bitlik makinenin teorik olarak 2 ^ 64 bayt veya 16 exabytes ram adresleyebileceğini varsayarak haklı mıyım? !
Exabytes diyorsunŞimdi, şimdi, aç gözlülük etmeyelim. Bir veya iki terabayttan başlamaktan mutluluk duyarız.
Cevap
KingNestor'un soruşturmasına verilen cevaplar, pratik ve teorik hususların ilginç bir karışımıdır. Matt Ball teorik cevap ile hemen öne geçiyor:
Teorik olarak: 16,8 milyon terabayt. Uygulamada: bilgisayar kasanız bu RAM'ın tümüne sığmayacak kadar küçük.
http: //en.wikipedia.org/wiki/ 64-bit # Limitations_of_practical_processors
Conrad Dean, günümüz teknolojisini kullanarak teorik RAM sınırını en üst düzeye çıkarmanın ne kadar pratik olmadığını konusunda bir nota girdi:
Matt Ball'un cevabını tamamlamak için mevcut en büyük RAM çubuğunuBelirli bir çevrimiçi perakendeciyi bulmak 32GB'tır.1 terabayta ulaşmak 32'dir. Sopa başına yaklaşık yarım inçle, bu, bizi terabili ticari bir koç için anakartınızda ayrılmış bir 16 inçlik alana getiriyor.16,8 milyon terabayt ulaşmak 4,242,42 mil bir anakart gerektirir. LA'dan NYC'ye olan mesafe yaklaşık 2141 mil, bu nedenle anakart ülkenin dört bir yanına uzanıyor ve geri kalan RAM'a uyum sağlıyor.
Açıkçası bu pratik değildir.
RAM'lerimizi çoğu anakartda olduğu gibi tek bir sıraya koymadık ama yerine yan yana yerleştirdik. Ortalama koçan sopasının yaklaşık altı inç uzunluğunda olduğunu söylemek isterim, bu yüzden genişliğe yarım inç izin verirsek, 6 inç kare içinde 12 sopa kare birimi olabilir. Bu kareyi bir RAM karosu olarak adlandıralım. Bir RAM karosu 384GB RAM tutar.384GB'lık kiremitte gerekli 16,8 milyon terabayt'a ulaşmak 44,8 milyon kiremit alacaktı.Dağınık olun ve bu 6696 kareye 6694 kiremitle ya da 13.386 x 13.388 feet ile sığacak şekilde sonuçlandırmak için karekökünü kullanalım, sanki Seattle şehir merkezini gölge altına alacak kadar 2,5 feet kare kadar yeterince yakınmış gibi yapalım sankiŞikayet etmeye yetecek kadar şeye sahip değillerdi.
Son olarak, David Schwartz teorik sınırların bile geçerli CPU mimarisi tarafından engellendiğini kaydediyor:
Mevcut bir x86 64-bit işlemcinin bunu gerçekten yapamadığını unutmayın.Önbelleklerinin etiket bitleri yeterli değil, adres veri yollarının genişliği yeterli değil vb.46-bit( 8TB) çoğu modern x86 CPU için maksimumtur.
Açıklamaya eklemek için bir şey var mı?Açıklamalarda ses çıkıyor. Diğer teknik uzman Stack Exchange kullanıcılarından daha fazla cevap okumak ister misiniz? Buradaki tam tartışma dizinine göz atın.