kiến thức Ryzen 3000, RAM speed, timing & Infinity Fabric

Tại sao lại khuyến khích dùng RAM bus cao với Ryzen? Mối quan hệ giữa RAM, CPU, Infinity Fabaric là gì? Bài viết này sẽ cố gắng giải đáp câu hỏi trên.

Nội dung tóm tắt:

Cơ chế hoạt động:
- Các CPU core, bộ khiển nhớ (memory controller), các thiết bị ngoại vi khác,... được kết nối với nhau nhờ Infinity Fabric như cách hệ thống giao thông kết nối một thành phố. Xung Infinity fabric (FCLK) càng cao thì tốc độ truyền nhận dữ liệu bên trong CPU càng cao nhưng cũng có thể dẫn đến khả năng giao tiếp bị chậm lại do mất đồng bộ về thời điểm truyền tin giữa các bộ phận.

- Nếu Infinity Fabric chạy quá chậm thì tốc độ truyền tin thấp, hoặc tuy nhanh nhưng chưa đủ nhanh thì các bộ phận khác trong CPU sẽ bị lỡ mất thời điểm truyền dữ liệu tới nhau (nhất là giữa CPU Core với Memory Controller). Mặc định là xung Infinity Fabric = xung bộ khiển nhớ (FCLK = UCLK) để đảm bảo tính đồng bộ.

- Max FCLK của mỗi con CPU sẽ khác nhau. Cao nhất thường thấy là 1900MHz, trường hợp hiếm là 1933MHz. Những con chip dòng cao như Ryzen 7 hoặc 9 do chip thuộc hàng binning tốt nên thường có thể lên FCLK cao hơn các con CPU dòng Ryzen 3 hoặc 5 . Đồng nghĩa với việc có khả năng chạy RAM nhanh mà vẫn đảm việc truyền dữ liệu không bị mất đồng bộ.

- RAM có 2 thứ quan trọng nhất cần lưu ý là xung nhịp RAM (RAM Frequency) và độ trễ truy xuất (Cas Latency). RAM Frequency ảnh hưởng đến số lần truyền dữ liệu giữa CPU<->RAM (băng thông) trong khi Cas Latency là khoản thời gian chờ đợi trong việc đáp ứng các yêu cầu truy xuất. Cas Latency càng thấp thì tần suất xử lý yêu cầu truy xuất càng cao.

  • Tần suất yêu cầu truy xuất thấp nhưng gói dữ liệu lớn thì RAM Frequency cao sẽ ảnh hưởng hiệu năng nhiều nhất (xét về băng thông), Cas Latency ít ảnh hưởng hơn.
  • Tần suất yêu cầu truy xuất cao nhưng gói dữ liệu nhỏ thì Cas Latency thấp sẽ giúp tăng hiệu năng tốt nhất chứ không phải RAM Frequency.

Áp dụng lên thực tế:
- Nói về các ứng dụng thiên về tính toán mà ít đưa ra các yêu cầu truy xuất dữ liệu nhiều như việc Render thì không bị ảnh hưởng lắm bởi Infinity Fabric, RAM speed, timing, latency. Chủ yếu bị ảnh hưởng bởi xung CPU. Thím nào mua về chỉ render có thể dùng RAM bus thấp (MT/s = 2133~2666) mà công việc cũng không bị ảnh hưởng mấy. Nói vậy thôi bèo lắm cũng nên mua RAM 2666 tại 2133 với 2400 là quá chậm rồi, tiền không hơn bao nhiêu.

- Game là ứng dụng hay đưa ra các yêu cầu truy xuất dữ liệu, có thể gói dữ liệu không lớn nhưng tần suất yêu cầu thường khá cao. Tùy game mà thích độ trễ thấp hơn là băng thông cao hoặc là thích cả hai. Nếu máy dùng để chơi game thì nên chú trọng dùng RAM bus cao (MT/s = 3000~3800), Cas Latency thấp và tự chỉnh lại timing bằng DRAM calculator for Ryzen để giảm độ trễ hết mức có thể (dùng Thaiphoon để biết RAM chip gì - đọc thêm về OC DDR4 tại đây).

- Chơi game thì RAM 3200 thấy hợp với túi tiền nhất, hiệu năng so với 3600/3800 không kém mấy trừ phi có card VGA khủng như 2080ti. Nếu đang có RAM bus thấp thì nên siết lại timing và tăng FCLK (1900MHz trở xuống) để giảm độ trễ và tăng tốc độ truyền nhận dữ liệu trong CPU.

- iGPU của APU rất cần băng thông, nên chú trọng mua RAM bus cao và tự chỉnh timing sẽ đưa ra kết quả tốt nhất.

