Vài điều cơ bản về RAM Timings

1) Mình searched trên Wikipedia tiếng Việt hình như chưa có bài viết nào về RAM Timings cả, nên mình sẽ thử viết xem sao.
2) Mình ko rành thuật ngữ chuyên ngành tiếng Việt, hơn nữa, đã lâu rồi không viết văn dài như vậy, nên các bạn có thể tự do thêm, bớt, hay sửa giúp.
3) Những sự so sánh chỉ có thể thấy nếu chạy chương trình benchmark mà thôi. Tuy nhiên, với dân game chuyên nghiệp, nó sẽ ảnh hưởng tới giá trị fps nhỏ nhất trong khi game khoảng 1 - 2 fps, frames per second (hoặc hơn). Điều này sẽ ảnh hưởng tới lúc game đến cao trào, cần hiệu ứng.

I. Giới thiệu:
Có bao giờ bạn suy nghĩ những tham số trong khung đỏ ở hình dưới có nghĩa gì không?
vforum.vn-320349-afyjjap.png


Hay tại sao nhà sản xuất hay đưa thông số CAS / Latency vào trong model của RAM như trong hình dưới

vforum.vn-320349-2wdgudr.png

Đó gọi là RAM Timings, liên hệ tới hiệu suất của RAM.

II. Memory timings, hay còn gọi là RAM timings:
Dùng để đo hiệu suất của RAM thông qua 4 tham số: CL, T[SUB]RCD[/SUB], T[SUB]RP[/SUB], và T[SUB]RAS[/SUB] (đơn vị là clock cycles), và thường được viết bởi 4 con số cách nhau bởi dấu gạch ngang (ví dụ: 9-9-9-27 theo thứ tự như trong hình trên). Thông thường tham số thứ 4, T[SUB]RAS[/SUB], không được ghi, và thay bằng tham số thứ 5, CR. Những tham số này ảnh hưởng tới thời gian truy xuất dữ liệu của RAM; con số nhỏ hơn có nghĩa rằng hiệu suất cao hơn. Tham số đầu tiên, CL, là quan trọng nhất.

a) CL, CAS latency
CAS là thời gian truy xuất dữ liệu đã có trên RAM, tính từ lúc bắt đầu truy xuất cho tới khi đọc được bit đầu tiên. Đây là thông số quan trọng nhất. Ví dụ CL 9 tức là cần 9 cycle từ lúc được yêu cầu bởi CPU tới khi RAM có thể trả ra kết quả. Điều đó có nghĩa rằng: nếu 2 thanh RAM cùng tần số 1600 MT/s, thì thanh nào có CL nhỏ hơn sẽ nhanh hơn.

b) T[SUB]RCD[/SUB], Row Address to Column Address Delay
RAM được cấu trúc như ma trận gồm dòng và cột. T[SUB]RCD[/SUB] là thời gian để mở 1 dòng bộ nhớ mới và đọc bit dữ liệu đầu tiên trên cột nào đó.

c) T[SUB]RP[/SUB], Row Precharge Time
Thời gian để precharge và mở 1 dòng dữ liệu mới.

d) T[SUB]RAS, [/SUB]Row Active Time
Thời gian xóa 1 dòng dữ liệu và tạo lại mới.

e) CR, Command Rate
Thời gian giữa việc activate chip điều khiển bộ nhớ cho tới khi mệnh lệnh được gửi tới bộ nhớ. Thường giá trị hay ghi là T1 (1 clock cycle) hay là T2 (2 clock cycles).

Bạn sẽ thắc mắc Timings chỉ là clock cycle, thì làm sao nói lên được gì về hiệu suất chung của RAM, làm sao so sánh các loại RAM khác nhau. Bạn đã đoán đúng! Timings đứng một mình không có ý nghĩa gì cả, nhưng nếu lấy tỉ lệ của Timings với tần số sẽ cho ra nhận xét mới.

III. Sự liên hệ giữa Frequency và Timings:
Dựa vào công thức
Thời gian = 1 / Tần số,​

ta có thể tính được thời gian để truy xuất dữ liệu trên RAM là
CL / Tần số * 1000 (ns).

Con số nào nhỏ hơn thì RAM đó hiệu suất tốt hơn. Vài ví dụ về công thức trên:

a) PC3-12800 (1600 MT/s) CL 9 sẽ có thời gian truy xuất là:
9 / 800 * 1000 = 11.25 (ns)

