Nếu là một người đam mê công nghệ, chắc hẳn bạn đã từng nghe qua bộ đệm (Cache) và cách nó hoạt động với RAM giúp hệ thống chạy nhanh hơn. Tuy nhiên, bạn đã bao giờ tự hỏi bộ nhớ Cache là gì và nó khác với RAM như thế nào chưa. Để trả lời các câu hỏi trên, hãy cùng bài viết phân tích nhé.
Tìm hiểu hệ thống bộ nhớ trên máy tính
Trước khi so sánh RAM vs Cache, bạn cần phải hiểu hệ thống bộ nhớ trên máy tính được thiết kế ra làm sao.
Cả RAM và Cache đều là các loại bộ nhớ dễ bay hơi. Tức là chúng chỉ có khả năng lưu trữ dữ liệu tạm thời, một khi khởi động lại hoặc tắt máy, tất cả dữ liệu sẽ được giải phóng (xóa sạch).
Cũng chính bởi lý do này mà bất kỳ máy tính nào cũng có 2 loại hệ thống lưu trữ khác nhau, đó là bộ nhớ chính và bộ nhớ phụ. Ổ cứng chính là bộ nhớ thứ cấp (bộ nhớ phụ), có khả năng lưu trữ dữ liệu kể cả khi bạn tắt máy. Mặt khác, bộ nhớ chính sẽ cung cấp dữ liệu cho CPU chỉ khi được cung cấp nguồn điện.
Vậy tại sao lại phải sử dụng loại bộ nhớ dễ bay hơi trên hệ thống máy tính. Lý do là bởi tốc độ đọc/ ghi dữ liệu của nó nhanh hơn nhiều so với ổ cứng.
Lấy ví dụ: thời gian truy cập của bộ nhớ thứ cấp (SSD) khoảng 50 micro giây. Trong khi đó, RAM có thể cung cấp dữ liệu cho CPU sau mỗi 17 nano giây.
Dưới đây là cách dữ liệu di chuyển qua các hệ thống bộ nhớ trong máy tính:
Bộ nhớ phụ: dữ liệu được lưu trữ vĩnh viễn tại đây, tuy nhiên tốc độ truy xuất lại không cao. Do đó CPU không thể truy cập dữ liệu trực tiếp từ ổ cứng.
RAM (Bộ nhớ chính): loại bộ nhớ này nhanh hơn nhiều so với ổ cứng nhưng không thể lưu trữ dữ liệu vĩnh viễn. Khi mở một tệp tin nào đó trên máy tính, file đó sẽ di chuyển từ ổ cứng sang RAM.
Cache (Bộ nhớ chính): bộ nhớ Cache được tích hợp trong CPU và là bộ nhớ nhanh nhất trên máy tính. Hệ thống bộ nhớ này được chia thành 3 phần: L1, L2 và L3 cache. Bất kỳ dữ liệu nào cần được CPU xử lý sẽ di chuyển từ ổ cứng sang RAM rồi đến bộ nhớ đệm. CPU không thể truy cập dữ liệu trực tiếp từ bộ nhớ đệm.
Thanh ghi CPU (Bộ nhớ chính): CPU Register trên máy tính có kích thước nhỏ và dựa trên kiến trúc của bộ vi xử lý. Các thanh ghi này có thể chứa 32 hoặc 64 bit dữ liệu. Một khi dữ liệu di chuyển vào trong các thanh ghi, CPU có thể truy cập vào nó và thực hiện các tác vụ.
Nguyên lý hoạt động của RAM
RAM chịu trách nhiệm lưu trữ và cung cấp dữ liệu cho CPU. Để lưu trữ dữ liệu, RAM sử dụng ô nhớ động (DRAM).
Ô nhớ này được tạo ra bằng cách sử dụng một tụ điện và một bóng bán dẫn. Tụ điện được sử dụng để lưu trữ điện tích và dựa trên trạng thái điện tích của tụ điện, ô nhớ có sẽ có giá trị 0 hoặc 1.
Nếu tụ điện được sạc đầy, ô nhớ sẽ lưu trữ giá trị 1. Khi xả điện, nó sẽ lưu trữ giá trị 0. Mặc dù ô nhớ DRAM có khả năng lưu trữ điện tích, tuy nhiên thiết kế của bộ nhớ này vẫn có những nhược điểm.
Bởi RAM sử dụng các tụ điện để lưu trữ điện tích nên nó có xu hướng mất điện tích đã lưu trong đó. Do đó dữ liệu được lưu trong RAM có thể bị mất. Để giải quyết vấn đề này, điện tích được lưu trữ trong các tụ điện được làm mới liên tục, ngăn không cho RAM bị mất dữ liệu.
Mặc dù việc làm mới liên tục sẽ cho phép RAM lưu trữ dữ liệu khi máy tính bật, tuy nhiên nó lại gây ra độ trễ nhất định bởi nó không thể truyền dữ liệu tới CPU khi đang refresh. Điều này ảnh hưởng tới hiệu năng hệ thống.
Ngoài ra, RAM được cắm trực tiếp vào bo mạch chủ và kết nối với CPU thông qua các ổ cắm. Do đó, có một khoảng cách đáng kể giữa RAM và CPU, làm tăng thời gian dữ lưu được truyền đi giữa 2 linh kiện này.
Vì những lý do trên, RAM chỉ cung cấp dữ liệu cho CPU sau mỗi 17 nano giây. Trong khi đó, CPU cần được cung cấp dữ liệu mỗi 1/4 nano giây để đạt được hiệu suất tốt nhất khi chạy ở tần số 4GHz.
Để giải quyết vấn đề này, chúng ta có bộ nhớ đệm, một hệ thống lưu trữ tạm thời khác nhanh hơn nhiều so với RAM.
Nguyên lý hoạt động của Cache
Đầu tiên và quan trọng nhất, bộ nhớ Cache không có trên bo mạch chủ. Thay vào đó nó được tích hợp vào CPU. Với khoảng cách gần hơn nhiều so với RAM, CPU có thể truy cập dữ liệu nhanh hơn từ bộ nhớ đệm.
Ngoài ra, bộ nhớ Cache không lưu trữ dữ liệu cho tất cả các chương trình đang chạy trên máy tính. Thay vào đó, nó chỉ lưu trữ dữ liệu được CPU yêu cầu thường xuyên. Do đó, bộ đệm có thể gửi dữ liệu tới CPU với tốc độ nhanh đáng kinh ngạc.
Hơn thế nữa, so với RAM thì Cache sử dụng các ô nhớ tĩnh (SRAM) để lưu trữ dữ liệu. Bộ nhớ tĩnh cũng không cần làm mới bởi chúng không sử dụng tụ điện để lưu trữ điện tích.
Thay vào đó, nó sử dụng một bộ 6 bóng bán dẫn để lưu trữ thông tin. Do sử dụng bóng bán dẫn, ô nhớ tĩnh không bị mất điện tích theo thời gian, giúp bộ nhớ đệm cung cấp dữ liệu cho CPU cực nhanh.
Tuy vậy, bộ nhớ đệm cũng có những nhược điểm. Đầu tiên phải nói đến đó là nó đắt hơn nhiều so với RAM. Hơn nữa, một ô nhớ tĩnh lớn hơn nhiều so với ô nhớ động.
Do đó mật độ bộ nhớ của SRAM thấp hơn nhiều so với DRAM và việc tích hợp một SRAM duy nhất có dung lượng lớn vào CPU là không thể. Để giải quyết vấn đề này, bộ nhớ Cache được chia làm 3 loại: L1, L2 và L3 được đặt bên trong và bên ngoài CPU.
Sự khác biệt giữa RAM và Cache
RAM | Cache | |
Chức năng | Lưu trữ dữ liệu cho tất cả chương trình đang chạy trên hệ thống. | Lưu trữ dữ liệu được sử dụng thường xuyên bởi CPU. |
Dung lượng | Do mật độ bộ nhớ cao, RAM có thể có dung lượng từ 2GB tới 64GB. | Do mật độ bộ nhớ thấp, Cache chỉ có thể có lưu trữ dữ liệu trong phạm vi Kilobytes hoặc Megabytes. |
Giá thành | Rẻ hơn do thiết kế chỉ sử dụng một bóng bán dẫn và tụ điện. | Đắt hơn do thiết kế sử dụng 6 bóng bán dẫn. |
Vị trí | Cắm trực tiếp vào mainboard và kết nối với CPU thông qua ổ cắm. | Nằm trong lõi CPU. |
Tốc độ | Chậm hơn | Nhanh hơn. |
Kết luận
Cả RAM và Cache đều thuộc loại bộ nhớ dễ bay hơi nhưng lại có chức năng khác nhau. RAM thì lưu trữ dữ liệu cho tất cả chương trình đang chạy trên hệ thống. Trong khi đó Cache lưu trữ dữ liệu được sử dụng thường xuyên bởi CPU.
Sự cân bằng giữa RAM và Cache sẽ giúp hiệu năng máy tính đạt đến mức tối đa.