Tìm hiểu cách làm việc của bộ nhớ Cache (Phần 2)
Số trang: 11
Loại file: pdf
Dung lượng: 699.38 KB
Lượt xem: 8
Lượt tải: 0
Xem trước 2 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Tìm hiểu cách làm việc của bộ nhớ Cache (Phần 2)
Lịch sử về Cache nhớ trên các máy tính cá nhân (PC)
Trong phần này chúng tôi chỉ quan tâm đến các khía cạnh lịch sử trước đây của bộ nhớ Cache. Nếu bạn không quan tâm đến chủ đề này thì hoàn toàn có thể bỏ qua để đọc phần tiếp theo.
Bộ nhớ Cache được sử dụng đầu tiên trên các máy tính thời 386DX. Mặc dù bản thân CPU không có bộ nhớ Cache bên trong nhưng mạch hỗ trợ của nó chipset – có một bộ điều khiển...
Nội dung trích xuất từ tài liệu:
Tìm hiểu cách làm việc của bộ nhớ Cache (Phần 2) Tìm hiểu cách làm việc của bộ nhớ Cache (Phần 2) Lịch sử về Cache nhớ trên các máy tính cá nhân (PC) Trong phần này chúng tôi chỉ quan tâm đến các khía cạnh lịch sử trước đây của bộ nhớ Cache. Nếu bạn không quan tâm đến chủ đề này thì hoàn toàn có thể bỏ qua để đọc phần tiếp theo. Bộ nhớ Cache được sử dụng đầu tiên trên các máy tính thời 386DX. Mặc dù bản thân CPU không có bộ nhớ Cache bên trong nhưng mạch hỗ trợ của nó - chipset – có một bộ điều khiển Cache nhớ. Vì điều đó nên Cache nhớ ở thời điểm này nằm ở bên ngoài CPU và mang tính tùy chọn, nghĩa là nhà sản xuất bo mạch chủ có thể thêm vào hoặc không. Nếu bạn có một bo mạch chủ mà không có bộ nhớ Cache thì máy tính của bạn sẽ chậm hơn rất nhiều so với các máy tính có thành phần này. Số lượng bộ nhớ Cache được cung cấp khác nhau và phụ thuộc vào model của bo mạch chủ và các giá trị điển hình cho thời điểm đó là 64 KB và 128 KB. Cũng ở thời điểm này, bộ điều khiển Cache nhớ đã sử dụng một kiến trúc được biết đến với tên “write-through”, dùng cho các hoạt động ghi – nghĩa là khi CPU muốn lưu dữ liệu trong bộ nhớ thì bộ điều khiển Cache nhớ sẽ cập nhật bộ nhớ RAM ngay lập tức. Với các bộ vi xử lý 486DX, Intel đã bổ sung thêm một số lượng nhỏ (8KB) Cache nhớ bên trong mỗi CPU. Cache nhớ bên trong này được gọi là L1 (level 1) hay “internal”, còn các Cache nhớ bên ngoài được gọi là (level 2) hay “external”. Số lượng và sự tồn tại của Cache nhớ bên ngoài phụ thuộc vào model của bo mạch chủ. Số lượng điển hình cho thời điểm đó là 128 KB và 256 KB. Sau đó các mô hình 486 đã bổ sung thêm kiến trúc Cache “write back”, đây là kiến trúc đã được sử dụng cho đến ngày nay, các hoạt động ghi của bộ nhớ RAM không được cập nhật ngay tức khắc mà CPU lưu dữ liệu trên Cache nhớ và bộ điều khiển nhớ sẽ cập nhật bộ nhớ RAM chỉ khi không có Cache. Sau đó với các bộ vi xử lý Pentium đầu tiên, Intel đã tạo hai Cache nhớ bên trong tách biệt nhau, một cho các chỉ lệnh và một cho dữ liệu (ở thời điểm này mỗi Cache nhớ là 8 KB). Kiến trúc này vẫn được sử dụng cho đến ngày nay và đó chính là tại sao đôi khi bạn vẫn thấy Cache nhớ L1 tồn tại được ghi 64 KB + 64 KB (ví dụ) – điều này là vì có một Cache chỉ lệnh L1 64KB và một Cache nhớ dữ liệu L2 64KB. Chúng tôi sẽ giải thích cho các bạn về sự khác nhau của hai loại Cache nhớ này. Tại thời điểm đó, Cache nhớ L2 thường được đặt trên bo mạch chủ, chính vì vậy số lượng và sự tồn tại của nó phụ thuộc vào model của bo mạch chủ. Rõ ràng việc hệ thống không có Cache nhớ là một điều không thể chấp nhận. Số lượng điển hình cho thời điểm đó là 256 KB và 512 KB. Các bộ vi xử lý AMD K5, K6 và K6-2 cũng đã sử dụng kiến trúc này, với K6-III thì có thêm Cache nhớ thứ ba (L3, level 3). Vấn đề với Cache nhớ nằm bên ngoài L2 là nó được truy cập với tốc độ clock thấp hơn vì thế hệ 486DX2 tốc độ clock bên trong của CPU khác hoàn toàn với tốc độ clock bên ngoài của CPU. Ví dụ Pentium-200 làm việc bên trong tại tốc độ 200MHz, nó đã truy cập vào bộ nhớ Cache L2 của nó với tốc độ 66MHz. Sau kiến trúc P6, Intel đã chuyển sang Cache nhớ từ bo mạch chủ sang bên trong CPU – điều đó đã cho phép CPU có thể truy cập với tốc độ clock bên trong – ngoại trừ Pentium II (bộ nhớ Cache không được đặt bên trong CPU nhưng trên cùng bo mạch in – nơi CPU được hàn gắn (bo mạch in này được đặt bên trong một hộp chứa)), lại chạy bằng một nửa tốc độ clock trong của CPU. Trên Celeron-266 và Celeron-300, các model này không có Cache nhớ (chính vì vậy chúng là các CPU tồi tệ nhất trong lịch sử). Kiến trúc được sử dụng cho đến ngày nay cũng tương tự như vậy: cả hai Cache nhớ L1 và L2 đều được đặt bên trong CPU và chạy với tốc độ clock bên trong của CPU. Chính vì vậy số lượng Cache nhớ mà bạn có trên hệ thống sẽ phụ thuộc vào model của CPU; không có cách nào để có thể tăng được số lượng Cache nhớ mà không cần thay thế CPU. Xem xét các Cache nhớ Trong hình 2, bạn sẽ thấy sơ đồ khối cơ bản của một CPU một lõi. Sơ đồ khối cụ thể sẽ thay đổi phụ thuộc vào CPU. Hình 2: Sơ đồ khối cơ bản của một CPU Đường chấm trên hình 2 thể hiện phần thân của CPU, vì bộ nhớ RAM được đặt bên ngoài CPU. Đường dữ liệu giữa bộ nhớ RAM và CPU có độ rộng 64 –bit thông thường (hoặc 128 khi cấu hình hai kênh được sử dụng), đang chạy với tốc độ clock nhớ hoặc clock ngoài của CPU (hoặc clock của bus nhớ, trong trường hợp đối với các bộ vi xử lý của AMD). Tất cả các mạch bên trong phần chấm đều chạy với tốc độ clock của CPU. Phụ thuộc vào CPU mà một số thành phần bên trong nó thậm chí còn có thể chạy với tốc độ clock cao hơn. Còn đường dẫn giữa các khối CPU cũng có thể rộng hơn, nghĩa là sẽ truyền tải nhiều bit hơn trên mỗi một chu kỳ xung clock (nhiều hơn 64 hoặc 128). Ví dụ, đường dữ liệu giữa bộ nhớ Cache L2 và Cache chỉ lệnh L1 trên các bộ vi xử lý hiện đại thường có độ rộng 256- bit. Đường dữ liệu giữa Cache chỉ lệnh L1 và khối tìm nạp của CPU cũng thay đổi phụ thuộc vào mô hình của từng CPU – 128 bit là giá trị điển hình, tuy nhiên ở phần cuối của hướng dẫn này chúng tôi sẽ giới thiệu cho một bảng chỉ tiêu kỹ thuật của các Cache nhớ chính đối với các CPU được bán trên thị trường hiện nay. Số lượng truyền tải các bit trên một chu kỳ xung nhịp càng cao thì sự truyền tải càng diễn ra nhanh hơn (nói theo cách khác là tốc độ truyền tải sẽ nhanh hơn). Nói chung, tất cả các CPU hiện đại đều có đến ba Cache nhớ: L2 là Cache nhớ lớn hơn và có thể tìm thấy ở giữa bộ nhớ RAM và Cache chỉ lệnh L1, nó nắm giữ cả các chỉ lệnh và dữ liệu; Cache chỉ lệnh L1 được sử dụng để lưu các chỉ lệnh đã được thực thi bởi CPU và lưu dữ liệu để có thể được ghi ngược trở lại bộ nhớ. L1 và L2 có nghĩa là “Level 1” và “Level 2”, ám chỉ khoảng cách từ chúng đến lõi CPU (khối thực thi). Có một sự nghi ngờ đó là tại sao lại có đến ba Cache nhớ tách biệt (Cache nhớ dữ liệu L1, Cache nhớ chỉ lệnh L1 và Cache L2). Để làm cho độ trễ của bộ nhớ tĩnh giảm xuống bằng “0” là một điều rất khó khăn, đặc biệt với các CPU đan ...
Nội dung trích xuất từ tài liệu:
Tìm hiểu cách làm việc của bộ nhớ Cache (Phần 2) Tìm hiểu cách làm việc của bộ nhớ Cache (Phần 2) Lịch sử về Cache nhớ trên các máy tính cá nhân (PC) Trong phần này chúng tôi chỉ quan tâm đến các khía cạnh lịch sử trước đây của bộ nhớ Cache. Nếu bạn không quan tâm đến chủ đề này thì hoàn toàn có thể bỏ qua để đọc phần tiếp theo. Bộ nhớ Cache được sử dụng đầu tiên trên các máy tính thời 386DX. Mặc dù bản thân CPU không có bộ nhớ Cache bên trong nhưng mạch hỗ trợ của nó - chipset – có một bộ điều khiển Cache nhớ. Vì điều đó nên Cache nhớ ở thời điểm này nằm ở bên ngoài CPU và mang tính tùy chọn, nghĩa là nhà sản xuất bo mạch chủ có thể thêm vào hoặc không. Nếu bạn có một bo mạch chủ mà không có bộ nhớ Cache thì máy tính của bạn sẽ chậm hơn rất nhiều so với các máy tính có thành phần này. Số lượng bộ nhớ Cache được cung cấp khác nhau và phụ thuộc vào model của bo mạch chủ và các giá trị điển hình cho thời điểm đó là 64 KB và 128 KB. Cũng ở thời điểm này, bộ điều khiển Cache nhớ đã sử dụng một kiến trúc được biết đến với tên “write-through”, dùng cho các hoạt động ghi – nghĩa là khi CPU muốn lưu dữ liệu trong bộ nhớ thì bộ điều khiển Cache nhớ sẽ cập nhật bộ nhớ RAM ngay lập tức. Với các bộ vi xử lý 486DX, Intel đã bổ sung thêm một số lượng nhỏ (8KB) Cache nhớ bên trong mỗi CPU. Cache nhớ bên trong này được gọi là L1 (level 1) hay “internal”, còn các Cache nhớ bên ngoài được gọi là (level 2) hay “external”. Số lượng và sự tồn tại của Cache nhớ bên ngoài phụ thuộc vào model của bo mạch chủ. Số lượng điển hình cho thời điểm đó là 128 KB và 256 KB. Sau đó các mô hình 486 đã bổ sung thêm kiến trúc Cache “write back”, đây là kiến trúc đã được sử dụng cho đến ngày nay, các hoạt động ghi của bộ nhớ RAM không được cập nhật ngay tức khắc mà CPU lưu dữ liệu trên Cache nhớ và bộ điều khiển nhớ sẽ cập nhật bộ nhớ RAM chỉ khi không có Cache. Sau đó với các bộ vi xử lý Pentium đầu tiên, Intel đã tạo hai Cache nhớ bên trong tách biệt nhau, một cho các chỉ lệnh và một cho dữ liệu (ở thời điểm này mỗi Cache nhớ là 8 KB). Kiến trúc này vẫn được sử dụng cho đến ngày nay và đó chính là tại sao đôi khi bạn vẫn thấy Cache nhớ L1 tồn tại được ghi 64 KB + 64 KB (ví dụ) – điều này là vì có một Cache chỉ lệnh L1 64KB và một Cache nhớ dữ liệu L2 64KB. Chúng tôi sẽ giải thích cho các bạn về sự khác nhau của hai loại Cache nhớ này. Tại thời điểm đó, Cache nhớ L2 thường được đặt trên bo mạch chủ, chính vì vậy số lượng và sự tồn tại của nó phụ thuộc vào model của bo mạch chủ. Rõ ràng việc hệ thống không có Cache nhớ là một điều không thể chấp nhận. Số lượng điển hình cho thời điểm đó là 256 KB và 512 KB. Các bộ vi xử lý AMD K5, K6 và K6-2 cũng đã sử dụng kiến trúc này, với K6-III thì có thêm Cache nhớ thứ ba (L3, level 3). Vấn đề với Cache nhớ nằm bên ngoài L2 là nó được truy cập với tốc độ clock thấp hơn vì thế hệ 486DX2 tốc độ clock bên trong của CPU khác hoàn toàn với tốc độ clock bên ngoài của CPU. Ví dụ Pentium-200 làm việc bên trong tại tốc độ 200MHz, nó đã truy cập vào bộ nhớ Cache L2 của nó với tốc độ 66MHz. Sau kiến trúc P6, Intel đã chuyển sang Cache nhớ từ bo mạch chủ sang bên trong CPU – điều đó đã cho phép CPU có thể truy cập với tốc độ clock bên trong – ngoại trừ Pentium II (bộ nhớ Cache không được đặt bên trong CPU nhưng trên cùng bo mạch in – nơi CPU được hàn gắn (bo mạch in này được đặt bên trong một hộp chứa)), lại chạy bằng một nửa tốc độ clock trong của CPU. Trên Celeron-266 và Celeron-300, các model này không có Cache nhớ (chính vì vậy chúng là các CPU tồi tệ nhất trong lịch sử). Kiến trúc được sử dụng cho đến ngày nay cũng tương tự như vậy: cả hai Cache nhớ L1 và L2 đều được đặt bên trong CPU và chạy với tốc độ clock bên trong của CPU. Chính vì vậy số lượng Cache nhớ mà bạn có trên hệ thống sẽ phụ thuộc vào model của CPU; không có cách nào để có thể tăng được số lượng Cache nhớ mà không cần thay thế CPU. Xem xét các Cache nhớ Trong hình 2, bạn sẽ thấy sơ đồ khối cơ bản của một CPU một lõi. Sơ đồ khối cụ thể sẽ thay đổi phụ thuộc vào CPU. Hình 2: Sơ đồ khối cơ bản của một CPU Đường chấm trên hình 2 thể hiện phần thân của CPU, vì bộ nhớ RAM được đặt bên ngoài CPU. Đường dữ liệu giữa bộ nhớ RAM và CPU có độ rộng 64 –bit thông thường (hoặc 128 khi cấu hình hai kênh được sử dụng), đang chạy với tốc độ clock nhớ hoặc clock ngoài của CPU (hoặc clock của bus nhớ, trong trường hợp đối với các bộ vi xử lý của AMD). Tất cả các mạch bên trong phần chấm đều chạy với tốc độ clock của CPU. Phụ thuộc vào CPU mà một số thành phần bên trong nó thậm chí còn có thể chạy với tốc độ clock cao hơn. Còn đường dẫn giữa các khối CPU cũng có thể rộng hơn, nghĩa là sẽ truyền tải nhiều bit hơn trên mỗi một chu kỳ xung clock (nhiều hơn 64 hoặc 128). Ví dụ, đường dữ liệu giữa bộ nhớ Cache L2 và Cache chỉ lệnh L1 trên các bộ vi xử lý hiện đại thường có độ rộng 256- bit. Đường dữ liệu giữa Cache chỉ lệnh L1 và khối tìm nạp của CPU cũng thay đổi phụ thuộc vào mô hình của từng CPU – 128 bit là giá trị điển hình, tuy nhiên ở phần cuối của hướng dẫn này chúng tôi sẽ giới thiệu cho một bảng chỉ tiêu kỹ thuật của các Cache nhớ chính đối với các CPU được bán trên thị trường hiện nay. Số lượng truyền tải các bit trên một chu kỳ xung nhịp càng cao thì sự truyền tải càng diễn ra nhanh hơn (nói theo cách khác là tốc độ truyền tải sẽ nhanh hơn). Nói chung, tất cả các CPU hiện đại đều có đến ba Cache nhớ: L2 là Cache nhớ lớn hơn và có thể tìm thấy ở giữa bộ nhớ RAM và Cache chỉ lệnh L1, nó nắm giữ cả các chỉ lệnh và dữ liệu; Cache chỉ lệnh L1 được sử dụng để lưu các chỉ lệnh đã được thực thi bởi CPU và lưu dữ liệu để có thể được ghi ngược trở lại bộ nhớ. L1 và L2 có nghĩa là “Level 1” và “Level 2”, ám chỉ khoảng cách từ chúng đến lõi CPU (khối thực thi). Có một sự nghi ngờ đó là tại sao lại có đến ba Cache nhớ tách biệt (Cache nhớ dữ liệu L1, Cache nhớ chỉ lệnh L1 và Cache L2). Để làm cho độ trễ của bộ nhớ tĩnh giảm xuống bằng “0” là một điều rất khó khăn, đặc biệt với các CPU đan ...
Tìm kiếm theo từ khóa liên quan:
thủ thuật máy tính công nghệ thông tin tin học quản trị mạng computer networkGợi ý tài liệu liên quan:
-
52 trang 429 1 0
-
24 trang 353 1 0
-
Top 10 mẹo 'đơn giản nhưng hữu ích' trong nhiếp ảnh
11 trang 312 0 0 -
Làm việc với Read Only Domain Controllers
20 trang 299 0 0 -
74 trang 294 0 0
-
96 trang 291 0 0
-
Báo cáo thực tập thực tế: Nghiên cứu và xây dựng website bằng Wordpress
24 trang 288 0 0 -
Đồ án tốt nghiệp: Xây dựng ứng dụng di động android quản lý khách hàng cắt tóc
81 trang 278 0 0 -
EBay - Internet và câu chuyện thần kỳ: Phần 1
143 trang 273 0 0 -
Tài liệu dạy học môn Tin học trong chương trình đào tạo trình độ cao đẳng
348 trang 269 1 0