kien truc may tinh

53 8 0
kien truc may tinh

Đ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

Nội dung Tag thẻ nhớ cho biết Block nào của bộ nhớ chính hiện đang được chứa ở Line đó chứ không phải số thứ tự của Line đó trong Cache... Các phương pháp ánh xạ 30.[r]

(1)KIẾN TRÚC MÁY TÍNH & HỢP NGỮ 10 – Bộ nhớ (2) Tổng quan nhớ  Từ trái sang phải:  Dung lượng tăng dần  Tốc độ giảm dần  Giá thành trên bit giảm dần Bộ nhớ (3) (4) Ví dụ (5) Phân loại   Phương pháp truy cập  Tuần tự (băng từ)  Trực tiếp (các loại đĩa)  Ngẫu nhiên (bộ nhớ bán dẫn RAM, ROM)  Liên kết (cache) Kiểu vật lý  Bộ nhớ bán dẫn (cache, ghi, RAM, ROM)  Bộ nhớ từ (HDD, FDD)  Bộ nhớ quang (CD-ROM, DVD) (6) Bộ nhớ ngoài  Một số nhớ ngoài thông dụng:  Băng từ (Magnetic tape)  Đĩa từ (Magnetic disk)  Đĩa quang (Optical disk)  Flash disk (7) Băng từ (8) Đĩa từ: Đĩa mềm (9) Đĩa từ: Đĩa cứng (10) Đĩa quang: CD 10 (11) Đĩa quang: DVD 11  Digital Video Disk: dùng trên ổ đĩa xem video  Ghi mặt, mặt có (single layer) lớp (double layer)  Thông dụng: 4.7 GB/lớp (12) HD-DVD & Blue-ray Disc 12 (13) Flash disk 13 (14) Memory card 14 (15) Hệ thống nhớ lưu trữ lớn: RAID 15  Redundant Array of Inexpensive (Independent) Disks  Tập các đĩa cứng vật lý OS xem ổ logic có dung lượng lớn  Dữ liệu lưu trữ phân tán trên các ổ đĩa vật lý  truy cập song song (nhanh)  Có thể sử dụng dung lượng dư thừa để lưu trữ các thông tin kiểm tra chẵn lẻ, cho phép khôi phục lại thông tin đĩa bị hỏng  an toàn thông tin  Có loại phổ biến (RAID – 6) (16) RAID 0, 1, 16 (17) RAID 3, 17 (18) RAID 5, 18 (19) Ánh xạ liệu RAID 19 (20) Bộ nhớ 20  Bộ nhớ chính  Tồn dạng các module nhớ DRAM (Dynamic Random Access Memory)  Bộ nhớ đệm  Tích hợp trên chip CPU  Sử dụng công nghệ lưu trữ SRAM (Static Random Access Memory) (21) Phân loại RAM 21 SRAM (Static RAM) DRAM (Dynamic RAM) - Các bit lưu trữ các Flip- - Các bit lưu trữ trên tụ điện  Flop  Thông tin ổn định Cần phải có mạch refresh - Cấu trúc phức tạp - Cấu trúc đơn giản - Dung lượng chip nhỏ - Dung lượng lớn - Tốc độ nhanh - Tốc độ chậm - Đắt tiền - Rẻ tiền - Dùng làm nhớ Cache - Dùng làm nhớ chính (22) Bộ nhớ chính 22  Chứa các chương trình thực và các liệu thao tác  Tồn trên hệ thống máy tính  Bao gồm các ngăn nhớ đánh địa trực tiếp CPU  Dung lượng nhớ chính < Không gian địa nhớ mà CPU quản lý  Sử dụng công nghệ lưu trữ DRAM (23) Phân loại DRAM 23  SIMM (Single Inline Memory Module): Cũ, chậm  DIMM (Dual Inline Memory Module): Phổ biến  RIMM (Rhombus Inline Memory Module): Mới, nhanh (24) Bộ nhớ đệm 24  Là loại nhớ trung gian CPU và nhớ chính, có tác dụng làm giảm thời gian truy xuất nhớ RAM (25) Bộ nhớ đệm 25  Khi cần đọc ô nhớ từ nhớ:  Kiểm tra xem có cache chưa?  Nếu chưa có (cache miss): chép ô nhớ đó và số ô nhớ lân cận từ nhớ chính vào cache  Nếu đã có (cache hit): đọc từ cache, không cần truy xuất nhớ chính  Cache là copy phần nhớ chính  Cache (dùng công nghệ SRAM) có tốc độ truy xuất cao so với nhớ chính (dùng công nghệ DRAM) (26) Hai nguyên lý sở truy xuất 26  Temporal locality (Cục thời gian)  Nếu ô nhớ dùng đến thời điểm tại, nó dễ có khả dùng đến lần tương lai gần  Spatial locality (Cục không gian)  Nếu ô nhớ dùng đến thời điểm tại, ô lân cận dễ có khả dùng đến (27) Các vấn đề đặt 27  Khi cần truy xuất ô nhớ, làm biết ô nhớ đó đã có cache hay chưa? Nếu đã có thì chỗ nào cache?  Những ô nhớ nào lựa chọn để đưa vào cache? Việc lựa chọn xảy nào? (28) 28 (29) Ý nghĩa 29  Bộ nhớ chính có 2n byte nhớ, đánh số từ  2n –  Bộ nhớ chính và Cache chia thành thành các khối có kích thước   Block nhớ chính = Line cache Một số Block nhớ chính nạp vào các Line cache  Nội dung Tag (thẻ nhớ) cho biết Block nào nhớ chính chứa Line đó (chứ không phải số thứ tự Line đó Cache) (30) Các phương pháp ánh xạ 30  Direct mapping (ánh xạ trực tiếp)  Associative mapping (ánh xạ liên kết toàn phần)  Set associative mapping (ánh xạ liên kết tập hợp) (31) Direct mapping 31  Mỗi Block BNC có thể nạp vào Line cache:   B0  L0  B1  L1  …  Bm-1  Lm-1  Bm  L0  Bm+1  L1  … Tổng quát:  Bj có thể nạp vào Lj mod m  m là số Line cache (32) Direct mapping 32  Mỗi địa X nhớ chính gồm N bit chia thành trường:  Trường Word gồm W bit xác định kích thước từ nhớ (ô) Block = Line:  Kích thước Block / Line = 2W  Trường Line gồm L bit xác định địa Line cache  Số Line cache = L  Trường Tag gồm T bit  T = N – (W + L)  Xác định X có nằm Cache không (cache hit) hay nằm nhớ chính (cache miss) (33) Ví dụ 33  Không gian địa nhớ chính = GB  Dung lượng cache = 256 KB  Kích thước Line = Block = 32 byte  Xác định cụ thể số bit cho trường địa X (W, L, T) tổ chức theo kiểu direct mapping (34) Đáp án 34  Bộ nhớ chính = GB = 232 byte  N = 32 bit  Cache = 256 KB = 218 byte  Ta có thể dùng 18 bit để đánh địa từ nhớ (ô) Cache  Line (bao gồm nhiều từ nhớ) = 32 byte = 25 byte  W = bit (Dùng bit để đánh địa nội các từ nhớ (ô) Line)  Số Line cache = 218 / 25 = 213 Line  L = 13 bit (Dùng 13 bit để đánh địa Line Cache)  Tag = T = N – (L + W) = 32 – (13 + 5) = 14 bit (35) Nhận xét 35  Ta có thể suy tổng số Block nhớ chính = Kích thước nhớ chính / Kích thước block = 232 / 25 = 227  Dùng 27 bit để đánh địa Block (= 14 + 13)  Giả sử ta có Block thứ M (27 bit, giá trị từ  227 1) muốn lưu vào cache thì lưu ở:  Line thứ: L = M % Số Line cache = M % 213 (13 bit)  Tag Line đó: T = M / Số Line cache = M / 213 (14 bit) (36) 36 (37) Đánh giá Direct mapping 37  Bộ so sánh đơn giản  Xác suất cache hit thấp  Giả sử muốn truy xuất đồng thời từ nhớ (ô) X Block thứ và ô thứ Y Block thứ 2L thì sao? (L: Tổng số Line Cache)  Bị xung đột thì ô này lưu Line thứ (0 % 2L = 2L % 2L = 0) (38) Associative mapping 38  Mỗi Block có thể nạp vào Line nào Cache  Địa nhớ chính bao gồm trường  Trường Word giống trường hợp Direct Mapping  Trường Tag dùng để xác định số thứ tự Block nhớ chính lưu Cache  Tag xác định Block nào nhớ chính nằm Line đó (39) Ví dụ 39  Không gian địa nhớ chính = GB  Kích thước Line = Block = 32 byte  Xác định cụ thể số bit cho trường địa X (W, T) tổ chức theo kiểu associative mapping (40) Đáp án 40  Bộ nhớ chính = GB = 232 byte  N = 32 bit  Line (bao gồm nhiều từ nhớ) = 32 byte = 25 byte  W = bit (Dùng bit để đánh địa nội các từ nhớ (ô) Line)  Tag = T = N – W = 32 – = 27 bit (41) Nhận xét 41  Ta có thể suy tổng số Block nhớ chính = Kích thước nhớ chính / Kích thước block = 232 / 25 = 227  Dùng 27 bit để đánh địa Block (= 14 + 13)  Giả sử ta có Block thứ M (27 bit, giá trị từ  227 - 1) muốn lưu vào cache thì lưu Line nào có Tag Line đó là:  T = M (27 bit) (42) 42 (43) Đánh giá Associative mapping 43  Để tìm Line chứa nội dung Block, cần dò tìm và so sánh với Tag tất các Line Cache  Mất nhiều thời gian  Xác suất cache hit cao  Cần so sánh phức tạp (44) Set associative mapping 44  Cache chia thành các Tập (Set)  Mỗi Set chứa số Line (2,4,8,16 Line)    Ví dụ: Line / Set  4-way associative mapping Ánh xạ theo nguyên tắc sau:  B0  S0  B1  S1  B2  S2  … Địa nhớ chính bao gồm trường  Trường Word xác định kích thước Block (= Line)  Trường Set xác định thứ tự Set Cache  Trường Tag dùng để xác định số thứ tự Block nhớ chính lưu Cache (45) Ví dụ 45  Không gian địa nhớ chính = GB  Dung lượng cache = 256 KB  Kích thước Line = Block = 32 byte  Xác định cụ thể số bit cho trường địa X (W, S, T) tổ chức theo kiểu 4-way associative mapping (46) Đáp án 46  Bộ nhớ chính = GB = 232 byte  N = 32 bit  Cache = 256 KB = 218 byte  Ta có thể dùng 18 bit để đánh địa từ nhớ (ô) Cache  Line (bao gồm nhiều từ nhớ) = 32 byte = 25 byte  W = bit (Dùng bit để đánh địa nội các từ nhớ (ô) Line)  Số Line cache = 218 / 25 = 213 Line  L = 13 bit (Dùng 13 bit để đánh địa Line Cache)  Một Set Cache có Line = 22 Line  Số Set Cache = 213 / 22 = 211 Set  S = 11 bit (Dùng 11 bit để địa các Set Cache)  Tag = T = N – (S+ W) = 32 – (11 + 5) = 16 bit (47) 47 (48) Các tham số ảnh hưởng hiệu suất Cache 48  Block size  Nhỏ quá: giảm tính lân cận (spatial locality)  Lớn quá: số lượng block cache ít, thời gian chuyển block vào cache lâu (miss penalty)  Cache size  Nhỏ quá: số lượng Block có thể lưu cache quá ít, làm tăng tỷ lệ cache miss  Lớn quá: tỷ lệ vùng nhớ thực cần thiết so với vùng nhớ lưu vào cache thấp, nghĩa là overhead (tổng chi phí) cao, tốc độ truy cập cache giảm (49) Thuật toán thay (Replacement Algorithm) 49  Khi cần chuyển Block vào Cache mà không tìm Line trống, phải bỏ Line nào ra?  Một số cách chọn:  Random: Thay ngẫu nhiên  FIFO (First In First Out): Thay Line nào nằm lâu Cache  LFU (Least Frequently Used): Thay Line nào Cache có số lần truy cập ít cùng khoảng thời gian  LRU (Least Recently Used): Thay Line nào Cache có thời gian lâu không tham chiếu đến  Tối ưu nhất: LRU (50) Write Policy 50  Nếu Line bị thay đổi Cache, nào thực thao tác ghi lên lại RAM ?   Write Through:  Write Back: Line này bị thay Nếu nhiều processor chia sẻ RAM, processor có cache riêng:  Bus watching with WT: loại bỏ Line bị thay đổi cache khác  Hardware transparency: tự động cập nhật các cache khác Line bị cache thay đổi  Noncacheable shared memory: phần nhớ dùng chung không đưa vào cache (51) Số lượng và Loại cache 51  Có thể sử dụng nhiều mức cache (gọi là level): L1, L2, L3…  Các cache mức thấp gọi có thể là on-chip, cache mức cao thường là off-chip và truy cập thông qua external bus bus dành riêng  Cache có thể dùng chung cho data và instruction riêng cho loại (52) Cache trên các xử lý Intel 52  80486: KB cache L1 trên chip (on-chip)  Pentium: có cache L1 trên chip   Cache lệnh: KB  Cache liệu: KB Pentium (2000): có level cache L1 và L2 trên chip   Cache L1:  cache, cache KB  Kích thước Line = 64 byte  4-way associative mapping Cache L2:  256 KB  Kích thước Line = 128 byte  8-way associative mapping (53) Sơ đồ nhớ Pentium 53 (54)

Ngày đăng: 07/06/2021, 18:20

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

Tài liệu liên quan