Kỹ thuật vi xử lý - Chương 7
Số trang: 17
Loại file: pdf
Dung lượng: 289.85 KB
Lượt xem: 21
Lượt tải: 0
Xem trước 2 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
NGẮT VÀ XỬ LÝ NGẮT TRONG HỆ 8088
1. Sự cần thiết phải ngắt CPU Trong cách tổ chức trao đổi dữ liệu thông qua việc thăm dò trạng thái sẵn sàng của thiết bị ngoại vi như đã được trình bày ở chương trước, trước khi tiến hành bất kỳ một cuộc trao đổi dữ liệu nào CPU phải để toàn bộ thời gian vào việc xác định trạng thái sẵn sàng làm việc của thiết bị ngoại vi. Trong hệ thống vi xử lý với cách làm việc như vậy, thông thường CPU được thiết kế chủ yếu...
Nội dung trích xuất từ tài liệu:
Kỹ thuật vi xử lý - Chương 7 CHƯƠ NG 7 NGẮT VÀ XỬ LÝ NGẮT TRONG H Ệ 8088 1. Sự cần thiết phải ngắt CPU Trong cách tổ chứ c trao đổi d ữ liệu thông qua việc thăm dò trạng thái sẵn sàng củ a thiết bị n goại vi như đã được trình bày ở chương trước, trư ớc khi tiến hành bất kỳ mộ t cuộc trao đổi dữ liệu nào CPU ph ải đ ể toàn bộ th ời gian vào việc xác định trạng thái sẵn sàng làm việc củ a thiết bị n goại vi. Trong hệ thống vi xử lý với cách làm việc như vậy, th ông thường CPU được thiết kế chủ yếu ch ỉ là để phục vụ cho việc vào/ra dữ liệu và thự c h iện các xử lý liên quan. Trong thự c tế người ta rất muốn tận dụng khả năng củ a CPU để làm th êm được nhiều công việc khác nữa, ch ỉ khi nào có yêu cầu trao đổi dữ liệu th ì mới yêu cầi CPU tạm dừng công việc hiện tại để phục vụ việc trao đổi dữ liệu. Sau khi hoàn thành việc trao đổ i dữliệu thì CPU lại ph ải quay về đ ể làm tiếp công việc hiện đang b ị gián đoạn. Cách làm việc theo kiểu này gọ i là n gắt CPU (gián đo ạn hoạt động của CPU) để trao đổi dữ liệu. Một hệ thống với cách hoạt độ ng theo kiểu n ày có thể đáp ứng rất nhanh với các yêu cầu trao đổ i dữ liệu trong khi vẫn có thể làm được các công việc khác. Muốn đạt được điều n ày ta phải có cách tổ chức hệ thống ao cho có thể tận d ụng được khả năng thực hiện các chương trình phụ c vụ ngắt tại các địa chỉ xác định của CPU. Khi nghiên cứu các tín hiệu của CPU 8088, chúng ta đ ã th ấy vi m ạch n ày có các ch ân tín hiệu cho các yêu cầu ngắt che được INTR và không che đ ược NMI, ch ính các chân này sẽ được sử dụng vào việc đưa các yêu cầu ngắt từ bên ngo ài đến CPU. 2. Ngắt trong hệ vi xử lý 8088 2.1. Các loạ i ngắt trong hệ 8088 Trong hệ vi xử lý 8088 có th ể xếp các nguyên nhân gây ra ngắt CPU vào 3 nhóm như sau: + Nhóm các ngắt cứng : đó là các yêu cầu ngắt CPU do các tín hiệu đến từ các ch ân INTR và NMI. Ngắt cứng INTR là yêu cầu ngắt che được. Các lệnh CLI và STI có ảnh hưởng trực tiếp tới trạng thái của cờ IF trong bộ vi xử lý, tứ c là ảnh hưởng tới việc CPU có nhận biết yêu cầu ngắt tại ch ân này hay không. Yêu cầu ngắt tại chân INTR có th ể có kiểu ngắt N nằm trong kho ảng 0 -FFH. Kiểu ngắt n ày phải đ ược đưa vào bus d ữ liệu đ ể CPU có thể đọ c được khi có xung INTA trong chu kỳ trả lời chấp nhận ngắt. Biểu đồ thời gian củ a các xung liên quan đ ến quá trình trên được mô tả trên hình 7.1. + Nhóm các ngắt m ềm: khi CPU thực hiện các lệnh ngắt dạng INT N, trong đó N là số hiệu (kiểu) ngắt n ằm trong khoảng 00 -FFH (0-255). + Nhóm các hiện tượng 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 như ph ép chia cho 0, xảy ra tràn khi tính to án. Yêu cầu ngắt sẽ đ ược CPU kiểm tra thường xuyên tại chu kỳ đồng h ồ cuối cùng củ a mỗi lệnh. Trên hình 7.2 trình bày m ột cách đơn giản để đưa đ ược số hiệu ngắt N vào bus dữ liệu trong khi cũng tạo ra yêu cầu ngắt đưa vào chân INTR của bộ vi xử lý 8088. Giả thiết trong một thời điểm nhất đ ịnh chỉ có một yêu cầu ngắt IRi được tác động và khi đó ở đầu ra của mạch NAND sẽ có xung yêu cầu ngắt đến CPU. Tín hiệu IRi được đồng thời đưa qua mạch khuếch đại đệm đ ể tạo ra số h iệu ngắt tương ứng, số hiệu ngắt này sẽ được CPU đọc vào khi nó đ ưa ra tín hiệu trả lời INTA . Bảng 7.1. Cho ta quan hệ giữ a IRi và số hiệu ngắt N tương ứ ng. AD7 IR6 IR5 IR4 IR3 IR2 IR1 IR0 N 1 1 1 1 1 1 1 0 FEH (254) 1 1 1 1 1 1 0 1 FDH (253) 1 1 1 1 1 0 1 1 FBH (251) 1 1 1 1 0 1 1 1 F7H (247) 1 1 1 0 1 1 1 1 EFH (239) 1 1 0 1 1 1 1 1 DFH (223) 1 0 1 1 1 1 1 1 BFH (191) Ta sẽ cò n đ ề cập đến việc xử lý trường hợp có 2 yêu cầu ngắt IRi cùng một lú c và cách đưa các giá trị N của INTN vào bus dữ liệu mộ t cách tệ động b ằng mạch điều khiển ngắt PIC ở ph ần sau. 2.2. Đáp ứ ng của CPU khi có yêu cầu ngắt Khi có yêu cầu ngắt kiểu N đ ến ch ân CPU và n ếu yêu cầu đó được phép, CPU thực hiện các công việc sau: 1. SP SP-2, {SP} FR, trong đó {SP} là ô nh ớ do SP chỉ ra. (chỉ ra đỉnh mới của ngắn xếp, cất thanh ghi cờ vào đỉnh ngăn xếp) 2. IF 0, TF 0. (cấm các ngắt kh ác tác động vào CPU, cho CPU ch ạy ở chế độ bình thường) 3. SP SP-2, {SP} CS. (chỉ ra đỉnh mới của ngăn xếp, cất phần địa chỉ đo ạn củ a địa chỉ trở về vào đỉnh ngăn xếp) 4. SP SP-2, {SP} IP (chỉ ra đỉnh m ới của ngăn xếp, cất ph ...
Nội dung trích xuất từ tài liệu:
Kỹ thuật vi xử lý - Chương 7 CHƯƠ NG 7 NGẮT VÀ XỬ LÝ NGẮT TRONG H Ệ 8088 1. Sự cần thiết phải ngắt CPU Trong cách tổ chứ c trao đổi d ữ liệu thông qua việc thăm dò trạng thái sẵn sàng củ a thiết bị n goại vi như đã được trình bày ở chương trước, trư ớc khi tiến hành bất kỳ mộ t cuộc trao đổi dữ liệu nào CPU ph ải đ ể toàn bộ th ời gian vào việc xác định trạng thái sẵn sàng làm việc củ a thiết bị n goại vi. Trong hệ thống vi xử lý với cách làm việc như vậy, th ông thường CPU được thiết kế chủ yếu ch ỉ là để phục vụ cho việc vào/ra dữ liệu và thự c h iện các xử lý liên quan. Trong thự c tế người ta rất muốn tận dụng khả năng củ a CPU để làm th êm được nhiều công việc khác nữa, ch ỉ khi nào có yêu cầu trao đổi dữ liệu th ì mới yêu cầi CPU tạm dừng công việc hiện tại để phục vụ việc trao đổi dữ liệu. Sau khi hoàn thành việc trao đổ i dữliệu thì CPU lại ph ải quay về đ ể làm tiếp công việc hiện đang b ị gián đoạn. Cách làm việc theo kiểu này gọ i là n gắt CPU (gián đo ạn hoạt động của CPU) để trao đổi dữ liệu. Một hệ thống với cách hoạt độ ng theo kiểu n ày có thể đáp ứng rất nhanh với các yêu cầu trao đổ i dữ liệu trong khi vẫn có thể làm được các công việc khác. Muốn đạt được điều n ày ta phải có cách tổ chức hệ thống ao cho có thể tận d ụng được khả năng thực hiện các chương trình phụ c vụ ngắt tại các địa chỉ xác định của CPU. Khi nghiên cứu các tín hiệu của CPU 8088, chúng ta đ ã th ấy vi m ạch n ày có các ch ân tín hiệu cho các yêu cầu ngắt che được INTR và không che đ ược NMI, ch ính các chân này sẽ được sử dụng vào việc đưa các yêu cầu ngắt từ bên ngo ài đến CPU. 2. Ngắt trong hệ vi xử lý 8088 2.1. Các loạ i ngắt trong hệ 8088 Trong hệ vi xử lý 8088 có th ể xếp các nguyên nhân gây ra ngắt CPU vào 3 nhóm như sau: + Nhóm các ngắt cứng : đó là các yêu cầu ngắt CPU do các tín hiệu đến từ các ch ân INTR và NMI. Ngắt cứng INTR là yêu cầu ngắt che được. Các lệnh CLI và STI có ảnh hưởng trực tiếp tới trạng thái của cờ IF trong bộ vi xử lý, tứ c là ảnh hưởng tới việc CPU có nhận biết yêu cầu ngắt tại ch ân này hay không. Yêu cầu ngắt tại chân INTR có th ể có kiểu ngắt N nằm trong kho ảng 0 -FFH. Kiểu ngắt n ày phải đ ược đưa vào bus d ữ liệu đ ể CPU có thể đọ c được khi có xung INTA trong chu kỳ trả lời chấp nhận ngắt. Biểu đồ thời gian củ a các xung liên quan đ ến quá trình trên được mô tả trên hình 7.1. + Nhóm các ngắt m ềm: khi CPU thực hiện các lệnh ngắt dạng INT N, trong đó N là số hiệu (kiểu) ngắt n ằm trong khoảng 00 -FFH (0-255). + Nhóm các hiện tượng 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 như ph ép chia cho 0, xảy ra tràn khi tính to án. Yêu cầu ngắt sẽ đ ược CPU kiểm tra thường xuyên tại chu kỳ đồng h ồ cuối cùng củ a mỗi lệnh. Trên hình 7.2 trình bày m ột cách đơn giản để đưa đ ược số hiệu ngắt N vào bus dữ liệu trong khi cũng tạo ra yêu cầu ngắt đưa vào chân INTR của bộ vi xử lý 8088. Giả thiết trong một thời điểm nhất đ ịnh chỉ có một yêu cầu ngắt IRi được tác động và khi đó ở đầu ra của mạch NAND sẽ có xung yêu cầu ngắt đến CPU. Tín hiệu IRi được đồng thời đưa qua mạch khuếch đại đệm đ ể tạo ra số h iệu ngắt tương ứng, số hiệu ngắt này sẽ được CPU đọc vào khi nó đ ưa ra tín hiệu trả lời INTA . Bảng 7.1. Cho ta quan hệ giữ a IRi và số hiệu ngắt N tương ứ ng. AD7 IR6 IR5 IR4 IR3 IR2 IR1 IR0 N 1 1 1 1 1 1 1 0 FEH (254) 1 1 1 1 1 1 0 1 FDH (253) 1 1 1 1 1 0 1 1 FBH (251) 1 1 1 1 0 1 1 1 F7H (247) 1 1 1 0 1 1 1 1 EFH (239) 1 1 0 1 1 1 1 1 DFH (223) 1 0 1 1 1 1 1 1 BFH (191) Ta sẽ cò n đ ề cập đến việc xử lý trường hợp có 2 yêu cầu ngắt IRi cùng một lú c và cách đưa các giá trị N của INTN vào bus dữ liệu mộ t cách tệ động b ằng mạch điều khiển ngắt PIC ở ph ần sau. 2.2. Đáp ứ ng của CPU khi có yêu cầu ngắt Khi có yêu cầu ngắt kiểu N đ ến ch ân CPU và n ếu yêu cầu đó được phép, CPU thực hiện các công việc sau: 1. SP SP-2, {SP} FR, trong đó {SP} là ô nh ớ do SP chỉ ra. (chỉ ra đỉnh mới của ngắn xếp, cất thanh ghi cờ vào đỉnh ngăn xếp) 2. IF 0, TF 0. (cấm các ngắt kh ác tác động vào CPU, cho CPU ch ạy ở chế độ bình thường) 3. SP SP-2, {SP} CS. (chỉ ra đỉnh mới của ngăn xếp, cất phần địa chỉ đo ạn củ a địa chỉ trở về vào đỉnh ngăn xếp) 4. SP SP-2, {SP} IP (chỉ ra đỉnh m ới của ngăn xếp, cất ph ...
Tìm kiếm theo từ khóa liên quan:
vi xử lý hệ đếm mã hóa thông tin hệ thống vi xử lý lập trình với hợp ngữ máy vi tínhTài liệu liên quan:
-
Đề cương chi tiết học phần Vi xử lý
12 trang 300 0 0 -
Giáo án Tin học lớp 10 (Trọn bộ cả năm)
152 trang 186 0 0 -
Giáo trình Máy thu hình (Nghề Điện tử dân dụng - Trình độ: Trung cấp) - Trường Cao đẳng nghề Cần Thơ
79 trang 168 0 0 -
Báo cáo môn Vi xử lý - TÌM HIỂU VỀ CÁC BỘ VI XỬ LÝ XEON CỦA INTEL
85 trang 155 0 0 -
Báo cáo bài tập lớn môn Kỹ thuật vi xử lý: Thiết kế mạch quang báo - ĐH Bách khoa Hà Nội
31 trang 135 0 0 -
Bài tập lớn Vi xử lý: Thiết kế môn học Đèn LED đơn ghép thành đèn quảng cáo
15 trang 119 0 0 -
Bài tập lớn môn Vi xử lý, vi điều khiển: Thiết kế bộ điều khiển tốc độ của động cơ điện một chiều
27 trang 119 0 0 -
Giáo trình An toàn mạng (Nghề: Quản trị mạng - Trình độ: Cao đẳng) - Trường Cao đẳng nghề Cần Thơ
117 trang 87 1 0 -
Giáo trình Vi xử lý: Phần 1 - Phạm Quang Trí
122 trang 86 0 0 -
Giáo trình Hệ vi điều khiển: Phần 1
129 trang 73 0 0