Về mặt lý thuyết, lượng ram tối đa của máy 64 bit là bao nhiêu?


21

Tôi đang đọc qua cuốn sách kiến ​​trúc máy tính của mình và tôi thấy rằng trong CPU x86, 32 bit, bộ đếm chương trình là 32 bit.

Vì vậy, số lượng byte nó có thể xử lý là 2 ^ 32 byte hoặc 4GB. Vì vậy, có ý nghĩa với tôi rằng hầu hết các máy 32 bit đều giới hạn dung lượng ram ở mức 4gb (bỏ qua PAE).

Tôi có đúng không khi cho rằng một máy 64 bit về mặt lý thuyết có thể giải quyết 2 ^ 64 byte, hoặc 16 exabyte ram?!


4
Lưu ý rằng không có bộ xử lý x86 64 bit hiện có thực sự có thể làm điều này. Bộ nhớ cache của họ không có đủ bit tag, bus địa chỉ của họ không có đủ chiều rộng, v.v. 46 bit (8TB) là mức tối đa cho nhiều CPU x86 hiện đại.
David Schwartz

4
Về mặt lý thuyết, không có giới hạn. Ngay cả CPU 32 bit cũng có thể có không gian địa chỉ trên 4 GiB. Nó phụ thuộc vào cách hệ thống quản lý bộ nhớ được triển khai trong phần cứng , thường không phụ thuộc vào độ dài từ của CPU. Con trỏ trong các chương trình luôn có độ dài từ, nhưng dù sao đây cũng là địa chỉ ảo (và không phải là vật lý), vì vậy chúng được ánh xạ vào một không gian địa chỉ khác.
Đột phá

Đây là một câu hỏi cũ với các câu trả lời cũ nhưng tôi cảm thấy các câu trả lời được đánh giá cao nhất cho câu hỏi này rất sai lệch và chúng là câu trả lời cho một máy có thể có địa chỉ bus địa chỉ rộng 64 bit . Như David và Đột phá đã chỉ ra ở trên, "độ bit" của kiến ​​trúc phản ánh kích thước của các thanh ghi chính, không phải kích thước của bus địa chỉ.
Sebi

Tại sao bạn lại bỏ qua PAE?
Jamie Hanrahan

Câu trả lời:


28

Về mặt lý thuyết: 16,8 triệu terabyte. Trong thực tế: vỏ máy tính của bạn quá nhỏ để phù hợp với tất cả RAM đó.

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


13
Quá nhỏ .... hôm nay !!!!
cười khúc khích

2
16,777216 triệu tebibyte. Nếu bạn muốn chính xác.
totymedli

Tôi đọc trong các nguồn khác rằng bộ xử lý không thể sử dụng mọi bit để truy cập bộ nhớ, điều này có được xem xét trong câu trả lời của bạn không?
Andrey

17

Để bổ sung cho câu trả lời của Matt Ball, thanh RAM lớn nhất hiện tại tôi có thể tìm thấy trên một nhà bán lẻ trực tuyến cụ thể là 32GB. Nó sẽ mất 32 trong số này để đạt được 1 terabyte. Với khoảng một nửa inch cho mỗi thanh, điều này đưa chúng ta đến một không gian 16 inch dành riêng trên bo mạch chủ của bạn để có một ram ram thương mại. Để đạt 16,8 triệu terabyte sẽ đòi hỏi một bo mạch chủ 4,242.42 dặm. Khoảng cách từ LA đến New York là khoảng 2.141 dặm, vì vậy các bo mạch chủ sẽ kéo dài trên khắp cả nước và trở lại để chứa nhiều RAM.

Rõ ràng điều này là không thực tế.

Làm thế nào về chúng tôi đã không đặt tất cả RAM của chúng tôi thành một hàng như trên hầu hết các bo mạch chủ, nhưng thay vào đó đặt chúng cạnh nhau. Tôi muốn nói rằng thanh ram trung bình dài khoảng sáu inch, vì vậy nếu chúng ta cho phép một nửa inch cho chiều rộng, bạn có thể có một đơn vị vuông gồm 12 thanh ram trong một hình vuông 6 inch. Chúng ta hãy gọi hình vuông này là một khối RAM. Một khối RAM sau đó chứa 384GB RAM. Để đạt được 16,8 triệu terabyte cần thiết trong các lát 384GB sẽ phải mất 44,8 triệu gạch. Hãy trở thành lộn xộn, và sử dụng căn bậc hai của đó để kết luận rằng điều này sẽ phù hợp với một hình vuông 6693 bởi 6694 gạch, hoặc 13.386 bởi 13.388 feet, đó là đủ gần 2,5 dặm vuông, đủ để che trung tâm thành phố Seattle trong bóng tối, như thể họ đã không có đủ để phàn nàn về.


