Bài giảng Kiến trúc máy tính - Chương 5: Tổ chức và cấu trúc bộ nhớ cung cấp cho người học các kiến thức: Các loại bộ nhớ, bộ nhớ đệm, ánh xạ trực tiếp, nhận xét về kích thước khối, thiết kế bộ nhớ hỗ trợ cache,... Mời các bạn cùng tham khảo nội dung chi tiết.
Computer Architecture Computer Science & Engineering Chương Tổ chức Cấu trúc nhớ BK TP.HCM CuuDuongThanCong.com https://fb.com/tailieudientucntt Các loại Bộ nhớ (Công nghệ) RAM tĩnh (SRAM) RAM động (DRAM) 5ms – 20ms, $0.20 – $2 per GB Bộ nhớ lý tưởng BK 50ns – 70ns, $20 – $75 per GB Đĩa từ (Magnetic disk) 0.5ns – 2.5ns, $2000 – $5000 per GB Thời gian truy xuất theo SRAM Dung lượng & Giá thành/GB theo đĩa TP.HCM 4/5/2019 CuuDuongThanCong.com Khoa Khoa học & Kỹ thuật Máy tính https://fb.com/tailieudientucntt Tính cục (Locality) Chương trình truy cập vùng nhỏ không gian nhớ Cục thời gian (Temporal Locality) Những phần tử vừa tham chiếu có xu hướng tham chiếu lại tương lai gần Ví dụ: lệnh vòng lặp, biến quy nạp Cục khơng gian (Spatial Locality) Những phần tử gần phần tử vừa tham chiếu có xu hướng tham chiếu lại tương lai gần Ví dụ: truy cập lệnh basic block, liệu mảng BK TP.HCM 4/5/2019 CuuDuongThanCong.com Khoa Khoa học & Kỹ thuật Máy tính https://fb.com/tailieudientucntt Tận dụng lợi cục Tổ chức phân tầng nhớ Lưu trữ thứ đĩa Chỉ nạp vào nhớ Chính (DRAM) phần sử dụng từ đĩa Chỉ nạp vào nhớ CACHE (SRAM) phần truy cập nhớ Bộ nhớ Cache nhớ mà CPU truy cập trực tiếp BK TP.HCM 4/5/2019 CuuDuongThanCong.com Khoa Khoa học & Kỹ thuật Máy tính https://fb.com/tailieudientucntt Các lớp tổ chức nhớ Khối (Block=aka line): Đơn vị chép Có thể gồm nhiều từ (words) Nếu liệu truy cập diện Trúng(hit): liệu cần truy xuất Tỷ lệ trúng (hit rate): hits/accesses Nếu liệu truy cập không diện Trật (miss): khối chứa liệu cần nạp từ lớp thấp Thời gian: giá phải trả để giải Tỷ lệ sai (miss rate): misses/accesses = (1 – hit ratio) BK TP.HCM 4/5/2019 CuuDuongThanCong.com Khoa Khoa học & Kỹ thuật Máy tính https://fb.com/tailieudientucntt Bộ nhớ đệm (Cache) Bộ nhớ Cache Trong cấu trúc lớp tổ chức hệ thống nhớ, Cache lớp trực tiếp với CPU Giả sử truy cập X1, …, Xn–1, Xn Làm biết liệu cần truy cập có Cache? Ở đâu? BK TP.HCM 4/5/2019 CuuDuongThanCong.com Khoa Khoa học & Kỹ thuật Máy tính https://fb.com/tailieudientucntt Ánh xạ trực tiếp Vị trí xác định qua địa Ánh xạ trực tiếp: Chỉ có lực chọn (Block address) modulo (#Blocks in cache) Chỉ số khối (#Blocks) lũy thừa Sử dụng bit thấp địa BK TP.HCM 4/5/2019 CuuDuongThanCong.com Khoa Khoa học & Kỹ thuật Máy tính https://fb.com/tailieudientucntt Nhãn (Tags) & Bit hợp lệ Làm biết khối tồn cache? Chứa địa khối liệu Thực tế, cần bit cao Gọi nhãn (tag) Nếu liệu khơng diện Valid bit: = diện, = không diện Khởi động ban đầu không diện (0) BK TP.HCM 4/5/2019 CuuDuongThanCong.com Khoa Khoa học & Kỹ thuật Máy tính https://fb.com/tailieudientucntt Ví dụ Cache BK 8-blocks, word/block, ánh xạ trực tiếp Trạng thái ban đầu Index V 000 N 001 N 010 N 011 N 100 N 101 N 110 N 111 N Tag Data TP.HCM 4/5/2019 CuuDuongThanCong.com Khoa Khoa học & Kỹ thuật Máy tính https://fb.com/tailieudientucntt Ví dụ (tt.) Word addr Binary addr Hit/miss Cache block 22 10 110 Miss 110 Index V 000 N 001 N 010 N 011 N 100 N 101 N 110 Y 111 N Tag Data 10 Mem[10110] BK TP.HCM 4/5/2019 CuuDuongThanCong.com Khoa Khoa học & Kỹ thuật Máy tính https://fb.com/tailieudientucntt 10 Cấu trúc phân tầng nhớ Nguyên tắc chung áp dụng cho tất tầng (lớp) cầu trúc phân tầng nhớ Các hoạt động tầng BK Sử dụng thuật ngữ “cache” Sắp đặt khối khối (Block placement) Tìm kiếm khối (Finding a block) Thay khối tường hợp miss Chính sách cập nhật (Write policy) TP.HCM 4/5/2019 CuuDuongThanCong.com Khoa Khoa học & Kỹ thuật Máy tính https://fb.com/tailieudientucntt 56 Sắp đặt khối Xác định hàm ánh xạ quan hệ Ánh xạ trực tiếp (1-way associative) Ánh xạ tệp n (n-way associative) Có n cách ánh xạ (1:n) Ánh xạ tồn phần (Fully associative) Chỉ có phương án 1:1 Bất trang Mối quan hệ cao: giảm lỗi trang Gia tăng phức tạp, giá thành & thời gian truy xuất BK TP.HCM 4/5/2019 CuuDuongThanCong.com Khoa Khoa học & Kỹ thuật Máy tính https://fb.com/tailieudientucntt 57 Tìm kiếm khối Cách ánh xạ (associativity) Phương pháp định vị (Location method) So sánh nhãn Trực tiếp Chỉ số (index) (Tag comparisons) Tệp quan hệ n (n-way) Tệp số (Set index), sau tìm thành phần tệp n Quan hệ tồn phần (Fully Associative) Tìm tồn (Search all entries) Ánh xạ tương ứng Full lookup table Caches phần cứng Bộ nhớ ảo BK Giảm thiểu so sánh giảm giá thành Full table lookup makes full associativity feasible Benefit in reduced miss rate TP.HCM 4/5/2019 CuuDuongThanCong.com Khoa Khoa học & Kỹ thuật Máy tính https://fb.com/tailieudientucntt 58 Thay khối (Replacement) Lựa chọn trang thay có lỗi trang Trang sử dụng (LRU) Ngẫu nhiên Tương đối phức tạp & phí tổn phần cứng mối quan hệ ánh xạ cao Gần với LRU, dễ thực Bộ nhớ ảo LRU xấp xỉ với hỗ trợ phần cứng BK TP.HCM 4/5/2019 CuuDuongThanCong.com Khoa Khoa học & Kỹ thuật Máy tính https://fb.com/tailieudientucntt 59 Phương thức cập nhật đĩa “Write-through” “Write-back” Chỉ cập nhật tầng Cập nhật tầng thấp có nhu cầu thay thê Cần lưu trữ nhiều trạng thái Bộ nhớ ảo BK Cập nhật tầng & Đơn giản việc thay thế, yêu cầu có write buffer Chỉ “write-back” khả thi với thời gian ghi đĩa TP.HCM 4/5/2019 CuuDuongThanCong.com Khoa Khoa học & Kỹ thuật Máy tính https://fb.com/tailieudientucntt 60 Nguồn gốc “Misses” Misses bắt buộc (lúc khởi động) Miss dung lượng (Capacity) Lần truy cập khối Do hạn chế dung lượng cache Một khối vừa thay lại bị truy cập sau Miss đụng độ (aka collision misses) Trong trường hợp cache quan hệ khơng tồn phần Tranh chấp khối tệp Sẽ không xảy cache quan hệ toàn phần vớii dung lượng tổng BK TP.HCM 4/5/2019 CuuDuongThanCong.com Khoa Khoa học & Kỹ thuật Máy tính https://fb.com/tailieudientucntt 61 Tối ưu thiết kế cache Thay đổi thiết kế Ảnh hưởng miss rate Tăng dung lượng cache Giảm capacity misses Có thể tăng thời gian truy xuất Tăng quan hệ Giảm conflict misses Tăng dung lượng khối Giảm compulsory misses Hiệu ứng ngược Có thể tăng thời gian truy xuất Tăng miss penalty For very large block size, may increase miss rate due to pollution BK TP.HCM 4/5/2019 CuuDuongThanCong.com Khoa Khoa học & Kỹ thuật Máy tính https://fb.com/tailieudientucntt 62 Hỗ trợ tập lệnh Chế độ người dùng & hệ thống Các lệnh đặc dụng (privileged instructions) có chế độ hệ thống Bẫy hệ thống có chuyển từ chế độ người dùng sang hệ thống Các tài nguyên vật lý truy cập với lệnh đặc dụng Kể bảng ánh xạ trang, đ/khiển ngắt quãng, Thanh ghi I/O BK TP.HCM 4/5/2019 CuuDuongThanCong.com Khoa Khoa học & Kỹ thuật Máy tính https://fb.com/tailieudientucntt 63 Điều khiển Cache Ví dụ đặc tính cache Ánh xạ trực tiếp, write-back, write allocate Kích thước khối: từ (words) = (16 bytes) Kích thước cache: 16 KB (1024 blocks) Địa 32-bit byte Valid bit & dirty bit cho khối Blocking cache CPU waits until access is complete 31 10 Tag Index Offset 18 bits 10 bits bits BK TP.HCM 4/5/2019 CuuDuongThanCong.com Khoa Khoa học & Kỹ thuật Máy tính https://fb.com/tailieudientucntt 64 Các tín hiệu giao tiếp CPU Read/Write Read/Write Valid Valid Address 32 Write Data 32 Read Data 32 Ready Cache Address 32 Write Data 128 Read Data 128 Memory Ready Multiple cycles per access BK TP.HCM 4/5/2019 CuuDuongThanCong.com Khoa Khoa học & Kỹ thuật Máy tính https://fb.com/tailieudientucntt 65 Cache nhiều cấp on chip Intel Nehalem 4-core processor BK Per core: 32KB L1 I-cache, 32KB L1 D-cache, 512KB L2 cache TP.HCM 4/5/2019 CuuDuongThanCong.com Khoa Khoa học & Kỹ thuật Máy tính https://fb.com/tailieudientucntt 66 Tổ chức TLB cache cấp Intel Nehalem AMD Opteron X4 Virtual addr 48 bits 48 bits Physical addr 44 bits 48 bits Page size 4KB, 2/4MB 4KB, 2/4MB L1 TLB (per core) L1 I-TLB: 128 entries for small pages, per thread (2 ) for large pages L1 D-TLB: 64 entries for small pages, 32 for large pages Both 4-way, LRU replacement L1 I-TLB: 48 entries L1 D-TLB: 48 entries Both fully associative, LRU replacement L2 TLB (per core) Single L2 TLB: 512 entries 4-way, LRU replacement L2 I-TLB: 512 entries L2 D-TLB: 512 entries Both 4-way, round-robin LRU TLB misses Handled in hardware Handled in hardware BK TP.HCM 4/5/2019 CuuDuongThanCong.com Khoa Khoa học & Kỹ thuật Máy tính https://fb.com/tailieudientucntt 67 Tổ chức Cache cấp Intel Nehalem AMD Opteron X4 L1 caches (per core) L1 I-cache: 32KB, 64-byte blocks, 4-way, approx LRU replacement, hit time n/a L1 D-cache: 32KB, 64-byte blocks, 8-way, approx LRU replacement, writeback/allocate, hit time n/a L1 I-cache: 32KB, 64-byte blocks, 2-way, LRU replacement, hit time cycles L1 D-cache: 32KB, 64-byte blocks, 2-way, LRU replacement, writeback/allocate, hit time cycles L2 unified cache (per core) 256KB, 64-byte blocks, 8-way, 512KB, 64-byte blocks, 16-way, approx LRU replacement, write- approx LRU replacement, writeback/allocate, hit time n/a back/allocate, hit time n/a L3 unified cache (shared) 8MB, 64-byte blocks, 16-way, replacement n/a, writeback/allocate, hit time n/a 2MB, 64-byte blocks, 32-way, replace block shared by fewest cores, write-back/allocate, hit time 32 cycles n/a: data not available BK TP.HCM 4/5/2019 CuuDuongThanCong.com Khoa Khoa học & Kỹ thuật Máy tính https://fb.com/tailieudientucntt 68 Hạn chế phí tổn Mis (Penalty) Trả “từ” yêu cầu trước tiên Xử lý Non-blocking miss Sau nạp tiếp phần lại khối Hit under miss: allow hits to proceed Mis under miss: allow multiple outstanding misses Nạp trước phần cứng: Lệnh & Dữ liệu Opteron X4: bank interleaved L1 D-cache Two concurrent accesses per cycle BK TP.HCM 4/5/2019 CuuDuongThanCong.com Khoa Khoa học & Kỹ thuật Máy tính https://fb.com/tailieudientucntt 69 Kết luận Bộ nhớ có tốc độ truy xuất nhanh Nhỏ ; Bộ nhớ có chứa dung lượng lớn Chậm Nguyên tắc cục BK Chương trình sử dụng phần nhỏ không gian nhớ Tổ chức nhớ theo kiến trúc tầng Mục tiêu mong muốn: nhanh lớn Cơ chế Caching giải vấn đề L1 cache disk L2 cache … DRAM (bộ nhớ) Thiết kế hệ thống nhớ quan trọng đa xử lý TP.HCM 4/5/2019 CuuDuongThanCong.com Khoa Khoa học & Kỹ thuật Máy tính https://fb.com/tailieudientucntt 70 ... (SRAM) RAM động (DRAM) 5ms – 20ms, $0.20 – $2 per GB Bộ nhớ lý tưởng BK 50 ns – 70ns, $20 – $ 75 per GB Đĩa từ (Magnetic disk) 0.5ns – 2.5ns, $2000 – $50 00 per GB Thời gian truy xuất... xuất 15 chu kỳ bus cho lần truy xuất DRAM chu kỳ bus để vận chuyển thơng tin Nếu khối có từ (words), 1-word-wide DRAM Miss penalty = + 4× 15 + 4×1 = 65 bus cycles Bandwidth = 16 bytes / 65 cycles... cycles = 0. 25 B/cycle BK TP.HCM 4 /5/ 2019 CuuDuongThanCong.com Khoa Khoa học & Kỹ thuật Máy tính https://fb.com/tailieudientucntt 24 Tăng băng thông Bộ nhớ 4-word wide memory 4-bank interleaved