Bài giảng Hệ thống máy tính - Chương 2: Kiến trúc bộ nhớ - Nguyễn Kim Khánh
Tổng quan về 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ớ
Các đặc trưng của hệ
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)
Trang 1
Trang 2
Trang 3
Trang 4
Trang 5
Trang 6
Trang 7
Trang 8
Trang 9
Trang 10
Tải về để xem bản đầy đủ
Bạn đang xem 10 trang mẫu của tài liệu "Bài giảng Hệ thống máy tính - Chương 2: Kiến trúc bộ nhớ - Nguyễn Kim Khánh", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
Tóm tắt nội dung tài liệu: Bài giảng Hệ thống máy tính - Chương 2: Kiến trúc bộ nhớ - Nguyễn Kim Khánh
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 Bài giảng Hệ thống máy tính Nguyễn Kim Khánh - ĐHBKHN 4 8 September 2009 13 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 8 September 2009 14 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 8 September 2009 15 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) 8 September 2009 16 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 Bài giảng Hệ thống máy tính Nguyễn Kim Khánh - ĐHBKHN 5 8 September 2009 17 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 8 September 2009 18 NKK-HUT Một số 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) 8 September 2009 19 NKK-HUT 2. Tổ chức của chip nhớ Sơ đồ cơ bản của chip nhớ 8 September 2009 20 NKK-HUT Các tín hiệu của chip nhớ Các đường địa chỉ: An-1 ÷ A0 Æ có 2n từ nhớ Các đường dữ liệu: Dm-1 ÷ D0Æ độ dài từ nhớ = m bit Dung lượng chip nhớ = 2n 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) Bài giảng Hệ thống máy tính Nguyễn Kim Khánh - ĐHBKHN 6 8 September 2009 21 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) Dung lượng của DRAM= 22n x m bit 8 September 2009 22 NKK-HUT Chip nhớ 8 September 2009 23 NKK-HUT 3. Thiết kế mô-đun nhớ bán dẫn Dung lượng chip nhớ 2n 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 8 September 2009 24 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: Dung lượng chip nhớ = 212 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 Bài giảng Hệ thống máy tính Nguyễn Kim Khánh - ĐHBKHN 7 8 September 2009 25 NKK-HUT Ví dụ tăng độ dài từ nhớ 8 September 2009 26 NKK-HUT Bài toán tăng độ dài từ nhớ tổng quát Cho chip nhớ 2n x mbit Thiết kế mô-đun nhớ 2n x (k.m) bit Dùng k chip nhớ 8 September 2009 27 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: Dung lượng chip nhớ = 212 x 8 bit chip nhớ có: 12 chân địa chỉ 8 chân dữ liệu Dung lượng mô-đun nhớ = 213 x 8 bit 13 chân địa chỉ 8 chân dữ liệu 8 September 2009 28 NKK-HUT Tăng số lượng từ nhớ 11x1 0110 1000 Y1Y0AG Bài giảng Hệ thống máy tính Nguyễn Kim Khánh - ĐHBKHN 8 8 September 2009 29 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 8 September 2009 30 NKK-HUT Bộ giải mã 2Æ4 1110000 1101100 1 1 1 Y0 1 1 1 Y1 x 1 1 B 11x1 0110 1000 Y3Y2AG 8 September 2009 31 NKK-HUT 2.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 8 September 2009 32 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 Bài giảng Hệ thống máy tính Nguyễn Kim Khánh - ĐHBKHN 9 8 September 2009 33 NKK-HUT m=8bit Æ một băng nhớ tuyến tính 8 September 2009 34 NKK-HUT m = 16bit Æ hai băng nhớ đan xen 8 September 2009 35 NKK-HUT m = 32bit Æ bốn băng nhớ đan xen 8 September 2009 36 NKK-HUT m = 64bit Æ tám băng nhớ đan xen Bài giảng Hệ thống máy tính Nguyễn Kim Khánh - ĐHBKHN 10 8 September 2009 37 NKK-HUT 2.4. Bộ nhớ đệm nhanh (cache memory) 1. Nguyên tắc chung của cache 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 8 September 2009 38 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 8 September 2009 39 NKK-HUT Cấu trúc chung của cache / bộ nhớ chính 8 September 2009 40 NKK-HUT Cấu trúc chung của cache / bộ nhớ chính (tiếp) Bộ nhớ chính có 2N 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 Bài giảng Hệ thống máy tính Nguyễn Kim Khánh - ĐHBKHN 11 8 September 2009 41 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). 8 September 2009 42 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) 8 September 2009 43 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. 8 September 2009 44 NKK-HUT Minh hoạ ánh xạ trực tiếp Bài giảng Hệ thống máy tính Nguyễn Kim Khánh - ĐHBKHN 12 8 September 2009 45 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 8 September 2009 46 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 đó 8 September 2009 47 NKK-HUT Minh hoạ ánh xạ liên kết toàn phần 8 September 2009 48 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. Bài giảng Hệ thống máy tính Nguyễn Kim Khánh - ĐHBKHN 13 8 September 2009 49 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 ....... 8 September 2009 50 NKK-HUT Minh hoạ ánh xạ liên kết tập hợp 8 September 2009 51 NKK-HUT Đặc điểm của ánh xạ liên kết tập hợp Kích thước Block = 2W 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 8 September 2009 52 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 Bài giảng Hệ thống máy tính Nguyễn Kim Khánh - ĐHBKHN 14 8 September 2009 53 NKK-HUT Với ánh xạ trực tiếp Bộ nhớ chính = 4GB = 232 byte Æ N = 32 bit Cache = 256 KB = 218 byte. Line = 32 byte = 25 byte ÆW = 5 bit Số Line trong cache = 218/ 25 = 213 Line Æ L = 13 bit T = 32 - (13 + 5) = 14 bit 8 September 2009 54 NKK-HUT Với ánh xạ liên kết toàn phần Bộ nhớ chính = 4GB = 232 byte Æ N = 32 bit Line = 32 byte = 25 byte ÆW = 5 bit Số bit của trường Tag sẽ là: T = 32 - 5 = 27 bit 8 September 2009 55 NKK-HUT Với ánh xạ liên kết tập hợp 4 đường Bộ nhớ chính = 4GB = 232 byte Æ N = 32 bit Line = 32 byte = 25 byte ÆW = 5 bit Số Line trong cache = 218/ 25 = 213 Line Một Set có 4 Line = 22 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 8 September 2009 56 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 ? Bài giảng Hệ thống máy tính Nguyễn Kim Khánh - ĐHBKHN 15 8 September 2009 57 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 đó 8 September 2009 58 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 8 September 2009 59 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 8 September 2009 60 NKK-HUT 2.5. 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 (thông dụng): 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. Bài giảng Hệ thống máy tính Nguyễn Kim Khánh - ĐHBKHN 16 8 September 2009 61 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ý 8 September 2009 62 NKK-HUT Cấp phát các khung trang 8 September 2009 63 NKK-HUT Địa chỉ logic và địa chỉ vật lý của phân trang 8 September 2009 64 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 Bài giảng Hệ thống máy tính Nguyễn Kim Khánh - ĐHBKHN 17 8 September 2009 65 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ớ 8 September 2009 66 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 8 September 2009 67 NKK-HUT Cấu trúc bảng trang 8 September 2009 68 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 Bài giảng Hệ thống máy tính Nguyễn Kim Khánh - ĐHBKHN 18 8 September 2009 69 NKK-HUT Hoạt động của TLB 8 September 2009 70 NKK-HUT Hoạt động của TLB và Cache 8 September 2009 71 NKK-HUT 2.6. Hệ thống lưu trữ - RAID Redundant Array of Inexpensive Disks Redundant Array of Independent Disks Hệ thống nhớ dung lượng lớn 8 September 2009 72 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) Bài giảng Hệ thống máy tính Nguyễn Kim Khánh - ĐHBKHN 19 8 September 2009 73 NKK-HUT RAID 0, 1, 2 8 September 2009 74 NKK-HUT RAID 3 & 4 8 September 2009 75 NKK-HUT RAID 5 & 6 8 September 2009 76 NKK-HUT Ánh xạ dữ liệu của RAID 0 Bài giảng Hệ thống máy tính Nguyễn Kim Khánh - ĐHBKHN 20 8 September 2009 77 NKK-HUT Hết chương 2
File đính kèm:
- bai_giang_he_thong_may_tinh_chuong_2_kien_truc_bo_nho_nguyen.pdf