2
Quá lớn. Tại sao bạn đặt chúng phẳng? Bạn có thể lấy tất cả trong một khối 100 '. Có lẽ bạn sẽ cần nitơ lỏng để giữ cho nó mát, mặc dù!
Loren Pechtel

1
lượng khí nitơ sẽ sôi lên sẽ gây rủi ro an toàn cho người dân lớn ở Seattle
Conrad.

Một điều chỉnh có thể. Vì một ô là 6 "x 6" sẽ không làm cho diện tích 3346,5 x 3347 feet (bằng một nửa số ô) thay vì 13.386 được trích dẫn, gấp đôi số ô. Ngoài ra, một vấn đề khác mà không ai có vẻ đã đề cập. Giả sử sự sắp xếp tốt nhất: một vòng tròn, bán kính sẽ cần khoảng 1.890 feet để bao quanh khu vực cần thiết. Như adm, Grace Hopper đã chỉ ra, độ trễ truyền trên đồng là khoảng một nano giây / phút. Điều đó có nghĩa là độ trễ chuyến đi khứ hồi đến vòng ngoài sẽ là ~ 3,78 micro giây. Đó là một chút về phía chậm cho bộ nhớ chính. IMEHO.
thức

4

Về mặt hiệu quả, có - về mặt lý thuyết, có thể giải quyết 2 ^ 64 byte bộ nhớ. Nhưng như bạn đã chỉ ra, có nhiều cách xung quanh giới hạn này.


3

Không có mối quan hệ cố định cụ thể giữa kích thước bit của bộ xử lý và dung lượng bộ nhớ địa chỉ. Hầu hết các máy 8 bit vào cuối những năm 1970 có thể dễ dàng truy cập trực tiếp 65.536 byte, 1688 8088 và 8086 có thể truy cập trực tiếp 1.048.576 byte. Ngoài ra, có thể thêm phần cứng để cho phép các máy truy cập gián tiếp bất kỳ số lượng RAM nào; nhiều máy có bộ xử lý 8 bit có 128K trở lên và các đơn vị mở rộng bộ nhớ cho các PC dựa trên 8088 có thể truy cập hơn 16 megs. Mặc dù Microsoft chỉ kích hoạt tính năng như vậy trong các phiên bản "máy chủ" của Windows, nhưng mã 32 bit có thể truy cập bộ nhớ vượt quá mốc 4GiB bằng các phương pháp tương tự.


2

Bạn sẽ đúng. Bạn có thể giải quyết tối đa 16 exabyte RAM. Bây giờ .. liệu hệ điều hành có thể xử lý nó sẽ là một câu hỏi khác ....


2

Cũng sẽ tốt khi lưu ý rằng hệ điều hành có giới hạn riêng về bộ nhớ trong kiến ​​trúc 64 bit.

Ví dụ: xem những gì wikipedia sais về Windows Vista 64:

Tất cả các phiên bản 64 bit của hệ điều hành Microsoft hiện áp đặt giới hạn 16 TB cho không gian địa chỉ. Các quy trình được tạo trên phiên bản 64 bit của Windows Vista có thể có 8 TB trong bộ nhớ ảo cho các quy trình của người dùng và 8 TB cho các quy trình kernel để tạo bộ nhớ ảo 16 TB. [29] Về bộ nhớ vật lý Windows Vista 64-Bit Basic hỗ trợ tối đa 8 GB RAM, Windows Vista 64-bit Home Premium hỗ trợ tối đa 16 GB RAM và Windows Vista 64-bit Business / Enterprise / Ultimate hỗ trợ tối đa 128 GB của RAM. [8]


Chi tiết cập nhật cho Windows: msdn.microsoft.com/en-us/l Library /
Arjan

1

