Video BIOS
Video BIOS (или VBIOS) — выделенный BIOS видеокарты компьютера, получающий управление на ранней стадии начальной загрузки IBM PC-совместимых компьютеров. Производит инициализацию видеокарты и установку обработчиков прерываний видеосервиса (INT 10H), с помощью которых основной BIOS, загрузчик ОС, ОС и прикладные программы могут выводить на экран текст и изображения до момента инициализации полноценного драйвера видеокарты.
Video BIOS используется с ранних вариантов IBM PC. Видеорежимы CGA и MDA могли реализовываться в основном BIOS, но режимы EGA и VGA (1985 и 1987 годы) потребовали расширенной функциональности, реализованной через Video BIOS. В дальнейшем VESA выпустило несколько стандартов VESA BIOS Extensions (VBE 2.0 — 1994, VBE 3.0 — 1998). Вместе с новыми графическими режимами, в VBE появилась поддержка программного взаимодействия с монитором по DPMS и DDC, также реализованная через Video BIOS[1].
Поскольку видеокарта обладает собственным процессором, оперативной памятью и системой питания, ей необходим выделенный BIOS для управления.
Так же, как и системный BIOS, VBIOS предоставляет набор функций и инструкций, необходимых приложению для доступа к видеокарте, выступает в роли посредника между приложением (в основном драйвером) и аппаратной частью видеокарты (в частности, реализуя Int 10h[2]). VBIOS также содержит данные о рабочих частотах и напряжениях графического процессора и видеопамяти (и её таймингов), режимы работы системы охлаждения и прочее.
На современных видеоадаптерах VBIOS прошит в чип перезаписываемой памяти, что позволяет редактировать ряд параметров работы видеоускорителя (например, частоты работы видеопроцессора и его памяти) с помощью специальных утилит и производить внутрисхемную перепрошивку VBIOS, что может применяться среди любителей разгона для получения большей производительности[3]. Однако эта операция может привести к прошивке неработоспособного BIOS (восстановление прошивки может потребовать применения внешнего программатора) или даже вывести видеокарту из строя.
В отличие от некоторых компонентов компьютера, видеокарта должна быть задействована ещё во время загрузки компьютера для вывода информации на монитор. Для этого видеокарте требуется быть задействованной задолго до загрузки операционной системы; значит, она должна быть активирована BIOS’ом — единственной микропрограммой, представленной на начальном этапе загрузки. После запуска компьютера системный BIOS загружает образ VBIOS из ROM-секции устройства на шине (ISA, PCI, AGP, PCI express), и передает (недоступная ссылка) ему управление для запуска VBIOS’а. Video BIOS в свою очередь, инициализирует работу всей видеокарты, взаимодействуя при необходимости с основным BIOS при помощи проприетарного интерфейса, затем возвращает управление для продолжения загрузки[4].
После загрузки операционной системы в роль посредника вступает видеодрайвер, оснащенный бо́льшим функционалом и работающий по принципу «приложение-драйвер-VideoBIOS-аппаратная часть» (или напрямую «приложение-драйвер-аппаратная часть»).
Существуют специальные утилиты от производителей видеокарт для обновления их BIOS (возможность обновления реализована не во всех картах)[5][6][7].
Для эмуляторов ПК (bochs, plex86, qemu) часто используется открытая реализация упрощенного VideoBIOS[8]. Имелись попытки реализаций открытых VBIOS для карт AMD и Intel[9][10].
В UEFI роль интерфейса Video BIOS выполняет Graphics Output Protocol UEFI-драйвера видеокарты[11].
См. также
- VESA BIOS Extensions
- Видеокарта
- Option ROM
- PXE
Примечания
- http://www.elpin.com/files/vgabios.pdf
- https://pdos.csail.mit.edu/6.828/2008/readings/hardware/vgadoc/VGABIOS.TXT
- Video BIOS Extender — меню в БИОСе видеокарты! :: Overclockers.ru
- https://www.usenix.org/legacy/event/usenix05/tech/freenix/full_papers/lo/lo_html/vgabios.html Traditionally, a VGA card is initialized by software known as the VGA BIOS, which is considered an extension of system BIOS. It is loaded by the system BIOS from an expansion ROM located on the VGA card into a specific address in system memory. Control is then transfered to the VGA BIOS, and it uses the 16-bit callback interface to communicate with the system BIOS
- Перепрошивка BIOS видеокарт с чипами GeForce (GeForce256, GeForce2, GeForce3)
- Вопросы по VIDEO BIOS
- Как прошить BIOS видеокарты / Видеокарты
- a LGPL’d VGABios for Plex86 and Bochs
- OpenNews: Проект по созданию открытого Video BIOS для видеокарт AMD Radeon
- OpenNews: Разработчики CoreBoot пытаются создать минимальный VideoBIOS для чипов Intel
- http://www.uefi.org/sites/default/files/resources/UPFS11_P4_UEFI_GOP_AMD.pdf The ultimate goal of GOP is to replace legacy VGA BIOS
Ссылки
- Frequently Asked Questions about Video BIOS / Intel, 2016 (англ.)
- Video BIOS functions
- Chapter 12 VGA BIOS / Phil Croucher, The Bios Companion, Volume 1 of The PC Engineer’s Reference Book — 2001 ISBN 9780968192801, page 207