b) PC3-12800 (1600 MT/s) CL 10 sẽ có thời gian truy xuất là:
10 / 800 * 1000 = 12.5 (ns)

c) PC3-17000 (2133 MT/s) CL 11 sẽ có thời gian truy xuất là:
11 / 1066 * 1000 = 10.31 (ns)

Lưu ý:
- Bạn sẽ thắc mắc tại sao tăng tần số thì CL phải tăng theo, đó là bởi vì để giữ cho RAM ổn định, không bị overheat.
- RAM Laptop bao giờ cũng có CL cao hơn CL của RAM desktop.
- Khi bạn OC RAM, để giữ cho RAM ổn định, thì bạn phải nâng Timings lên. Đương nhiên còn cả vấn đề voltage, mình không tiện đi sâu vào ở đây.

IV. Tại sao cần biết về RAM Timings?
- Tăng kiến thức, hiểu biết thêm về RAM.
- Máy tính sử dụng RAM chỉ ở khoảng thời gian cực ngắn, nhưng nhiều lần liên tục. Mỗi lần truy xuất dữ liệu ko ở cạnh nhau (RAM = Random Access Memory) cho nên RAM phải thường bắt đầu quá trình truyền dữ liệu mới. Bởi vậy CPU phải chờ sau mỗi lần yêu cầu dữ liệu mới. CPU chờ càng ít thì hiệu suất RAM càng cao.
- Đối với bạn OC RAM, timings vô cùng quan trọng, bởi vì khi tăng tần số thì phải tăng timings theo cho ổn định. Bởi vậy, khi chọn RAM, bạn sẽ thường chọn RAM có timings ban đầu thấp rồi OC lên để vẫn giữ hiệu suất của máy.
- Nếu dùng chương trình nặng về bộ nhớ (hình ảnh có độ phân giải cao, 3D models, simulations,...) thì timings vô cùng quan trọng, sẽ giúp tăng năng suất làm việc của bạn.

V. Tại sao đa số người dùng ít quan tâm tới RAM Timings?
- RAM Timings vô cùng nhỏ, so với thời gian chờ của những thiết bị khác (ví dụ như ổ cứng), cho nên sự chậm trễ của RAM thường ít quan trọng hơn những thiết bị khác. Điều này bạn có thể thấy được qua đơn vị thời gian ở trên (nano seconds). Con số tính được chỉ vài chục nano seconds (phần tỉ của giây), so sánh với thời gian truy xuất ổ cứng bạn nhé! Nhưng nếu bạn muốn máy của mình hoạt động hết hiệu suất, RAM timings là yếu tố không thể thiếu.
- Ít người sử dụng chạy và làm việc trên những chương trình thật sự yêu cầu hiệu suất bộ nhớ.
- Tiền đầu tư cho 1 thiết bị khác để thấy hiệu suất sẽ đáng giá hơn bỏ tiền đầu tư tối ưu cho RAM timings. Cho nên RAM Timings hay được chú ý lúc bắt đầu build hệ thống. Khi hệ thống đã hoàn thiện, bạn sẽ không quan tâm tới yếu tố này nữa, trừ khi bạn có dự định OC.
- Tốc độ gia tăng tần số của RAM nhanh hơn tốc độ giảm timings, bởi vậy mặc dù công nghệ hiện nay cho phép giảm timings ở nhiều loại RAM cũ, nhưng đa số đều chú trọng tần số của RAM. Vì vậy RAM Timings cho 1 tần số sẽ "tối ưu" sau 1 năm loại RAM đó ra đời. Đây cũng là yếu tố mà tần số của RAM được xem trọng hơn.

VI. Benchmark thể hiện hiệu suất liên quan tới timings:
rrQcqE7.jpg

BbYh3z1.png

Cả 2 hình đều thấy CL thấp sẽ đẩy hiệu suất máy tới giới hạn thật của nó.

Nếu mình viết sai, mong mọi người góp ý giúp. Đây cũng là kiến thức mình mới biết trong vài năm gần đây.

Xin cám ơn.
 
Sửa lần cuối:

VSupport

Ngây thơ trong tối
Đúng là không để ý thật, Thanks thớt đã chia sẻ :troll2:
 
bài viết bổ ích thế này, dân ngoại đạo như em đọc mà cũng ngấm ra nhiều thứ, cám ơn bro đã chia sẻ
 
Top