Bài giảng Kiến trúc máy tính - Chương 4: Bộ nhớ cache cung cấp cho người học các kiến thức: Tổng quan về bộ nhớ máy tính, nguyên lý của bộ nhớ cache, các thành phần trong thiết kế bộ nhớ cache,... Mời các bạn cùng tham khảo nội dung chi tiết.
Chương Bộ nhớ cache 4.1 Tổng quan nhớ máy tính 4.2 Nguyên lý nhớ cache 4.3 Các thành phần thiết kế nhớ cache 4.4 Tổ chức cache Pentium 4.5 Tổ chức cache ARM Một số khái niệm • Từ (word): đơn vị “tự nhiên” nhớ Kích thước từ thường số bit biểu diễn số nguyên kích thước lệnh Intel x86 có kích thước từ 32b • Đơn vị đánh địa chỉ: hệ thống khác nhau, đơn vị đánh địa byte word Trong trường hợp nào, mối quan hệ số lượng đơn vị đánh địa N số bit địa A 𝐴 = 𝑁 • Đơn vị truyền: • Với nhớ chính, đơn vị truyền số lượng bit gửi đến từ nhớ • Với nhớ ngoài, đơn vị truyền thường lớn nhiều, thường gọi khối (block) Ví dụ VXL Intel x86-32b, kết nối bus (32 đường địa chỉ, 16 đường liệu) với nhớ tổ chức dạng ngăn nhớ 16b Hãy cho biết: a Kích thước word BN b Dung lượng tối đa nhớ mà VXL quản lý c Đơn vị truyền BN Để thực lệnh: cộng số (trong nhớ) ghi kết vào ngăn nhớ khác VXL phải thực thao tác đọc, ghi BN 4.1 Tổng quan nhớ máy tính Phân loại nhớ máy tính Vị trí Bên (vd: ghi, cache, nhớ Bên ngồi (vd: đĩa quang, đĩa từ, băng từ) Dung lượng Số lượng từ Số lượng byte Đơn vị truyền Từ Khối Phương pháp truy cập Tuần tự Trực tiếp Ngẫu nhiên Kết hợp Hiệu suất Thời gian truy cập Chu kỳ xung nhịp Tốc độ truyền tải Loại vật lý Bán dẫn Từ Quang học Quang từ Tính chất vật lý Điện động/điện tĩnh (Dữ liệu có bị mất điện) Có thể xóa/khơng xóa Tổ chức Module nhớ Phân loại nhớ a Vị trí • Bộ nhớ ngồi máy tính • Bộ nhớ nhớ • Bộ xử lý cần có nhớ cục riêng nó: ghi • Cache dạng khác nhớ • Bộ nhớ ngồi bao gồm thiết bị lưu trữ ngoại vi truy cập vào xử lý thông qua điều khiển I/O b Dung lượng • Bộ nhớ thường biểu diễn dạng byte c Đơn vị truyền • Đối với nhớ trong, đơn vị truyền số lượng đường điện vào khỏi module nhớ Phân loại nhớ (tiếp) d Phương pháp truy cập khối liệu Truy cập Truy cập trực tiếp • Bộ nhớ tổ chức thành đơn vị liệu gọi ghi (record) • Có chế đọc-ghi chia sẻ • Thời gian truy cập biến đổi • Thời gian truy cập biến đổi • Ví dụ: băng từ • Ví dụ: đĩa từ • Mỗi khối ghi có địa • Truy cập dựa vị trí vật thực lý Truy cập ngẫu nhiên • Mỗi vị trí nhớ có chế định địa riêng Kết hợp • Một word truy xuất dựa phần nội dung thay địa • Thời gian truy cập vào vị trí định khơng đổi phụ thuộc • Mỗi vị trí có vào chuỗi truy cập chế định địa trước riêng Thời gian truy xuất khơng đổi, • Một vị trí có phụ thuộc vào vị trí thể chọn ngẫu truy cập nhiên, định địa trước truy cập trực tiếp • Ví dụ: nhớ số nhớ cache • Bộ nhớ Cache sử dụng truy cập kết hợp e Hiệu Hai đặc điểm quan trọng nhớ: dung lượng hiệu Ba tham số hiệu sử dụng: Thời gian truy cập (độ trễ) • Đối với nhớ truy cập ngẫu nhiên, thời gian cần để thực thao tác đọc ghi • Đối với nhớ truy cập khơng ngẫu nhiên, thời gian cần để đặt chế đọc-ghi vào vị trí mong muốn Chu kỳ nhớ • Với nhớ truy cập ngẫu nhiên: Thời gian truy cập cộng với thời gian cần trước truy cập thứ hai bắt đầu • Có thể cần thêm thời gian để transients chết đường tín hiệu để khơi phục lại liệu bị hỏng • Liên quan đến hệ thống bus, không liên quan xử lý Tốc độ truyền tải • Tốc độ truyền liệu vào khỏi nhớ • Đối với nhớ truy cập ngẫu nhiên, tốc độ truyền tải 1/(chu kỳ) f Đặc tính vật lý nhớ - Các dạng phổ biến là: Bộ nhớ bán dẫn, Bộ nhớ bề mặt từ, Bộ nhớ quang, Bộ nhớ quang từ - Một số đặc điểm vật lý quan trọng: Đặc điểm lưu trữ liệu • Bộ nhớ điện động (Volatile memory): thông tin bị suy yếu bị nguồn điện tắt VD: RAM, Cache • Bộ nhớ điện tĩnh (Non-volatile memory): thông tin ghi khơng bị trừ cố tình thay đổi kể khơng có nguồn cung cấp VD: ROM, USB, HDD,… Cơng nghệ sản xuất: • Bộ nhớ bề mặt từ (Magnetic-surface memories): HDD, Tape • Bộ nhớ bán dẫn (Semiconductor memory): RAM, ROM, Cache,… • Bộ nhớ khơng xố (Nonerasable memory): Khơng thể thay đổi, trừ phá hủy khối lưu trữ VD: ROM g Tổ chức nhớ: mơ hình phân cấp nhớ • Thiết kế nhớ máy tính cần trả lời ba câu hỏi: • How much? How fast? How expensive? • Cần có cân đối dung lượng, thời gian truy cập chi phí • Thời gian truy cập nhanh hơn, chi phí lớn cho bit • Dung lượng lớn hơn, chi phí nhỏ cho bit • Dung lượng lớn hơn, thời gian truy cập chậm • Giải pháp: • Khơng dựa hồn tồn vào thành phần cơng nghệ nhớ • Sử dụng hệ thống phân cấp nhớ Bộ nhớ phân cấp - Sơ đồ • Chi phí bit giảm • Dung lượng tăng • Thời gian truy cập tăng • Tần suất truy cập nhớ VXL giảm thuật toán thay phổ biến • Least recently used (LRU) • Hiệu • Thay khối nằm cache lâu mà khơng có tham chiếu đến • Do triển khai đơn giản, LRU thuật toán thay phổ biến • First-in-first-out (FIFO) • Thay khối nằm cache lâu • Dễ dàng thực kỹ thuật vòng đệm round-robin • Least frequently used (LFU) • Thay khối có tham chiếu đến • Ở line thêm vào đếm, có tham chiếu đến line nào, đếm line tăng thêm đơn vị • Ngẫu nhiên • Có thể thay khối • Các nghiên cứu ra: thay ngẫu nhiên làm giảm hiệu suất hệ thống chút so với thuật tốn thay e Chính sách ghi Khi khối cache thay thế, có trường hợp cần xem xét: • Nếu liệu cache khơng thay đổi, ghi đè khối lên mà khơng cần ghi khối cũ trước • Nếu thao tác ghi thực word đường cache nhớ phải cập nhật cách ghi liệu từ cache nhớ trước đưa khối vào Có hai vấn đề phải đối mặt: • Nhiều thiết bị có quyền truy cập vào nhớ • Trong trường hợp VXL đa nhân: nhiều cache tương ứng với nhân gây khó khăn việc quản lý liệu Có hai sách ghi: write though write back Write Through Write Back • Write through: VXL gửi lệnh ghi liệu nhớ, liệu ghi đồng thời cache BN • Kỹ thuật đơn giản • Tất thao tác ghi thực cho nhớ cache • Nhược điểm: tạo lưu lượng nhớ đáng kể tạo nút cổ chai • Write back: VXL gửi lệnh ghi, liệu cập nhật cache, sử dụng bit (gọi dirty bit) thiết lập giá trị để đánh dấu liệu bị thay đổi Việc cập nhật liệu lên BNC xảy thay khối vào cache • Giảm thao tác ghi nhớ • Dữ liệu BNC khơng có hiệu lực Cơ chế DMA bắt buộc phải thực hiệu qua cache • Nhược điểm: mạch phức tạp khả có nút cổ chai f Kích thước Line • Khi khối liệu lấy đặt cache, thu khơng word mong muốn mà cịn số word liền kề • Khi kích thước khối tăng, ban đầu tỷ lệ truy cập tăng nguyên tắc cục liệu hữu ích (dữ liệu có khả lớn truy cập câu lệnh tiếp theo) đưa vào cache • Tuy nhiên, kích thước khối lớn, tỷ lệ giảm do: 1, Các khối lớn làm giảm số lượng đường cache 2, Khi kích thước khối lớn, word thêm vào lại xa word yêu cầu có khả truy xuất g Cache nhiều cấp • Với hệ thống ngày nay, người ta thường sử dụng nhiều cache kiến trúc • Cache chip (cache on chip) làm giảm hoạt động bus xử lý; tăng tốc thời gian xử lý tăng hiệu tồn hệ thống • Khi lệnh liệu tìm thấy cache khơng cần truy cập bus • Truy cập nhớ cache chip nhanh đáng kể • Trong giai đoạn này, bus tự hỗ trợ lượt truyền khác • Cache cấp (cache level) : sử dụng cache on chip (cache L1) cache bên ngồi (cache L2) • Cải thiện hiệu suất • Việc sử dụng cache nhiều cấp làm cho vấn đề thiết kế liên quan đến cache phức tạp hơn, gồm kích thước, thuật tốn thay thế, sách ghi Tỉ lệ truy cập (L1 & L2) cho Kbyte 16 Kbyte L1 Cache thống / cache phân chia • Cache thống nhất: lệnh liệu lưu cache • Ưu điểm: Tốc độ truy cập cao • Tự động cân việc nạp liệu lệnh • Chỉ cần thiết kế thực nhớ cache • Cache phân chia: lệnh liệu lưu hai cache khác nhau, thường cache L1 • Ưu điểm:Loại bỏ cạnh tranh cache khối tìm nạp/giải mã lệnh khối thực • Xu hướng: cache phân chia L1 cache thống level cao 4.4.Tổ chức Cache Pentium Bảng 4.4 Intel Cache Evolution Sơ đồ khối Pentium Các chế độ hoạt động Cache Pentium Note: CD = 0; NW = kết hợp không hợp lệ 4.5 Tổ chức cache ARM Đặc tính Cache ARM ARM Cache tổ chức đệm ghi Tổng kết Chương 4: Bộ nhớ Cache • Đặc điểm hệ thống nhớ • Vị trí • Dung lượng • Đơn vị truyền • Bộ nhớ phân cấp • How much? • How fast? • How expensive? • Nguyên lý nhớ Cache • Các yếu tố thiết kế cache • • • • • • • Địa nhớ cache Kích thước nhớ cache Ánh xạ nhớ Thuật tốn thay Chính sách ghi Kích thước line Cache nhiều cấp • Tổ chức cache Pentium • Tổ chức cache ARM Từ khóa • Cache: nhớ cache • Cache hit: việc truy cập thành cơng vào nhớ cache • Cache miss: truy cập BN cache khơng thành cơng • Hit ratio: tỷ lệ truy cập BN cache • Cache mapping: ánh xạ BN cache • Write policy: sách ghi • Cache L1, L2, L3: BN cache level 1, 2,3 • Line: đường cache • Block: khối • Set: tập Review questions Sự khác truy cập tuần tự, trực tiếp ngẫu nhiên gì? Nêu mối quan hệ thời gian truy cập, giá thành dung lượng nhớ Sự khác ánh xạ trực tiếp, kết hợp tập kết hợp gì? Khái niệm cache phân chia cache thống Ứng dụng? Các yếu tố thiết kế cache Write though write back khác nào? Kỹ thuật giảm số lần truy cập bus hệ thống nhiều hơn? Trình bày kỹ thuật thay Kích thước đường có ảnh hưởng đến hiệu suất cache (cache hit)? Dung lượng BN cache có ảnh hưởng đến hiệu suất cache (cache hit)? ... dựa