Bài giảng Khái niệm và phân loại ngắt

Mỗi khi một thiết bị phần cứng hay một chương trình cần đến sự giúp đỡ của CPU nó gửi đi một tín hiệu hoặc lệnh gọi là ngắt đến bộ vi xử lý chỉ định một công việc cụ thể nào đó mà nó cần CPU thực hiện .Khi bộ vi xử lý nhận được tín hiệu ngắt nó thường tạm ngưng tất cả các hoạt động khác và kích hoạt một chương trình con đang có trong bộ nhớ gọi là chương trình xử lý ngắt tương ứng với từng số liệu ngắt cụ thể .Sau khi chương trình xử lý ngắt làm xong nhiệm vụ, các hoạt động của máy tính sẽ tiếp tục lại từ nơi đã bị tạm dừng lúc xảy ra ngắt .

Ngắt(interrupt) là khả năng tạm dừng chương trình chính dể thực hiện chương trình khác gọi là chương trình con xử lý ngắt.

Ngắt có hai phần : hiệu số ngắt và chức năng ngắt.Hiệu số ngắt được gọi tắt là ngắt (như ngắt 10h , 20h ,21h) mỗi ngắt có nhiều chức ngăn khác nhau do thanh ghi AH quy định.

 

doc8 trang | Chia sẻ: oanh_nt | Lượt xem: 2266 | Lượt tải: 2download
Nội dung tài liệu Bài giảng Khái niệm và phân loại ngắt, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
I/ KHÁI NIỆM VÀ PHÂN LOẠI NGẮT   1/ Khái niệm : Mỗi khi một thiết bị phần cứng hay một chương trình cần đến sự giúp đỡ của CPU nó gửi đi một tín hiệu hoặc lệnh gọi là ngắt đến bộ vi xử lý chỉ định một công việc cụ thể nào đó mà nó cần CPU thực hiện .Khi bộ vi xử lý nhận được tín hiệu ngắt nó thường tạm ngưng tất cả các hoạt động khác và kích hoạt một chương trình con đang có trong bộ nhớ gọi là chương trình xử lý ngắt tương ứng với từng số liệu ngắt cụ thể .Sau khi chương trình xử lý ngắt làm xong nhiệm vụ, các hoạt động của máy tính sẽ tiếp tục lại từ nơi đã bị tạm dừng lúc xảy ra ngắt . Ngắt(interrupt) là khả năng tạm dừng chương trình chính dể thực hiện chương trình khác gọi là chương trình con xử lý ngắt. Ngắt có hai phần : hiệu số ngắt và chức năng ngắt.Hiệu số ngắt được gọi tắt là ngắt (như ngắt 10h , 20h ,21h) mỗi ngắt có nhiều chức ngăn khác nhau do thanh ghi AH quy định.  2/ Phân loại ngắt : Có ba loại ngắt chính ,đầu tiên là các ngắt được tạo ra bởi mạch điện của máy tính nhằm đáp lại một sự kiện nào đó như nhấn phím trên bàn phím ..Các ngắt này được bộ điều khiển ngắt 8259A quản lý , 8259A sẽ ấn định mức độ ưu tiên cho từng ngắt rồi gửi đến CPU . Sau đó là các ngắt do CPU tạo ra khi gặp phải một kết quả bất thường trong khi thực hiện chương trình như chia cho 0 chẳng hạn ..Cuối cùng là các ngắt do chính chương trình tạo ra nhằm gọi các chương trình con ở xa đang nằm trong ROM hoặc RAM, các ngắt này gọi là ngắt mềm chúng thường là bộ phận của các chương trình con phục vụ của ROM-BIOS hoặc của DOS.  Ngoài ba loại ngắt trên còn có loại ngắt đặc biệt là ngắt không bị che NMI đòi hỏi CPU phục vụ ngay khi có yêu cầu. Loại ngắt này thường được dùng để báo hiệu sự cố như sụt điệp áp hay lỗi bộ nhớ . Như vậy NMI là mức ngắt có độ ưu tiên cao nhất .  Các ngắt trong PC có thể chia thành 7 nhóm như sau :   - Các ngắt vi xử lý :Thường gọi là các ngắt logic được thiết kế sẵn trong bộ VXL Bốn trong số các ngắt này (0,1,3,4 ) do chính bộ VXL tạo ra còn ngắt 2 (NMI ) sẽ được kích hoạt khi có tín hiệu tạo ra bởi một trong các thiết bị ngoài.   - Các ngắt cứng : Ðược thiết kế sẵn trong phần cứng của của PC ,tám ngắt trong số các ngắt này (2,8,9,từ Bh đến Fh ) được gắn chết vào trong bộ VXL hoặc vào bảng mạch chính của hệ thống .Tất cả các ngắt cứng đều do 8259A điều khiển .  - Các ngắt mềm :Những ngắt này là một phần của các chương trình ROM -BIOS ,các số hiệu dành cho các ngắt của ROM- BIOS là 5 ,từ 10h đến 1C hex và 48h .   Ngoài ra còn có các ngắt DOS và ngắt BASIC phục vụ hệ điều hành DOS và chương trình BASIC . -Các ngắt địa chỉ : Các số hiệu dành cho các ngắt này là từ 1Dhex đến 1Fhex . Ba trong số các ngắt này trỏ đến ba bảng rất quan trọngđó là bảng khởi tạo màn hình ,bảng cơ sở đĩa và bảng các ký tự đồ thị .Các bảng này chứa các tham số được ROM BIOS dùng khi khởi động hệthống và tạo các ký. Nếu cùng một thời điểm có nhiều lệnh ngắt thuộc các ngắt khác nhau đòi hỏi CPU cùng xử lý thì CPU sẽ xử lý ngắt theo thứ tự ưu tiên vơi nguyên tắc ngắt nào có mức ưu tiên cao hơn sẽ được CPU nhận biết và phục vụ trước. II/ BIOS và BỘ ĐIỀU KHIỂN NGẮT BIOS 1/Tìm hiểu về BIOS Một trong số các thiết bị sử dụng dạng bộ nhớ kiểu Flash Memory là hệ thống vào/ra cơ sở trong máy tính, nó được biết dưới tên gọi BIOS (Basic Input Output System). Trong máy tính BIOS đảm bảo cho các thành phần khác như bộ xử lý, các thiết bị phần cứng, cổng và các chức năng CPU hoạt động nhịp nhàng. BIOS là dạng phần mềm mà mọi máy tính đều cần để vận hành. Các phần mềm BIOS có một số vai trò khác nhau nhưng vai trò quan trọng nhất của nó là nạp hệ điều hành. Khi máy tính được bật lên, bộ vi xử lý sẽ thực thi những lệnh đầu tiên và các lệnh này phải được đọc ra từ đâu đó. Nó không thể đọc ra từ hệ điều hành vì hệ điều hành được lưu trên đĩa cứng và bộ xử lý không thể thực thi được nếu không được hướng dẫn. BIOS sẽ cung cấp những lệnh này. Giao diện của BIOS. Các nhiệm vụ khác mà BIOS thực hiện gồm: -Tự kiểm tra POST (Power-on Self Test) tất cả các thiết bị phần cứng khác nhau trên hệ thống để đảm bảo mọi thứ đều làm việc ổn định. -Kích hoạt BIOS Chip trên các loại Card cài trên máy tính như SCSI hay Graphic Card. Các Card này thường được cài sẵn các BIOS Chip trên nó. -Cung cấp các tập tin thực thi mà hệ điều hành dùng để giao tiếp với các thiết bị phần cứng. Chúng quản lý các thiết bị như bàn phím, màn hình, cổng khi máy tính khởi động. BIOS là chương trình phần mềm đặc biệt dùng để giao tiếp giữa các thành phần phần cứng cao cấp trong máy tính với hệ điều hành. BIOS thường được lưu trên Chip nhớ kiểu Flash Memory trên bảng mạch chính (Motherboard) nhưng đôi khi nó cũng có thể là một dạng khác của ROM. ROM có BIOS Khi máy tính được bật lên, BIOS sẽ thực thi các công việc theo thứ tự liên tục sau đây: -Kiểm tra các thông số cài đặt của người sử dụng lưu trong CMOS. -Nạp bộ điều khiển ngắt và các Driver của thiết bị. -Khởi tạo các Register và bộ quản lý nguồn Power Management. -Kiểm tra các thiết bị phần cứng với POST. -Nạp các cấu hình hệ thống. -Quyết định xem thiết bị nào có thể khởi động. -Khởi tạo quá trình tự khởi động. Đầu tiên BIOS kiểm tra các thông tin được lưu trên phần bộ nhớ rất nhỏ (64 bytes) trên CMOS Chip (Complementary Metal Oxide Semiconductor). Các cài đặt trong CMOS sẽ cung cấp những thông tin chi tiết cho hệ thống. BIOSsử dụng những thông tin này để thay đổi hay bổ xung các chương trình chuẩn mà nó phải thực hiện. Bộ điều khiển ngắt (Interrupt Handlers) là tập hợp các chương trình nhỏ hoạt động như bộ phận thông dịch truyền tin giữa các thành phần phần cứng và hệ điều hành. Chẳng hạn như khi người sử dụng nhấn một phím trên bàn phím, tín hiệu sẽ được gửi đến bộ điều khiển ngắt bàn phím để rồi nó dược thông báo tới CPU và chuyển tới hệ điều hành. Các Driver của thiết bị cũng là các phần mềm để nhận dạng các thành phần phần cứng như bàn phím, chuột, ổ đĩa. Từ đó BIOS liên tục chặn các tín hiệu đến và đi từ các thiết bị phần cứng, nó được sao chép (Copy) vào RAM để tăng tốc độ xử lý. Bất kỳ lúc nào khi người sử dụng bật máy tính lên, điều đầu tiên họ sẽ nhận thấy sự hoạt động của chương trình BIOS. Trên màn hình máy tính, BIOS sẽ đưa ra các thông báo dưới dạng text về độ lớn của bộ nhớ, kiểu của ổ đĩa cứng... Nhìn chung BIOS đã thực thi một khối lượng đáng kể công việc trong quá trình khởi động. Sau khi kiểm tra CMOS Setup và nạp các bộ điều khiển ngắt, BIOS quyết định Video Card có được kích hoạt hay không. Hầu hết các loại Video Card đều có một BIOS nhỏ trên nó để gán các giá trị cho bộ nhớ và bộ xử lý ảnh trên Card. Nếu không được kích hoạt thì BIOS chỉ nạp các thông tin về Driver của màn hình lưu trên các bộ nhớ ROM khác trên Motherboard. Tiếp theo BIOS kiểm tra xem máy tính khởi động ở hình thức Cold-boot hay Reboot. Để làm được điều này, nó chỉ cần kiểm tra ở vùng bộ nhớ có địa chỉ 0000:0472. Nếu máy tính được Reboot thì vùng nhớ này sẽ có giá trị 1234h, khi đó BIOS sẽ bỏ qua giai đoạn POST. Các giá trị khác của vùng nhớ trên chỉ ra rằng máy tính khởi động với Cold-boot. Khi máy tính thực hiện Cold-boot, BIOS kiểm tra RAM bằng cách thử đọc/ghi trên từng vùng nhớ. Nó kiểm tra các cổng PS/2 hoặc USB để tìm xem có các thiết bị bàn phím hay chuột không. Sau đó nó tiếp tục kiểm tra xem có PCI Bus nào không, nếu có nó sẽ kiểm tra tất cả các PCI Card. Nếu phát hiện ra bất kỳ lỗi nào trong quá trình POST, BIOS sẽ thông báo bằng các tiếng “Bip” liên tục hoặc thể hiện trên màn hình. Lỗi xảy ra trong giai đoạn này có nguyên nhân chắc chắn là do các thiết bị phần cứng. BIOS tiếp tục thông báo các thông tin chi tiết về hệ thống như: bộ vi xử lý, các ổ đĩa, bộ nhớ, màn hình. Mọi thiết bị đặc biệt như SCSI Adaptor (Small Computer System Interface) trong khi khởi động đều được BIOS thông báo trạng thái trên màn hình. Đôi khi máy tính cũng cần phải nâng cấp (Update) lại BIOS của nó nhất là đối với các máy tính cũ. Với các thiết bị mới và các chuẩn mới, BIOS cần thay đổi theo để phù hợp. Do BIOS được lưu trong ROM nên việc thay đổi nó khó hơn việc nâng cấp các phần mềm thông thường. Để làm được việc này cần có một chương trình đặc biệt từ các nhà sản xuất máy tính hoặc nhà sản xuất BIOS. Giống như việc thay đổi các thông số trong CMOS, phải hết sức cẩn thận khi nâng cấp BIOS. Phải chắc chắn rằng bản nâng cấp BIOS tương thích với máy tính nếu không BIOS sẽ không thể hoạt động và khi đó sẽ không thể khởi động được máy tính. 2/ Các loại BIOS: Thường thì bạn vẫn quen bấm phím Delete để vào phần thiết lập BIOS. Tuy nhiên, đó chỉ là thao tác đối với phần lớn các máy có xuất xứ từ Đông Nam Á. Ở các loại máy tính khác (sản xuất từ Mỹ chẳng hạn), người dùng phải thông qua chương trình quản lý riêng để thay đổi các thông số BIOS. Hiện nay có 2 loại BIOS: - BIOS dạng text. Người dùng sẽ di chuyển phím hướng để đưa vệt sáng đi tới các lựa chọn. Nhấn Enter để quyết định, Esc để thoát (gõ Y khi muốn lưu thay đổi, N là không lưu). - BIOS Win. Đây là loại BIOS mới được phát triển. Thay vì màn hình dạng text thông thường, các thông số hiện ra trên màn hình màu với nhiều cửa sổ. Người dùng có thể di chuột hoặc phím hướng để chọn lựa 3/Các ngắt BIOS Các máy tính có 256 ngắt được đánh số từ 00h-FFh.Trong đó các ngắt có số hiệu từ 00h đến1Fh là các ngắt của BIOS còn các ngắt từ 20h đến FFh là ngắt của DOS. Cơ chế hoạt động của khi một ngắt được kích hoạt là:khi có một yêu cầu ngắt có số hiệu N được gửi tới CPU.nếu yêu cầu đó dược đáp ứng thì CPU sẽ ngừng các hoạt động khác và cấm các ngắt khác tác động vào CPU,để CPU hoạt động bình thường.Kích hoạt chương trình ngắt tương ứng với số hiệu ngắt.Sau khi chương trình ngắt được thực hiện thì các hoạt động của máy tính sẽ trở lại bình thường nơi mà xảy ra ngắt. Đây là bảng số hiệu các ngắt BIOS: Địa chỉ Số hiệu Chức năng 40-43 10 Màn hình(I/O video) 44-47 11 Xác đinh cấu hình 48-4B 12 Cho biết kích cỡ của RAM 4C-4F 13 Thâm nhập đĩa cứng, đĩa mềm 50-53 14 Giao diện nối tiếp 54-57 15 Giao diện với cassete 58-5B 16 Kiểm tra bàn phím 5C-5F 17 Truy nhập máy in song song 60-63 18 Gọi BASIC trong ROM 64-67 19 Khởi động nóng hệ thống (Ctrl-Alt-Del) 68-6B 1A Thông báo thời gian 6C-6F 1B Quản lý phim Ctr-Break 70-73 1C Dành cho đồng hồ 74-77 1D Địa chỉ bảng tham số cho màn hình 78-7B 1E Cho biết các tham số của điã mềm 7C-7F 1F Địa chỉ các bảng font mở rộng Bảng số hiệu và chức năng của ngắt BIOS

Các file đính kèm theo tài liệu này:

  • docngat_bios_2766.doc
Tài liệu liên quan