Bài giảng Kiến trúc máy tính - Chương 4: Bộ nhớ trong - Hoàng Xuân Dậu
Dung lượng rất nhỏ, khoảng từ vài chục bytes đến vài KB
Tốc độ truy nhập rất cao (các thanh ghi hoạt động với tốc độ của
CPU); thời gian truy nhập khoảng 0,25ns
Giá thành đắt
Sử dụng để lưu toán hạng đầu vào và kết quả của các lệnh.
Cache (bộ nhớ cache):
Dung lượng tương đối nhỏ (khoảng 64KB đến 16MB)
Tốc độ truy nhập cao; thời gian truy nhập khoảng 1-5ns
Giá thành đắt
Còn được gọi là “bộ nhớ thông minh” (smart memory) Sử dụng để
lưu lệnh và dữ liệu cho CPU xử lý
Trang 1
Trang 2
Trang 3
Trang 4
Trang 5
Trang 6
Trang 7
Trang 8
Trang 9
Trang 10
Tải về để xem bản đầy đủ
Bạn đang xem 10 trang mẫu của tài liệu "Bài giảng Kiến trúc máy tính - Chương 4: Bộ nhớ trong - Hoàng Xuân Dậu", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
Tóm tắt nội dung tài liệu: Bài giảng Kiến trúc máy tính - Chương 4: Bộ nhớ trong - Hoàng Xuân Dậu
32 cần 32 bít địa chỉ tổng cộng để địa chỉ hoá các ô nhớ: Tag = 32bit địa chỉ – Word = 32 – 5 = 27 bit. 4.5.7 T.chức cache – Ánh xạ kết hợp đầy đủ Ưu: . Giảm được xung đột do ánh xạ là không cố định .Hệ số Hit cao hơn ánh xạ trực tiếp. Nhược: www.ptit.edu.vn GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU Trang 52BỘ MÔN: KHOA HỌC MÁY TÍNH - KHOA CNTT1 BÀI GIẢNG MÔN KIẾN TRÚC MÁY TÍNH CHƯƠNG 4 – BỘ NHỚ TRONG . Chậm do cần phải tìm địa chỉ ô nhớ trong cache . Phức tạp do cần có n bộ so sánh địa chỉ bộ nhớ trong cache. Thường được sử dụng với cache có dung lượng nhỏ. www.ptit.edu.vn GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU Trang 53BỘ MÔN: KHOA HỌC MÁY TÍNH - KHOA CNTT1 BÀI GIẢNG MÔN KIẾN TRÚC MÁY TÍNH CHƯƠNG 4 – BỘ NHỚ TRONG 4.5.7 T.chức cache – Ánh xạ tập kết hợp Page m- 1 Page 1 Way 0 Way 1 Page 0 Line n- 1 Line n- 1 Line n- 1 Line 1 Line 1 Line 1 Line 0 Line 0 Line 0 Bộ nhớ Cache www.ptit.edu.vn GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU Trang 54BỘ MÔN: KHOA HỌC MÁY TÍNH - KHOA CNTT1 BÀI GIẢNG MÔN KIẾN TRÚC MÁY TÍNH CHƯƠNG 4 – BỘ NHỚ TRONG 4.5.7 T.chức cache – Ánh xạ tập kết hợp Cache: . Được chia thành k đường (way) với kích thước bằng nhau; . Mỗi đường được chia thành n dòng, từ Line0 đến Linen-1 Bộ nhớ: . Được chia thành m trang, từ page0 đến pagem-1. . Kích thước một trang bộ nhớ bằng kích thước đường của cache . Mỗi trang có n dòng, từ Line0 đến Linen-1 Ánh xạ: . Ánh xạ trang đến đường (ánh xạ mềm dẻo): • Một trang của bộ nhớ có thể ánh xạ đến một đường bất kỳ của cache. . Ánh xạ dòng của trang đến dòng của đường (ánh xạ cố định): • Line0 của pagei ánh xạ đến Line0 của wayj; www.ptit.edu.vn GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU Trang 55BỘ MÔN: KHOA HỌC MÁY TÍNH - KHOA CNTT1 BÀI GIẢNG MÔN KIẾN TRÚC MÁY TÍNH CHƯƠNG 4 – BỘ NHỚ TRONG • Line1 của pagei ánh xạ đến Line1 của wayj; • .... • Linen-1 của pagei ánh xạ đến Linen-1 của wayj; 4.5.7 T.chức cache – Ánh xạ tập kết hợp Tag Set Word Địa chỉ cache: . Tag (bit) là địa chỉ của trang trong bộ nhớ . Set (bit) là địa chỉ của dòng trong đường cache . Word (bit) là địa chỉ của từ trong dòng 4.5.7 T.chức cache – Ánh xạ tập kết hợp Ví dụ: www.ptit.edu.vn GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU Trang 56BỘ MÔN: KHOA HỌC MÁY TÍNH - KHOA CNTT1 BÀI GIẢNG MÔN KIẾN TRÚC MÁY TÍNH CHƯƠNG 4 – BỘ NHỚ TRONG . Vào: • Dung lượng bộ nhớ = 4GB • Dung lượng cache = 1MB, 2 đường • Kích thước dòng = 32 byte . Ra: 5 • Kích thước dòng Line = 32 byte = 2 Word = 5 bit • Dung lượng Cache = 1MB = 210 có 210 / 2 đường / 25 = 24 dòng/đường Set = 4 bit • Đ/c trang Tag: 4GB = 232 cần 32 bít địa chỉ tổng cộng để địa chỉ hoá các ô nhớ: Tag = 32bit địa chỉ – Set – Word = 32 – 4 – 5 = 23 bit. 4.5.7 T.chức cache – Ánh xạ tập kết hợp Ưu: www.ptit.edu.vn GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU Trang 57BỘ MÔN: KHOA HỌC MÁY TÍNH - KHOA CNTT1 BÀI GIẢNG MÔN KIẾN TRÚC MÁY TÍNH CHƯƠNG 4 – BỘ NHỚ TRONG . Nhanh do ánh xạ trực tiếp được sử dụng cho ánh xạ dòng (chiếm số lớn ánh xạ); . Giảm xung đột do ánh xạ từ các trang bộ nhớ đến các đường cache là mềm dẻo. . Hệ số Hit cao hơn. Nhược: . Phức tạp trong thiết kế và điều khiển vì cache được chia thành một số đường. 4.5.8 Đọc/ghi thông tin trong cache Đọc thông tin: . Trường hợp hit (mẩu tin cần đọc có trong cache) • Mẩu tin được đọc từ cache vào CPU; www.ptit.edu.vn GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU Trang 58BỘ MÔN: KHOA HỌC MÁY TÍNH - KHOA CNTT1 BÀI GIẢNG MÔN KIẾN TRÚC MÁY TÍNH CHƯƠNG 4 – BỘ NHỚ TRONG • Bộ nhớ chính không tham gia. . Trường hợp miss (mẩu tin cần đọc không có trong cache) • Mẩu tin trước hết được đọc từ bộ nhớ chính vào cache; • Sau đó nó được chuyển từ cache vào CPU. đây là trường hợp miss penalty: thời gian truy nhập mẩu tin bằng tổng thời gian truy nhập cache và bộ nhớ chính. 4.5.8 Đọc/ghi thông tin trong cache Ghi thông tin: . Trường hợp hit (mẩu tin cần ghi có trong cache) • Ghi thẳng (write through): mẩu tin được ghi ra cache và bộ nhớ chính đồng thời; • Ghi trễ (write back): mẩu tin trước hết được ghi ra cache và dòng chứa mẩu tin được ghi ra bộ nhớ chính khi dòng đó bị thay thế. www.ptit.edu.vn GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU Trang 59BỘ MÔN: KHOA HỌC MÁY TÍNH - KHOA CNTT1 BÀI GIẢNG MÔN KIẾN TRÚC MÁY TÍNH CHƯƠNG 4 – BỘ NHỚ TRONG . Trường hợp miss (mẩu tin cần ghi không có trong cache) • Ghi có đọc lại (write allocate / fetch on write): mẩu tin trước hết được ghi ra bộ nhớ chính và sau đó dòng chứa mẩu tin được đọc vào cache; • Ghi khô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 www.ptit.edu.vn GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU Trang 60BỘ MÔN: KHOA HỌC MÁY TÍNH - KHOA CNTT1 BÀI GIẢNG MÔN KIẾN TRÚC MÁY TÍNH CHƯƠNG 4 – BỘ NHỚ TRONG 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: 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 BÀI GIẢNG MÔN KIẾN TRÚC MÁY TÍNH CHƯƠNG 4 – BỘ NHỚ TRONG • 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. 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 BÀI GIẢNG MÔN KIẾN TRÚC MÁY TÍNH CHƯƠNG 4 – BỘ NHỚ TRONG 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 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 BÀI GIẢNG MÔN KIẾN TRÚC MÁY TÍNH CHƯƠNG 4 – BỘ NHỚ TRONG 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 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 BÀI GIẢNG MÔN KIẾN TRÚC MÁY TÍNH CHƯƠNG 4 – BỘ NHỚ TRONG 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: 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 BÀI GIẢNG MÔN KIẾN TRÚC MÁY TÍNH CHƯƠNG 4 – BỘ NHỚ TRONG • 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% 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 BÀI GIẢNG MÔN KIẾN TRÚC MÁY TÍNH CHƯƠNG 4 – BỘ NHỚ TRONG 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 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 BÀI GIẢNG MÔN KIẾN TRÚC MÁY TÍNH CHƯƠNG 4 – BỘ NHỚ TRONG • 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. 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 BÀI GIẢNG MÔN KIẾN TRÚC MÁY TÍNH CHƯƠNG 4 – BỘ NHỚ TRONG 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 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 BÀI GIẢNG MÔN KIẾN TRÚC MÁY TÍNH CHƯƠNG 4 – BỘ NHỚ TRONG 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. 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 BÀI GIẢNG MÔN KIẾN TRÚC MÁY TÍNH CHƯƠNG 4 – BỘ NHỚ TRONG . 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. 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 BÀI GIẢNG MÔN KIẾN TRÚC MÁY TÍNH CHƯƠNG 4 – BỘ NHỚ TRONG . 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. 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 BÀI GIẢNG MÔN KIẾN TRÚC MÁY TÍNH CHƯƠNG 4 – BỘ NHỚ TRONG . 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ò. 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 BÀI GIẢNG MÔN KIẾN TRÚC MÁY TÍNH CHƯƠNG 4 – BỘ NHỚ TRONG 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. 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
File đính kèm:
- bai_giang_kien_truc_may_tinh_chuong_4_bo_nho_trong_hoang_xua.pdf