Cấu trúc máy tính - Chương 3: Hệ thống máy tính

pdf 256 trang vanle 2940
Bạn đang xem 20 trang mẫu của tài liệu "Cấu trúc máy tính - Chương 3: Hệ thống máy tí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:

  • pdfcau_truc_may_tinh_chuong_3_he_thong_may_tinh.pdf

Nội dung text: Cấu trúc máy tính - Chương 3: Hệ thống máy tính

  1. Cấu trúc máy tính Chương 3 HỆ THỐNG MÁY TÍNH 1
  2. Nội dung chương 3 3.1. Cấu trúc v{ hoạt động cơ bản của m|y tính 3.2. Bộ xử lý trung t}m 3.3. Bộ nhớ m|y tính 3.4. Hệ thống v{o ra 2
  3. 3.1. Cấu trúc và hoạt động cơ bản của máy tính  3.1.1. C|c th{nh phần cơ bản của m|y tính  3.1.2. Hoạt động cơ bản của m|y tính 3
  4. 3.1.1. Các thành phần cơ bản của máy tính  Bộ xử lý trung t}m (Central Processing Unit)  Bộ nhớ (Memory)  Hệ thống v{o-ra (Input-Output System)  Bus liên kết hệ thống (System Interconnection Bus) 4
  5. 1. Bộ xử lý trung tâm (CPU) . Chức năng:  Điều khiển hoạt động của to{n bộ hệ thống m|y tính  Xử lý dữ liệu . Nguyên tắc hoạt động cơ bản:  CPU hoạt động theo chương trình nằm trong bộ nhớ chính. 5
  6. Cấu trúc cơ bản của CPU 6
  7. Các thành phần cơ bản của CPU . Đơn vị điều khiển (Control Unit - CU): điều khiển hoạt động của m|y tính theo chương trình đ~ định sẵn. . Đơn vị số học và logic (Arithmetic and Logic Unit - ALU): thực hiện c|c phép to|n số học v{ c|c phép to|n logic trên c|c dữ liệu cụ thể. . Tập thanh ghi (Register File - RF): lưu giữ c|c thông tin tạm thời phục vụ cho hoạt động của CPU. . Bus bên trong (Internal Bus): kết nối c|c th{nh phần bên trong CPU với nhau. . Đơn vị nối ghép bus (Bus Interface Unit - BIU) kết nối v{ trao đổi thông tin với nhau giữa bus bên trong (internal bus) với bus bên ngoài (external bus). 7
  8. Tốc độ của bộ xử lý . Tốc độ của bộ xử lý:  Số lệnh được thực hiện trong 1 gi}y  MIPS (Millions of Instructions per Second)  Khó đ|nh gi| chính x|c . Tần số xung nhịp của bộ xử lý:  Bộ xử lý hoạt động theo một xung nhịp (Clock) có tần số x|c định  Tốc độ của bộ xử lý được đ|nh gi| gi|n tiếp thông qua tần số của xung nhịp 8
  9. Tốc độ của bộ xử lý (tiếp) . Dạng xung nhịp: T0 . T0: chu kỳ xung nhịp . Mỗi thao t|c của bộ xử lý mất một số nguyên lần chu kỳ T0 T0 c{ng nhỏ thì bộ xử lý chạy c{ng nhanh . Tần số xung nhịp: f0=1/T0 gọi l{ tần số l{m việc của CPU . VD: M|y tính dùng bộ xử lý Pentium IV 2GHz 9 Ta có: f0 = 2GHz = 2 x 10 Hz 9 T0 = 1/f0 = 1 / (2 x 10 ) = 0,5 ns 9
  10. 2. Bộ nhớ máy tính . Chức năng: lưu trữ chương trình v{ dữ liệu . C|c thao t|c cơ bản với bộ nhớ:  Thao t|c đọc (Read)  Thao tác ghi (Write) . C|c th{nh phần chính:  Bộ nhớ trong (Internal Memory)  Bộ nhớ ngo{i (External Memory) 10
  11. Các thành phần bộ nhớ máy tính Bộ nhớ Bộ nhớ CPU trong ngoài 11
  12. Bộ nhớ trong . Chức năng v{ đặc điểm:  Chứa c|c thông tin m{ CPU có thể trao đổi trực tiếp  Tốc độ rất nhanh  Dung lượng không lớn  Sử dụng bộ nhớ b|n dẫn: ROM v{ RAM . C|c loại bộ nhớ trong:  Bộ nhớ chính  Bộ nhớ cache (bộ nhớ đệm nhanh) 12
  13. Bộ nhớ chính (Main Memory) . L{ th{nh phần nhớ tồn tại trên mọi hệ thống m|y tính . Chứa c|c chương trình v{ dữ liệu đang được CPU sử dụng . Tổ chức th{nh c|c ngăn nhớ được đ|nh địa chỉ . Ngăn nhớ thường được tổ chức theo Byte . Nội dung của ngăn nhớ có thể thay đổi, song địa chỉ vật lý của ngăn nhớ luôn cố định . Thông thường, bộ nhớ chính bao gồm 2 phần:  Bộ nhớ RAM  Bộ nhớ ROM 13
  14. Bộ nhớ đệm nhanh (Cache) . L{ th{nh phần nhớ tốc độ nhanh được đặt đệm giữa CPU v{ bộ nhớ chính nhằm tăng tốc độ truy cập bộ nhớ của CPU. . Tốc độ của cache nhanh hơn bộ nhớ chính nhưng dung lượng nhỏ hơn. . Cache thường được chia ra th{nh một số mức: cache L1, cache L2, . Hiện nay cache được tích hợp trên c|c chip vi xử lý. . Cache có thể có hoặc không. 14
  15. Bộ nhớ ngoài . Chức năng v{ đặc điểm:  Lưu giữ t{i nguyên phần mềm của m|y tính, bao gồm: hệ điều h{nh, c|c chương trình v{ c|c dữ liệu  Bộ nhớ ngo{i được kết nối với hệ thống dưới dạng c|c thiết bị v{o-ra  Dung lượng lớn  Tốc độ chậm . C|c loại bộ nhớ ngo{i:  Bộ nhớ từ: đĩa cứng, đĩa mềm  Bộ nhớ quang: đĩa CD, DVD  Bộ nhớ b|n dẫn: Flash disk, memory card 15
  16. 3. Hệ thống vào-ra (Input-Output) . Chức năng: Trao đổi thông tin giữa m|y tính với thế giới bên ngo{i. . C|c thao t|c cơ bản:  V{o dữ liệu (Input)  Ra dữ liệu (Output) . C|c th{nh phần chính:  C|c thiết bị ngoại vi (Peripheral Devices)  Các mô-đun nối ghép v{o-ra (IO Modules) 16
  17. Cấu trúc cơ bản của hệ thống vào-ra Cổng Thiết bị vào- ngoại vi ra Cổng Thiết bị Bên vào- ngoại vi trong Module ra máy Vào-ra tính Cổng Thiết bị vào- ngoại vi ra 17
  18. Các thiết bị ngoại vi . Chức năng: chuyển đổi dữ liệu giữa bên trong v{ bên ngoài máy tính . C|c loại thiết bị ngoại vi cơ bản:  Thiết bị v{o: b{n phím, chuột, m|y quét  Thiết bị ra: m{n hình, m|y in  Thiết bị nhớ: c|c ổ đĩa  Thiết bị truyền thông: modem 18
  19. Mô-đun vào-ra . Chức năng: nối ghép thiết bị ngoại vi với m|y tính . Kh|i niệm cổng v{o-ra:  Trong mỗi mô-đun v{o-ra có một hoặc một v{i cổng v{o-ra (I/O Port).  Mỗi cổng v{o-ra cũng được đ|nh một địa chỉ x|c định.  Thiết bị ngoại vi được kết nối v{ trao đổi dữ liệu với bên trong m|y tính thông qua c|c cổng v{o-ra. 19
  20. 4. Bus liên kết hệ thống  Luồng thông tin trong m|y tính  Cấu trúc bus cơ bản  Ph}n cấp bus trong m|y tính 20
  21. Luồng thông tin trong máy tính . Các mô-đun trong m|y tính:  CPU  Mô-đun nhớ  Mô-đun v{o-ra cần được kết nối với nhau 21
  22. Kết nối mô-đun nhớ Địa chỉ Dữ liệu Dữ liệu hoặc lệnh T/h đ/khiển đọc Module nhớ T/h đ/khiển ghi 22
  23. Kết nối mô-đun vào-ra Địa chỉ DL đến TBNV DL từ bên trong MT DL từ TBNV DL đến bên trong MT Module T/h đ/khiển đọc vào-ra Các t/h đ/khiển ngắt T/h đ/khiển ghi 23
  24. Kết nối CPU Lệnh Địa chỉ Dữ liệu Dữ liệu CPU Các t/h đ/khiển Các t/h đ/khiển ngắt bộ nhớ và vào-ra 24
  25. Nhận xét . Có 4 loại thông tin:  Địa chỉ  Dữ liệu  Lệnh  Thông tin điều khiển 25
  26. Cấu trúc bus cơ bản . Kh|i niệm chung về bus:  Bus: tập hợp c|c đường kết nối dùng để vận chuyển thông tin giữa c|c th{nh phần của m|y tính với nhau.  Độ rộng bus: l{ số đường d}y của bus có thể truyền thông tin đồng thời. Tính bằng bit. . C|c bus chức năng:  Bus địa chỉ  Bus dữ liệu  Bus điều khiển 26
  27. Sơ đồ cấu trúc bus cơ bản Môđun Môđun CPU Môđun nhớ Môđun nhớ vào-ra vào-ra N bit Bus địa chỉ M bit Bus dữ liệu Bus điều khiển 27
  28. Bus địa chỉ (Address bus) . Chức năng: vận chuyển địa chỉ để x|c định ngăn nhớ hay cổng v{o-ra . Độ rộng bus địa chỉ: cho biết số lượng ngăn nhớ tối đa được đ|nh địa chỉ.  N bit: AN-1, AN-2, A2, A1, A0 có thể đ|nh địa chỉ tối đa cho 2N ngăn nhớ (không gian địa chỉ bộ nhớ) . Ví dụ:  Bộ xử lý Pentium có bus địa chỉ 32 bit có khả năng đ|nh địa chỉ cho 232 bytes nhớ (4GBytes) (ngăn nhớ tổ chức theo byte) 28
  29. Bus dữ liệu (Data bus) . Chức năng:  vận chuyển lệnh từ bộ nhớ đến CPU  vận chuyển dữ liệu giữa CPU, mô đun nhớ, mô đun v{o-ra với nhau . Độ rộng bus dữ liệu: X|c định số bit dữ liệu có thể được trao đổi đồng thời.  M bit: DM-1, DM-2, D2, D1, D0  M thường l{ 8, 16, 32, 64,128 bit. . Ví dụ: C|c bộ xử lý Pentium có bus dữ liệu 64 bit 29
  30. Bus điều khiển (Control bus) . Chức năng: vận chuyển c|c tín hiệu điều khiển . Các loại tín hiệu điều khiển:  C|c tín hiệu điều khiển đọc/ghi  C|c tín hiệu điều khiển ngắt  C|c tín hiệu điều khiển bus 30
  31. Một số tín hiệu điều khiển điển hình . C|c tín hiệu ph|t ra từ CPU để điều khiển đọc/ghi:  Memory Read (MEMR): điều khiển đọc dữ liệu từ một ngăn nhớ có địa chỉ x|c định lên bus dữ liệu.  Memory Write (MEMW): điều khiển ghi dữ liệu có sẵn trên bus dữ liệu đến một ngăn nhớ có địa chỉ x|c định.  I/O Read (IOR): điều khiển đọc dữ liệu từ một cổng v{o-ra có địa chỉ x|c định lên bus dữ liệu.  I/O Write (IOW): điều khiển ghi dữ liệu có sẵn trên bus dữ liệu ra một cổng có địa chỉ x|c định. 31
  32. Một số tín hiệu điều khiển điển hình . C|c tín hiệu điều khiển ngắt:  Interrupt Request (INTR): Tín hiệu từ bộ điều khiển v{o-ra gửi đến yêu cầu ngắt CPU để trao đổi v{o-ra. Tín hiệu INTR có thể bị che.  Interrupt Acknowledge (INTA): Tín hiệu ph|t ra từ CPU b|o cho bộ điều khiển v{o-ra biết CPU chấp nhận ngắt.  Non Maskable Interrupt (NMI): tín hiệu ngắt không che được gửi đến ngắt CPU.  Reset: Tín hiệu từ bên ngo{i gửi đến CPU v{ c|c th{nh phần kh|c để khởi động lại m|y tính. 32
  33. Một số tín hiệu điều khiển điển hình . C|c tín hiệu điều khiển bus:  Bus Request (BRQ) / Hold: Tín hiệu từ bộ điều khiển v{o-ra chuyên dụng gửi đến yêu cầu CPU chuyển nhượng quyền sử dụng bus.  Bus Grant (BGT) / Hold Acknowledge: Tín hiệu ph|t ra từ CPU chấp nhận chuyển nhượng quyền sử dụng bus.  Lock: Tín hiệu khóa không cho xin chuyển nhượng bus.  Unlock: Tín hiệu mở khóa cho xin chuyển nhượng bus. 33
  34. Đặc điểm của cấu trúc đơn bus . Tất cả c|c th{nh phần cùng nối v{o một đường bus chung . Tại một thời điểm, bus chỉ phục vụ được một yêu cầu trao đổi dữ liệu . Bus phải có tốc độ bằng tốc độ của th{nh phần nhanh nhất trong hệ thống . Bus phụ thuộc v{o cấu trúc bus của bộ xử lý các mô-đun nhớ v{ c|c mô-đun v{o-ra cũng phụ thuộc v{o bộ xử lý cụ thể. Cần phải thiết kế bus ph}n cấp hay cấu trúc đa bus 34
  35. Phân cấp bus trong máy tính . Ph}n cấp th{nh nhiều bus kh|c nhau cho c|c th{nh phần:  Bus của bộ xử lý  Bus của bộ nhớ chính  Các bus vào-ra . Ph}n cấp bus kh|c nhau về tốc độ . C|c bus nối ghép với mô-đun nhớ v{ mô-đun v{o-ra không phụ thuộc v{o bộ xử lý cụ thể. 35
  36. Các bus điển hình trong máy PC . Bus của bộ xử lý (Front Side Bus – FSB): có tốc độ nhanh nhất . Bus của bộ nhớ chính (nối ghép với c|c mô-đun nhớ RAM) . AGP bus (Accelerated Graphic Port) – cổng tăng tốc đồ họa: nối ghép với card m{n hình . PCI bus (Peripheral Component Interconnect): nối ghép với c|c TBNV có tốc độ trao đổi dữ liệu nhanh. . USB (Universal Serial Bus): bus nối tiếp đa năng . IDE (Integrated Drive Electronics): bus kết nối với ổ đĩa cứng hoặc ổ đĩa quang (CD, DVD, ) 36
  37. VD Chipset 37
  38. VD Bo mạch chính 38
  39. 3.1.2. Hoạt động cơ bản của máy tính  Thực hiện chương trình  Ngắt  Hoạt động v{o ra 39
  40. 1. Thực hiện chương trình . L{ hoạt động cơ bản của m|y tính . M|y tính lặp đi lặp lại hai bước:  Nhận lệnh  Thực hiện lệnh . Thực hiện chương trình bị dừng nếu thực hiện lệnh bị lỗi hoặc gặp lệnh dừng. 40
  41. Nhận lệnh . Bắt đầu mỗi chu trình lệnh, CPU nhận lệnh từ bộ nhớ chính. . Bộ đếm chương trình PC (Program Counter) của CPU giữ địa chỉ của lệnh sẽ được nhận. . CPU nhận lệnh từ ngăn nhớ được trỏ bởi PC. . Lệnh được nạp v{o thanh ghi lệnh IR (Instruction Register). . Sau khi lệnh được nhận v{o, nội dung PC tự động tăng để trỏ sang lệnh kế tiếp. 41
  42. Minh họa quá trình nhận lệnh Bộ nhớ chính Bộ nhớ chính CPU CPU Lệnh 300 Lệnh 300 PC Lệnh 301 PC Lệnh 301 302 Lệnh i 302 303 Lệnh i 302 Lệnh i+1 303 Lệnh i+1 303 IR Lệnh 304 IR Lệnh 304 Lệnh 305 Lệnh i Lệnh 305 Trước khi nhận lệnh i Sau khi nhận lệnh i 42
  43. Thực thi lệnh . Lệnh nằm ở IR sẽ được chuyển sang đơn vị điều khiển (Control Unit). Đơn vị điều khiển sẽ tiến h{nh giải m~ lệnh v{ ph|t c|c tín hiệu điều khiển thực thi thao t|c m{ lệnh yêu cầu. . C|c kiểu thao t|c của lệnh:  Trao đổi dữ liệu giữa CPU v{ bộ nhớ chính  Trao đổi dữ liệu giữa CPU v{ mô-đun v{o-ra  Xử lý dữ liệu: thực hiện c|c phép to|n số học hoặc phép to|n logic với c|c dữ liệu  Điều khiển rẽ nh|nh  Kết hợp c|c thao t|c trên 43
  44. 2. Ngắt (Interrupt) . Kh|i niệm chung về ngắt (Interrupt): Ngắt l{ cơ chế cho phép CPU tạm dừng chương trình đang thực hiện để chuyển sang thực hiện một chương trình kh|c, gọi là chương trình con phục vụ ngắt. . C|c loại ngắt:  Ngắt do lỗi khi thực hiện chương trình, ví dụ: tr{n số, chia cho 0  Ngắt do lỗi phần cứng, ví dụ: lỗi bộ nhớ RAM  Ngắt do tín hiệu yêu cầu từ mô-đun v{o-ra gửi đến CPU yêu cầu trao đổi dữ liệu 44
  45. Hoạt động ngắt . Sau khi ho{n th{nh mỗi một lệnh, bộ xử lý kiểm tra tín hiệu ngắt . Nếu không có ngắt bộ xử lý nhận lệnh tiếp theo của chương trình hiện tại . Nếu có tín hiệu ngắt:  Tạm dừng chương trình đang thực hiện  Cất ngữ cảnh (c|c thông tin liên quan đến chương trình bị ngắt)  Thiết lập PC trỏ đến chương trình con phục vụ ngắt  Chuyển sang thực hiện chương trình con phục vụ ngắt  Cuối chương trình con phục vụ ngắt, khôi phục ngữ cảnh v{ tiếp tục chương trình đang bị tạm dừng 45
  46. Hoạt động ngắt 46
  47. Xử lý với nhiều tín hiệu yêu cầu ngắt . Xử lý ngắt tuần tự:  Khi một ngắt đang được thực hiện, c|c ngắt kh|c sẽ bị cấm  Bộ xử lý sẽ bỏ qua c|c ngắt tiếp theo trong khi đang xử lý một ngắt  C|c ngắt vẫn đang đợi v{ được kiểm tra sau khi ngắt đầu tiên được xử lý xong  C|c ngắt được thực hiện tuần tự 47
  48. Xử lý với nhiều tín hiệu yêu cầu ngắt . Xử lý ngắt ưu tiên:  C|c ngắt được định nghĩa mức ưu tiên kh|c nhau  Ngắt có mức ưu tiên thấp hơn có thể bị ngắt bởi ngắt ưu tiên cao hơn ngắt xảy ra lồng nhau 48
  49. 3. Hoạt động vào-ra . L{ hoạt động trao đổi dữ liệu giữa thiết bị ngoại vi với bên trong máy tính. . C|c kiểu hoạt động v{o-ra:  CPU trao đổi dữ liệu với mô-đun v{o-ra  Mô-đun v{o-ra trao đổi dữ liệu trực tiếp với bộ nhớ chính (DMA- Direct Memory Access). 49
  50. 3.2. Bộ xử lý trung tâm 3.2.1. Cấu trúc cơ bản của CPU 3.2.2. Tập lệnh 3.2.3. Hoạt động của CPU 50
  51. 3.2.1. Cấu trúc cơ bản của CPU Đơn vị điều Đơn vị số Tập các khiển học và logic thanh ghi (CU) (ALU) (RF) Bus bên trong Đơn vị ghép nối Bus (BIU) Bus điều Bus dữ liệu Bus địa chỉ khiển 51
  52. 1. Đơn vị điều khiển (CU) . Chức năng:  Điều khiển nhận lệnh từ bộ nhớ đưa v{o thanh ghi lệnh v{ tăng nội dung của PC để trỏ sang lệnh kế tiếp.  Giải m~ lệnh nằm trong thanh ghi lệnh để x|c định thao t|c cần thực hiện v{ ph|t ra tín hiệu điều khiển thực hiện lệnh đó.  Nhận tín hiệu yêu cầu từ bus hệ thống v{ đ|p ứng với c|c yêu cầu đó. 52
  53. Đơn vị điều khiển (tiếp) . Mô hình kết nối của đơn vị điều khiển: Thanh ghi lệnh Các Tín hiệu điều cờ khiển bên Đơn vị điều trong CPU khiển Clock Tín hiệu yêu Tín hiệu điều cầu từ Bus hệ khiển đến Bus thống hệ thống Bus điều khiển 53
  54. Đơn vị điều khiển (tiếp) . C|c tín hiệu đưa đến đơn vị điều khiển:  M~ lệnh từ thanh ghi lệnh đưa đến để giải m~  C|c cờ từ thanh ghi cờ cho biết trạng th|i của CPU  Xung clock từ bộ tạo xung bên ngo{i cung cấp cho đơn vị điều khiển l{m việc  C|c tín hiệu yêu cầu từ bus điều khiển 54
  55. Đơn vị điều khiển (tiếp) . C|c tín hiệu ph|t ra từ đơn vị điều khiển:  C|c tín hiệu điều khiển bên trong CPU: . Điều khiển c|c thanh ghi . Điều khiển hoạt động của ALU  C|c tín hiệu điều khiển bên ngo{i CPU: . Điều khiển bộ nhớ chính . Điều khiển c|c module v{o-ra 55
  56. 2. Đơn vị số học và logic (ALU) . Chức năng: Thực hiện c|c phép to|n số học v{ c|c phép toán logic.  Số học: cộng, trừ, nh}n, chia, tăng, giảm, đảo dấu,  Logic: AND, OR, XOR, NOT, c|c phép dịch v{ quay bit 56
  57. Đơn vị số học và logic (tiếp) . Mô hình kết nối của ALU: Dữ liệu vào Dữ liệu ra từ các đến các thanh ghi thanh ghi Đơn vị số học Các tín và logic hiệu từ (ALU) đơn vị điều khiển Thanh ghi cờ 57
  58. 3. Tập thanh ghi (RF) a. Chức năng v{ ph}n loại b. Một số thanh ghi điển hình 58
  59. a. Chức năng và phân loại . Chức năng:  L{ tập hợp c|c thanh ghi nằm trong CPU  Chứa c|c thông tin tạm thời phục vụ cho hoạt động hiện tại của CPU. 59
  60. Phân loại tập thanh ghi . Ph}n loại theo khả năng can thiệp của người lập trình:  C|c thanh ghi không lập trình được: người lập trình không can thiệp được  C|c thanh ghi lập trình được: người lập trình can thiệp được . Ph}n loại theo chức năng:  Thanh ghi địa chỉ: quản lý địa chỉ của ngăn nhớ hay cổng v{o-ra  Thanh ghi dữ liệu: chứa c|c dữ liệu tạm thời hoặc kết quả trung gian phục vụ cho việc xử lý dữ liệu của CPU  Thanh ghi điều khiển v{ trạng th|i: chứa c|c thông tin điều khiển v{ trạng th|i của CPU  Thanh ghi lệnh: chứa lệnh đang được thực hiện  Thanh ghi đa năng: có thể chứa địa chỉ hoặc dữ liệu 60
  61. b. Một số thanh ghi điển hình . C|c thanh ghi địa chỉ  Bộ đếm chương trình (Program Counter – PC)  Con trỏ dữ liệu (Data Pointer – DP)  Con trỏ ngăn xếp (Stack Pointer – SP)  Thanh ghi cơ sở v{ thanh ghi chỉ số (Base Register & Index Register) . C|c thanh ghi dữ liệu . Thanh ghi trạng th|i 61
  62. Các vùng nhớ cơ bản của CT . Chương trình đang thực hiện phải nằm trong bộ nhớ chính v{ nó chiếm 3 vùng nhớ cơ bản sau:  Vùng nhớ lệnh (Code): chứa c|c lệnh của chương trình.  Vùng dữ liệu (Data): chứa dữ liệu của chương trình. Thực chất đ}y l{ nơi cấp ph|t c|c ngăn nhớ cho c|c biến nhớ.  Vùng ngăn xếp (Stack): l{ vùng nhớ có cấu trúc LIFO (Last In First Out) dùng để cất giữ thông tin v{ sau đó có thể khôi phục lại. Thường dùng cho việc thực hiện c|c chương trình con. 62
  63. Bộ đếm chương trình (PC) . Còn gọi l{ con trỏ lệnh (Instruction Pointer - IP) . L{ thanh ghi chứa địa chỉ của lệnh tiếp theo sẽ được nhận v{o. . Sau khi một lệnh được nhận v{o thì nội dung của PC tự động tăng để trỏ sang lệnh kế tiếp nằm ngay sau lệnh vừa được nhận. 63
  64. Minh họa hoạt động của PC Vùng nhớ lệnh (Code) Lệnh Lệnh PC Lệnh sẽ được nhận vào Lệnh kế tiếp Lệnh Lệnh 64
  65. Thanh ghi con trỏ dữ liệu (DP) . Chứa địa chỉ của ngăn nhớ dữ liệu m{ CPU muốn truy cập. . Thường có một số thanh ghi con trỏ dữ liệu. 65
  66. Minh họa hoạt động của DP Vùng dữ liệu (Data) Dữ liệu Dữ liệu DP Dữ liệu cần đọc/ghi Dữ liệu Dữ liệu Dữ liệu 66
  67. Con trỏ ngăn xếp (SP) . Chứa địa chỉ của ngăn nhớ đỉnh ngăn xếp (ngăn xếp có chiều từ đ|y lên đỉnh ngược với chiều tăng của địa chỉ) . Khi cất thêm một thông tin v{o ngăn xếp:  Nội dung của SP tự động giảm  Thông tin được cất v{o bắt đầu từ ngăn nhớ trỏ bởi SP . Khi lấy một thông tin ra khỏi ngăn xếp:  Thông tin được lấy ra bắt đầu từ ngăn nhớ trỏ bởi SP  Nội dung của SP tự động tăng . Khi ngăn xếp rỗng: SP trỏ v{o đ|y ngăn xếp 67
  68. Minh họa hoạt động của SP Ngăn xếp (Stack) Ngăn xếp (Stack) Đỉnh Stack cũ Đỉnh Stack mới Đ Đ ị ị SP Đỉnh Stack mới a SP Đỉnh Stack cũ a c c h h ỉ ỉ t t ă ă n n g g d d ầ ầ n n Đáy Stack Đáy Stack Khi lấy 1 thông tin ra khỏi ngăn xếp, SP tự động tăng Khi cất 1 thông tin vào ngăn xếp, SP tự động giảm 68
  69. Thanh ghi cơ sở và thanh ghi chỉ số . Thanh ghi cơ sở: chứa địa chỉ của ngăn nhớ cơ sở (địa chỉ cơ sở). . Thanh ghi chỉ số: chứa độ lệch địa chỉ giữa ngăn nhớ m{ CPU cần truy cập so với ngăn nhớ cơ sở (chỉ số). . Địa chỉ của ngăn nhớ cần truy cập = địa chỉ cơ sở + chỉ số 69
  70. Minh họa thanh ghi cơ sở và chỉ số Bộ nhớ chính Thanh ghi cơ sở Ngăn nhớ cơ sở Thanh ghi chỉ số Ngăn nhớ cần truy cập 70
  71. Các thanh ghi dữ liệu . Chứa c|c dữ liệu tạm thời hoặc c|c kết quả trung gian phục vụ cho việc xử lý dữ liệu của CPU . Cần có nhiều thanh ghi dữ liệu . C|c thanh ghi số nguyên: 8, 16, 32, 64 bit . C|c thanh ghi số dấu chấm động 71
  72. Thanh ghi trạng thái . Còn gọi l{ thanh ghi cờ (Flag Register) . Chứa c|c thông tin trạng th|i của CPU  C|c cờ phép to|n: biểu thị trạng th|i của kết quả phép to|n  C|c cờ điều khiển: điều khiển chế độ l{m việc của CPU 72
  73. Ví dụ cờ phép toán . Cờ Zero (ZF - cờ rỗng): được thiết lập lên 1 khi kết quả của phép to|n vừa thực hiện xong bằng 0. . Cờ Sign (SF - cờ dấu): được thiết lập lên 1 khi kết quả của phép to|n vừa thực hiện nhỏ hơn 0, hay nói c|ch kh|c, cờ Sign nhận gi| trị bằng bit dấu của kết quả. . Cờ Carry (CF - cờ nhớ): được thiết lập lên 1 nếu phép to|n xảy ra hiện tượng carry-out. . Cờ Overflow (OF - cờ tr{n): được thiết lập lên 1 nếu phép to|n xảy ra hiện tượng overflow. 73
  74. Ví dụ cờ điều khiển . Cờ Interrupt (IF - cờ cho phép ngắt):  Nếu IF = 1 thì CPU ở trạng th|i cho phép ngắt với tín hiệu yêu cầu ngắt từ bên ngo{i gửi tới.  Nếu IF = 0 thì CPU ở trạng th|i cấm ngắt với tín hiệu yêu cầu ngắt từ bên ngo{i. 74
  75. Bài tập . Giả sử có c|c biến nhớ a, b, c, d, e, f thuộc kiểu số nguyên có dấu 8 bit. C|c biến a, b được g|n gi| trị như sau: a:=-58 b:=72 H~y biểu diễn c|c phép tính sau đ}y dưới dạng số nhị ph}n v{ cho biết kết quả dạng thập ph}n cùng với gi| trị của c|c cờ ZF, SF, CF, OF tương ứng. c:=a-b d:=a+b e:=b-a f:=-a-b 75
  76. Bộ xử lý trung tâm 3.2.1. Cấu trúc cơ bản của CPU 3.2.2. Tập lệnh 3.2.3. Hoạt động của CPU 76
  77. 3.2.2. Tập lệnh 1. Giới thiệu chung về tập lệnh 2. C|c kiểu thao t|c điển hình 3. C|c phương ph|p địa chỉ hóa to|n hạng 77
  78. 1. Giới thiệu chung về tập lệnh . Mỗi bộ xử lý có một tập lệnh x|c định (mang tính kế thừa trong cùng một dòng họ). . Tập lệnh thường có h{ng chục đến h{ng trăm lệnh. . Mỗi lệnh l{ một chuỗi số nhị ph}n m{ bộ xử lý hiểu được để thực hiện một thao t|c x|c định. . C|c lệnh được mô tả bằng c|c kí hiệu gợi nhớ các lệnh hợp ngữ. 78
  79. Khuôn dạng của một lệnh máy Mã thao tác Tham chiếu toán hạng . Mã thao tác (Operation Code - Opcode): mã hóa cho thao t|c m{ CPU phải thực hiện. . Tham chiếu to|n hạng: m~ hóa cho to|n hạng hoặc nơi chứa to|n hạng m{ thao t|c sẽ t|c động.  To|n hạng nguồn (Source Operand): dữ liệu v{o của thao t|c (CPU sẽ đọc)  To|n hạng đích (Destination Operand): dữ liệu ra của thao t|c (CPU sẽ ghi) 79
  80. Số lượng toán hạng trong lệnh . Ba to|n hạng:  2 to|n hạng nguồn, 1 to|n hạng đích  VD: c = a + b  Từ lệnh d{i vì phải m~ hóa địa chỉ cho cả 3 to|n hạng  Thường được sử dụng trên c|c bộ xử lý tiên tiến . Hai to|n hạng:  1 to|n hạng l{ to|n hạng nguồn, to|n hạng còn lại vừa l{ nguồn vừa l{ đích.  VD: a = a + b  Gi| trị cũ của 1 to|n hạng nguồn sẽ bị ghi đè bằng KQ  Rút gọn độ d{i từ lệnh  Thường được dùng phổ biến 80
  81. Số lượng toán hạng trong lệnh (tiếp) . Một to|n hạng:  Chỉ có 1 to|n hạng được chỉ ra trong lệnh  To|n hạng còn lại được ngầm định, thường l{ thanh ghi (VD: thanh chứa – Accumulator)  Thường được sử dụng trên c|c bộ xử lý thế hệ cũ . Không có to|n hạng:  C|c to|n hạng đều được ngầm định  Sử dụng Stack  VD: lệnh c = a + b push a push b add pop c  Không thông dụng 81
  82. 2. Các kiểu thao tác điển hình . Chuyển dữ liệu . Xử lý số học với số nguyên . Xử lý logic . Điều khiển v{o-ra . Chuyển điều khiển (rẽ nh|nh) . Điều khiển hệ thống 82
  83. Các lệnh chuyển dữ liệu MOVE Copy dữ liệu từ nguồn đến đích LOAD Copy dữ liệu từ bộ nhớ đến bộ xử lý STORE Copy dữ liệu từ bộ xử lý đến bộ nhớ EXCHANGE Tráo đổi nội dung của nguồn và đích CLEAR Chuyển các bit 0 vào toán hạng đích SET Chuyển các bit 1 vào toán hạng đích PUSH Copy dữ liệu từ nguồn đến đỉnh ngăn xếp POP Copy dữ liệu từ đỉnh ngăn xếp đến đích 83
  84. Các lệnh số học ADD Tính tổng hai toán hạng SUBTRACT Tính hiệu hai toán hạng MULTIPLY Tính tích hai toán hạng DIVIDE Tính thương hai toán hạng ABSOLUTE Thay toán hạng bằng trị tuyệt đối của nó NEGATE Đổi dấu toán hạng (lấy bù 2) INCREMENT Cộng 1 vào toán hạng DECREMENT Trừ toán hạng đi 1 COMPARE So sánh hai toán hạng để lập cờ 84
  85. Các lệnh logic AND Thực hiện phép AND hai toán hạng OR Thực hiện phép OR hai toán hạng XOR Thực hiện phép XOR hai toán hạng NOT Đảo bit của toán hạng (lấy bù 1) TEST Thực hiện phép AND hai toán hạng để lập cờ SHIFT Dịch trái (phải) toán hạng ROTATE Quay trái (phải) toán hạng CONVERT Chuyển đổi dữ liệu từ dạng này sang dạng khác 85
  86. VD các lệnh AND, OR, XOR, NOT . Giả sử có hai thanh ghi chứa dữ liệu như sau: (R1) = 1010 1010 (R2) = 0000 1111 . Khi đó ta có: (R1) AND (R2) = 0000 1010  Phép to|n AND có thể được dùng để xo| một số bit v{ giữ nguyên c|c bit còn lại của to|n hạng. (R1) OR (R2) = 1010 1111  Phép to|n OR có thể được dùng để thiết lập một số bit v{ giữ nguyên c|c bit còn lại của to|n hạng. (R1) XOR (R2) = 1010 0101  Phép to|n XOR có thể được dùng để đảo một số bit v{ giữ nguyên c|c bit còn lại của to|n hạng. NOT (R1) = 0101 0101  Phép to|n NOT dùng để đảo tất cả c|c bit của to|n hạng. 86
  87. Các lệnh SHIFT và ROTATE Dịch trái 0 logic Dịch phải 0 logic Dịch trái số 0 học Dịch phải số học Quay trái logic Quay phải logic 87
  88. Các lệnh vào-ra chuyên dụng IN Copy dữ liệu từ một cổng x|c định đến đích OUT Copy dữ liệu từ nguồn đến một cổng x|c định 88
  89. Các lệnh chuyển điều khiển JUMP (BRANCH) Nhảy (rẽ nhánh) không điều kiện; nạp vào PC một địa chỉ xác định JUMP CONDITIONAL Kiểm tra điều kiện xác định, hoặc nạp vào PC một địa chỉ xác định hoặc không không làm gì cả CALL Cất nội dung PC vào ngăn xếp, nạp vào PC địa chỉ xác định để nhảy đến thực hiện chương trình con RETURN Khôi phục nội dung PC từ đỉnh ngăn xếp để trở về chương trình chính 89
  90. Lệnh rẽ nhánh không điều kiện . Chuyển tới thực hiện lệnh ở vị trí có địa chỉ l{ XXX: PC ← XXX lệnh Lệnh_rẽ_nhánh XXX Lệnh kế tiếp lệnh lệnh . . . XXX lệnh lệnh 90
  91. Lệnh rẽ nhánh có điều kiện . Kiểm tra điều kiện trong lệnh:  Nếu điều kiện đúng chuyển tới thực hiện lệnh ở vị trí có địa chỉ XXX PC  XXX  Nếu điều kiện sai chuyển sang thực hiện lệnh_kế_tiếp . Điều kiện thường được kiểm tra thông qua c|c cờ. . Có nhiều lệnh rẽ nh|nh có điều kiện. 91
  92. Minh họa lệnh rẽ nhánh có điều kiện lệnh lệnh Lệnh_rẽ_nhánh_đk XXX Lệnh kế tiếp lệnh lệnh . . . XXX lệnh lệnh lệnh 92
  93. Lệnh CALL và RETURN . Lệnh gọi chương trình con: lệnh CALL  Cất nội dung PC (chứa địa chỉ của lệnh_kế_tiếp) v{o Stack  Nạp v{o PC địa chỉ của lệnh đầu tiên của chương trình con được gọi → Bộ xử lý chuyển sang thực hiện chương trình con tương ứng . Lệnh trở về từ chương trình con: lệnh RETURN  Lấy địa chỉ của lệnh_kế_tiếp được cất ở Stack nạp trả lại cho PC → Bộ xử lý được điều khiển quay trở về thực hiện tiếp lệnh nằm sau lệnh CALL 93
  94. Minh họa lệnh CALL và RETURN lệnh lệnh CALL CTCon Lệnh_kế_tiếp Lệnh lệnh . . . CTCon Lệnh đầu tiên của CTC lệnh lệnh . . . RETURN 94
  95. Các lệnh điều khiển hệ thống HALT Dừng thực hiện chương trình WAIT Dừng thực hiện chương trình, lặp kiểm tra điều kiện cho đến khi thoả mãn thì tiếp tục thực hiện NO OPERATION (NOP) Không thực hiện gì cả LOCK Cấm không cho xin chuyển nhượng bus UNLOCK Cho phép xin chuyển nhượng bus 95
  96. 3. Các phương pháp địa chỉ hóa toán hạng . Phương ph|p địa chỉ hóa to|n hạng l{ c|ch thức chỉ ra nơi chứa c|c to|n hạng m{ thao t|c sẽ t|c động. . To|n hạng có thể l{:  Hằng số → cần cho biết gi| trị của hằng số đó  Nội dung của một thanh ghi bên trong CPU → cần cho biết tên của thanh ghi  Nội dung của một ngăn nhớ → cần cho biết địa chỉ ngăn nhớ  Nội dung của một cổng v{o-ra → cần cho biết địa chỉ của cổng v{o-ra 96
  97. Các chế độ địa chỉ thông dụng . Chế độ địa chỉ tức thì . Chế độ địa chỉ thanh ghi . Chế độ địa chỉ trực tiếp . Chế độ địa chỉ gi|n tiếp qua thanh ghi . Chế độ địa chỉ gi|n tiếp qua ngăn nhớ . Chế độ địa chỉ dịch chuyển 97
  98. Chế độ địa chỉ tức thì Mã thao tác Toán hạng . Immediate Addressing Mode . To|n hạng l{ một hằng số ở ngay trong lệnh . Ví dụ: ADD AX, 5 ; AX ← AX + 5 . Truy nhập to|n hạng rất nhanh 98
  99. Chế độ địa chỉ thanh ghi . Register Addressing Mode . To|n hạng l{ nội dung của một Mã thao tác Tên thanh ghi thanh ghi mà tên thanh ghi được cho biết ở trong lệnh. . Ví dụ: Tập thanh ghi MOV AX, BX ; AX ← BX . Tốc độ truy cập nhanh hơn so với những lệnh có truy cập đến Toán hạng bộ nhớ. 99
  100. Chế độ địa chỉ trực tiếp . Direct Addressing Mode . To|n hạng l{ nội dung của một Mã thao tác Địa chỉ ngăn nhớ m{ địa chỉ ngăn nhớ được cho trực tiếp ở trong lệnh. Bộ nhớ chính . Ví dụ: MOV AL, [1000] Toán hạng ; AL ← nội dung byte nhớ có địa chỉ l{ 1000 100
  101. Chế độ địa chỉ gián tiếp qua thanh ghi Mã thao tác Tên thanh ghi Tập thanh ghi Bộ nhớ chính Địa chỉ Toán hạng . Register Indirect Addressing Mode . Ví dụ: MOV AL, [BX] ; AL ← nội dung của byte nhớ có địa chỉ bằng gi| trị của thanh ghi BX 101
  102. Chế độ địa chỉ gián tiếp qua ngăn nhớ . Ngăn nhớ được trỏ bởi Trường địa chỉ của lệnh M· thao t¸c §Þa chØ chứa địa chỉ của to|n hạng Bé nhí . Có thể gi|n tiếp nhiều lần . Giống như kh|i niệm biến §Þa chØ con trỏ v{ biến động trong lập trình . CPU phải thực hiện tham chiếu bộ nhớ nhiều lần để To¸n h¹ng tìm to|n hạng chậm . Vùng nhớ có thể được tham chiếu l{ lớn 102
  103. Chế độ địa chỉ dịch chuyển . Để x|c định to|n hạng, Trường địa M· thao t¸c Tªn thanh ghi H»ng sè chỉ chứa hai th{nh Bé nhí phần: TËp thanh ghi  Tên thanh ghi  Hằng số + To¸n h¹ng . Địa chỉ của to|n hạng = nội dung thanh ghi + hằng số . Thanh ghi có thể được ngầm định 103
  104. Các dạng chế độ địa chỉ dịch chuyển . Địa chỉ hóa tương đối với PC:  Thanh ghi là PC  VD: c|c lệnh chuyển điều khiển . Định địa chỉ cơ sở:  Thanh ghi l{ thanh ghi cơ sở (chứa địa chỉ cơ sở)  Hằng số l{ chỉ số . Định địa chỉ chỉ số:  Thanh ghi l{ thanh ghi chỉ số (chứa chỉ số)  Hằng số l{ địa chỉ cơ sở 104
  105. 3.2. Bộ xử lý trung tâm 3.2.1. Cấu trúc cơ bản của CPU 3.2.2. Tập lệnh 3.2.3. Hoạt động của CPU 105
  106. 3.2.3. Hoạt động của CPU 1. Chu trình lệnh 2. Đường ống lệnh 106
  107. 1. Chu trình lệnh . Bao gồm c|c công đoạn chính sau đ}y:  Nhận lệnh  Giải m~ lệnh  Nhận to|n hạng  Thực hiện lệnh  Cất to|n hạng  Ngắt 107
  108. Giản đồ trạng thái chu trình lệnh Nhận từ bộ - Từ bộ nhớ - Ra bộ nhớ nhớ chính - Từ cổng vào - Đến cổng ra Nhận toán C t toán Nhận lệnh hạng hạng Xác định iải m Tính địa Tính địa Thao tác Kiểm tra C địa chỉ của thao tác chỉ toán chỉ toán Ngắt dữ liệu ngắt lệnh của lệnh hạng hạng Lệnh tiếp theo Lệnh x l STRING hay VECTOR Không 108
  109. Nhận lệnh . CPU đưa địa chỉ của lệnh cần nhận từ thanh ghi bộ đếm chương trình PC ra bus địa chỉ . CPU ph|t tín hiệu điều khiển đọc bộ nhớ . Lệnh từ bộ nhớ được đặt lên bus dữ liệu v{ được CPU copy v{o trong thanh ghi lệnh IR . CPU tăng nội dung của PC để trỏ sang lệnh kế tiếp 109
  110. Minh họa quá trình nhận lệnh CPU PC Đơn vị Bộ nhớ điều khiển IR PC : Bộ đếm chương trình Bus Bus Bus IR : Thanh ghi lệnh địa dữ điều chỉ liệu khiển 110
  111. Giải mã lệnh . Lệnh từ thanh ghi lệnh IR được đưa đến đơn vị điều khiển . Đơn vị điều khiển tiến h{nh giải m~ lệnh để x|c định thao t|c cần phải thực hiện 111
  112. Nhận toán hạng . CPU đưa địa chỉ của to|n hạng ra bus địa chỉ . CPU ph|t tín hiệu điều khiển đọc . To|n hạng được chuyển v{o trong CPU 112
  113. Nhận toán hạng gián tiếp . CPU đưa địa chỉ ra bus địa chỉ . CPU ph|t tín hiệu điều khiển đọc . Nội dung ngăn nhớ được chuyển v{o CPU, đó chính l{ địa chỉ của to|n hạng . CPU ph|t địa chỉ n{y ra bus địa chỉ . CPU ph|t tín hiệu điều khiển đọc . Nội dung của to|n hạng được chuyển v{o CPU 113
  114. Minh họa nhận toán hạng gián tiếp CPU MAR Đơn vị Bộ nhớ điều khiển MBR MAR (Memory Address Register) : Bus Bus Bus Thanh ghi địa chỉ bộ nhớ địa dữ điều MBR (Memory Buffer Register): chỉ liệu khiển Thanh ghi đệm bộ nhớ 114
  115. Thực hiện lệnh . Có nhiều dạng thao t|c tùy thuộc v{o lệnh . Có thể l{:  Đọc/ghi bộ nhớ  Vào-ra dữ liệu  Chuyển dữ liệu giữa c|c thanh ghi  Thực hiện phép to|n số học hoặc logic  Chuyển điều khiển (rẽ nh|nh)  115
  116. Ghi toán hạng . CPU đưa địa chỉ ra bus địa chỉ . CPU đưa dữ liệu cần ghi ra bus dữ liệu . CPU ph|t tín hiệu điều khiển ghi . Dữ liệu trên bus dữ liệu được copy đến vị trí x|c định 116
  117. Minh họa quá trình ghi toán hạng CPU MAR Đơn vị Bộ nhớ điều khiển MBR MAR : Thanh ghi địa chỉ bộ nhớ Bus Bus Bus MBR : Thanh ghi đệm bộ nhớ địa dữ điều chỉ liệu khiển 117
  118. Ngắt . CPU lưu lại gi| trị hiện tại của PC (l{ địa chỉ trở về sau khi ho{n th{nh ngắt) – thường lưu v{o Stack.  CPU đưa nội dung của PC ra bus dữ liệu  CPU đưa địa chỉ (thường được x|c định từ con trỏ ngăn xếp SP) ra bus địa chỉ  CPU ph|t tín hiệu điều khiển ghi bộ nhớ  Địa chỉ trở về (nội dung của PC) trên bus dữ liệu được lưu v{o ngăn nhớ tương ứng ở ngăn xếp . CPU nạp v{o PC địa chỉ lệnh đầu tiên của chương trình con phục vụ ngắt tương ứng.  CPU x|c định địa chỉ của vector ngắt tương ứng  CPU ph|t địa chỉ n{y ra bus địa chỉ  CPU ph|t tín hiệu điều khiển đọc bộ nhớ  Gi| trị của vector ngắt (địa chỉ lệnh đầu tiên của CTC phục vụ ngắt) được chuyển ra bus dữ liệu  Gi| trị n{y được nạp v{o trong PC 118
  119. 2. Đường ống lệnh . Nguyên tắc của Pipeline: chia chu trình lệnh th{nh c|c công đoạn v{ cho phép thực hiện gối lên nhau theo kiểu d}y chuyền. . Giả sử chu trình lệnh gồm 6 công đoạn với thời gian thực hiện như nhau (T):  Nhận lệnh (Fetch Instruction – FI)  Giải m~ lệnh (Decode Instruction – DI)  Tính đ/chỉ to|n hạng (Calculate Operand Address – CO)  Nhận to|n hạng (Fetch Operands – FO)  Thực hiện lệnh (Execute Instruction – EI)  Ghi to|n hạng (Write Operands – WO) 119
  120. Biểu đồ thời gian của đường ống lệnh 1 2 3 4 5 6 7 8 9 10 11 12 Lệnh 1 FI DI CO FO EI WO Lệnh 2 FI DI CO FO EI WO Lệnh 3 FI DI CO FO EI WO Lệnh 4 FI DI CO FO EI WO Lệnh 5 FI DI CO FO EI WO Lệnh 6 FI DI CO FO EI WO 120
  121. Các xung đột của đường ống lệnh . Xung đột cấu trúc: do nhiều công đoạn dùng chung một t{i nguyên . Xung đột dữ liệu: lệnh sau sử dụng kết quả của lệnh trước . Xung đột điều khiển: do rẽ nh|nh g}y ra 121
  122. 3.3. Bộ nhớ máy tính 3.3.1. Tổng quan hệ thống nhớ 3.3.2. Bộ nhớ b|n dẫn 3.3.3. Bộ nhớ chính 3.3.4. Bộ nhớ cache 3.3.5. Bộ nhớ ngo{i 3.3.6. Bộ nhớ ảo 3.3.7. Bộ nhớ trên m|y tính c| nh}n 122
  123. 3.3.1. Tổng quan hệ thống nhớ 1. C|c đặc trưng của hệ thống nhớ 2. Ph}n cấp hệ thống nhớ của m|y tính 123
  124. 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 v{ 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ớ . Đơn vị truyền:  Theo từng từ nhớ  Theo từng khối (block) nhớ . Phương ph|p truy cập:  Truy cập tuần tự (băng từ)  Truy cập trực tiếp (c|c loại đĩa)  Truy cập ngẫu nhiên (bộ nhớ b|n dẫn)  Truy cập liên kết (cache) 124
  125. Các đặc trưng của hệ thống nhớ . Hiệu năng:  Thời gian truy cậ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 . C|c đặc tính vật lý:  Khả biến (mất điện thì mất thông tin) / Không khả biến  Xóa được / Không xóa được . Tổ chức 125
  126. 2. Phân cấp hệ thống nhớ của MT Bộ vi x l CPU Bộ Bộ Tập Bộ Bộ nhớ nhớ thanh Cache nhớ nhớ ghi Cache L1 chính ngoài L2 Bộ nhớ mạng Dung lượng , tốc độ , tần su t CPU truy cập , giá thành / bit thông tin , 126
  127. Hệ thống nhớ của máy tính (tiếp) . Tập thanh ghi (Registers):  L{ th{nh phần nhớ nằm trong CPU, được coi l{ mức nhớ đầu tiên  Chứa c|c thông tin phục vụ cho hoạt động ở thời điểm hiện tại của CPU . Bộ nhớ đệm nhanh (Cache):  Bộ nhớ có tốc độ nhanh được đặt giữa CPU v{ bộ nhớ chính nhằm tăng tốc độ truy cập bộ nhớ của CPU.  Thường được chia th{nh một v{i mức (L1, L2) . Bộ nhớ chính (Main Memory):  Chứa c|c chương trình v{ dữ liệu đang được sử dụng. . Bộ nhớ ngo{i (External Memory):  Chứa c|c t{i nguyên phần mềm của m|y tính. 127
  128. 3.3. Bộ nhớ máy tính 3.3.1. Tổng quan hệ thống nhớ 3.3.2. Bộ nhớ b|n dẫn 3.3.3. Bộ nhớ chính 3.3.4. Bộ nhớ cache 3.3.5. Bộ nhớ ngo{i 3.3.6. Bộ nhớ ảo 3.3.7. Bộ nhớ trên m|y tính c| nh}n 128
  129. 3.3.2. Bộ nhớ bán dẫn 1. Ph}n loại 2. Mô hình cơ bản của chip nhớ 129
  130. 1. Phân loại . Gồm 2 loại chính: ROM v{ RAM . ROM (Read Only Memory): bộ nhớ chỉ đọc . Đặc điểm:  Bộ nhớ chủ yếu dùng để đọc thông tin  Bộ nhớ không khả biến  Chứa c|c chương trình v{ dữ liệu cố định với hệ thống 130
  131. ROM (tiếp) . C|c loại bộ nhớ ROM:  Maskable ROM (ROM mặt nạ): thông tin được ghi khi chế tạo  PROM (Programmable ROM): . Khi chế tạo chưa có thông tin . Cho phép ghi thông tin được 1 lần bằng thiết bị chuyên dụng  EPROM (Erasable PROM): . Cho phép xóa bằng tia cực tím . Ghi lại bằng thiết bị nạp EPROM  EEPROM (Electrically Erasable PROM): . Có thể xóa bằng tín hiệu điện v{ ghi lại thông tin ngay trong mạch l{m việc (không cần thiết bị ghi riêng) . Có thể xóa v{ ghi lại ở mức từng Byte . Dung lượng nhỏ  Flash Memory: giống EEPROM nhưng: . Đọc/ghi theo từng block . Tốc độ rất nhanh . Dung lượng lớn 131
  132. RAM (Random Access Memory) . RAM (Random Access Memory): bộ nhớ truy cập ngẫu nhiên . Đặc điểm:  L{ bộ nhớ đọc/ghi (Read/Write Memory – RWM)  Bộ nhớ khả biến  Chứa c|c thông tin tạm thời 132
  133. RAM (tiếp) . C|c loại bộ nhớ RAM:  SRAM (Static): RAM tĩnh . Mỗi phần tử nhớ l{ một mạch lật 2 trạng th|i ổn định → thông tin trên SRAM ổn định . Tốc độ nhanh . Dung lượng chip nhớ nhỏ . Gi| th{nh đắt . Thường dùng l{m bộ nhớ Cache  DRAM (Dynamic): RAM động . Mỗi phần tử nhớ l{ một tụ điện rất nhỏ → cứ sau một khoảng thời gian thì điện tích trên tụ điện sẽ bị mất, cho nên thông tin trên DRAM không ổn định → khắc phục bằng mạch l{m tươi (refresh) DRAM . Tốc độ chậm (do mất thời gian l{m tươi DRAM) . Dung lượng chip nhớ lớn . Gi| th{nh rẻ . Thường dùng l{m bộ nhớ chính 133
  134. 2. Mô hình cơ bản của chip nhớ Từ nhớ 0 Từ nhớ 1 D0 A0 Từ nhớ 2 A Bộ . 1 Bộ D1 giải Ma trận A2 đệm mã . nhớ . . dữ . địa 2n x m bit liệu . . chỉ . . An-1 Dm-1 Từ nhớ 2n-1 Điều khiển đọc/ghi CS WE OE 134
  135. Mô hình cơ bản của chip nhớ (tiếp) . Có n ch}n địa chỉ (An-1 ÷ A0) : vận chuyển v{o chip nhớ được n bit địa chỉ đồng thời → trong chip nhớ có 2n từ nhớ. . Có m ch}n dữ liệu: (Dm-1 ÷ D0) : cho phép vận chuyển đồng thời được m bit dữ liệu → độ d{i từ nhớ l{ m bit. → Dung lượng của chip nhớ l{: 2n x m bit . C|c ch}n tín hiệu điều khiển:  CS (Chip Select): tín hiệu điều khiển chọn chip nhớ l{m việc  OE (Output Enable): tín hiệu điều khiển đọc dữ liệu của 1 từ nhớ đ~ được x|c định.  WE (Write Enable): tín hiệu điều khiển ghi dữ liệu v{o 1 từ nhớ đ~ được x|c định. 135
  136. Hoạt động của chip nhớ . Hoạt động đọc:  C|c bit địa chỉ được đưa đến c|c ch}n địa chỉ.  Tín hiệu điều khiển chọn chip nhớ l{m việc được đưa đến CS  Tín hiệu điều khiển đọc đưa đến OE  Dữ liệu từ ngăn nhớ tương ứng với địa chỉ đ~ có sẽ được đưa ra c|c ch}n dữ liệu. 136
  137. Hoạt động của chip nhớ (tiếp) . Hoạt động ghi:  C|c bit địa chỉ được đưa đến c|c ch}n địa chỉ  Dữ liệu cần ghi được đưa đến c|c ch}n dữ liệu  Tín hiệu điều khiển chọn chip được đưa đến CS  Tín hiệu điều khiển ghi được đưa đến WE  Dữ liệu từ c|c ch}n dữ liệu sẽ được ghi v{o ngăn nhớ tương ứng. 137
  138. 3.3. Bộ nhớ máy tính 3.3.1. Tổng quan hệ thống nhớ 3.3.2. Bộ nhớ b|n dẫn 3.3.3. Bộ nhớ chính 3.3.4. Bộ nhớ cache 3.3.5. Bộ nhớ ngo{i 3.3.6. Bộ nhớ ảo 3.3.7. Bộ nhớ trên m|y tính c| nh}n 138
  139. 3.3.3. Bộ nhớ chính 1. C|c đặc trưng của bộ nhớ chính 2. Tổ chức bộ nhớ đan xen 139
  140. 1. Các đặc trưng của bộ nhớ chính . L{ th{nh phần nhớ tồn tại trên mọi hệ thống m|y tính . 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 . Bao gồm c|c ngăn nhớ được đ|nh địa chỉ trực tiếp bởi CPU . Dung lượng vật lý của bộ nhớ chính ≤ 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 140
  141. 2. Tổ chức bộ nhớ đan xen . Độ rộng của bus dữ liệu để trao đổi với bộ nhớ chính M = 8, 16, 32, 64, 128 bit . C|c ngăn nhớ được tổ chức theo từng Byte nhớ → Tổ chức bộ nhớ chính kh|c nhau 141
  142. M = 8 bit . VD: Intel 8088 . BN chính l{ 1 băng (bank) nhớ tuyến tính 1 Byte 0 1 2 Bus địa chỉ i AN-1 ÷ A0 Bus dữ liệu D7 ÷ D0 142
  143. M = 16 bit . VD: Intel 8086 ÷ 80286 . Bộ nhớ chính gồm 2 băng (bank) nhớ đan xen Băng 1 Băng 0 1 0 3 2 A0 5 4 BE1 Byte Tạo tín hiệu chọn Byte nhớ BE0 Word Bus địa chỉ 2i+1 2i AN-1 ÷ A1 BE1 BE0 D15 ÷ D8 D7 ÷ D0 Bus dữ liệu 16 bit 143
  144. Các trường hợp khác . Với M = 32 bit (80386, 80486): bộ nhớ chính gồm 4 băng nhớ đan xen . Với M = 64 bit (c|c bộ xử lý Pentium): bộ nhớ chính gồm 8 băng nhớ đan xen 144
  145. 3.3. Bộ nhớ máy tính 3.3.1. Tổng quan hệ thống nhớ 3.3.2. Bộ nhớ b|n dẫn 3.3.3. Bộ nhớ chính 3.3.4. Bộ nhớ cache 3.3.5. Bộ nhớ ngo{i 3.3.6. Bộ nhớ ảo 3.3.7. Bộ nhớ trên m|y tính c| nh}n 145
  146. 3.3.4. Bộ nhớ cache 1. Nguyên tắc chung của cache 2. C|c phương ph|p |nh xạ 3. Thuật giải thay thế 4. Phương ph|p ghi dữ liệu khi cache hit 5. Cache trên c|c bộ xử lý Intel 146
  147. 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 147
  148. 1. 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 độ truy cập bộ nhớ của CPU . Cache có thể được đặt trên chip CPU 148
  149. Cấu trúc chung của cache / Bộ nhớ chính 149
  150. Cấu trúc chung của cache / Bộ nhớ chính . 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 150
  151. Cấu trúc chung của cache / Bộ nhớ chính . 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). 151
  152. 2. Các phương pháp ánh xạ . Á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) 152
  153. Á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 Lj mod m  m l{ số Line của cache. 153
  154. Minh họa ánh xạ trực tiếp 154
  155. Đặ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 155
  156. Á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 đó 156
  157. Minh họa ánh xạ liên kết toàn phần 157
  158. Đặ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. 158
  159. Á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  159
  160. Minh họa ánh xạ liên kết tập hợp 160
  161. Đặ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 161
  162. Thuật giải thay thế (Á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 đó 162
  163. Thuật giải thay thế (Á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 163
  164. 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 164
  165. 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: 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 165
  166. 3.3.5. Bộ nhớ ngoài 1. Đĩa từ 2. Đĩa quang 3. Flash disk 4. C|c chuẩn nối ghép ổ đĩa 5. RAID 166
  167. 1. Đĩa từ . C|c đặc tính của đĩa từ:  Đầu từ cố định hay 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 . Không tiếp xúc . Gồm 2 loại phổ biến:  Đĩa mềm  Đĩa cứng 167
  168. a. Đĩa mềm . 8”, 5.25”, 3.5” . Dung lượng nhỏ (≤ 1.44MB) . Tốc độ chậm . Thông dụng . Rẻ tiền . Không còn dùng nữa 168
  169. b. Đĩa cứng . Một hoặc nhiều đĩa . Thông dụng . Dung lượng tăng nhanh . Tốc độ đọc/ghi nhanh . Tương đối rẻ tiền 169
  170. 2. Đĩa quang . C|c loại chính:  CD-ROM (Compact Disc Read Only Memory)  CD-R (Recordable CD)  CD-RW (Rewriteable CD)  DVD (Digital Video Disc) 170
  171. a. CD-ROM . Thông tin được ghi ngay khi sản xuất đĩa. . Dữ liệu tồn tại dưới dạng c|c mặt phẳng (land) v{ c|c lỗ (pit).  Bit 1 tương ứng với sự thay đổi từ mặt phẳng th{nh lỗ hay ngược lại;  còn những lỗ hay mặt phẳng kéo d{i (không có sự thay đổi) tương ứng với bit 0. . Tốc độ đọc cơ sở của một ổ đĩa CD-ROM ban đầu l{ 150KB/s (tốc độ 1X). . C|c ổ đĩa hiện nay có tốc độ đọc l{ bội số của tốc độ cơ sở n{y (ví dụ 48X, 52X, ) 171
  172. CD-ROM (tiếp) 172
  173. b. CD-R . Khi sản xuất ra, c|c đĩa n{y đều l{ đĩa trắng (chưa có thông tin). Sau đó có thể ghi dữ liệu lên đĩa n{y nhưng chỉ ghi được một lần nhờ ổ ghi CD-R riêng. . CD-R có cấu trúc v{ hoạt động tương tự như CD-ROM.  Cấu tạo gồm nhiều lớp, trong đó lớp chứa dữ liệu l{ một lớp m{u polymer hữu cơ.  Khi bị tia laser đốt ch|y, lớp m{u n{y chuyển sang m{u đen v{ đóng vai trò như c|c lỗ (pit) của CD-ROM. . C|c đĩa CD-R sau khi ghi có thể được đọc từ ổ CD- ROM hoặc từ ổ CD-R. C|c đĩa CD-R còn được gọi l{ WORM (write one read multiple). 173
  174. c. CD-RW . CD-RW có cấu trúc v{ hoạt động tương tự như CD-R. Trong đó lớp chứa dữ liệu l{ một lớp kim loại. . Nguyên tắc ghi dữ liệu dựa trên sự thay đổi trạng th|i của lớp kim loại:  trạng th|i tinh thể (phản xạ |nh s|ng - mặt phẳng)  v{ trạng th|i vô định hình (không phản xạ |nh s|ng - vùng lỗ trong CD-ROM hay m{u bị đốt đen trong CD-R). . Qu| trình thay đổi trạng th|i n{y có thể thay đổi bất kì tùy theo công suất laser nên đĩa CD-RW có thể được ghi rồi xóa đi ghi lại nhiều lần. 174
  175. d. DVD . Đ}y l{ loại đĩa quang có dung lượng lớn v{ có tốc độ nhanh hơn so với c|c đĩa quang trên. . Đĩa DVD có thể lưu trữ thông tin trên hai mặt, mỗi mặt có thể có đến 2 lớp dữ liệu. . C|c đĩa DVD hiện nay thường có dung lượng l{ 4.7GB/mặt hoặc 9.4GB/mặt. . Tốc độ truy nhập cơ bản của ổ đĩa DVD l{ 1.321MByte/s. . DVD cũng có nhiều loại 175
  176. 3. Flash disk . Thực chất l{ bộ nhớ b|n dẫn tốc độ cao (flash memory) . Thường được kết nối với m|y tính thông qua giao tiếp USB . Dung lượng tăng nhanh . Thuận tiện, gi| th{nh hợp lý 176
  177. Flash disk (tiếp) 177
  178. 4. Các chuẩn nối ghép ổ đĩa . Giao diện IDE-ATA (Integrated Drive Electronics – AT Attachment):  Được IBM thiết kế để nối trực tiếp ổ cứng kèm mạch điều khiển với Bus của m|y tính AT gọi l{ giao diện ATA. Sau đó giao diện n{y được kết hợp với ổ đĩa v{ bộ điều khiển trong c|c ổ đĩa → giao diện IDE/ATA.  Giao diện IDE (mạch điện tử tích hợp trong ổ đĩa) chỉ bất cứ ổ đĩa n{o có tích hợp bộ điều khiển đĩa gắn bên trong. . C|p IDE chuẩn: gồm 40 d}y, tín hiệu truyền song song trên cả d}y chẵn v{ d}y lẻ nên độ d{i của c|p bị hạn chế ở 46 cm. . Giới hạn dung lượng đĩa tối đa l{ 504MB v{ có tốc độ tương đối chậm.  EIDE (Enhanced IDE - IDE được n}ng cao): . Gia tăng dung lượng ổ đĩa lên tới hơn 8GB . Tăng tốc độ truyền tải dữ liệu lên hơn hai lần khả năng của IDE . Tăng gấp đôi số lượng ổ đĩa m{ một m|y PC có thể có 178
  179. Các chuẩn nối ghép ổ đĩa (tiếp)  Giao diện ATA gồm nhiều phiên bản: . ATA-1 (1986-1994) . ATA-2 (1996) . ATA-3 (1997) . ATA-4 (1998, còn gọi l{ Ultra-ATA/33 MHz) . ATA-5 và ATA-6 (từ 1999 đến nay, còn gọi l{ Ultra- ATA/66/100/133 MHz). C|p cho c|c chuẩn n{y được thiết kế gồm 80 d}y để truyền dữ liệu tốc độ cao (c|c d}y nối đất v{ d}y tín hiệu xen kẽ nhau nhằm mục đích khử nhiễu) 179
  180. Các chuẩn nối ghép ổ đĩa (tiếp) . Giao diện Serial ATA:  Do một số cty lớn đưa ra v{o năm 1999  Giao tiếp Serial Advanced Technology Attachment (Serial ATA) cho ổ cứng v{ thiết bị ATA Packet Interface (ATAPI)  So với Parallel ATA, Serial ATA dùng điện |p thấp, đầu ch}n cắm nhỏ gọn v{ ít d}y hơn.  Serial ATA tương thích ho{n to{n với phần mềm trước đ}y d{nh cho thiết bị Parallel ATA v{ ATAPI.  Thế hệ sản phẩm Serial ATA đầu tiên xuất hiện trên thị trường v{o giữa 2002, đạt tốc độ 150MBps. Trong tương lai, c|c phiên bản kế tiếp có thể đạt băng thông 300MBps v{ 600MBps. 180
  181. Các chuẩn nối ghép ổ đĩa (tiếp) . Giao diện SCSI (Small Computer System Interface):  Dùng để kết nối nhiều loại thiết bị có tốc độ trao đổi dữ liệu cao trong một m|y tính, thường được dùng trong c|c m|y chủ.  Một bus SCSI hỗ trợ tối đa 7 hoặc 15 thiết bị  Có nhiều chuẩn SCSI: . SCSI-1 (1986): truyền dữ liệu trên bus song song 8 bit, tốc độ 5 MB/s, dùng cáp 50 dây. . SCSI-2 (1994): truyền dữ liệu trên bus song song 16 bit, tốc độ 10 MB/s, dùng c|p 50 d}y mật độ cao. . SCSI-3: được thiết kế cho c|c m|y tính đời mới hiện nay, gồm 2 phiên bản: Ultra 2 SCSI (tốc độ truyền tới 40 MB/s) v{ Ultra 3 SCSI (tốc độ truyền tới 80 MB/s hoặc 160 MB/s) 181
  182. 5. RAID . Redundant Array of Independent Disks . L{ tập hợp c|c ổ đĩa cứng vật lý m{ hệ điều h{nh coi như l{ một ổ đĩa logic duy nhất . Khi ghi lên hệ thống RAID, c|c tệp dữ liệu được ph}n mảnh v{ lưu trữ ph}n t|n trên c|c ổ cứng vật lý . Có khả năng tạo ra v{ lưu trữ thông tin dư thừa để đảm bảo khôi phục lại thông tin trong trường hợp ổ đĩa bị hỏng . Có 7 loại phổ biến: RAID 0  6 182
  183. 3.3. Bộ nhớ máy tính 3.3.1. Tổng quan hệ thống nhớ 3.3.2. Bộ nhớ b|n dẫn 3.3.3. Bộ nhớ chính 3.3.4. Bộ nhớ cache 3.3.5. Bộ nhớ ngo{i 3.3.6. Bộ nhớ ảo 3.3.7. Bộ nhớ trên m|y tính c| nh}n 183
  184. 3.3.6. Bộ nhớ ảo . Kh|i niệm bộ nhớ ảo: l{ bộ nhớ bao gồm bộ nhớ chính v{ bộ nhớ ngo{i m{ được CPU coi như l{ một bộ nhớ duy nhất. . 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. 184
  185. 3.3. Bộ nhớ máy tính 3.3.1. Tổng quan hệ thống nhớ 3.3.2. Bộ nhớ b|n dẫn 3.3.3. Bộ nhớ chính 3.3.4. Bộ nhớ cache 3.3.5. Bộ nhớ ngo{i 3.3.6. Bộ nhớ ảo 3.3.7. Bộ nhớ trên m|y tính c| nh}n 185
  186. 3.3.7. Bộ nhớ trên máy tính cá nhân 1. Bộ nhớ Cache 2. RAM 3. ROM BIOS 4. CMOS RAM 5. Video RAM 6. C|c loại bộ nhớ ngo{i 186
  187. 1. Bộ nhớ Cache . Thường được chia th{nh nhiều mức:  Cache L1: . Cache lệnh . Cache dữ liệu  Cache L2: 128, 256, 512 KB, 1 MB . Được tích hợp trên c|c chip vi xử lý 187
  188. 2. RAM . Sử dụng DRAM, thường được coi l{ bộ nhớ chính. . C|c loại bộ nhớ RAM:  FPM (Fast Page Mode) DRAM  EDO (Extended Data Out) DRAM  SDRAM (Synchronous DRAM)  DDR SDRAM (Double Data Rate SDRAM)  RDRAM (Rambus DRAM) . C|c loại module nhớ RAM:  Máy tính Desktop: . SIMM (Single Inline Memory Module) . DIMM (Dual Inline Memory Module) . RIMM (Rambus Inline Memory Module)  Máy tính Laptop: . SODIMM (Small Outline Dual Inline Memory Module) . MicroDIMM (Micro Dual Inline Memory Module) 188
  189. a. Các loại bộ nhớ RAM . FPM DRAM (Fast Page Mode DRAM)  Khi truy cập bộ nhớ: địa chỉ h{ng không đổi, chỉ thay đổi địa chỉ cột.  Chế độ truy cập burst mode (từ 486) cho phép sau khi thiết lập c|c địa chỉ h{ng, cột cho 1 lần truy cập, CPU có thể truy cập thêm 3 địa chỉ tiếp m{ không có trạng th|i chờ.  Chế độ burst mode của DRAM chuẩn được mô tả dưới dạng c|c thông số x-y-y-y.  VD: FPM DRAM 60ns có thông số định thời của chế độ burst mode là 5-3-3-3. Với bus hệ thống 66MHz thì mất 5x15=75ns cho lần truy cập đầu v{ 3x15=45ns cho mỗi lần trong số 3 lần truy cập tiếp theo (nhanh hơn 5-5-5-5). 189
  190. Các loại bộ nhớ RAM (tiếp) . EDO DRAM (Extended Data Out DRAM)  Sử dụng chủ yếu từ 1995 – 1997.  L{ dạng cải tiến của FPM DRAM: c|c bộ điều khiển dữ liệu ra không bị tắt khi bộ điều khiển bộ nhớ xóa địa chỉ cột cho chu kỳ tiếp theo => cho phép chu kỳ tiếp theo gối lên chu kỳ trước (tiết kiệm khoảng 10ns cho 1 chu kỳ).  Gi| th{nh ngang với FPM nhưng hiệu năng cao hơn.  VD: burst mode của EDO l{ 5-2-2-2 (cần 11 chu kỳ cho 4 lần truyền) so với 5-3-3-3 của FPM (truyền 4 lần trong 14 chu kỳ). 190
  191. Các loại bộ nhớ RAM (tiếp) . SDRAM (Synchronous DRAM):  Sử dụng từ 1997, chủ yếu cho c|c m|y tính PII, PIII.  Chạy đồng bộ với bus bộ nhớ (66, 100, 133 MHz).  Thời gian x|c định địa chỉ vẫn như cũ nhưng tổng thời gian nhanh hơn so với FPM v{ EDO DRAM.  VD: SDRAM : 5-1-1-1 (cần 8 chu kỳ cho 4 lần truyền), nhanh hơn 11 v{ 14 chu kỳ của EDO v{ FPM. 191
  192. Các loại bộ nhớ RAM (tiếp) . DDR SDRAM (Double Data Rate SDRAM):  Xuất hiện từ năm 2000.  L{ dạng cải tiến của SDRAM, cho phép truyền dữ liệu 2 lần ở cả sườn dương v{ sườn }m của 1 chu kỳ. . DDR2 SDRAM:  Xuất hiện từ năm 2004.  L{ dạng cải tiến của DDR SDRAM: sử dụng cặp d}y tín hiệu vi sai cho phép truyền nhanh v{ ít nhiễu hơn.  Sử dụng điện |p thấp hơn DDR SDRAM (1.8V so với 2.5V). 192
  193. Các loại module nhớ DDR SDRAM 193
  194. Các loại module nhớ DDR2 SDRAM 194
  195. Các loại bộ nhớ RAM (tiếp) . RDRAM (Rambus DRAM):  L{ loại RAM tốc độ cao, được sản xuất theo công nghệ của hãng Rambus.  Xuất hiện chủ yếu từ 1999 đến 2002 (sau 2001 Intel không còn hỗ trợ công nghệ n{y). 195
  196. Các loại module nhớ RDRAM 196
  197. b. Các loại module nhớ RAM . C|c module RAM thế hệ cũ:  DIP (Dual Inline Package)  SIPP (Single Inline Pin Package) . Máy tính Desktop:  SIMM (Single Inline Memory Module)  DIMM (Dual Inline Memory Module)  RIMM (Rambus Inline Memory Module) . Máy tính Laptop:  SODIMM (Small Outline Dual Inline Memory Module)  MicroDIMM (Micro Dual Inline Memory Module) 197
  198. DIP và SIPP . Thường l{ dạng đóng gói của c|c module nhớ FPM DRAM. . Dùng trong c|c m|y tính tương đương với hệ 80286 trở về trước. 198
  199. SIMM . Module nhớ đơn h{ng ch}n, gồm 2 loại chính:  SIMM 32 ch}n (8 bit dữ liệu + 1 bit parity) : FPM DRAM  SIMM 72 ch}n (32 bit dữ liệu + 4 bit parity tùy chọn) : EDO DRAM 199
  200. DIMM . Module nhớ hai h{ng ch}n, gồm 3 loại chính:  DIMM 168 chân: SDRAM  DIMM 184 chân: DDR SDRAM  DIMM 240 chân: DDR2 SDRAM . Độ rộng đường dữ liệu: 64 bit (non-ECC/parity) hoặc 72 bit (parity/ECC). 200
  201. Minh họa các module nhớ DIMM RIMM 201
  202. SODIMM . Thường dùng trong c|c m|y laptop, notebook, printer, router, . Gồm 4 loại chính:  SODIMM 72 ch}n, 32 bit dữ liệu, FPM/EDO  SODIMM 144 ch}n, 64 bit dữ liệu, FPM/EDO  SODIMM 144 ch}n, 64 bit dữ liệu, SDRAM  SODIMM 200 ch}n, 64 bit dữ liệu, DDR/DDR2 SDRAM 202
  203. MicroDIMM . Thường dùng trong c|c m|y notebook cỡ nhỏ, PDA, palmtop, . Gồm 2 loại chính:  MicroDIMM 144 ch}n, 64 bit dữ liệu, SDRAM  MicroDIMM 172 ch}n, 64 bit dữ liệu, DDR SDRAM 203
  204. 3. ROM BIOS . BIOS: Basic Input Output System. Chứa c|c chương trình: . Chương trình POST (Power On Self Test): tự kiểm tra khi bật nguồn. Mọi lỗi thông b|o ở đ}y đều l{ lỗi về phần cứng. . Chương trình CMOS Setup:  Cho phép người sử dụng có thể thiết lập c|c thông số cấu hình v{ thời gian của hệ thống.  C|c thông tin sau khi thiết lập sẽ được cất v{o bộ nhớ CMOS RAM. . Chương trình Bootstrap Loader: tìm v{ nạp Boot Record của đĩa khởi động v{o một địa chỉ x|c định ở trong RAM v{ trao quyền điều khiển cho đoạn m~ đó. . C|c chương trình điều khiển v{o-ra cơ bản: tập hợp c|c chương trình con phục vụ v{o-ra. 204
  205. 4. CMOS RAM . L{ một vùng nhớ có dung lượng nhỏ, được chế tạo bằng công nghệ CMOS, có một nguồn pin nuôi riêng, dùng để chứa c|c thông tin cấu hình v{ thời gian của hệ thống. 205
  206. 5. Video RAM . Vùng nhớ có tốc độ nhanh, dung lượng lớn, dùng để quản lý c|c thông tin hiển thị trên m{n hình. 206
  207. 6. Các loại bộ nhớ ngoài . Đĩa mềm . Ổ đĩa cứng . C|c loại đĩa quang . Flash disk 207
  208. 3.4. Hệ thống vào ra 3.4.1. Tổng quan về hệ thống v{o-ra 3.4.2. C|c phương ph|p điều khiển v{o-ra 3.4.3. Nối ghép với thiết bị ngoại vi 3.4.4. C|c cổng v{o-ra thông dụng trên PC 208
  209. 3.4.1. Tổng quan về hệ thống vào-ra 1. Giới thiệu chung 2. C|c thiết bị ngoại vi 3. Module nối ghép v{o-ra 4. C|c phương ph|p địa chỉ hóa cổng v{o-ra 209
  210. 1. Giới thiệu chung . Chức năng: trao đổi thông tin giữa m|y tính v{ hệ thống bên ngo{i. . C|c thao t|c cơ bản:  V{o dữ liệu (Input)  Ra dữ liệu (Output) . C|c th{nh phần chính:  C|c thiết bị ngoại vi  C|c module nối ghép v{o-ra 210
  211. 2. Các thiết bị ngoại vi . Chức năng: Chuyển đổi thông tin từ một dạng vật lý n{o đó về dạng dữ liệu phù hợp với m|y tính hoặc ngược lại. . Ph}n loại:  C|c thiết bị thu nhận dữ liệu: như b{n phím, chuột, m|y quét ảnh,  C|c thiết bị hiển thị dữ liệu: m{n hình, m|y in,  C|c thiết bị lưu trữ: ổ đĩa mềm, ổ đĩa cứng, ổ đĩa quang CD, DVD,  C|c thiết bị truyền thông: modem, card mạng, 211
  212. Cấu trúc chung của TBNV Dữ liệu từ/đến Dữ liệu từ/đến module vào-ra bên ngoài Bộ đệm dữ Bộ chuyển đổi liệu tín hiệu Tín hiệu điều khiển Khối logic điều khiển Tín hiệu trạng thái 212
  213. Các thành phần chính của TBNV . Bộ chuyển đổi tín hiệu: chuyển đổi dữ liệu giữa bên ngoài và bên trong máy tính. . Bộ đệm dữ liệu: đệm dữ liệu khi truyền giữa module vào-ra v{ thiết bị ngoại vi. . Khối logic điều khiển: điều khiển hoạt động của thiết bị ngoại vi đ|p ứng theo yêu cầu từ module v{o-ra. 213
  214. 3. Module vào-ra . Đặc điểm của v{o-ra:  C|c thiết bị ngoại vi rất đa dạng, kh|c nhau về: . Nguyên tắc hoạt động . Tốc độ . Khuôn dạng dữ liệu  Tất cả c|c thiết bị ngoại vi đều chậm hơn CPU v{ RAM → Cần có c|c module v{o-ra để nối ghép c|c thiết bị ngoại vi với CPU v{ bộ nhớ chính. 214
  215. Chức năng của module vào-ra . Chức năng:  Điều khiển v{ định thời  Trao đổi thông tin với CPU  Trao đổi thông tin với thiết bị ngoại vi  Đệm giữa bên trong m|y tính với thiết bị ngoại vi  Ph|t hiện lỗi của thiết bị ngoại vi 215
  216. Cấu trúc chung của module vào- ra Dữ liệu Các đường Bus dữ liệu Cổng nối dữ liệu Thanh ghi đệm bên trong Điều khiển ghép dữ liệu vào-ra Trạng thái Thanh ghi trạng thái / điều khiển Các đường Dữ liệu địa chỉ Cổng nối Điều khiển Khối logic điều khiển ghép vào-ra Trạng thái Các đường điều khiển 216
  217. Các thành phần của module vào-ra . Thanh ghi đệm dữ liệu: đệm dữ liệu trong qu| trình trao đổi. . C|c cổng v{o-ra (I/O Port): kết nối với thiết bị ngoại vi, mỗi cổng có một địa chỉ x|c định. . Khối logic điều khiển: điều khiển module v{o-ra. . Thanh ghi trạng th|i / điều khiển: lưu giữ thông tin trạng th|i / điều khiển cho c|c cổng v{o-ra. 217
  218. 4. Địa chỉ hóa cổng vào-ra . C|c thiết bị ngoại vi được nối ghép v{ trao đổi dữ liệu thông qua c|c cổng v{o-ra. . Mỗi cổng v{o-ra phải có 1 địa chỉ x|c định → cần phải có c|c phương ph|p địa chỉ hóa cho cổng v{o-ra. 218
  219. a. KGĐC bộ nhớ và KGĐC vào-ra . Mọi CPU đều có khả năng quản lý được một không gian địa chỉ bộ nhớ x|c định. N  KGĐC bộ nhớ = 2 byte (N l{ số bit địa chỉ m{ CPU có khả năng ph|t ra) . Một số CPU có khả năng quản lý thêm 1 không gian địa chỉ v{o ra riêng biệt với không gian địa chỉ bộ nhớ. N1  KGĐC v{o-ra = 2 byte N1 N  (N1 : số bit địa chỉ dùng để quản lý không gian địa chỉ v{o-ra, 2 << 2 ) . Trong trường hợp CPU quản lý được cả 2 KGĐC thì:  CPU phải có tín hiệu để ph}n biệt không gian địa chỉ bộ nhớ v{ không gian địa chỉ v{o-ra.  CPU phải có c|c lệnh v{o-ra chuyên dụng. 219
  220. Ví dụ . BXL 68030 của Motorola chỉ quản lý 1 KGĐC bộ nhớ là 232 byte. . BXL Pentium của Intel có khả năng quản lý 2 KGĐC: 32  KGĐC bộ nhớ = 2 byte = 4GB 16  KGĐC v{o-ra = 2 byte = 64KB . Pentium có:  Tín hiệu điều khiển ph}n biệt truy nhập không gian địa chỉ: IO/M  Có 2 lệnh v{o-ra chuyên dụng: IN v{ OUT 220
  221. b. Các pp địa chỉ hóa cổng vào-ra . V{o ra riêng biệt (Isolated I/O):  Cổng v{o-ra được địa chỉ hóa theo không gian địa chỉ v{o-ra riêng biệt.  Để trao đổi dữ liệu với cổng, trong chương trình sử dụng c|c lệnh v{o-ra chuyên dụng. . V{o ra theo bản đồ bộ nhớ (Memory-mapped IO):  Cổng v{o-ra được địa chỉ hóa theo không gian địa chỉ bộ nhớ.  Để trao đổi dữ liệu với cổng, trong chương trình sử dụng c|c lệnh trao đổi dữ liệu với bộ nhớ. 221
  222. 3.4. Hệ thống vào ra 3.4.1. Tổng quan về hệ thống v{o-ra 3.4.2. C|c phương ph|p điều khiển v{o-ra 3.4.3. Nối ghép với thiết bị ngoại vi 3.4.4. C|c cổng v{o-ra thông dụng trên PC 222
  223. 3.4.2. Các pp điều khiển vào-ra 1. Vào-ra bằng chương trình 2. Vào-ra điều khiển bằng ngắt 3. Truy cập trực tiếp bộ nhớ - DMA 223
  224. 1. Vào-ra bằng chương trình . Nguyên tắc chung:  Trong chương trình người lập trình chủ động viết c|c lệnh vào-ra.  Khi thực hiện c|c lệnh v{o-ra đó, CPU trực tiếp điều khiển việc trao đổi dữ liệu với cổng v{o-ra. 224
  225. Lưu đồ thực hiện Đọc trạng thái của module vào-ra Module vào-ra Sai sẵn sàng? Đúng Trao đổi dữ liệu với module vào-ra 225
  226. Hoạt động . CPU yêu cầu thao t|c v{o-ra. . Module vào-ra thực hiện thao t|c. . Module vào-ra thiết lập c|c bit trạng th|i. . CPU kiểm tra c|c bit trạng th|i:  Nếu chưa sẵn s{ng thì quay lại tiếp tục kiểm tra.  Nếu đ~ sẵn s{ng thì chuyển sang trao đổi dữ liệu với module vào-ra. 226
  227. Đặc điểm . Vào-ra do ý muốn của người lập trình . CPU trực tiếp điều khiển v{o-ra . CPU phải đợi module v{o-ra sẵn s{ng → tiêu tốn thời gian của CPU 227
  228. 2. Vào-ra điều khiển bằng ngắt . Nguyên tắc chung:  CPU không phải đợi trạng th|i sẵn s{ng của module v{o-ra.  CPU đang thực hiện một chương trình n{o đó, nếu module vào-ra sẵn s{ng thì nó ph|t tín hiệu yêu cầu ngắt gửi đến CPU.  Nếu yêu cầu ngắt được chấp nhận thì CPU thực hiện chương trình con v{o-ra tương ứng để trao đổi dữ liệu.  Kết thúc chương trình con đó, CPU quay trở lại tiếp tục thực hiện chương trình đang bị ngắt. 228
  229. Hoạt động . Hoạt động v{o dữ liệu – nhìn từ phía module v{o-ra:  Module vào-ra nhận tín hiệu điều khiển đọc từ CPU.  Module vào-ra nhận dữ liệu từ thiết bị ngoại vi, trong khi đó CPU l{m việc kh|c.  Khi đ~ có dữ liệu, module v{o-ra ph|t tín hiệu ngắt CPU.  CPU yêu cầu dữ liệu.  Module vào-ra chuyển dữ liệu đến CPU. 229
  230. Hoạt động (tiếp) . Hoạt động v{o dữ liệu – nhìn từ phía CPU:  CPU ph|t tín hiệu điều khiển đọc.  CPU l{m việc kh|c.  Cuối mỗi chu trình lệnh, CPU kiểm tra tín hiệu ngắt.  Nếu bị ngắt, CPU: . Cất ngữ cảnh hiện tại của chương trình. . Thực hiện chương trình con phục vụ ngắt để v{o dữ liệu. . Sau khi ho{n th{nh chương trình con đó, CPU khôi phục ngữ cảnh v{ trở về tiếp tục thực hiện chương trình đang tạm dừng. 230
  231. Các vấn đề nảy sinh khi thiết kế . L{m thế n{o để x|c định được module v{o-ra nào ph|t tín hiệu yêu cầu ngắt. . Khi có nhiều yêu cầu ngắt cùng gửi đến, CPU sẽ xử lý như thế n{o. 231
  232. Các phương pháp nối ghép ngắt . Sử dụng nhiều đường yêu cầu ngắt . Kiểm tra vòng bằng phần mềm (Software Poll) . Kiểm tra vòng bằng phần cứng (Daisy Chain of Hardware Poll) . Sử dụng bộ điều khiển ngắt (PIC) 232
  233. Sử dụng nhiều đường yêu cầu ngắt INTR 3 Thanh ghi INTR 2 yêu cầu INTR 1 ngắt INTR 0 CPU Module Module Module Module vào-ra vào-ra vào-ra vào-ra . Mỗi module v{o-ra được nối với 1 đường yêu cầu ngắt . CPU phải có nhiều đường tín hiệu yêu cầu ngắt . Hạn chế số lượng module v{o-ra . C|c đường yêu cầu ngắt được quy định mức ưu tiên 233
  234. Kiểm tra vòng bằng phần mềm Cờ yêu INTR cầu ngắt Module Module Module Module CPU vào-ra vào-ra vào-ra vào-ra . CPU thực hiện phần mềm hỏi lần lượt từng module v{o-ra . Tốc độ chậm . Thứ tự c|c module v{o-ra được hỏi vòng chính l{ thứ tự ưu tiên 234
  235. Kiểm tra vòng bằng phần cứng Bus dữ liệu Cờ yêu INTR cầu ngắt INTA Module Module Module Module CPU vào-ra vào-ra vào-ra vào-ra 235
  236. Kiểm tra vòng bằng phần cứng (tiếp) . CPU ph|t tín hiệu chấp nhận ngắt (INTA) đến module vào-ra đầu tiên. . Nếu module v{o-ra đó không g}y ra ngắt thì nó gửi tín hiệu đến module kế tiếp cho đến khi x|c định được module g}y ngắt. . Module vào-ra g}y ngắt sẽ đặt vector ngắt lên bus dữ liệu. . CPU sử dụng vector ngắt để x|c định nơi chứa chương trình con phục vụ ngắt. . Thứ tự c|c module v{o-ra kết nối trong chuỗi x|c định thứ tự ưu tiên. 236
  237. Bộ điều khiển ngắt lập trình được INTR 3 Bus dữ liệu INTR 2 INTR 1 INTR CPU PIC INTR 0 INTA Module Module Module Module vào-ra vào-ra vào-ra vào-ra . PIC: Programmable Interrupt Controller. . PIC có nhiều đường yêu cầu ngắt có quy định mức ưu tiên. . PIC chọn một yêu cầu ngắt không bị cấm có mức ưu tiên cao nhất gửi đến CPU. 237
  238. Tổ chức ngắt của 80x86 Địa chỉ Bộ nhớ . Tổ chức kiểu vector ngắt. 00000 IP của INT 0 Vector 0 : Chia cho 0 00002 CS của INT 0 . Mỗi ngắt được đặc trưng 00004 IP của INT 1 Vector 1 : Chạy từng lệnh 00006 CS của INT 1 bằng số hiệu ngắt N (00 ÷ 00008 IP của INT 0 Vector 2 : Ngắt không che được (NMI) FF). 0000A CS của INT 0 0000C IP của INT 1 Vector 3 : Điểm dừng . Bảng vector ngắt: 0000E CS của INT 1 00010 IP của INT 0 Vector 4 : Tràn số học 256 x 4 = 1024 byte 00012 CS của INT 0 00014 IP của INT 1 Vector 5 00000 ÷ 003FF 00016 CS của INT 1 Được định nghĩa trước . ọi CTC phục vụ ngắt hoặc dành riêng . Vector 31 bằng lệnh: INT N . . Vector 32 003F8 IP của INT 0 Dành cho người lập trình Vector 254 003FA CS của INT 0 003FC IP của INT 1 Vector 255 003FE CS của INT 1 238
  239. Đặc điểm của vào-ra bằng ngắt . Có sự kết hợp giữa phần cứng v{ phần mềm:  Phần cứng: g}y ngắt CPU.  Phần mềm: trao đổi dữ liệu. . CPU trực tiếp điều khiển v{o-ra. . CPU không phải đợi module v{o-ra → hiệu suất sử dụng CPU tốt hơn. 239
  240. 3. Truy cập trực tiếp bộ nhớ . DMA (Direct Memory Access) . C|c phương ph|p v{o-ra bằng chương trình v{ v{o-ra điều khiển bằng ngắt do CPU trực tiếp điều khiển:  Chiếm thời gian của CPU  Tốc độ trao đổi dữ liệu bị hạn chế vì phải chuyển qua CPU . Để khắc phục → dùng DMA:  Thêm module phần cứng l{ DMAC (Direct Memory Access Controller)  DMAC điều khiển trao đổi dữ liệu giữa module v{o-ra với bộ nhớ chính. 240
  241. Cấu trúc của DMAC Các đường địa chỉ Thanh ghi địa chỉ Các đường dữ liệu Thanh ghi dữ liệu Bộ đếm Yêu cầu bus Điều khiển đọc Chuyển nhượng bus Điều khiển ghi Ngắt Logic điều khiển Đọc Yêu cầu DMA Ghi Ch p nhận DMA 241
  242. Các thành phần của DMAC . Thanh ghi dữ liệu: chứa dữ liệu cần trao đổi . Thanh ghi địa chỉ: chứa địa chỉ ngăn nhớ dữ liệu . Bộ đếm dữ liệu: chứa số từ dữ liệu cần trao đổi . Logic điều khiển: điều khiển hoạt động của DMAC 242
  243. Hoạt động của DMAC . CPU gửi cho DMAC c|c thông tin:  Chiều trao đổi dữ liệu: v{o hay ra dữ liệu  Địa chỉ thiết bị v{o-ra (cổng v{o-ra tương ứng)  Địa chỉ đầu của mảng nhớ dữ liệu → nạp v{o thanh ghi địa chỉ  Số từ dữ liệu cần truyền → nạp v{o bộ đếm dữ liệu . CPU l{m việc kh|c . DMAC điều khiển trao đổi dữ liệu . Sau khi truyền được 1 từ dữ liệu:  Nội dung thanh ghi địa chỉ tăng  Nội dung bộ đếm dữ liệu giảm . Khi bộ đếm dữ liệu = 0, DMAC gửi yêu cầu ngắt đến CPU để b|o hiệu đ~ kết thúc DMA 243
  244. Các kiểu DMA . DMA truyền theo khối (Block Transfer DMA): CPU trao quyền sử dụng bus cho DMAC trong một khoảng thời gian đủ lớn để DMAC thực hiện trao đổi xong cả khối dữ liệu. . DMA xen kẽ chu kỳ m|y với CPU (Cycle Stealing DMA): DMAC v{ CPU thay nhau sử dụng bus trong từng chu kỳ m|y. . DMA trong suốt (Transparent DMA): Trong qu| trình hoạt động, không phải chu kỳ n{o CPU cũng sử dụng bus hệ thống, DMAC sẽ ph|t hiện xem những chu kỳ CPU không dùng bus để chiếm dụng bus trong chu kỳ đó v{ điều khiển trao đổi 1 từ dữ liệu → không l{m ảnh hưởng đến CPU. 244
  245. Các cấu hình thiết kế DMA . Cấu hình 1: System bus . CPU DMAC IO Module IO Module Memory  Mỗi lần truyền, DMAC sử dụng bus 2 lần: . Giữa DMAC với module v{o-ra . Giữa DMAC với bộ nhớ 245
  246. Các cấu hình thiết kế DMA (tiếp) . Cấu hình 2: System bus CPU DMAC DMAC Memory IO Module IO Module IO Module  DMAC điều khiển một hoặc một v{i module v{o-ra  Mỗi lần truyền, DMAC sử dụng bus 1 lần: . Giữa DMAC với bộ nhớ 246
  247. Các cấu hình thiết kế DMA (tiếp) . Cấu hình 3: System bus CPU DMAC Memory I/O bus IO Module IO Module . IO Module  Bus vào-ra t|ch rời hỗ trợ tất cả c|c thiết bị cho phép DMA  Mỗi lần truyền, DMAC sử dụng bus 1 lần: . Giữa DMAC với bộ nhớ 247
  248. Đặc điểm của DMA . CPU không tham gia v{o qu| trình trao đổi dữ liệu . DMAC điều khiển trao đổi dữ liệu giữa bộ nhớ chính với module v{o-ra ho{n to{n bằng phần cứng → tốc độ nhanh. . Thích hợp với c|c yêu cầu trao đổi dữ liệu kích thước lớn. 248
  249. 3.4. Hệ thống vào ra 3.4.1. Tổng quan về hệ thống v{o-ra 3.4.2. C|c phương ph|p điều khiển v{o-ra 3.4.3. Nối ghép với thiết bị ngoại vi 3.4.4. C|c cổng v{o-ra thông dụng trên PC 249
  250. 3.4.3. Nối ghép với thiết bị ngoại vi 1. C|c kiểu nối ghép 2. C|c cấu hình nối ghép 250
  251. 1. Các kiểu nối ghép . Nối ghép song song:  Truyền nhiều bit song song  Tốc độ nhanh  Cần nhiều đường truyền Cổng Bus vào-ra hệ . . TBNV . . . song . thống song 251
  252. Các kiểu nối ghép (tiếp) . Nối ghép nối tiếp:  Truyền lần lượt từng bit  Cần có bộ truyển đổi qua lại giữa dữ liệu song song v{ nối tiếp  Tốc độ chậm hơn  Cần ít đường d}y → truyền được xa hơn Bus Cổng hệ . vào-ra TBNV . thống . nối tiếp 252
  253. 2. Các cấu hình nối ghép . Cấu hình điểm tới điểm (Point to Point): thông qua một cổng vào-ra cho phép nối ghép với một thiết bị ngoại vi.  Nối ghép b{n phím  Nối ghép chuột  Nối ghép ổ đĩa mềm  . Cấu hình điểm tới đa điểm (Point to Multipoint): thông qua một cổng v{o-ra cho phép nối ghép với nhiều thiết bị ngoại vi.  Chuẩn nối ghép SCSI: cho phép nối ghép tới 7 hoặc 15 thiết bị  Cổng USB: nối ghép tới 127 thiết bị  Cổng IEEE 1394: nối ghép tới 63 thiết bị 253
  254. 3.4. Hệ thống vào ra 3.4.1. Tổng quan về hệ thống v{o-ra 3.4.2. C|c phương ph|p điều khiển v{o-ra 3.4.3. Nối ghép với thiết bị ngoại vi 3.4.4. C|c cổng v{o-ra thông dụng trên PC 254
  255. 3.4.4. Các cổng vào-ra thông dụng . C|c cổng PS/2: nối ghép b{n phím v{ chuột . C|c cổng nối ghép m{n hình . Cổng LPT (Line Printer): thường nối ghép với m|y in, l{ cổng song song (Parallel Port) . Cổng COM (Communication): thường nối ghép với MODEM, l{ cổng nối tiếp (Serial Port) . Cổng USB (Universal Serial Bus): cổng nối tiếp đa năng . 255
  256. Các cổng vào-ra thông dụng (tiếp) 256