Ưu điểm lớn nhất đối với 64 bit không phải là RAM mà nó có thể xử lý, mà là mọi thứ khác. Ví dụ, bạn có thể xác định một địa chỉ cho mỗi byte trên đĩa, và việc tăng dung lượng đĩa sẽ không làm mất hiệu lực điều này trong nhiều thập kỷ.


Tất nhiên vì các CPU hiện tại có không gian địa chỉ này bị giới hạn một cách giả tạo, có thể chỉ còn một thập kỷ nữa là không còn đủ bit để xử lý từng byte trên đĩa nữa. Hy vọng rằng trong giai đoạn đó, các giới hạn sẽ được nâng lên, như cách mà SSD đang diễn ra, làm cho toàn bộ đĩa xuất hiện dưới dạng một phần của bộ nhớ có thể cải thiện hiệu suất đáng kể. Tôi không ngại cắm SSD vào khe RAM thay vì vào cáp SATA!
Malvineous

@Malvineous Tôi đã nói về một cái gì đó cơ bản hơn, ngay cả khi bạn tự giới hạn ở mức 63 bit, bạn có thể trực tiếp giải quyết 9223372 TB. Và SSD trong khe RAM đã tồn tại, xem Sandisk .
Đánh dấu tiền chuộc

Tôi không đồng ý với bạn, tôi chỉ chỉ ra rằng với công nghệ hiện tại có những giới hạn nhân tạo đối với những gì bạn đang đề xuất (ví dụ: chỉ có 48 hoặc 51 bit địa chỉ được đưa ra xe buýt vật lý). Nếu những ổ DIMM-SSD đó bắt được, chúng tôi có thể hết địa chỉ bộ nhớ sớm hơn bạn đề xuất, trừ khi những giới hạn nhân tạo này có thể được nâng lên hoặc gỡ bỏ. Tôi đồng ý nếu 64 bit đầy đủ có sẵn thì phải mất hàng thập kỷ trước khi nó trở thành vấn đề.
Malvineous

Chỉ để ghi lại, tôi đã xem liên kết SanDisk UlltraDIMM nhưng thật đáng buồn, đây không phải là SSD-as-RAM về mặt kỹ thuật. Đó là ổ SSD SATA 6Gbps, với bộ chuyển đổi DDR3 sang SATA cho phép truy cập nó như thể bộ nhớ. Việc chuyển đổi bổ sung các yêu cầu bộ nhớ thành giao thức SATA đưa ra một số độ trễ và có vẻ hơi lộn xộn. Hy vọng rằng ai đó sẽ thấy lợi ích của việc này và sớm phát hành giao diện bộ nhớ thực sự để flash mà không có bất kỳ bộ điều hợp không cần thiết nào ở giữa!
Malvineous

0

Hầu hết các bộ xử lý hiện nay có một số loại giới hạn nhân tạo trên kích thước địa chỉ của chúng. Ví dụ, kiến ​​trúc AMD64 có giới hạn 52 bit cho bộ nhớ vật lý và hiện chỉ hỗ trợ không gian địa chỉ ảo 48 bit. (Qua Wikipedia). Tuy nhiên, có thể, ~ 16,4 triệu terabyte là có thể.


-1

cho câu trả lời vật lý thực tế 1536gb với 48 thẻ ram chạy gậy đơn 32gb và xe tải 4x lga2011

cái này dành cho máy tính esayist ai đó có thể mua mà không vi phạm

Chỉ cần bỏ qua đó là có cách khắc phục giới hạn os với ram nếu bạn chỉ có thể thấy ram 4gb biến phần còn lại thành ổ đĩa ram và sử dụng ổ đĩa ram như tệp trang XD XD XD XD chỉ là vấn đề tạo ra hệ điều hành preboot hệ thống một số điều tương tự như vậy đã được thực hiện trở lại trong những ngày đầu của dos / windows 3.11, v.v.

và có thể có những hack nhỏ khác để khắc phục những hạn chế của cpu

Thiết bị chúng ta có thể thấy không phải là những thứ mạnh mẽ hơn. Tôi đã có một máy tính từ 98 chạy 8 bộ xử lý và đôi khi như ram 32gb nhưng đây là máy chủ hi đắt tiền

Tôi nhìn vào máy chủ như máy tính để bàn vì tôi chán máy tính cho XD công cộng

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.