“ 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... Cóc
Trang 1Kiến troéc méy tinh
Chuong 6
HE THONG VAO/RA
Nguyen Thanh Tung THPT QUY H
CP |
Trang 2Nội dung bỏi giỏng
“ Chương 1: Giới thiệu chung
= Chương 2: Biểu diễn DL & số học máy tính
= Chương 3: Bộ xử lý
= Chương 4: Kiến trúc tập lệnh
“ Chương 5: Hệ thống nhớ
" Chương 6: Hệ thống vàoira
Trang 3Nội dung chương ó
= Tong 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
Trang 4Tổng quoœn về Hệ thống vòo/ro
= 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
= Cac thao tac co ban:
* Vao dt liéu (Input)
Trang 5Tổng quoœn về Hệ thống vòo/ro
Trang 6
Tai sao cGn Modul vao/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
Trang 7Cac thiét bi ngoai 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
Trang 9So dé khéi cua TBNV
Tín hiệu ĐK
từ Modul vao/ra
Tín hiệu TT
A»
Dữ liệu đến
và từ Modul vao/ra
Trang 10Có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 vao/ra
= Bo dém (buffer): chua dữ liệu tạm thời khi trao đổi dữ liệu giữa Modul vào/ra và TBNV
10
Trang 11Modul vao/ra
=" Chuc nang:
* Diéu khién va dinh thời gian
* Trao déi thông tin với BXL
- Trao đổi thông tin với TBNV
° Bộ đệm đứ liệu
- Phát hiện lỗi
I]
Trang 12Sơ đồ khối củo Modul vdo/ra
Nối ghép với bus hệ thống
—À—¬
Logic giao dién với TBNV
Dứ liệu Trạng thái
Điều khiển
Dứ liệu Trạng thái
Điều khiển
12
Trang 13Thanh phGn co ban cua Modul vao/ra
= Thanh ghi dữ liệu: đệm dữ liệu trong quá trình
Trang 14Cúc PP địa chỉ hóa cổng vòo/ro
= Vao/ra cach biét (isolated |O)
“ Vào/ra theo bản đồ bộ nhớ
(memory mapped |O)
14
Trang 15Vao/ra cach biét
Trang 17Vao/ra theo ban đồ bộ nhớ
= Dac dié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ớ
L7
Trang 19Cac phương phớp điều khiển vòo/ro
“ Vào/ra băng chương trình (Programmed |O)
= Vao/ra bang ngat (Interrupt Driven IO)
= Vao/ra bang DMA (Direct Memory Access)
19
Trang 20Vao/ra bang chuong trình
= Nguyén tac 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 vị
20
Trang 21Hoợ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 vao/ra thiét lap cac bit trang thai
= BXL kiém tra cac bit trang thai:
* Néu chua san sang thi 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
21
Trang 22TBNV san sang ? Sal
Trang 23Cac lénh vao/ra
= BXL phat ra dia chi
° Xác định Modul vao/ra (va thiét bi néu mot Modul chứa nhiều hơn 1 thiết bi)
“ BAL 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 dia
- Kiểm tra: kiểm tra trạng thái
> VD: nguồn? lỗi?
* Doc/ghi
> Modul truyền DL qua bộ đệm từitới thiết bị 3
Trang 24Đặc điểm
= BXL truc 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
24
Trang 25Phan loai ngat
= Ngat cttng (Hard Interrupt): yeu cau ngắt do
mach 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 cau 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
25
Trang 26Phan loai ngat
= Ngat mém (Soft Interrupt): Yeu cau ngat do
lenh gol ngat nam trong chương trình sinh ra
= Ngat ngoai lệ (Exception Interrupt): là các ngắt
sinh ra do lỗi xuất hiện trong quá trình thực
Trang 27Nguyê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
sang
27
Trang 28
thiết bị phát ra ngắt
xong lệnh hiện tại lại của trạng thái xử lý
va Bo dém CT vao Stack tin trang thai
BXL nap vao Bo dém CT gia Khôi phục Thanh ghi
\ tri dia chỉ mới lấy từ ngắt vào cờ và Bộ đếm CT j
Trang 29
Đặc điểm
“ Có sự kết hợp giữa phần cứng và phần mềm
° Phan cứng: yêu cầu ngắt BXL
° Phân mềm: trao đổi dữ liệu
= BXL truc tiếp điều khiển vào/ra
= DXL không phải đợi Modul vào/ra — hiệu qua
BXL sứ dụng tốt hơn
29
Trang 30Các PP xóc định modul ngói
“ Nhiều đường yêu cầu ngắt
(Different line for each module)
= Kiém tra vong bang phan 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)
30
Trang 31PP1: Nhiéu duéng yéu cau ngat
vao ra vao ra vao ra vao ra
“ BXL phải có các đường yêu cầu ngắt khác nhau
cho môi modul vàoíra
Trang 32PP2: Kiểm tra vòng bằng phan mềm
Trang 33Vào ra Vào ra Vào ra Vào ra
= BXL sử dụng vectơ để xác định CTC điều khiển ngắt
Trang 34PP4: 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
= Vi du:
° PCI
° SCSI
34
Trang 35-_ 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 thi
BXL quay về ngät trước đó
35
Trang 36ẩn tu
Interrupt Handler X User Program
Interrupt Handler Y
Trang 38Nhiề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)
38
Trang 39> vao ra vao ra vao ra vao ra
= 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ị
Trang 40Vi du: PIC 8259A
Trang 41
Vao/ra bang DMA
= Vao ra bang chuong trinh va vao ra bang ngắt
Trang 42So dé cau trac cua DMAC
Trang 43Cóc thanh phan cua 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
43
Trang 45Quó trinh hoại độ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 đứữ 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
45
Trang 46Cóc kiểu thực hiện DMA
= DMA truyén theo khối (block-transfer DMAI:
DMAC sử dụng bus để truyền cả khối dữ liệu
=" DMA an trom chu ky (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 DMAI):
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
đứ liệu
46
Trang 47Cau hinh DMA: kiéu 1
| Processor | | DMA
= Bus don, bd diéu khién DMA riéng ré
= Moi lan truyén, DMAC str dung bus 2 Ian:
° Từ Modul vào/ra đến DMAC
Trang 48Cếu hình DMA: kiểu 2
(b) Stngle-b us, Intcgrated DMA-l/O
“ 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
= Moi 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 F
Trang 49Cếu hình DMA: kiểu 3
= Bus vao/ra tach roi, hé tro tất cả các thiết bị
cho phep DMA
= Moi lần truyền chỉ dùng bus 1 lần:
- Từ DMA tới bộ nhớ
= BXL cing chi bi treo bus 1 lần
49
Trang 50Nối ghép thiết bi ngoai vi
= Cac 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
50
Trang 51Nố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
51
Trang 52Nố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
“ [ốc dộ chậm
“ Cần ít đường truyền dữ liệu
52
Trang 53Cac cdu hinh néi ghép
= Diém tdi dié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
Trang 54Kiến troéc méy tinh
HET CHUONG 6
Nguyen Thanh Tung THPT QUY H
CP |
94
Trang 55Kiến troéc méy tinh
KET THUC CHUONG TRINH
Coin cam on, hen gap lai!
Nguyen Thanh Tung THPT QUY H
CP |
99