Đồ án cuối kì đề tài bộ nhớ đệm cache

28 1 0
Đồ án cuối kì đề tài bộ nhớ đệm cache

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG VIỆT - HÀN KHOA KĨ THUẬT MÁY TÍNH – ĐIỆN TỬ ĐỒ ÁN CUỐI KÌ ĐỀ TÀI: BỘ NHỚ ĐỆM CACHE Sinh viên thực : NGUYỄN THANH PHONG NGUYỄN PHƯỚC THỊNH TRẦN VĂN PHÚC PHAN MINH ĐỨC Giảng viên hướng dẫn : TS NGUYỄN VŨ ANH QUANG Lớp : 20IT12 || 20IT2 || 20IT9 || 20IT12 Đà nẵng, tháng 05 năm 2021 ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THƠNG VIỆT - HÀN KHOA KĨ THUẬT MÁY TÍNH – ĐIỆN TỬ ĐỒ ÁN CUỐI KÌ BỘ NHỚ ĐỆM CACHE nng, thỏng 05 nm 2021 ãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cache M U Trờn thực tế, thiết kế chip SoC có vấn đề lớn, nhớ RAM chậm, chậm Vì vậy, người ta phải đưa cách giải khác gọi nhớ đệm Tại CPU Nó nắm quyền chi phối tối cao với thiết bị tốc độ địi hỏi phải cao Một CPU trung bình có xung nhịp từ 2.6 GHz đến khoảng 3.5 GHz Trong đó, xung nhịp trung bình module RAM khoảng 1200 MHz (có sử dụng cơng nghệ DDR) Vậy điều nghĩa RAM trung bình chạy tốc độ xung nhịp chậm khoảng 2-3 lần so với CPU Điều thật khoảng thời gian vơ tận Mỗi CPU cần từ RAM, phải chờ đợi, chờ đợi chờ đợi liệu nạp Như thấy mấu chốt vấn đề Tuy nhiên, tình hình khơng thực xấu đến mức vậy, cơng nghệ Double-Data-Rate (DDR) RAM gửi lượng liệu gấp đơi chu kỳ xung nhịp Ngồi cịn kỹ thuật tích hợp bên CPU, để đảm bảo liệu yêu cầu sớm có thể, trước thực cần đến Sự hạn chế hiệu gọi nút thắt cổ chai Von Neumann, lấy theo tên người chủ chốt phát minh máy tính đại ngày Nhược điểm kiến trúc Von Neumann nút thắt cổ chai hiệu xuất liệu qua bị giới hạn khác biệt tương đối tốc độ CPU RAM Có số phương pháp để cải thiện tình trạng giảm khác biệt hiệu năng, số sử dụng nhớ đệm Vậy nhớ đệm gì? Nói cách đơn giản, lượng nhỏ nhớ đặt chip SoC, chạy tốc độ với CPU Điều có nghĩa CPU khơng cần phải chờ đợi cần liệu từ nhớ đệm nữa, liệu gửi thẳng tới CPU với tốc độ mà CPU hoạt động Hơn nữa, nhớ đệm cài đặt nhân CPU, nên nhân CPU có nhớ đệm riêng khơng có tranh chấp việc đượctruy cập vào Nếu không làm tất nhớ giống nhớ đệm? Câu trả lời đơn giản Bộ nhớ đệm chạy với tốc độ đắt Giá thành rào cản thực Cấu tạo Cache thực SRAM, sử dụng transitor lưu trữ 0,1 phí đắt, loại lại có mức đắt khác nên làm to dài DRAM Đó lý dung lượng nhớ đệm trung bình thường tính Kilobyte, 32K hay 64K, thay hàng Megabyte thường thấy DRAM Vậy nhân CPU có vài Kilobyte nhớ siêu nhanh, dùng để lưu phần nhớ Nếu vùng đệm thực nhớ mà CPU cần, khơng cần truy cập vào nhớ chậm chạp để lấy liệu Do nhớ đệm có vài Kilobyte nên có lúc vùng đệm có nội dung nhớ, biết đến “cache hit” (trùng nhớ đệm), có lúc khơng, gọi “cache miss” (lệch nhớ đệm) Tỷ lệ trùng nhớ đệm cao tốt ãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cache ãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cache LI CM N Chỳng em xin gi li cảm ơn chân thành tới nhà trường, đặc biệt khoa Kĩ Thuật Máy Tính - Điện Tử tận tình bảo, góp ý tạo điều kiện cho chúng em hoàn thành đề tài nghiên cứu Đồ án cuối kì mơn Kiến trúc máy tính cách tốt Chúng em xin cảm ơn TS Nguyễn Vũ Anh Quang nhiệt tình hướng dẫn chúng em trình thực báo cáo đề tài nghiên cứu đồ án cuối kì Trong trình thực đề tài ngiên cứu, chúng em cố gắng nỗ lực, nhiên khơng tránh khỏi sai sót Chúng em mong nhận góp ý thầy giáo, từ phía hội đồng để đề tài ngiên cứu chúng em hoàn thiện Chúng em xin chân thành cm n! ãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cache ãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cache NHN XẫT (Ca ging viờn hng dẫn) ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cache ãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cache Chng Nguyờn lớ b nh cache Mục đích nhớ Cache thiết kế để kết hợp thời gian truy cập nhớ tốc độ cao, đắt tiền với dung lượng lớn nhớ tốc độ thấp rẻ Trong đó, có nhớ tương đối lớn chậm với nhớ cache nhỏ hơn, nhanh Cache chứa phần nhớ Khi xử lý muốn đọc word nhớ chính, trước tiên phải kiểm tra để xác định xem word có nằm cache hay khơng Nếu có, word truyền từ cache đến xử lý Nếu khơng, block nhớ chính, gồm vài word có chứa word mong muốn, đọc vào cache word gửi đến xử lý Do tính cục tham chiếu, block liệu truy xuất vào nhớ cache để đáp ứng tham chiếu nhớ, có khả tới có tham chiếu tới vị trí nhớ tới word khác block ú ãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cache ãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cache Hỡnh 1.1 Cache Hình 1.2 – Bộ nhớ Hình 1.2 miêu tả việc sử dụng nhiều cấp nhớ cache Cache L2 chậm thường lớn cache L1, cache L3 chm hn v thng ln hn cache L2 ãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cache ãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cache Hỡnh 1.3 Cu trỳc cache Hỡnh 1.4 Cấu trúc Bộ nhớ Hình 1.3 hình 1.4 mô tả cấu trúc hệ thống cache/bộ nhớ Bộ nhớ có tới 2n word, word có địa n bit Vì mục đích ánh xạ, nhớ coi bao gồm K block có độ dài cố định Tức là, có M = n/k block nhớ Bộ nhớ cache bao gồm C block, gọi line Mỗi line có K word, cộng với vài bit trường tag Mỗi line chứa bit điều khiển (không thể hiện), chẳng hạn bit cho biết line kể từ nạp vào cache thay đổi hay chưa Độ dài line, không bao gồm tag bit điều khiển, gọi kích thước line Kích thước line nhỏ 32 bit, với “word” byte; trường hợp kích thước line byte Số lượng line đáng kể so với số lượng block nhớ (m≪M) Tại thời điểm, vài tập block nhớ nằm line cache Nếu word block nhớ đọc, block truyền đến line cache Bởi có nhiều block line, line không dành riêng vĩnh viễn cho block cụ thể Do đó, line bao gồm tag để xác định block lưu trữ Tag thường phần địa nhớ ãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cache ãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cache ãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cache ãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cache Hỡnh 1.5 Hnh động đọc cache Hình 1.6 – Tổ chức cache điển hình Hình 1.5 mơ tả hành động đọc Bộ xử lý tạo địa đọc (RA – read address) word cần đọc Nếu word nằm nhớ cache, gửi đến xử lý Nếu khơng, block chứa word nạp vào nhớ cache, word gửi đến xử lý Hình 1.5 cho thấy hai hành động cuối diễn song song phảnánh tổ chức điển hình nhớ cache mơ tả hình 1.6 Trong tổ chức này, cache kết nối với xử lý thông qua đường liệu, điều khiển địa Đường liệu địa nối tới đệm liệu địa chỉ, đệm lại nối tới bus hệ thống để từ nối tới nhớ Khi có cache hit, đệm liệu đệm địa bị vơ hiệu hóa, có giao tiếp xử lý cache, khơng có lưu lượng bus hệ thống Khi có cache miss, địa mong muốn tải lên bus hệ thống liệu đưa qua đệm liệu tới nhớ cache xử lý Trong cách tổ chức khác, cache đặt xử lý nhớ tất đường liệu, địa điều khiển Trong trường hợp này, cache miss, trước tiên word mong muốn đọc vào cache sau chuyển từ cache sang b x lý ãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cache ãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cache Hỡnh 2.4 - T chức cache ánh xạ trực tiếp Hàm ánh xạ thực dễ dàng địa nhớ Hình 2.4 mơ tả chế tổng qt Đối với mục đích truy cập nhớ cache, địa nhớ xem bao gồm ba trường w bit có trọng số nhỏ xác định word byte block nhớ chính; hầu hết máy tính đại, địa đánh mức byte S bit lại xác định block s block nhớ Logic cache chia s bit thành trường tag s – r bit (phần bit có trọng số lớn nhất) trường line r bit Trường line xác định line m = 2r line cache Tóm lại,       Độ dài địa = (s + w) bits Số lượng đơn vị địa chỉ= 2s+w word byte 12 Kích thước block = kích thước line = 2w word byte Số block nhớ = 2s+ w/2w = 2s Số line cache = m = 2r Kích thước cache = r+ w word byte ãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cache ãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cache Kớch thc tag = (s r) bit Trong hình 2.4, CPU cần liệu gửi lệnh yêu cầu truy xuất đến cache Ban đầu Line kiểm tra xem line mà CPU yêu cầu có cache hay khơng Vì line khoảng thời gian không chứa địa liệu tiếp tục kiểm tra tag xem có nằm line thuộc cache hay khơng Bằng cách lấy tag thuộc địa mà CPU cần lấy thông tin so sánh với tag thuộc liệu line vừa xác định cache, với word tìm vào liệu mà CPU cần Nếu sai cộng với đường địa ban đầu vào main memory để truy xuất liệu CPU Kỹ thuật ánh xạ trực tiếp đơn giản không tốn để thực Nhược điểm có vị trí cố định cache dành cho block Vì vậy, chương trình tham chiếu lặp lặp lại word thuộc hai block khác ánh xạ vào line, block liên tục bị đổi chỗ cache, tỷ lệ truy cập cache thành công thấp Một phương pháp để giảm cache miss ghi nhớ liệu bị loại bỏ khỏi cache đề phòng trường hợp sau lại cần lần Vì liệu bị loại bỏ truy xuất, nên sử dụng lại Việc tái sử dụng khả thi sử dụng cache nạn nhân Cache nạn nhân nhớ cache kết hợp tồn phần, có kích thước từ đến 16 line, nằm cache L1 ánh xạ trực tiếp cấp độ nhớ 2.2.2 Ánh xạ kết hợp 10 ãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cache ãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cache Hỡnh 2.5 - nh x t B nhớ sang Cache: kết hợp Hình 2.6 - Tổ chức cache ánh xạ kết hợp Ánh xạ kết hợp khắc phục nhược điểm ánh xạ trực tiếp cách cho phép block nhớ nạp vào line cache ( Hình 2.5) Trong trường hợp này, địa nhớ coi bao gồm trường Tag trường Word Trường Tag xác định block nhớ Để xác định block có nằm nhớ cache hay không, logic điều khiển cache phải kiểm tra tag tất line lúc để tìm giá trị tag trùng Hình 2.6 minh hoạ cho logic Cách tổ chức hoạt động ánh xạ kết hợp tưng đối giống với ánh xạ trực tiếp, khác chỗ ánh xạ kết hợp kiểm tra hết tất cách line có cache nên ko cần địa line mà thay vào địa tag lớn cụ thể 22 bit lần cần lấy liệu cache, CPU kiểm tra tất tag có cache Lưu ý khơng có trường địa tương ứng với số line, số line cache không xác định định dạng địa Tóm lại,     Độ dài địa = (s + w) bit Số lượng đơn vị địa = 2s + w word byte Kích thước block = Kích thước line = 2w word byte Số lượng block nhớ = 2s + w /2w = s 11 ãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cache ãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cache Số lượng line cache = không xác định  Kích thước tag = s bi Với ánh xạ kết hợp, việc lựa chọn block bị thay có block đọc vào nhớ cache trở nên linh hoạt Các thuật toán thay thiết kế cho tỷ lệ truy cập cache thành cơng cao Nhược điểm ánh xạ kết hợp yêu cầu mạch điện phức tạp để kiểm tra tag tất line cache đồng thời 2.2.3 Ánh xạ kết hợp tập hợp Ánh xạ kết hợp tập hợp thể ưu điểm phương pháp ánh xạ trực tiếp kết hợp đồng thời lại giảm nhược điểm chúng Trong trường hợp này, nhớ cache gồm số tập hợp, tập hợp gồm số line Hàm ánh xạ thể công thức: m=v*k I = j mod v Trong đó:      I = số tập hợp cache j = số block nhớ m = số lượng line cache v = số lượng tập hợp k = số lượng line mt hp 12 ãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cache ãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cache Hỡnh 2.7 - Ánh xạ từ Bộ nhớ sang Cache: Kết hợp tập hợp k chiều Ta gọi ánh xạ kết hợp tập hợp k chiều Với ánh xạ kết hợp tập hợp, block B ánh xạ vào line tập i Hình 2.7 (a) minh hoạ ánh xạ v block nhớ Giống với ánh xạ kết hợp, word ánh xạ vào nhiều line cache Đối với ánh xạ kết hợp tập hợp, word ánh xạ vào tất line tập hợp định, block B0 ánh xạ vào tập 0, block B1 ánh xạ vào tập 1, v.v… Vì vậy, nhớ cache kết hợp tập hợp thực v nhớ cache kết hợp Cũng thực nhớ cache kết hợp tập hợp k cache ánh xạ trực tiếp, thể hình 9.b Mỗi cache ánh xạ trực tiếp gọi chiều, gồm v line Vậy v block nhớ ánh xạ trực tiếp vào v line chiều; nhóm v block nhớ ánh xạ tương tự, v.v… Việc thực ánh xạ trực tiếp thường sử dụng mức độ kết hợp nhỏ (tức giá trị k nhỏ) việc thực ánh xạ kết hợp thường sử dụng mức độ kết hợp cao Đối với ánh xạ kết hợp tập hợp, logic điều khiển cache diễn giải địa nhớ thành ba trường: Tag, Set Word Trong đó, d bit trường Set định v = d tập hợp s bit trường Tag Set xác định 2s block nh chớnh 13 ãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cache ãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cache Hỡnh 2.8 - T chc cache ánh xạ kết hợp tập hợp Hình 2.8 minh hoạ logic điều khiển nhớ cache Với ánh xạ kết hợp toàn phần, trường tag địa nhớ lớn phải so sánh với tag tất line cache Với ánh xạ kết hợp tập hợp k chiều, trường tag địa nhớ nhỏ nhiều cần so sánh với k tag tập hợp Tổ chức hoạt động ánh xạ kết hợp toàn phần kết hợp ưu điểm hai ánh xạ trên, hạn chế khuyết điểm cách ánh xạ trước Tóm lại,      Độ dài địa = (s + w) bit Số lượng đơn vị địa = 2s+w word byte Kích thước block = kích thước line = 2w word byte Số block nhớ = 2s+w/2w = s Số line tập hợp = k 14 ãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cache ãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cache S lng set = v = 2d Số lượng line cache = m = kv = k * d Kích thước cache = k * 2d+w word byte Kích thước tag = (s – d) bit Hình 2.9 - Sự biến thiên mức độ kết hợp theo kích thước cache Hình 2.9 kết nghiên cứu mô với hiệu suất cache kết hợp tập hợp hàm biến thiên theo kích thước cache Sự chênh lệch hiệu suất kết hợp trực tiếp kết hợp hai chiều đáng kể kích thước cache nhỏ 64 kB Cũng lưu ý chênh lệch hiệu suất hai chiều bốn chiều kB nhỏ nhiều so với chênh lệch kích thước cache kB Độ phức tạp cache tăng tỷ lệ với mức độ kết hợp, thể rõ kích thước cache nhỏ 16 Kbyte Điểm lưu ý cuối là, ngồi khoảng 32 kB, việc tăng kích thước cache khơng làm tăng hiệu suất cách đáng kể Kết Hình 11 dựa mơ q trình thực thi trình biên dịch GCC Các ứng dụng khác mang lại kết khác nhau, nhiên kết so sánh tỷ lệ truy cập cache thành cơng với kích thước cache thể xu hướng giống Hình 2.9 2.3 Thuật tốn thay 15 ãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cache ãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cache Khi b nh cache ó y, nu block đưa đến cache, block nằm cache phải thay Đối với ánh xạ trực tiếp, có line định sẵn cho block khơng có lựa chọn khác Đối với kỹ thuật kết hợp kết hợp tập hợp, cần phải có thuật toán thay Để đạt tốc độ cao, thuật tốn phải thực phần cứng Ta đề cập đến bốn số thuật toán phổ biến LRU (least recently used): Thay block nằm cache lâu mà khơng có tham chiếu đến Đối với kết hợp tập hợp hai chiều, thuật toán thực dễ dàng Mỗi line chứa bit USE Khi line tham chiếu, bit USE đặt lên bit USE line cịn lại tập hợp đặt thành Khi block đọc vào tập hợp, line có bit USE thay Do ta giả thiết vị trí nhớ sử dụng gần có nhiều khả tham chiếu tiếp, LRU cho tỷ lệ truy cập thành công tốt LRU tương đối dễ thực cache kết hợp toàn phần Cơ chế nhớ cache trì danh sách riêng chứa mục tất line cache Khi line tham chiếu, di chuyển lên phía danh sách Khi cần thay thế, line cuối danh sách sử dụng Do đơn giản thực hiện, LRU thuật toán thay phổ biến Hình 2.10 - Quy trình lại bỏ nhớ cache LRU Một thuật toán khác FIFO (first-in-first-out): Thay block tập hợp nằm cache lâu FIFO thực dễ dàng kỹ thuật roundrobin Một thuật toán khác LFU (least frequently used): Thay block tập hợp mà số lần tham chiếu đến nht 16 ãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cache ãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cache Hỡnh 2.11 - So sỏnh gia thuật tốn LRU FIFO LFU thực cách sử dụng đếm line Khi miss, block cache truy xuất bị thay Hình 2.12 - Quy trình lại bỏ nhớ cache LFU Một kỹ thuật khác không dựa sử dụng block (tức LRU, LFU, FIFO) chọn line ngẫu nhiên số line Các nghiên cứu việc thay ngẫu nhiên đem lại hiệu suất chút so với thuật tốn dựa sử dụng block 2.4 Chính sách ghi Khi block nằm cache thay thế, có trường hợp cần xem xét Nếu block cũ cache chưa thay đổi giá trị ghi đè block lên mà khơng cần ghi block cũ trước Nếu có thao tác ghi thực word line cache nhớ phải cập nhật cách ghi line vào block nhớ trước đưa block vào cache Có nhiều sách ghi khác nhau, với ràng buộc hiệu suất tính thương mại Có hai vấn đề cần phải đối mặt Một là, nhiều thiết bị truy cập vào nhớ Ví dụ, mơ-đun I/O đọc/ghi trực tiếp vào nhớ Nếu word thay đổi cập nhật cache, word tương ứng nhớ khơng cịn hợp lệ Hơn nữa, thiết bị I/O thay đổi word nhớ chính, word cache lại khơng hợp lệ Hai là, vấn đề phức tạp xảy nhiều xử lý gắn vào bus xử lý lại có cache cục riêng Khi đó, word bị thay đổi cache, làm ý nghĩa word cache khác Kỹ thuật đơn giản gọi write through Sử dụng kỹ thuật này, tất hành động ghi thực đồng thời nhớ cache, đảm bảo ni dung b nh 17 ãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cache ãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cache chớnh luụn luụn hợp lệ Một mô-đun xử lý – cache giám sát lưu lượng truy cập vào nhớ để trì tính qn cache Nhược điểm kỹ thuật tạo lưu lượng nhớ đáng kể tạo nút nghẽn cổ chai Một kỹ thuật khác, gọi write back, giảm thiểu việc ghi vào nhớ Với write back, việc cập nhật giá trị thực cache Khi có cập nhật xảy ra, bit gọi dirty bit use bit line đặt lên Khi block cần thay cache, ghi trở lại nhớ dirty bit Vấn đề write back nhiều phần nhớ khơng hợp lệ, truy cập mô-đun I/O cho phép thực thông qua cache Điều làm cho mạch phức tạp khả tạo nút nghẽn cổ chai 2.5 Kích Thước line Một yếu tố thiết kế khác kích thước line Khi block liệu lấy đặt vào cache, line chứa khơng word mong muốn mà cịn số word liền kề Khi kích thước block tăng dần, ban đầu tỷ lệ truy cập thành công tăng nguyên lý cục tham chiếu, theo liệu vùng lân cận word tham chiếu tham chiếu tương lai gần Khi kích thước block tăng thêm, nhìều liệu hữu ích đưa vào cache Tuy nhiên, tỷ lệ truy cập thành công bắt đầu giảm block lớn xác suất sử dụng thông tin truy xuất nhỏ xác suất tái sử dụng thơng tin phải thay Có hai ảnh hưởng rõ rệt là:  Block lớn làm giảm số lượng block cache Bởi lần truy xuất block lại ghi đè lên nội dung cũ cache, số lượng block liệu nhanh chóng bị ghi đè sau chúng truy xuất  Khi block lớn hơn, word thêm vào lại xa word mong muốn có khả cần thiết tương lai gần Mối quan hệ kích thước line tỷ lệ truy cập thành công phức tạp, tùy thuộc vào đặc tính cục chương trình cụ thể, khơng có giá trị tối ưu định Kích thước line từ đến 64 byte xem hợp lý, gần tối ưu 18 ãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cache ãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cache Hỡnh 2.13 - Mụ t cu trỳc Cache line 2.6 Kích Thước cache Khi cache mắt, hệ thống điển hình có nhớ cache đơn Gần đây, việc sử dụng nhiều nhớ cache trở nên phổ biến Hai khía cạnh vấn đề thiết kế số lượng cấp độ cache việc sử dụng cache thống hay phân chia 2.6.1 Cache nhiều cấp độ Khi mật độ logic tăng lên, việc đưa nhớ cache lên chip với xử lý khả thi: ta có cache chip So với cache truy cập thơng qua bus bên ngoài, cache chip làm giảm bớt việc xử lý phải sử dụng bus bên tăng tốc độ thực tăng hiệu suất tổng thể hệ thống Khi tìm thấy lệnh liệu yêu cầu cache chip, việc truy cập bus loại bỏ Do đường liệu xử lý ngắn so với độ dài bus, việc truy cập nhớ cache chip nhanh nhiều so với chu kỳ bus Hơn nữa, giai đoạn này, bus tự để hỗ trợ nhu cầu truyền khác Việc sử dụng nhớ cache chip mở câu hỏi liệu có cịn cần cache ngồi chip hay khơng Câu trả lời có, hầu hết thiết kế đại có cache chip cache bên Tổ chức đơn giản nhớ cache hai cấp, với cache chip gán cấp (L1) cache bên gán cấp (L2) Lý cho việc sử dụng cache L2 là: Nếu khơng có cache L2 xử lý yêu cầu truy cập vào vị trí nhớ khơng có cache L1, xử lý phải truy cập vào nhớ DRAM ROM thông qua bus Do tốc độ bus thng chm v thi gian truy 19 ãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cache ãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cache cp nhớ lâu, điều dẫn đến hiệu suất Mặt khác, sử dụng nhớ cache L2 SRAM (RAM tĩnh), thơng tin bị thiếu truy xuất nhanh chóng Nếu SRAM đủ nhanh để kịp với tốc độ bus liệu truy cập giao dịch trạng thái khơng đợi, kiểu truyền bus nhanh Có hai đặc điểm thiết kế đáng lưu ý nhớ cache nhiều cấp độ Một là, cache L2 ngồi chip, nhiều thiết kế khơng sử dụng bus hệ thống làm đường dẫn cache L2 xử lý, mà sử dụng đường dẫn liệu riêng biệt, để giảm bớt gánh nặng cho hệ thống bus Hai là, thành phần xử lý liên tục thu nhỏ kích thước, số xử lý kết hợp cache L2 chip xử lý, cải thiện hiệu suất Hình 2.14 - Tỷ lệ truy cập thành công tổng cộng (L1 L2) với L1 8Kbyte 16Kbyte Hình 2.14 cho thấy kết nghiên cứu mô thay đổi hiệu suất nhớ cache hai cấp theo kích thước cache Giả thiết hai cache kích thước line Hình vẽ thể tỷ lệ truy cập cache thành công tổng cộng Tức là, lần truy cập thành cơng tính liệu mong muốn xuất cache L1 L2 Hình vẽ cho thấy ảnh hưởng L2 lên tổng số truy cập thành cơng kích thước L1 cố định L2 bắt đầu có ảnh hưởng đáng kể đến tổng số lần truy cập cache thành cơng kích thước gấp đơi kích thước cache L1 Lưu ý rằng, đường biểu diễn cho cache L1 có kích thước Kbyte, phần dốc tương ứng với cache L2 có kích thước 16 Kbyte Cịn cache L1 16 Kbyte, phần dốc đường biểu diễn ứng với kích thước cache L2 32 Kbyte Trước đó, cache L2 có ảnh hưởng đến hiu sut tng cng ca b 20 ãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cache ãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cache nh cache Nhu cầu sử dụng cache L2 lớn cache L1 để cải thiện hiệu suất hoàn toàn hợp lý Nếu cache L2 có kích thước line dung lượng với cache L1, nội dung gần giống hệt cache L1 Khi diện tích sẵn có chip dành cho nhớ cache ngày tăng, hầu hết xử lý đại chuyển cache L2 lên chip xử lý có thêm cache L3 Ban đầu, nhớ cache L3 truy cập qua bus bên Gần đây, hầu hết xử lý tích hợp cache L3 chip Việc dùng thêm cấp độ cache thứ ba góp phần cải thiện hiệu suất Hơn nữa, hệ thống lớn nay, chẳng hạn hệ thống mainframe IBM zEnterprise, kết hợp cấp độ cache chip cache thứ tư dùng chung cho nhiều chip 2.6.2 Cache thống cache phân chia Khi cache chip xuất hiện, có nhiều thiết kế cho nhớ cache đơn để lưu trữ tham chiếu tới liệu lệnh Gần đây, việc chia tách nhớ cache thành hai phần: dành cho lệnh dành cho liệu dần trở nên phổ biến Hai nhớ cache ngang hang nhau, thường hai cache L1 Khi xử lý cần truy xuất lệnh từ nhớ chính, trước tiên kiểm tra cache lệnh L1, cịn xử lý cần truy xuất liệu từ nhớ chính, trước tiên kiểm tra cache liệu L1 Cache thống có hai ưu điểm:  Đối với kích thước cache xác định, cache thống có tỷ lệ truy cập thành cơng cao cache phân chia tự động cân tải truy xuất lệnh liệu Tức là, mẫu thực thi có nhiều lượt truy xuất lệnh so với liệu nhớ cache có xu hướng chứa đầy lệnh mẫu thực thi có tương đối nhiều lượt truy xuất liệu hơn, điều ngược lại xảy  Chỉ cần thiết kế thực nhớ cache Xu hướng sử dụng cache cache chia sẻ cấp L1 cache thống cho cấp cao hơn, đặc biệt máy siêu vô hướng trọng việc thực lệnh song song truy xuất trước lệnh dự đoán sử dụng tương lai Ưu điểm việc thiết kế nhớ cache phân chia loại trừ tranh chấp cache khối truy xuất/giải mã lệnh khối thi hành Điều quan trọng thiết kế có sử dụng pipeline lệnh Thơng thường, xử lý truy xuất trước lệnh điền chúng vào đệm, pipeline Giả sử có nhớ cache lệnh/dữ liệu thống Khi khối thi hành truy cập nhớ để tải lưu trữ liệu, yêu cầu gửi đến cache thống Nếu lúc đó, khối truy xuất lệnh đưa yêu cầu đọc lệnh cho nhớ cache, yêu cầu tạm thời bị chặn để cache phục vụ khối thi hành trước, để hoàn thành lệnh thi hành Sự tranh chấp cache làm giảm hiệu suất Cấu trúc cache phân chia khc phc khú khn ny 21 ãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cache ãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cache PH LỤC Contents Chương Nguyên lí nhớ cache Chương Các yếu tố thiết kế cache 2.1 Địa cache 2.2 Hàm ánh xạ 2.2.1 Ánh xạ trực tiếp .7 2.2.2 Ánh xạ kết hợp 10 2.2.3 Ánh xạ kết hợp tập hợp 12 2.3 Thuật toán thay .15 2.4 Chính sách ghi 17 2.5 Kích Thước line 18 2.6 Kích Thước cache 19 2.6.1 Cache nhiều cấp độ 19 2.6.2 Cache thống cache phân chia 21 22 ãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cache ãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cache ãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cacheãỏằ.Ăn.cuỏằi.kơ.ỏằã.ti.bỏằ.nhỏằ.ỏằm.cache

Ngày đăng: 02/11/2023, 02:36

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan