Bộ nhớ đệm là gì của CPU? Bộ nhớ đệm hay còn được gọi là Cache. Đây là nơi lưu trữ tạm thời những dữ liệu nền và qua đó giúp bạn mở lại chương trình đó nhanh hơn mà không cần mở lại từ đầu. Vậy bạn có biết bộ nhớ đệm của điện thoại là gì, có nên xóa bộ nhớ đệm? Và cách hoạt động của bộ nhớ đệm như thế nào? Hãy theo dõi bài viết sau.
Bộ nhớ đệm là gì?
Bộ nhớ đệm là gì? Đây là bộ nhớ đệm của CPU được gọi là Cache. Nó đóng vai trò như là một nơi lưu trữ tạm thời những lệnh mà CPU cần xử lý (Lệnh này bao gồm tất cả các thao tác mà bạn thường hay sử dụng trên máy tính. Từ việc soạn thảo văn bản đơn giản đến game nặng).
Những lệnh này sẽ xếp hàng với nhau chờ được xử lý. Vì vậy, bộ nhớ đệm càng lớn thì sẽ chứa được nhiều lệnh hơn nhờ đó giúp rút ngắn thời gian chờ và tăng hiệu suất làm việc của CPU .
Bản chất của hệ thống khi hoạt động gồm các ứng dụng nền nhỏ thực hiện từng chức năng riêng biệt. Các ứng dụng này trong quá trình hoạt động sinh ra dữ liệu đệm gọi chung là bộ nhớ đệm của hệ điều hành.
Bộ nhớ đệm của ứng dụng giúp lưu lại những dữ liệu nền. Và làm cho trình duyệt load nhanh hơn ở lần truy cập thứ 2. Đơn giản bạn có thể dễ dàng nhận thấy khi mở trình duyệt trên điện thoại. Nó sẽ tự load lại toàn bộ trang web ở lần mở cuối cùng mà không cần kết nối mạng.
Đây là một trong những vai trò của bộ nhớ đệm giúp thuận tiện hơn cho người sử dụng.
Hiện nay thì máy tính có 3 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 lưu trữ lớn nhất của bộ nhớ trong máy.
Sau đó, có 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 đơn vị bộ nhớ trong chính CPU được gọi là bộ nhớ cache. Trong 3 loại bộ nhớ trên, bộ nhớ cache là nhanh nhất trong tất cả các loại bộ nhớ.
Tầng dữ liệu của bộ nhớ đệm
Trước khi đến với Cache, bạn hãy tìm hiểu qua “tầng dữ liệu” trong bộ nhớ hệ điều hành. Các tầng bộ nhớ trong máy tính lưu trữ tách biệt mỗi cấp độ với nhau và khác nhau dựa trên thời gian đáp ứng. Ngoài thời gian đáp ứng, độ phức tạp và dung lượng, các tầng có thể được phân biệt với nhau bằng hiệu năng và công nghệ sử dụng.
Càng lên cao, dung lượng của bộ nhớ sẽ càng giảm dần, nhưng tốc độ truy xuất sẽ càng nhanh. Và Cache là mức nhanh thứ 2 sau tốc độ chạy của CPU (thứ 3 nếu tính cả thanh ghi – register). Điều này chứng tỏ cache là một bộ phận vô cùng quan trọng, và dữ liệu trong cache sẽ được xử lý rất nhanh.
Memory cache
Khu vực bộ nhớ đệm là gì? Đây là khu vực mà bộ nhớ được tạo bằng bộ nhớ tĩnh (SRAM). Có tốc độ cao nhưng đắt tiền hơn thay vì bộ nhớ động (DRAM) tốc độ thấp hơn và rẻ hơn được dùng cho bộ nhớ chính. Cơ chế lưu trữ rất có hiệu quả.
Bởi vì hầu hết các chương trình thực tế truy xuất lặp đi lặp lại cùng một dữ liệu hay các lệnh giống nhau. Nhờ lưu trữ các thông tin này trong SRAM mà máy tính sẽ không phải truy xuất vào DRAM.
Một số bộ nhớ Cache được tích hợp vào trong kiến trúc của các bộ vi xử lý. CPU Intel 80486 có bộ nhớ cache 8KB, trong khi đời Pentium là 16KB. Các máy tính đời mới hơn sẽ có thêm cả bộ nhớ cache ngoại.
Các cache này nằm giữa CPU và bộ nhớ hệ thống DRAM. Một số máy yêu cầu xử lý nặng hơn và tốc độ nhanh hơn đã được thêm bộ nhớ đệm L3 cache.
Cách hoạt động của bộ nhớ đệm
Cách hoạt động của bộ nhớ đệm như thế nào? 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 vào bộ đệm L3, rồi L2 và đến L1 sẽ rót trực tiếp dữ liệu cho các nhân CPU xử lý. Trong khi chương trình đang chạy, CPU tìm kiếm thông tin cần chạy. Bắt đầu từ bộ đệm L1 và làm việc ngược từ đó.
Độ trễ là thời gian cần thiết để lấy một phần thông tin. Bộ đệm L1 là nhanh nhất và do đó nó có độ trễ thấp nhất. Khi xảy ra lỗi bộ nhớ cache. Độ trễ tăng lên khi máy tính phải tiếp tục tìm kiếm trong các bộ đệm khác nhau để tìm thông tin cần thiết.
Bạn có thể xem bộ nhớ đệm như như một cái phễu rót dữ liệu và L1, L2, L3 giống như các tầng của cái phễu đó. Chúng “gia tốc” dữ liệu, làm cho tốc độ dữ liệu nhanh hơn theo từng “Level”.
Từ L3, xuống L2 và L1, tốc độ truyền dữ liệu sẽ tăng lên đủ nhanh để giúp CPU có thể hoạt động hết công suất và phát huy tối đa sức mạnh của nó. Đó chính là cách hoạt động của bộ nhớ đệm.
Cấp độ của bộ nhớ đệm
Tác dụng của bộ nhớ đệm là gì? Nó cũng giống như thanh RAM mà bạn cắm trên mainboard vậy. Bộ nhớ đệm của CPU sẽ lưu trữ các dữ liệu trích từ RAM. Để sẵn sàng cung cấp cho CPU sử dụng với tốc độ nhanh nhất.
Các CPU ban đầu chỉ sử dụng một cấp bộ nhớ cache, nhưng khi công nghệ phát triển. Cần phải tách các khu vực truy xuất bộ nhớ này để các hệ thống có thể theo kịp.
Ba cấp độ là: Bộ đệm L1 – Đây là bộ đệm chính. Nó nhanh, nhưng nó cũng nhỏ. Vì vậy nó bị giới hạn như những gì nó có thể lưu trữ. Nó thường được nhúng trong chip xử lý.
Bộ đệm L2 – Còn được gọi là bộ đệm thứ cấp. Bộ đệm L2 có thể được nhúng trên chip xử lý hoặc trên một chip riêng với một bus tốc độ cao kết nối nó với CPU.
Bộ đệm L3 – Bộ đệm xử lý này là bộ nhớ chuyên dụng có thể dùng làm bản sao lưu cho bộ đệm L1 và L2 của bạn. Nó có thể không nhanh như vậy, nhưng nó giúp tăng hiệu suất của L1 và L2 của bạn.
Bạn có thể xem bộ nhớ đệm như như một cái phễu rót dữ liệu và L1, L2, L3 giống như các tầng của cái phễu đó. Chúng “gia tốc” dữ liệu, làm cho tốc độ dữ liệu nhanh hơn theo từng “Level”. Từ L3, xuống L2 và L1, tốc độ truyền dữ liệu sẽ tăng lên đủ nhanh để giúp CPU có thể hoạt động hết công suất và phát huy tối đa sức mạnh của nó.
Hệ thống và phân chia
Để giúp cải thiện số lần hit so với miss, có một số kỹ thuật được sử dụng. Một trong số đó là chia bộ nhớ đệm thành hai, một cho các câu lệnh và một cho dữ liệu.
Nguyên nhân của việc này là do việc lấp đầy một vùng đệm câu lệnh sẽ dễ hơn nhiều so với dữ liệu. Khi câu lệnh tiếp theo được thực thi có thể là câu lệnh kế tiếp trong bộ nhớ.
Điều đó cũng có nghĩa là câu lệnh kế tiếp được thực thi. Có thể được truy xuất từ vùng đệm câu lệnh trong khi CPU vẫn đang làm việc trên phần bộ nhớ trong vùng đệm dữ liệu. (Do cả hai vùng đệm là độc lập).
Một kỹ thuật khác là cải thiện số lần trúng bộ nhớ đệm cache hit là sử dụng hệ thống phân cấp của các bộ nhớ đệm. Thường được gọi là bộ nhớ đệm L1 (level 1) và bộ nhớ đệm L2 (level 2).
L2 thường có bộ nhớ đệm lớn hơn (thường là 4MB, nhưng có thể còn lớn hơn). Tuy nhiên nó lại chậm hơn (nghĩa là chi phí rẻ hơn) và nó được dùng chung bởi tất cả các nhân CPU. Làm nó trở thành một bộ nhớ đệm duy nhất cho toàn bộ chip SoC.
Ý tưởng dành cho việc phân cấp này là, nếu dữ liệu đòi hỏi không nằm trên bộ nhớ đệm L1. CPU sẽ cố lấy ra dữ liệu từ bộ nhớ đệm L2, trước khi thử trên bộ nhớ chính.
Cho dù L2 chậm hơn L1, nhưng nó vẫn nhanh hơn bộ nhớ chính. Và do có kích thước tăng lên nên nó có cơ hội cao hơn để dữ liệu nằm trên đó.
Một số thiết kế chíp thậm chí còn sử dụng bộ nhớ đệm L3. Cũng như L2 chậm hơn nhưng lớn hơn L1, L3 lớn hơn nhưng chậm hơn L2.
Trên di động, L3 thường không được sử dụng. Tuy nhiên, trên các bộ xử lý kiến trúc ARM dùng cho máy chủ (như chíp SoC 24 lõi của Qualcomm sắp ra mắt hay chíp Opteron 1100 của AMD) có tùy chọn bổ sung bộ nhớ đệm L3 32MB. Trên đây là cách hoạt động của bộ nhớ đệm. Hy vọng bài viết đã cung cấp thông tin hữu ích cho bạn.