Bài giảng Kiến trúc máy tính - Chương 6: Hệ thống vào/ra - Đoàn Thị Quế

pdf 32 trang Gia Huy 16/05/2022 2980
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 - Chương 6: Hệ thống vào/ra - Đoàn Thị Quế", để 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_chuong_6_he_thong_vaora_doan_th.pdf

Nội dung text: Bài giảng Kiến trúc máy tính - Chương 6: Hệ thống vào/ra - Đoàn Thị Quế

  1. Chương 6 HỆ THỐNG VÀO/RA 1
  2. Nội dung  Tổng quan về hệ thống vào/ra  Các phương pháp điều khiển vào/ra  Nối ghép thiết bị ngoại vi  Các cổng vào/ra thông dụng trên PC 2
  3. 6.1. Tổng quan về hệ thống vào/ra 1. Giới thiệu chung  Chức năng của hệ thống vào/ra: 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 phương tiện làm nhiệm vụ vào/ra thông tin gọi chung là thiết bị ngoại vi 3
  4. Đặc điểm của thiết bị ngoại vi  Tồn tại đa dạng các thiết bị ngoại vi khác nhau về:  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 4
  5. 2. Cấu trúc cơ bản của hệ thống vào/ra Cổng Thiết bị vào/ra ngoại vi Module vào/ra Nối ghép với CPU Cổng Thiết bị và vào/ra ngoại vi bộ nhớ chính Module Cổng Thiết bị vào/ra vào/ra ngoại vi 5 Bus hệ thống
  6. a. 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  Phân loại:  Thiết bị ngoại vi giao tiếp người-máy:  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, Network Interface Card (NIC) 6
  7. Cấu trúc chung của thiết bị ngoại vi Dữ liệu từ/đến module vào/ra 7
  8. b. Module vào/ra  Chức năng của module vào/ra:  Đ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 8
  9. Cấu trúc chung của module vào/ra 9
  10. 3. Địa chỉ hóa cổng vào/ra a. Cổng vào/ra có không gian địa chỉ tách biệt  Không gian địa chỉ vào/ra tách biệt với không gian địa chỉ bộ nhớ N  Không gian địa chỉ bộ nhớ: 2 địa chỉ N1  Không gian địa chỉ vào/ra: 2 địa chỉ  Vào/ra riêng biệt:  Có tín hiệu điều khiển phân biệt truy nhập không gian địa chỉ  Cần 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ó quản lý không gian địa chỉ vào/ra riêng biệt 10
  11. Ví dụ  Vi xử lý 8086 00000H 1MB 0000H 0000H 64KB 64KB FFFFH FFFFH FFFFFH Bộ nhớ Thiệt bị vào Thiết bị ra Lệnh: MOV IN OUT Tín hiệu điều khiển: IO/M 0 IO/M 1 IO/M 1 11
  12. 3. Địa chỉ hóa cổng vào/ra (tiếp) b. Cổng vào/ra có chung không gian địa chỉ với bộ nhớ N  Không gian địa chỉ bộ nhớ và cổng vào/ra: 2 địa chỉ  Ví dụ: Các bộ xử lý 680x0 của Motorola  Vào/ra theo bản đồ bộ nhớ  Vào/ra giống như đọc/ghi bộ nhớ  CPU trao đổi dữ liệu với cổng vào/ra thông qua các lệnh truy nhập dữ liệu bộ nhớ 12
  13. 6.2. Các phương pháp điều khiển vào/ra  Vào/ra bằng chương trình (Programmed IO)  Vào/ra điều khiển bằng ngắt (Interrupt Driven IO)  Vào/ra bằng cách truy nhập bộ nhớ trực tiếp – DMA (Direct Memory Access) 13
  14. 1. Vào/ra bằng chương trình  CPU điều khiển trực tiếp vào/ra bằng chương trình cần phải lập trình vào/ra  Tín hiệu điều khiển (Control): tác động tới TBNV và yêu cầu những việc TBNV phải làm  Tín hiệu điều khiển đọc (Read): yêu cầu module vào/ra nhận dữ liệu từ thiết bị ngoại vi và đưa vào thanh ghi đệm dữ liệu, rồi CPU nhận dữ liệu đó  Tín hiệu điều khiển ghi (Write): yêu cầu module vào/ra lấy dữ liệu trên bus dữ liệu đưa đến thanh ghi đệm dữ liệu rồi chuyển ra thiết bị ngoại vi  Tín hiệu kiểm tra (Test): kiểm tra trạng thái của modul vào/ra và thiết bị ngoại vi 14
  15. Lưu đồ chương trình vào/ra Bắt đầu Đọc trạng thái của modul vào/ra Modul N vào/ra sẵn sàng? Y Trao đổi dữ liệu với modul vào/ra N Hết dữ liệu? Y Kết thúc 15
  16. Hoạt động của vào/ra bằng chương trình  CPU gửi yêu cầu thao tác vào/ra tới module vào/ra  Module vào/ra thực hiện thao tác, thiết lập các bit trạng thái  CPU kiểm tra các bit trạng thái theo chu kỳ:  Nếu chưa sẵn sàng thì quay lại kiểm tra  Nếu sẵn sàng thì chuyển sang trao đổi dữ liệu với module vào/ra  CPU kiểm tra cho đến khi I/O kết thúc 16
  17. Đặ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 đợi module vào/ra tiêu tốn thời gian của CPU 17
  18. 2. Vào/ra điều khiển bằng ngắt  Nguyên tắc chung:  CPU phát lệnh I/O cho module vào/ra, sau đó đi làm việc khác  Khi module 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 18
  19. Hoạt động vào dữ liệu: nhìn từ modul vào/ra  Module vào/ra nhận tín hiệu điều khiển đọc (Read) từ CPU  Module vào/ra nhận dữ liệu từ thiết bị ngoại vi  Khi đã có dữ liệu, module vào/ra phát tín hiệu ngắt CPU  Module vào/ra đợi cho đến khi CPU yêu cầu dữ liệu, nó sẽ đặt dữ liệu lên bus dữ liệu và sẵn sàng cho thao tác mới 19
  20. Hoạt động vào dữ liệu: nhìn từ CPU  CPU phát tín hiệu điều khiển đọc, sau đó 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 có ngắt từ I/O:  CPU cất giữ trạng thái chương trình đang thực hiện  Thực hiện chương trình vào/ra tương ứng 20
  21. Đặc điểm của vào/ra điều khiển bằng ngắt  CPU trực tiếp điều khiển vào/ra  CPU không phải đợi modul vào/ra hiệu quả sử dụng CPU tốt hơn 21
  22. 3. DMA (Direct Memory Access)  Vào/ra bằng chương trình và bằng ngắt do CPU trực tiếp điều khiển:  Chiếm thời gian của CPU  Tốc độ truyền bị hạn chế vì phải thông qua CPU  Để khắc phục dùng DMA  Thêm module phần cứng trên bus DMAC (Controller)  DMAC điều khiển trao đổi dữ liệu giữa module vào/ra với bộ nhớ chính 22
  23. Sơ đồ cấu trúc của DMAC 23
  24. Hoạt động DMA  CPU thông báo cho DMAC:  Vào hay Ra dữ liệu  Địa chỉ thiết bị vào/ra (địa chỉ cổng vào/ra tương ứng)  Đị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 từ dữ liệu 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 cho CPU để báo kết thúc DMA 24
  25. Đặc điểm của DMA  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 module 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 25
  26. 6.3. Nối ghép thiết bị ngoại vi 1. Các kiểu nối ghép vào/ra  Nối ghép song song  Nối ghép nối tiếp 26
  27. Nối ghép song song Module vào/ra song song  Truyền nhiều bit song song  Tốc độ nhanh  Cần nhiều đường truyền dữ liệu 27
  28. Nối ghép nối tiếp Module vào/ra nối tiếp  Truyền lần lượt từng bit  Cần có bộ chuyển đổi từ dữ liệu song song sang nối tiếp và ngược lại  Tốc độ chậm hơn  Cần ít đường truyền dữ liệu 28
  29. 2. Các cấu hình nối ghép  Điểm tới điểm (Point to Point)  Thông qua một cổng vào/ra nối ghép với một thiết bị ngoại vi  Đ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 được với nhiều thiết bị ngoại vi  Ví dụ:  SCSI (Small Computer System Interface): 7 hoặc 15 thiết bị  USB (Universal Serial Bus): 127 thiết bị  IEEE 1394 (FireWire): 63 thiết bị 29
  30. 6.4 Các cổng vào/ra thông dụng trên PC  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  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, là cổng nối tiếp (Serial Port) - 9 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ị, nhờ các USB Hub 30
  31. Hết chương 6 31