intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bài giảng Kiến trúc và tổ chức máy tính: Chương 5 - ThS. Trần Quang Hải Bằng

Chia sẻ: Estupendo Estupendo | Ngày: | Loại File: PDF | Số trang:28

98
lượt xem
8
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Chương 5 trình bày về hệ thống vào/ra của máy tính. Nội dung chính trong chương này gồm có: Tổng quan về hệ thống vào/ra, các phương pháp điều khiển vào/ra, ghép nối thiết bị ngoại vi, các cổng vào/ra thông dụng trên PC. Mời các bạn cùng tham khảo.

Chủ đề:
Lưu

Nội dung Text: Bài giảng Kiến trúc và tổ chức máy tính: Chương 5 - ThS. Trần Quang Hải Bằng

  1. KIẾN TRÚC VÀ TỔ CHỨC MÁY TÍNH (Computer Organization and Architecture) Chương 5 Hệ thống Vào/Ra bangtqh@utc2.edu.vn Nội dung 1. Tổng quan về hệ thống vào/ra – Cấu trúc cơ bản – Đặc điểm 2. Các phương pháp điều khiển vào/ra – Bằng chương trình – Bằng ngắt – Truy nhập bộ nhớ trực tiếp DMA 3. Ghép nối Thiết bị ngoại vi 4. Các cổng vào/ra thông dụng trên PC bangtqh@utc2.edu.vn Chương 5 - Hệ thống Vào/Ra 2
  2. 5.1. Tổng quan về hệ thống I/O BXL C¸c ng¾t Cache Bus chÝnh M¹ch §K M¹ch §K M¹ch §K Bé nhí vµo/ra vµo/ra vµo/ra chÝnh §å häa §Üa §Üa M¹ng bangtqh@utc2.edu.vn Chương 5 - Hệ thống Vào/Ra 3 5.1. Tổng quan về hệ thống I/O Chức năng: – Trao đổi thông tin giữa máy tính với môi trườ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: – Thiết bị ngoại vi – Mạch ghép nối vào ra (Module vào/ra) bangtqh@utc2.edu.vn Chương 5 - Hệ thống Vào/Ra 4
  3. Đặc điểm hệ thống vào/ra Tồn tại đa dạng các TBNV khác nhau về: – Nguyên tắc hoạt động – Tốc độ truy xuất – 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à bộ nhớ chính Cần có modul vào ra để nối ghép TBNV với CPU và bộ nhớ chính bangtqh@utc2.edu.vn Chương 5 - Hệ thống Vào/Ra 5 Tại sao cần Modul vào/ra? Không thể nối trực tiếp các thiết bị ngoại với bus hệ thống, vì: – CPU không thể điều khiển được tất cả TBNV – Tốc độ trao đổi dữ liệu khác nhau – Khuôn dạng dữ liệu khác nhau – Tất cả có tốc độ chậm hơn CPU và RAM Chức năng của Modul vào/ra: – Nối ghép với CPU và hệ thống nhớ – Nối ghép với một hoặc nhiều TBNV bangtqh@utc2.edu.vn Chương 5 - Hệ thống Vào/Ra 6
  4. 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 điểm – Tốc độ làm việc chậm hơn CPU và RAM rất nhiều → cần có Module vào ra để ghép nối các thiết bị ngoại vi vào hệ thống Bus máy tính. Phân loại – Giao tiếp người-máy: Bàn phím, máy in, màn hình,…. – Giao tiếp máy-máy: Thiết bị theo dõi và kiểm tra – Truyền thông: Modem, NIC, …. bangtqh@utc2.edu.vn Chương 5 - Hệ thống Vào/Ra 7 Một số TB ngoại vi thông dụng bangtqh@utc2.edu.vn Chương 5 - Hệ thống Vào/Ra 8
  5. Cấu trúc chung của TB ngoại vi bangtqh@utc2.edu.vn Chương 5 - Hệ thống Vào/Ra 9 Các thành phần của TB ngoại vi Bộ chuyển đổi dữ liệu (transducer): Chuyển đổi dữ liệu giữa bên trong và bên ngoài máy tính Bộ đệm dữ liệu (Buffer): Đệm dữ liệu khi truyền giữa module vào/ra và TBNV Khối logic điều khiển (Control logic) : Điều khiển hoạt động của TBNV đáp ứng theo yêu cầu từng module vào ra bangtqh@utc2.edu.vn Chương 5 - Hệ thống Vào/Ra 10
  6. Module vào/ra Chức năng: – Điều khiển và định thời gian – Trao đổi thông tin với CPU – Trao đổi thông tin với TBNV – Bộ đệm dữ liệu – Phát hiện lỗi nếu có bangtqh@utc2.edu.vn Chương 5 - Hệ thống Vào/Ra 11 Cấu trúc chung của Modul vào/ra Nèi ghÐp víi Nèi ghÐp víi bus hÖ thèng TBNV D÷ liÖu Thanh ghi d÷ liÖu Logic C¸c ®−êng giao diÖn Tr¹ng th¸i d÷ liÖu víi TBNV Thanh ghi §K/tr¹ng th¸i §iÒu khiÓn C¸c ®−êng D÷ liÖu ®Þa chØ Logic Logic giao diÖn Tr¹ng th¸i C¸c ®−êng vµo/ra víi TBNV §iÒu khiÓn ®iÒu khiÓn bangtqh@utc2.edu.vn Chương 5 - Hệ thống Vào/Ra 12
  7. Thành phần cơ bản của Modul vào/ra Thanh ghi dữ liệu: đệm dữ liệu trong quá trình trao đổi giữa CPU và TBNV Các cổng vào/ra: kết nối với TBNV, mỗi cổng có một địa chỉ xác định Thanh ghi điều khiển/trạng thái: lữu giữ thông tin điều khiển, trạng thái cho các cổng vào/ra Logic điều khiển: điều khiển Modul vào/ra bangtqh@utc2.edu.vn Chương 5 - Hệ thống Vào/Ra 13 Địa chỉ hóa cổng Vào/Ra Vào/Ra riêng biệt – Không gian địa chỉ cổng vào/ra nằm ngoài không gian địa chỉ bộ nhớ (dữ liệu). – CPU trao đổi với cổng vào/ra theo các lệnh chuyên dụng: IN, OUT – Cần có tín hiệu phân biệt truy nhập cổng vào/ra hay truy nhập bộ nhớ Vào/Ra theo bản đồ bộ nhớ – Không gian địa chỉ cổng vào/ra nằm trong không gian địa chỉ bộ nhớ – Dùng chung tín hiệu truy nhập bộ nhớ – Dùng chung lệnh trao đổi dữ liệu với bộ nhớ bangtqh@utc2.edu.vn Chương 5 - Hệ thống Vào/Ra 14
  8. VD Địa chỉ hóa cổng vào ra riêng biệt Bộ nhớ Lệnh: MOV T/h ĐK: IO/M = 0 Thiết bị vào Thiết bị ra 00000h Lệnh: IN Lệnh: OUT T/h ĐK: IO/M = 1 T/h ĐK: IO/M = 1 0000h 0000h 1 MB 64 KB 64 KB FFFFFh FFFFh FFFFh bangtqh@utc2.edu.vn Chương 5 - Hệ thống Vào/Ra 15 VD Đ/chỉ hóa cổng IO bằng bản đồ bộ nhớ Lệnh và tín hiệu điều khiển chung cho cả hai: 00000H MOV IO/M = 0 Vµo/ra Bé nhí FFFFFH bangtqh@utc2.edu.vn Chương 5 - Hệ thống Vào/Ra 16
  9. 5.2. Các P/pháp đ.khiển Vào/Ra Vào/ra bằng chương trình (Programmed IO) Vào/ra bằng ngắt (Interrupt Driven IO) Vào/ra bằng DMA (Direct Memory Access) bangtqh@utc2.edu.vn Chương 5 - Hệ thống Vào/Ra 17 Vào/ra bằng chương trình Nguyên tắc chung: – Sử dụng lệnh vào/ra trong chương trình để trao đổi dữ liệu với cổng vào/ra – Khi BXL thực hiện chương trình, gặp lệnh vào/ra thì BXL điều khiển trao đổi dữ liệu với thiết bị ngoại vi bangtqh@utc2.edu.vn Chương 5 - Hệ thống Vào/Ra 18
  10. Hoạt động vào/ra bằng chương trình CPU yêu cầu thao tác vào/ra Modul vào/ra thực hiện thao §äc tr¹ng th¸i cña tác TBNV Modul vào/ra thiết lập các bit trạng thái TBNV s½n sµng ? Sai CPU kiểm tra các bit trạng §óng thái để nắm được tình trạng Trao ®æi DL của TBNV: víi TBNV – Nếu chưa sẵn sàng thì quay lại kiểm tra – Nếu đã sẵn sàng thì tiến hành trao đổi dữ liệu với modul vào ra bangtqh@utc2.edu.vn Chương 5 - Hệ 19thống Vào/Ra Nhận xét CPU trực tiếp điều khiển vào ra: đọc trạng thái, kiểm tra trạng thái, thực hiện trao đổi dữ liệu. Trường hợp thiết bị chưa sẵn sàng hoặc nhiều thiết bị cùng cần trao đổi dữ liệu → tốn nhiều thời gian CPU. Việc thực hiện trao đổi đơn giản, theo ý muốn của người lập trình. bangtqh@utc2.edu.vn Chương 5 - Hệ thống Vào/Ra 20
  11. Vào/Ra bằng Ngắt (interrrupt) 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. – Khi Module vào ra sẵn sàng thì nó phát ra tín hiệu yêu cầ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 chương trình đang bị ngắt. bangtqh@utc2.edu.vn Chương 5 - Hệ thống Vào/Ra 21 Vào/Ra bằng Ngắt (tt) Chuyển điều khiển đến chương trình con bangtqh@utc2.edu.vn Chương 5 - Hệ thống Vào/Ra 22
  12. Ngắt tuần tự bangtqh@utc2.edu.vn Chương 5 - Hệ thống Vào/Ra 23 Ng¾t lång nhau bangtqh@utc2.edu.vn Chương 5 - Hệ thống Vào/Ra 24
  13. Hoạt động Mạch điều khiển thiết bị phát ra ngắt BXL thực hiện xong BXL cất các thông tin còn lại lệnh hiện tại của trạng thái xử lý Phần cứng BXL phát tín hiệu chấp Thực hiện ngắt nhận ngắt Phần mềm BXL cất nội dung Thanh ghi cờ và Khôi phục thông tin Bộ đếm CT vào Stack trạng thái BXL nạp vào Bộ đếm CT giá trị Khôi phục Thanh ghi cờ địa chỉ mới lấy từ ngắt vào và Bộ đếm CT bangtqh@utc2.edu.vn Chương 5 - Hệ thống Vào/Ra 25 Nhiều ngắt xảy ra đồng thời Nếu có nhiều yêu cầu ngắt cùng một lúc gửi đến CPU thì CPU giải quyết thế nào? Nhờ sự can thiệp của Mạch điều khiển ngắt lập trình được (PIC - Programmable Interrupt Controller) bangtqh@utc2.edu.vn Chương 5 - Hệ thống Vào/Ra 26
  14. Xử lý với nhiều ngắt Các ngắt bị cấm – BXL sẽ bỏ qua các ngắt khác trong khi đang thực hiện một ngắt – Các ngắt phải chờ và được kiểm tra sau khi ngắt đang phục vụ được xử lý xong – Các ngắt được thực hiện tuần tự Đinh nghĩa ưu tiên ngắt: – Ngắt có mức ưu tiên thấp hơn thì có thể bị ngắt bởi ngắt có ưu tiên cao hơn – Khi ngắt có mức ưu tiên cao hơn được xử lý xong thì BXL quay về ngắt trước đó bangtqh@utc2.edu.vn Chương 5 - Hệ thống Vào/Ra 27 Đặc điểm Điều khiển 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: yêu cầu ngắt BXL – Phần mềm: trao đổi dữ liệu BXL trực tiếp điều khiển vào/ra BXL không phải đợi Modul vào/ra ⇒ hiệu quả BXL sử dụng tốt hơn bangtqh@utc2.edu.vn Chương 5 - Hệ thống Vào/Ra 28
  15. Phân loại ngắt Ngắt cứng (Hard Interrupt): yêu cầu ngắt do mạch phần cứng bên ngoài gửi đến – Ngắt cứng NMI (None Maskable Interrupt): có yêu cầu ngắt thì bắt buộc phải ngắt • Ví dụ: Có sự cố nguồn; lỗi bộ nhớ – Ngắt cứng MI (Maskable Interrupt): có yêu cầu ngắt thì có hai khả năng xẩy ra: • Được ngắt nếu ngắt đó ở trạng thái cho phép • Không được ngắt nếu ngắt đó ở trạng thái bị cấm – Ngắt cứng MI dùng để trao đổi dữ liệu với TBNV bangtqh@utc2.edu.vn Chương 5 - Hệ thống Vào/Ra 29 Phân loại ngắt Ngắt mềm (Soft Interrupt): Yêu cầu ngắt do lệnh gọi ngắt nằm trong chương trình sinh ra Ngắt ngoại lệ (Exception Interrupt): là các ngắt sinh ra do lỗi xuất hiện trong quá trình thực hiện chương trình – Ví dụ: • Gặp lệnh chia cho 0 • Lệnh sai cú pháp • tràn số • Nhảy đến các điều kiện không tồn tại bangtqh@utc2.edu.vn Chương 5 - Hệ thống Vào/Ra 30
  16. Vào/Ra bằng Ngắt (tt) Nhìn từ CPU – Hoạt động đọc dữ liệu – Phát tín hiệu điều khiển đọc – Làm việc 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 trạng thái (các thanh ghi) vào stack • Chuyển tới địa chỉ chương trình con phục vụ ngắt để đọc dữ liệu • Khôi phụ trạng thái (các thanh ghi) bangtqh@utc2.edu.vn Chương 5 - Hệ thống Vào/Ra 31 Vào/Ra bằng Ngắt (tt) Nhìn từ Modul Vào/ra – Hoạt động đọc dữ liệu – Đọc tín hiệu điều khiển từ CPU – Nhận dữ liệu từ TBNV (trong lúc này CPU làm việc khác) – Khi đã có dữ liệu phát tín hiệu ngắt tới CPU – CPU nhận dữ liệu vào (để xử lý) – Truyền dữ liệu tới CPU bangtqh@utc2.edu.vn Chương 5 - Hệ thống Vào/Ra 32
  17. Vào/Ra bằng Ngắt (tt) Vấn đề nảy sinh – CPU làm sao phân biệt được Module vào/ra nào phát tín hiệu ngắt – Trường hợp cùng 1 lúc có nhiều Module phát tín hiệu ngắt thì sao? Cần có phương pháp ghép nối ngắt Các phương pháp: – Sử dụng nhiều đường ngắt – Software Poll (Kiểm tra vòng bằng phần mềm) – Daisy Chain or Hardware Poll (Kiểm tra vòng bằng phần cứng) – Sử dụng bộ điều khiển ngắt (PIC) bangtqh@utc2.edu.vn Chương 5 - Hệ thống Vào/Ra 33 PP Sử dụng nhiều đường ngắt Mỗi Modul vào/ra có đường yêu cầu ngắt khác nhau CPU phải có nhiều đường tín hiệu yêu cầu ngắt Số lượng Modul bị hạn chế (hạn chế số lượng TBNV) Phải quy định mức độ ưu tiên các đường ngắt bangtqh@utc2.edu.vn Chương 5 - Hệ thống Vào/Ra 34
  18. Phương pháp Software Poll CPU thực hiện phần mềm hỏi lần lượt từng modul vào/ra Tốc độ chậm Thứ tự hỏi vòng chính là thứ tự ưu tiên bangtqh@utc2.edu.vn Chương 5 - Hệ thống Vào/Ra 35 PP Daisy Chain or Hardware Poll CPU phát tín hiệu chấp nhận ngắt (INTA) đến Modul vào/ra đầu tiên, nếu module này không có nhu cầu ngắt nó gửi đến modul kế tiếp (cứ như vậy) Nếu modul có nhu cầu ngắt, nó sẽ đáp ứng bằng cách đặt vectơ ngắt lên bus dữ liệu CPU sử dụng vectơ để xác định CTC điều khiển ngắt bangtqh@utc2.edu.vn Chương 5 - Hệ thống Vào/Ra 36
  19. PP Sử dụng bộ điều khiển ngắt PIC – Programable Interrupt Controller: Có nhiều đường ngắt quy định mức ưu tiên PIC chọn 1 ngắt không bị cấm có ưu tiên cao nhất gửi tới CPU bangtqh@utc2.edu.vn Chương 5 - Hệ thống Vào/Ra 37 Ví dụ: PIC 8259A bangtqh@utc2.edu.vn Chương 5 - Hệ thống Vào/Ra 38
  20. Vào/ra bằng DMA Nhược diểm của vào/ra bằng chương trình và vào/ra bằng ngắt – Tốc độ truyền bị hạn chế – Chiếm thời gian của CPU (do CPU tham gia vào quá trình trao đổi dữ liệu) Để khắc phục, dùng DMA – Thêm modul phần cứng trên bus: DMAC (DMA Controller) – DMAC điều khiển vào/ra không cần sự tham gia của CPU bangtqh@utc2.edu.vn Chương 5 - Hệ thống Vào/Ra 39 Sơ đồ cấu trúc của DMAC bangtqh@utc2.edu.vn Chương 5 - Hệ thống Vào/Ra 40
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2