1. Bài giảng Hệ thống máy tính22 August 2011NKK-HUT NKK-HUTHệ thống máy tínhNội dung học phầnChương 1. Giới thiệu chungChương 2. Kiến trúc bộ nhớếChương 2Chương 3. Kiến trúc vào-raKIẾN TRÚC BỘ NHỚChương 4. Kiến trúc bộ xử lýChương 5. Kiến trúc máy tính tiên tiếnNguyễn Kim KhánhTrường Đại học Bách khoa Hà Nội22 August 20111 22 August 2011 2NKK-HUT NKK-HUTNội dung 2.1. Tổng quan về hệ thống nhớ1. Các đặc trưng của hệ thống nhớ 2.1. Tổng quan về hệ thống nhớVị trí 2.2. 2 2 Bộ nhớ bán dẫnBên trong CPU: Bê tCPU tập thanh ghi 2.3. Bộ nhớ chính Bộ nhớ trong: 2.4. Bộ nhớ cache bộ nhớ chính 2.5. Bộ nhớ ảobộ nhớ cache Bộ nhớ ngoài: các thiết bị nhớộgị 2.6. 2 6 Hệ thố l t ữ RAID thống lưu trữ Dung lượng Độ dài từ nhớ (tính bằng bit) Số lượng từ nhớ22 August 20113 22 August 2011 4Nguyễn Kim Khánh - ĐHBKHN1 2. Bài giảng Hệ thống máy tính 22 August 2011NKK-HUTNKK-HUT Các đặc trưng của hệ thống nhớ (tiếp)Các đặc trưng của hệ thống nhớ (tiếp) Đơn vị truyềnHiệu năng (performance) Từ nhớ Thời gian truy nhập g y ập Khối nhớ Chu kỳ nhớ Phương pháp truy nhậpTốc độ truyền Truy nhập tuần tự (băng từ)Kiểu vật lý Truy nhập trực tiếp (các loại đĩa) Bộ nhớ bán dẫn Truy nhập ngẫu nhiên (bộ nhớ bán dẫn)Bộ nhớ từ Truy nhập liên kết (cache) Bộ nhớ quang22 August 2011 5 22 August 2011 6NKK-HUTNKK-HUT Các đặc trưng của hệ thống nhớ (tiếp)2. Phân cấp hệ thống nhớ Các đặc tính vật lý Khả biến / Không khả biếng (volatile / nonvolatile) Xoá được / không xoá được Tổ chức22 August 2011 7 22 August 2011 8Nguyễn Kim Khánh - ĐHBKHN 2 3. Bài giảng Hệ thống máy tính22 August 2011NKK-HUTNKK-HUT Công nghệ bộ nhớVí dụ hệ thống nhớ thông dụngStatic RAM (SRAM) 0.5ns – 2.5ns, $2000 – $5000 per GBDynamic RAM (DRAM) 50ns – 70ns, $20 – $75 per GBỔ đĩa từ 5ms – 20ms, $0.20 – $2 per GBBộ nhớ lý tưởngởTừ trái sang phải: Thời gian truy nhập như SRAM dung lượng tăng dần Dung lượng và giá thành như ổ đĩa cứng tốc độ giảm dầngiá thành/1bit giảm dần22 August 2011 9 22 August 2011 10NKK-HUTNKK-HUT Nguyên lý cục bộ hoá tham chiếu bộ nhớ2.2. Bộ nhớ bán dẫn1. Phân loại Trong một khoảng thời gian đủ nhỏ CPU Kiểu bộ nhớ Tiêu Khả năng xoáCơ chế ghiTính thường chỉ tham chiếu các thông tinchuẩnkhả biến trong một khối nhớ cục bộ ốRead Only Memory Mặt nạ(ROM) Bộ nhớKhông xoá Ví dụ: Programmable ROMchỉ đọc được (PROM)Cấu trúc chương trình tuần tựErasable PROM bằng tia cực tím, KhôngVòng lặp có thân nhỏ(EPROM) Bộ nhớcả chipkhả biếnhầu như Bằng điện g ệCấu t úCấ trúc dữ liệu mảngliệ ả Electrically ErasableEl t i ll E blchỉ đọcbằng điện,bằ điệPROM (EEPROM)mức từng byteFlash memory bằng điện,Bộ nhớ từng khốiRandom Access đọc-ghi bằng điện, Khả biếnBằng điệnMemory (RAM) mức từng byte22 August 201111 22 August 2011 12Nguyễn Kim Khánh - ĐHBKHN3 4. Bài giảng Hệ thống máy tính22 August 2011NKK-HUT NKK-HUT ROM (Read Only Memory)Các kiểu ROMBộ nhớ không khả biến ROM mặt nạ: thông tin được ghi khi sản xuấtLưu trữ các thông tin sau: rất đắt Thư viện các chương trình con Các chương trình điều khiển hệ thống (BIOS)PROM (Programmable ROM) Các bảng chức năngCần thiết bị chuyên dụng để ghi bằng chương trình chỉ ghi được một lần Vi chương trìnhEPROM (E(Erasable PROM)bl 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ím22 August 2011 13 22 August 2011 14NKK-HUT NKK-HUT Các kiểu ROM (tiếp) RAM (Random Access Memory)Bộ nhớ đọc-ghi (Read/Write Memory)EEPROM (Electrically Erasable PROM)Khả biến Có thể ghi theo từng byteLưu trữ thông tin tạm thời Xóa bằng điệnCó hai loại: SRAM và DRAMFlash memory (Bộ nhớ cực nhanh) (Static and Dynamic) Ghi theo khối Xóa bằng điện ằ22 August 2011 15 22 August 2011 16Nguyễn Kim Khánh - ĐHBKHN4 5. Bài giảng Hệ thống máy tính22 August 2011NKK-HUTNKK-HUT SRAM (Static) – RAM tĩnh DRAM (Dynamic) – RAM độngCác bit được lưu trữ bằng các Flip-FlopCác bit được lưu trữ trên tụ điện thông tin ổn định cần phải có mạch làm tươiCấu trúc phức tạpCấu trúc đơn giảnDung lượng chip nhỏDung lượng lớnTốc độ nhanh Tốc độ chậm hơnĐắt tiền Rẻ tiền hơnDùng làm bộ nhớ cacheDùng làm bộ nhớ chính22 August 201117 22 August 201118NKK-HUTNKK-HUT Một số DRAM tiên tiến2. Tổ chức của chip nhớ Sơ đồ cơ bản của chip nhớEnhanced DRAMCache DRAMSynchronous DRAM (SDRAM): làm việcđược đồng bộ bởi xung clockDDR-SDRAM (Double Data Rate SDRAM)22 August 201119 22 August 201120Nguyễn Kim Khánh - ĐHBKHN5 6. Bài giảng Hệ thống máy tính22 August 2011NKK-HUT NKK-HUT Các tín hiệu của chip nhớ Tổ chức của DRAMCác đường địa chỉ: An-1 ÷ A0 có 2n từ nhớCác đường dữ liệu: Dm-1 ÷ D0độ dài từ Dùng n đường địa chỉ dồn kênhchonhớ = m bit phép truyền 2n bit địa chỉDung lượng chip nhớ = 2n x m bitTín hiệu chọn địa chỉ hàng RASCác đường điều khiển: (Row Address Select) Tín hiệu chọn chip CS (Chip Select)Tín hiệu chọn địa chỉ cột CAS Tín hiệu điều khiển đọc OE (Output Enable) (Column Address Select) Tín hiệu điều khiển ghi WE (Write Enable)Dung lượng của DRAM= 22n x m bit (Các tín hiệu điều khiển thường tích cực với mức 0)22 August 2011 21 22 August 2011 22NKK-HUT NKK-HUT Chip nhớ3. Thiết kế mô-đun nhớ bán dẫnDung lượng chip nhớ 2n x m bitCầ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ợp22 August 2011 23 22 August 2011 24Nguyễn Kim Khánh - ĐHBKHN6 7. Bài giảng Hệ thống máy tính 22 August 2011NKK-HUT NKK-HUT Tăng độ dài từ nhớVí dụ 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 ôđ hớ 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ệu22 August 2011 25 22 August 201126NKK-HUT NKK-HUT Bài toán tăng độ dài từ nhớ tổng quát Tăng số lượng từ nhớVD2:Cho chip nhớ SRAM 4K x 8 bitCho chip nhớ 2n x mbitThiết kế mô đun nhớ 8K x 8 bit mô-đunThiết kế mô-đun nhớ 2n x (k.m) bitGiải:Dùng k chip nhớ Dung lượng chip nhớ = 212 x 8 bitchip nhớ có: 12 chân địa chỉ 8 chân dữ liệuDung lượng mô-đun nhớ = 213 x 8 bit 13 chân địa chỉ 8 chân dữ liệu22 August 2011 27 22 August 201128Nguyễn Kim Khánh - ĐHBKHN 7 8. Bài giảng Hệ thống máy tính22 August 2011NKK-HUTNKK-HUT Tăng số lượng từ nhớ Bài tập 1. Tăng số lượng từ gấp 4 lần:Cho chip nhớ SRAM 4K x 8 bitThiế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 bitThiết kế mô-đun nhớ 32K x 8 bit G A Y0 Y1 3. Thiết kế kết hợp: 0 0 0 1Cho chip nhớ SRAM 4K x 4 bit 0 1 1 0 1 x 1 1Thiết kế mô-đun nhớ 8K x 8 bit22 August 201129 22 August 201130NKK-HUTNKK-HUT Bộ giải mã 2 4 2.3. Bộ nhớ chính 1. Các đặc trưng cơ bản GB A Y0 Y1 Y2 Y3Chứa các chương trình đang thực hiện và các dữ liệu đang được sử dụngử 00 0 0111 00 1 1011 Tồn tại trên mọi hệ thống máy tính 01 0 1101 Bao gồm các ngăn nhớ được đánh địa chỉ trực tiếp bởi CPU 01 1 1110 Dung lượng của bộ nhớ chính nhỏ hơn khôngg gg 1x x 1111 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ành22 August 201131 22 August 201132Nguyễn Kim Khánh - ĐHBKHN8 9. Bài giảng Hệ thống máy tính 22 August 2011NKK-HUTNKK-HUT 2. Tổ chức bộ nhớ đan xen (interleaved memory) m=8bitmột băng nhớ tuyến tínhĐộ rộng của bus dữ liệu để trao đổi vớibộ nhớ: m = 8, 16, 32, 64,128 ... bitCác ngăn nhớ được tổ chức theo byte tổ chức bộ nhớ vật lý khác nhau22 August 201133 22 August 2011 34NKK-HUTNKK-HUT m = 16bit hai băng nhớ đan xen m = 32bit bốn băng nhớ đan xen22 August 201135 22 August 2011 36Nguyễn Kim Khánh - ĐHBKHN 9 10. Bài giảng Hệ thống máy tính22 August 2011NKK-HUTNKK-HUT m = 64bittám băng nhớ đan xen2.4. Bộ nhớ đệm nhanh (cache memory) 1. Nguyên tắc chung của cacheCache có tốc độ nhanh hơn bộ nhớ chínhCache được đặt giữa CPU và bộ nhớ chính nhằmtăng tốc độ CPU truy cập bộ nhớCache có thể được đặt trên chip CPU22 August 201137 22 August 201138NKK-HUTNKK-HUT Ví dụ về thao tác của cacheCấu trúc chung của cache / bộ nhớ chínhCPU 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àyNế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àoCPU22 August 201139 22 August 201140Nguyễn Kim Khánh - ĐHBKHN 10 11. Bài giảng Hệ thống máy tính22 August 2011NKK-HUT NKK-HUT Cấu trúc chung của cache / bộ nhớ chính (tiếp)Cấu trúc chung của cache / bộ nhớ chính (tiếp)Một số Block của bộ nhớ chính đượcBộ nhớ chính có 2N byte nhớ nạp vào các Line của cache.Bộ nhớ chính và cache được chia thành Nội dung Tag (thẻ nhớ) cho biết Blockẻếcác khối có kích thước bằng nhaunào của bộ nhớ chính hiện đang được Bộ nhớ chính: B0, B1, B2, ... , Bp-1 (p Blocks)chứa ở Line đó.Khi CPU truy nhập (đọc/ghi) một từ nhớ, Bộ nhớ cache: L0, L1, L2, ... , Lm-1 (m Lines)có hai khả năng xảy ra: Kích thước của Block = 8 16 32 64 128 b teth ớc 8,16,32,64,128 byteTừ nhớ đó có trong cache (cache hit) Từ nhớ đó không có trong cache (cache miss).22 August 2011 41 22 August 201142NKK-HUT NKK-HUT 2. Các phương pháp ánh xạ Ánh xạ trực tiếpMỗi Block của bộ nhớ chính chỉ có thể được nạp(Chính là các phương pháp tổ chức bộvào một Line của cache:nhớ cache) B0L0Ánh xạ trực tiếp B1L1(Direct mapping)....Ánh xạ liên kết toàn phầnBm-1Lm-1(Fully associative mapping)BmL0 Bm+1 L1Ánh xạ liên kết tập hợp....(Set associative mapping)Tổng quát Bj chỉ có thể nạp vào L j mod m m là số Line của cache.22 August 2011 43 22 August 201144Nguyễn Kim Khánh - ĐHBKHN 11 12. Bài giảng Hệ thống máy tính22 August 2011NKK-HUT NKK-HUT Minh hoạ ánh xạ trực tiếp Đặc điểm của ánh xạ trực tiếpMỗi một địa chỉ N bit của bộ nhớ chính gồmba 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ảnXác suất cache hit thấp22 August 2011 45 22 August 2011 46NKK-HUT NKK-HUT Ánh xạ liên kết toàn phần Minh hoạ ánh xạ liên kết toàn phầnMỗi Block có thể nạp vào bất kỳ Linenào của cache.Địa chỉ của bộ nhớ chính bao gồm haitrườ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 đó22 August 2011 47 22 August 2011 48Nguyễn Kim Khánh - ĐHBKHN 12 13. Bài giảng Hệ thống máy tính22 August 2011NKK-HUTNKK-HUT Đặc điểm của ánh xạ liên kết toàn phần Ánh xạ liên kết tập hợp Cache đươc chia thành các Tập (Set)So sánh đồng thời với tất cả các Tag Mỗi một Set chứa một số Lineộộmất nhiều thời gianVí dụ:Xác suất cache hit cao. 4 Line/Set 4-way associative mappingBộ so sánh phức tạp. Ánh xạ theo nguyên tắc sau:B0S0B1S1B2S2.......22 August 201149 22 August 201150NKK-HUTNKK-HUT Minh hoạ ánh xạ liên kết tập hợp Đặ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/Set2,4,8,16Lines/Set22 August 201151 22 August 201152Nguyễn Kim Khánh - ĐHBKHN 13 14. Bài giảng Hệ thống máy tính 22 August 2011NKK-HUT NKK-HUT Ví dụ về ánh xạ địa chỉ Với ánh xạ trực tiếpBộ nhớ chính = 4GB = 232 byteN = 32 bitKhông gian địa chỉ bộ nhớ chính = 4GBCache = 256 KB = 2 18 byte.Dung lượng bộ nhớ cache là 256KBLine = 32 byte = 25 byte W = 5 bitKích thước Line (Block) = 32byte. Số Line trong cache = 218/ 25 = 213 LineXác định số bit của các trường địa chỉ L = 13 bitcho ba trường hợp tổ chức:T = 32 - (13 + 5) = 14 bit Á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 đường22 August 2011 53 22 August 201154NKK-HUT NKK-HUT Với ánh xạ liên kết toàn phần Với ánh xạ liên kết tập hợp 4 đườngBộ nhớ chính = 4GB = 232 byteN = 32 bitBộ nhớ chính = 4GB = 232 byte N = 32 bitLine = 32 byte = 25 byte W = 5 bitLine = 32 byte = 25 byte W = 5 bitSố Line trong cache = 2ố18/ 25 = 213 LineSố bit của trường Tag sẽ là: T = 32 - 5 = 27 bitMột Set có 4 Line = 22 Line số Set trong cache = 213/ 22 = 211 SetS = 11 bitSố bit của trường Tag sẽ là: T = 32 - (11 + 5)g g ( )= 16 bit22 August 2011 55 22 August 201156Nguyễn Kim Khánh - ĐHBKHN14 15. Bài giảng Hệ thống máy tính 22 August 2011NKK-HUT NKK-HUT Bài tập 3. Thuật giải thay thế (1): Ánh xạ trực tiếpGiả 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.Không phải lựa chọnCache có tất cả là 1024 Set từ S0 đến Mỗi Bl k chỉ á h xạ vào một Line xácBlock hỉ ánhàột LiáS1023. Địa chỉ bộ nhớ chính là 32-bit và đánhđịa chỉ cho từng byte.địnha) Tính số bit cho các trường địa chỉ khi truyThay thế Block ở Line đónhập cache ?b) Xá đị h b t nhớ có địa chỉ 003D02AF(16) Xác định byte hớ ó đị hỉđược ánh xạ vào Set nào của cache ?22 August 2011 57 22 August 201158NKK-HUT NKK-HUT Thuật giải thay thế (2): Ánh xạ liên kết4. Phương pháp ghi dữ liệu khi cache hitĐược thực hiện bằng phần cứng (nhanh)Random: Thay thế ngẫu nhiênGhi xuyên qua (Write-through): ghi cả cache và cả bộ nhớ chínhFIFO (First In First Out): Thay thế Block nàonằm lâu nhất ở trong Set đótốc độ chậmLFU (Least Frequently Used): Thay thế Block Ghi trả sau (Write-back):nào trong Set có số lần truy nhập ít nhất trongchỉ ghi ra cachecùng một khoảng thời gian tốc độ nhanhLRU (Least Recently Used): Thay thế Block ởtrong Set tương ứng có thời gian lâu nhất khôngkhi Block trong cache bị thay thế cần phảiđược tham chiếu tới. ghi trả cả Block về bộ nhớ chínhTối ưu nhất: LRU22 August 2011 59 22 August 201160Nguyễn Kim Khánh - ĐHBKHN15 16. Bài giảng Hệ thống máy tính 22 August 2011NKK-HUT NKK-HUT 2.5. Bộ nhớ ảo (Virtual Memory) Phân trangKhái niệm bộ nhớ ảo: gồm bộ nhớ chính vàPhân chia bộ nhớ thành các phần có kíchbộ nhớ ngoài mà được CPU coi như là một thước bằng nhau gọi là các khung trangbộ nhớ duy nhất (bộ nhớ chính).Chia chương trình (tiến trình) thành các trang ếCác kỹ thuật thực hiện bộ nhớ ảo:Cấp phát số hiệu khung trang yêu cầu cho 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íchtiến trình thước bằng nhau và nằm liền kề nhauHĐH duy trì danh sách các khung trang nhớ Thông dụng: kích thước trang = 4KBytes trống Kỹ thuật phân đoạn: Chia không gian nhớ thànhTiến trình không yêu cầu các khung trang liên các đoạn nhớ có kích thước thay đổi, các đoạntiếp nhớ có thể gối lên nhau.Sử dụng bảng trang để quản lý22 August 2011 61 22 August 201162NKK-HUT NKK-HUT Cấp phát các khung trangĐịa chỉ logic và địa chỉ vật lý của phân trang22 August 2011 63 22 August 201164Nguyễn Kim Khánh - ĐHBKHN16 17. Bài giảng Hệ thống máy tính 22 August 2011NKK-HUT NKK-HUT Nguyên tắc làm việc của bộ nhớ ảo phân trangThất bạiPhân trang theo yêu cầu Quá nhiều tiến trình trong bộ nhớ quá nhỏ Không yêu cầu tất cả các trang của tiến trình nằmHĐH tiêu tốn toàn bộ thời gian cho việc hoán trong bộ nhớ đổi ổ Chỉ nạp vào bộ nhớ những trang được yêu cầuCó ít hoặc không có công việc nào được thựcLỗi trang hiện Trang được yêu cầu không có trong bộ nhớĐĩa luôn luôn sáng HĐH cần hoán đổi trang yêu cầu vàoGiải pháp: p p Có thể cần hoán đổi một trang nào đó ra để lấy chỗ Thuật toán thay trang Cần chọn trang để đưa raGiảm bớt số tiến trình đang chạy Thêm bộ nhớ22 August 2011 65 22 August 2011 66NKK-HUT NKK-HUT Lợi ích Cấu trúc bảng trangKhông cần toàn bộ tiến trình nằm trongbộ nhớ để chạyCó thể hoán đổi trang được yêu cầu ểổ ầNhư vậy có thể chạy những tiến trìnhlớn hơn tổng bộ nhớ sẵn dùngBộ nhớ chính được gọi là bộ nhớ thựcNgười dùng ảN ời dù cảm giác bộ nhớ lớ hơn iáhớ lớn hbộ nhớ thực22 August 2011 67 22 August 2011 68Nguyễn Kim Khánh - ĐHBKHN17 18. Bài giảng Hệ thống máy tính 22 August 2011NKK-HUT NKK-HUT 2.6. Hệ thống lưu trữ - RAIDĐặc điểm của RAIDTập các đĩa cứng vật lý được OS coi nhưmột ổ logic duy nhất dung lượng lớnRedundant Array of Inexpensive DisksDữ liệu được lưu trữ phân tán trên các ổRedundant Array of Independent Disksđĩa vật lý truy cập song song (nhanh)Hệ thống nhớ dung lượng lớn 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ẻ, chophép khôi phục lại thông tin trong trườnghợp đĩa bị hỏng an toàn thông tin7 loại phổ biến (RAID 0 – 6)22 August 2011 69 22 August 201170NKK-HUT NKK-HUT RAID 0, 1, 2RAID 3 & 422 August 2011 71 22 August 201172Nguyễn Kim Khánh - ĐHBKHN18 19. Bài giảng Hệ thống máy tính22 August 2011NKK-HUT NKK-HUT RAID 5 & 6Ánh xạ dữ liệu của RAID 022 August 2011 73 22 August 2011 74NKK-HUTHết chương 222 August 2011 75Nguyễn Kim Khánh - ĐHBKHN 19