Kiến trúc CPU và bo mạch chủ (chipset) cho biết dung lượng bộ nhớ vật lý, các loại và định dạng bộ nhớ của máy tính có thể được cài đặt. Qua nhiều năm, có bat hay đổi chính xảy ra trong bộ nhớ máy tính nhanh hơn, rông hơn và dung lượng lớn hơn. Mạch bộ điều khiển CPU và bộ nhớ cho biết yêu cầu về tốc độ, dung lượng, số lượng tối đa được hỗ trợ. Bộ điều khiển bộ nhớ trong một máy tính hiện đại nằm ở bộ xử lý hay là chipset mạch chủ. Mặc dù một hệ thống về mặt vật lý có thể hỗ trợ cho số lượng bộ nhớ tối đa nhất định, loại phần mềm đang chạy có thể lệnh bao nhiêu bộ nhớ thực sự được sử dụng.
Chúng ta đang đề cập đến các loại, tốc độ và dung lượng bộ nhớ. Các module hiện đại có dung lượng 64 bit, và tùy thuộc vào thiết kế bộ điều khiển bộ nhớ, chúng được truy cập trong chế độ kênh đơn, hai kênh hay ba kênh. Trong chế độ kệnh đơn, bộ nhớ được đọc và ghi 64 bit đông thời, trong khi trong chế độ hai kênh và ba kênh dung lượng bus bộ nhớ tăng lên 128 bit hay 192 bit, theo thứ tự. Ngoài sự biệt lệ của loại bộ nhớ RDRAM, bộ nhớ là một trong số ít thành phần PC giữ nguyên sự song hành. Phần lớn những thành phần khác của PC chuyển tiếp sang các thiết kế giao diện theo từng dãy.
Dung lượng bộ nhớ vật lý tối đa bị tác động bởi vài yếu tố. Đầu tiên là số lượng có thể định địa chỉ bởi chính bộ xử lý, dựa trên số dòng địa chỉ vật lý trên con chip. Có bộ xử lý PC đầu tiên (8086/8088), với 20 dòng địa chỉ, có khả năng nhân tới 1MB RAM (2byte đến byte năng lượng thứ 20). 286/ 386SX tăng khả năng định vị bộ nhớ lên 24 dòng và định địa chỉ 16MB (byte năng lượng từ thứ 2 đến thứ 24). Các bộ xử lý x86 hiện đại có từ 32 đến 36 dòn đị chỉ, dẫn đến từ 4GB đến 64GB RAM có thể định địa chỉ. Các bộ xử lý x86-64 (64bit) có 40 dòng địa chỉ cho phép lến đến 1TB (Terabyte) bộ nhớ vật lý RAM được hỗ trợ.
Các chế độ hoạt động của bộ xử lý có thể đặt những giới hạn xa hơn trong khả năng định địa chỉ bộ nhớ. Cho ví dụ, khi bộ xử lý đang hoạt động ở chế độ thực tương thích ngược, chỉ 1MB bộ nhớ được hỗ trợ.
Nhận xét rằng mặc dù của các bộ xử lý 64 bit hiện đại có thể định địa chỉ lên tới 1TB, các bo mạch chủ và/hay chipset hiện đại thường hạn chế số tối đa RAM đến 8GB, 16GB hay 24GB. Loại phần mềm cũng có một ảnh hưởng. Phiên bản 32 bit của Windows XP, Vista và Windows 7 giới hạn hỗ trợ phần mềm đến 4GB, trong khi các phiên bản 64 bit giới hạn hỗ trợ đến 8Gb, 16GB hay 192GB, tùy thuộc vào ấn bản.
SIMM, DIMM và RIMM
Ban đầu, các PC có bộ nhớ được lắp đặt qua những chip riêng lẻ. Chúng thường được xem như là các gói chip hai hàng chân (DIP – dual inline package) vì chính thiết kế vật lý của chúng. IBM XT và AT nguyên thủy có 36 socket trên bo mạch chủ cho nhưng chip riêng lẻ này – Và nhiều socket thường có thể được thấy trên các card bộ nhớ cắm vào các Slot bus. Tôi mất nhiều giờ nghiêm cứu bo mach chủ với các chip này và đấy là một việc làm chán ngắt.
Bên cạnh việc tốn thời gian và cần nhiều nhân công để xử lý bộ nhớ, các chip DIP cũng có một sự cố tai hại chúng dần dần trượt ra khỏi các socket qua thời gian khi hệ thống đi qua các chu kỳ nhiệt. Mỗi ngày, khi bạn mở và tắt hệ thống, hệ thống nóng lên và nguội đi và các chip cũng từ từ lệt khỏi socket, một hiện tượng gọi là chip bò (chip creep). Cuối cùng là liên lạc bị mất, dẫn đến lỗi bộ nhớ. May mắn thay, đặt chip trở lại socket thường sửa chữa được sự cố, nhưng phương pháp đó thường mất nhiều nhân công nếu có nhiều hệ thống cần hỗ trợ.
Thay thế cho điều này là bộ nhớ được hàn dính vào bo mạch chủ hoặc là card mở rộng. Điều này ngăn không cho các chip trượt dần đi và làm cho các kết nối được cố định hơn, nhưng nó cũng gây ra vấn đề khác. Nếu một chip bị hỏng, bạn phải gỡ bỏ mối hàn cũ và hàn lại mối mới hoặc phải sử dụng đến cách gỡ đi bo mạch chủ hay card nhớ mà các chip gắn ở trên đó. Phương pháp này tốn kém và làm cho việc khắc phục sự cố bộ nhớ khó khăn hơn.
Một chip cần thiết ở đây là vừa phải được hàn dính và vừa phải có thể tháo rời được, đó chính là các module bộ nhớ. Module đầu tiên có một hàng các tiếp xúc điện và được gọi là SIMM (single inline memory module), trong khi module sau đó có hai hàng chân và được gọi là DIMM (dual inline memory module) hay RIMM (Rambus inline memory module). Những bo mạch chủ nhỏ này cắm vào module, nên việc tháo gỡ và đặt lại chúng là không thể. Thay vào đó bạn phải thay toàn bộ module nếu bất kỳ bộ phận nào bị hỏng. Module này được coi như thể nó là một chip nhớ lớn.
Vài loại khác nhau của SIMM, DIMM và RIMM thường được sử dụng trong các hệ thống máy tính để bàn. Các loại khác thường được mô tả bằng số điểm chân chốt, dung lương hàng bộ nhớ hoặc loại bộ nhớ của chúng.
Những SIMM, cho ví dụ, có ở hai loại vật lý chính 30 chân (8 bit công thêm một tùy chọn cho 1 bit chẵn lẻ bổ sung) và 72 chân (32 bit cộng thêm một tùy chọn cho 4 bit chẵn lẻ bổ sung) với các dung lượng khác nhau và chi tiết kỹ thuạt khác. Những SIMM 30 chân nhỏ hơn các phiên bản 72 chân về vật lý, phiên bản có thể có chip trên một hoặc hai mặt. SIMM được sử dụng rộng rãi từ cuối những năm 1980 đến cuối những năm 1990, nhưng bây giờ đã trở thành lỗi thời.
DIMM cũng có bốn loại chính, DIMM SDR (single data rate) có 168 pin, một vết khía ở cạnh, hai vết khía dọc theo vùng tiếp xúc, DIMM DDR (double data rate) có 184 pin, hai viết khía ở mỗi cạnh và chỉ có một vết khía khuỷu ống dọc theo vùng tiếp xúc. DIMM DDR2 và DDR3 có 240 pin, hai vết khía ở mỗi cạnh và một vết khía ở gần giữa vùng tiếp xúc. Tất ả các DIMM dung lượng 64 bit (công có ECC/ chẵn lẻ) hoặc 72 bit (chẵn lẻ hoặc mật mã sửa chữa lỗi [ECC]). Sự khác biệt vật lý chính giữa SIMM và DIMM là DIMM có những chân (pin) tín hiệu khác nhau trên mỗi mặt module. Đó là lý do tại sao chúng được gọi là module bộ nhớ hai hàng chân và tại sao chỉ với 1’’ độ dài bổ sung, chúng lại có nhiều chân hơn SIMM.
Lưu ý:
Có sự nhầm lẫn ở người sử dụng và thậm chí cả trong ngành công nghiệp quá lưu ý điều kiện mặt đơn hay mặt đôi đối với các module bộ nhớ. Thực vậy, cái tên mặt đơn (single-sided) hay đôi (double-sided) không mang ý nghĩ gì với các chip được định vị vật lý ở một hay hai mặt module và nó cũng không là gì với các module là SIMM hoặc DIMM (có nghĩa là bất chấp các chân liên kết nối là hàng đơn hay đôi hay không). Thay vào đó, thuật ngữ mặt đơn và mặt đôi được sử dụng để chỉ ra liệu module có một hay hai dãy (được gọi là rank) chip nhớ được lắp đặt hay không. Một module DIMM dãy đôi có hai dãy chip dung lương 64 bit đầy dủ được sắp xếp logic vì thế vodule sau gấp hai lần (gấp hai lần các hàng 64 bit). Trong hầu hết các trường hợp (nhưng không phải là tất cả), điều này đòi hỏi các chip phải ở cả hai mặt module, do vậy, thuật ngữ mặt đôi thường được sử dụng để chỉ ra rằng một module có hai dãy mặc dù thuật ngữ về mặt kỹ thuật là sai. Các module dãy đơn (không chính xác khi được xem như là mặt đơn) có thể có các chip về mặt vật lý được gắn trên cả hai mặt của module, các module dãy đôi có thể có các chip về mặt vật lý được gắn trên chỉ một mặt. Tôi khuyến khích sử dụng thuật ngữ dãy đơn (single-rank) và dãy đôi (dual-rank) vì chúng chính xác hơn và dễ hiểu.
RIMM cũng có những chân tín hiệu khác nhau ở mỗi mặt. Ba loại vật lý khác nhau của RIMM là: một phiên bản 16/18 bit với 184 chân, một phiên bản 32/36 bit với 232 chân và một phiên bản 64/72 bit với 326 chân. Mỗi phiên bản này đều cắm vào cùng bộ nối chung kích cỡ, nhưng các vết khía trong các bộ nối và RIMM khác nhau để ngăn ngừa việc cắm nhầm. Một bo mạch chủ nhất định chỉ nhân được duy nhất một loại RAM mà thôi. Loại phổ biến nất là phiên bản 16/18 bit. Phiên bản 32 bit được giới thiệu vào cuối năm 2002, phiên bản 64 bit được giới thiệu vào năm 2004.
RIMM 16/18 bit chuẩn có 184 pin, một khía ở cạnh, hai khía được định vị ngay giữa vùng trung tâm mặt tiếp xúc. Các phiên bản 16 bit được dung cho các ứng dụng Non-ECC, trong khi các phiên bản 18 bit kết hợp các bit thêm cần thiết cho ECC.
Hình 6.3 đến 6.9 hiển thị theo thứ tự một SIMM 30 chân (8bit) và 72 chân (32 bit) điển hình, SDRAM DIMM 168 chân, DDR SDRAM (64 bit) DIMM 184 chân, DDR2 DIMM 240 chân và RIMM 184 chân. Các pin được đánh từ trái sang phải và được kết nối thông cả hai mặt của module trên SIMM. Các chân DIMM ở mỗi mặt đều khác nhau, nhưng trong mặt của module trên SIMM. Các chân DIMM ở mỗi mặt đều khác nhau, nhưng trong mặt của module trên SIMM. Các chân DIMM ở mỗi mặt đều khác nhau, nhưng trong SIMM các mặt đều giống nhau và đều mang theo các kết nối. Lưu ý rằng tất cả các kích thước đều dưới dạng inch và millimet, các module thường có trong phiên bản mã sữa lỗi (Ecc-error correcting code) với 1 bit ECC thêm (hoặc chẵn lẻ) cho mỗi 8 bit dữ liệu (bội số của 9 trong dung lượng sữ liệu) hoặc phiên bản không bao giờ gồm hỗ trợ ECC (bội số của 8 trong dung lượng dữ liệu).
Tất cả các module bộ nhớ này cân nhắc khá kỹ về số lượng bộ nhớ chúng đang giữ và hiện diện trong vài dung lượng và tốc độ. Bảng 6.13 liệt kê các dung lượng khác nhau trong SIMM, DIMM và RIMM.
Các module của mỗi loại và dung lượng có các đánh giá tốc độ khác nhau. Tham khảo tài liệu bo mạch chủ để biết được tốc độ và loại bộ nhớ chính xác dành cho hệ thống của bạn. Nếu hệ thống đòi hỏi một module bộ nhớ tốc độ cụ thể, hầu như bạn có thể thay thế bằng tốc độ nhanh hơn nếu tốc độ xác định không có. Nói chung, không có rắc rối gì nảy sinh khi trộn lẫn các tốc độ module lại với nhau, miễn là bạn sử dụng các module tương đương hoặc nhanh hơn yêu cầu hệ thống. Bởi vì có chút ít sự khác biệt về giá giữa các phiên bnr tốc độ khác nhau, tô thường thích mua các module nhanh hơn và cần thiết cho một ứng dụng chuyên biệt nào đó. Điều này có thể làm cho chúng tiện lợi hơn trong các hệ thống tương lai cần tốc độ cao hơn.
Bởi vì SDRAM và những module mới hơn có tích hợp một ROM nhận dạng số hàng loạt (SPD: serial presende detect) báo cáo tham số tốc độ và định thời gian cho hệ thống, hầu hết các hệ thống chạy bộ điều khiển bộ nhớ và bú bộ nhớ vở tốc độ phù hợp với module thấp nhất được cài đặt.
Lưu ý:
Mỗi dãy là đơn vị bộ nhớ nhỏ nhất cần thiết để tạo thành một hàng đơn bộ nhớ mà bộ xử lý có thể ghi địa chỉ vào. Đó là đơn vị tối thiểu của bộ nhớ vật lý mà được bộ xử lý đọc hoặc ghi tại một thời điểm và thường tương ứng với dung lượng bus dữ liệu của bộ xử lý. Nếu bộ xử lý có bus dữ liệu 64 bit, dãy bộ nhớ cũng có dung lượng 64 bit. Nếu bộ nhớ chạy hai kênh hay ba kênh, một dãy ảo được hình thành gấp đôi hay gấp ba dung lương bus dữ liệu tuyệt đối của bộ xử lý.
Bạn không thể lúc nào cũng thay thế một module với môt module dung lượng cao hơn và mong muốn nó hoạt động. Các hệ thống có các hạn chế thiết kế riêng về dung lượng tối đa mà module có thể đạt được. Một module dung lượn lớn hơn chỉ hoạt động nếu bo mạch chủ được thiết kế chấp nhận chúng ở vị trí đầu tiên. Tham vấn tài liệu hệ thống của bạn để xác định đúng dung lượng và tốc độ cần dùng.
Các module ghi
Các module SDRAM đến DDR3 thường có sẵn trong các phiên bản không có bộ nhớ đệm (unbuffered), và ghi (registered). Hầu hết các bo mạch chủ PC được thiết kế để sử dụng các module không có bộ nhớ đệm, cho phép các tín hiệu của bộ điều khiển bộ nhớ chuyển trực tiếp đến các chip nhớ trong module mà không bị nhiễu. Đây là không chỉ là thiết kế rẻ nhất mà còn là thiết kế nhanh nhất và hiệu quả nhất. Hạn chế duy nhất là các nhà thiết kế bo mạch chủ phải đặt các giới hạn bao nhiêu module (có nhĩa là các socket module) có thể được cài đặt trên bo, và có thể giới hạn bao nhiêu chip trong một module. Cái gọi là module hai mặt thật ra là có hai dãy chip trên bo có thể bị giới hạn ở vài hệ thống trong các kết hợp cụ thể.
Hệ thống được thiết kế để chập nhận số lượng lớn cực kỳ bộ nhớ RAM (như là các máy chủ) thường đòi hỏi các module ghi (registered). Một module ghi thường sử dụng kiến trúc có các chip thanh ghi trên module mà hoạt động như là một giao diện giữa các chip RAM thực tế và các chipset. Các chip thanh ghi này tạm thời giữ dữ liệu vào và ra các chip nhớ và cho phép niều chip RAM hơn được làm việc hoặc mặt khác được đặt trong module hơn là chipset có thể hỗ trợ thông thường. Điều này cho phép các thiết kế bo mạch chủ có thể hỗ trợ nhiều module và cho phép mỗi module có một số lượng lớn các chip. Nói chung, các module ghi cần thiết cho các bo mạch chủ server và workstation được thiết kế để hỗ trợ nhiều hơn bốn socket. Một sự không bình thường là phiên bản đầu tiên của AMD bộ ử lý Athlon 64 FX cũng sử dụng bộ nhớ ghi bởi vì thiết kế socket 940 của nó được dựa trên bộ xử lý AMD Opteron workstation và máy chủ. Socket 939, AM2 và socket F tiếp theo của Athlon FX không còn bộ nhớ ghi nữa.
Để cung cấp khoảng không gian cần thiết cho các chip nhớ đệm, một DIMM ghi thường cao hơn một DIMM chuẩn. Hình 6.10 so sánh một DIMM ghi điển hình với một DIMM không bộ nhớ điệm điển hình.
Lời khuyên:
Nếu bạn đang lắp đặt DIMM ghi trong một thùng máy nhỏ mỏng, khoảng trống giữa phần trên của DIMM và thùng máy có thể là vấn đề. Một số người bán DIMM ghi thấp có cùng kích cỡ chiều cao với DIMM không bộ nhớ đệm. Sử dụng loại DIMM này nếu hệ thống của bạn không có đủ khoảng trống phía trên cho DIMM ghi chuẩn. Một số nhà cung cấp chỉ bán loại DIMM này cho các hệ thống đặc biệt.
Điều quan trọng cần lưu ý là chỉ có thể sử dụng duy nhất loại module mà bo mạch của bạn (hoặc của chipset) đã được thiết kế để hỗ trợ. Trước hết, đó là các module không bộ nhớ đệm loại tiêu chuẩn, hoặc trong một số trường hợp, là các module ghi.
Theo "Nâng cấp và sửa chữa máy tính" Scott Mueller