- Thím nào có ý định chạy RAM từ 3866 trở lên thì khuyên nên tự chỉnh FCLK cho mức cao nhất mà con chip có thể chịu được để giảm độ trễ. Bởi từ RAM 3866 trở lên thì xung bộ khiển nhớ (UCLK) sẽ không đồng bộ với RAM Frequency nữa mà chạy ở mức 1 : 2. Tức UCLK chỉ bằng 1/2 RAM Frequency. Đồng bộ FCLK với UCLK lúc này có thể không đáng nữa bởi vì UCLK hiện đang rất thấp.

Nội dung chi tiết:
Tính toán
Khả nảng tính toán của CPU thì phụ thuộc vào kiến trúc và xung nhịp CPU là chủ yếu. 2 con CPU cùng chung một kiến trúc thì con nào xung cao hơn sẽ có khả năng tính toán cao hơn. Tuy nhiên sau khi tính toán đưa ra kết quả thì CPU bắt buộc phải ghi vào RAM, và để đưa lệnh và dữ liệu cho CPU cũng bắt buộc phải được đọc từ RAM.
RAM bus cao và timing thấp sẽ tăng khả năng truy xuất dữ liệu cho CPU. Nếu phần mềm các thím sử dụng nhạy cảm với khả năng truy xuất dữ liệu thì RAM bus cao cùng độ trễ thấp sẽ giúp tăng hiệu năng của phần mềm ấy.

Memory Controller (Bộ khiển nhớ)
Bộ phận đảm nhiệm việc làm cầu nối giữa CPU<->RAM. Cái này hay được gọi là con chip cầu bắc hoặc NB(Northbridge) tại hồi xưa con chip này là riêng biệt và nằm trên mainboard và ở gần CPU và phía trên con Chipset(SB-Southbridge). Dần dần thì AMD và Intel tích hợp con chip này vào luôn CPU. Hiện tại thì AMD đặt tên bộ phận này là "Unified Memory Controller" với tên gọi xung nhịp là (UCLK).

Ram Frequency

Xung nhịp của RAM (MEMCLK), RAM đang dùng từ đời DDR, DDR2, DDR3, DDR4 là Double Data Rate thay vì Single Data Rate tức với mỗi nhịp của chip nhớ (memory chip) thì sẽ truyền dữ liệu được 2 lần thay vì 1 lần. Ví dụ DDR4 với RAM Frequency (MEMCLK) = 1600 MHz sẽ có MT/s = 3200 tức 3,200,000,000 lần truyền dữ liệu/giây với mỗi lần truyền được 64bit (do độ rộng băng thông của một channel là 64bit). Đây là lý do tại sao người ta thường khuyến khích chạy 2 cây RAM (Dual Channel) thay vì 1 cây RAM (Single Channel), bởi Bus Width (độ rộng băng thông) của Dual Channel = 128bit so với Single Channel = 64bit.

Infinity Fabric
Bộ phận được giới thiệu từ thế hệ Zen đầu tiên, đảm nhiệm việc liên lạc giữa các CPU die với nhau và xung nhịp được đồng bộ (Sync) với Memory controller, là cầu nối truy xuất dữ liệu giữa Core<->Core, CPU<->RAM và CPU<-> các linh kiện khác như keyboard, mouse. Ở Ryzen 1000, 2000 thì nó chỉ nằm trên CPU die, sang Ryzen 3000 thì AMD dành thêm một die riêng cho bộ phận này, gọi là IO die.

5FDOGw7.jpg

Phần khoanh tròn là IO die

CG5jAAZ.jpg

Cơ cấu hoạt động của Infinity Fabric

YpzlMhv.jpg

Đối với APU thì Infinity Fabric còn là mối liên kết giữa CPU và iGPU

Etl7QvC.jpg

Infinity Fabric đối với các Threadripper đời 2000 (tương tự với đời 1000)

Infinity Fabric đảm nhiệm phần truy xuất/liên kết nên "xung Infinity fabric"(FCLK) cao đồng nghĩa với việc độ trễ truy xuất thấp.

FCLK vs UCLK vs MEMCLK
Đời Zen và Zen+
(Ryzen 1000/2000 tính luôn cả APU 3200G/3400G) thì tỷ lệ mặc định FCLK : UCLK = MEMCLK, tức xung nhịp RAM bao nhiêu thì xung nhịp bộ khiển nhớ cũng bấy nhiêu. Và vì xung nhịp Infinity Fabric (FCLK)= xung nhịp bộ khiển nhớ (UCLK) nên xung nhịp RAM (MEMCLK) càng cao bao nhiêu thì xung nhịp Infinity Fabric cũng cao bấy nhiêu. Điều này dẫn tới việc tăng tốc độ truyền tải dữ liệu và cũng giảm độ trễ trong giao tiếp giữa core với core, die với die và CPU với RAM.

