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.
I I / 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