Cache là gì?

Chien Tong

New member
Xu
33
Cache là tên gọi của bộ nhớ đệm – nơi lưu trữ các dữ liệu nằm chờ các ứng dụng hay phần cứng xử lý.Mục đích của nó là để tăng tốc độ xử lý (có sẵn xài liền không cần tốn thời gian đi lùng sục tìm kéo về).

ung_dung_thvp.jpg

Tìm hiểu về cache máy tính
Memory cache: Đây là một khu vực bộ nhớ được tạo bằng bộ nhớ tĩnh (SRAM) có tốc độ cao nhưng đắt tiền thay vì bộ nhớ động (DRAM) có tốc độ thấp hơn và rẻ hơn, được dùng cho bộ nhớ chính. Cơ chế lưu trữ bộ nhớ cahce này rất có hiệu quả. Bởi lẽ, 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 y chang nhau. Nhờ lưu trữ các thông tin này trong SRAM, máy tính sẽ khỏi phải truy xuất vào DRAM vốn chậm chạp hơn.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ý. Chẳng hạn, CPU Intel đời 80486 có bộ nhớ cache 8 KB, trong khi lên đời Pentium là 16 KB.

Các bộ nhớ cache nội (internal cache) như thế gọi là Level 1 (L1) Cache (bộ nhớ đệm cấp 1). Các máy tính hiện đại hơn thì có thêm bộ nhớ cache ngoại (external cache) gọi là Level 2 (L2) Cache (bộ nhớ đệm cấp 2). Các cache này nằm giữa CPU và bộ nhớ hệ thống DRAM. Sau này, do nhu cầu xử lý nặng hơn và với tốc độ nhanh hơn, các máy chủ (server), máy trạm (workstation) và mới đây là CPU Pentium 4 Extreme Edition được tăng cường thêm bộ nhớ đệm L3 Cache.

Disk cache: Bộ nhớ đệm đĩa cũng hoạt động cùng nguyên tắc với bộ nhớ cache, nhưng thay vì dùng SRAM tốc độ cao, nó lại sử dụng ngay bộ nhớ chính. Các dữ liệu được truy xuất gần đây nhất từ đĩa cứng sẽ được lưu trữ trong một buffer (phần đệm) của bộ nhớ. Khi chương trình nào cần truy xuất dữ liệu từ ổ đĩa, nó sẽ kiểm tra trước tiên trong bộ nhớ đệm đĩa xem dữ liệu mình cần đang có sẵn không. Cơ chế bộ nhớ đệm đĩa này có công dụng cải thiện một cách đáng ngạc nhiên sức mạnh và tốc độ của hệ thống. Bởi lẽ, việc truy xuất 1 byte dữ liệu trong bộ nhớ RAM có thể nhanh hơn hàng ngàn lần nếu truy xuất từ một ổ đĩa cứng. Sẵn đây, xin nói thêm, người ta dùng thuật ngữ cache hit để chỉ việc dữ liệu được tìm thấy trong cache. Và hiệu năng của một cache được tính bằng hit rate (tốc độ tìm thấy dữ liệu trong cache).

Trở lại chuyện bộ nhớ cache. Hồi thời Pentium đổ về trước, bộ nhớ cache nằm trên mainboard và một số mainboard có chừa sẵn socket để người dùng có thể gắn thêm cache khi có nhu cầu. Tới thế hệ Pentium II, Intel phát triển được công nghệ đưa bộ nhớ cache vào khối CPU. Nhờ nằm chung như vậy, tốc độ truy xuất cache tăng lên rõ rệt so với khi nó nằm trên mainboard. Nhưng do L2 Cache vẫn phải ở ngoài nhân CPU nên Intel phải chế ra một bo mạch gắn cả nhân CPU lẫn L2 Cache. Và thế là CPU có hình dạng to đùng như một cái hộp (gọi là cartridge) và được gắn vào mainboard qua giao diện slot (khe cắm), Slot 1. Tốc độ truy xuất cache lúc đó chỉ bằng phân nửa tốc độ CPU.

Thí dụ, CPU 266 MHz chỉ có tốc độ L2 Cache là 133 MHz. Sang Pentium III cũng vậy. Mãi cho tới thế hệ Pentium III Coppermine (công nghệ 0.18-micron), Intel mới thành công trong việc tích hợp ngay L2 Cache vào nhân chip (gọi là on-die cache). Lúc đó, tốc độ L2 Cache bằng với tốc độ CPU và con CPU được thu gọn lại, đóng gói với giao diện Socket 370.

Như đã nói, dung lượng của Cache CPU lợi hại lắm nghen. Phổ biến nhất là L2 Cache là một chip nhớ nằm giữa L1 Cache ngay trên nhân CPU và bộ nhớ hệ thống. Khi CPU xử lý, L1 Cache sẽ tiến hành kiểm tra L2 Cache xem có dữ liệu mình cần không trước khi truy cập vào bộ nhớ hệ thống. Vì thế, bộ nhớ đệm càng lớn, CPU càng xử lý nhanh hơn. Đó là lý do mà Intel bên cạnh việc tăng xung nhịp cho nhân chíp, còn chú ý tới việc tăng dung lượng bộ nhớ Cache.

Do giá rất đắt, nên dung lượng Cache không thể tăng ồ ạt được. Bộ nhớ cache chính L1 Cache vẫn chỉ ở mức từ 8 tới 32 KB. Trong khi, L2 Cache thì được đẩy lên dần tới hiện nay cao nhất là Pentium M Dothan 2 MB (cho máy tính xách tay) và Pentium 4 Prescott 1 MB (máy để bàn). Riêng dòng CPU dành cho dân chơi game và dân multimedia "prồ” là Pentium 4 Extreme Edition còn được bổ sung L3 Cache với dung lượng 2 MB. Đây cũng là CPU để bàn có tổng bộ nhớ cache lớn nhất (L1: 8 KB, L2: 512 KB, L3: 2 MB).

Intel Core 2 Duo T5600 1.8GHz, 2MB L2 Cache, 667 MHz FSB
 

VnKienthuc lúc này

Không có thành viên trực tuyến.

Định hướng

Diễn đàn VnKienthuc.com là nơi thảo luận và chia sẻ về mọi kiến thức hữu ích trong học tập và cuộc sống, khởi nghiệp, kinh doanh,...
Top