CPU Cache hoạt động như thế nào? L1, L2 và L3 Cache là gì?

Bộ vi xử lý máy tính đã tiến bộ khá nhiều trong những năm gần đây. Các bóng bán dẫn ngày càng nhỏ hơn qua mỗi năm và những tiến bộ đạt đến điểm mà định luật Moore đang trở nên thừa thãi.

Khi nói đến bộ vi xử lý, điều quan trọng không chỉ là số lượng các bóng bán dẫn và tần số mà còn là cache (bộ nhớ đệm). Bạn có thể đã nghe nói về cache memory (bộ nhớ cache) khi CPU (Đơn vị xử lý trung tâm) được thảo luận. Vậy chính xác thì CPU cache quan trọng như thế nào và nó hoạt động ra sao?

CPU memory cache là gì?

Nói một cách đơn giản, CPU memory cache chỉ là một loại bộ nhớ thực sự nhanh. Trong những ngày đầu của máy tính, tốc độ bộ xử lý và tốc độ bộ nhớ rất thấp. Tuy nhiên, trong những năm 1980, tốc độ bộ xử lý bắt đầu tăng lên nhanh chóng. Bộ nhớ hệ thống vào thời điểm đó (RAM) không thể bắt kịp hoặc phù hợp với tốc độ CPU ngày càng tăng, và do đó, một loại bộ nhớ cực nhanh mới đã ra đời: CPU memory cache.

Bây giờ, máy tính của bạn có nhiều loại bộ nhớ bên trong nó. Có bộ lưu trữ chính, như ổ cứng hoặc SSD, lưu trữ phần lớn dữ liệu - hệ điều hành và các chương trình.

Tiếp theo, chúng ta có Random Access Memory, thường được gọi là RAM. Bộ nhớ này nhanh hơn nhiều so với bộ nhớ chính nhưng chỉ là phương tiện lưu trữ ngắn hạn. Máy tính và các chương trình trên đó sử dụng RAM để lưu trữ dữ liệu được truy cập thường xuyên, giúp cho các thao tác trên máy tính diễn ra tốt đẹp và nhanh chóng.

Cuối cùng, CPU còn có các đơn vị bộ nhớ nhanh hơn bên trong chính nó, được gọi là CPU memory cache.

Bộ nhớ máy tính có hệ thống phân cấp dựa trên tốc độ hoạt động của nó. CPU cache đứng đầu trong hệ thống phân cấp này và là bộ nhớ nhanh nhất. Nó cũng là nơi gần nhất với nơi quá trình xử lý trung tâm diễn ra, một phần của chính CPU.

Bộ nhớ máy tính cũng có nhiều loại khác nhau. Bộ nhớ cache là một dạng của RAM tĩnh (SRAM), trong khi RAM hệ thống thông thường của bạn được gọi là RAM động (DRAM). RAM tĩnh có thể chứa dữ liệu mà không cần phải refresh liên tục, không giống như DRAM, điều này làm cho SRAM trở nên lý tưởng cho bộ nhớ cache.

CPU Cache hoạt động như thế nào?

Các chương trình và ứng dụng trên máy tính được thiết kế dưới dạng một tập hợp những hướng dẫn mà CPU diễn giải và chạy. Khi bạn chạy một chương trình, các hướng dẫn sẽ đi từ bộ nhớ chính (ổ cứng) đến CPU. Đây là lúc hệ thống phân cấp bộ nhớ phát huy tác dụng.

Đầu tiên, dữ liệu được load vào RAM và sau đó được gửi đến CPU. Những CPU ngày nay có khả năng thực hiện một số lượng lớn các lệnh mỗi giây. Để tận dụng hết sức mạnh của nó, CPU cần truy cập vào bộ nhớ siêu nhanh, đó là nơi CPU cache xuất hiện.

Trình điều khiển bộ nhớ lấy dữ liệu từ RAM và gửi nó đến bộ nhớ cache của CPU. Tùy thuộc vào CPU của bạn, trình điều khiển được tìm thấy trên CPU hoặc Northbridge chipset (chipset cầu bắc) được tìm thấy trên bo mạch chủ.

Bộ nhớ cache sau đó thực hiện việc chuyển đổi dữ liệu qua lại bên trong CPU. Hệ thống phân cấp bộ nhớ cũng tồn tại trong bộ nhớ cache của CPU.

