Bộ nhớ đệm cấp 1 nội bộ
December 22, 2018Các bộ xử lý từ dòng 486 đều được tích hợp bộ nhớ đệm cấp 1 vào bộ điều khiển.
Kích cỡ bộ nhớ đệm cấp 1 tùy thuộc vào từng bộ xử lý, 8KB cho dòng đầu 486DX, rồi đến 32KB, 64KB và còn tăng hơn cho những bộ xử lý mới nhất.
Tốc độ tương quan của bộ xử lý và bộ nhớ
Để thấy rõ tầm quan trọng của bộ nhớ đệm, ta cần hiểu tốc độ tương quan của bộ xử lý và bộ nhớ. Vấn đề ở đây là tốc độ bộ xử lý thường thể hiện bằng MHz hay GHz (hàng triệu hoặc hàng tỷ chu kỳ trong một giây) trong khi tốc độ bộ nhớ là nano giây (hàng tỷ của một giây trong một chu kỳ). Phần lớn các bộ nhớ sau này diễn đạt tốc độ bằng MHz hay megabyte cho mỗi băng thông giây (MBps) (thông lượng).
Cả hai là sự đo lường được dựa trên thời gian thực sự (really time) hay tần suất (frequency) và một biểu đồ dùng so sánh chúng. Trong bảng biểu đồ này, bạn sẽ nhận ra rằng bộ xử lý 233MHz ví ngang với 4.3-nano giây quay vòng theo chu kỳ, nghĩa là bạn cần bộ nhớ 4ns để sánh kịp CPU 200MHz. Cũng nhận xét rằng bo mạch của hệ thống 233MHz tiêu biểu chạy ở 66MHz, tương ứng với tốc độ 15ns cho mỗi chu kỳ và đòi hỏi bộ nhớ 15ns để sánh kịp. Cuối cùng, nhận xét rằng bộ nhớ chính 60ns (phổ biến trên nhiều hệ thống lớp Pentium) ngang với tốc độ đồng hồ xấp xỉ 16MHz. Vì vậy, một hệ thống Pentium 233 tiêu biểu có bộ xử lý chạy ở 233MHz (4.3ns mỗi chu kỳ), một bo mạch ở 66MHz (15ns per cycle) và bộ nhớ chính ở 16MHz (60ns mỗi chu kỳ). Điều này có thể dường như giống một ví dụ khá cũ kỹ, nhưng trong chốc lát, bạn sẽ thấy các số liệu được liệt kê ở đây giúp tôi dễ dàng giải thích cách bộ nhớ đệm hoạt động như thế nào.
Cách hoạt động của bộ nhớ đệm
Do bộ nhớ đệm cấp 1 được tích hợp trên khuôn bộ xử lý nên nó sẽ chạy ở tốc độ nhân (full- core speed). Bằng tốc độ nhân, có nghĩa là bộ đệm này chạy ở tốc độ bộ xử lý nội bộ được tăng gấp bội hơn là tốc độ bo mạch ngoài. Một cách cơ bản bộ nhớ đệm là một vùng bộ nhớ nhanh chứa những tập mã và dữ liệu cần thiết hiện hành. Bộ nhớ đệm được truy cập không có những tình trạng chờ bởi vì nó chạy cùng tốc độ với nhân bộ xử lý.
Dùng bộ nhớ đệm giảm được tình trạng nghẽn cổ chai bởi vì RAM hệ thống hầu như luôn luôn chậm hơn CPU rất nhiều; Sự khác biệt tốc độ giữa bộ nhớ và CPU trở nên rộng lớn trong một số hệ thống gần đây. Dùng bộ nhớ đệm ngăn ngừa bộ xử lý từ việc phải chờ mã và dữ liệu từ bộ nhớ chính chậm hơn, do vậy cải thiện được tốc độ. Không có bộ đệm L1, một bộ xử lý thưởng xuyên bị buộc phải chờ đến khi bộ nhớ hệ thống đáp ứng.
Bộ nhớ đệm thậm chí khá quan trọng trong bộ xử lý hiện đại bởi vì nó thưởng là bộ nhớ duy nhất trong toàn bộ hệ thống có thể thực sự theo kịp con chip. Phần lớn các bộ xử lý hiện đại có xung nhịp tỉ lệ với tốc độ bo mạch mà chúng được cắm vào. Các loại bộ nhớ duy nhất phù hợp với tốc độ đủ của bộ xử lý là bộ nhớ đệm L1, L2 và có thể là L3 được dựng sẵn vào nhân bộ xử lý.
Nếu dữ liệu mà bộ xử lý muốn sẵn sẵng trong bộ đệm nội bộ thì CPU không phải chờ đợi. Nếu dữ liệu không có trong bộ nhớ đệm, CPU phải lấy nó từ bộ nhớ đệm cấp 2 hay (trong những thiết kế hệ thống ít tinh vi) từ bus hệ thống, nghĩa là trực tiếp từ bộ nhớ chính.