Khuyến khích chạy RAM bus cao từ đời Ryzen 1000 cũng vì lý do trên, không phải chỉ để tăng băng thông bộ nhớ mà chủ yếu để tăng FCLK nhằm giảm độ trễ truy xuất dữ liệu.

Đời Zen 2
(Ryzen 3000 không tính APU 3200G/3400G) FCLK được tách rời khỏi UCLK (mặc định FCLK : UCLK = 1 : 1 nhưng có thể tùy chỉnh nếu muốn). Riêng UCLK thì chạy ở 2 chế độ:
  • UCLK : MEMCLK = 1 : 1 mặc định cho RAM với MT/s = 2133~3800 (1066.5~1900 MHz).
  • UCLK : MEMCLK = 1 : 2 mặc định cho RAM với MT/s = 3866 trở lên (1933 MHz +). Xung bộ khiển nhớ chỉ bằng 1/2 xung RAM nếu chạy RAM 3866 trở lên.

AMD khuyến khích người dùng để FCLK trùng với xung nhịp của RAM (tức xung nhịp của bộ khiển nhớ) đối với RAM 3800 trở xuống (mặc định tỷ lệ 1:1). Nhưng do đời Zen 2 cho phép tùy chỉnh FCLK nên người dùng với RAM bus thấp (MT/s = 2133~2666) vẫn có thể tăng FCLK để tăng tốc độ liên kết giữa các bộ phận mà không cần phải dùng RAM bus cao (MT/s = 3000~3800).

Render
3nuaqA7.jpg


RpxJ1PD.jpg

Điểm Cinebench R20 dường như không bị tác động nhiều bởi RAM hoặc FCLK

tEB92Zf.jpg

Corona Render cũng tương tự, giảm được vài s.

Khả năng tính toán của CPU thì phụ thuộc chủ yếu vào xung nhịp CPU chứ không phải FCLK nên RAM bus cao hoặc FCLK cao không ảnh hưởng gì nhiều đến khả năng render.

Băng thông (Bandwidth)
Riêng về băng thông thì bị ảnh hưởng bởi RAM bus là chủ yếu.
o6ccr82.jpg


jubR0jg.jpg

Thím nào chơi APU và chỉ dùng iGPU thì hãy đầu tư cho RAM bus cao.

Gaming
Các ứng dụng game khá nhạy cảm với độ trễ của việc truy xuất dữ liệu nên RAM bus cao, tight timing và FCLK cao sẽ giúp tăng FPS. Giải thích đơn giản là nếu có một bộ phận công chứng giấy tờ với khả năng xử lý là 1000 bộ hồ sơ/ 1 tháng.

Có 2 cách để giải quyết:
Thứ nhất, gộp hết tất cả hồ sơ và giao cùng một lần cho bộ phận công chứng vào đầu tháng và sẽ gửi kết quả và cuối tháng.
Thứ hai, nhận đến đâu sẽ giải quyết đến đó và gửi kết quả đi nhanh hết mức có thể.

Cả 2 trường hợp đều sẽ xử lý 1000 bộ hồ sơ trong 1 tháng nhưng độ trễ sẽ khác nhau.

RAM 2133, tight timing, tỷ lệ FLCK : UCLK/MEMCLK = 1:1 vs FCLK 1900
FY3qUZ0.jpg

KwjfLc2.jpg


So sánh với RAM bus cao hơn và tỷ lệ FLCK : UCLK/MEMCLK = 1:1
rqE1F5H.jpg

fEZ6ne0.jpg


Game rất nhạy cảm với độ trễ trong truy xuất dữ liệu, có thể giảm độ trễ này bằng cách chỉnh lại timing với DRAM calculator for Ryzen hoặc tăng FCLK. Nhưng nếu có RAM bus cao thì tight timing sẽ giúp giảm độ trễ rất nhiều, đồng nghĩa với việc tăng FPS trong game.

RAM 3800 loose vs tight timing, tỷ lệ FLCK : UCLK/MEMCLK = 1:1
E0iAuCZ.jpg

gY7YL71.jpg


Tự chỉnh timing thay vì dùng XMP sẽ giúp tăng FPS mà không cần đến việc OC FCLK
Vj9AHLd.jpg

Assassin Creed Odyssey khá nhạy cảm với độ trễ thấp nhưng băng thông cao không quan trọng lắm, trừ phi có card VGA khủng.

16VOg5t.jpg

World War Z thích băng thông cao hơn là độ trễ thấp

Nguồn:

Edit:
22/06/2020
  • Làm rõ thế nào là RAM bus thấp/cao.
  • Phân biệt thêm sự khác biệt giữa RAM Frequency (MEMCLK) với Unified Memory Controller Frequency (UCLK)
  • Điều lưu ý khi chạy RAM từ 3866 trở lên.
  • Một vài vấn đề khác.
