Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 20 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
20
Dung lượng
365,17 KB
Nội dung
.c om BAØI cu u du o ng th an co ng THỰC THI CHƯƠNG TRÌNH CĨ NGẮT CuuDuongThanCong.com https://fb.com/tailieudientucntt .c om Khái niệm Ngắt (Interrupt) th ng du o Program: phát sinh điều kiện, kết thực thi thị, tràn số học, chia 0… Timer: phát sinh định thời CPU, cho phép OS thực chức thơng thường I/O: phát sinh I/O controller, báo hồn tất cơng việc hay thơng báo điều kiện lỗi Lỗi phần cứng u an co trình xử lý bình thường CPU Có số loại ngắt phổ biến: p ngắt cu ng CuuDuongThanCong.com https://fb.com/tailieudientucntt ng du o u cu ng th an nh Các thiết bị hoạt động chậm nhiều so với CPU lãng phí CPU Ví dụ hoạt động in Ngắt phương thức nhằm cải thiện hiệu suất, CPU chuyển đến thực thi thị khác lúc hoạt động I/O diễn co c om Khái niệm Ngắt (Interrupt)… CuuDuongThanCong.com https://fb.com/tailieudientucntt co Tuần tự thị nhằm chuẩn bị cho hoạt động I/O thực Lệnh I/O, gọi lệnh chương trình phải đợi thiết bị I/O thực chức u cầu Chương trình đợi theo cách lặp lại thao tác kiểm tra để xác định hoạt động I/O thực hay chưa Tuần tự thị làm thủ tục hoàn tất hoạt động I/O, ví dụ dựng cờ, thiết lập thơng báo… u du o ng th an ng Một chương trình I/O gồm có ba phần bản: cu c om Chương trình I/O tiêu biểu CuuDuongThanCong.com https://fb.com/tailieudientucntt I/O program co ng Main program c om Hoạt động chương trình khơng ngắt ng th an I/O command Call write cu Call write u du o end ộ ự CuuDuongThanCong.com https://fb.com/tailieudientucntt .c om Hoạt động chương trình khơng ngắt… Hoạt động I/O liên quan đến thiết bị với thao tác cơ-điện nhiều thời gian Chương trình I/O phải đợi cho thao tác I/O hồn tất => Chương trình phải dừng lại gặp thị I/O (ví dụ write) thời gian dài cu u du o ng th an co ng CuuDuongThanCong.com https://fb.com/tailieudientucntt ng Call write I/O command co c om Hoạt động chương trình có ngắt an Interrupt Handler u cu Call write du o ng th 2a 2b Thời gian thao tác I/O kết thúc trước gặp thị I/O end 3a ộ 3b ự CuuDuongThanCong.com https://fb.com/tailieudientucntt ng c om Hoạt động chương trình có ngắt… Call write I/O command du o Thời gian thao tác I/O chưa kết thúc gặp thị I/O Interrupt Handler u Call write cu ng th an co end Lộ trình thực thi CuuDuongThanCong.com https://fb.com/tailieudientucntt .c om Thủ tục ngắt tổng quát Phát sinh tí I/O module Đáp ứng ngắt từ CPU: treo, chuyển th Chương trình i+1 cu i u du o Int req Interrupt handler ng an co ng phục hồi thực thi M CuuDuongThanCong.com https://fb.com/tailieudientucntt ng Chương trình khơng chứa mã lệnh chuyên trách ngắt CPU & OS chịu trách nhiệm Chu kỳ ngắt (interrupt cycle): CPU kiểm tra phát int req th ng du o u cu an co c om Chu kỳ thị có ngắt 10 CuuDuongThanCong.com https://fb.com/tailieudientucntt .c om co ng bắt đầu Chu kỳ lấy thị du o cu ngắt bị cấm thực thi Chu thi u c ng th an nạp thị kế Cho phép ngắt kiểm tra xử lý ngắt CuuDuongThanCong.com Chu kỳ ngắt 11 https://fb.com/tailieudientucntt .c om Sơ đồ trạng thái chu kỳ thị ng CPU truy xuất an nhiều kết cu u du o nhiều toán hạng ng th co MM hay I/O thị kế Vetor hay string kiểm tra ngắt xử lý ngắt Không ngắt Hoạt động bên CPU 12 CuuDuongThanCong.com https://fb.com/tailieudientucntt ng Nếu ngắt xảy ra, xử lý tiến hành: co ng du o Thực thi diễn chương trình phục vụ ngắt Int Handler OS u an Dừng hoạt động thực thi hành lưu ngữ cảnh Gán địa Int handler vào ghi PC th Xác định chất ngắt Thực thao tác cần thiết cu c om Hoạt động ngắt Interrupt Handler 13 CuuDuongThanCong.com https://fb.com/tailieudientucntt Thao tác I/O cpu đợi co an ng du o u th cpu đợi cu Thao tác I/O 2a 2b 3a 3b ng c om Đánh giá Thao tác I/O Thao tác I/O 14 CuuDuongThanCong.com https://fb.com/tailieudientucntt ng cpu đợi co Thao tác I/O c om th ng du o cpu đợi cu Thao tác I/O u an cpu đợi Thao tác I/O cpu đợi Thao tác I/O 5 CuuDuongThanCong.com 15 https://fb.com/tailieudientucntt ng co an th cấm ngắt khác xử lý ngắt xử lý ưu tiên du o ng u Có thể có nhiều ngắt xảy đồng thời Có hai giải pháp kiểm sốt: cu c om Đa ngắt 16 CuuDuongThanCong.com https://fb.com/tailieudientucntt .c om Int Hand Int Hand cu u du o ng th an co ng Chương trình 17 CuuDuongThanCong.com https://fb.com/tailieudientucntt .c om Int Hand cu u du o ng th an co ng Int Hand 18 CuuDuongThanCong.com https://fb.com/tailieudientucntt co an th u ng Line (ưu tiên 1) thời gian cần 10 Đĩa (ưu tiên 2) thời gian cần 10 In (ưu tiên 3) thời gian cần 30 bắt đầu lúc t=0, ngắt in lúc t=10, ngắt thông tin lúc t=15, ngắt đĩa lúc t=20 Trình bày diễn biến ngắt? du o ng Ba thiết bị ngoại vi: cu c om Ví dụ 19 CuuDuongThanCong.com https://fb.com/tailieudientucntt ngắt line t=0 c om ngắt in t=20 t=15 ng t=10 t=60 ngắt đĩa du o ng th an t=60 co t=25 u t=35 cu Giải thích: - Sau thực xong chương trình ngắt đường dây, ngữ cảnh dừng trước phục hồi, PC nạp lại giá trị dừng trước đó, quay chương trình ngắt in -Tuy nhiên thời điểm tồn hai ngắt: ngắt in ngắt đĩa, ngắt đĩa có ưu tiên cao nên phục vụ trước, giá trị PC hành ch/tr ngắt in lưu lại -PC nạp địa ch/tr ngắt đĩa để chuyển sang thực ch/tr CuuDuongThanCong.com https://fb.com/tailieudientucntt ... cu c om Đa ngắt 16 CuuDuongThanCong. com https://fb .com/ tailieudientucntt .c om Int Hand Int Hand cu u du o ng th an co ng Chương trình 17 CuuDuongThanCong. com https://fb .com/ tailieudientucntt... CuuDuongThanCong. com https://fb .com/ tailieudientucntt ng cpu đợi co Thao tác I/O c om th ng du o cpu đợi cu Thao tác I/O u an cpu đợi Thao tác I/O cpu đợi Thao tác I/O 5 CuuDuongThanCong. com 15 https://fb .com/ tailieudientucntt... biểu CuuDuongThanCong. com https://fb .com/ tailieudientucntt I/O program co ng Main program c om Hoạt động chương trình khơng ngắt ng th an I/O command Call write cu Call write u du o end ộ ự CuuDuongThanCong. com