Thông tin tài liệu
Chương 6
Các kiểu I/O
6.1 Thăm dò (Polling)
6.2 I/O điều khiển bằng ngắt (Interrupt)
-
6.3 DMA (Direct Memory Access)
Thăm dò
mov dx, F000
L1: in al, dx
cmp al, FF
je L1
:
:
A
1
5
8088
Minimum
Mode
A18
A0
:
D7
D6
IOR
IOW
A19
D5
D4
D3
D2
D1
D0
74LS245
B0
B1
B2
B3
B4
B5
B6
B7
A0
A1
A2
A3
A4
A5
A6
A7
E DIR
A
1
4
A
1
3
A
1
2
A
1
1
A
1
0
A
9
A
8
A
7
A
6
A
5
A
4
A
3
A
2
A
1
A
0
IOR
5V
The Circuit
A
1
5
8088
Minimum
Mode
A18
A0
:
D7
D6
IOR
IOW
A19
D5
D4
D3
D2
D1
D0
A
1
4
A
1
3
A
1
2
A
1
1
A
1
0
A
9
A
8
A
7
A
6
A
5
A
4
A
3
A
2
A
1
A
0
IOR
5V
74LS245
B0
B1
B2
B3
B4
B5
B6
B7
A0
A1
A2
A3
A4
A5
A6
A7
E DIR
A
1
5
A
1
4
A
1
3
A
1
2
A
1
1
A
1
0
A
9
A
8
A
7
A
6
A
5
A
4
A
3
A
2
A
1
A
0
IOW
74LS373
Q0
Q1
Q2
Q3
Q4
Q5
Q6
Q7
D0
D1
D2
D3
D4
D5
D6
D7
OELE
Bài toán
•
Chương trình tạo ra hiệu ứng “LED chạy”:
- Ban đầu LED chạy từ trên xuống
- Khi nhấn phím thấp nhất thì LED thay đổi hướng chạy
- Khi nhấn phím cao nhất thì chương trình kết thúc
Chương trình
mov dx, F000
mov ah, 00
mov al, 01
L1: out dx, al
mov cx, FFFF
L2: dec cx
jnz L2
cmp ah, 00
jne L3
rol al, 1
cmp al, 01
jne L1
jmp L4
L3: ror al, 1
cmp al, 80
jne L1
L4: mov bl, al
in al, dx
cmp al, FF
je L6
test al, 01
jnz L5
xor ah, FF
jmp L6
L5: test al, 80
jz L7
L6: mov al, bl
jmp L1
L7:
Khuyết điểm của thăm dò
•
Tốn nhiều thời gian
•
NgườI sử dụng có thể nhả phím trước khi lệnh in al, dx
được thực hiện, do đó bộ vi xi xử lý sẽ không biết rằng
ngườI sử dụng đã nhấn phím
•
Làm sao để khắc phục các khuyết điểm đó?
Khuyết điểm của thăm dò
mov dx, F000
mov ah, 00
mov al, 01
L1: out dx, al
mov cx, FFFF
L2: dec cx
jnz L2
cmp ah, 00
jne L3
rol al, 1
cmp al, 01
jne L1
jmp L4
L3: ror al, 1
cmp al, 80
jne L1
L4: mov bl, al
in al, dx
cmp al, FF
je L6
test al, 01
jnz L5
xor ah, FF
jmp L6
L5: test al, 80
jz L7
L6: mov al, bl
jmp L1
L7:
Ngắt là gì?
Thăm dò
While studying, I’ll
check the bucket every
5 minutes to see if it is
already full so that I can
transfer the content of
the bucket to the drum.
Input
Device
Memory
µP
instruction
THĂM DÒ
[...]... sàng của thiết bị I/O • Các thiết bị I/O sẽ báo cho vi xử lý biết khi chúng đã sẵn sàng • Bộ vi xử lý có thể làm công việc khác khi thiết bị I/O không có nhu cầu trao đổI dữ liệu Interrupt- Ngắt • Một số thuật ngữ cần nhớ: – Yêu cầu ngắt – Đầu vào ngắt – Đầu ra chấp nhận ngắt – Chương trình con phục vụ ngắt – Vector ngắt – Số ngắt – Bảng các vector ngắt Interrupt Service Routine (ISR) - Chương trình con... Mode D7 D6 D5 D4 D3 D2 D1 D0 A0 A1 A2 A3 A4 A5 A6 A7 74LS245 E IOR IOW A A A A A A A A A A A A A A A A IOR 11111198 765 43210 543210 B0 B1 B2 B3 B4 B5 B6 B7 DIR 8088 và thiết bị vào hoạt động theo cơ chế ngắt 5V A19 A18 : A0 8088 Minimum Mode D7 D6 D5 D4 D3 D2 D1 D0 A7 B7 A6 B6 A5 B5 A4 B4 A3 B3 74LS245 B2 A2 A1 B1 A0 B0 E DIR IOR IOW INTR INTA INTR A A A A A A A A A A A A A A A A IOR 11111198 765 43210... IOR 11111198 765 43210 543210 D set Q clr Q INTA INTR 8088 và một thiết bị vào hoạt động theo cơ chế ngắt 5V A19 A18 : A0 5V D7 D6 D5 D4 8088 Minimum Mode A7 A6 A5 A4 D3 D2 D1 D0 A3 A2 A1 A0 B7 B6 B5 B4 74LS245 E IOR IOW INTR INTA B3 B2 B1 B0 A7 A6 A5 A4 A3 A2 A1 A0 D7 D6 D5 D4 D3 D2 D1 D0 74LS245 E INTA B7 B6 B5 B4 B3 B2 B1 B0 DIR DIR 5V 5V A A A A A A A A A A A A A A A A IOR 11111198 765 43210 543210... ngắt 5V A19 A18 INT 3 : A0 5V D7 D6 D5 D4 8088 Minimum Mode A7 A6 A5 A4 D3 D2 D1 D0 A3 A2 A1 A0 B7 B6 B5 B4 74LS245 E IOR IOW INTR INTA B3 B2 B1 B0 A7 A6 A5 A4 A3 A2 A1 A0 D7 D6 D5 D4 D3 D2 D1 D0 74LS245 E INTA B7 B6 B5 B4 B3 B2 B1 B0 DIR DIR 5V 5V A A A A A A A A A A A A A A A A IOR 11111198 765 43210 543210 D set Q clr Q INTR INTA RESET A19 A18 : A0 8088 Minimum Mode D7 D6 D5 D4 D3 D2 D1 D0 5V The Circuit... động theo cơ chế ngắt 5V A19 A18 : A0 D7 B0 D6 A6 B1 D5 A5 B2 D4 A4 B3 D3 8088 Minimum Mode A7 A3 B4 D2 A2 74LS245 B5 D1 A1 B6 D0 A0 B7 E DIR IOR 5V IOW INTR 5V INTA A A A A A A A A A A A A A A A A IOR 11111198 765 43210 543210 D set Q clr Q 5V INTR 8088 và một thiết bị vào hoạt động theo cơ chế ngắt 5V A19 A18 : A0 D7 D6 B7 B6 D5 A5 B5 D4 8088 Minimum Mode A7 A6 A4 B4 D3 D2 A3 A2 D1 A1 B1 D0 A0 B0 74LS245... A0 8088 Minimum Mode D7 D6 D5 D4 D3 D2 D1 D0 5V The Circuit A0 B0 A1 B1 A2 B2 A3 B3 A4 B4 74LS245 B5 A5 A6 B6 A7 B7 E IOR IOW DIR D0 Q0 D1 Q1 D2 Q2 D3 Q3 D4 Q4 D574LS373 Q5 D6 Q6 D7 Q7 A A A A A A A A A A A A A A A A IOR 11111198 765 43210 543210 LE AAAAAAAAAAAAAAAAIOW 11111198 765 43210 543210 OE Chương trình chính ISR bắt đầu từ 52800h mov mov mov mov mov mov mov sti mov mov mov ax,0000 ds, ax bx, 000C... nếu tất cả các byte lệnh của một lệnh đã được lấy Quay trỏ lại bước 2 Phản ứng của vi xử lý khi có ngắt • Thiết bị I/O đưa yêu cầu ngắt đến bộ vi xử lý bằng cách làm cho đầu vào ngắt INTR chuyển sang mức cao 6 Bộ vi xử lý sẽ hoàn thành lệnh đang thực hiện trước khi chấp nhận ngắt 7 Bộ vi xử lý chấp nhận ngắt bằng cách đưa ra tín hiệu chấp nhận ngắt ở mức thấp từ chân INTA Lúc này thiết bị I/O sẽ làm... bị sẽ được gán cho một Interrupt Vector Table Bảng các vector ngắt • Là vùng nhớ được dành riêng để lưu trữ các vector ngắt • Có thể xem như là một mảng các vector ngắt – Mảng này có 2 56 phần tử – Mỗi phần tử gồm 4 byte: 2 byte đầu lưu địa chỉ offset, 2 byte sau lưu địa chỉ segment – Các vector ngắt được lưu trữ theo trật tự tăng dần của số ngắt Bảng các vector ngắt Phản ứng của vi xử lý khi không có... vector ngắt tương ứng trong bảng các vector ngắt Hai byte đầu tiên của vector ngắt được copy vào IP và hai byte tiếp theo được copy vào CS Quay trở về bước 2 8088 và một thiết bị ra đơn giản A19 A18 : A0 8088 Minimum Mode D7 D6 D5 D4 D3 D2 D1 D0 D0 D1 D2 D3 D4 D5 D6 D7 74LS373 LE IOR IOW A A A A A A A A A A A A A A A A IOW 11111198 765 43210 543210 Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 OE 8088 và một thiết bị vào... ngắt • Là chương trình được thực hiện khi có một yêu cầu ngắt được chấp nhận • Kết thúc bằng lệnh IRET • Địa chỉ của chương trình con phục vụ ngắt • Bao gồm 4 byte: – 2 byte cho địa chỉ Offset – 2 byte cho địa chỉ Segment Interrupt Vector Number Số ngắt • Là một số vì có thể đến bộ vi biết được số ngắt • Trong hệ thống 8088, co thể có đến 2 56 số ngắt (từ 00h đến FFh) được dùng để phân biệt các yếu cầu .
Chương 6
Các kiểu I/O
6. 1 Thăm dò (Polling)
6. 2 I/O điều khiển bằng ngắt (Interrupt)
-
6. 3 DMA (Direct Memory Access)
. :
A
1
5
8088
Minimum
Mode
A18
A0
:
D7
D6
IOR
IOW
A19
D5
D4
D3
D2
D1
D0
74LS245
B0
B1
B2
B3
B4
B5
B6
B7
A0
A1
A2
A3
A4
A5
A6
A7
E DIR
A
1
4
A
1
3
A
1
2
A
1
1
A
1
0
A
9
A
8
A
7
A
6
A
5
A
4
A
3
A
2
A
1
A
0
IOR
5V
Ngày đăng: 25/01/2014, 07:20
Xem thêm: Tài liệu Chương 6 Các kiểu I/O docx, Tài liệu Chương 6 Các kiểu I/O docx, Khuyết điểm của thăm dò, Interrupt Service Routine (ISR) - Chương trình con phục vụ ngắt Interrupt vector - Vector ngắt, 8088 và một thiết bị vào hoạt động theo cơ chế ngắt, Chương trình con phục vụ ngắt (ISR)