23/06/2020
- Chỉnh lại format, đưa bản tóm tắt lên đầu cho dễ đọc, và thêm vào một số nội dung khác.
Bác cho em xin hướng dẫn setting timing vs ạ, em mò qua h mà rồi quá
 
Mình lang thang Fb thấy có bán ram này. thấy là có xmp intel, không biết cắm lên amd có lên đc 3200 không nhỉ
 

Attachments

  • 63208980-3C17-4380-84F8-D44AF9F99873.png
    63208980-3C17-4380-84F8-D44AF9F99873.png
    2.7 MB · Views: 174
  • E86148FD-5F94-4DEE-AA92-6281883D441C.png
    E86148FD-5F94-4DEE-AA92-6281883D441C.png
    2.6 MB · Views: 184
Em đang dùng R5-3600, main Asus B450i, ram 2x8G Crucial Ballistix RGB 3600 C16 Micron Edie. Mà bật XMP lên nó hiện 3603 c16, chạy nặng tí là reset. Các thím có cách nào xử lý giùm em cái :burn_joss_stick:
 
Em đang dùng R5-3600, main Asus B450i, ram 2x8G Crucial Ballistix RGB 3600 C16 Micron Edie. Mà bật XMP lên nó hiện 3603 c16, chạy nặng tí là reset. Các thím có cách nào xử lý giùm em cái :burn_joss_stick:
BIOS mới nhất (không beta) chưa bác.. với voltage RAM khi bật XMP đang là bao nhiêu!?
 
Mình có đọc hết cmt của các bác nhưng do mới chuyển qua AMD nên nhờ anh em giúp đỡ trường hợp của mình như sau:

Dàn mình đang dùng:
  • CPU R5 3600
  • RAM HyperX Fury DDR4 3200
  • GALAX GEFORCE GTX 970 Black EXOC (tận dụng tạm từ dàn cũ)
  • SSD Adata NVME2..
  • Nguồn Corsair 750W CX750M

Hiện tượng:
  • Thường xuyên bị màn hình xanh 1,2 lần từ lúc bật máy lên và luc để máy không làm gì. Rất nhiều stopcode như IRQL_NOT_LESS_OR_EQUAL, SYSTEM_SERVICES_EXCEPTION, KERNEL_AUTO_BOOST_INVALID_LOCK_RELEASE...
  • Vào Event Viewer check lỗi thì 100% là lỗi Critical: Kernel Power 41 (63)

Hiện mình đang để máy ra HanoiComputer để check bảo hành (thấy bảo từ 4-7 ngày). Do có công việc cần xài nên mong anh em bắt bệnh nhanh giúp mình với. Thanks with love!
 
bằng một cách kì diệu nào đó mà mình hôm nay đã set được ram lên bus 2933 thấy bảo cũng là bus cao nhất r5 2600 hỗ trợ chẳng biết có đúng không nữa,
Lần trước thử 3200 thì không boot được
nhưng thế là vui lắm rồi :)
1616772024026.png

:sweet_kiss::too_sad:
 
Các thím cho e hỏi chút, sao của e có 2 ram thanh 8GB mà xem trên cpuz nó ghi là "single" nhỉ. Thấy có mấy thím post lên ghi là "double". Hình như của e có gì đó sai sai :(
 

Attachments

  • Screenshot 2021-04-11 133149.png
    Screenshot 2021-04-11 133149.png
    70.6 KB · Views: 162
  • IMG_20200113_131055.jpg
    IMG_20200113_131055.jpg
    136.2 KB · Views: 153
Các thím cho e hỏi chút, sao của e có 2 ram thanh 8GB mà xem trên cpuz nó ghi là "single" nhỉ. Thấy có mấy thím post lên ghi là "double". Hình như của e có gì đó sai sai :(
Cắm vào khe 1,3 hoặc 2,4 thì nó mới chạy dual, cắm 2 thanh vào khe 1,2 hoặc 3,4 nó chạy single đấy
 
Cắm vào khe 1,3 hoặc 2,4 thì nó mới chạy dual, cắm 2 thanh vào khe 1,2 hoặc 3,4 nó chạy single đấy
móa vừa mở case ra xem thấy cắm 2 thanh vào khe 1 và 2. E vừa cắm lại như bác nói thì đúng là hiện lên Dual kênh rùi, pó tay, chạy hơn cả năm giờ mới phát hiện ra:)
 
11Capture.PNG



4 thanh ram Corsair Dominator Platinum RGB 16GB 3200Mhz DDR4. đang chạy mặc định với cấu hình DOCP trong bios. bus ram 3200. giờ OC lên dc tầm nào nhỉ. tầm vừa vừa chạy ổn định thôi k cần nâng cao quá.
 
Back
Top