Bài giảng Kiến trúc máy tính - Chương 4: Bộ nhớ trong - Hoàng Xuân Dậu
NỘI DUNG
1. Giới thiệu về bộ nhớ trong và cấu trúc
phân cấp của bộ nhớ
2. Phân loại bộ nhớ và tổ chức mạch nhớ
3. ROM
4. RAM
5. Bộ nhớ cache
Tóm tắt nội dung Bài giảng Kiến trúc máy tính - Chương 4: Bộ nhớ trong - Hoàng Xuân Dậu, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
ông đọc lại (write non-allocate): mẩu tin chỉ được ghi ra bộ nhớ chính (dòng chứa mẩu tin không được đọc vào cache). 4.5.9 Các chính sách thay thế dòng cache Vì sao phải thay thế dòng cache? Ánh xạ dòng (bộ nhớ) dòng (cache) thường là ánh xạ nhiều một; Nhiều dòng bộ nhớ chia sẻ một dòng cache các dòng bộ nhớ được nạp vào cache sử dụng một thời gian và được thay thế bởi dòng khác theo yêu cầu thông tin phục vụ CPU. Chính sách thay thế (replacement policies) xác định các BÀI GIẢNG MÔN KIẾN TRÚC MÁY TÍNH CHƯƠNG 4 – BỘ NHỚ TRONG www.ptit.edu.vn GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU Trang 61BỘ MÔN: KHOA HỌC MÁY TÍNH - KHOA CNTT1 dòng cache nào được chọn để thay thế bởi các dòng khác từ bộ nhớ. Các chính sách thay thế: Ngẫu nhiên (Random) Vào trước ra trước (FIFO) Thay thế các dòng ít được sử dụng gần đây nhất (LRU). 4.5.9 Các chính sách thay thế dòng cache Thay thế ngẫu nhiên (Radom Replacement): Các dòng cache được chọn ngẫu nhiên để thay thế Ưu: • Cài đặt đơn giản Nhược: BÀI GIẢNG MÔN KIẾN TRÚC MÁY TÍNH CHƯƠNG 4 – BỘ NHỚ TRONG www.ptit.edu.vn GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU Trang 62BỘ MÔN: KHOA HỌC MÁY TÍNH - KHOA CNTT1 • Hệ số miss cao: – Thay thế ngẫu nhiên không xem xét đến các dòng cache đang thực sự được sử dụng – Nếu một dòng cache đang được sử dụng và bị thay thế xảy ra miss và nó lại cần được đọc từ bộ nhớ chính vào cache. 4.5.9 Các chính sách thay thế dòng cache Thay thế kiểu vào trước ra trước (FIFO-First In First Out): Các dòng cache được đọc vào cache trước sẽ bị thay thế trước Ưu: • Có hệ số miss thấp hơn o với thay thế ngẫu nhiên (tại sao?) Nhược: • Hệ số miss vẫn còn cao – Thay thế vẫn chưa thực sự xem xét đến các dòng cache đang được sử dụng. BÀI GIẢNG MÔN KIẾN TRÚC MÁY TÍNH CHƯƠNG 4 – BỘ NHỚ TRONG www.ptit.edu.vn GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU Trang 63BỘ MÔN: KHOA HỌC MÁY TÍNH - KHOA CNTT1 Một dòng cache “già” vẫn có thể đang được sử dụng. • Cài đặt phức tạp do cần có mạch điện tử để theo dõi trật tự nạp các dòng bộ nhớ vào cache. 4.5.9 Các chính sách thay thế dòng cache Thay thế các dòng ít được sử dụng gần đây nhất (LRULeast Recently Used): Các dòng cache ít được sử dụng gần đây nhất được lựa chọn để tha thế. Ưu: • Có hệ số miss thấp nhất so với thay thế ngẫu nhiên và thay thế FIFO • Do thay thế LRU có xem xét đến các dòng đang được sử dụng Nhược: • Cài đặt phức tạp do cần có mạch điện tử để theo dõi tần suất sử dụng BÀI GIẢNG MÔN KIẾN TRÚC MÁY TÍNH CHƯƠNG 4 – BỘ NHỚ TRONG www.ptit.edu.vn GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU Trang 64BỘ MÔN: KHOA HỌC MÁY TÍNH - KHOA CNTT1 các dòng cache. 4.5.10 Hiệu năng cache Thời gian truy nhập truy bình của một hệ thống nhớ có cache: taccess = (Hit cost) + (miss rate) * (miss penalty) taccess = tcache + (1 - H) * (tmemory) trong đó H hệ số hit. If tcache = 5ns, tmemory = 60ns và H=80%, ta có: taccess = 5 + (1 – 0.8) * (60) = 5+12 = 17ns BÀI GIẢNG MÔN KIẾN TRÚC MÁY TÍNH CHƯƠNG 4 – BỘ NHỚ TRONG www.ptit.edu.vn GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU Trang 65BỘ MÔN: KHOA HỌC MÁY TÍNH - KHOA CNTT1 If tcache = 5ns, tmemory = 60ns và H=95%, ta có: taccess = 5 + (1 – 0.95) * (60) = 5+3 = 8ns Thời gian truy nhập truy bình tiệm cận thời gian truy nhập cache. 4.5.10 Hiệu năng cache – Các yếu tố ảnh hưởng Các yếu tố ảnh hưởng đến hiệu năng cache: Kích thước cache: • Kích thước cache nên lớn hay nhỏ? Tách cache: • Cache được tách thành 2 phần: cache lệnh (I-Cache) và D-Cache Tạo cache thành nhiều mức: BÀI GIẢNG MÔN KIẾN TRÚC MÁY TÍNH CHƯƠNG 4 – BỘ NHỚ TRONG www.ptit.edu.vn GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU Trang 66BỘ MÔN: KHOA HỌC MÁY TÍNH - KHOA CNTT1 • Cache được thiết kế thành nhiều mức: L1 – L2 – L3, ... với kích thước tăng dần. 4.5.10 Hiệu năng cache – Các yếu tố ảnh hưởng Kích thước cache: Số liệu thống kê cho thấy: • Kích thước cache không ảnh hưởng nhiều đến hệ số miss • Hệ số miss của cache lệnh thấp hơn nhiều so với cache dữ liệu 8KB cache lệnh có hệ số miss < 1% 256KB cache lệnh có hệ số miss < 0.002% ----> tăng kích thước cache lệnh không giảm miss hiệu quả. 8KB cache dữ liệu có hệ số miss < 4% BÀI GIẢNG MÔN KIẾN TRÚC MÁY TÍNH CHƯƠNG 4 – BỘ NHỚ TRONG www.ptit.edu.vn GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU Trang 67BỘ MÔN: KHOA HỌC MÁY TÍNH - KHOA CNTT1 256KB cache dữ liệu có hệ số miss < 3% ----> tăng kích thước cache dữ liệu lên 32 lần, hệ số miss giảm 25% (từ 4% xuống 3%). 4.5.10 Hiệu năng cache – Các yếu tố ảnh hưởng Kích thước cache: Cache có kích thước lớn: • Có thể tăng được số dòng bộ nhớ lưu trong cache • Giảm tần suất tráo đổi các dòng cache của các chương trình khác nhau với bộ nhớ chính • Cache lớn thường chậm hơn cache nhỏ (tại sao?) – Không gian tìm kiếm địa chỉ ô nhớ lớn hơn Xu hướng tương lai: cache càng lớn càng tốt (tại sao?) • Hỗ trợ đa nhiệm tốt hơn BÀI GIẢNG MÔN KIẾN TRÚC MÁY TÍNH CHƯƠNG 4 – BỘ NHỚ TRONG www.ptit.edu.vn GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU Trang 68BỘ MÔN: KHOA HỌC MÁY TÍNH - KHOA CNTT1 • Hỗ trợ xử lý song song tốt hơn • Hỗ trợ tốt hơn các hệ thống CPU nhiều nhân 4.5.10 Hiệu năng cache – Các yếu tố ảnh hưởng Tách cache: Cache có thể được tách thành cache lệnh (I-Cache) và cache dữ liệu (D-Cache) để cải thiện hiệu năng, do: • Dữ liệu và lệnh có tính lân cận khác nhau; • Dữ liệu thường có tính lân cận về thời gian cao hơn lân cận về không gian; lệnh có tính lân cận về không gian cao hơn lân cận về thời gian; • Cache lệnh chỉ cần hỗ trợ thao tác đọc; cache dữ liệu cần hỗ trợ cả 2 thao tác đọc và ghi tách cache giúp tối ưu hoá dễ dàng hơn; • Tách cache hỗ trợ nhiều lệnh truy nhập đồng thời hệ thống nhớ giảm xung đột tài nguyên cho CPU pipleline. BÀI GIẢNG MÔN KIẾN TRÚC MÁY TÍNH CHƯƠNG 4 – BỘ NHỚ TRONG www.ptit.edu.vn GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU Trang 69BỘ MÔN: KHOA HỌC MÁY TÍNH - KHOA CNTT1 4.5.10 Hiệu năng cache – Các yếu tố ảnh hưởng Tách cache: Trên thực tế, hầu hết cache L1 được tách thành 2 phần: • I-Cache (Instruction Cache): cache lệnh • D-Cache (Data Cache): cache dữ liệu • I-Cache và D-Cache thường hỗ trợ nhiều lệnh truy nhập Các cache ở mức cao hơn không được tách. Tại sao? • Cache L1 được tách vì nó ở gần CPU nhất; CPU trực tiếp đọc ghi lên cache L1. Cache L1 cần hỗ trợ nhiều lệnh truy nhập đồng thời và các biện pháp tối ưu hoá; • Các mức cao hơn của cache ít được tách do: – Điều khiển phức tạp – Hiệu quả mang lại không thực sự cao, do CPU không trực tiếp đọc/ghi các mức cache này. Hơn nữa, các mức cache cao hơn trao đổi dữ liệu với cache BÀI GIẢNG MÔN KIẾN TRÚC MÁY TÍNH CHƯƠNG 4 – BỘ NHỚ TRONG www.ptit.edu.vn GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU Trang 70BỘ MÔN: KHOA HỌC MÁY TÍNH - KHOA CNTT1 L1 theo khối, nên việc hỗ trợ nhiều lệnh truy nhập đồng thời không có nhiều ý nghĩa. 4.5.10 Hiệu năng cache – Các yếu tố ảnh hưởng Tạo cache thành nhiều mức: Cải thiện được hiệu năng hệ thống do hệ thống cache nhiều mức có khả năng dung hoà tốt hơn tốc độ của CPU với bộ nhớ chính. CPU L1 L2 L3 Bộ nhớ chính 1ns 5ns 15ns 30ns 60ns 1ns 5ns 60ns Trên thực tế, đa số cache được tổ chức thành 2 mức: L1 và L2. Một số cache có 3 mức: L1, L2 và L3. BÀI GIẢNG MÔN KIẾN TRÚC MÁY TÍNH CHƯƠNG 4 – BỘ NHỚ TRONG www.ptit.edu.vn GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU Trang 71BỘ MÔN: KHOA HỌC MÁY TÍNH - KHOA CNTT1 Giảm giá thành hệ thống nhớ. 4.5.10 H.năng cache – Các biện pháp giảm miss Cache tốt: Hệ số hit cao Hệ số miss thấp Nếu xảy ra miss thì không quá chậm Các loại miss: Miss bắt buộc (Compulsory misses): thường xảy ra tại thời điểm chương trình được kích hoạt, khi mã chương trình đang được tải vào bộ nhớ và chưa được nạp vao cache. Miss do dung lượng (Capacity misses): thường xảy ra do kích thước của cache hạn chế, đặc biết trong môi trường đa nhiệm. Do kích thước cach nhỏ nên mã của các chương trình thường xuyên bị tráo đổi giữa bộ nhớ và cache. BÀI GIẢNG MÔN KIẾN TRÚC MÁY TÍNH CHƯƠNG 4 – BỘ NHỚ TRONG www.ptit.edu.vn GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU Trang 72BỘ MÔN: KHOA HỌC MÁY TÍNH - KHOA CNTT1 Miss do xung đột (Conflict misses): xảy ra khi có nhiều dòng bộ nhớ cùng cạnh tranh một dòng cache. 4.5.10 H.năng cache – Các biện pháp giảm miss Tăng kích thước dòng cache: Giảm miss bắt buộc • Dòng kích thước lớn sẽ có khả năng bao phủ lận tốt hơn giảm miss bắt buộc; Tăng miss do xung đột • Dòng kích thước lớn sẽ làm giảm số dòng cache tăng mức độ cạnh tranh tăng miss do xung đột Dòng kích thước lớn có thể gây lãng phí dung lượng cache. Do dòng lớn nên có thể có nhiều phần của dòng cache không bao giờ được sử dụng. BÀI GIẢNG MÔN KIẾN TRÚC MÁY TÍNH CHƯƠNG 4 – BỘ NHỚ TRONG www.ptit.edu.vn GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU Trang 73BỘ MÔN: KHOA HỌC MÁY TÍNH - KHOA CNTT1 Kích thước dòng thường dùng hiện nay là 64 bytes. 4.5.10 H.năng cache – Các biện pháp giảm miss Tăng mức độ liên kết của cache (tăng số đường cache): Giảm miss xung đột: • Tăng số đường cache tăng tính mềm dẻo của ánh xạ trang bộ nhớ đường cache (nhiều lựa chọn hơn) giảm miss xung đột. Làm cache chậm hơn: • Tăng số đường cache tăng không gian tìm kiếm địa chỉ ô nhớ làm cache chậm hơn. 4.6 Câu hỏi ôn tập 1. Hệ thống bộ nhớ phân cấp: đặc điểm, vai trò. BÀI GIẢNG MÔN KIẾN TRÚC MÁY TÍNH CHƯƠNG 4 – BỘ NHỚ TRONG www.ptit.edu.vn GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU Trang 74BỘ MÔN: KHOA HỌC MÁY TÍNH - KHOA CNTT1 2. ROM là gì? các loại ROM. 3. RAM, SRAM, DRAM là gì? Cấu tạo của SRAM và DRAM. 4. Bộ nhớ cache: a. Cache là gì? vai trò và nguyên lý hoạt động. b. Kiến trúc cache c. Tổ chức/ánh xạ cache d. Đọc ghi thông tin trong cache e. Các chính sách thay thế dòng cache f. Hiệu năng, các yếu tố ảnh hưởng và các biện pháp cải thiện hiệu năng cache.
File đính kèm:
- bai_giang_kien_truc_may_tinh_chuong_4_bo_nho_trong_hoang_xua.pdf