A 512 MB SDRAM DIMM (trong đó có 512 MiB = 512 × 2 20 byte = 536. 870. 912 byte chính xác) có thể được thực hiện 8 hoặc 9 SDRAM chip, mỗi 512 có chứa M bit lưu trữ, và mỗi 1 góp phần 8 bit 64 các của DIMM - hoặc chiều rộng 72-bit. Một điển hình 512 Mbit SDRAM chip bên trong chứa 4 độc lập 16 bank bộ nhớ Mbyte. Mỗi bank là một mảng của 8192 hàng 16. 384 bit mỗi. Một bank hoặc nhàn rỗi, hoạt động, hoặc thay đổi từ một đến khác.
Active lệnh kích hoạt một bank nhàn rỗi. Nó trình bày một địa chỉ bank 2-bit (ba0 BA1) và một địa chỉ hàng 13-bit (A0 A12), và gây ra một chi của dòng đó vào mảng bank của tất cả 16. 384 bộ khuếch đại các cột. Điều này còn được gọi là "mở" hàng. Hoạt động này có tác dụng phụ làm mới (điện dung) các tế bào lưu trữ bộ nhớ động của hàng đó.
Một khi hàng đã được kích hoạt hoặc "mở", Đọc và viết lệnh là có thể để dòng đó. Yêu cầu kích hoạt một số lượng tối thiểu của thời gian, được gọi là sự chậm trễ hàng cột hoặc hàng trước khi đọc hoặc viết cho nó có thể xảy ra. Thời gian này, làm tròn lên đến nhiều tiếp theo của thời kỳ đồng hồ, xác định số lượng tối thiểu của chu kỳ chờ đợi giữa một lệnh đăng nhập, và một Đọc Viết lệnh. Trong những chu kỳ chờ đợi, các lệnh bổ sung có thể được gửi đến các bank khác, bởi vì mỗi bank hoạt động hoàn toàn độc lập.
Cả hai đọc và ghi các lệnh yêu cầu một địa chỉ cột. Bởi vì mỗi chip truy cập 8 bit dữ liệu tại một thời điểm, có 2. 048 cột địa chỉ có thể do đó đòi hỏi chỉ có 11 dòng địa chỉ (A0 A9, A11).
Khi đọc một lệnh được ban hành, SDRAM sẽ sản xuất các dữ liệu đầu ra tương ứng trên các đường DQ trong thời gian cho các cạnh lên của đồng hồ 2 hoặc 3 chu kỳ đồng hồ sau (tùy thuộc vào cấu hình độ trễ CAS). Từ tiếp theo của cụm sẽ được sản xuất trong thời gian cho các cạnh đồng hồ sau đó tăng lên.
Một lệnh Write được đi kèm bởi các dữ liệu được viết bằng điều khiển trên các đường DQ trong cạnh đồng hồ cùng một gia tăng. Đây là nhiệm vụ của bộ điều khiển bộ nhớ để đảm bảo SDRAM không được điều chỉnh đọc dữ liệu trên các dòng DQ cùng một lúc mà nó cần phải điều chỉnh ghi dữ liệu trên các đường dây. Điều này có thể được thực hiện bằng cách chờ đợi cho đến khi việc đọc đã kết thúc, chấm dứt việc đọc, hoặc bằng cách sử dụng dòng điều khiển DQM.
đến như một hoạt động "Precharge", hoặc "close" hàng. Precharge có thể được chỉ huy một cách rõ ràng, hoặc nó có thể được thực hiện tự động tại các kết luận của đọc hoặc viết hoạt động. Một lần nữa, có một thời gian tối thiểu, sự chậm trễ Precharge hàng, t RP, mà phải trôi qua trước khi bank đó là hoàn toàn nhàn rỗi và nó có thể nhận được một lệnh kích hoạt.
Mặc dù làm mới hàng là một tác dụng phụ tự động kích hoạt nó, có một thời gian tối thiểu cho điều này xảy ra, mà đòi hỏi phải có một hàng truy cập tối thiểu thời gian t RAS sự chậm trễ giữa Active một lệnh mở một hàng, và Precharge lệnh tương ứng đóng nó. Giới hạn này thường được so mong muốn đọc và viết các lệnh để hàng, vì vậy giá trị của nó ít có.
2.3.1.4. Lệnh tương tác.
Các lệnh không hoạt động được cho phép.
Chế độ lệnh tải đăng ký yêu cầu rằng tất cả các bank được nhàn rỗi, và sự chậm trễ sau đó cho những thay đổi có hiệu lực.
Các lệnh tự động làm mới cũng yêu cầu rằng tất cả các bank được nhàn rỗi, và một chu kỳ làm mới thời gian t RFC để trả lại con chip vào trạng thái nhàn rỗi. (Thời gian này thường là bằng RCDt + t RP.)
Các lệnh khác được phép vào một bank nhàn rỗi là lệnh hoạt động. Này có, như đã đề cập ở trên, t RCD trước khi hàng là hoàn toàn mở và có thể chấp nhận đọc và viết các lệnh.
Khi một bank mở cửa, có bốn lệnh cho phép đọc, viết, vỡ chấm dứt, và Precharge. Đọc và viết các lệnh bắt đầu bùng nổ, có thể bị gián đoạn bởi các lệnh sau đây.
2.3.2. DDR SDRAM 2.3.2.1. Khái quát
DDR-SDRAM : Ta có 3 loại bộ nhớ DDR, DDR2 và DDR3.
DDR là viết tắt của Tốc độ dữ liệu gấp đôi – Double Data Rate , tức truyền được hai khối dữ liệu trong một xung nhịp. Trước khi bắt đầu, bạn cần biết rằng DDR, DDR2 và DDR3 đều dựa trên thiết kế SDRAM , tức là sử dụng tín hiệu xung nhịp để đồng bộ hóa mọi thứ. Như vậy bộ nhớ DDR
có tốc độ truyền dữ liệu cao gấp đôi so với những bộ nhớ có cùng tốc độ xung nhịp nhưng không có tính năng này ( được gọi là bộ nhớ SDRAM).
Hình 2.5. DDR (DDR cũng sử dụng giao diện DIMM như SDRAM, nhưng có tới 184 chân và chỉ có 1 khe cắt. Nó cũng dùng một kênh đơn như SDRAM nên có thể chạy độc lập, từng thanh một)
Nhờ tính năng này mà trên nhãn của những thanh nhớ thường ghi tốc độ tốc gấp đôi so với tốc độ đồng hồ xung nhịp thực . Ví dụ bộ nhớ DDR2-800 làm việc ở tốc độ 400 MHz, DDR2-1066 và DDR3-1066 làm việc ở tốc độ 533 MHz, DDR3-1333 ở 666.6 MHz … Cần nhớ rằng các tốc độ xung nhịp này là tốc độ tối đa mà bộ nhớ chính thức có được; chứ không thể tự động chạy ở những tốc độ như vậy. Ví dụ, nếu bạn dùng bộ nhớ DDR2-1066 lên một máy tính chỉ có thể (hoặc bị cấu hình nhầm) truy cập hệ thống ở tốc độ 400 MHz (800 MHz DDR), thì những bộ nhớ này chỉ có thể truy cập tại 400 MHz (800 MHz DDR) chứ không phải 533 MHz (1,066 MHz DDR). Đó là do tín hiệu xung nhịp được mạch điều khiển bộ nhớ cung cấp, mà mạch điều khiển bộ nhớ lại nằm ngoài bộ nhớ (trong Chip NorthBridge ở bo mạch chủ hoặc tích hợp bên trong CPU, tùy vào từng hệ thống ).
Trên lý thuyết, bộ nhớ DDRx-yyyy (trong đó x là thế hệ công nghệ, còn yyyy là tốc độ xung nhịp DDR) chỉ có thể sử dụng cho chip bộ nhớ.
Những thanh nhớ ( Module ) — bảng mạch điện tử nhỏ gắn những Chip nhớ — sử dụng một cái tên khác: PCx-zzzz, trong đó x là thế hệ công nghệ, còn zzzz là tốc độ truyền tải tối đa trên lý thuyết (còn gọi là băng thông tối đa). Con số này cho biết bao nhiêu Byte dữ liệu có thể được truyền từ mạch điều khiển bộ nhớ sang Module bộ nhớ trong mỗi xung
Bài toán này rất dễ giải bằng cách nhân xung nhịp DDR tính bằng MHz với 8, ta sẽ có tốc độ truyền tải tối đa trên lý thuyết tính bằng MB/giây. Ví dụ, bộ nhớ DDR2-800 có tốc độ truyền tải tối đa trên lý thuyết là 6,400 MB/giây (800 x và Module bộ nhớ mang tên PC2-6400. Trong một số trường hợp, con số này được làm tròn. Ví dụ như bô nhớ DDR3-1333 có tốc độ truyền tải tối đa trên lý thuyết là 10,666 MB/giây nhưng module bộ nhớ của nó lại có tên PC3-10666 hoặc PC3-10600 tùy nhà sản xuất. Cần phải hiểu rằng những con số này chỉ là số tối đa trên lý thuyết, và trên thực tế chúng không bao giờ đạt đến, bởi bài toán chúng ta đang tính có giả thiết rằng bộ nhớ sẽ gửi dữ liệu đến mạch điều khiển bộ nhớ theo từng xung nhịp một, mà điều này thì không xảy ra. Mạch điều khiển bộ nhớ và bộ nhớ cần trao đổi lệnh (ví dụ như lệnh hướng dẫn bộ nhớ gửi dữ liệu được chứa tại một vị trí nhất định) và trong suốt thời gian này bộ nhớ sẽ không gửi dữ liệu.
Trên đây là lý thuyết cơ bản về bộ nhớ DDR, hãy đến với những thông tin cụ thể hơn.
2.3.2.2.Tốc độ
Một trong những khác biệt chính giữa DDR, DDR2 và DDR3 là tốc độ truyền dữ liệu lớn nhất của từng thế hệ. Dưới đây là danh sách tốc độ chung nhất cho từng thế hệ. Một số nhà sản xuất đã tạo ra được những loại chip lớn hơn cả tốc độ trong bảng–ví dụ như các bộ nhớ đặc biệt
hướng tới giới overclock. Những xung nhịp có đuôi 33 hoặc 66MHz thực ra đã được làm tròn (từ 33.3333 và 66.6666).
Bảng 2.2. Tốc độ của những bộ nhớ DDR,DDR2,DDR3
2.3.2.3. Điện áp
Bộ nhớ DDR3 hoạt động ở điện áp thấp hơn so với DDR2, DDR2 lại dùng điện áp thấp hơn DDR. Như vậy bộ nhớ DDR3 sẽ tiêu thụ ít điện hơn DDR2, và DDR2 tiêu thụ ít hơn DDR.
Thường thì bộ nhớ DDR sử dụng điện 2.5 V, DDR2 dùng điện 1.8 V và DDR3 là 1.5 V (mặc dù các module cần đến 1.6 V hoặc 1.65 V rất phổ biến và những chip chỉ yêu cầu 1.35 V trong tương lai cũng không phải là hiếm). Một số module bộ nhớ có thể yêu cầu điện áp cao hơn, nhất là khi bộ nhớ hỗ trợ hoạt động như bộ nhớ để overclock.
2.3.2.4.Thời gian trễ
Thời gian trễ là khoảng thời gian mà mạch điều khiển bộ nhớ phải đợi từ lúc yêu cầu lấy dữ liệu cho đến lúc dữ liệu thực sự được gửi tới đầu ra . Nó còn được gọi là CAS Latency hoặc đơn giản là CL. Con số này được viết theo đơn vị chu kỳ xung nhịp. Ví dụ một bộ nhớ có CL3 tức là mạch điều khiển bộ nhớ phải đợi 3 chu kỳ xung nhịp từ lúc truy vấn cho đến khi dữ liệu được gửi. Với một bộ nhớ CL5, mạch điều khiển bộ nhớ phải đợi 5 chu kỳ xung nhịp . Vì thế cần sử dụng những Module có CL thấp nhất có thể.
Bộ nhớ DDR3 có nhiều chu kì xung nhịp trễ lớn hơn bộ nhớ DDR2, và DDR2 lại có nhiều chu kì xung nhịp trễ cao hơn DDR. Bộ nhớ DDR2 và DDR3 còn có thêm một chỉ số nữa gọi là AL (Thời gian trễ bổ sung –
Additional Latency ) hoặc đơn giản là A. Với bộ nhớ DDR2 và DDR3, tổng thời gian trễ sẽ là CL+AL. May thay gần như toàn bộ các bộ nhớ DDR2 và DDR3 đều có AL 0, tức là không có thêm thời gian trễ bổ sung nào cả.
Bảng 2.3. Bảng tổng hợp giá trị CL phổ biến nhất
Như vậy bộ nhớ DDR3 cần hoãn nhiều chu kỳ xung nhịp hơn so với DDR2 mới có thể chuyển được dữ liệu, nhưng điều này không hẳn đồng nghĩa với thời gian đợi lâu hơn (nó chỉ đúng khi so sánh các bộ nhớ cùng tốc độ xung nhịp).
Ví dụ, một bộ nhớ DDR2-800 CL5 sẽ hoãn ít thời gian hơn (nhanh hơn) khi chuyển dữ liệu so với bộ nhớ DDR3-800 CL7. Tuy nhiên, do cả hai đều là bộ nhớ “800 MHz” nên đều có cùng tốc độ truyền tải lớn nhất trên lý
thuyết (6,400 MB/s). Ngoài ra cũng cần nhớ rằng bộ nhớ DDR3 sẽ tiêu thụ ít điện năng hơn so với bộ nhớ DDR2.
Khi so sánh các module có tốc độ xung nhịp khác nhau, bạn cần phải tính toán một chút. Chú ý rằng chúng ta đang nói đến “chu kỳ xung nhịp.” Khi xung nhịp cao hơn, chu kỳ từng xung nhịp cũng ngắn hơn.
Ví dụ với bộ nhớ DDR2-800, mỗi chu kỳ xung nhịp kéo dài 2.5 nano giây, chu kỳ = 1/tần số (chú ý rằng bạn cần sử dụng xung nhịp thực chứ không phải xung nhịp DDR trong công thức này; để đơn giản hơn chúng tôi đã tổng hợp một bảng tham khảo dưới đây). Vì thế một bộ nhớ DDR2-800 có CL 5 thì thời gian chờ ban đầu này sẽ tương đương 12.5 ns (2.5 ns x 5). Tiếp đến hãy giả sử một bộ nhớ DDR3-1333 với CL 7. Với bộ nhớ này mỗi chu kỳ xung nhịp sẽ kéo dài 1.5 ns (xem bảng dưới), vì thế tổng thời gian trễ sẽ là 10.5 ns (1.5 ns x 7). Vì vậy mặc dù thời gian trễ của bộ nhớ DDR3 có vẻ cao hơn (7 so với 5), thời gian chờ thực tế lại thấp hơn. Vì thế đừng nghĩ rằng DDR3 có thời gian trễ tệ hơn DDR2 bởi nó còn tùy thuộc vào tốc độ xung nhịp.
Thường thì nhà sản xuất sẽ công bố Timings bộ nhớ theo dạng một dãy số được phân chia bởi dấu gạch ngang (như 5-5-5-5, 7-10-10-10…). Thời gian trễ CAS thường là số đầu tiên trong chuỗi.
Bộ nhớ động chứa dữ liệu bên trong một mảng gồm nhiều tụ điện nhỏ. Bộ nhớ DDR truyền được 2 bit dữ liệu với mỗi chu kỳ từ mảng bộ nhớ tới bộ đệm I/O bên trong bộ nhớ . Quy trình này gọi là Prefetch 2-bit. Trong DDR2, đường dữ liệu bên trong này được tăng lên tới 4-bit và trong DDR3 là 8-bit. Đây chính là bí quyết giúp DDR3 hoạt động được ở tốc độ xung nhịp cao hơn DDR2, và DDR2 cao hơn DDR.
Để hiểu rõ hơn điều này hãy so sánh một chip bộ nhớ DDR-400, chip bộ nhớ DDR2-400 và Chip bộ nhớ DDR3-400 (cứ giả sử rằng bộ nhớ DDR3- 400 có tồn tại). 3 chip này bên ngoài hoạt động ở tốc độ 200 MHz, truyền 2 bit dữ liệu mỗi chu ky, đạt tốc độ ngoài như thể đang hoạt động ở 400
MHz. Tuy nhiên bên trong, chip DDR truyền được 2 bit từ mảng bộ nhớ đến bộ nhớ đệm I/O, vì thế để khớp với tốc độ giao diện I/O, đường dữ liệu này phải hoạt động ở 200 MHz (200 MHz x 2 = 400 MHz). Do trong DDR2 đường dữ liệu này được tăng từ 2 lên 4 bit nên nó có thể chạy ở tốc độ bằng một nửa tốc độ xung nhịp nhằm đạt tốc độ y hệt (100 MHz x 4 = 400 MHz). Với DDR3 cũng vậy: đường dữ liệu được tăng gấp đôi lên 4 bit, vì thế nó có thể chạy ở tốc độ xung nhịp bằng một nửa so với DDR2, hoặc chỉ bằng ¼ tốc độ xung nhịp của DDR, và cũng đạt tốc độ như vậy (50 MHz x 8 = 400 MHz).
Việc nhân đôi đường dữ liệu bên trong sau từng thế hệ đồng nghĩa với việc mỗi thế hệ bộ nhớ mới có thể có chip với tốc độ xung nhịp tối đa gấp đôi so với thế hệ trước đo. Ví dụ 3 bộ nhớ DDR-400, DDR2-800 và DDR3- 1600 đều có cùng tốc độ xung nhịp bên trong bằng nhau (200 MHz).