Bài giảng Kiến trúc máy tính và hệ điều hành - Chương 4: Nhập/Xuất

pdf 53 trang Gia Huy 16/05/2022 3520
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 4: Nhập/Xuất", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

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

  • pdfbai_giang_kien_truc_may_tinh_va_he_dieu_hanh_chuong_4_nhapxu.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 4: Nhập/Xuất

  1. Chương 4 NHẬP/XUẤT 1 1
  2. Nội dung  Hệ thống Bus  Một số loại bus: ISA, EISA, PCI, AGP, PCI-E  Hệ thống nhập/xuất  Các phương pháp điều khiển nhập/xuất  Thiết bị ngoại vị và phương pháp nối ghép  Các cổng nhập/xuất thông dụng trên PC
  3. Hệ thống BUS register On chip bus System bus CPU Memory I/O I/O ALU Board Board Local bus Coprocessor
  4. Hệ thống BUS  Bus là 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 các bit thông tin đồng thời (chỉ dùng cho bus địa chỉ và bus dữ liệu)  Phân loại cấu trúc bus:  Cấu trúc đơn bus  Cấu trúc đa bus
  5. Hệ thống BUS
  6. Hệ thống BUS  Bus địa chỉ (Address bus)  Vận chuyển địa chỉ để xác định ngăn nhớ hay cổng vào/ra.  Độ rộng bus địa chỉ xác định dung lượng bộ nhớ cực đại của hệ thống.  Nếu độ rộng bus địa chỉ là N bit: AN-1, AN-2, A2, A1, A0 =>dung lượng bộ nhớ cực đại là 2N byte (còn gọi là không gian địa chỉ bộ nhớ) Ví dụ: Bộ xử lý Intel Pentium có bus địa chỉ 32 bit => không gian địa chỉ là 232 byte = 4 GB.
  7. Hệ thống BUS  Bus dữ liệu (Data bus)  Vận chuyển lệnh từ bộ nhớ đến CPU  vận chuyển dữ liệu giữa CPU, các môđun nhớ và môđun vào-ra.  Độ 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 là 64 bit
  8. Hệ thống BUS  Bus điều khiển (Control bus)  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 phát ra từ CPU để điều khiển môđun nhớ và môđun nhập/xuất  Các tín hiệu từ môđun nhớ hay môđun nhập/xuất gửi đến yêu cầu CPU.  Các tín hiệu điều khiển đọc/ghi:  Memory Read (MEMR)  Memory Write (MEMW)  I/O Read (IOR)  I/O Write (IOW)
  9. Hệ thống BUS  Bus điều khiển (Control bus)  Các tín hiệu điều khiển ngắt:  Interrupt Request (INTR)  Interrupt Acknowledge (INTA)  Non Markable Interrupt (NMI)  Reset  Các tín hiệu điều khiển bus:  Bus Request (BRQ): (HOLD)  Bus Grant (BGT): (Hold Acknowledge (HLDA)  Lock  Unlock
  10. Hệ thống BUS  Phân cấp bus 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 độ  Bus bộ nhớ chính và các bus nhập/xuất không phụ thuộc vào bộ xử lý cụ thể.
  11. Hệ thống BUS  Tại một thời điểm chỉ một module trong CPU và DMA Controller có thể điều khiển bus.  Sự điều phối này chia thành 2 dạng:  Điều phối tập trung: - Một thiết bị phần cứng điều khiển sự truy nhập bus được gọi là Bộ điều khiển bus (Bus Controller) hay Trọng tài bus (Arbiter) - Có thể nằm trên CPU hoặc tách riêng  Điều phối phân tán: - Mỗi môđun có thể điều khiển bus, nhưng có sự điều khiển logic trên tất cả các môđun.
  12. Hệ thống BUS  Có 2 dạng bus:  Bus đồng bộ  Bus có đường tín hiệu Clock  Các sự kiện trên bus được xác định bởi xung nhịp Clock.  Bus không đồng bộ  Không có đường tín hiệu Clock  Kết thúc một sự kiện này trên bus sẽ kích hoạt cho một sự kiện tiếp theo.
  13. Hệ thống BUS  Bus đồng bộ
  14. Hệ thống BUS  Bus bất đồng bộ Chu kỳ đọc Chu kỳ ghi
  15. Một số loại BUS  Các Bus điển hình  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 RAM).  AGP bus (Accelerated Graphic Port) - Bus đồ họa tăng tốc: nối ghép card màn hình tăng tốc.  ISA (Industry Standard Architecture)  PCI bus (Peripheral Component Interconnection): 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 Driver Electronics): Bus kết nối với ổ đĩa cứng hoặc ổ đĩa CD, DVD.
  16. Một số loại BUS  Các Bus điển hình trong PC
  17. Một số loại BUS  ISA Bus (Industry Standard Architecture)  PC/XT:  20 đường địa chỉ  8 bit dữ liệu  Intel 8086/8088  62 chân  PC/AT  24 đường địa chỉ  16 bit dữ liệu  Intel 80286  98 chân
  18. Một số loại BUS  EISA Bus (Extended Industry Standard Architecture)  32 đường địa chỉ  32 bit dữ liệu  Phần mở rộng có 2 levels  Ngắt có thể được lập trình
  19. Một số loại BUS  MCA (Micro Channel architecture)  Cấu trúc giống EISA  Bảng mạch nhỏ hơn EISA  Dữ liệu 8 bit, 16 bit, 32 bit  Intel 80386/80486 Network Interface Card IBM 83X9648 (MCA)
  20. Một số loại BUS  PCI Bus (Peripheral Component Interconnect)  Do Intel thiết kế, độc lập với CPU  Băng thông rộng (133MB/sec, 528MB/sec)  Hỗ trợ Plug-and-Play  (thiết lập cấu hình tự động)  Bus dữ liệu: 32 bit, 64 bit  Xung nhịp: 33 MHz, 66 MHz
  21. Một số loại BUS  PCI Bus  Các thiết bị sử dụng:  network card  sound card  Modems  TV tuner card
  22. Một số loại BUS  PCI Express Bus  Phát triển kiến trúc PCI (tương thích với PCI)  Kiến trúc Point-to-Point Serial Links (Lane)  Không dùng kiến trúc shared parallel bus  Băng thông rộng  Bắt đầu từ 200 MB/sec, có thể x2, ,x32  Hỗ trợ tốt hơn cho truyền thông đa phương tiện (audio, video)  Thêm bớt thiết bị khi máy hoạt động (Hot plugging)
  23. Một số loại BUS  PCI Epress Bus
  24. Một số loại BUS  AGP (Accelerated Graphics Port)  Do Intel thiết kế  Tăng tốc độ hiển thị hình 3D, hình động  Dùng 1 bus riêng (AGP)  Chip AGP có thể đồng thời truy cập bộ nhớ với CPU  Băng thông 533 MB/sec
  25. Một số loại BUS  SCSI (Small Computer System Interface)  Dạng I/O bus, điều Serial Attached SCSI drive connector khiển nhiều loại thiết bị: đĩa cứng, CDROM, scanner, máy in  Có thể đến 15 thiết bị/cáp  Sử dụng cả 2 loại giao tiếp serial và parallel Centronics 50 SCSI connector
  26. Một số loại BUS  IDE (Integrated Drive Electronics)  Còn gọi là ATA (AT Attachment)  EIDE (Extended IDE) ATA-2  Điều khiển CDROM  Hỗ trợ LBA (Logical Block Addressing)  ATA-4 Ultra ATA  ATA-33/66/100 : tốc độ DMA là 33MHz
  27. Một số loại BUS  USB (Universal Serial Bus)  Kết nối các thiết bị đặt ngoài (external)  Hỗ trợ cắm nóng (Hot- Sơ đồ 4 đường trong USB ở một dây plugging, Plug-and-Play). dẫn kết nối USB; trong đó: 1, 4 là đường nguồn 5Vdc; 2, 3 là đường  Tốc độ: 12 Mbps (1.0), 480 tín hiệu; Chuẩn A cắm vào máy tính, Mbps (2.0), 4.8 Gbps (3.0). chuẩn B cắm vào thiết bị ngoại vi  Serial ATA (SATA)  Tốc độ cao, từ 150 MB/sec  Chỉ điều khiển đĩa  Dễ cài đặt (Hot-plugging)
  28. Hệ thống nhập/xuất  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  Các môđun nhập/xuất
  29. Hệ thống nhập/xuất  Đặc điểm:  Tồn tại đa dạng các thiết bị ngoại vi 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 đều chậm hơn CPU và RAM. Vì vậy, cần có các môđun vào-ra để nối ghép các thiết bị ngoại vi với CPU và bộ nhớ chính
  30. Hệ thống nhập/xuất  Tốc độ nhập/xuất của một số thiết bị (bps)
  31. Hệ thống nhập/xuất  Các thiết bị nhập/xuất  Được gọi chung là Thiết bị ngoại vi (peripheral device) Có chức năng chuyển đổi dữ liệu giữa bên trong và bên ngoài máy tính.  Phân loại:  Thiết bị ngoại vi giao tiếp người-máy: - Chuột, bàn phím, màn hình, máy in,  Thiết bị ngoại vi giao tiếp máy-máy: - Gồm các thiết bị theo dõi và kiểm tra  Thiết bị ngoại vi truyền thông: - Modem (modulator/demodulator), - Network Interface Card (NIC, card mạng)
  32. Hệ thống nhập/xuất  Cấu trúc chung  Bộ chuyển đổi tín hiệu: chuyển đổi dữ liệu giữa bên ngoài và bên trong thiết bị  Bộ đệm dữ liệu: đệm dữ liệu khi truyền giữa môđun nhập/xuất và thiết bị  Khối logic điều khiển: điều khiển hoạt động của thiết bị đáp ứng theo yêu cầu từ môđun nhập/xuất
  33. Hệ thống nhập/xuất  Module nhập/xuất  Điều khiển và định thời  Trao đổi thông tin với CPU  Trao đổi thông tin với TBNV  Đệm giữa bên trong máy tính với TBNV  Phát hiện lỗi của TBNV
  34. Hệ thống nhập/xuất  Cấu trúc module nhập/xuất  Thanh ghi đệm dữ liệu: đệm dữ liệu trong quá trình trao đổi  Các cổng nhập/xuất (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  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  Khối logic điều khiển: điều khiển môđun vào-ra
  35. Các phương pháp điều khiển nhập/xuất  Các phương pháp địa chỉ hóa cổng nhập/xuất  Không gian địa chỉ của bộ xử lý:  Một số bộ xử lý chỉ quản lý một không gian địa chỉ duy nhất, gọi là không gian địa chỉ bộ nhớ.  N bit địa chỉ -> có 2N địa chỉ
  36. Các phương pháp điều khiển nhập/xuất  Một số bộ xử lý quản lý 2 không gian địa chỉ tách biệt:  Không gian địa chỉ bộ nhớ: 2N địa chỉ  Không gian địa chỉ vào-ra: 2N1 địa chỉ
  37. Các phương pháp điều khiển nhập/xuất  Đặc điểm của bộ xử lý có 2 không gian địa chỉ:  Có tín hiệu điều khiển phân biệt truy nhập không gian địa chỉ bộ nhớ hay không gian địa chỉ nhập/xuất  Tập lệnh có các lệnh vào-ra chuyên dụng (IN/OUT) Vídụ: Các bộ xử lý 80x86 và Pentium (Intel) Không gian địa chỉ bộ nhớ = 2^32 Byte = 4 GB Không gian địa chỉ nhập/xuất = 2^16 Byte = 64 KB Tín hiệu điều khiển: M/IO 2 lệnh nhập/xuất chuyên dụng: IN, OUT
  38. Các phương pháp điều khiển nhập/xuất  Nhập/xuất theo bản đồ bộ nhớ (Memory mapped IO)  Cổng nhập/xuất được đánh địa chỉ theo không gian địa chỉ bộ nhớ  Vào-ra giống như đọc/ghi bộ nhớ  CPU trao đổi dữ liệu với cổng nhập/xuất thông qua các lệnh truy nhập dữ liệu bộ nhớ  Có thể thực hiện trên mọi hệ thống  Nhập/xuất riêng biệt (Isolated IO hay IO mapped IO)  Cổng nhập/xuất được đánh địa chỉ theo không gian địa chỉ vào-ra riêng biệt  CPU trao đổi dữ liệu với cổng nhập/xuất thông qua các lệnh vào-ra chuyên dụng (IN/OUT)  Chỉ có thể thực hiện trên các hệ thống có không gian địa chỉ nhập/xuất riêng biệt
  39. Các phương pháp điều khiển nhập/xuất  Nhập/xuất bằng chương trình (Programmed IO):  CPU điều khiển trực tiếp nhập/xuất bằng chương trình,  Kiểm tra trạng thái của thiết bị ngoại vi,  Phát tín hiệu điều khiển đọc/ghi,  Trao đổi dữ liệu  Nhập/xuất điều khiển bằng ngắt (Interrupt Driven IO):  CPU không phải đợi trạng thái sẵn sàng của môđun vào- ra, CPU thực hiện một chương trình nào đó.  Khi môđun vào-ra sẵn sàng thì nó phát tín hiệu ngắt CPU  CPU thực hiện chương trình con vào-ra tương ứng để trao đổi dữ liệu  CPU trở lại tiếp tục thực hiện chương trình đang bị ngắt
  40. Các phương pháp điều khiển nhập/xuất  Truy nhập bộ nhớ trực tiếp – DMA (Direct Memory Access):  Nhập/xuất bằng chương trình và bằng ngắt do CPU trực tiếp điều khiển sẽ chiếm thời gian của CPU, tốc độ bị hạn chế vì phải chuyển qua CPU.  DMA khắc phục được các vấn đề trên.  Thêm môđun phần cứng trên bus -> DMAC (DMA Controller)  DMAC điều khiển nhập/xuất không thông qua CPU
  41. Các phương pháp điều khiển nhập/xuất  Hoạt động nhập dữ liệu  Module nhập/xuất nhận tín hiệu điều khiển đọc từ CPU  Module nhập/xuất nhận dữ liệu từ thiết bị ngoại vi, trong khi đó CPU làm việc khác  Module nhập/xuất phát tín hiệu ngắt CPU  CPU yêu cầu dữ liệu  Môđun nhập/xuất chuyển dữ liệu đến CPU  Đối với CPU:  CPU phát tín hiệu điều khiển đọc  CPU có thể xử lý yêu cầu khác  Cuối mỗi chu kỳ lệnh, kiểm tra tín hiệu ngắt  Nếu bị ngắt:  Cất ngữ cảnh (nội dung các thanh ghi)  Thực hiện chương trình con ngắt để vào dữ liệu  Khôi phục ngữ cảnh của chương trình đang thực hiện
  42. Thiết bị ngoại vi và phương pháp nối ghép 1. Nhiều đườ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 nhập/xuất  Các đường ngắt được quy I/O I/O I/O I/O định mức ưu tiên 2. Kiểm tra vòng bằng phần mềm (Software Poll)  CPU thực hiện phần mềm hỏi lần lượt từng module nhập/xuất I/O I/O I/O I/O  Chậm  Thứ tự các môđun được hỏi vòng chính là thứ tự ưu tiên
  43. Thiết bị ngoại vi và phương pháp nối ghép 3. Kiểm tra vòng bằng phần cứng (Daisy Chain hay Hardware Poll)  CPU phát tín hiệu chấp nhận ngắt (INTA) đến môđun vào-ra đầu tiên  Nếu môđun vào-ra đó không gây ra ngắt thì nó gửi tín hiệu đến môđun kế tiếp cho đến khi xác định được môđun gây ngắt  Môđun 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 điều khiển ngắt  Thứ tự các môđun vào-ra kết nối trong chuỗi xác định thứ tự ưu tiên. I/O I/O I/O I/O
  44. Thiết bị ngoại vi và phương pháp nối ghép 4. Bộ điều khiển ngắt lập trình được (PIC)  PIC – Programmable Interrupt Controller  PIC có nhiều đường vào 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 tới CPU Ví dụ: PIC 8259A I/O I/O I/O I/O
  45. Các phương pháp điều khiển nhập/xuất  Đặc điểm của nhập/xuất điều khiển 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 môđun vào-ra -> hiệu quả sử dụng CPU tốt hơn
  46. Các phương pháp điều khiển nhập/xuất  Các thành phần của DMAC  Thanh ghi dữ liệu:  Chứa dữ liệu 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 (word) cần trao đổi  Logic điều khiển:  Điều khiển hoạt động của DMAC
  47. Các phương pháp điều khiển nhập/xuất Hoạt động DMA CPU “nói” cho DMAC: Vào hay ra dữ liệu Địa chỉ thiết bị vào-ra Địa chỉ đầu của mảng nhớ chứa 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 một word thì: 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 tín hiệu ngắt CPU để báo kết thúc DMA
  48. Các phương pháp điều khiển nhập/xuất  Các kiểu thực hiện DMA  DMA truyền theo khối (Block transfer DMA):  DMAC sử dụng bus để truyền xong cả khối dữ liệu  DMA chiếm chu kỳ (Cycle Stealing DMA):  DMAC ép CPU treo tạm thời từng chu kỳ bus  DMAC chiếm bus thực hiện truyền một word  DMA trong suốt (Transparent DMA):  DMAC nhận biết những chu kỳ nào CPU không sử dụng bus thì chiếm bus để trao đổi một word
  49. Các phương pháp điều khiển nhập/xuất  Cấu hình DMA  Mỗi lần truyền, DMA sử dụng bus 2 lần  Giữa môđun nhập/xuất với DMAC  Giữa DMAC với bộ nhớ  DMAC điều khiển một hoặc vài module nhập/xuất  Mỗi lần truyền, DMAC sử dụng bus 1 lần:  Giữa DMAC với bộ nhớ
  50. Thiết bị ngoại vi và phương pháp ghép nối  Cấu hình DMA  Bus nhập/xuất 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ớ.  CPU không tham gia trong 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 môđun vào-ra (hoàn toàn bằng phần cứng) tốc độ nhanh  Phù hợp với các yêu cầu trao đổi mảng dữ liệu có kích thước lớn
  51. Thiết bị ngoại vi và phương pháp ghép nối  Việc điều khiển nhập/xuất được thực hiện bởi một bộ xử lý nhập/xuất chuyên dụng.  Bộ xử lý nhập/xuất hoạt động theo chương trình của riêng nó.  Chương trình của bộ xử lý nhập/xuất có thể nằm trong bộ nhớ chính hoặc nằm trong một bộ nhớ riêng.  Hoạt động theo kiến trúc đa xử lý.
  52. Thiết bị ngoại vi và phương pháp ghép nối  Ghép song song  Truyền nhiều bit song song Module  Tốc độ nhanh I/O song  Cần nhiều đường truyền dữ song liệu  Ghép nối tiếp  Truyền lần lượt từng bit  Cần có bộ chuyển đổi từ dữ Module liệu song song sang nối tiếp I/O nối hoặc/và ngược lại tiếp  Tốc độ chậm hơn  Cần ít đường truyền dữ liệu
  53. Các cổng nhập/xuất thông dụng  Các cổng PS/2: nối ghép bàn phím và chuột  Cổng nối ghép màn hình (RS232)  Cổng LPT (Line Printer):  Nối ghép với máy in  Là cổng song song (Parallel Port) – 25 chân  Cổng COM (Communication):  Nối ghép với modem, chuột  Là cổng nối tiếp (Serial Port) – 9 chân hoặc 25 chân  Cổng USB (Universal Serial Bus):  Cổng nối tiếp đa năng  Cho phép nối ghép tối đa 127 thiết bị (quaUSB Hub)