Bài giảng Kỹ thuật Máy tính - Chương 12: Hệ thống Xuất/Nhập (i/o) - Nguyễn Thanh Sơn

Thiết bị phần cứng I/O
 Giao diện I/O cho ứng dụng
 Các dịch vụ của I/O subsystem
 Hiệu suất I/O 
pdf 22 trang xuanthi 30/12/2022 820
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Kỹ thuật Máy tính - Chương 12: Hệ thống Xuất/Nhập (i/o) - Nguyễn Thanh Sơn", để tải tài liệu gốc về máy hãy click vào nút Download ở trên.

File đính kèm:

  • pdfbai_giang_ky_thuat_may_tinh_chuong_12_he_thong_xuatnhap_io_n.pdf

Nội dung text: Bài giảng Kỹ thuật Máy tính - Chương 12: Hệ thống Xuất/Nhập (i/o) - Nguyễn Thanh Sơn

  1. Nội dung  Thiết bị phần cứng I/O  Giao diện I/O cho ứng dụng  Các dịch vụ của I/O subsystem  Hiệu suất I/O BK TP.HCM Khoa Khoa học & Kỹ thuật Máy tính 2
  2. Thiết bị phần cứng I/O  Kết nối giữa hệ thống máy tính và các thiết bị I/O  Port (connection point)  Bus (daisy chain, shared direct access)  Điều khiển  Controller (device controller, SCSI host adapter)  Giao tiếp giữa CPU và thiết bị I/O  I/O port: dùng lệnh I/O để tác động lên các thanh ghi dữ liệu / trạng thái / lệnh của controller.  Memory-mapped I/O BK TP.HCM Khoa Khoa học & Kỹ thuật Máy tính 4
  3. Một số I/O port trong PC controller controller controller BK TP.HCM Khoa Khoa học & Kỹ thuật Máy tính 6
  4. Các kỹ thuật thực hiện I/O (tt.)  Kỹ thuật I/O dùng ngắt quãng (interrupt-driven I/O)  CPU có một ngõ Interrupt Request (IR), được kích hoạt bởi thiết bị I/O  Nếu ngắt xảy ra (IR = active), CPU chuyển quyền điều khiển cho trình phục vụ ngắt (interrupt handler)  Các ngắt có thể che được (maskable) hoặc không che được (non-maskable)  Hệ thống có một bảng vector ngắt chứa địa chỉ các trình phục vụ ngắt  Ngắt cũng có thể dùng xử lý các sự kiện khác trong hệ thống (lỗi chia cho 0, lỗi vi phạm vùng BK nhớ, ) TP.HCM Khoa Khoa học & Kỹ thuật Máy tính 8
  5. PC interrupt (1) IRQ 0 INTR Programmable IRQ 1 processor INTA Interrupt Controllers (2) IRQ 15 local bus 1 byte interrupt number (k) (3) (4) Take exception to address k*4 BK TP.HCM Khoa Khoa học & Kỹ thuật Máy tính 10
  6. Các kỹ thuật thực hiện I/O (tt.)  Kỹ thuật I/O dùng direct memory access (DMA)  Các kỹ thuật polling và interrupt-driven I/O không thích hợp khi thực hiện di chuyển khối lượng lớn dữ liệu.  Kỹ thuật DMA cần có phần cứng hỗ trợ đặc biệt, đó là DMA controller  Kỹ thuật DMA thực hiện truyền dữ liệu trực tiếp giữa thiết bị I/O và bộ nhớ mà không cần sự can thiệp của CPU. BK TP.HCM Khoa Khoa học & Kỹ thuật Máy tính 12
  7. Giao diện I/O cho ứng dụng  OS cung cấp một giao diện I/O chuẩn hóa, thuần nhất cho các ứng dụng.  Ví dụ: một ứng dụng in tài liệu ra máy in mà không cần biết hiệu máy in, đặc tính máy in,  Giao diện làm việc là các I/O system call của OS.  Trình điều khiển thiết bị là “cầu nối” giữa kernel và các bộ điều khiển thiết bị (device controller). BK TP.HCM Khoa Khoa học & Kỹ thuật Máy tính 14
  8. Đặc tính của các thiết bị I/O BK TP.HCM Khoa Khoa học & Kỹ thuật Máy tính 16
  9. System call yêu cầu I/O  Blocking: process bị suspended cho đến khi I/O hoàn tất.  Dễ dàng sử dụng  Không hiệu quả trong một số trường hợp  Nonblocking: process sẽ tiếp tục thực thi ngay sau lệnh gọi I/O.  Ví dụ: data copy (buffered I/O)  Thường hiện thực với multithreading  Khó kiểm soát kết quả thực hiện I/O  Asynchronous: process vẫn thực thi trong lúc hệ thống đang thực hiện I/O.  Khó sử dụng BK TP.HCM I/O subsystem báo hiệu cho process khi I/O hoàn tất Khoa Khoa học & Kỹ thuật Máy tính 18
  10. Chu trình của một yêu cầu I/O User Kernel Hardware BK TP.HCM Khoa Khoa học & Kỹ thuật Máy tính 20
  11. Ví dụ: remote login I/O system call subdaemon for the to send the character remote login session to the remote machine BK TP.HCM Khoa Khoa học & Kỹ thuật Máy tính 22