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

ào/ra theo bản đồ bộ nhớ

 Đặc điểm:

• Không gian địa chỉ cổng vào/ra nằm

trong không gian địa chỉ bộ nhớ

 Cách truy nhập:

• Dùng chung tín hiệu như truy nhập bộ

nhớ

• Dùng chung lệnh trao đổi dữ liệu với bộ

nhớPhan Trung Kiên 17

Ví dụ đối với BXL 8088

 Lệnh và tín hiệu

điều khiển chung

cho cả hai:

MOV

IO/M = 0

00000H

FFFFFH

VÀO/RA BỘ NHỚPhan Trung Kiên 18

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 bằng ngắt (Interrupt Driven IO)

 Vào/ra bằng DMA (Direct Memory Access

pdf54 trang | Chia sẻ: trungkhoi17 | Lượt xem: 829 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Bài giảng môn Kiến trúc máy tính - Chương 6: Hệ thống vào, ra, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Phan Trung Kiên 1 Kiến trúc máy tính Chương 6 HỆ THỐNG VÀO/RA Phan Trung Kiên 2 Nội dung chương 6  Tổng quan về hệ thống vào/ra  Các phương pháp địa chỉ hóa cổ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. Phan Trung Kiên 3 Tổng quan về Hệ thống vào/ra  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 thành phần chính: • Các thiết bị ngoại vi • Mạch nối ghép vào/ra (Modul vào/ra) Phan Trung Kiên 4 Tổng quan về Hệ thống vào/ra Cache Bus chính BXL Bộ nhớ chính Mạch ĐK vào/ra Mạch ĐK vào/ra Mạch ĐK vào/ra Đĩa Đĩa Đồ họa Mạng Các ngắt Phan Trung Kiên 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ì: • BXL 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 BXL và RAM  Chức năng của Modul vào/ra: • Nối ghép với BXL và hệ thống nhớ • Nối ghép với một hoặc nhiều TBNV Phan Trung Kiên 6 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: • TBNV giao tiếp người-máy: màn hình, bàn phím, máy in, ... • TBNV giao tiếp máy-máy: các thiết bị theo dõi và kiểm tra • TBNV truyền thông: modem, card giao tiếp mạng (NIC) Phan Trung Kiên 7 Một số TBNV thông dụng Phan Trung Kiên 8 Sơ đồ khối của TBNV TÝn hiÖu §K tõ Modul vµo/ra TÝn hiÖu TT ®Õn Modul vµo/ra D÷ liÖu ®Õn vµ tõ Modul vµo/ra D÷ liÖu ®Õn vµ tõ m«i tr−êng bªn ngoµi Logic §K Bé ®Öm Bé chuyÓn ®æi tÝn hiÖu Phan Trung Kiên 9 Các thành phần cơ bản của TBNV  Bộ chuyển đổi tín hiệu (transducer): chuyển đổi dữ liệu từ dạng tín hiệu điện thành dạng năng lượng khác và ngược lạ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ừ Modul vào/ra  Bộ đệm (buffer): chứa dữ liệu tạm thời khi trao đổi dữ liệu giữa Modul vào/ra và TBNV Phan Trung Kiên 10 Modul vào/ra  Chức năng: • Điều khiển và định thời gian • Trao đổi thông tin với BXL • Trao đổi thông tin với TBNV • Bộ đệm dữ liệu • Phát hiện lỗi Phan Trung Kiên 11 Sơ đồ khối của Modul vào/ra C¸c ®−êng d÷ liÖu Nèi ghÐp víi TBNV C¸c ®−êng ®Þa chØ C¸c ®−êng ®iÒu khiÓn Thanh ghi d÷ liÖu Thanh ghi §K/tr¹ng th¸i Logic vµo/ra Logic giao diÖn víi TBNV Logic giao diÖn víi TBNV D÷ liÖu §iÒu khiÓn Tr¹ng th¸i D÷ liÖu §iÒu khiÓn Tr¹ng th¸i Nèi ghÐp víi bus hÖ thèng Phan Trung Kiên 12 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  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 Phan Trung Kiên 13 Các PP địa chỉ hóa cổng vào/ra  Vào/ra tách biệt (isolated IO)  Vào/ra theo bản đồ bộ nhớ (memory mapped IO) Phan Trung Kiên 14 Vào/ra cách biệt  Đặc điểm: • Không gian địa chỉ cổng vào/ra nằm ngoài không gian địa chỉ bộ nhớ  Cách truy nhập: • 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ớ • Sử dụng lệnh vào/ra chuyên dụng: IN, OUT. Phan Trung Kiên 15 Ví dụ đối với BXL 8088 BỘ NHỚ THIẾT BỊ VÀO THIẾT BỊ RA Lệnh: MOV IN OUT T/h ĐK: IO/M = 0 IO/M = 1 IO/M = 1 1 MB 00000H FFFFFH 64 KB 0000H FFFFH 64 KB 0000H FFFFH Phan Trung Kiên 16 Vào/ra theo bản đồ bộ nhớ  Đặc điểm: • Không gian địa chỉ cổng vào/ra nằm trong không gian địa chỉ bộ nhớ  Cách truy nhập: • Dùng chung tín hiệu như truy nhập bộ nhớ • Dùng chung lệnh trao đổi dữ liệu với bộ nhớ Phan Trung Kiên 17 Ví dụ đối với BXL 8088  Lệnh và tín hiệu điều khiển chung cho cả hai: MOV IO/M = 0 00000H FFFFFH VÀO/RA BỘ NHỚ Phan Trung Kiên 18 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 bằng ngắt (Interrupt Driven IO)  Vào/ra bằng DMA (Direct Memory Access) Phan Trung Kiên 19 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 Phan Trung Kiên 20 Hoạt động vào/ra bằng chương trình  BXL yêu cầu thao tác vào/ra  Modul vào/ra thực hiện thao tác  Modul vào/ra thiết lập các bit trạng thái  BXL kiểm tra các bit trạng thái: • 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 Phan Trung Kiên 21 Lưu đồ hoạt động Đọc trạng thái của TBNV TBNV sẵn sàng? Trao đổi DL với TBNV Sai Đúng Phan Trung Kiên 22 Các lệnh vào/ra  BXL phát ra địa chỉ • Xác định Modul vào/ra (và thiết bị nếu một Modul chứa nhiều hơn 1 thiết bị)  BXL phát ra lệnh: • Điều khiển: yêu cầu Modul làm việc gì  VD: điều khiển quay đĩa • Kiểm tra: kiểm tra trạng thái  VD: nguồn? lỗi? • Đọc/ghi  Modul truyền DL qua bộ đệm từ/tới thiết bị Phan Trung Kiên 23 Đặc điểm  BXL trực tiếp điều khiển vào/ra • Nhận biết thông tin trạng thái từ TBNV • Phát tín hiệu điều khiển Read/Write • Trao đổi dữ liệu  BXL chờ đến khi Modul vào/ra hoàn thành thao tác  Tốn thời gian của BXL Phan Trung Kiên 24 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 Phan Trung Kiên 25 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 Phan Trung Kiên 26 Nguyên tắc hoạt động  BXL không mất thời gian chờ đợi  BXL không phải kiểm tra trạng thái sẵn sàng của TBNV  Modul vào/ra ngắt BXL khi nó ở trạng thái sẵn sàng Phan Trung Kiên 27 Hoạt động Mạch điều khiển thiết bị phát ra ngắt BXL thực hiện xong lệnh hiện tại BXL phát tín hiệu chấp nhận ngắt BXL cất nội dung Thanh ghi cờ và Bộ đếm CT vào Stack BXL nạp vào Bộ đếm CT giá trị địa chỉ mới lấy từ ngắt vào BXL cất các thông tin còn lại của trạng thái xử lý Thực hiện ngắt Khôi phục thông tin trạng thái Khôi phục Thanh ghi cờ và Bộ đếm CT P h ầ n c ứ n g P hần m ềm Phan Trung Kiên 28 Đặc điểm  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 Phan Trung Kiên 29 Các PP xác định modul ngắt  Nhiều đường yêu cầu ngắt (Different line for each module)  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 or Hardware poll)  Chiếm bus (Bus Master) Phan Trung Kiên 30 PP1: Nhiều đường yêu cầu ngắt  BXL phải có các đường yêu cầu ngắt khác nhau cho mỗi modul vào/ra  Hạn chế số lượng thiết bị Modul vào ra Modul vào ra Modul vào ra Modul vào ra BXL T h a n h g h i n g ắ t INTR 0 INTR 1 INTR 2 INTR 3 Phan Trung Kiên 31 PP2: Kiểm tra vòng bằng phần mềm  BXL thực hiện phần mềm kiểm tra từng Modul  Tốc độ chậm Modul vào ra Modul vào ra Modul vào ra Modul vào ra BXL Cờ yêu cầu ngắt INTR Phan Trung Kiên 32 PP3: Kiểm tra vòng bằng phần cứng  BXL phát tín hiệu chấp nhận ngắt đến chuỗi các Modul vào/ra  Modul sẽ đáp ứng bằng cách đặt vectơ ngắt lên bus dữ liệu BXL sử dụng vectơ để xác định CTC điều khiển ngắt Modul vào ra Modul vào ra Modul vào ra Modul vào ra BXL Cờ yêu cầu ngắt INTR Bus dữ liệu INTA Phan Trung Kiên 33 PP4: Chiếm bus  Modul vào/ra cần chiếm bus trước khi nó phát tín hiệu yêu cầu ngắt  Ví dụ: • PCI • SCSI Phan Trung Kiên 34 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ự  Định 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 đó Phan Trung Kiên 35 Ngắt tuần tự Phan Trung Kiên 36 Ngắt lồng nhau Phan Trung Kiên 37 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 BXL thì BXL 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) Phan Trung Kiên 38 PIC  PIC có nhiều đường vào yêu cầu ngắt  PIC chọn ngắt có ưu tiên cao nhất (không bị cấm) gửi tới BXL Modul vào ra Modul vào ra Modul vào ra Modul vào ra PIC INTR 0 INTR 1 INTR 2 INTR 3 BXL Bus DL INTR INTA Phan Trung Kiên 39 Ví dụ: PIC 8259A Phan Trung Kiên 40 Vào/ra bằng DMA  Vào ra bằng chương trình và vào/ra bằng ngắt do BXL điều khiển • Tốc độ truyền bị hạn chế • Chiếm thời gian của BXL  Để 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 qua BXL Phan Trung Kiên 41 Sơ đồ cấu trúc của DMAC Phan Trung Kiên 42 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 Phan Trung Kiên 43 Sơ đồ DMACBXL Bộ nhớ TBNV HRQ DACK DREQ HLDA Bus địa chỉ Bus dữ liệu Bus điều khiển Phan Trung Kiên 44 Quá trình hoạt động  B1: TBNV gửi tín hiệu DREQ (Dma REQuest) tới DMAC  B2: DMAC gửi tín hiệu HRQ (Hold ReQuest) để xin dùng các đường bus  B3: BXL sẽ thực hiện xong chu kỳ bus hiện tại và trả lời đồng ý bằng việc gửi tín hiệu HLDA (HoLD Acknowledge) tới DMAC  B4: DMAC gửi tín hiệu DACK (Dma ACKnowledge) tới TBNV báo chuẩn bị truyền dữ liệu  B5: DMAC thực hiện điều khiển quá trình truyền dữ liệu giữa bộ nhớ và TBNV  B6: DMAC thực hiện xong công việc, nó bỏ kích hoạt tín hiệu HRQ. Hệ thống trở lại bình thường. Phan Trung Kiên 45 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 cả khối dữ liệu.  DMA ăn trộm chu kỳ (cycle stealing DMA): DMAC ép buộc BXL treo tạm thời từng chu kỳ để thực hiện truyền một byte dữ liệu.  DMA trong suốt (transparent DMA): DMAC nhận biết những chu kỳ nào BXL không dùng bus thì lấy bus để tranh thủ truyền một byte dữ liệu. Phan Trung Kiên 46 Cấu hình DMA: kiểu 1  Bus đơn, bộ điều khiển DMA riêng rẽ  Mỗi lần truyền, DMAC sử dụng bus 2 lần: • Từ Modul vào/ra đến DMAC • Từ DMAC đến bộ nhớ  BXL bị treo bus 2 lần Phan Trung Kiên 47 Cấu hình DMA: kiểu 2  Bus đơn, bộ điều khiển DMA tích hợp  DMAC điều khiển một hoặc vài Modul vào/ra  Mỗi lần truyền, chỉ sử dụng bus 1 lần • Từ DMAC tới bộ nhớ  BXL chỉ bị treo bus 1 lần Phan Trung Kiên 48 Cấu hình DMA: kiểu 3  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 chỉ dùng bus 1 lần: • Từ DMA tới bộ nhớ  BXL cũng chỉ bị treo bus 1 lần Phan Trung Kiên 49 Nối ghép thiết bị ngoại vi  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  Các cấu hình nối ghép: • Điểm tới điểm • Điểm tới đa điểm Phan Trung Kiên 50 Nối ghép song song  Truyền nhiều bit song song  Tốc độ nhanh  Cần nhiều đường truyền dữ liệu Modul vào/ra song song Đến bus hệ thống Đến thiết bị ngoại vi Phan Trung Kiên 51 Nối ghép nối tiếp  Truyền lần lượt từng bit  Cần có bộ chuyển đổi song song thành nối tiếp và ngược lại  Tốc dộ chậm  Cần ít đường truyền dữ liệu Modul vào/ra nối tiếp Đến bus hệ thôn g Đến thiết bị ngoạ i vi Phan Trung Kiên 52 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 TBNV • Ví dụ: cổng chuột, bàn phím, ...  Điểm tới đa điểm (point-to-multipoint): • Thông qua một cổng vào/ra, nối ghép được với nhiều TBNV • Ví dụ:  SCSI: 7 hoặc 15 thiết bị  USB: 127 thiết bị  IEEE 1394 FireWire: 63 thiết bị Phan Trung Kiên 53 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, 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ị, nhờ các USB Hub Phan Trung Kiên 54 Kiến trúc máy tính HẾT CHƯƠNG 6

Các file đính kèm theo tài liệu này:

  • pdfbai_giang_mon_kien_truc_may_tinh_chuong_6_he_thong_vao_ra.pdf