Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 59 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
59
Dung lượng
1,33 MB
Nội dung
HỌC VIỆN CƠNG NGHỆ BƢU CHÍNH VIỄN THƠNG HOÀNG XUÂN DẬU BÀI GIẢNG KIẾN TRÚC MÁY TÍNH HÀ NỘI 2010 LỜI NĨI ĐẦU Kiến trúc máy tính lĩnh vực khoa học sở ngành Khoa học máy tính nói riêng Cơng nghệ thơng tin nói chung Kiến trúc máy tính khoa học lựa chọn ghép nối thành phần phần cứng máy tính nhằm đạt đƣợc mục tiêu hiệu cao, tính đa dạng giá thành thấp Mơn học Kiến trúc máy tính mơn học sở chun ngành chƣơng trình đào tạo cơng nghệ thơng tin hệ đại học cao đẳng Mục tiêu môn học cung cấp cho sinh viên kiến thức sở kiến trúc máy tính, bao gồm bao gồm kiến trúc máy tính tổng quát, kiến trúc xử lý trung tâm thành phần xử lý trung tâm, kiến trúc tập lệnh máy tính, chế ống lệnh; hệ thống phân cấp nhớ, nhớ trong, nhớ cache loại nhớ ngoài; hệ thống bus thiết bị vào Kiến trúc máy tính lĩnh vực đƣợc phát triển thời gian tƣơng đối dài với lƣợng kiến thức đồ sộ, nhƣng khuôn khổ tài liệu có tính chất giảng mơn học, tác giả cố gắng trình bày vấn đề sở phục vụ mục tiêu môn học Nội dung tài liệu đƣợc biên soạn thành sáu chƣơng: Chƣơng phần giới thiệu khái niệm sở kiến trúc máy tính, nhƣ khái kiệm kiến trúc tổ chức máy tính; cấu trúc chức thành phần máy tính; kiến trúc máy tính von-Neumann kiến trúc Harvard Khái niệm hệ đếm cách tổ chức liệu máy tính đƣợc trình bày chƣơng Chƣơng giới thiệu khối xử lý trung tâm, nguyên tắc hoạt động thành phần Khối xử lý trung tâm thành phần quan trọng phức tạp máy tính, đóng vai trị não máy tính Thơng qua việc thực lệnh chƣơng trình khối xử lý trung tâm, máy tính thực thi u cầu ngƣời sử dụng Chƣơng giới thiệu tập lệnh máy tính, bao gồm khái niệm lệnh, dạng lệnh, thành phần lệnh; dạng địa chế độ địa Chƣơng giới thiệu số dạng lệnh thông dụng kèm ví dụ minh hoạ Ngồi ra, chế ống lệnh – xử lý xen kẽ lệnh đƣợc đề cập Chƣơng trình bày nhớ trong: khái quát hệ thống nhớ cấu trúc phân cấp hệ thống nhớ; giới thiệu loại nhớ ROM RAM Một phần quan trọng chƣơng phần giới thiệu nhớ cache - nhớ đặc biệt có khả giúp tăng tốc hệ thống nhớ nói riêng hệ thống máy tính nói chung Chƣơng giới thiệu nhớ ngoài, bao gồm loại đĩa từ, đĩa quang, hệ thống RAID, NAS SAN Bộ nhớ dạng nhớ thƣờng có dung lƣợng lớn dùng để lƣu trữ thông tin ổn định, không phụ thuộc nguồn điện ni Chƣơng trình bày hệ thống bus thiết bị ngoại vi Phần trình bày hệ thống bus đề cập đến loại bus nhƣ ISA, EISA, PCI, AGP PCI-Express Phần giới thiệu thiết bị vào đề cập đến nguyên lý hoạt động số thiết bị vào thơng dụng, nhƣ bàn phím, chuột, hình máy in Tài liệu đƣợc biên soạn dựa kinh nghiệm giảng dạy mơn học Kiến trúc máy tính nhiều năm tác giả Học viện Công nghệ Bƣu – Viễn thơng, kết hợp tiếp thu đóng góp đồng nghiệp phản hồi từ sinh viên Tài liệu đƣợc sử dụng làm tài liệu học tập cho sinh viên hệ đại học cao đẳng ngành công nghệ thông tin điện tử viễn thơng Trong q trình biên soạn, tác giả cố gắng song tránh khỏi có thiếu sót Tác giả mong muốn nhận đƣợc ý kiến phản hồi góp ý cho thiếu sót, nhƣ ý kiến việc cập nhật, hoàn thiện nội dung tài liệu Hà nội, tháng năm 2010 Tác giả TS Hoàng Xuân Dậu Email: dauhx@ptit.edu.vn MỤC LỤC CHƢƠNG GIỚI THIỆU CHUNG 1.1 KHÁI NIỆM VỀ KIẾN TRÚC VÀ TỔ CHỨC MÁY TÍNH 1.2 CẤU TRÚC VÀ CHỨC NĂNG thành phẦN CỦA MÁY TÍNH 1.2.1 Sơ đồ khối chức 1.2.2 Các thành phần máy tính 1.3 LỊCH SỬ PHÁT TRIỂN MÁY TÍNH 1.3.1 Thế hệ (1944-1959) 1.3.2 Thế hệ (1960-1964) 1.3.3 Thế hệ (1964-1975) 1.3.4 Thế hệ (1975-1989) 1.3.5 Thế hệ (1990 - nay) 1.4 KIẾN TRÚC MÁY TÍNH VON-NEUMANN 1.4.1 Sơ đồ kiến trúc máy tính von-Neumann 1.4.2 Các đặc điểm kiến trúc von-Neumann 1.5 KIẾN TRÚC MÁY TÍNH HARVARD 10 1.6 CÁC HỆ SỐ ĐẾM VÀ TỔ CHỨC DỮ LIỆU TRÊN MÁY TÍNH 10 1.6.1 Các hệ số đếm 10 1.6.2 Tổ chức liệu máy tính 11 1.6.3 Số có dấu số khơng dấu 12 1.6.4 Bảng mã ASCII 13 1.7 CÂU HỎI ÔN TẬP 14 CHƢƠNG KHỐI XỨ LÝ TRUNG TÂM 15 2.1 SƠ ĐỒ KHỐI TỔNG QUÁT VÀ chu trình xỬ LÝ LỆNH 15 2.1.1 Sơ đồ khối tổng quát CPU 15 2.1.2 Chu trình xử lý lệnh 16 2.2 CÁC THANH GHI 16 2.2.1 Giới thiệu ghi 16 2.3 KHỐI ĐIỀU KHIỂN 18 2.4 KHỐI SỐ HỌC VÀ LOGIC 19 2.5 BUS TRONG CPU 20 2.6 CÂU HỎI ÔN TẬP 20 CHƢƠNG TẬP LỆNH MÁY TÍNH 21 3.1 GIỚI THIỆU VỀ TẬP LỆNH MÁY TÍNH 21 3.1.1 Lệnh máy tính gì? 21 3.1.2 Chu lệnh 21 3.2 DẠNG VÀ CÁC THÀNH PHẦN CỦA LỆNH 21 3.3 CÁC DẠNG ĐỊA CHỈ / TOÁN HẠNG 22 3.3.1 Toán hạng dạng địa 22 3.3.2 Toán hạng dạng địa 22 3.3.3 Toán hạng dạng địa 22 3.3.4 Toán hạng dạng 1,5 địa 23 3.3.5 Toán hạng dạng địa 23 3.4 CÁC CHẾ ĐỘ ĐỊA CHỈ 23 3.4.1 Giới thiệu chế độ địa 23 3.4.2 Các chế độ địa 24 3.5 MỘT SỐ DẠNG LỆNH THÔNG DỤNG 27 3.5.1 Các lệnh vận chuyển liệu 27 3.5.2 Các lệnh toán học logic 27 3.5.3 Các lệnh điều khiển chƣơng trình 28 3.5.4 Các lệnh vào 29 3.6 GIỚI THIỆU CƠ CHẾ ỐNG LỆNH (PIPELINE) 30 3.6.1 Giới thiệu chế ống lệnh 30 3.6.2 Các vấn đề chế ống lệnh hƣớng giải 31 3.7 CÂU HỎI ÔN TẬP 35 CHƢƠNG BỘ NHỚ TRONG 36 4.1 PHÂN LOẠI BỘ NHỚ MÁY TÍNH 36 4.1.1 Phân loại nhớ 36 4.1.2 Tổ chức mạch nhớ 36 4.2 CẤU TRÚC PHÂN CẤP BỘ NHỚ MÁY TÍNH 37 4.2.1 Giới thiệu cấu trúc phân cấp hệ thống nhớ 37 4.2.2 Vai trò cấu trúc phân cấp hệ thống nhớ 38 4.3 BỘ NHỚ rom VÀ ram 39 4.3.1 Bộ nhớ ROM 39 4.3.2 Bộ nhớ RAM 40 4.4 BỘ NHỚ CACHE 42 4.4.1 Cache gì? 42 4.4.2 Vai trò nguyên lý hoạt động 42 4.4.3 Các dạng kiến trúc cache 45 4.4.4 Các dạng tổ chức/ánh xạ cache 46 4.4.5 Các phƣơng pháp đọc ghi sách thay 52 4.4.6 Hiệu cache yếu tố ảnh hƣởng 53 4.4.7 Các phƣơng pháp giảm miss cho cache 55 4.5 CÂU HỎI ÔN TẬP 56 CHƢƠNG BỘ NHỚ NGOÀI 57 5.1 ĐĨA TỪ 57 5.1.1 Giới thiệu 57 5.1.2 Đĩa cứng 58 5.2 ĐĨA QUANG 62 5.2.1 Giới thiệu nguyên lý 62 5.2.2 Các loại đĩa quang 63 5.2.3 Giới thiệu cấu tạo số đĩa quang thông dụng 64 5.3 RAID 66 5.3.1 Giới thiệu RAID 66 5.3.2 Các kỹ thuật tạo RAID 66 5.3.3 Giới thiệu số loại RAID thông dụng 67 5.4 NAS 69 5.5 SAN 70 5.6 CÂU HỎI ÔN TẬP 71 CHƢƠNG HỆ THỐNG BUS VÀ CÁC THIẾT BỊ NGOẠI VI 72 6.1 GIỚI THIỆU CHUNG VỀ HỆ THỐNG BUS 72 6.2 GIỚI THIỆU MỘT SỐ LOẠI BUS THÔNG DỤNG 73 6.2.1 Bus ISA EISA 73 6.2.2 Bus PCI 74 6.2.3 Bus AGP 77 6.2.4 Bus PCI Express 78 6.3 GIỚI THIỆU CHUNG VỀ CÁC THIẾT BỊ NGOẠI VI 78 6.3.1 Giới thiệu chung 78 6.3.2 Các cổng giao tiếp 79 6.4 GIỚI THIỆU MỘT SỐ THIẾT BỊ VÀO RA THÔNG DỤNG 81 6.4.1 Bàn phím 81 6.4.2 Chuột 82 6.4.3 Màn hình 83 6.4.4 Máy in 86 6.5 CÂU HỎI ÔN TẬP 89 TÀI LIỆU THAM KHẢO 90 DANH MỤC CÁC THUẬT NGỮ TIẾNG ANH VÀ VIẾT TẮT Thuật ngữ tiếng Anh Từ viết tắt Central Processing Unit CPU Bộ/Đơn vị xử lý trung tâm Control Unit CU Bộ/Đơn vị điều khiển Arithmethic and Logic Unit Program Counter ALU PC Thuật ngữ tiếng Việt/Giải thích Bộ/Đơn vị tính tốn số học logic Bộ đếm chƣơng trình System Bus Buýt hệ thống Memory Bộ nhớ Cache Bộ nhớ đệm / nhớ kết Random Access Memory RAM Bộ nhớ truy cập ngẫu nhiên Read Only Memory ROM Bộ nhớ đọc Basic Input Output System BIOS Hệ thống vào sở Pipeline Cơ chế ống lệnh hay chế xử lý xen kẽ lệnh Hit Đoán trúng – kiện CPU truy tìm mục tin tìm thấy cache Miss Đốn trƣợt – kiện CPU truy tìm mục tin khơng tìm thấy cache Advanced Technology Attachments ATA Chuẩn ghép nối đĩa cứng ATA Parallel Advanced Technology Attachments PATA Chuẩn ghép nối đĩa cứng PATA – hay ATA song song Integrated Drive Electronics IDE Chuẩn ghép nối đĩa cứng IDE Serial ATA SATA Chuẩn ghép nối đĩa cứng SATA – hay ATA nối tiếp Small Computer System Interface SCSI Chuẩn ghép nối đĩa cứng SCSI Redundant Array of Independent Disks RAID Công nghệ lƣu trữ RAID – tạo thành từ mảng liên kết đĩa cứng vật lý Network Attached Storage NAS Hệ thống lƣu trữ gắn vào mạng Storage Area Network SAN Mạng lƣu trữ Industrial Standard Architecture ISA Buýt theo chuẩn công nghiệp ISA Extended ISA EISA Buýt theo chuẩn công nghiệp mở rộng EISA Peripheral Component Interconnect PCI Bus PCI Accelerated Graphic Port AGP Cổng tăng tốc đồ hoạ AGP PCI Express PCIe Buýt PCIe Cathode Ray Tube CRT Màn hình ống điện tử âm cực Liquid Crystal Display LCD Mình hình tinh thể lỏng CHƢƠNG GIỚI THIỆU CHUNG 1.1 KHÁI NIỆM VỀ KIẾN TRÚC VÀ TỔ CHỨC MÁY TÍNH Kiến trúc máy tính (Computer Architecture) Tổ chức máy tính (Computer Organization) hai số khái niệm ngành Cơng nghệ máy tính (Computer Engineering) Có thể nói kiến trúc máy tính tranh tồn cảnh hệ thống máy tính, cịn tổ chức máy tính tranh cụ thể thành phần phần cứng hệ thống máy tính Kiến trúc máy tính khoa học việc lựa chọn kết nối thành phần phần cứng để tạo máy tính đạt đƣợc yêu cầu chức (functionality), hiệu (performance) giá thành (cost) Yêu cầu chức đòi hỏi máy tính phải có thêm nhiều tính phong phú hữu ích; u cầu hiệu địi hỏi máy tính phải đạt tốc độ xử lý cao u cầu giá thành địi hỏi máy tính phải ngày rẻ Để đạt đƣợc ba yêu cầu chức năng, hiệu giá thành khó khăn Tuy nhiên, nhờ có phát triển mạnh mẽ công nghệ vi xử lý, máy tính ngày có tính phong phú, nhanh rẻ so với máy tính hệ trƣớc Kiến trúc máy tính đƣợc cấu thành từ thành phần con: (i) Kiến trúc tập lệnh (Instruction Set Architecture), (ii) Vi kiến trúc (Micro Architecture) Thiết kế hệ thống (System Design) Kiến trúc tập lệnh hình ảnh hệ thống máy tính mức ngôn ngữ máy Kiến trúc tập lệnh bao gồm thành phần: tập lệnh, chế độ địa chỉ, ghi, khuôn dạng địa liệu Vi kiến trúc mô tả mức thấp thành phần hệ thống máy tính, phối ghép việc trao đổi thông tin chúng Vi kiến trúc giúp trả lời hai câu hỏi (1) Các thành phần phần cứng máy tính kết nối với nhƣ nào? (2) Các thành phần phần cứng máy tính tƣơng tác với nhƣ để thực thi tập lệnh? Thiết kế hệ thống: bao gồm tất thành phần phần cứng hệ thống máy tính, bao gồm: Hệ thống phối ghép (các bus chuyển mạch), Hệ thống nhớ, Các chế giảm tải cho CPU (nhƣ truy nhập trực tiếp nhớ) Các vấn đề khác (nhƣ đa xử lý xử lý song song) Tổ chức máy tính hay cấu trúc máy tính khoa học nghiên cứu phận máy tính phƣơng thức làm việc chúng Với định nghĩa nhƣ vậy, tổ chức máy tính gần gũi với vi kiến trúc – thành phần kiến trúc máy tính Nhƣ vậy, thấy rằng, kiến trúc máy tính khái niệm rộng hơn, bao hàm tổ chức hay cấu trúc máy tính 1.2 CẤU TRÚC VÀ CHỨC NĂNG CÁC THÀNH PHẦN CỦA MÁY TÍNH 1.2.1 Sơ đồ khối chức Hình minh hoạ sơ đồ khối chức hệ thống máy tính Theo đó, hệ thống máy tính gồm bốn thành phần chính: (1) CPU – Khối xử lý trung tâm, (2) Bộ nhớ trong, gồm nhớ ROM nhớ RAM, (3) Các thiết bị ngoại vi, gồm thiết bị vào thiết bị (4) Bus hệ thống, hệ thống kênh dẫn tín hiệu ghép nối thành phần kể Ngồi ra, cịn Chương 1- Giới thiệu chung có giao diện ghép nối vào ghép nối dùng để ghép nối thiết bị ngoại vi vào bus hệ thống Mục 1.2.2 mô tả chi tiết chức khối Bộ nhớ ROM RAM Bus hệ thống CPU Ghép nối vào Ghép nối Thiết bị vào Bàn phím chuột Ổ đĩa Máy quét Thiết bị Màn hình Máy in Ổ đĩa Các thiết bị ngoại vi Hình Sơ đồ khối chức hệ thống máy tính 1.2.2 Các thành phần máy tính 1.2.2.1 Khối xử lý trung tâm Khối xử lý trung tâm (Central Processing Unit - CPU) thành phần quan trọng - đƣợc xem não máy tính Các yêu cầu hệ thống ngƣời sử dụng thƣờng đƣợc biểu diễn thành chƣơng trình máy tính, chƣơng trình thƣờng đƣợc tạo thành từ nhiều lệnh CPU CPU đảm nhiệm việc đọc lệnh chƣơng trình từ nhớ, giải mã thực lệnh Thông qua việc CPU thực lệnh chƣơng trình, máy tính có khả cung cấp tính hữu ích cho ngƣời sử dụng CPU vi mạch tích hợp với mật độ cao, đƣợc cấu thành từ bốn thành phần con: (1) Bộ điều khiển (Control Unit - CU), (2) Bộ tính tốn số học logic (Arithmetic and Logic Unit ALU), (3) Các ghi (Registers) bus CPU (Internal Bus) Bộ điều khiển có nhiệm vụ đọc, giải mã điều khiển trình thực lệnh Bộ tính tốn số học logic chun thực phép toán số học nhƣ cộng trừ, nhân, chia, phép tốn lơgic nhƣ và, hoặc, phủ định phép dịch, quay Các ghi kho chứa lệnh liệu tạm thời cho CPU xử lý Bus CPU có nhiệm vụ truyền dẫn tín hiệu phận CPU kết nối với hệ thống bus ngồi Hình minh hoạ hai CPU hãng Intel 8086 đời năm 1978 Core Duo đời năm 2006 1.2.2.2 Bộ nhớ Bộ nhớ trong, gọi nhớ (Internal Memory hay Main Memory) kho chứa lệnh liệu hệ thống ngƣời dùng phục vụ CPU xử lý Bộ nhớ thƣờng nhớ bán dẫn, bao gồm hai loại: (1) Bộ nhớ đọc (Read Only Memory – ROM) (2) Bộ nhớ truy cập ngẫu nhiên (Random Access Memory – RAM) ROM thƣờng đƣợc sử dụng để lƣu lệnh liệu hệ thống Thông tin ROM đƣợc nạp từ sản xuất thƣờng Chương 1- Giới thiệu chung đọc q trình sử dụng Hơn thơng tin ROM ln tồn kể khơng có nguồn điện ni Hình CPU hãng Intel: 8086 Core Duo Khác với nhớ ROM, nhớ RAM thƣờng đƣợc sử dụng để lƣu lệnh liệu hệ thống ngƣời dùng RAM thƣờng có dung lƣợng lớn nhiều so với ROM Tuy nhiên, thông tin RAM tồn có nguồn điện ni Hình minh hoạ vi mạch nhớ ROM vi mạch nhớ RAM gắn nhớ RAM Hình Bộ nhớ ROM RAM 1.2.2.3 Các thiết bị vào Các thiết bị vào (Input – Output devices), hay gọi thiết bị ngoại vi (Peripheral devices) đảm nhiệm việc nhập liệu vào, điều khiển hệ thống kết xuất liệu Có hai nhóm thiết bị ngoại vi: (1) Các thiết bị vào (Input devices) (2) Các thiết bị (Output devices) Các thiết bị vào dùng để nhập liệu vào điều khiển hệ thống, gồm: bàn phím (keyboard), chuột (mouse), ổ đĩa (Disk Drives), máy quét ảnh (Scanners), Các thiết bị dùng để xuất liệu ra, gồm: hình (Screen), máy in (Printers), ổ đĩa (Disk Drives), máy vẽ (Plotters), Chương 4- Bộ nhớ DDR2 SDRAM: tần số làm việc 400, 533, 800 MHz: có khả chuyển từ liệu chu kỳ đồng hồ; DDR3 SDRAM: tần số làm việc 800, 1066, 1333, 1600 MHz: có khả chuyển từ liệu chu kỳ đồng hồ 4.4 BỘ NHỚ CACHE 4.4.1 Cache gì? Cache hay cịn gọi nhớ đệm, nhớ khay thành phần cấu trúc phân cấp hệ thống nhớ nhƣ trình bày mục 4.2 Cache đóng vai trung gian, trung chuyển liệu từ nhớ CPU ngƣợc lại Hình 38 minh hoạ vị trí nhớ cache hệ thống nhớ Với hệ thống CPU cũ sử dụng công nghệ tích hợp thấp, nhớ cache thƣờng nằm ngồi CPU; với CPU sử dụng cơng nghệ tích hợp cao, nhớ cache thƣờng đƣợc tích hợp vào CPU nhằm nâng cao tốc độ băng thông trao đổi liệu CPU cache CPU Cache Main memory Hình 38 Vị trí nhớ cache hệ thống nhớ Dung lƣợng nhớ cache thƣờng nhỏ so với dung lƣợng nhớ nhớ ngồi Với hệ thống máy tính cũ, dung lƣợng cache khoảng 16KB, 32KB, , 128KB; với hệ thống máy tính gần đây, dung lƣợng cache lớn hơn, khoảng 256KB, 512KB, 1MB, 2MB, 4MB, 8MB 16MB Cache có tốc độ truy cập nhanh nhiều so với nhớ chính, đặc biệt với cache đƣợc tích hợp vào CPU Tuy nhiên, giá thành nhớ cache (tính theo bit) thƣờng đắt nhiều so với nhớ Với hệ thống CPU mới, cache thƣờng đƣợc chia thành hai hay nhiều mức (levels): mức có dung lƣợng khoảng 16-32KB có tốc độ truy cập cao mức có dung lƣợng khoảng 1-16MB có tốc độ truy cập thấp 4.4.2 Vai trò nguyên lý hoạt động 4.4.2.1 Vai trò cache Do nhớ cache thành phần hệ thống nhớ phân cấp, nên vai trò cache tƣơng tự nhƣ vai trò cấu trúc phân cấp hệ thống nhớ: tăng hiệu hệ thống vào giảm giá thành sản xuất Sở dĩ cache giúp tăng hiệu hệ thống nhờ cache có khả dung hồ đƣợc CPU có tốc độ cao nhớ có tốc độ thấp làm cho thời gian trung bình CPU truy nhập liệu từ nhớ tiệm cận thời gian truy nhập cache Ngồi ra, cache loại nhớ “thông minh” có khả đốn chuẩn bị trƣớc liệu cần thiết cho CPU xử lý nên xác xuất CPU phải trực tiếp truy nhập liệu từ nhớ thấp điều giúp làm giảm thời gian trung bình CPU truy nhập liệu từ nhớ Tuy cache có giá thành đơn vị nhớ cao nhớ chính, nhƣng tổng dung lƣợng cache thƣờng nhỏ nên cache không làm tăng giá thành hệ thống nhớ mức Nhờ vậy, cache hoàn toàn phù hợp với cấu trúc phân cấp giúp làm giảm giá thành sản xuất tƣơng quan với tốc độ hệ thống nhớ Có thể kết luận rằng, hai hệ thống nhớ 42 Chương 4- Bộ nhớ có giá thành, hệ thống nhớ có cache có tốc độ truy cập nhanh hơn; hai hệ thống nhớ có tốc độ, hệ thống nhớ có cache có giá thành rẻ 4.4.2.2 Nguyên lý hoạt động cache Cache đƣợc coi nhớ “thơng minh” có khả đoán trƣớc yêu cầu liệu lệnh CPU Dữ liệu lệnh cần thiết đƣợc chuyển trƣớc từ nhớ cache CPU cần truy nhập cache, giúp giảm thời gian truy nhập hệ thống nhớ Để có đƣợc thơng minh, cache hoạt động dựa hai nguyên lý bản: nguyên lý lân cận không gian (Spatial locality) nguyên lý lân cận thời gian (Temporal locality) Neighbour cell Current cell Neighbour cell Hình 39 Lân cận khơng gian khơng gian chƣơng trình Ngun lý lân cận khơng gian phát biểu nhƣ sau: “Nếu ô nhớ truy nhập xác xuất ô nhớ liền kề với truy nhập tương lai gần cao” Lân cận không gian thƣờng đƣợc áp dụng cho nhóm lệnh liệu có tính cao khơng gian chƣơng trình, nhƣ minh hoạ Hình 39 Do lệnh chƣơng trình thƣờng tuần tự, cache đọc khối lệnh từ nhớ khối lệnh đọc đƣợc bao phủ ô nhớ lân cận (neighbour cell) ô nhớ đƣợc truy nhập (current cell) Khác với nguyên lý lân cận không gian, nguyên lý lân cận thời gian trọng đến tính lặp lại việc truy nhập mẩu thông tin khoảng thời gian tƣơng đối ngắn Có thể phát biểu nguyên lý nhƣ sau: “Nếu nhớ truy nhập xác xuất truy nhập lại tương lai gần cao” Lân cận thời gian đƣợc áp dụng cho liệu nhóm lệnh vịng lặp nhƣ minh hoạ Hình 40 Với phần tử liệu, chúng đƣợc CPU cập nhập thƣờng xuyên q trình thực chƣơng trình nên có tính lân cận cao thời gian Với lệnh vòng lặp, chúng thƣờng đƣợc CPU thực lặp lặp lại nhiều lần nên có tính lân cận cao thời gian; cache nạp sẵn khối lệnh chứa vịng lặp phủ đƣợc tính lân cận thời gian 43 Chương 4- Bộ nhớ Start of loop Instruction Instruction Instruction Instruction End of loop Instruction Hình 40 Lân cận thời gian với việc thực vòng lặp 4.4.2.3 Trao đổi liệu CPU – cache – nhớ CPU Cache Individual data items: byte, word Memory Block of data: 16, 32, 64 bytes Hình 41 Trao đổi liệu CPU với cache nhớ Hình 41 minh hoạ việc trao đổi liệu CPU với cache nhớ chính: CPU trao đổi liệu với cache theo đơn vị sở nhƣ byte, từ từ kép Còn cache trao đổi liệu với nhớ theo khối, với kích thƣớc 16, 32 64 bytes Sở dĩ CPU trao đổi liệu với cache theo đơn vị sở mà không theo khối liệu đƣợc lƣu ghi CPU – vốn có dung lƣợng hạn chế Vì vậy, CPU trao đổi phần tử liệu cần thiết theo yêu cầu lệnh Ngƣợc lại, cache trao đổi liệu với nhớ theo khối, khối gồm nhiều byte kề với mục đích bao phủ mẩu liệu lân cận theo không gian thời gian Ngoài ra, trao đổi liệu theo khối (hay mẻ) với nhớ giúp cache tận dụng tốt băng thơng đƣờng truyền nhờ tăng tốc độ truyền liệu 4.4.2.4 Các hệ số Hit Miss Hit (đoán trúng) kiện mà CPU truy nhập mục tin mục tin có cache Xác suất để có hit gọi hệ số hit, H Dễ thấy hệ số hit H thuộc khoảng (0, 1) Hệ số hit cao hiệu cache cao Ngƣợc lại, Miss (đoán trƣợt) kiện mà CPU truy nhập mục tin mục tin khơng có cache Xác suất miss gọi hệ số miss, 1-H Cũng thấy hệ số miss 1-H thuộc khoảng (0, 1) Hệ số miss thấp hiệu cache cao 44 Chương 4- Bộ nhớ 4.4.3 Các dạng kiến trúc cache Kiến trúc cache đề cập đến việc cache đƣợc bố trí vào vị trí quan hệ với CPU nhớ Có hai loại kiến trúc cache chính: kiến trúc Look Aside (cache đƣợc đặt ngang hàng với nhớ chính) kiến trúc Look Through (cache đƣợc đặt CPU nhớ chính) Mỗi kiến trúc cache kể có ƣu điểm nhƣợc điểm riêng 4.4.3.1 Kiến trúc Look Aside Trong kiến trúc Look Aside, cache nhớ đƣợc kết nối vào bus hệ thống Nhƣ vậy, cache nhớ “thấy” chu kỳ bus CPU thời điểm Hình 42 minh hoạ kiến trúc cache kiểu Look Aside Kiến trúc Look Aside có thiết kế đơn giản, dễ thực Tuy nhiên, kiện hit kiến trúc thƣờng chậm cache kết nối với CPU sử dụng bus hệ thống – thƣờng có tần số làm việc không cao băng thông hẹp Bù lại, kiện miss kiến trúc Look Aside thƣờng nhanh CPU khơng tìm thấy mục tin cache, đồng thời tìm mục tin nhớ chu kỳ xung nhịp CPU SRAM: RAM lƣu liệu cache Cache controller: điều khiển cache Main memory: nhớ System bus: bus hệ thống Cache controller System bus Tag RAM: RAM lƣu địa dòng nhớ nhớ SRAM Tag RAM Main Memory Hình 42 Kiến trúc cache kiểu Look Aside 4.4.3.2 Kiến trúc Look Through Trong kiến trúc kiểu Look Through, cache đƣợc đặt nằm CPU nhớ nhƣ minh hoạ Hình 43 Nhƣ cache “thấy” chu kỳ bus CPU trƣớc, “truyền” lại cho nhớ Cache kết nối với CPU hệ thống bus riêng tốc độ cao băng thông lớn, thƣờng bus mặt sau (BSB – Back Side Bus) Cache kết nối với nhớ thông qua bus hệ thống hay bus mặt trƣớc (FSB – Front Side Bus) FSB thƣờng có tần số làm việc băng thông thấp nhiều so với BSB Kiến trúc Look Through phức tạp kiến trúc Look Aside Ƣu điểm kiến trúc kiện hit kiến trúc thƣờng nhanh CPU kết nối với cache kênh riêng có tốc độ cao Tuy nhiên, kiện miss kiến trúc Look Through thƣờng chậm CPU khơng tìm thấy mục tin cache, cần tìm mục tin nhớ chu kỳ xung nhịp 45 Chương 4- Bộ nhớ CPU SRAM Cache controller Tag RAM Main Memory Hình 43 Kiến trúc cache kiểu Look Through 4.4.4 Các dạng tổ chức/ánh xạ cache 4.4.4.1 Giới thiệu tổ chức/ánh xạ cache Hình 44 Quan hệ khối nhớ dịng cache Nhƣ trình bày mục 4.2, kích thƣớc cache thƣờng nhỏ so với kích thƣớc nhớ Do vậy, thời điểm, có phần nhỏ thơng tin nhớ đƣợc chuyển vào cache Câu hỏi đặt là, phải xây dựng mơ hình tổ chức / ánh xạ trao đổi liệu phần tử nhớ nhớ phần tử nhớ cache nhƣ để hệ thống nhớ đạt đƣợc tốc độ truy cập tối ƣu Cho đến nay, có ba phƣơng pháp tổ chức / ánh xạ cache đƣợc sử dụng, bao gồm: Ánh xạ trực tiếp (Direct mapping), Ánh xạ kết hợp đầy đủ (Fully associative mapping) Ánh xạ tập kết hợp (Set associative mapping) Phƣơng pháp ánh xạ trực tiếp có ƣu điểm thiết kế đơn giản nhanh Tuy nhiên, dạng ánh xạ cố định dễ gây xung đột dẫn đến hiệu cache không cao Phƣơng pháp ánh xạ kết hợp đầy đủ sử dụng ánh xạ mềm, gây xung đột đạt hệ số hit cao Tuy nhiên, phƣơng pháp có thiết kế phức tạp có tốc độ 46 Chương 4- Bộ nhớ chậm Phƣơng pháp ánh xạ tập kết hợp kết hợp hai phƣơng pháp ánh xạ trực tiếp ánh xạ kết hợp đầy đủ, tận dụng đƣợc ƣu điểm hai phƣơng pháp: nhanh, xung đột khơng q phức tạp, cho hiệu cao 4.4.4.2 Ánh xạ trực tiếp Hình 45 minh hoạ phƣơng pháp ánh xạ trực tiếp nhớ - cache Cache đƣợc chia thành n dòng (line) đánh số từ đến n-1 Bộ nhớ đƣợc chia thành m trang (page), đánh số từ đến m-1 Mỗi trang nhớ lại đƣợc chia thành n dòng (line) đánh số từ đến n-1 Kích thƣớc trang nhớ kích thƣớc cache kích thƣớc dịng trang nhớ kích thƣớc dịng cache Ánh xạ từ nhớ vào cache đƣợc thực theo quy tắc sau: Line0 trang (page0 đến pagem-1) ánh xạ đến Line0 cache; Line1 trang (page0 đến pagem-1) ánh xạ đến Line1 cache; Linen-1 trang (page0 đến pagem-1) ánh xạ đến Linen-1 cache Page m-1 Page Page Line n-1 Line n-1 Line Line Line Line Memory Cache Hình 45 Phƣơng pháp ánh xạ trực tiếp nhớ - cache Có thể thấy với phƣơng pháp ánh xạ trực tiếp, thời điểm ln có cố định m dòng nhớ cạnh tranh dòng cache Khi biết đƣợc địa dòng nhớ, ta biết vị trí cache – phƣơng pháp ánh xạ trực tiếp cịn gọi ánh xạ cứng hay ánh xạ cố định Để quản lý đƣợc nhớ đƣợc nạp, cache sử dụng địa ánh xạ trực tiếp gồm thành phần: Tag, Line Word nhƣ minh hoạ Hình 46 Tag (bit) địa trang nhớ chứa dòng đƣợc nạp vào cache, Line (bit) địa dòng cache Word (bit) địa từ dòng 47 Chương 4- Bộ nhớ Tag Line Word Hình 46 Địa ô nhớ ánh xạ trực tiếp Ví dụ tính thành phần địa ô nhớ ánh xạ trực tiếp: Vào: - Dung lƣợng nhớ = 4GB - Dung lƣợng cache = 1MB - Kích thƣớc dịng = 32 byte Ra: - Kích thƣớc dịng Line = 32 byte = 25 , Word = bit - Dung lƣợng Cache = 1MB = 210 có 210 / 25 = 25 dịng, Line = bit - Địa trang Tag: 4GB = 232, cần 32 bít địa tổng cộng để địa hố nhớ: Tag = 32 bit địa – Line – Word = 32 – – = 22 bit Phƣơng pháp ánh xạ trực tiếp có thiết kế đơn giản nhanh không tốn nhiều thời gian truy tìm địa nhớ cache Do ánh xạ cố định, nên biết địa nhớ tìm đƣợc vị trí cache nhanh chóng Tuy nhiên, ánh xạ cố định nên phƣơng pháp dễ gây xung đột tạo nhiều dịng cache bị nút cổ chai q trình hoạt động cache Có thể có nhiều dịng cache rảnh rỗi hay đƣợc sử dụng, nhƣng có nhiều dòng cache tải bị nhiều dòng nhớ cạnh tranh Cũng lý dễ gây xung đột nên hiệu tận dụng không gian cache phƣơng pháp ánh xạ trực tiếp không cao hệ số hit thấp 4.4.4.3 Ánh xạ kết hợp đầy đủ 48 Chương 4- Bộ nhớ Line m-1 Line n-1 Line Line Cache Line Line Memory Hình 47 Phƣơng pháp ánh xạ kết hợp đầy đủ nhớ - cache Phƣơng pháp ánh xạ kết hợp đầy đủ hay gọi ánh xạ liên kết đầy đủ đƣợc minh hoạ Hình 47 Cache đƣợc chia thành n dòng (line) đánh số từ đến n-1 Bộ nhớ đƣợc chia thành m dịng (line), đánh số từ đến m-1 Kích thƣớc dịng nhớ kích thƣớc dịng cache Do nhớ có kích thƣớc lớn nhiều kích thƣớc cache, nên m >> n Ánh xạ từ nhớ vào cache đƣợc thực theo quy tắc sau: Một dịng nhớ ánh xạ đến dòng cache, hay Linei (i = ÷ m-1) nhớ ánh xạ đến Linej (j = ÷ n-1) cache; Có thể thấy với phƣơng pháp ánh xạ kết hợp đầy đủ, có n dịng cache để lựa chọn ánh xạ – phƣơng pháp ánh xạ kết hợp đầy đủ gọi ánh xạ mềm hay ánh xạ không cố định Ngƣợc lại với phƣơng pháp ánh xạ trực tiếp, biết đƣợc địa dịng nhớ, ta chƣa biết vị trí cache Để quản lý đƣợc ô nhớ đƣợc nạp, cache sử dụng địa ánh xạ kết hợp đầy đủ gồm thành phần: Tag Word nhƣ minh hoạ Hình 46 Tag (bit) địa dòng nhớ đƣợc nạp vào cache Word (bit) địa từ dòng Phần địa Line nhƣ địa ánh xạ trực tiếp bị bỏ nhớ trang với m dòng Tag Word Hình 48 Địa nhớ ánh xạ kết hợp đầy đủ Ví dụ tính thành phần địa ô nhớ ánh xạ kết hợp đầy đủ: Vào: - Dung lƣợng nhớ = 4GB 49 Chương 4- Bộ nhớ - Dung lƣợng cache = 1MB - Kích thƣớc dịng = 32 byte Ra: - Kích thƣớc dịng Line = 32 byte = 25 , Word = bit - Địa trang Tag: 4GB = 232, cần 32 bít địa tổng cộng để địa hố nhớ: Tag = 32 bit địa – Word = 32 – = 27 bit Phƣơng pháp ánh xạ kết hợp đầy đủ sử dụng ánh xạ không cố định nên có ƣu điểm mềm dẻo, giảm đƣợc xung đột sử dụng dòng cache Việc sử dụng dòng cache đƣợc điều phối hƣớng đến phân bố hợp lý hơn, giảm tƣợng tạo dòng bị nút cổ chai với mức độ cạnh tranh lớn Nhờ vậy, phƣơng pháp có hiệu suất sử dụng khơng gian cache cao có khả cho hệ số hit cao Tuy nhiên, việc sử dụng ánh xạ khơng cố định, nên việc truy tìm địa dịng nhớ cache tốn nhiều thời gian, gây chậm trễ, đặc biệt với cache có kích thƣớc lớn Ngồi ra, phƣơng pháp có thiết kế phức tạp so với phƣơng pháp ánh xạ trực tiếp cần bổ sung thêm so sánh địa dịng cache nhằm tăng tốc cho q trình truy tìm địa dòng nhớ cache Do vậy, phƣơng pháp ánh xạ kết hợp đầy đủ thích hợp với cache có dung lƣợng nhỏ 4.4.4.4 Ánh xạ tập kết hợp Phƣơng pháp ánh xạ tập kết hợp hay gọi ánh xạ liên kết nhóm đƣợc minh hoạ Hình 49 Cache đƣợc chia thành k đƣờng (way) đánh số từ đến k-1 Mỗi đƣờng cache lại đƣợc chia thành n dòng (line) đánh số từ đến n-1 Bộ nhớ đƣợc chia thành m trang (page), đánh số từ đến m-1 Mỗi trang lại đƣợc chia thành n dòng (line) đánh số từ đến n-1 Kích thƣớc trang nhớ kích thƣớc đƣờng cache kích thƣớc dịng trang nhớ kích thƣớc dòng đƣờng cache Ánh xạ từ nhớ vào cache đƣợc thực theo quy tắc sau: Ánh xạ trang nhớ đến đƣờng cache (ánh xạ không cố định): - Một trang nhớ ánh xạ đến đƣờng cache Ánh xạ dòng trang đến dòng đƣờng (ánh xạ cố định): - Line0 pagei nhớ ánh xạ đến Line0 wayj cache; - Line1 pagei nhớ ánh xạ đến Line1 wayj cache; - - Linen-1 pagei nhớ ánh xạ đến Linen-1 wayj cache 50 Chương 4- Bộ nhớ Page m-1 Page Way Way Page Line n-1 Line Line Line n-1 Line n-1 Line Line Line Line Cache Bộ nhớ Hình 49 Phƣơng pháp ánh xạ tập kết hợp nhớ - cache Có thể thấy phƣơng pháp ánh xạ tập kết hợp đảm bảo đƣợc kết hợp hài hoà ánh xạ mềm từ trang nhớ đến đƣờng cache ánh xạ cố định từ dòng trang nhớ đến dịng đƣờng cache Do số đƣờng cache khơng lớn (thƣờng khoảng 4, 8, 16, 32 64 đƣờng) nên việc tìm kiếm địa trang nhớ đƣờng cache không ảnh hƣởng nhiều đến tốc độ truy cập cache Hơn nữa, ánh xạ từ dòng trang nhớ đến dòng đƣờng cache cố định, nhanh chóng xác định đƣợc vị trí dòng nhớ đƣờng cache biết địa Để quản lý đƣợc nhớ đƣợc nạp, cache sử dụng địa ánh xạ trực tiếp gồm thành phần: Tag, Set Word nhƣ minh hoạ Hình 50 Tag (bit) địa trang nhớ chứa dòng đƣợc nạp vào cache, Set (bit) địa dòng đƣờng cache Word (bit) địa từ dòng Tag Set Word Hình 50 Địa nhớ ánh xạ tập kết hợp kết hợp Ví dụ tính thành phần địa ô nhớ ánh xạ tập kết hợp: Vào: - Dung lƣợng nhớ = 4GB - Dung lƣợng cache = 1MB, đƣờng - Kích thƣớc dịng = 32 byte Ra: 51 Chương 4- Bộ nhớ - Kích thƣớc dịng Line = 32 byte = 25 , Word = bit - Dung lƣợng Cache = 1MB = 210 có 210 / đƣờng / 25 = 24 dịng / đƣờng, Set = bit - Địa trang Tag: 4GB = 232, cần 32 bít địa tổng cộng để địa hố nhớ: Tag = 32 bit địa – Set – Word = 32 – – = 23 bit Phƣơng pháp ánh xạ tập kết hợp tận dụng đƣợc ƣu điểm hai phƣơng pháp ánh xạ trực tiếp ánh xạ kết hợp đầy đủ: nhanh ánh xạ trực tiếp đƣợc sử dụng cho ánh xạ dòng chiếm số lớn ánh xạ mềm dẻo, xung đột ánh xạ từ trang nhớ đến đƣờng cache không cố định Nhờ vậy, phân bố sử dụng không gian cache đồng đạt hệ số hit cao Nhƣợc điểm lớn phƣơng pháp có độ phức tạp thiết kế điều khiển cao cache đƣợc chia thành số đƣờng, thay đƣờng 4.4.5 Các phƣơng pháp đọc ghi sách thay 4.4.5.1 Các phương pháp đọc ghi cache Việc trao đổi thông tin CPU – cache cache – nhớ vấn đề có ảnh hƣởng lớn đến hiệu cache Câu hỏi đặt cần có sách trao đổi hay đọc ghi thông tin thành phần nhƣ để đạt đƣợc hệ số hit cao giảm thiểu miss Xét trƣờng hợp đọc thông tin trƣờng hợp hit (mẩu tin cần đọc có cache): mẩu tin đƣợc đọc từ cache vào CPU nhớ khơng tham gia Nhƣ thời gian CPU truy nhập mẩu tin thời gian CPU truy nhập cache Ngƣợc lại, đọc thông tin trƣờng hợp miss (mẩu tin cần đọc khơng có cache): mẩu tin trƣớc hết đƣợc chuyển từ nhớ vào cache, sau đƣợc đọc từ cache vào CPU Đây trƣờng hợp xấu nhất: thời gian CPU truy nhập mẩu tin thời gian truy nhập cache cộng với thời gian cache truy nhập nhớ – cịn gọi miss penalty (gấp đơi thời gian truy cập đốn trƣợt) Với trƣờng hợp ghi thơng tin trƣờng hợp hit, áp dụng sách ghi: ghi thẳng (write through) ghi trễ (write back) Với phƣơng pháp ghi thẳng, mẩu tin cần ghi đƣợc lƣu đồng thời cache nhớ Phƣơng pháp ghi ln đảm bảo tính q liệu cache nhớ chính, nhƣng gây chậm trễ tốn nhiều băng thông tần suất ghi lớn với nhiều mẩu tin có kích thƣớc nhỏ Ngƣợc lại, với phƣơng pháp ghi trễ, mẩu tin trƣớc hết đƣợc ghi cache dòng cache chứa mẩu tin đƣợc ghi nhớ bị thay Nhƣ vậy, mẩu tin đƣợc ghi cache nhiều lần, nhƣng đƣợc ghi nhớ lần nhất, giúp tăng tốc độ giảm băng thông sử dụng Phƣơng pháp ghi trễ đƣợc ứng rộng rãi hệ thống cache Với trƣờng hợp ghi thông tin trƣờng hợp miss, áp dụng hai sách ghi: ghi có đọc lại (write allocate / fetch on write) ghi không đọc lại (write nonallocate) Với phƣơng pháp ghi có đọc lại, mẩu tin trƣớc hết đƣợc ghi nhớ chính, sau dịng nhớ chứa mẩu tin vừa ghi đƣợc đọc vào cache Việc đọc lại mẩu tin vừa ghi từ nhớ vào cache giúp giảm miss đọc áp dụng nguyên lý lân cận theo thời gian: mẩu tin vừa đƣợc truy nhập đƣợc truy nhập lại tƣơng lai gần Với phƣơng pháp ghi không đọc lại, mẩu tin đƣợc ghi nhớ Khơng có thao tác đọc dịng nhớ chứa mẩu tin vừa ghi vào cache 52 Chương 4- Bộ nhớ 4.4.5.2 Các sách thay dịng cache Nhƣ đề cập, với ba phƣơng pháp ánh xạ nhớ – cache, ln có nhiều dịng nhớ ánh xạ đến dịng cache Do có nhiều dịng nhớ chia sẻ dòng cache, dòng nhớ đƣợc nạp vào cache sử dụng thời gian đƣợc thay dòng nhớ khác theo yêu cầu thơng tin phục vụ CPU Các sách thay (replacement policies) xác định dòng cache đƣợc chọn để thay dòng khác từ nhớ nhằm đạt hệ số hit cao Có ba sách thay đƣợc sử dụng nay: thay ngẫu nhiên (Random Replacement), thay kiểu vào trước trước (FIFO – First In First Out) thay dịng sử dụng gần (LRU – Least Recently Used) Thay ngẫu nhiên phƣơng pháp đƣợc sử dụng có thiết kế đơn giản dễ cài đặt Các dòng cache đƣợc lựa chọn để thay cách ngẫu nhiên, không theo quy luật Do vậy, phƣơng pháp thay ngẫu nhiên thƣờng có hệ số miss cao phƣơng pháp khơng xem xét đến dịng cache thực đƣợc sử dụng Nếu dòng cache đƣợc sử dụng bị thay xảy miss lại cần đƣợc đọc từ nhớ vào cache Trong phƣơng pháp thay kiểu vào trƣớc trƣớc, dòng nhớ đƣợc nạp vào cache trƣớc đƣợc chọn để thay trƣớc Phƣơng pháp ln có khuynh hƣớng loại bỏ dịng cache có thời gian sử dụng lâu nhất, hay “già nhất” Nó có khả cho hệ số miss thấp so với thay ngẫu nhiên phƣơng pháp có xem xét đến yếu tố lân cận theo thời gian – dịng nhớ có thời gian tồn cache lâu có xác suất đƣợc sử dụng thấp Tuy nhiên, phƣơng pháp chƣa thực xem xét đến dòng cache thực đƣợc sử dụng - dòng cache “già” đƣợc sử dụng Một nhƣợc điểm khác thay kiểu vào trƣớc trƣớc thiết kế cài đặt phức tạp hơn, cần phải có mạch mạch điện tử chuyên dụng để theo dõi trật tự nạp dòng nhớ vào cache Phƣơng pháp thay dịng đƣợc sử dụng gần hoạt động theo nguyên tắc: dòng cache đƣợc lựa chọn để thay dịng đƣợc sử dụng gấn Phƣơng pháp cho hệ số miss thấp so với thay ngẫu nhiên thay FIFO, thay LRU có xem xét đến dịng thực đƣợc sử dụng – tuân theo yếu tố lân cận theo thời gian cách chặt chẽ Nhƣợc điểm phƣơng pháp thiết kế cài đặt phức tạp hơn, cần phải có mạch điện tử chuyên dụng để theo dõi tần suất sử dụng dòng cache 4.4.6 Hiệu cache yếu tố ảnh hƣởng 4.4.6.1 Hiệu cache Hiệu cache (Cache Performance) đƣợc đánh giá tổng thể theo thời gian truy nhập trung bình CPU đến hệ thống nhớ Thời gian truy nhập trung bình hệ thống nhớ có cache đƣợc tính nhƣ sau: taccess = (Hit cost) + (miss rate) * (miss penalty) taccess = tcache + (1 - H) * (tmemory) đó, taccess thời gian truy nhập trung bình hệ thống nhớ, tmemory thời gian truy nhập nhớ chính, tcache thời gian ruy nhập cache H hệ số hit Nếu tcache = 5ns, tmemory = 60ns H=80%, ta có: taccess = + (1 – 0.8) * (60) = 5+12 = 17ns 53 Chương 4- Bộ nhớ Nếu tcache = 5ns, tmemory = 60ns H=95%, ta có: taccess = + (1 – 0.95) * (60) = 5+3 = 8ns Nhƣ vậy, thời gian truy nhập trung bình hệ thống nhớ tiệm cận thời gian truy nhập cache với trƣờng hợp cache đạt hệ số hit cao 4.4.6.2 Các yếu tố ảnh hưởng Có nhiều yếu tố ảnh hƣởng đến hiệu cache, ba vấn đề (1) kích thƣớc cache, (2) chia tách cache (3) tạo cache nhiều mức có ảnh hƣởng lớn Chúng ta lần lƣợt xem xét ảnh hƣởng yếu tố đến hiệu cache Vấn đề kích thƣớc cache Vấn đề kích thƣớc cache liên quan đến việc trả lời câu hỏi: nên lựa chọn kích thƣớc cache lớn hay nhỏ? Nhiều 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 cache lệnh thấp nhiều so với cache liệu: 8KB cache lệnh có hệ số miss nhỏ 1% 256KB cache lệnh có hệ số miss nhỏ 0.002% nhƣ vậy, tăng kích thƣớc cache lệnh khơng giảm miss hiệu 8KB cache liệu có hệ số miss nhỏ 4% 256KB cache liệu có hệ số miss nhỏ 3% nhƣ vậy, tăng kích thƣớc cache liệu lên 32 lần, hệ số miss giảm 25% Trên thực tế, xu hƣớng chung mong muốn kích thƣớc cache lớn giới hạn cho phép giá thành Với kích thƣớc lớn, tăng đƣợc số dòng nhớ lƣu cache nhờ giảm tần suất tráo đổi dòng cache chƣơng trình khác với nhớ Đồng thời, cache lớn hỗ trợ đa nhiệm, xử lý song song hệ thống CPU nhiều nhân tốt khơng gian cache lớn có khả chứa đồng thời thơng tin nhiều chƣơng trình Nhƣợc điểm cache lớn chậm, có khơng gian tìm kiếm lớn cache nhỏ Vấn đề chia tách cache Cache đƣợc tách thành cache lệnh (I-Cache) cache liệu (D-Cache) để cải thiện hiệu năng, do: Dữ liệu lệnh có tính lân cận khác nhau; Dữ liệu thƣờng có tính lân cận thời gian cao lân cận khơng gian; lệnh có tính lân cận không gian cao lân cận thời gian; Cache lệnh cần hỗ trợ thao tác đọc; cache liệu cần hỗ trợ thao tác đọc 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ớ, nhờ giảm xung đột tài nguyên cho CPU pipeline Vấn đề tạo cache nhiều mức 54 Chương 4- Bộ nhớ Khi cache đƣợc chia thành nhiều mức với kích thƣớc tăng dần tốc độ truy nhập giảm dần giúp cải thiện đƣợc hiệu hệ thống hệ thống cache nhiều mức có khả dung hồ tốt tốc độ CPU với tốc độ nhớ Ví dụ: xem xét hệ thống nhớ có số mức cache khác nhau: hệ thống mức cache (L1, L2 L3) hệ thống mức cache (L1) Giả thiết CPU có thời gian truy nhập 1ns, mức cache L1, L2, L3 có thời gian truy nhập lần lƣợt 5ns, 15ns 30ns Bộ nhớ có thời gian truy nhập 60ns CPU L1 L2 L3 Cache mức: 1ns 5ns 15ns 30ns Cache mức: 1ns 5ns Bộ nhớ 60ns 60ns Có thể thấy hệ thống nhớ với nhiều mức cache có khả dung hồ tốc độ thành phần tốt có thời gian truy nhập trung bình hệ thống nhớ thấp Trên thực tế, đa số cache đƣợc tổ chức thành mức: L1 L2 Một số cache có mức: L1, L2 L3 Ngồi ra, nhiều mức cache giúp giảm giá thành hệ thống nhớ 4.4.7 Các phƣơng pháp giảm miss cho cache 4.4.7.1 Các loại miss cache Một hệ thống nhớ với cache tốt cần đạt đƣợc yếu tố: (1) hệ số hit cao, (2) hệ số miss thấp (3) xảy miss khơng q chậm Để có giải pháp giảm miss hiệu quả, ta cần phân biệt rõ loại miss Cụ thể, tồn ba loại miss chính: miss bắt buộc (Compulsory misses), miss dung lượng (Capacity misses) miss xung đột (Conflict misses) Miss bắt buộc thƣờng xảy thời điểm chƣơng trình đƣợc kích hoạt, mã chƣơng trình đƣợc tải vào nhớ chƣa đƣợc nạp vao cache Miss dung lƣợng lại thƣờng xảy kích thƣớc cache hạn chế, đặc biệt môi trƣờng đa nhiệm Do kích thƣớc cache nhỏ nên mã chƣơng trình thƣờng xuyên bị tráo đổi nhớ cache Theo khía cạnh khác, miss xung đột xảy có nhiều dịng nhớ cạnh tranh dòng cache 4.4.7.2 Các phương pháp giảm miss cho cache Trên sở loại miss đƣợc đề cập, hai phƣơng pháp giảm miss phối hợp áp dụng nhằm đạt hiểu giảm miss tối đa, gồm: tăng kích thước dịng cache tăng mức độ liên kết cache Biện pháp tăng kích thƣớc dịng cache giúp giảm miss bắt buộc dịng có kích thƣớc lớn có khả bao phủ mục tin lân cận tốt Tuy nhiên, biện pháp làm tăng miss xung đột, dòng kích thƣớc lớn làm giảm số dịng cache, dẫn đến tăng mức độ cạnh tranh dòng nhớ đến dịng cache Ngồi ra, dịng kích thƣớc lớn gây lãng phí dung lƣợng cache có nhiều phần dịng cache lớn khơng đƣợc sử dụng Hiện nay, kích thƣớc dịng cache thƣờng dùng 64 bytes Biện pháp tăng mức độ liên kết cache hay tăng số đƣờng cache giúp giảm miss xung đột, tăng số đƣờng cache làm tăng tính mềm dẻo ánh xạ trang nhớ đến đƣờng cache có nhiều lựa chọn Tuy nhiên, tăng số đƣờng cache lớn, làm cache chậm tăng khơng giam tìm kiếm đƣờng cache Hiện nay, số đƣờng cache hợp lý cho miss tối ƣu thƣờng dùng khoảng đƣờng 55 Chương 4- Bộ nhớ 4.5 CÂU HỎI ÔN TẬP Hệ thống nhớ phân cấp: đặc điểm, vai trị ROM gì? loại ROM RAM, SRAM, DRAM gì? Cấu tạo SRAM DRAM Bộ nhớ cache: Cache gì? vai trị ngun lý hoạt động Kiến trúc cache Tổ chức/ánh xạ cache Đọc ghi thơng tin cache Các sách thay dòng cache Hiệu cache yếu tố ảnh hƣởng Các biện pháp giam miss cho cache 56 ... a1 = an *10 n-1an -1* 10n-2* *a1 *10 0 Ví dụ: 12 3 = 1* 102 + * 10 1 + 3 *10 0 = 10 0 + 20 + 12 3,456 = 1* 102 + * 10 1 + 3 *10 0 + 4 *10 -1 + 5 *10 -2 + 6 *10 -3 = 10 0 + 20 + + 0.4 + 0.05 + 0.006 10 Chương 1- Giới... 1. 4 KIẾN TRÚC MÁY TÍNH VON-NEUMANN 1. 4 .1 Sơ đồ kiến trúc máy tính von-Neumann 1. 4.2 Các đặc điểm kiến trúc von-Neumann 1. 5 KIẾN TRÚC MÁY TÍNH HARVARD 10 1. 6... chƣơng: Chƣơng phần giới thiệu khái niệm sở kiến trúc máy tính, nhƣ khái kiệm kiến trúc tổ chức máy tính; cấu trúc chức thành phần máy tính; kiến trúc máy tính von-Neumann kiến trúc Harvard Khái