Crossing the Blues
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.

Mọi máy tính cá nhân đều có một bộ vi xử lý (Microprocessor) bên trong CPU (Central Processing Unit). Bộ vi xử lý là một thiết bị phần cứng, nó thực hiện các tập hợp lệnh mà ta thường gọi là phần mềm. Chúng ta đã quen thuộc với hai dạng phần mềm khác nhau:
  • Hệ điều hành: Cung cấp các dịch vụ cho các ứng dụng chạy trên máy tính và cung cấp giao diện cơ sở cho máy tính. Windows và Linux là những ví dụ về hệ điều hành.
  • Chương trình ứng dụng: là tập hợp các phần mềm được lập trình để thực hiện các nhiệm vụ cụ thể. Trên máy tính, người sử dụng có thể chạy các chương trình ứng dụng như trình duyệt (Browser), xử lý văn bản, E-mail...sau khi đã cài đặt trên máy.

Như vậy BIOS là dạng phần mềm thứ ba 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.


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. 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:
    1. Kiểm tra các thông số cài đặt của người sử dụng lưu trong CMOS.
    2. Nạp bộ điều khiển ngắt và các Driver của thiết bị.
    3. Khởi tạo các Register và bộ quản lý nguồn Power Management.
    4. Kiểm tra các thiết bị phần cứng với POST.
    5. Nạp các cấu hình hệ thống.
    6. Quyết định xem thiết bị nào có thể khởi động.
    7. 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. BIOS sử 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.
Hi vọng bài viết có ích cho bạn!