Cache level 1
Cache level 1, thường là lớp cache có dung lượng bé nhất 32KB đến 64KB nhưng cũng là lớp cache có tốc độ nhanh nhất. Và đây là private cache có nghĩa là lớp cache này sẽ được dành riêng cho mỗi core của CPU. Sở dĩ cache level 1 có dung lượng bé bởi vì dung lượng lớn thì tốc độ của nó lại giảm. Tìm kiếm đồ vật trong một căn phòng nhỏ sẽ luôn dễ hơn tìm trong một căn phòng lớn. Tất nhiên khi lượng data cần phải cache lớn hơn thì dung lượng cache nhỏ không chứa đủ sẽ khiến hit rate giảm, kéo theo performance cũng giảm theo. Nhưng mục đích của cache level 1 là tốc độ chứ không phải hit rate. Để tăng hit rate, chúng ta có cache level 2.
Cache level 2
Cache level 2, lớp cache này có dung lượng từ 256KB đến 1MB, lớp cache này sẽ chậm hơn so với cache level1 nhưng vẫn nhanh hơn rất nhiều so với main memory. Đây cũng là private cache. Lớp cache này có dung lượng lớn hơn cho phép cache được nhiều data hơn do đó tăng hit rate.
Cache level 3
Cache level 3, lớp cache này có dung lượng từ 10MB đến 20MB, lớp cache này chậm hơn so với cache level 2 nhưng vẫn nhanh hơn nhiều so với main memory. Khác với các cache level 1 và 2, cache level 3 là share cache, cũng là lớp cache cuối cùng. Trong Intel CPU, lớp cache cuối cùng thường được biểu thị trong bảng đặc tả dưới cái tên là smart cache.
Hình vẽ trên là ví dụ CPU có hai lớp cache, khi đó lớp cache cuối cùng L2 cache đóng vai trò smart cache - sharing cache.
Ưu điểm của sharing cache so với private cache
- Tối ưu hóa hiệu suất sử dụng cache. Khi các core còn lại idle thì một core sẽ toàn quyền sử dụng sharing cache. Trong khi đó với private cache, khi một core idle, các core còn lại cũng không thể sử dụng data trong private cache của core đó.
- Sharing cache cũng là một phương thức trao đổi data giữa các core của CPU
- Cùng một data mà phải dùng bởi các core chỉ cần lưu tại một nơi thay vì phân bố trên toàn bộ các private cache của các core
- Một core có thể xử lý data hộ cho core khác qua sharing cache
- Thêm một lớp cache sẽ tăng hit rate, giảm tần xuất truy xuất đến memory hơn, Front side bus traffic do đó cũng giảm.
- Việc tăng cường dung lượng cache sẽ đánh đổi bởi tốc độ cho dù khi đó hit rate của cache sẽ cao hơn. Trong thiết kế CPU, các kỹ sư đã phải tính toán để cân bằng tốc độ và hit rate.
- Thêm nữa các cache này nằm trong CPU, diện tích sử dụng rất nhỏ hẹp không đủ không gian để thiết kế tăng dung lượng
Thông tin sharing cache này của CPU có thể tìm thấy qua thông số Intel smart cache.
Ví dụ:
http://ark.intel.com/products/64597/Intel-Xeon-Processor-E5-2665-20M-Cache-2_40-GHz-8_00-GTs-Intel-QPI
Intel smart cache là 20MB, chứng tỏ 8 cores của CPU này dùng chung 20MB sharing cache.
Tham khảo:
https://en.wikipedia.org/wiki/CPU_cache
https://www.quora.com/Why-is-the-L1-cache-relatively-small-compared-to-higher-levels-of-cache-like-L2-and-L3
https://software.intel.com/en-us/articles/software-techniques-for-shared-cache-multi-core-systems/?wapkw=smart+cache
https://www.pugetsystems.com/labs/articles/Specs-Explained-CPU-137/
Không có nhận xét nào:
Đăng nhận xét