Cache memory là gì? Thành phần, đặc điểm, cách thức hoạt động, vai trò của bộ nhớ cache trong Computing là gì? Cùng chúng tôi tìm hiểu chi tiết hơn qua bài viết sau để có cái nhìn cụ thể về bộ nhớ đệm có chức năng chính là lưu trữ dữ liệu tạm thời này nhé.
1. Cache là gì?
Một cache là phần cứng hoặc phần mềm lưu trữ dữ liệu tạm thời trong môi trường máy tính.
Dữ liệu là gì?
Dữ liệu là thông tin được biên dịch thành một dạng thức giúp việc di chuyển hoặc xử lý dữ liệu được dễ dàng hơn.
Vế công nghệ thông tin, dữ liệu là thông tin được chuyển đổi thành dạng kỹ thuật số nhị phân. Dữ liệu có thể được sử dụng như một chủ thể số ít hoặc số nhiều.
Trong môi trường máy tính, dữ liệu khi truyền thường được cache lại để rút ngắn thời gian truy cập, qua đó giảm độ trễ và cải thiện đầu vào, đầu ra. Bởi vì hầu hết tất cả các workload của ứng dụng phụ thuộc vào các hoạt động I/ O, caching do đó được sử dụng để cải thiện hiệu suất ứng dụng.
Caching là quá trình lưu trữ dữ liệu trong bộ nhớ đệm cache.
Caching/Cache là gì?
Bộ nhớ đệm là quá trình lưu trữ các bản sao của tệp trong bộ đệm hoặc vị trí lưu trữ tạm thời, để chúng có thể được truy cập nhanh hơn.
DNS server lưu trữ DNS record để tra cứu nhanh hơn, CDN server lưu trữ nội dung để giảm độ trễ, trình duyệt web lưu các tệp HTML, JavaScript và hình ảnh để tải trang web nhanh hơn.
Bộ nhớ cache trên Internet phục vụ với mục đích tạm thời lưu trữ “nguồn cung cấp” hoặc nội dung cần thiết cho người dùng để thực hiện hành trình của người dùng trên website.
2. Ví dụ về cache memory
Các web browsers như Internet Explorer, Firefox… đều sử dụng bộ nhớ cache của trình duyệt để cải thiện hiệu suất cho các webpages được truy cập thường xuyên. Khi bạn truy cập một webpage, các files mà trình duyệt của bạn yêu cầu sẽ được lưu trữ trên bộ nhớ máy tính trong bộ nhớ cache của trình duyệt.
Nếu bạn nhấp vào “back” và quay lại trang đó, trình duyệt có thể truy xuất hầu hết các file cần thiết từ bộ nhớ cache thay vì gửi yêu cầu gửi lại tất cả các tệp đó. Cách tiếp cận này được gọi là đọc cache.
Browsers đọc dữ liệu từ bộ nhớ cache của trình duyệt nhanh hơn nhiều so với việc phải đọc lại các tệp từ webpage.
3. Cache algorithms
Thuật toán cache cung cấp hướng dẫn về cách duy trì bộ nhớ cache. Sau đây là một số ví dụ về thuật toán bộ nhớ đệm cache:
LFU, Least Frequently Used
Sử dụng bộ đếm để theo dõi tần suất truy cập vào một mục; mục nào có số lần truy nhập thấp nhất sẽ được xóa đi đầu tiên.
LRU, Least Recently Used
Giữ các mục được sử dụng gần đây nhất nằm trên top đầu bộ nhớ đệm; khi đạt đến giới hạn bộ nhớ cache, các mục ít được truy cập gần đây nhất sẽ bị xóa (các top cuối).
MRU, Most Recently Used
Ưu tiên loại bỏ các items được sử dụng gần đây nhất; cách tiếp cận này rất hữu ích đặc biệt cho các tình huống các items cũ hơn có nhiều khả năng được truy cập hơn.
4. Các loại cache
Write-around cache
Bộ nhớ đệm cache write-around cho phép ghi các hoạt động được ghi vào bộ nhớ, hoàn toàn bỏ qua bộ nhớ cache.
– Ưu điểm: Điều này giúp bộ nhớ cache không bị quá tải khi có một số lượng lớn bản ghi I/ O xảy ra.
– Nhược điểm lớn nhất là dữ liệu không được lưu trữ trừ khi nó được đọc từ bộ nhớ. Như vậy, hoạt động đọc ban đầu sẽ tương đối chậm vì dữ liệu chưa được lưu trữ (chưa được cache).
Write-through cache
Write-through cache ghi đè dữ liệu vào cả bộ nhớ cache và bộ nhớ storage.
– Ưu điểm của phương pháp này là dữ liệu mới được viết luôn được lưu trữ, cho phép dữ liệu đó luôn được đọc nhanh chóng.
– Một nhược điểm là các hoạt động ghi không được coi là hoàn thành cho đến khi dữ liệu được ghi vào cả bộ nhớ cache và bộ lưu trữ chính.
Write-back cache
Write-back cache là toàn bộ các hoạt động ghi đều được chuyển trực tiếp đến bộ nhớ cache.
Sự khác biệt duy nhất của Write-back cache đó là khi dữ liệu được lưu trữ, thao tác ghi mới được xem là hoàn chỉnh. Dữ liệu sau đó được sao chép từ bộ nhớ cache vào bộ nhớ. Điều này sẽ luôn tồn tại một ít độ trễ cho cả hoạt động đọc và ghi.
– Điểm bất lợi là, tùy thuộc vào cơ chế bộ nhớ đệm nào được sử dụng, dữ liệu có thể dễ dàng bị mất cho đến khi nó được lưu trữ.
Xem thêm: Http status code, giao thức http
5. Các trường hợp sử dụng cache phổ biến
Cache server
Một dedicated network server hoặc service acting as a server, lưu các webpage hoặc các nội dung Internet khác cục bộ. Điều này đôi khi được gọi là bộ nhớ cache proxy.
Disk cache
Disk cache giữ các dữ liệu gần đây đã được đọc và cả các vùng dữ liệu liền kề liên quan, có nhiều khả năng sắp được truy cập. Một số Disk cache được thiết kế để lưu trữ dữ liệu dựa trên tần suất được đọc của chúng. Các khối lưu trữ (Storage blocks) được đọc thường xuyên, sẽ được gọi là các khối nóng (hot blocks) và tự động được chuyển vào cache.
Cache memory
Bộ nhớ truy cập ngẫu nhiên – RAM, Random access memory là bộ nhớ mà bộ vi xử lý máy tính có thể truy cập nhanh hơn so với bộ nhớ RAM thông thường.
Cache memory thường được gắn trực tiếp với CPU và được sử dụng để lưu trữ các lệnh thường xuyên được truy cập bởi các tiến trình hiện đang chạy. Mặc dù RAM cache nhanh hơn nhiều so với bộ nhớ cache dựa trên đĩa nhưng cache memory vẫn nhanh hơn nhiều so với RAM cache vì nó gần với CPU.
6. Làm cách nào để tăng cache memory
Bộ nhớ cache (Cache memory) là một phần của phức hợp CPU, do đó nó được đưa vào chính CPU hoặc được nhúng vào một con chip trên bo mạch hệ thống (system board). Thông thường, cách duy nhất để tăng bộ nhớ cache là cài đặt một bo mạch hệ thống thế hệ tiếp theo (next-generation) và một CPU next-gen tương ứng. Một số bo mạch hệ thống cũ có chứa các khe trống, có thể được sử dụng để tăng dung lượng bộ nhớ cache, tuy nhiên hầu hết các bo mạch hệ thống mới ngày nay lại không bao gồm khe trống này.
10 Tháng Mười, 2021