Bài giảng Kiến trúc máy tính - Chương 7: Bộ nhớ máy tính - Nguyễn Kim Khánh

pdf 99 trang phuongnguyen 4090
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Kiến trúc máy tính - Chương 7: Bộ nhớ máy tính - Nguyễn Kim Khánh", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfbai_giang_kien_truc_may_tinh_chuong_7_bo_nho_may_tinh_nguyen.pdf

Nội dung text: Bài giảng Kiến trúc máy tính - Chương 7: Bộ nhớ máy tính - Nguyễn Kim Khánh

  1. NKK-HUT Kiến trúc máy tính Chương 7 BỘ NHỚ MÁY TÍNH Nguyễn Kim Khánh Trường Đại học Bách khoa Hà Nội 26 May 2012 IT3030 1
  2. NKK-HUT Nội dung học phần  Chương 1. Giới thiệu chung  Chương 2. Cơ bản về logic số  Chương 3. Hệ thống máy tính  Chương 4. Kiến trúc tập lệnh  Chương 5. Số học máy tính  Chương 6. Bộ xử lý  Chương 7. Bộ nhớ  Chương 8. Vào-ra  Chương 9. Kiến trúc máy tính tiên tiến 2626 May May 2012 2012 IT3030 2
  3. NKK-HUT Nội dung của chương 7 7.1. Tổng quan về hệ thống nhớ 7.2. Bộ nhớ bán dẫn 7.3. Bộ nhớ chính 7.4. Bộ nhớ cache 7.5. Bộ nhớ ngoài 7.6. Bộ nhớ ảo 7.7. Hệ thống nhớ trên máy tính cá nhân 26 May 2012 IT3030 3
  4. NKK-HUT 7.1. Tổng quan về hệ thống nhớ 1. Các đặc trưng của hệ thống nhớ  Vị trí  Bên trong CPU:  tập thanh ghi  Bộ nhớ trong:  bộ nhớ chính  bộ nhớ cache  Bộ nhớ ngoài: các thiết bị nhớ  Dung lượng  Độ dài từ nhớ (tính bằng bit)  Số lượng từ nhớ 26 May 2012 IT3030 4
  5. NKK-HUT Các đặc trưng của hệ thống nhớ (tiếp)  Đơn vị truyền  Từ nhớ  Khối nhớ  Phương pháp truy nhập  Truy nhập tuần tự (băng từ)  Truy nhập trực tiếp (các loại đĩa)  Truy nhập ngẫu nhiên (bộ nhớ bán dẫn)  Truy nhập liên kết (cache) 26 May 2012 IT3030 5
  6. NKK-HUT Các đặc trưng của hệ thống nhớ (tiếp)  Hiệu năng (performance)  Thời gian truy nhập  Chu kỳ nhớ  Tốc độ truyền  Kiểu vật lý  Bộ nhớ bán dẫn  Bộ nhớ từ  Bộ nhớ quang 26 May 2012 IT3030 6
  7. NKK-HUT Các đặc trưng của hệ thống nhớ (tiếp)  Các đặc tính vật lý  Khả biến / Không khả biến (volatile / nonvolatile)  Xoá được / không xoá được  Tổ chức 26 May 2012 IT3030 7
  8. NKK-HUT 2.1.2 2. Phân cấp hệ thống nhớ 26 May 2012 IT3030 8
  9. NKK-HUT Ví dụ hệ thống nhớ thông dụng Bé vi xö lý CPU Bé TËp Bé nhí nhí Bé nhí Bé nhí thanh Cache Cache chÝnh ngoµi ghi L2 L1 Bé nhí m¹ng Từ trái sang phải:  dung lượng tăng dần  tốc độ giảm dần  giá thành/1bit giảm dần 26 May 2012 IT3030 9
  10. NKK-HUT 3. Phát hiện và hiệu chỉnh lỗi trong bộ nhớ  Nguyên tắc chung: cần tạo ra và lưu trữ thêm thông tin dư thừa.  Từ dữ liệu cần ghi vào bộ nhớ: m bit  Cần tạo ra và lưu trữ từ mã: k bit Lưu trữ (m+k) bit  Khi đọc ra có các khả năng sau:  Không phát hiện thấy dữ liệu lỗi  Phát hiện thấy dữ liệu lỗi và có thể hiệu chỉnh dữ liệu thành đúng  Phát hiện thấy lỗi nhưng không có khả năng hiệu chỉnh cần phát ra tín hiệu báo lỗi. 26 May 2012 IT3030 10
  11. NKK-HUT Sơ đồ phát hiện và hiệu chỉnh lỗi Bé m bit D÷ liÖu ra m bit D÷ liÖu vµo m bit hiÖu chØnh vµ ®•a m bit k bit d÷ liÖu ra Bé Bé nhí Bé t¹o m· t¹o m· k Bé TÝn hiÖu b¸o lçi so s¸nh k bit m· k 26 May 2012 IT3030 11
  12. NKK-HUT Ví dụ mã sửa lỗi Hamming (m=4, k=3) 1 1 1 0 1 1 0 1 1 0 0 1 1 0 0 1 0 1 0 0 0 1 bit bÞ sai 26 May 2012 IT3030 12
  13. NKK-HUT 7.2. Bộ nhớ bán dẫn 1. Phân loại Kiểu bộ nhớ Tiêu Khả năng xoá Cơ chế ghi Tính chuẩn khả biến Read Only Memory Mặt nạ (ROM) Bộ nhớ Không xoá Programmable ROM chỉ đọc được (PROM) Erasable PROM bằng tia cực tím, Không (EPROM) Bộ nhớ cả chip khả biến hầu như Bằng điện Electrically Erasable bằng điện, chỉ đọc PROM (EEPROM) mức từng byte Flash memory bằng điện, Bộ nhớ từng khối Random Access đọc-ghi bằng điện, Khả biến Bằng điện Memory (RAM) mức từng byte 26 May 2012 IT3030 13
  14. NKK-HUT ROM (Read Only Memory)  Bộ nhớ không khả biến  Lưu trữ các thông tin sau:  Thư viện các chương trình con  Các chương trình điều khiển hệ thống (BIOS)  Các bảng chức năng  Vi chương trình 26 May 2012 IT3030 14
  15. NKK-HUT Các kiểu ROM  ROM mặt nạ:  thông tin được ghi khi sản xuất  rất đắt  PROM (Programmable ROM)  Cần thiết bị chuyên dụng để ghi bằng chương trình chỉ ghi được một lần  EPROM (Erasable PROM)  Cần thiết bị chuyên dụng để ghi bằng chương trình ghi được nhiều lần  Trước khi ghi lại, xóa bằng tia cực tím 26 May 2012 IT3030 15
  16. NKK-HUT Các kiểu ROM (tiếp)  EEPROM (Electrically Erasable PROM)  Có thể ghi theo từng byte  Xóa bằng điện  Flash memory (Bộ nhớ cực nhanh)  Ghi theo khối  Xóa bằng điện 26 May 2012 IT3030 16
  17. NKK-HUT RAM (Random Access Memory)  Bộ nhớ đọc-ghi (Read/Write Memory)  Khả biến  Lưu trữ thông tin tạm thời  Có hai loại: SRAM và DRAM (Static and Dynamic) 26 May 2012 IT3030 17
  18. NKK-HUT SRAM (Static) – RAM tĩnh  Các bit được lưu trữ bằng các Flip-Flop thông tin ổn định  Cấu trúc phức tạp  Dung lượng chip nhỏ  Tốc độ nhanh  Đắt tiền  Dùng làm bộ nhớ cache 26 May 2012 IT3030 18
  19. NKK-HUT DRAM (Dynamic) – RAM động  Các bit được lưu trữ trên tụ điện cần phải có mạch làm tươi  Cấu trúc đơn giản  Dung lượng lớn  Tốc độ chậm hơn  Rẻ tiền hơn  Dùng làm bộ nhớ chính 26 May 2012 IT3030 19
  20. NKK-HUT 2.1.2 Các DRAM tiên tiến  Enhanced DRAM  Cache DRAM  Synchronous DRAM (SDRAM): làm việc được đồng bộ bởi xung clock  DDR-SDRAM (Double Data Rate SDRAM)  Rambus DRAM (RDRAM) 26 May 2012 IT3030 20
  21. NKK-HUT 2. Tổ chức của chip nhớ . Sơ đồ cơ bản của chip nhớ A0 D0 A 1 D . 1 . Chip nhí . n . 2 x m bit . An-1 . Dm-1 CS WE OE 26 May 2012 IT3030 21
  22. NKK-HUT Các tín hiệu của chip nhớ n  Các đường địa chỉ: An-1  A0 có 2 từ nhớ  Các đường dữ liệu: Dm-1  D0 độ dài từ nhớ = m bit n  Dung lượng chip nhớ = 2 x m bit  Các đường điều khiển:  Tín hiệu chọn chip CS (Chip Select)  Tín hiệu điều khiển đọc OE (Output Enable)  Tín hiệu điều khiển ghi WE (Write Enable) (Các tín hiệu điều khiển thường tích cực với mức 0) 26 May 2012 IT3030 22
  23. NKK-HUT Tổ chức bộ nhớ một chiều Tõ nhí 0 Tõ nhí 1 A0 D0 Tõ nhí 2 A Bé . D 1 Bé 1 gi¶i A Ma trËn nhí ®Öm 2 m· . . . 2n x m bit d÷ . ®Þa liÖu . . chØ . . An-1 Dm-1 Tõ nhí 2n-1 §iÒu khiÓn vµ ®Þnh thêi gian CS WE OE 26 May 2012 IT3030 23
  24. NKK-HUT Tổ chức bộ nhớ hai chiều n2 bit Bé gi¶i m· ®Þa chØ cét . . . Hµng nhí Hµng nhí Bé m bit n1 bit gi¶i Bé m· . Ma trËn nhí ®Öm ®Þa . 2n1 hµng x (2n2cét x m bit) d÷ chØ liÖu hµng . Hµng nhí §iÒu khiÓn vµ ®Þnh thêi gian CE WE OE 26 May 2012 IT3030 24
  25. NKK-HUT Tổ chức bộ nhớ hai chiều  Có n đường địa chỉ: n = n1 + n2 n1  2 hàng, n2  mỗi hàng có 2 từ nhớ,  Có m đường dữ liệu:  mỗi từ nhớ có độ dài m-bit.  Dung lượng của chip nhớ: [2n1 x (2n2 x m)] bit = (2n1+n2 x m) bit = (2n x m) bit.  Hoạt động giải mã địa chỉ:  Bước 1: bộ giải mã hàng chọn 1 trong 2n1 hàng.  Bước 2: bộ giải mã cột chọn 1 trong 2n2 từ nhớ (cột) của hàng đã được chọn. 26 May 2012 IT3030 25
  26. NKK-HUT Tổ chức của DRAM n ®•êng d©y ®Þa chØ Chèt ®Þa chØ cét CAS Bé gi¶i m· ®Þa chØ cét Bé Chèt gi¶i Bé ®Þa m· Ma trËn nhí ®Öm m chØ ®Þa 2n hµng x (2ncét x m bit) d÷ hµng chØ liÖu hµng RAS . . . §iÒu khiÓn vµ ®Þnh thêi gian CE WE OE 26 May 2012 IT3030 26
  27. NKK-HUT Tổ chức của DRAM  Dùng n đường địa chỉ dồn kênh cho phép truyền 2n bit địa chỉ  Tín hiệu chọn địa chỉ hàng RAS (Row Address Select)  Tín hiệu chọn địa chỉ cột CAS (Column Address Select) 2n  Dung lượng của DRAM= 2 x m bit 26 May 2012 IT3030 27
  28. NKK-HUT Chip nhớ 26 May 2012 IT3030 28
  29. NKK-HUT 3. Thiết kế mô-đun nhớ bán dẫn n  Dung lượng chip nhớ 2 x m bit  Cần thiết kế để tăng dung lượng:  Thiết kế tăng độ dài từ nhớ  Thiết kế tăng số lượng từ nhớ  Thiết kế kết hợp 26 May 2012 IT3030 29
  30. NKK-HUT Tăng độ dài từ nhớ VD1:  Cho chip nhớ SRAM 4K x 4 bit  Thiết kế mô-đun nhớ 4K x 8 bit Giải: 12  Dung lượng chip nhớ = 2 x 4 bit  chip nhớ có:  12 chân địa chỉ  4 chân dữ liệu  mô-đun nhớ cần có:  12 chân địa chỉ  8 chân dữ liệu 26 May 2012 IT3030 30
  31. NKK-HUT Ví dụ tăng độ dài từ nhớ A11÷A0 A11÷A0 A11÷A0 D3÷ D0 D3÷ D0 D3÷ D0 D ÷ D CS CS 7 4 WE OE WE OE CS WE OE 26 May 2012 IT3030 31
  32. NKK-HUT Bài toán tăng độ dài từ nhớ tổng quát n  Cho chip nhớ 2 x mbit n  Thiết kế mô-đun nhớ 2 x (k.m) bit  Dùng k chip nhớ 26 May 2012 IT3030 32
  33. NKK-HUT Tăng số lượng từ nhớ VD2:  Cho chip nhớ SRAM 4K x 8 bit  Thiết kế mô-đun nhớ 8K x 8 bit Giải: 12  Dung lượng chip nhớ = 2 x 8 bit  chip nhớ có:  12 chân địa chỉ  8 chân dữ liệu 13  Dung lượng mô-đun nhớ = 2 x 8 bit  13 chân địa chỉ  8 chân dữ liệu 26 May 2012 IT3030 33
  34. NKK-HUT Tăng số lượng từ nhớ A11÷A0 A11÷A0 D7÷ D0 CS A12 WE OE A Y0 Bé D7÷ D0 gi¶i m· 1 2 G Y1 A11÷A0 D7÷ D0 G A Y0 Y1 CS 0 0 0 1 WE OE 0 1 1 0 1 x 1 1 WE OE 26 May 2012 IT3030 34
  35. NKK-HUT Bài tập 1. Tăng số lượng từ gấp 4 lần:  Cho chip nhớ SRAM 4K x 8 bit  Thiết kế mô-đun nhớ 16K x 8 bit 2. Tăng số lượng từ gấp 8 lần:  Cho chip nhớ SRAM 4K x 8 bit  Thiết kế mô-đun nhớ 32K x 8 bit 3. Thiết kế kết hợp:  Cho chip nhớ SRAM 4K x 4 bit  Thiết kế mô-đun nhớ 8K x 8 bit 26 May 2012 IT3030 35
  36. NKK-HUT Bộ giải mã 2 4 G B A Y0 Y1 Y2 Y3 A Y0 0 0 0 0 1 1 1 B Y1 Bé gi¶i m· 0 0 1 1 0 1 1 2 4 Y2 0 1 0 1 1 0 1 0 1 1 1 1 1 0 G Y3 1 x x 1 1 1 1 26 May 2012 IT3030 36
  37. NKK-HUT 7.3. Bộ nhớ chính 1. Các đặc trưng cơ bản  Chứa các chương trình đang thực hiện và các dữ liệu đang được sử dụng  Tồn tại trên mọi hệ thống máy tính  Bao gồm các ngăn nhớ được đánh địa chỉ trực tiếp bởi CPU  Dung lượng của bộ nhớ chính nhỏ hơn không gian địa chỉ bộ nhớ mà CPU quản lý.  Việc quản lý logic bộ nhớ chính tuỳ thuộc vào hệ điều hành 26 May 2012 IT3030 37
  38. NKK-HUT 2. Tổ chức bộ nhớ đan xen (interleaved memory)  Độ rộng của bus dữ liệu để trao đổi với bộ nhớ: m = 8, 16, 32, 64,128 bit  Các ngăn nhớ được tổ chức theo byte tổ chức bộ nhớ vật lý khác nhau 26 May 2012 IT3030 38
  39. NKK-HUT m=8bit một băng nhớ tuyến tính 0 1 2 3 4 5 6 . . . i AN-1 - A0 . . . D7 - D0 26 May 2012 IT3030 39
  40. NKK-HUT m = 16bit hai băng nhớ đan xen B¨ng 1 B¨ng 0 1 0 3 2 Bé t¹o BE0 A0 5 4 tÝn hiÖu B 7 6 chän 9 8 W byte BE1 . . . . . . 2i+1 2i AN-1 - A1 C¸c tÝn hiÖu chän byte . . . . . . BE1 BE0 Chän byte 0 0 Chän c¶ hai byte 0 1 Chän byte cao 1 0 Chän byte thÊp 1 1 kh«ng chän BE1 BE0 26 May 2012 IT3030D15 - D8 D7 - D0 40
  41. NKK-HUT m = 32bit bốn băng nhớ đan xen b¨ng 3 b¨ng 2 b¨ng 1 b¨ng 0 3 2 1 0 7 6 5 4 11 10 9 8 15 14 13 12 19 18 17 16 . . . . . . . . . . . . 4i+3 4i+2 4i+1 4i AN-1 - A2 . . . . . . . . . . . . A0 BE0 A1 Bé t¹o BE1 tÝn hiÖu B chän BE2 W byte BE3 DW BE3 BE2 BE1 BE0 D31-D24 D23-D16 D15 - D8 D7 - D0 26 May 2012 IT3030 41
  42. NKK-HUT m = 64bit tám băng nhớ đan xen b¨ng 7 b¨ng 1 b¨ng 0 7 1 0 15 9 8 23 17 16 . . . . . . . . . . . . 8i+7 8i+1 8i AN-1 - A3 . . . . . . . . . BE7 BE1 BE0 D63-D56 D15 - D8 D7 - D0 26 May 2012 IT3030 42
  43. NKK-HUT 7.4. Bộ nhớ đệm nhanh (cache memory) 1. Nguyên tắc chung của cache  Nguyên lý cục bộ hoá tham chiếu bộ nhớ: Trong một khoảng thời gian đủ nhỏ CPU thường chỉ tham chiếu các thông tin trong một khối nhớ cục bộ  Ví dụ:  Cấu trúc chương trình tuần tự  Vòng lặp có thân nhỏ  Cấu trúc dữ liệu mảng 26 May 2012 IT3030 43
  44. NKK-HUT Nguyên tắc chung của cache (tiếp)  Cache có tốc độ nhanh hơn bộ nhớ chính  Cache được đặt giữa CPU và bộ nhớ chính nhằm tăng tốc độ CPU truy cập bộ nhớ  Cache có thể được đặt trên chip CPU CPU cache Bé nhí chÝnh TruyÒn theo tõ nhí TruyÒn theo block nhí 26 May 2012 IT3030 44
  45. NKK-HUT 2.1.2 Lịch sử hình thành cache  Pentium, cache nằm trên mainboard  Pentium II, cache L1 nằm trên CPU, cache L2 nằm trên mainboard. Tốc độ truy xuất cache bằng ½ tốc độ CPU.  Pentium III Coppermine, cache L2 nằm trên chip. Tốc độ cache L2 bằng với tốc độ CPU. Cache L1 nằm trong core xử lý, on-chip Cache L2, L3 nằm ngoài core, nhưng on-chip. 26 May 2012 IT3030 45
  46. NKK-HUT 2.1.2 Hình ảnh về cache Intel Quad Core Intel Core i7 Intel Pentium 5 AMD Quad Core AMD Athlon Cache chiếm nhiều diện tích 26 May 2012 IT3030 46
  47. NKK-HUT Ví dụ về thao tác của cache  CPU yêu cầu nội dung của ngăn nhớ  CPU kiểm tra trên cache với dữ liệu này  Nếu có, CPU nhận dữ liệu từ cache (nhanh)  Nếu không có, đọc Block nhớ chứa dữ liệu từ bộ nhớ chính vào cache  Tiếp đó chuyển dữ liệu từ cache vào CPU 26 May 2012 IT3030 47
  48. NKK-HUT Cấu trúc chung của cache / bộ nhớ chính Bé nhí chÝnh Tag Cache B0 L0 B1 L1 B2 L2 B3 L CPU 3 . . . . . . Bj Li . . . . . . Lm-1 BP-1 26 May 2012 IT3030 48
  49. NKK-HUT Cấu trúc chung của cache / bộ nhớ chính (tiếp) N  Bộ nhớ chính có 2 byte nhớ  Bộ nhớ chính và cache được chia thành các khối có kích thước bằng nhau  Bộ nhớ chính: B0, B1, B2, , Bp-1 (p Blocks)  Bộ nhớ cache: L0, L1, L2, , Lm-1 (m Lines)  Kích thước của Block = 8,16,32,64,128 byte 26 May 2012 IT3030 49
  50. NKK-HUT Cấu trúc chung của cache / bộ nhớ chính (tiếp)  Một số Block của bộ nhớ chính được nạp vào các Line của cache.  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 đó.  Khi CPU truy nhập (đọc/ghi) một từ nhớ, có hai khả năng xảy ra:  Từ nhớ đó có trong cache (cache hit)  Từ nhớ đó không có trong cache (cache miss). 26 May 2012 IT3030 50
  51. NKK-HUT 2. Các phương pháp ánh xạ (Chính là các phương pháp tổ chức bộ nhớ cache)  Ánh xạ trực tiếp (Direct mapping)  Ánh xạ liên kết toàn phần (Fully associative mapping)  Ánh xạ liên kết tập hợp (Set associative mapping) 26 May 2012 IT3030 51
  52. NKK-HUT Ánh xạ trực tiếp  Mỗi Block của bộ nhớ chính chỉ có thể được nạp vào một Line của cache:  B0 L0  B1 L1   Bm-1 Lm-1  Bm L0  Bm+1 L1   Tổng quát  Bj chỉ có thể nạp vào L j mod m  m là số Line của cache. 26 May 2012 IT3030 52
  53. NKK-HUT Minh hoạ ánh xạ trực tiếp Tag Cache Bé nhí chÝnh N bit ®Þa chØ bé nhí L B Tag Line Word 0 0 T bit L bit W bit L1 B1 . . . . . . L X i B X j So s¸nh . . . . . . cache hit Lm-1 Bm-1 cache miss 26 May 2012 IT3030 53
  54. NKK-HUT Đặc điểm của ánh xạ trực tiếp  Mỗi một địa chỉ N bit của bộ nhớ chính gồm ba trường:  Trường Word gồm W bit xác định một từ nhớ trong Block hay Line: 2W = kích thước của Block hay Line  Trường Line gồm L bit xác định một trong số các Line trong cache: 2L = số Line trong cache = m  Trường Tag gồm T bit: T = N - (W+L)  Bộ so sánh đơn giản  Xác suất cache hit thấp 26 May 2012 IT3030 54
  55. NKK-HUT Ánh xạ liên kết toàn phần  Mỗi Block có thể nạp vào bất kỳ Line nào của cache.  Địa chỉ của bộ nhớ chính bao gồm hai trường:  Trường Word giống như trường hợp ở trên.  Trường Tag dùng để xác định Block của bộ nhớ chính.  Tag xác định Block đang nằm ở Line đó 26 May 2012 IT3030 55
  56. NKK-HUT Minh hoạ ánh xạ liên kết toàn phần Tag Cache Bé nhí chÝnh N bit ®Þa chØ bé nhí L B Tag Word 0 0 T bit W bit L1 B1 . . . . . . X L i B X j So s¸nh . . . . . . cache hit Lm-1 Bm-1 cache miss 26 May 2012 IT3030 56
  57. NKK-HUT Đặc điểm của ánh xạ liên kết toàn phần  So sánh đồng thời với tất cả các Tag mất nhiều thời gian  Xác suất cache hit cao.  Bộ so sánh phức tạp. 26 May 2012 IT3030 57
  58. NKK-HUT Ánh xạ liên kết tập hợp  Cache đươc chia thành các Tập (Set)  Mỗi một Set chứa một số Line  Ví dụ:  4 Line/Set 4-way associative mapping  Ánh xạ theo nguyên tắc sau:  B0 S0  B1 S1  B2 S2  26 May 2012 IT3030 58
  59. NKK-HUT Minh hoạ ánh xạ liên kết tập hợp Tag Cache Bé nhí chÝnh N bit ®Þa chØ bé nhí L0 B0 L1 B1 Tag Set Word S L2 0 B2 L3 B3 T bit S bit W bit L4 B4 L5 B5 S L6 1 L7 . . . . . . So s¸nh X X Sk . . . cache hit . . . Sv-1 cache miss 26 May 2012 IT3030 59
  60. NKK-HUT Đặc điểm của ánh xạ liên kết tập hợp W  Kích thước Block = 2 Word  Trường Set có S bit dùng để xác định một trong số V = 2S Set  Trường Tag có T bit: T = N - (W+S)  Tổng quát cho cả hai phương pháp trên  Thông thường 2,4,8,16Lines/Set 26 May 2012 IT3030 60
  61. NKK-HUT Ví dụ về ánh xạ địa chỉ  Không gian địa chỉ bộ nhớ chính = 4GB  Dung lượng bộ nhớ cache là 256KB  Kích thước Line (Block) = 32byte.  Xác định số bit của các trường địa chỉ cho ba trường hợp tổ chức:  Ánh xạ trực tiếp  Ánh xạ liên kết toàn phần  Ánh xạ liên kết tập hợp 4 đường 26 May 2012 IT3030 61
  62. NKK-HUT Với ánh xạ trực tiếp 32  Bộ nhớ chính = 4GB = 2 byte N = 32 bit 18  Cache = 256 KB = 2 byte. 5  Line = 32 byte = 2 byte W = 5 bit 18 5 13  Số Line trong cache = 2 / 2 = 2 Line L = 13 bit  T = 32 - (13 + 5) = 14 bit Tag Line Word 14 bit 13 bit 5 bit 26 May 2012 IT3030 62
  63. NKK-HUT Với ánh xạ liên kết toàn phần 32  Bộ nhớ chính = 4GB = 2 byte N = 32 bit 5  Line = 32 byte = 2 byte W = 5 bit  Số bit của trường Tag sẽ là: T = 32 - 5 = 27 bit Tag Word 27 bit 5 bit 26 May 2012 IT3030 63
  64. NKK-HUT Với ánh xạ liên kết tập hợp 4 đường 32  Bộ nhớ chính = 4GB = 2 byte N = 32 bit 5  Line = 32 byte = 2 byte W = 5 bit 18 5 13  Số Line trong cache = 2 / 2 = 2 Line 2  Một Set có 4 Line = 2 Line số Set trong cache = 213/ 22 = 211 Set S = 11 bit  Số bit của trường Tag sẽ là: T = 32 - (11 + 5) = 16 bit Tag Set Word 16 bit 11 bit 5 bit 26 May 2012 IT3030 64
  65. NKK-HUT Bài tập Giả thiết rằng máy tính có 128KB cache tổ chức theo kiểu ánh xạ liên kết tập hợp 4-line. Cache có tất cả là 1024 Set từ S0 đến S1023. Địa chỉ bộ nhớ chính là 32-bit và đánh địa chỉ cho từng byte. a) Tính số bit cho các trường địa chỉ khi truy nhập cache ? b) Xác định byte nhớ có địa chỉ 003D02AF(16) được ánh xạ vào Set nào của cache ? 26 May 2012 IT3030 65
  66. NKK-HUT 3. Thuật giải thay thế (1): Ánh xạ trực tiếp  Không phải lựa chọn  Mỗi Block chỉ ánh xạ vào một Line xác định  Thay thế Block ở Line đó 26 May 2012 IT3030 66
  67. NKK-HUT Thuật giải thay thế (2): Ánh xạ liên kết  Được thực hiện bằng phần cứng (nhanh)  Random: Thay thế ngẫu nhiên  FIFO (First In First Out): Thay thế Block nào nằm lâu nhất ở trong Set đó  LFU (Least Frequently Used): Thay thế Block nào trong Set có số lần truy nhập ít nhất trong cùng một khoảng thời gian  LRU (Least Recently Used): Thay thế Block ở trong Set tương ứng có thời gian lâu nhất không được tham chiếu tới.  Tối ưu nhất: LRU 26 May 2012 IT3030 67
  68. NKK-HUT 4. Phương pháp ghi dữ liệu khi cache hit  Ghi xuyên qua (Write-through):  ghi cả cache và cả bộ nhớ chính  tốc độ chậm  Ghi trả sau (Write-back):  chỉ ghi ra cache  tốc độ nhanh  khi Block trong cache bị thay thế cần phải ghi trả cả Block về bộ nhớ chính 26 May 2012 IT3030 68
  69. NKK-HUT 5. Cache trên các bộ xử lý Intel  80486: 8KB cache L1 trên chip  Pentium: có hai cache L1 trên chip  Cache lệnh = 8KB  Cache dữ liệu = 8KB  Pentium 4 (2000): hai mức cache L1 và L2 trên chip  Cache L1:  mỗi cache 8KB  Kích thước Line = 64 byte  ánh xạ liên kết tập hợp 4 đường  cache L2  256KB  Kích thước Line = 128 byte  ánh xạ liên kết tập hợp 8 đường 26 May 2012 IT3030 69
  70. NKK-HUT Sơ đồ Pentium 4 26 May 2012 IT3030 70
  71. NKK-HUT PowerPC G4 (dùng cho Power Mac) 26 May 2012 IT3030 71
  72. NKK-HUT 7.5. Bộ nhớ ngoài 1. Các kiểu bộ nhớ ngoài  Băng từ  Đĩa từ  Đĩa quang  Bộ nhớ Flash 26 May 2012 IT3030 72
  73. NKK-HUT 2. Đĩa từ 26 May 2012 IT3030 73
  74. NKK-HUT Các đặc tính đĩa từ  Đầu từ cố định hay đầu từ di động  Đĩa cố định hay thay đổi  Một mặt hay hai mặt  Một đĩa hay nhiều đĩa  Cơ chế đầu từ  Tiếp xúc (đĩa mềm)  Không tiếp xúc 26 May 2012 IT3030 74
  75. NKK-HUT Nhiều đĩa 26 May 2012 IT3030 75
  76. NKK-HUT Cylinders 26 May 2012 IT3030 76
  77. NKK-HUT Đĩa mềm  8”, 5.25”, 3.5”  Dung lượng nhỏ: chỉ tới 1.44Mbyte  Tốc độ chậm  Hiện nay không sản xuất nữa 26 May 2012 IT3030 77
  78. NKK-HUT Đĩa cứng  Một hoặc nhiều đĩa  Thông dụng  Dung lượng tăng lên rất nhanh  1993: 200MB  2003: 30GB, 40GB  2009: 160GB, 320GB  Tốc độ đọc/ghi nhanh  Rẻ tiền 26 May 2012 IT3030 78
  79. NKK-HUT RAID  Redundant Array of Inexpensive Disks  Redundant Array of Independent Disks  Hệ thống nhớ dung lượng lớn 26 May 2012 IT3030 79
  80. NKK-HUT Đặc điểm của RAID  Tập các đĩa cứng vật lý được OS coi như một ổ logic duy nhất dung lượng lớn  Dữ liệu được 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 trong trường hợp đĩa bị hỏng an toàn thông tin  7 loại phổ biến (RAID 0 – 6) 26 May 2012 IT3030 80
  81. NKK-HUT RAID 0, 1, 2 26 May 2012 IT3030 81
  82. NKK-HUT RAID 3 & 4 26 May 2012 IT3030 82
  83. NKK-HUT RAID 5 & 6 26 May 2012 IT3030 83
  84. NKK-HUT Ánh xạ dữ liệu của RAID 0 26 May 2012 IT3030 84
  85. NKK-HUT 3. Đĩa quang  CD-ROM (Compact Disk ROM)  CD-R (Recordable CD)  CD-RW (Rewriteable CD)  Dung lượng thông dụng 650MB  Ổ đĩa CD:  Ổ CD-ROM  Ổ CD-Writer: Ghi một phiên hoặc ghi nhiều phiên  Ổ CD-RW  Tốc độ đọc cơ sở 150KByte/s.  Tốc độ bội, ví dụ: 48x, 52x, 26 May 2012 IT3030 85
  86. NKK-HUT 3. Đĩa quang (tiếp)  DVD  Digital Video Disk: chỉ dùng trên ổ đĩa xem video  Digital Versatile Disk: ổ trên máy tính  Ghi một hoặc hai mặt  Một hoặc hai lớp trên một mặt  Thông dụng: 4,7GB/lớp 26 May 2012 IT3030 86
  87. NKK-HUT 4. Flash Disk  Thường kết nối qua cổng USB  Không phải dạng đĩa  Bộ nhớ bán dẫn cực nhanh (flash memory)  Dung lượng tăng nhanh  Thuận tiện 26 May 2012 IT3030 87
  88. NKK-HUT 7.6. Bộ nhớ ảo (Virtual Memory)  Khái niệm bộ nhớ ảo: gồm bộ nhớ chính và bộ nhớ ngoài mà được CPU coi như là một bộ nhớ duy nhất (bộ nhớ chính).  Các kỹ thuật thực hiện bộ nhớ ảo:  Kỹ thuật phân trang: Chia không gian địa chỉ bộ nhớ thành các trang nhớ có kích thước bằng nhau và nằm liền kề nhau Thông dụng: kích thước trang = 4KBytes  Kỹ thuật phân đoạn: Chia không gian nhớ thành các đoạn nhớ có kích thước thay đổi, các đoạn nhớ có thể gối lên nhau. 26 May 2012 IT3030 88
  89. NKK-HUT Phân trang  Phân chia bộ nhớ thành các phần có kích thước bằng nhau gọi là các khung trang  Chia chương trình (tiến trình) thành các trang  Cấp phát số hiệu khung trang yêu cầu cho tiến trình  HĐH duy trì danh sách các khung trang nhớ trống  Tiến trình không yêu cầu các khung trang liên tiếp  Sử dụng bảng trang để quản lý 26 May 2012 IT3030 89
  90. NKK-HUT Cấp phát các khung trang 26 May 2012 IT3030 90
  91. NKK-HUT Địa chỉ logic và địa chỉ vật lý của phân trang 26 May 2012 IT3030 91
  92. NKK-HUT Nguyên tắc làm việc của bộ nhớ ảo phân trang  Phân trang theo yêu cầu  Không yêu cầu tất cả các trang của tiến trình nằm trong bộ nhớ  Chỉ nạp vào bộ nhớ những trang được yêu cầu  Lỗi trang  Trang được yêu cầu không có trong bộ nhớ  HĐH cần hoán đổi trang yêu cầu vào  Có thể cần hoán đổi một trang nào đó ra để lấy chỗ  Cần chọn trang để đưa ra 26 May 2012 IT3030 92
  93. NKK-HUT Thất bại  Quá nhiều tiến trình trong bộ nhớ quá nhỏ  HĐH tiêu tốn toàn bộ thời gian cho việc hoán đổi  Có ít hoặc không có công việc nào được thực hiện  Đĩa luôn luôn sáng  Giải pháp:  Thuật toán thay trang  Giảm bớt số tiến trình đang chạy  Thêm bộ nhớ 26 May 2012 IT3030 93
  94. NKK-HUT Lợi ích  Không cần toàn bộ tiến trình nằm trong bộ nhớ để chạy  Có thể hoán đổi trang được yêu cầu  Như vậy có thể chạy những tiến trình lớn hơn tổng bộ nhớ sẵn dùng  Bộ nhớ chính được gọi là bộ nhớ thực  Người dùng cảm giác bộ nhớ lớn hơn bộ nhớ thực 26 May 2012 IT3030 94
  95. NKK-HUT Cấu trúc bảng trang 26 May 2012 IT3030 95
  96. NKK-HUT Translation Lookaside Buffer  Mỗi tham chiếu bộ nhớ ảo gây ra hai truy cập bộ nhớ vật lý  Tìm điểm vào của bảng trang  Tìm dữ liệu  Sử dụng cache đặc biệt cho bảng trang  TLB 26 May 2012 IT3030 96
  97. NKK-HUT 7.7. Hệ thống nhớ trên PC hiện nay  Bộ nhớ cache: tích hợp trên chip vi xử lý  Bộ nhớ chính: Tồn tại dưới dạng các mô-đun nhớ RAM  SIMM – Single Inline Memory Module  30 chân: 8 đường dữ liệu  72 chân: 32 đường dữ liệu  DIMM – Dual Inline Memory Module  64 đường dữ liệu  RIMM – Rambus DRAM 26 May 2012 IT3030 97
  98. NKK-HUT Hệ thống nhớ trên PC (tiếp)  ROM BIOS chứa các chương trình sau:  Chương trình POST (Power On Self Test)  Chương trình CMOS Setup  Chương trình Bootstrap loader  Các trình điều khiển vào-ra cơ bản (BIOS)  CMOS RAM:  Chứa thông tin cấu hình hệ thống  Đồng hồ hệ thống  Có pin nuôi riêng  Video RAM: quản lý thông tin của màn hình  Các loại bộ nhớ ngoài 26 May 2012 IT3030 98
  99. NKK-HUT Hết chương 7 26 May 2012 IT3030 99