(Tiểu luận) đồ án cuối kì đề tài bộ nhớ đệm cache

28 7 0
(Tiểu luận) đồ á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 Đà nẵng, tháng 05 năm 2021 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, cịn gọi “cache miss” (lệch nhớ đệm) Tỷ lệ trùng nhớ đệm cao tốt LỜI CẢM ƠN Chúng em xin gửi lời 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 hồ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 cảm ơn! NHẬN XÉT (Của giảng viên hướng dẫn) ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… Chương Nguyên lí 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 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 chậm thường lớn cache L2 Hình 1.3 – Cấu 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ớ Hình 1.5 – Hành độ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 xử lý 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 quát Đố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 Kích thước 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 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 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 tập hợp 12 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ớ 13 Hình 2.8 - Tổ chức 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 Số lượng 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à, 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ơ 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 toán thay 15

Ngày đăng: 20/09/2023, 15:16

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

Tài liệu liên quan