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ì: • Tốc độ trao đổi dữ liệu khác nhau Chức năng của Modul vào/ra:... Các thành phần cơ bản của
Trang 1Kiến trúc máy tính
Chương 6
HỆ THỐNG VÀO/RA
Trang 2Nội dung chương 6
vào/ra
Nối ghép thiết bị ngoại vi.
Trang 4Tổ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
Đồ họa Các ngắt
Trang 5Tạ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ì:
• Tốc độ trao đổi dữ liệu khác nhau
Chức năng của Modul vào/ra:
Trang 6Cá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
Trang 7Một số TBNV thông dụng
Trang 8Sơ đồ 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
Logic ĐK Bộ đệm
Bộ chuyển
đổi tín hiệu
Trang 9Các thành phần cơ bản của TBNV
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
hoạt động của TBNV đáp ứng theo yêu
cầu từ Modul vào/ra
trao đổi dữ liệu giữa Modul vào/ra và
TBNV
Trang 10Modul 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
Trang 11Sơ đồ 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
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
Trang 12Thành phần cơ bản của Modul vào/ra
quá trình trao đổi
mỗi cổng có một địa chỉ xác định
giữ thông tin điều khiển, trạng thái cho các cổng vào/ra
Trang 13Các PP địa chỉ hóa cổng vào/ra
Vào/ra tách biệt (isolated IO)
mapped IO)
Trang 15FFFFH
64 KB 0000H
FFFFH
Trang 16Và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ớ
Trang 17FFFFFH
Trang 18Cá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)
Trang 19Và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
Trang 20Hoạ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
Trang 21Lưu đồ hoạt động
Đọc trạng thái của TBNV
TBNV sẵn sàng?
Trao đổi DL
Sai Đúng
Trang 22• Đ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
Trang 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
Trang 24Phân loại 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
• Ngắt cứng MI (Maskable Interrupt): có yêu cầu ngắt thì có hai khả năng xẩy ra:
Trang 25Phân loại ngắt
do lệnh gọi ngắt nằm trong chương trình
sinh ra
ngắt sinh ra do lỗi xuất hiện trong quá
Trang 26Nguyê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
Trang 27Hoạt động
Mạch điều khiển
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
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
Trang 28Đặc điểm
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
Trang 29Các PP xác định modul ngắt
Nhiều đường yêu cầu ngắt
(Different line for each module)
(Software poll)
Kiểm tra vòng bằng phần cứng
(Daisy Chain or Hardware poll)
Chiếm bus (Bus Master)
Trang 30PP1: Nhiều đường yêu cầu ngắt
cho mỗi modul vào/ra
Modul vào ra
Modul vào ra
Modul vào ra
Modul vào ra BXL
INTR 0 INTR 1 INTR 2 INTR 3
Trang 31PP2: Kiểm tra vòng bằng phần mềm
Modul vào ra
Modul vào ra
Modul vào ra
Modul vào ra BXL
Trang 32Modul vào ra
Modul vào ra
Modul vào ra BXL
Cờ yêu
Trang 33PP4: 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
• PCI
• SCSI
Trang 34Xử lý với nhiều ngắt
Các ngắt bị cấm
thực hiện một ngắt
Định nghĩa ưu tiên ngắt:
ngắt bởi ngắt có ưu tiên cao hơn
Trang 35Ngắt tuần tự
Trang 36Ngắt lồng nhau
Trang 37Nhiề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?
khiển ngắt lập trình được (PIC
-Pr ogrammable I nterrupt Co ntroller)
Trang 38 PIC có nhiều đường vào yêu cầu ngắt
Modul vào ra
Modul vào ra
Modul vào ra
Modul vào ra
INTR 1 INTR 2 INTR 3
BXL
Bus DL
INTR
INTA
Trang 39Ví dụ: PIC 8259A
Trang 41Sơ đồ cấu trúc của DMAC
Trang 44Quá trình hoạt động
dùng các đường bus
Trang 45Các kiểu thực hiện DMA
DMA): DMAC sử dụng bus để truyền cả khối
dữ liệu.
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.
Trang 46Cấ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:
Trang 47Cấu hình DMA: kiểu 2
Mỗi lần truyền, chỉ sử dụng bus 1 lần
Trang 48Cấ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:
Trang 49Nố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
Trang 50Nối ghép song song
Truyền nhiều bit song song
Tốc độ nhanh
Modul vào/ra song song
Đến bus hệ thống
Đến thiết bị ngoại vi
Trang 51Nố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
Modul vào/ra nối tiếp
Đến bus hệ thôn g
Đến thiết bị ngoạ
i vi
Trang 52Các cấu hình nối ghép
Điểm tới điểm (point-to-point):
TBNV
• Ví dụ: cổng chuột, bàn phím,
Điểm tới đa điểm (point-to-multipoint):
với nhiều TBNV
• Ví dụ:
Trang 53Các cổng vào-ra thông dụng trên PC
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
Trang 54Kiến trúc máy tính
HẾT CHƯƠNG 6