Các cấp độ CPU cache memory: L1, L2 và L3

CPU cache memory được chia thành 3 "cấp độ": L1, L2 và L3. Hệ thống phân cấp bộ nhớ lại theo tốc độ và do đó, phụ thuộc vào kích thước của bộ nhớ cache.

Vậy kích thước CPU cache có tạo ra sự khác biệt cho hiệu suất không?

L1 Cache

L1 Cache là bộ nhớ nhanh nhất hiện có trong hệ thống máy tính. Về mức độ ưu tiên quyền truy cập, L1 Cache sở hữu dữ liệu mà CPU có nhiều khả năng cần trong khi hoàn thành một tác vụ nhất định.

Kích thước của L1 Cache phụ thuộc vào CPU. Một số CPU tiêu dùng hàng đầu hiện nay có L1 Cache 1MB, như Intel i9-9980XE, nhưng chúng tiêu tốn rất nhiều tiền và số lượng tùy chọn vẫn còn rất ít. Một số server chipset, như dòng Xeon của Intel, cũng có bộ nhớ cache L1 1 - 2MB.

Không có kích thước L1 Cache "tiêu chuẩn", vì vậy bạn phải kiểm tra thông số kỹ thuật của CPU để xác định kích thước bộ nhớ cache L1 chính xác trước khi mua.

Sơ đồ phân cấp L1, L2, L3 Cache
Sơ đồ phân cấp L1, L2, L3 Cache

L1 Cache thường được chia thành hai phần: Cache chỉ dẫn và cache dữ liệu. Cache chỉ dẫn xử lý thông tin về hoạt động mà CPU phải thực hiện, trong khi đó cache dữ liệu lưu giữ dữ liệu mà hoạt động sẽ được thực hiện.

L2 Cache

L2 Cache chậm hơn L1 Cache nhưng kích thước lớn hơn. Trong đó L1 Cache có thể đo bằng kilobyte, còn L2 Cache hiện đại được đo bằng megabyte. Ví dụ, Ryzen 5 5600X được đánh giá cao của AMD có L1 Cache 384KB và L2 Cache 3MB (cộng với L3 Cache 32MB).

Kích thước L2 Cache thay đổi tùy thuộc vào CPU, nhưng kích thước của nó thường từ 256KB đến 8MB. Hầu hết các CPU hiện đại sẽ sở hữu L2 Cache nhiều hơn 256KB và kích thước này hiện được coi là nhỏ. Hơn nữa, một số CPU hiện đại mạnh mẽ nhất có bộ nhớ cache L2 lớn hơn, vượt quá mức 8MB.

Khi nói đến tốc độ, L2 Cache thua L1 Cache nhưng vẫn nhanh hơn nhiều so với RAM hệ thống. Bộ nhớ cache L1 thường nhanh hơn 100 lần so với RAM, trong khi L2 Cache nhanh hơn khoảng 25 lần.

L3 Cache

Trong những ngày đầu, bộ nhớ cache L3 thực sự được tìm thấy trên bo mạch chủ. Điều này đã xảy ra rất lâu trước đây, khi hầu hết các CPU chỉ là bộ vi xử lý lõi đơn. Giờ đây, L3 Cache trong CPU có thể rất lớn, với các CPU tiêu dùng hàng đầu có L3 Cache lên đến 32MB. Một số CPU L3 Cache của server có thể vượt quá mức này, với dung lượng lên đến 64MB.

L3 Cache là bộ nhớ cache lớn nhất nhưng cũng chậm nhất. Các CPU hiện đại bao gồm L3 Cache trên chính CPU. Nhưng trong khi L1 và L2 Cache tồn tại cho mỗi lõi trên chính con chip, L3 Cache giống với một nhóm bộ nhớ chung mà toàn bộ chip có thể sử dụng.

Hình ảnh sau đây cho thấy các mức bộ nhớ CPU cache cho CPU Intel Core i5-3570K:

Các mức bộ nhớ CPU cache cho CPU Intel Core i5-3570K
Các mức bộ nhớ CPU cache cho CPU Intel Core i5-3570K

Lưu ý cách L1 Cache được chia thành hai, trong khi L2 và L3 tương ứng lớn hơn.

Thứ Hai, 07/06/2021 17:12
51 👨 587
0 Bình luận
Sắp xếp theo