Bài giảng Kiến trúc máy tính và hệ điều hành - Chương 3: Bộ nhớ
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 và hệ điều hành - Chương 3: Bộ 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:
- bai_giang_kien_truc_may_tinh_va_he_dieu_hanh_chuong_3_bo_nho.pdf
Nội dung text: Bài giảng Kiến trúc máy tính và hệ điều hành - Chương 3: Bộ nhớ
- Chương 3 BỘ NHỚ 1 1
- NỘI DUNG 1. Tổng quan về bộ nhớ 2. Bộ nhớ ROM và RAM 3. Bộ nhớ cache 4. Bộ nhớ ngoài 2
- Tổng quan về bộ 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: Ổ đĩa quang, ổ đĩa từ, Dung lượng Số từ nhớ (word): tính bằng bit (16, 32 bit) Số lượng byte Đơn vị truyền Từ nhớ (word) Khối nhớ (block) 3
- Tổng quan về bộ nhớ Phương pháp truy xuất: Truy xuất tuần tự (băng từ) Truy xuất trực tiếp (các loại đĩa) Truy xuất ngẫu nhiên (bộ nhớ bán dẫn) Truy xuất liên kết (cache) 4
- Tổng quan về bộ nhớ Phương pháp truy xuất tuần tự (Sequential access) Bắt đầu ở first location – đọc theo thứ tự Access time phụ thuộc vào vị trí dữ liệu và vị trí trước đó Ví dụ: Băng từ Phương thức truy xuất trực tiếp (Direct access) Các khối dữ liệu riêng có địa chỉ duy nhất Truy xuất bằng cách: Nhảy đến vùng kế cận Tìm kiếm tuần tự (hoặc đợi, ví dụ như đợi đĩa quay) Access time phụ thuộc vào vị trí đích và vị trí trước đó Ví dụ: Ổ đĩa 5
- Tổng quan về bộ nhớ Phương thức truy xuất ngẫu nhiên (Random access) Các địa chỉ riêng xác định các vị trí cụ thể Access time độc lập vị trí đích hoặc vị trí trước đó Ví dụ: RAM Phương thứ truy xuất liên kết (Associative access) Dữ liệu được định vị bằng cách so sánh với nội dung của một phần dữ liệu được lưu trữ Access time độc lập với vị trí dữ liệu và vị trí truy xuất trước đó. 6
- Tổng quan về bộ nhớ Hiệu năng Thời gian truy cập Chu kỳ nhớ Tốc độ truyền: Truy cập ngẫu nhiên: 1/(TChu kỳ) Không ngẫu nhiên: TN = TA + N/R TN = thời gian trung bình để đọc/ghi N bit TA = thời gian truy cập trung bình N = số các bit R = tốc độ truyền, theo đơn vị bit/giây (bps) Kiểu vật lý Bộ nhớ bán dẫn Bộ nhớ từ Bộ nhớ quang 7
- Tổng quan về bộ nhớ Các đặc trưng của hệ thống nhớ Các đặc tính vật lý Khả biến/Không khả biến (volatile/nonvolatile) Xóa được/Không xóa được Tổ chức Cách sắp xếp vật lý các bit để tạo thành các word Phân cấp hệ thống nhớ Registers: trong CPU, dung lượng thấp, nhanh, đắt Bộ nhớ trong: Có thể gồm 1 hoặc nhiều mức cache, dung lượng trung bình; Bộ nhớ ngoài: Lưu trữ và backup, dung lượng cao 8
- Bộ nhớ ROM và RAM Bộ nhớ chính Các đặc trưng cơ bản: Chứa các chương trình đang được 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 tùy thuộc vào hệ điều hành 9
- Bộ nhớ ROM và RAM Tổ chức ô nhớ 10
- Bộ nhớ ROM và RAM ROM (Read Only Memory) Bộ nhớ chỉ đọc 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) Vi chương trình Các kiểu ROM: ROM: thông tin được ghi khi sản xuất. Chi phí cao PROM (Programmable ROM): Chỉ ghi được 1 lần bằng thiết bị chuyên dụng. EPROM (Erasable PROM): có thể ghi nhiều lần bằng thiết bị chuyên dụng. Phải xóa bằng tia cực tím trước khi ghi lại. 11
- Bộ nhớ ROM và RAM RAM (Random Access Memory) Bộ nhớ truy xuất ngẫu nhiên Có khả năng đọc/ghi (Read/Write Memory) Lưu trữ thông tin tạm thời Có 2 loại: SRAM và DRAM 12
- Bộ nhớ ROM và RAM SRAM (Static RAM) 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 (6-8ns) Đắt tiền Dùng làm bộ nhớ cache Logic 1: Logic 0: C1=high, C2=low C1=low, C2=high T1,T4: off T1,T4: on T2,T3: on T2,T3: off 13
- Bộ nhớ ROM và RAM DRAM (Dynamic RAM): 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 (60-80ns) Rẻ tiền hơn Dùng làm bộ nhớ chính 14
- Bộ nhớ ROM và RAM Các DRAM tiên tiến Enhanced DRAM DRAM có bao gồm một phần nhỏ SRAM Cache DRAM (1Mb DRAM, 8kb SRAM) Synchronous DRAM (SDRAM) Đồng bộ hóa với xung nhịp của CPU DDR-SDRAM (Double Data Rate SDRAM) Gấp đôi tốc độ của SDRAM, 184-pin Rambus DRAM (RDRAM) 2 kênh truyền thông riêng biệt (dual channel) Tốc độ chuyển dữ liệu lên tới 3.2Gbytes/giây 15
- Bộ nhớ ROM và RAM Tổ chức 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 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 tích cực với mức 0 16
- Bộ nhớ ROM và RAM Thiết kế module 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 Ví dụ: Cho chip nhớ SRAM 4Kx4 bit. Thiết kế module nhớ 4Kx8 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 module nhớ cần có: 12 chân địa chỉ 8 chân dữ liệu 18
- Bộ nhớ ROM và RAM Thiết kế tăng độ dài từ nhớ Cho chip nhớ 2n x m bit Thiết kế mô-đun nhớ 2n x (k.m) bit Dùng k chip nhớ 19
- Bộ nhớ ROM và RAM 1. Thiết kế tăng số lượng từ nhớ Ví dụ: Cho chip nhớ SRAM 4K x 8 bit. Thiết kế module 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 20
- Bộ nhớ ROM và RAM 2. Thiết kế tăng số lượng từ nhớ 21
- Bộ nhớ ROM và RAM Bộ giải mã 2 4 22
- Bộ nhớ ROM và RAM 3. Thiết kế kết hợp m=8 bit -> một băng nhớ tuyến tính 23
- Bộ nhớ ROM và RAM 3. Thiết kế kết hợp m=16 bit hai băng nhớ đan xen 24
- Bộ nhớ ROM và RAM 3. Thiết kế kết hợp m=32 bit bốn băng nhớ đan xen 25
- Bộ nhớ ROM và RAM 3. Thiết kế kết hợp m=64 bit tám băng nhớ đan xen 26
- Bộ nhớ cache Nguyên tắc chung: Cache có tốc độ nhanh hơn bộ nhớ chính Cache được đặt giữa CPU và bộ nhớ chính. Cache có thể được đặt trên chip của CPU - 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 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 27
- Bộ nhớ cache Truy xuất dữ liệu từ cache và từ bộ nhớ chính Bộ nhớ chính có 100,000 words, access time là 0.1 s. Cache có1000 words và access time là 0.01 s. CPU sẽ truy xuất trực tiếp word có trong cache (hit). Word chỉ có trong memory (miss), thì phải được chuyển đến cache trước khi truy xuất. Giả sử 95% các yêu cầu truy xuất là hits. Average time truy xuất 1 word là: (0.95)(0.01 s)+0.05(0.1 s+ 0.01 s) = 0.015 s 28
- Bộ nhớ cache Cấu trúc bộ nhớ cache Một số Block của bộ nhớ chính được nạp vào các Line của cache. 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 xuất một từ nhớ, có thể: Từ nhớ có trong cache (cache hit) Từ nhớ không có trong cache (cache miss) Vì số line của cache ít hơn số block của bộ nhớ chính, cần có một thuật giải ánh xạ thông tin trong bộ nhớ chính vào cache. 29
- Bộ nhớ cache Các phương pháp ánh xạ địa chỉ a) Ánh xạ trực tiếp (Direct mapping) Mỗi block của bộ nhớ chính chỉ có thể được nạp vào 1 line duy nhất của cache. Quy ước nạp: B0 → L0 B1 → L1 Bm-1 → Lm-1 Bm → L0 Bm+1 → L1 L0 : B0, Bm, B2m L1 : B1, Bm+1, B2m+1 30 Bj chỉ có thể được nạp vào L (j mod m)
- Bộ nhớ cache Các phương pháp ánh xạ địa chỉ a) Ánh xạ trực tiếp (Direct mapping) 31
- Bộ nhớ cache a) Ánh xạ trực tiếp (Direct mapping) Địa chỉ CPU phát ra có N bit, được chia thành 3 trường: Trường Byte (có n1 bit) để xác định byte nhớ trong Line (Block) 2n1 = kích thước 1 Line Trường Line (có n2 bit) để xác định Line trong Cache 2n2 = số Line trong Cache Dung lượng Cache = 2n1 * 2n2 = 2n1+n2 Trường Tag (có n3 bit): số bit còn lại n3 = N - (n1 + n2) > 0 vì 2N >> 2n1+n2 32
- Bộ nhớ cache b) Ánh xạ liên kết toàn phần Fully Associative Mapping Mỗi block có thể được nạp vào bất kỳ line nào của cache. Địa chỉ bộ nhớ do CPU phát ra được chia thành 2 phần: tag và byte. Để kiểm tra xem một block có trong cache hay không, phải đồng thời kiểm tra tất cả tag của các line trong cache. Cần các mạch phức tạp để kiểm tra. 33
- Bộ nhớ cache b) Ánh xạ liên kết toàn phần 34
- Bộ nhớ cache c) Ánh xạ liên kết tập hợp Set Associative Mapping Là phương pháp dung hòa của 2 phương pháp trên Chia cache thành các tập: S0, S1, S2 Mỗi Set có một số Line (2, 4, 8, 16 Line) Ví dụ: Mỗi Set có 2 line: 2-way Set Associative Mapping Mỗi block được nạp vào 1 line nào đó trong Set nhất định: B0 → S0 B1 → S1 Bk-1 → Sk-1 Bk → S0 Địa chỉ do CPU phát ra có 3 trường: Tag, Set, Byte 35
- Bộ nhớ cache c) Ánh xạ liên kết tập hợp 36
- Bộ nhớ cache Ví dụ: Hệ thống có: Bộ nhớ chính = 256 MB Cache = 128 KB Line = 16 Byte Xác định số bit của các trường địa chỉ khi a) Ánh xạ trực tiếp b) Ánh xạ liên kết tập hợp 4 Line/Set 37
- Bộ nhớ cache Câu a: 2N = 256.220 = 228 -> N = 28 bit Tính cho trường Byte: 4 Kích thước line = 16 = 2 Byte n1 = 4 bit Tính cho trường Line: 10 13 Số line trong Cache: 128.2 /16 = 2 n2 = 13 bit Tính cho trường Tag: n3 = N - (n1 + n2) = 28 - (4 + 13) = 11 bit Câu b: - Trường Byte: n1 = 4 bit 13 11 - Trường Set: Số Set = Số line/4 = 2 /4 = 2 n2=11 bit - Trường Tag: n3 = N - (n1 + n2) = 28 - (4 + 11) = 13 bit 38
- Bộ nhớ cache Các giải thuật thay thế block trong cache Khi CPU truy nhập một thông tin mà không có trong cache (cache miss) thì nạp block chứa thông tin đó vào trong cache để thay thế block cũ trong cache. Ánh xạ trực tiếp chỉ có 1 cách nạp không cần thuật giải để nạp. 2 phương pháp ánh xạ liên kết cần có thuật giải để lựa chọn thay thế. 39
- Bộ nhớ cache 1. Random: thay block một cách ngẫu nhiên. 2. FIFO (First In, First Out): thay thế block đã tồn tại lâu nhất trong toàn cache đối với ánh xạ liên kết toàn phần, trong set đối với ánh xạ liên kết tập hợp. 3. LFU (Least Frequently Used): thay block có số lần truy nhập ít nhất. 4. LRU (Least Recently Used): thay block có khoảng thời gian dài nhất không được truy nhập được đánh giá là hiệu quả nhất. 40
- Bộ nhớ cache Phương pháp ghi dữ liệu khi cache hit Ghi xuyên qua (Write through) Ghi cả cache và 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 41
- Bộ nhớ cache Cache trên các bộ xử lý Intel 80386: không có cache trên chip 80486: 8KB Pentium: có 2 cache L1 trên chip Cache lệnh = 8KB Cache dữ liệu = 8KB Pentium 4: hai mức cache L1 và L2 trên chip Cache L1: 2 cache L1, mỗi cache 8KB Kích thước Line = 64 byte Cache L2: 256 KB - 2 MB Kích thước Line = 128 byte 42
- Bộ nhớ cache Intel Pentium 4 43
- Bộ nhớ ngoài Cấu trúc vật lý của đĩa từ: Hình tròn, gồm nhiều mặt gọi là head. Mỗi mặt có nhiều đường tròn đồng tâm gọi là track. Trên các đường tròn (track) được chia thành các cung tròn gọi là sector. Tập các track đồng tâm gọi là cylinder Mỗi cung tròn chứa 4096 điểm từ (~ 4096 bit = 512 bytes). Mỗi mặt có 1 đầu đọc để đọc ghi dữ liệu Mỗi lần đọc/ghi ít nhất 1 cung tròn (512B). 44
- Bộ nhớ ngoài sectors the disk spins – around 7,200rpm disk head array track platters 45
- Bộ nhớ ngoài Đĩa mềm 8”, 5.25”, 3.5” Dung lượng nhỏ: chỉ tới 1.44 MB Tốc độ chậm (360 rpm) Thông dụng Rẻ tiền Đĩa cứng Một hoặc nhiều đĩa Thông dụng Dung lượng tăng lên rất nhanh Tốc độ đọc/ghi nhanh (5400, 7200 rpm) 46
- Bộ nhớ ngoài 1. RAID – Redundant Array of Independent Disks RAID để làm gì? An toàn dữ liệu Tăng sức mạnh máy tính Dùng như thế nào? Cần ít nhất 2 ổ cứng Card điều khiển Các loại phổ biến: 0 - 6, 0+1, 5, JBOD, 47
- Bộ nhớ ngoài RAID 0 Cần ít nhất 2 ổ cứng Dữ liệu được ghi theo phương thức Striping (1 – 1, 2 – 2, 3 – 3, ). Không dư thừa Các nhu cầu về dữ liệu có thể không nằm chung đĩa Ưu điểm: Tăng tốc độ truy xuất dữ liệu Nhược điểm: Tiềm ẩn nguy cơ hỏng dữ liệu 48
- Bộ nhớ ngoài RAID 1 Cần ít nhất 2 ổ cứng Dữ liệu được ghi theo phương thứ bản sao (Mirroring). Việc khôi phục dữ liệu rất đơn giản Ưu điểm: An toàn dữ liệu Nhược điểm: Không tăng tốc khả năng truy xuất 49 49
- Bộ nhớ ngoài RAID 2 Các đĩa được đồng bộ Chỉ phân chia một ít dữ liêu (byte/word) Việc sửa lỗi được tính nhờ các bit tương ứng trên các đĩa Nhiều đĩa parity chứa mã sửa lỗi Hamming tại các vị trí tương ứng Nhiều dư thừa: Chi phí cao, không được sử dụng 50
- Bộ nhớ ngoài RAID 3 Tương tự RAID 2 Chỉ 1 đĩa dư thừa Parity bit đơn giản cho mỗi tập các bit tương ứng Dữ liệu trên đĩa lỗi có thể được tái tạo lại dựa vào các dữ liệu còn lại và thông tin parity Tốc độ truy xuất dữ liệu rất cao 51
- Bộ nhớ ngoài RAID 4 Mỗi đĩa hoạt đồng độc lập Phù hợp với các yêu cầu I/O tốc độ cao Lượng dữ liệu được phân chia trên các đĩa khá lớn Việc kiểm tra parity được thực hiện từng bit một dọc theo các dữ liệu được phân chia trên mỗi đĩa Parity được lưu trên parity disk 52
- Bộ nhớ ngoài RAID 5 Giống RAID 4 Parity được phân chia đều trên tất cả các đĩa Round robin. 1 – 1; 2 – 2; 1, 2 – 3; 3 – 1; 4 – 3; 3, 4 – 2; 5 – 2; 6 – 3; 5, 6 – 1; 7 – 1; 8 – 2; 7, 8 – 3 Tránh hiện tượng nghẽn cổ chai ở parity disk của RAID 4 Thường được sử dụng trong các network servers 53
- Bộ nhớ ngoài RAID 6 Dữ liệu được ghi trên các đĩa độc lập, sử dụng phối hợp 2 parity riêng biệt Tương tự như RAID 5, nhưng RAID 6 sử dụng thêm 1 parity chịu lỗi thứ 2. 54
- Bộ nhớ ngoài RAID 0+1 Cần ít nhất 4 ổ cứng Dữ liệu được ghi lên 2 đĩa cứng theo phương thức bản sao (Mirroring) và 2 đĩa theo phương thức Stripping Ưu điểm: An toàn dữ liệu và tăng tốc tốt Nhược điểm: Tốn kém: 50% 55
- Bộ nhớ ngoài Network Attached Storage (NAS) và Storage Area Network (SAN) Wires NAS dùng TCP/IP Networks Ethernet, FDDI, ATM (TCP/IP over Fibre Channel) SAN dùng Fibre Channel Protocols NAS dùng TCP/IP and NFS/CIFS/HTTP SAN dùng Encapsulated SCSI 56
- Bộ nhớ ngoài NAS SAN Tất cả các máy có thể kết nối Chỉ có server dùng SCSI Fibre đến NAS thông qua LAN hoặc Channel mới có thể kết nối đến WAN để chia sẻ files. SAN. Giới hạn 10km Xác định dữ liệu dựa vào tên Xác định dữ liệu dựa trên số hiệu file và các byte offsets, truyền khối và truyền các khối dữ liệu thô. file data or file meta-data Cho phép khả năng chia sẻ File Sharing phụ thuộc hệ điều hành thông tin giữa các hệ điều hành và không có nhiều hệ điều hành hỗ khác nhau trợ File System được quản lý bởi File System được quản lý bởi NAS servers Backups and mirrors được Backups và mirors dữ liệu trên từng thực hiện trên files, tiết kiệm block một bandwidth và thời gian 57
- Bộ nhớ ngoài Đĩa quang - CD Đường dữ liệu chạy theo đường xoắn ốc từ trong (trung tâm) ra ngoài. Kích thước CD có thể nhỏ hơn 4,8 inch nếu muốn (trên thực tế có nhiều mẫu CD với kích thước rất bé, dung lượng khoảng 2MB) Bề rộng của đường xoắn ốc là 0,5 µm Khoảng cách giữa 2 đường tròn xoắn ốc liên tiếp là 1,6 µm Các Bump (gờ) nằm trên đường đi của vòng xoắn ốc này. 58
- Bộ nhớ ngoài Đĩa quang - CD Drive Motor quay đĩa. được điều khiển quay chính xác 200 đến 500 vòng Laser và một hệ thống thấu kính hội tụ để đọc Bump. Hệ thống truyền động điều khiển tia laser theo những track xoắn ốc. 59
- Bộ nhớ ngoài Một số đặc điểm của DVD Lớp nhôm có tác dụng phản xạ ở bên trong, ngoài ra còn có 1 lớp vàng mỏng làm lớp bán phản xạ cho phép tia sáng xuyên qua. Loại đĩa 1 mặt thì nhãn được in trên mặt không lưu trữ, đối với loại 2 mặt thì việc in nhãn được thực hiện trong phần giữa trục của đĩa Dữ liệu được ghi trên những vòng tròn xoắn ốc gồm nhiều track. 60
- Bộ nhớ ngoài Đặc tính DVD CD-ROM Đường kính, độ dày(mm) 120/1.2 120/1.2 Mặt dùng 1 hoặc 2 1 Số lớp 1 hoặc 2 1 Dung lượng (GB) 4.7;8.54;9.4;17 ~0.7 Bước của track (micron) 0.74 1.6 Độ dài tối thiểu của pit 0.4-0.44(micr) 0.83 Bước sóng sử dụng (nm) 635 hoặc 650 780 Khẩu độ số 0.6 0.45 Modulation 8-16 EMF(8-17) Mã sửa lỗi RSPC CIRC Độ bền cao cao Tốc độ quét vạch (m/s) 3.5-3.84 1.3 61
- Bộ nhớ ngoài Hệ thống lưu trữ quang – từ (Magnetic – Optical Storage Systems) Để không làm giảm chất lượng của dữ liệu mà không hạn chế số lần ghi/xóa thì người ta sử dụng hệ thống quang từ (MO). Hai nguyên tắc cơ bản của hệ thống quang và từ là: Ghi bằng từ Đọc bằng quang. Có 2 loại tiêu chuẩn cho MO là loại 5.5 và 3.5 inch. Loại 5.5 inch có dung lượng tương đương CD-ROM. Với khả năng của mình MO có thể bù vào việc nó không rẻ và nhanh như các loại CD-R, CD-RW. 62
- Bộ nhớ ngoài Flash disk Bộ nhớ bán dẫn cực nhanh (flash memory) Thường kết nối qua cổng USB Không phải dạng đĩa Dung lượng tăng nhanh (64 MB – 32 GB) Thuận tiện 63