Video BIOS

Из Википедии, бесплатной энциклопедии

Блок-схема видеоадаптера. VGABIOS хранится в отдельной микросхеме, подключенной к видеопроцессору

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].

Примечания

[править | править код]
  1. Архивированная копия. Дата обращения: 4 сентября 2016. Архивировано 14 февраля 2019 года.
  2. Архивированная копия. Дата обращения: 4 сентября 2016. Архивировано 15 сентября 2016 года.
  3. Video BIOS Extender — меню в БИОСе видеокарты! :: Overclockers.ru. Дата обращения: 4 сентября 2016. Архивировано 26 марта 2016 года.
  4. https://www.usenix.org/legacy/event/usenix05/tech/freenix/full_papers/lo/lo_html/vgabios.html Архивная копия от 11 сентября 2016 на Wayback Machine 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
  5. Перепрошивка BIOS видеокарт с чипами GeForce (GeForce256, GeForce2, GeForce3). Дата обращения: 4 сентября 2016. Архивировано 13 сентября 2016 года.
  6. Вопросы по VIDEO BIOS. Дата обращения: 4 сентября 2016. Архивировано 15 сентября 2016 года.
  7. Как прошить BIOS видеокарты / Видеокарты. Дата обращения: 4 сентября 2016. Архивировано 10 сентября 2016 года.
  8. a LGPL’d VGABios for Plex86 and Bochs. Дата обращения: 4 сентября 2016. Архивировано 29 августа 2016 года.
  9. OpenNews: Проект по созданию открытого Video BIOS для видеокарт AMD Radeon. Дата обращения: 4 сентября 2016. Архивировано 14 сентября 2016 года.
  10. OpenNews: Разработчики CoreBoot пытаются создать минимальный VideoBIOS для чипов Intel. Дата обращения: 4 сентября 2016. Архивировано 14 сентября 2016 года.
  11. http://www.uefi.org/sites/default/files/resources/UPFS11_P4_UEFI_GOP_AMD.pdf Архивная копия от 13 мая 2016 на Wayback Machine The ultimate goal of GOP is to replace legacy VGA BIOS