Главная » Статьи о компьютерах » ASUS Q-code: снова 8-бит

ASUS Q-code: снова 8-бит

ASUS Q-code: снова 8-битМатеринские платы, разработанные компанией ASUS — одним из лидеров компьютерной промышленности, оснащаются комплексом технологий, который называется Q-Design. В их число входит визуализация POST-кодов, появляющихся в порту с фик­си­ро­ван­ным адресом. Речь идет о компьютерной диагностике с помощью смежных 80-го и 81-го портов. Напомним, после прохождения каждого этапа старта платформы, в диагностический порт записывается определенный код. Фиксируя этот код на индикаторах, можно, в случае отсутствия признаков жизни персонального компьютера, узнать причину неисправности. Именно там, в портах 80h и 81h, в случае ошибок и сбоев, следует искать контрольные точки старта платформы. Компания ASUS присвоила индикатору этих портов название Q-code. Еще недавно материнские платы ASUS информировали пользователей о проблемах прохождения процедур POST с помощью 4-х позиционных светодиодных сборок. С появление новейшей платформы Z170 их число уменьшилось до двух знакомест. Почему так? Постараемся найти причины такого решения.

Всеобъемлющая диагностика

Использование 16-битной схемы для бортовых POST-индикаторов стало ответом на использование контрольных точек в формате слова. 4-х позиционный вывод (по одной позиции на тетраду) соответствовал представлениям American Megatrends, чей BIOS в последнее время стал незаменимым спутником ASUS-платформ, о диагностике. Другое дело, что и бортовые индикаторы контрольных точек, и их расширенный формат явно запаздывали за тенденциями рынка. Первые такие решения состоялись около 15 лет тому назад и принадлежали явно не ASUS.

 Плата ASUS Z87 c 16-битным индикатором Q-codes на четыре знакоместа
Рис 1. Плата ASUS Z87 c 16-битным индикатором Q-codes на четыре знакоместа

Референс-проектом для встроенной диагностики были также дискретные POST-карты, среди которых особо стоит выделить плату IC80 v5.0 от IC Book Labs. Собственно, в ее лице мы имеем законодателя мод, в фарватере которого следуют многие hardware-дизайнеры. Аналогичный подход использован в проекте Sharks Cove, который является базовым решением для разработки драйверов операционной системы Windows 10.

Простота и надежность Aptio V

Когда на смену традиционному BIOS пришел UEFI-интерфейс, казалось, ничто не нарушит устои POST-диагностики. Не принимать же всерьёз терминологические экзерсисы компании AMI, предложившей контрольные точки (check points) AMIBIOS8 именовать статусными кодами (status codes). Именно так стали называть привычные всем POST-коды, генерируемые Aptio.

А вот с документацией программному продукту Aptio не везло изначально. И сама компания American Megatrends, и ASUS, использовавший эти UEFI-решения на своих платах, не спешили снабжать потребителей расшифровкой контрольных точек, трассирующих прохождение POST. Хотя, по правде говоря, из описания статусных кодов для Aptio V никто особых секретов и не делал. Совсем другой вопрос, что поиск данного документа всегда был затруднен. Выложим его здесь, чтобы заполнить этот пробел и упростить доступ к полезной информации:

Даже поверхностное знакомство с описанием говорит о том, что все контрольные точки Aptio V выводятся в диагностический порт в формате байта. Это значит – для отображения POST-кодов, которые могут принимать значение от 0x0 до 0xFF, достаточно двух позиций семисегментного индикатора. Что с успехом и реализовано на платформе ASUS Z170:

 Плата ASUS Z170-A c 8-битным индикатором Q-codes на два знакоместа
Рис 2. Плата ASUS Z170-A c 8-битным индикатором Q-codes на два знакоместа

Post Scriptum

Инженеры сервисных центров, накопившие достаточный опыт в обслуживании компьютерной техники понимают, что маркетинговые документы не всегда отражают техническое состояние. Декларации о намерениях иногда просто не доходят до рядовых программистов, решающих конкретные задачи. В качестве примера можно привести POST-код 4853h, который на плате ASUS Z170-A c 8-битным индикатором Q-codes скукожится до значения 53h. А ведь разработчик хотел проинформировать сервисного инженера о том, что система конкретно зависла!

Любители акронимов оценят юмор знаменитой контрольной точки 0xdead. Иногда она формируется в полной 32-битной форме, как 0xdeadbeef, что можно перевести как «дохлятина». В старые добрые времена мы не только писали об этом феномене, но и иллюстрировали сие чудо видеосюжетом:

POST-код EFh означает, что плата дохлая
Рис 3. POST-код dEAd на языке Hexspeak означает,
что плата неисправна


12.12.2017