Trong những năm 1980, tốc độ của bộ vi xử lý tăng lên theo cấp số nhân khi so sánh với thời gian truy cập bộ nhớ. Rõ ràng là cần phải làm gì đó để cải thiện tốc độ truy cập bộ nhớ và làm cho toàn bộ hệ thống hoạt động hiệu quả hơn. Sự khác biệt giữa tốc độ xử lý và tốc độ bộ nhớ đã dẫn đến sự phát triển của bộ nhớ đệm.
Cache là gì
Việc phát minh ra bộ đệm là một trong những sự kiện quan trọng nhất trong lịch sử khoa học máy tính. Nhưng chính xác thì bộ nhớ đệm là gì? Nó hoạt động như thế nào?
Ở cấp độ cơ bản của nó, bộ nhớ đệm là một loại bộ nhớ có tốc độ nhanh. Nó chứa một nhóm bộ nhớ nhỏ chứa các hướng dẫn mà máy tính rất có thể sẽ cần tiếp theo khi thực hiện một tác vụ cụ thể. Máy tính tải thông tin đó vào bộ nhớ đệm bằng cách sử dụng các thuật toán phức tạp và kiến thức về mã lập trình. Mục đích của việc có hệ thống bộ nhớ đệm trong máy tính là để đảm bảo CPU có quyền truy cập không bị cản trở vào dữ liệu mà nó cần theo thứ tự mà nó cần.
Để xem cách này hoạt động như thế nào, bạn cần biết rằng máy tính có ba loại bộ nhớ. Đầu tiên là bộ nhớ chính được tìm thấy trong ổ cứng hoặc SSD. Nó là kho bộ nhớ lớn nhất trong máy. Sau đó là RAM hoặc Bộ nhớ truy cập ngẫu nhiên, nhanh hơn, nhưng nhỏ hơn thiết bị bộ nhớ chính. Cuối cùng, có các đơn vị bộ nhớ trong chính CPU, được gọi là bộ đệm. Bộ nhớ đệm là bộ nhớ đệm nhanh nhất trong tất cả các loại bộ nhớ.
Khi một chương trình khởi chạy, chương trình đó bắt đầu thực thi một loạt các hướng dẫn có trong mã của chương trình. Thông tin đó trước tiên sẽ được tải vào RAM và sau đó chuyển đến CPU. Để sử dụng dữ liệu một cách tốt nhất để thực hiện các lệnh, CPU cần có bộ nhớ tốc độ cao. Đó là nơi bộ nhớ đệm xuất hiện.
Các cấp độ của bộ nhớ cache
Trong CPU, có ba mức bộ nhớ đệm khác nhau:L1, L2 và L3. Một số công ty thậm chí đang làm việc trên bộ nhớ đệm L4.
Bộ nhớ đệm L1 là bộ nhớ đệm nhanh nhất và nhỏ nhất trong ba bộ nhớ cache. Nó chứa dữ liệu mà CPU có nhiều khả năng cần để thực hiện các hoạt động. L1 thường chứa khoảng 256KB, mặc dù một số đã đẩy nó lên 1MB.
Bộ nhớ đệm nhỏ này có mục đích kép, có cả bộ nhớ cache hướng dẫn và bộ nhớ cache dữ liệu. Bộ đệm chỉ dẫn xử lý các hoạt động mà CPU phải thực hiện và bộ đệm dữ liệu lưu giữ thông tin mà quá trình phải được thực hiện.
Tiếp theo, có bộ nhớ đệm L2. L2 chậm hơn và chứa nhiều thông tin hơn L1. Nó chứa từ 256K đến 8 MB dữ liệu mà máy tính rất có thể sẽ cần truy cập tiếp theo.
Cuối cùng, chúng ta thấy bộ nhớ cache L3. Đây là bộ nhớ đệm lớn nhất và chậm nhất, lưu trữ ở mọi nơi từ 4MB đến 50MB.
Cách hoạt động của bộ nhớ cache
Khi một chương trình khởi động trên máy tính của bạn, dữ liệu sẽ truyền từ RAM đến bộ nhớ đệm L3, sau đó đến L2 và cuối cùng là L1. Trong khi chương trình đang chạy, CPU sẽ tìm kiếm thông tin nó cần để chạy, bắt đầu trong bộ đệm L1 và hoạt động ngược lại từ đó. Nếu CPU tìm thấy thông tin cần thiết, nó được gọi là lần truy cập bộ nhớ cache. Nếu nó không thể tìm thấy thông tin nó cần, đó là lỗi bộ nhớ cache và máy tính phải đi tìm nơi khác để tìm thông tin nó cần.
Độ trễ là một yếu tố quan trọng trong hiệu quả của máy tính. Độ trễ là thời gian cần thiết để một phần thông tin được truy xuất. Bộ nhớ đệm L1 là bộ nhớ đệm nhanh nhất và do đó nó có độ trễ thấp nhất. Khi xảy ra lỗi bộ nhớ cache, độ trễ sẽ tăng lên do máy tính phải tiếp tục tìm kiếm trong các bộ nhớ đệm khác nhau để tìm thông tin nó cần.
Các máy tính mới hơn có kích thước bóng bán dẫn CPU nhỏ hơn nhiều nên có thể tạo ra một bo mạch với nhiều chỗ hơn để đặt bộ nhớ đệm trực tiếp trên đó. Về mặt vật lý, việc đặt bộ nhớ đệm gần CPU hơn sẽ làm giảm độ trễ.
Mặc dù bộ nhớ đệm không phải là thứ mà những máy tính bán ra thường chỉ ra, nhưng nó đáng để kiểm tra. Bộ nhớ đệm nhanh hơn sẽ có độ trễ ít hơn, giúp chương trình của bạn chạy nhanh hơn và hiệu quả hơn.