Видеокарты имеют свою BIOS, которая подобна системной BIOS, но полностью независима от нее Если монитор включен то на экране, в самом начале загрузки системы вы сможете увидеть опознавательный знак BIOS видеоадаптера и т. д.. BIOS видеокарты, подобно системной BIOS, хранится в микросхеме ROM; она содержит основные команды (программы), которые предоставляют интерфейс между оборудованием видеоадаптера и программным обеспечением, информацию о видеоадаптере, экранные шрифты и т. д. Программа, которая обращается к функциям BIOS видеокарты, может быть операционной системой или системной BIOS. Обращение к функциям BIOS позволяет вывести информацию о мониторе во время выполнения процедуры POST и начать загрузку системы до начала загрузки с диска любых других программных драйверов. ПЗУ_BIOS не используется видеоконтроллером напрямую — к нему обращается только центральный процессор ПК, но через GPU (через шину PCIExp и секцию GPIO).
Рис. 1. GPU (секция GPIO), SPI интерфейс, ПЗУ_BIOS.
Микросхемы SPI-Flash (рис. 1), используют 3 сигнала для приема/передачи данных: SCK (Serial Clock) – вход тактовой частоты; SI (Serial Input) – вход данных (побитно адрес/данные/коды команд; SO (Serial Output) – выход данных (побитно данные/состояние микросхемы). Обращение к ПЗУ BIOS начинается с выдачи активного низкого уровня сигнала на вход CE# (рис. 2).
Рис. 2. Протокол интерфейса SPI (код операции - 03H, операция «Чтение»)
Если на конт. 1(вход CE#) наблюдаем импульсы, то «цепочка» : PCIExp, GPU, секция GPIO, SPI интерфейс, ПЗУ_BIOS работает (т. е. CPU выполняет операции чтения из ПЗУ_BIOS).
Если на конт.1 (вход CE#) импульсы отсутствуют, то необходимо начинать стандартную последовательность поиска причины неисправности.
Контроль условий, необходимых для работы компонентов видеоадаптера:
- контроль на отсутствие механических повреждений и повреждений из-за перегрева;
- контроль источников напряжений питания (внешних и внутри платы);
- контроль наличия тактовых импульсов с генератора.
Если все проверки завершились успешно, а видеоадаптер не работает, то необходимо выявить неработоспособные компоненты платы видеоадаптера (GPU, GDDR, ПЗУ_BIOS).
После «начального сброса» контроллер ждет, что процессор перешлет в его соответствующие регистры команду и информацию необходимую для выполнения операции обмена. Взаимодействие программ (и программ BIOS тоже) исполняемых процессором ПК с графическими адаптерами осуществляется с помощью обращения к их регистрам и видеопамяти. Доступность регистров по чтению и записи можно определить с помощью программы профотладчика (например AFD), который может выполнять операции чтения и записи регистров по его адресу.
Видеоадаптер имеет свыше 60 регистров (каждый из которых имеет свое функциональное назначение, отдельные разряды и группы разрядов регистров тоже имеют свое функциональное назначение), уже поэтому управление видеоадаптером на уровне регистров реализуется очень сложно. Эту проблему для нас решают программы BIOS видеосистемы, которые «знают» как управлять на уровне регистров и команд контроллеров.
Используя программы BIOS видеосистемы можно провести диагностику на уровне регистров видеоадаптера и его команд.