Cara Kerja Bios
Disini saya akan mengulas sedikit tentang kinerja dari BIOS dari detik ke detik, berikut tahapannya :
- 0,0300 detik
- 2,6100 detik
Selanjutnya, PC mengirim sebuah instruksi ke keyboard controller. PC akan melakukan tes lain dan mendefinisikan sebuah data buffer untuk programming command. Di sini, BIOS akan menulis sebuah command byte dan memeriksa internal keyboard controller.
- 4,1100 detik
Selanjutnya, giliran DMA-Controller (Direct Memory Access). CPU dan RAM saling terhubung dengan databus motherboard melalui sebuah Host-Bridge. Transaksi pada bus umumnya terjadi antara bridge dan perangkat periferal. Agar periferal dapat memproses data dengan cepat, periferal dapat mengakses hostbridge secara langsung, tanpa harus melalui RAM. Untuk pengujian, BIOS kembali menggunakan sampel data. Sistem akan menulisnya ke dalam memory.
Sekarang, BIOS masuk ke tes terakhir. BIOS kembali memeriksa disk drive, hard disk, dan koneksi, sebelum sistem menyerahkan kendali ke boot loader interrupt-19. Interrupt ini bertugas untuk me-load sistem operasi dan memantau data transfer hard disk beserta controller-nya. Banyak versi BIOS menawarkan feature untuk menonaktifkan IRQ19 ini. Namun, feature tersebut hanya efektif bila komputer dilengkapi dengan sebuah drive controller tambahan, misalnya sebuah PCI-RAID-Controller.Sekarang, masuk ke bagian chip CMOS (Complementary Metal Oxide Semiconductor). Di sini tersimpan semua user-defined setting untuk BIOS. Setiap kali boot, BIOS akan membaca konfigurasi tersebut dari chip CMOS. Namun, data dan setting tersebut hanya tersimpan dalam chip selama masih terhubung dengan baterai, sama seperti RAM.
Di sini, sistem juga menguji checksum chip CMOS, bagian yang dapat ditulis pada BIOS. Selain itu, sebuah checksum pun akan dibuat. Proses ini akan mendeteksi apakah baterai komputer sudah rusak. Bila baterai sudah lemah, tegangannya tidak cukup untuk memasok komponen tertentu dalam chip CMOS. Pengguna pun akan mengetahui bahwa user-defined setting pada BIOS dan system time sudah direset.
- 4,6200 detik
Kemudian, CPU membaca angka IRQ (Vektor) yang sesuai dari Controller dan menggunakannya sebagai index dalam Interrupt-Vector-Table. Tabel ini berisi alokasi yang sesuai untuk setiap IRQ, misalnya proses mana yang telah dijalankan khusus untuk perangkat tertentu. Lantaran jumlah IRQ yang tersedia terbatas, pada sistem-sistem yang modern, beberapa perangkat saling berbagi interrupt (Interrupt Sharing).
Masalahnya, routine untuk sebuah interrupt yang demikian pasti dijalankan oleh semua driver perangkat yang telah mengaktifkan interrupt tersebut. Ini dapat menimbulkan masalah bila driver terlalu lama aktif (lantaran driver tidak diprogram secara optimal). Sementara itu, perangkat lain kemudian menulis ke dalam buffer, yang dengan cepat akan penuh dan terjadi overflow mulai waktu tertentu. Proses ini dapat menyebabkan data-data menjadi hilang.
Oleh sebab itu, pada perangkat periferal yang modern, sistem operasi memberikan nomor IRQ secara dinamis.
Selanjutnya, BIOS mengatur IRQ Vector-Table dan me-load user-defined setting BIOS ke dalam CMOS-Memory. Interrupt-Query dari perangkat pertama sekali diterima oleh Programmable Interrupt Controller kemudian diteruskan ke CPU. Prosesor kemudian menghentikan perintah yang sedang berjalan dan mengonfirmasi interrupt pada Controller.
Kemudian, CPU membaca angka IRQ (Vektor) yang sesuai dari Controller dan menggunakannya sebagai index dalam Interrupt-Vector-Table. Tabel ini berisi alokasi yang sesuai untuk setiap IRQ, misalnya proses mana yang telah dijalankan khusus untuk perangkat tertentu. Lantaran jumlah IRQ yang tersedia terbatas, pada sistem-sistem yang modern, beberapa perangkat saling berbagi interrupt (Interrupt Sharing).
Masalahnya, routine untuk sebuah interrupt yang demikian pasti dijalankan oleh semua driver perangkat yang telah mengaktifkan interrupt tersebut. Ini dapat menimbulkan masalah bila driver terlalu lama aktif (lantaran driver tidak diprogram secara optimal). Sementara itu, perangkat lain kemudian menulis ke dalam buffer, yang dengan cepat akan penuh dan terjadi overflow mulai waktu tertentu. Proses ini dapat menyebabkan data-data menjadi hilang.
Oleh sebab itu, pada perangkat periferal yang modern, sistem operasi memberikan nomor IRQ secara dinamis.
- 4,8200 detik
- 5,0200 detik
- 7,6300 detik
- 12,4300 detik

0 komentar: