Bài giảng Kỹ thuật vi xử lý - Chương 5: Các phương pháp vào ra dữ liệu
1. Giới thiệu các phương pháp vào ra dữ liệu
2. Vào ra bằng thăm dò
3. Ngắt và xử lý ngắt
Ngắt và phân loại ngắt
Chu trình xử lý ngắt
4. Vào ra bằng ngắt
Chu trình vào ra bằng ngắt
Mạch điều khiển ngắt 8259
5. Vào ra bằng DMA
Chu trình vào ra bằng DMA
Mạch điều khiển DMA 8237
Các CTCPVN là các đoạn chương trình: Được viết sẵn và lưu trong ROM; Mỗi CTCPVN có nhiệm vụ riêng và thường là đảm nhiệm việc trao đổi dữ liệu với thiết bị vào ra. Khi nào CPU kiểm tra và xử lý ngắt: CPU kiểm tra yêu cầu ngắt tại chu kỳ đồng hồ cuối cùng của chu kỳ lệnh. BÀI GIẢNG MÔN KỸ THUẬT VI XỬ LÝ www.ptit.edu.vn GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU BỘ MÔN: KHOA HỌC MÁY TÍNH - KHOA CNTT1 Trang 10 CHƯƠNG 5 – CÁC PHƯƠNG PHÁP VÀO RA DỮ LIỆU 3. Ngắt và xử lý ngắt Phân loại ngắt Ngắt cứng: là các ngắt được kích hoạt bởi các bộ phận phần cứng gửi đến chân NMI và INTR của CPU; gồm: • Ngắt không che được NMI (Non-Maskable Interrupt): ngắt gửi đến chân NMI của CPU, không chịu sự ảnh hưởng của cờ ngắt; VD: ngắt Reset; • Ngắt che được INTR (Maskable Interrupt): ngắt gửi đến chân INTR của CPU, chịu sự chi phối của cờ ngắt; Cờ IF=1 cho phép ngắt, IF=0 cấm ngắt. Ngắt mềm: là các ngắt được kích hoạt bởi các chương trình thông qua lệnh gọi ngắt INT . N là số hiệu ngắt, N=0-255. Các ngắt ngoại lệ: là các ngắt do các lỗi nảy sinh trong quá trình hoạt động của CPU: • Ngắt chia cho 0 (divide by zero) • Ngắt do tràn (overflow) BÀI GIẢNG MÔN KỸ THUẬT VI XỬ LÝ www.ptit.edu.vn GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU BỘ MÔN: KHOA HỌC MÁY TÍNH - KHOA CNTT1 Trang 11 CHƯƠNG 5 – CÁC PHƯƠNG PHÁP VÀO RA DỮ LIỆU 3. Ngắt và xử lý ngắt Trật tự ưu tiên trong xử lý các yêu cầu ngắt Các yêu cầu ngắt được gán một mức ưu tiên Khi nhận được nhiều yêu cầu ngắt đồng thời, CPU sẽ xử lý chúng theo mức ưu tiên định trước Mức ưu tiên các yêu cầu ngắt (từ cao nhất đến thấp nhất) 1. Ngắt nội bộ: INT 0 (chia cho 0), INT N (N0) 2. Ngắt không che được NMI 3. Ngắt che được INTR 4. Ngắt chạy từng lệnh: INT 1 BÀI GIẢNG MÔN KỸ THUẬT VI XỬ LÝ www.ptit.edu.vn GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU BỘ MÔN: KHOA HỌC MÁY TÍNH - KHOA CNTT1 Trang 12 CHƯƠNG 5 – CÁC PHƯƠNG PHÁP VÀO RA DỮ LIỆU 3. Ngắt và xử lý ngắt – Bảng vector ngắt Vi xử lý 8086/8088 có 256 ngắt được đánh số từ 0-255 Một vector ngắt gồm các thông tin: Số hiệu ngắt N, N=0-255 hoặc 00-FFH Địa chỉ đầy đủ chương trình con phục vụ ngắt (CTCPVN) lưu trong bộ nhớ ROM. Địa chỉ đầy đủ gồm: • Địa chỉ đoạn (CS) • Địa chỉ lệch (IP) Bảng vector ngắt lưu thông tin về 256 vector ngắt. Mỗi bản ghi của bảng gồm các thông tin: Số hiệu ngắt Địa chỉ đoạn và địa chỉ lệch của CTCPVN. 4BÀI GIẢNG MÔN KỸ THUẬT VI XỬ LÝ www.ptit.edu.vn GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU BỘ MÔN: KHOA HỌC MÁY TÍNH - KHOA CNTT1 Trang 13 CHƯƠNG 5 – CÁC PHƯƠNG PHÁP VÀO RA DỮ LIỆU 3. Ngắt và xử lý ngắt – Bảng vector ngắt CS IP CS IP 01 02 FF Bảng vector ngắt ROM Bắt đầu đoạn Bắt đầu CTCPVN BÀI GIẢNG MÔN KỸ THUẬT VI XỬ LÝ www.ptit.edu.vn GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU BỘ MÔN: KHOA HỌC MÁY TÍNH - KHOA CNTT1 Trang 14 CHƯƠNG 5 – CÁC PHƯƠNG PHÁP VÀO RA DỮ LIỆU 3. Ngắt và xử lý ngắt – Chu trình xử lý ngắt CTC Thân CTC Yêu cầu ngắt CPU tự: • Lưu t.ghi cờ FR • Xoá IF và TF • Lưu CS và IP • Lấy đ/c CTCPVN CTCPVN Thân CTCPVN IRET CPU tự: • Khôi phục CS và IP • Khôi phục FR • Đặt cờ IF và TF Các lệnh lưu giá trị các thanh ghi dùng chung Các lệnh khôi phục giá trị các thanh ghi dùng chung Tạm dừng CTC Tiếp tục CTC BÀI GIẢNG MÔN KỸ THUẬT VI XỬ LÝ www.ptit.edu.vn GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU BỘ MÔN: KHOA HỌC MÁY TÍNH - KHOA CNTT1 Trang 15 CHƯƠNG 5 – CÁC PHƯƠNG PHÁP VÀO RA DỮ LIỆU 3. Ngắt và xử lý ngắt – Chu trình xử lý ngắt 1. Khi nhận được yêu cầu ngắt, CPU thực hiện các việc: a. Hoàn tất lệnh đang thực hiện của chương trình chính (CTC) b. Lưu giá trị của thanh ghi cờ FR vào ngăn xếp c. Xoá cờ ngắt IF và cờ bẫy TF d. Lưu giá trị của các t.ghi CS và IP vào ngăn xếp e. Từ số hiệu ngắt N, lấy địa chỉ của CTCPVN từ bảng vector ngắt 2. Nạp địa chỉ của CTCPVN vào CS và IP, CPU thực hiện CPCPVN, gồm: a. Lưu giá trị các thanh ghi dùng chung vào ngăn xếp b. Thực hiện mã chính của CTCPVN c. Khôi phục giá trị các thanh ghi dùng chung 3. Gặp lệnh IRET kết thúc CTCPVN, CPU thực hiện các việc: a. Khôi phục giá trị của CS và IP b. Khôi phục giá trị của thanh ghi cờ FR c. Đặt cờ ngắt IF và cờ bẫy TF 4. CPU tiếp tục thực hiện lệnh tiếp theo của CTC (nằm sau lệnh xảy ra ngắt). BÀI GIẢNG MÔN KỸ THUẬT VI XỬ LÝ www.ptit.edu.vn GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU BỘ MÔN: KHOA HỌC MÁY TÍNH - KHOA CNTT1 Trang 16 CHƯƠNG 5 – CÁC PHƯƠNG PHÁP VÀO RA DỮ LIỆU 4. Vào ra bằng ngắt – Chu trình vào ra bằng ngắt 1. Thiết bị vào ra có nhu cầu trao đổi dữ liệu, gửi yêu cầu ngắt đến chân tín hiệu INTR của CPU; 2. Khi nhận được yêu cầu ngắt, CPU thực hiện các việc: a. Hoàn tất lệnh đang thực hiện của chương trình chính (CTC) b. Lưu giá trị của thanh ghi cờ FR vào ngăn xếp c. Xoá cờ ngắt IF và cờ bẫy TF d. Lưu giá trị của các t.ghi CS và IP vào ngăn xếp e. Gửi tín hiệu xác nhận ngắt đến thiết bị vào ra qua chân tín hiệu INTA 3. Nhận được hiệu xác nhận ngắt của CPU, thiết bị vào ra gửi số hiệu ngắt N đến CPU 4. Nhận được số hiệu ngắt N, CPU lấy địa chỉ của CTCPVN tương ứng từ bảng vector ngắt 5BÀI GIẢNG MÔN KỸ THUẬT VI XỬ LÝ www.ptit.edu.vn GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU BỘ MÔN: KHOA HỌC MÁY TÍNH - KHOA CNTT1 Trang 17 CHƯƠNG 5 – CÁC PHƯƠNG PHÁP VÀO RA DỮ LIỆU 4. Vào ra bằng ngắt – Chu trình vào ra bằng ngắt 5. Nạp địa chỉ của CTCPVN vào CS và IP, CPU thực hiện CPCPVN, gồm: a. Lưu giá trị các thanh ghi dùng chung vào ngăn xếp b. Thực hiện mã chính của CTCPVN: đồng thời thực hiện việc trao đổi dữ liệu với thiết bị vào ra c. Khôi phục giá trị các thanh ghi dùng chung 6. Gặp lệnh IRET kết thúc CTCPVN, CPU thực hiện các việc: a. Khôi phục giá trị của CS và IP b. Khôi phục giá trị của thanh ghi cờ FR c. Đặt cờ ngắt IF và cờ bẫy TF 7. CPU tiếp tục thực hiện lệnh tiếp theo của CTC (nằm ngay sau lệnh xảy ra ngắt). BÀI GIẢNG MÔN KỸ THUẬT VI XỬ LÝ www.ptit.edu.vn GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU BỘ MÔN: KHOA HỌC MÁY TÍNH - KHOA CNTT1 Trang 18 CHƯƠNG 5 – CÁC PHƯƠNG PHÁP VÀO RA DỮ LIỆU 4. Vào ra bằng ngắt – Ưu và nhược điểm Ưu điểm Hiệu quả hơn vào ra bằng thăm dò, do CPU không phải thăm dò từng thiết bị Nhược điểm Phức tạp hơn vào ra bằng thăm dò Cần mạch phần cứng để điều khiển ngắt Bên chủ động trong vào ra bằng ngắt: Thiết bị vào ra BÀI GIẢNG MÔN KỸ THUẬT VI XỬ LÝ www.ptit.edu.vn GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU BỘ MÔN: KHOA HỌC MÁY TÍNH - KHOA CNTT1 Trang 19 CHƯƠNG 5 – CÁC PHƯƠNG PHÁP VÀO RA DỮ LIỆU 4. Vào ra bằng ngắt – Mạch đk ngắt 8259 BÀI GIẢNG MÔN KỸ THUẬT VI XỬ LÝ www.ptit.edu.vn GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU BỘ MÔN: KHOA HỌC MÁY TÍNH - KHOA CNTT1 Trang 20 CHƯƠNG 5 – CÁC PHƯƠNG PHÁP VÀO RA DỮ LIỆU 5. Vào ra bằng DMA – Giới thiệu Trong các phương pháp vào ra bằng thăm dò và ngắt thiết bị vào ra trao đổi dữ liệu với bộ nhớ thông qua CPU. Phương pháp vào ra bằng DMA (Direct Memory Access) cho phép thiết bị vào ra trao đổi dữ liệu trực tiếp với bộ nhớ theo khối, không thông qua CPU; DMA thích hợp khi cần trao đổi dữ liệu với khối lượng lớn trong khoảng thời gian ngắn. CPU Memory I/O CPU Memory I/O DMAC Vào ra bằng ngắt và thăm dò Vào ra bằng DMA 6BÀI GIẢNG MÔN KỸ THUẬT VI XỬ LÝ www.ptit.edu.vn GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU BỘ MÔN: KHOA HỌC MÁY TÍNH - KHOA CNTT1 Trang 21 CHƯƠNG 5 – CÁC PHƯƠNG PHÁP VÀO RA DỮ LIỆU 5. Vào ra bằng DMA – Giới thiệu DMAC (DMA Controller) thay mặt CPU điều khiển quá trình trao đổi dữ liệu trực tiếp giữa thiết bị vào ra và bộ nhớ; DMA có tốc độ cao hơn nhiều lần so với vào ra bằng thăm dò và ngắt. Ví dụ, với VXL 8088: Vào ra bằng DMA mất 4 chu kỳ đồng hồ để chuyển 1 byte thiết bị ngoại vi vào bộ nhớ; Vào ra thông qua CPU mất 39 chu kỳ đồng hồ để chuyển 1 byte thiết bị ngoại vi vào bộ nhớ: ;Số chu kỳ đồng hồ LAP: MOV AL, [SI]; 10 OUT PORT, AL; 10 INC SI; 2 LOOP LAP; 17 ; Cộng: 39 chu kỳ BÀI GIẢNG MÔN KỸ THUẬT VI XỬ LÝ www.ptit.edu.vn GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU BỘ MÔN: KHOA HỌC MÁY TÍNH - KHOA CNTT1 Trang 22 CHƯƠNG 5 – CÁC PHƯƠNG PHÁP VÀO RA DỮ LIỆU Vào ra bằng DMA – Hệ VXL với DMAC CPU HOLD Bộ nhớ Thiết bị vào/ra Bộ điều khiển DMA HLDA DRQ DACK Bus hệ thống BÀI GIẢNG MÔN KỸ THUẬT VI XỬ LÝ www.ptit.edu.vn GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU BỘ MÔN: KHOA HỌC MÁY TÍNH - KHOA CNTT1 Trang 23 CHƯƠNG 5 – CÁC PHƯƠNG PHÁP VÀO RA DỮ LIỆU Vào ra bằng DMA – Chu trình vào ra bằng DMA 1. Thiết bị vào ra có yêu cầu trao đổi dữ liệu gửi yêu cầu DRQ đến CPU thông qua DMAC; 2. DMAC chuyển yêu cầu DRQ thành HRQ và gửi đến chân tín hiệu HOLD của CPU; 3. Nhận được yêu cầu sử dụng bus HRQ, CPU: a. Gửi các tham số điều khiển trao đổi dữ liệu và tín hiệu xác nhận yêu cầu sử dụng bus HACK cho DMAC qua chân tín hiệu HLDA; b. Tự tách ra khỏi bus hệ thống (100% các tín hiệu của bus A và D và một số tín hiệu của bus C) 4. Nhận được HACK, DMAC chiếm quyền điều khiển bus hệ thống và gửi tín hiệu xác nhận DACK cho thiết bị vào ra; 5. DMAC điều khiển quá trình trao đổi dữ liệu trực tiếp giữa thiết bị vào ra và bộ nhớ; 6. Kết thúc quá trình DMA, DMAC trả quyền điều khiển bus cho CPU. BÀI GIẢNG MÔN KỸ THUẬT VI XỬ LÝ www.ptit.edu.vn GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU BỘ MÔN: KHOA HỌC MÁY TÍNH - KHOA CNTT1 Trang 24 CHƯƠNG 5 – CÁC PHƯƠNG PHÁP VÀO RA DỮ LIỆU 5. Vào ra bằng DMA – Mạch điều khiển DMA 8237 7BÀI GIẢNG MÔN KỸ THUẬT VI XỬ LÝ www.ptit.edu.vn GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU BỘ MÔN: KHOA HỌC MÁY TÍNH - KHOA CNTT1 Trang 25 CHƯƠNG 5 – CÁC PHƯƠNG PHÁP VÀO RA DỮ LIỆU 5. Vào ra bằng DMA – Các tín hiệu của 8237 BÀI GIẢNG MÔN KỸ THUẬT VI XỬ LÝ www.ptit.edu.vn GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU BỘ MÔN: KHOA HỌC MÁY TÍNH - KHOA CNTT1 Trang 26 CHƯƠNG 5 – CÁC PHƯƠNG PHÁP VÀO RA DỮ LIỆU 5. Vào ra bằng DMA – Ưu và nhược điểm Ưu điểm: Hiệu suất rất cao do dữ liệu được trao đổi trực tiếp theo khối giữa thiết bị vào ra và bộ nhớ không thông qua CPU Nhược điểm: Phức tạp hơn vào ra bằng thăm dò và ngắt Cần mạch phần cứng để điều khiển quá trình DMA Bên chủ động trong vào ra bằng DMA: Thiết bị vào ra
File đính kèm:
- Bài giảng Kỹ thuật vi xử lý - Chương 5 Các phương pháp vào ra dữ liệu.pdf