Để trả lời câu hỏi ban đầu: Không cần thêm nhiều hơn 48 Bit PA.
Máy chủ cần dung lượng bộ nhớ tối đa, vì vậy chúng ta hãy cố gắng tìm hiểu sâu hơn.
1) Cấu hình máy chủ lớn nhất (thường được sử dụng) là hệ thống 8 Socket. Một hệ thống 8S không là gì ngoài 8 CPU của Máy chủ được kết nối với nhau bằng một kết nối liên kết nhất quán tốc độ cao (hay đơn giản là một "bus" tốc độ cao) để tạo thành một nút duy nhất. Có những cụm lớn hơn ở đó nhưng chúng rất ít và ở giữa chúng, chúng ta đang nói về các cấu hình thường được sử dụng ở đây. Lưu ý rằng trong cách sử dụng thực tế, hệ thống 2 Socket là một trong những máy chủ được sử dụng phổ biến nhất và 8S thường được coi là rất cao cấp.
2) Các loại bộ nhớ chính được máy chủ sử dụng là bộ nhớ DRAM thông thường có thể định địa chỉ byte (ví dụ: bộ nhớ DDR3 / DDR4), Bộ nhớ được ánh xạ IO - MMIO (chẳng hạn như bộ nhớ được sử dụng bởi thẻ bổ trợ), cũng như Không gian cấu hình được sử dụng để cấu hình các thiết bị có trong hệ thống. Loại bộ nhớ đầu tiên là loại bộ nhớ thường lớn nhất (và do đó cần số lượng bit địa chỉ lớn nhất). Một số máy chủ cao cấp sử dụng một lượng lớn MMIO cũng tùy thuộc vào cấu hình thực tế của hệ thống.
3) Giả sử mỗi CPU máy chủ có thể chứa 16 DDR4 DIMM trong mỗi khe. Với kích thước tối đa DDR4 DIMM là 256GB. (Tùy thuộc vào phiên bản máy chủ, số lượng DIMM có thể có trên mỗi ổ cắm thực tế ít hơn 16 DIMM, nhưng hãy tiếp tục đọc vì lợi ích của ví dụ).
Vì vậy, mỗi socket về mặt lý thuyết có thể có 16 * 256GB = 4096GB = 4 TB. Đối với hệ thống 8S ví dụ của chúng tôi, kích thước DRAM có thể tối đa là 4 * 8 = 32 TB. Điều này có nghĩa là số bit tối đa cần thiết để giải quyết không gian DRAM này là 45 (= log2 32TB / log2 2).
Chúng tôi sẽ không đi vào chi tiết các loại bộ nhớ khác (MMIO, MMCFG, v.v.), nhưng vấn đề ở đây là loại bộ nhớ "đòi hỏi cao" nhất đối với hệ thống 8 Socket với các loại DIMM DDR4 lớn nhất hiện nay (256 GB DIMM) chỉ sử dụng 45 bit.
Đối với hệ điều hành hỗ trợ 48 bit (WS16 chẳng hạn), có (48-45 =) 3 bit còn lại. Điều đó có nghĩa là nếu chúng tôi chỉ sử dụng 45 bit thấp hơn cho 32TB DRAM, chúng tôi vẫn có 2 ^ 3 lần bộ nhớ địa chỉ có thể được sử dụng cho MMIO / MMCFG với tổng số 256 TB không gian địa chỉ.
Vì vậy, tóm lại: 1) 48 bit Địa chỉ vật lý là rất nhiều bit để hỗ trợ các hệ thống lớn nhất hiện nay được "tải đầy đủ" với lượng lớn DDR4 và nhiều thiết bị IO khác yêu cầu không gian MMIO. Chính xác là 256TB.
Lưu ý rằng không gian địa chỉ 256TB này (= 48bits địa chỉ vật lý) KHÔNG bao gồm bất kỳ ổ đĩa nào như ổ SATA vì chúng KHÔNG phải là một phần của bản đồ địa chỉ, chúng chỉ bao gồm bộ nhớ có thể định địa chỉ byte và được hiển thị với Hệ điều hành.
2) Phần cứng CPU có thể chọn triển khai 46, 48 hoặc> 48 bit tùy thuộc vào thế hệ máy chủ. Nhưng một yếu tố quan trọng khác là hệ điều hành nhận dạng được bao nhiêu bit. Ngày nay, WS16 hỗ trợ địa chỉ Vật lý 48 bit (= 256 TB).
Điều này có ý nghĩa gì đối với người dùng, mặc dù một máy chủ có CPU lớn, cực kỳ hiện đại có thể hỗ trợ> 48 bit địa chỉ, nếu bạn chạy một hệ điều hành chỉ hỗ trợ 48 bit PA, thì bạn chỉ có thể tận dụng 256 TB. .
3) Nhìn chung, có hai yếu tố chính để tận dụng số lượng bit địa chỉ cao hơn (= dung lượng bộ nhớ nhiều hơn).
a) CPU HW của bạn hỗ trợ bao nhiêu bit? (Điều này có thể được xác định bằng lệnh CPUID trong CPU Intel).
b) Bạn đang chạy phiên bản hệ điều hành nào và có bao nhiêu bit PA mà nó nhận ra / hỗ trợ.
Tối thiểu của (a, b) cuối cùng sẽ xác định lượng không gian có thể địa chỉ mà hệ thống của bạn có thể tận dụng.
Tôi đã viết câu trả lời này mà không xem xét chi tiết các câu trả lời khác. Ngoài ra, tôi chưa đi sâu vào chi tiết các sắc thái của MMIO, MMCFG và toàn bộ việc xây dựng bản đồ địa chỉ. Nhưng tôi hy vọng điều này sẽ giúp ích.
Cảm ơn, Anand K Enamandram, Kiến trúc sư nền tảng máy chủ Intel Corporation