Chắc hẳn khi tìm hiểu về CPU, bạn đã từng nghe đến bộ nhớ đệm (cache) của nó. Vậy có bao giờ bạn đã tự hỏi rằng nếu đã có RAM rồi thì CPU cần bộ nhớ đệm làm gì nữa chưa? Bài viết sẽ giúp bạn hiểu rõ hơn về bộ nhớ cache trong CPU, tác dụng của nó là gì và nguyên lý hoạt động của loại bộ nhớ này như thế nào.
Bộ nhớ đệm (cache memory) CPU là gì?
Cache memory CPU là một loại bộ nhớ tạm thời được tích hợp trực tiếp vào bên trong CPU để giúp tăng tốc độ xử lý dữ liệu.
Cụ thể, bộ nhớ đệm được sử dụng để lưu trữ các dữ liệu và lệnh mà CPU sử dụng thường xuyên nhất, giúp giảm thời gian truy cập vào bộ nhớ chính (RAM) và tăng tốc độ xử lý dữ liệu.
Khác với RAM, bộ nhớ đệm CPU là RAM tĩnh (SRAM). Lý do là bởi RAM tĩnh không cần “làm mới” liên tục, rất phù hợp để làm bộ nhớ cache CPU.
Cache Memory được chia thành các cấp độ khác nhau (L1, L2, L3) với kích thước và tốc độ truy cập khác nhau. Cấp độ bộ nhớ đệm càng cao thì kích thước càng lớn nhưng đồng thời cũng tăng chi phí sản xuất CPU.
Nguyên lý hoạt động của bộ nhớ đệm CPU
Bộ nhớ đệm CPU hoạt động dựa trên nguyên lý sử dụng bộ nhớ tạm thời để lưu trữ dữ liệu và thông tin xử lý trung gian giữa CPU và bộ nhớ chính.
Khi CPU cần truy cập dữ liệu từ bộ nhớ chính nó sẽ truy cập vào bộ nhớ đệm trước đó để kiểm tra xem liệu dữ liệu đó đã được lưu trữ trong bộ nhớ đệm hay chưa. Nếu dữ liệu đã có trong bộ nhớ đệm, CPU sẽ truy cập vào bộ nhớ này để lấy dữ liệu đó thay vì truy cập vào bộ nhớ chính (RAM). Điều này giúp tăng tốc độ truy cập dữ liệu và giảm thời gian chờ đợi.
Nếu dữ liệu chưa có trong bộ nhớ đệm, CPU sẽ truy cập vào bộ nhớ chính để lấy dữ liệu và lưu trữ vào bộ nhớ đệm để sử dụng cho các truy cập sau. Để đáp ứng nhu cầu sử dụng của CPU, bộ nhớ đệm thường được chia thành các cấp độ khác nhau (L1, L2, L3) với kích thước và tốc độ truy cập khác nhau.
Các loại bộ nhớ đệm của CPU
L1 cache
L1 cache (Level 1 cache) hay còn được gọi là bộ nhớ đệm cấp 1. Đây là loại bộ nhớ tạm thời được tích hợp trực tiếp vào bên trong CPU (Central Processing Unit) của máy tính.
L1 cache được đặt gần nhất với CPU và có tốc độ truy xuất nhanh nhất trong các loại bộ nhớ đệm. Nhiệm vụ của L1 cache là lưu trữ các dữ liệu và lệnh thường xuyên được sử dụng nhất để giảm thiểu thời gian truy xuất dữ liệu từ bộ nhớ chính (RAM) và tăng tốc độ xử lý của CPU.
Thông thường L1 cache có dung lượng nhỏ thường chỉ từ vài KB đến vài chục KB.
L2 cache
L2 cache (Level 2 cache – bộ nhớ đệm cấp 2) có tốc độ truy xuất dữ liệu chậm hơn L1 nhưng dung lượng lại lớn hơn (đơn vị tính bằng MB). Dung lượng bộ nhớ đệm CPU L2 khác nhau tùy thuộc vào CPU và thường nằm trong khoảng 256KB tới 32MB.
Mặc dù có tốc độ chậm hơn so với L1, tuy nhiên nếu so với RAM thì nó vẫn còn nhanh hơn rất nhiều. Nếu như L1 có tốc độ nhanh hơn RAM khoảng 100 lần thì L2 cũng có tốc độ truy xuất dữ liệu nhanh hơn bộ nhớ chính khoảng 25 lần.
L3 cache
L3 cache (Level 3 cache – bộ nhớ đệm cấp 3) có thể tìm thấy ngay trên bo mạch chủ. Tuy nhiên đây là điều đã xảy ra từ rất lâu, thời mà hầu hết các CPU chỉ có một nhân. Ngày nay, L3 cache được tích hợp trực tiếp vào CPU và có thể có dung lượng rất lớn (lên đến 128MB đối với các chip server, cao cấp).
Mặc dù có dung lượng lớn nhất, tuy nhiên bộ nhớ đệm L3 lại có tốc độ truy xuất dữ liệu thấp nhất trong 3 loại cache memory CPU. L3 có vai trò gần giống như bộ nhớ chính khi mà tất cả các nhân đều có thể sử dụng. Trong khi đó L1 và L2 lại được sử dụng ở từng lõi trên CPU.
Cách kiểm tra dung lượng bộ nhớ đệm CPU
Thông qua Task Manager
- Nhấn tổ hợp phím Ctrl + Shift + Esc để mở Task Manager.
- Di chuyển đến tab Performance, sau đó chọn CPU. Kiểm tra dung lượng L1, L2, L3 cache ở dưới cùng cửa sổ.
Thông qua CPU-Z
- Lên trang chủ của CPU-Z để tải về phần mềm.
- Sau khi tải xong, cài đặt bình thường.
- Mở phần mềm lên chọn tab CPU. Kiểm tra thông tin bộ nhớ đệm CPU ở mục Cache
Thông qua Command Prompt
- Nhấn tổ hợp phím Windows + R, gõ cmd và nhấn Enter.
- Chạy dòng lệnh sau để kiểm tra dung lượng bộ nhớ đệm CPU
wmic cpu get L2CacheSize, L3CacheSize
Các câu hỏi thường gặp
Dữ liệu di chuyển như thế nào giữa các bộ nhớ đệm bên trong CPU
Dữ liệu sẽ di chuyển từ RAM đến bộ nhớ đệm L3, sau đó là L2 và cuối cùng là L1. Khi CPU muốn truy xuất dữ liệu để thực hiện một tác vụ nào đó, nó sẽ thử tìm kiếm trong bộ nhớ gần nó nhất (L1) đầu tiên. Nếu dữ liệu được tìm thấy trong bộ nhớ cache, nó được gọi là cache hit. CPU tiếp tục sau đó tìm kiếm trong L2 và L3.
Nếu không tìm thấy dữ liệu trong bộ nhớ cache, lúc này CPU sẽ truy xuất đến bộ nhớ chính (RAM). Nếu điều này xảy ra, nó được gọi là cache miss.
Cần bao nhiêu dung lượng bộ nhớ đệm CPU?
Điều này còn phụ thuộc vào nhiều yếu tố như kiến trúc CPU, mục đích sử dụng và ngân sách. Tuy nhiên trong các CPU ngày nay thông thường có khoảng từ 4MB đến 16MB bộ nhớ đệm cấp 2 (L2 Cache) và từ 8MB đến 64MB bộ nhớ đệm cấp 3 (L3 Cache).
Tại sao phải chia ra L1, L2 và L3 cache?
Việc chia ra L1 L2 và L3 cache là để tối ưu hóa hiệu suất của bộ nhớ đệm trên CPU. Mỗi cấp độ cache có tốc độ truy xuất và dung lượng khác nhau vì vậy chúng được sử dụng để lưu trữ các dữ liệu và lệnh khác nhau.
L1 cache là bộ nhớ đệm nhanh nhất và có dung lượng nhỏ nhất được tích hợp trực tiếp trên CPU. Nó được sử dụng để lưu trữ các dữ liệu và lệnh được sử dụng thường xuyên nhất.
L2 cache có dung lượng lớn hơn L1 Cache và được đặt gần CPU. Nó được sử dụng để lưu trữ các dữ liệu và lệnh được sử dụng thường xuyên nhưng không nhiều như L1 Cache.
L3 cache có dung lượng lớn nhất và được đặt xa CPU. Nó được sử dụng để lưu trữ các dữ liệu và lệnh ít được sử dụng hơn so với L1 và L2 Cache.