Hpet
Содержание:
Acpi hpet table что это в БИОСе?
У всех, кто жалуется на этот трабл- GTX 10хх У меня на платформе с i5-760 и GTX 1070 примерно раз — два раза в месяц комп не просыпается из спячки. Помогает лишь сброс удержанием кнопки питания, обесточиванием ПК и восстановлением профиля в БИОС. На сегодня обнаружил две причины- включенное аппаратное ускорение в браузере и переключение профилей в афтербернере с разными параметрами туда-сюда.
Отправлено спустя 4 минуты 7 секунд: Только что выключил HPET на пробу- винда не загрузилась с первого раза. Со второго вроде работает.
Victor Kotyara: У всех, кто жалуется на этот трабл- GTX 10хх У меня на платформе с i5-760 и GTX 1070 примерно раз — два раза в месяц комп не просыпается из спячки. Помогает лишь сброс удержанием кнопки питания, обесточиванием ПК и восстановлением профиля в БИОС. На сегодня обнаружил две причины- включенное аппаратное ускорение в браузере и переключение профилей в афтербернере с разными параметрами туда-сюда.
Отправлено спустя 4 минуты 7 секунд: Только что выключил HPET на пробу- винда не загрузилась с первого раза. Со второго вроде работает.
HPET отключен (в винде), спецэффектов не заметил.ПК в профиле актуален.Думаем дальше.
Спасибо. А если отключите и SMT, и HPET в bios — тоже черный экран?
Victor Kotyara: У всех, кто жалуется на этот трабл- GTX 10хх У меня на платформе с i5-760 и GTX 1070 примерно раз — два раза в месяц комп не просыпается из спячки. Помогает лишь сброс удержанием кнопки питания, обесточиванием ПК и восстановлением профиля в БИОС. На сегодня обнаружил две причины- включенное аппаратное ускорение в браузере и переключение профилей в афтербернере с разными параметрами туда-сюда.
Отправлено спустя 4 минуты 7 секунд: Только что выключил HPET на пробу- винда не загрузилась с первого раза. Со второго вроде работает.
На самом деле, невыход из спячки — бич Windows 10, и на предыдущих тоже встречается. Тут непонятно, в чем проблема
Но на GTX 10xx придется тоже обратить внимание
Нет, ведет себя абсолютно нормально. Отключение таймера через диспетчер устройств ничего не меняет.
Уже не скажу где, но где-то были тесты комбинаций Hpet: Win on / bios off, win off / bios off, win off / bios on. И наилучшие результаты показал вариант, где эта хрень отключена и в биосе, и в винде. Соответственно, в выводах утверждалось что именно такой вариант будет оптимальным.
Да, местами убирает фризы, повышает результаты в тестах SSD(влияние на реальные задачи с интенсивным использованием SSD нужно исследовать), улучшает картину в LatencyMonitor, и т.д. Но судя по тому, сколько положительных эффектов дает его отключение помимо игорей — криворукие папуасы набыдлокодили не только в играх.
Почему возникло предположение о segfault — в тесте In Depth Latency Tests (поставляется с Latency Monitor), с SMT ON на моем багнутом камне задержки доходят до 190µs, а при SMT OFF — не более 0,6-0,8µs. Когда стало известно о баге segfault, считалось что он проявляет себя только в среде Linux. Но сейчас также известно, что SMT off и OPcache Control off могут убирать короткие пики фреймтайма в играх под Windows на процессорах с багом. Конечно, многопоточность сама по себе может понижать результаты , и для ясности нужно сравнивать два камня одной модели но один с segfault, другой без него, на предмет разницы во влиянии SMT on/off но, к сожалению, таких тестов я не нашел, и другого камня у меня нету. Но если кто-то прогонит короткий тест InDepthLatencyTests на Ryzen 2000 с SMT ON, или Ryzen 1000 SMT ON БЕЗ segfault (с батч-кодом начиная с 1725) — возможно, даже это поможет хоть на шаг продвинуться в нужном направлении
Пока что список возможных виновников таков: MSI, AMD (чипсеты B350/B450, сами процессоры, либо AGESA), Nvidia Pascal.
ACPI HPET Table что это в биосе? : 1 комментарий
Все правильно, железный таймер на материнке точнее/не отнимает ресурсов процессора в отличие от программного таймера в винде. Поэтому в биосе надо включить, а в винде — выключить.

7.4.3 ACPI Configuration
BIOS SETUP UTILITY
Check Ready Bit
Restore on AC / Power Loss
Onboard LAN Power On
RTC Alarm Power On
Onboard CIR Power On
ACPI HPET Table
Select or disable the STR feature.
v02.54 (C) Copyright American Megatrends, Inc.
Suspend to RAM
This field allows you to select whether to or disable the feature. Select will enable this feature if the system supports it.
Check Ready Bit
Use this item to enable or disable the feature Check Ready Bit. This option only appears when you set “Suspend to RAM” to .
Restore on AC/Power Loss
This allows you to set the power state after an unexpected AC/Power loss. If is selected, the AC/Power remains off when the power recovers. If is selected, the AC/Power resumes and the system starts to boot up when the power recovers.
ACPI HPET Table
Use this item to enable or disable ACPI HPET Table. The default value is . Please set this option to if you plan to use this motherboard to submit Windows Vista TM certification.
Появление HPET MODE
Предшественники таймера нового поколения, такие как RTC или Intel 8254 по очень многим параметрам не удовлетворяли условия современных требований. Особенно наиболее остро стоял вопрос о том, что у этих таймеров тактовая частота не выше нескольких десятков килогерц. Огромный минус в их работе заключался в том, что такие RTC и Intel 8254 из-за своей медленной работы создают очень большое количество прерываний, которые сами не успевают использовать.
Вся суть разработки и, в дальнейшем, использования HPET заключалась в оптимизации работы приложений и мультимедиа. Именно из-за этого он и получил своё наименование «Мультимедийный таймер». Но в дальнейшем раскрылось, что под таким же названием употребляются ещё таймеры программного обеспечения, которые присутствовали в различных операционных системах Windows поколения 3.x, а именно в их графических оболочках. Именно поэтому, чтобы избежать путаницы, было принято решение об изменения названия таймера.
Появление и внедрение таймера событий высокой точности с хорошей стороны отразилось на работе прикладных программ, игр, которые использовали контент мультимедиа. Такой таймер повышал плавное воспроизведение.
Чтобы High Precision Event Timer реализовывал свои возможности, нужно, чтобы именно этот вид таймера поддерживался ОС. Известно, что ОС настоящего времени, все, практически без исключений, имеют поддержку данного типа таймера.
Эксперимент с программированием конфигурационных регистров
В предыдущем разделе рассмотрен «легальный» метод детектирования, работоспособный на платформах, BIOS которых поддерживает HPET и декларирует его посредством ACPI. Вместе с тем, как было сказано выше, существует много платформ, у которых данный компонент отсутствует, несмотря на то, что чипсет его поддерживает. Дело тут в функциональности BIOS и, разумеется, практический совет обладателям таких платформ, желающим появления HPET в своей системе – перепрошивка новой версии BIOS с сайта производителя платы, а также проверка разрешен ли HPET в BIOS Setup.
Вместе с тем, руководствуясь исследовательским интересом, автор выполнил принудительное включение HPET на одной из платформ, у которых этого не делает BIOS. Естественно, результаты этой операции сохраняются до первой перезагрузки. При ее выполнении используются конфигурационные регистры, реализованные по-разному в разных чипсетах. Процедура, добавленная в пример, работоспособна на платах, использующих «южный мост» Intel ICH6 (это платы на чипсетах Intel 915, 925), заинтересованный читатель может добавить поддержку других чипсетов.
Программа, находящаяся в прилагаемом каталоге WORK сначала пытается найти HPET «по-хорошему», используя ACPI, эта часть программы работоспособна независимо от модели чипсета. Только в том случае, если это не удается, управление будет передано на процедуру детектирования чипсета и запуска chipset-specific процедуры включения HPET.
Для включения HPET микросхемы Intel ICH6 необходимо выполнить следующие действия.
1) Локализовать в конфигурационном пространстве PCI блок регистров устройства ICH6 LPC Interface. Для этого требуется найти устройство с параметрами:
Код производителя, Vendor ID = 8086h (Intel) Код устройства, Device ID = 2640h (ICH6, ICH6R LPC Interface) или 2642h (ICH6W, ICH6RW LPC Interface).
2) В указанном блоке прочитать 32-разрядный регистр с адресом 00F0h, это регистр RCBA (Root Complex Base Address). Используя значение базового адреса, выделенное из содержимого этого регистра, мы можем получить доступ к 32-разрядному регистру HPTC (High Precision Timer Configuration), который расположен в пространстве памяти по адресу RCBA+3404h. Бит 7 регистра HPTC разрешает доступ к блоку регистров HPET. Биты 1,0 выбирают один из четырех вариантов адреса. Остальные биты зарезервированы.
3) Записав в регистр HPTC значение 10000000b (D7=1, D=00) мы обеспечим появление HPET в пространстве памяти по адресам FED00000h-FED003FFh.
Подробности в , .
HPET MODE 32 или 64, что это

HPET MODE присутствует во всех без исключения новейших BIOS. У этой функции может быть только два состояния: 64 битное и 32 битное.
К сожалению, маленькое количество людей знают о наличие и возможностей использования данной функции. Пользователи все чаще задаются вопросом: что это такое, и какое всё-таки значение данной модификации выставить на своем персональном компьютере?
Данная статья ответит на эти вопросы.
Предшественник HPET MODE
Ещё до возникновения идеи о создании таймеров типа HPET, существовал другой гаджет подсчета времени — RTC. Этот тип таймеров обозначал Real Time Clock. И переводится буквально, как «действительное время».
Потребность в этом виде «часов» была из-за создания генерации каких-либо временных прерываний. Эти самые прерывания использовались самим компьютером или различными программами в процессе выполнения каких-нибудь действий.
Проблема RTC была в низкой скорости работы. Это было вызвано низкой тактовой частотой. Что. Естественным образом, не устраивало изготовителей данного ПО.
Появление HPET MODE
HPET – это не что иное, как таймер событий высокой точности (аппаратный таймер). Именно этот вид таймера используется в современных компьютерах.
Корпорации Intel и AMD выпускает на свет совместное «детище» — таймер нового поколения, который являлся таймером событий ВЫСОКОЙ частотности.
Ему дали название High Precision с префиксом «Event Timer».
Это изобретение дало возможность улучшения приложений мультимедиа, а в частности игр. Оно в разы повысило показатели плавности их работы.
Не все версии Windows поддерживают таймер нового поколения HPET MODE. Но если пользователь имеет стационарный компьютер или ноутбук с современной версии операционной системы Windows, то ему не о чем беспокоиться.
Принцип работы
Данный тип аппаратного таймера имеет месторасположение в южной части материнской платы. Этот компонент, в свою очередь, отвечает за взаимосвязь процессора с такими устройствами, как видеокарта и жесткий диск, чтобы обеспечить наибольшую пропускную способность.
функция HPET MODE – это подсчитывание системных событий, а именно их количества. Когда достигается конкретное значение, которое было установлено заранее, то наступает приостановление выполняемой программы и запускается код, который имеет взаимосвязь с новой командой.
Если у настольного компьютера появились подвисания ОС на регулярной основе или сам компьютер стал медленнее работать, то это все указывает на неправильную работу таймера нового поколения. В таких случаях необходимо изменить функциональные параметры этой опции.
Какой параметр использовать?
Для начала необходимо узнать, поддерживается ли эта функция у операционной системой пользователя.
Опцию HPET MODE поддерживают линейка Windows, начиная с Vista. Конкретно XP – имеет частичную поддержку. А вот более старые «не знакомы» с этой функции совсем.
Если пользователь столкнулся с различными подвисаниями в работе компьютера, то тогда стоит протестировать различные настройки опции HPET, а также попытаться решить проблему посредством включения/выключения данного таймера. Нельзя указать конкретные параметры для установки, чтобы решить ту или иную проблему. Для каждого случая выбирается свои установки.
Чтобы полностью убедиться, можно заглянуть в BIOS.
В BIOS, а именно в настройках системы находится раздел «HPET mode» (ещё может называться Configuration PCH). Внутри разделе нужно найти такие параметры, как: «ACPI HPET Table», который отвечает за само окно мода, или «High Precision Timer». Именно в этом разделе можно включать и отключать этот таймер.
Что же касается выбора значения – тут всё просто. Значение зависит от разрядности операционной системы пользователя. Если установленная Windows имеет 32 битную разрядность, то значение hpet mode должно стоять 32 bit. А для Windows c 64 битовой разрядностью – 64 bit HPET MODE.
Встречаются такие ситуации, когда на одном устройстве установлены две ОС, которые имеют разные степени разрядности. В этом случае параметр опции лучше установить в значение 64 bit.
Архитектура HPET
Платформа может иметь произвольное количество таймеров HPET (согласно спецификации до 8). Каждый таймер декларируется ACPI таблицей «HPET», использует регион MMIO размером 1KB и может содержать от 1 до 32 компараторов. Здесь требуется пояснение. Как известно, «старый» таймер Intel 8254, имеет 3 канала, каждый из которых является независимым счетчиком, который может запускаться, останавливаться, загружать новое значение по командам от процессора. Таймер HPET устроен иначе, он имеет один счетчик на все каналы. Каждый канал имеет собственный регистр данных и компаратор (схему сравнения кодов). Когда содержимое общего счетчика, одновременно поступающее на компараторы всех каналов, совпадет с содержимым регистра данных в каком-либо канале, компаратор этого канала выдаст сигнал совпадения и канал сгенерирует запрос на прерывание (если генерация запроса разрешена).
Счетчик работает в режиме инкрементирования. Разрядность счетчика (32 или 64 бита), а также период тактового сигнала счетчика могут быть различными от платформы к платформе. Их значения декларированы в регистре General Capabilities and ID Register.
Таким образом, чтобы запрограммировать генерацию запроса на прерывание через некоторый интервал времени T (представленный в секундах), программа должна пересчитать секунды в такты счетчика, используя информацию о периоде тактового сигнала N=T/K.
N = Количество тактов таймера в требуемом интервале T = Длительность требуемого интервала в секундах K = Длительность такта таймера в секундах.
Затем, в регистр данных используемого канала требуется записать число L=N+M.
L = Число для записи в регистр данных используемого канала N = Ранее вычисленное количество тактов таймера в требуемом интервале M = Текущее состояние общего счетчика
По прошествии N тактов, счетчик, находящийся в данный момент в состоянии M, досчитает до состояния L и будет сгенерировано прерывание.
Опционально, канал может поддерживать периодические прерывания. В этом режиме после каждой генерации прерывания, регистр данных автоматически (аппаратно, без участия процессора) перезагружается константой, обеспечивающей генерацию прерывания через такой же интервал времени. При этом упрощается работа программного обеспечения и улучшается точность, поскольку отсутствует погрешность, связанная с затратами времени на программирование таймера процессором.
Архитектура HPET
Платформа может иметь произвольное количество таймеров HPET (согласно
спецификации до 8). Каждый таймер декларируется ACPI таблицей «HPET», использует
регион MMIO размером 1KB и может содержать от 1 до 32 компараторов. Здесь
требуется пояснение. Как известно, «старый» таймер Intel 8254, имеет 3 канала,
каждый из которых является независимым счетчиком, который может запускаться,
останавливаться, загружать новое значение по командам от процессора. Таймер HPET
устроен иначе, он имеет один счетчик на все каналы. Каждый канал имеет
собственный регистр данных и компаратор (схему сравнения кодов). Когда
содержимое общего счетчика, одновременно поступающее на компараторы всех
каналов, совпадет с содержимым регистра данных в каком-либо канале, компаратор
этого канала выдаст сигнал совпадения и канал сгенерирует запрос на прерывание
(если генерация запроса разрешена).
Счетчик работает в режиме инкрементирования. Разрядность счетчика (32 или 64
бита), а также период тактового сигнала счетчика могут быть различными от
платформы к платформе. Их значения декларированы в регистре General Capabilities
and ID Register.
Таким образом, чтобы запрограммировать генерацию запроса на прерывание через
некоторый интервал времени T (представленный в секундах), программа должна
пересчитать секунды в такты счетчика, используя информацию о периоде тактового
сигнала N=T/K.
N = Количество тактов таймера в требуемом интервалеT = Длительность требуемого интервала в секундахK = Длительность такта таймера в секундах.
Затем, в регистр данных используемого канала требуется записать число L=N+M.
L = Число для записи в регистр данных используемого каналаN = Ранее вычисленное количество тактов таймера в требуемом интервалеM = Текущее состояние общего счетчика
По прошествии N тактов, счетчик, находящийся в данный момент в состоянии M,
досчитает до состояния L и будет сгенерировано прерывание.
Опционально, канал может поддерживать периодические прерывания. В этом режиме
после каждой генерации прерывания, регистр данных автоматически (аппаратно, без
участия процессора) перезагружается константой, обеспечивающей генерацию
прерывания через такой же интервал времени. При этом упрощается работа
программного обеспечения и улучшается точность, поскольку отсутствует
погрешность, связанная с затратами времени на программирование таймера
процессором.
Точность
HPET планировался как замена программируемому интервальному таймеру Intel 8254 (PIT, англ. Programmable interval timer) и возможностям RTC (англ. Real Time Clock) по генерации прерываний. В сравнении с прочими таймерами HPET имеет более высокую разрешающую способность (таймеры HPET работают минимум на частоте 10 МГц) и большую интервальную способность (число, по которому срабатывает таймер хранится в 64-битном счётчике)..
8254 и RTC способны, аналогично HPET, работать в режиме единичного срабатывания, однако, процесс их настройки столь медленен, что его не используют в областях, требующих высокой разрешающей способности счётчика; вместо этого RTC/8254 обычно используются в периодическом режиме с малыми интервалами (порядка нескольких миллисекунд) с «пропуском» нужного количества интервалов. Подобное приводит к появлению частых (раз в несколько миллисекунд) прерываний, даже если они не нужны программе. При использовании HPET дополнительные прерывания не нужны, так как настройка HPET для единичного срабатывания существенно проще (и требует меньшего времени), чем для RTC/8254.
Causes of HPET mode on Gigabyte boards x64 or x86?
If you have received this error on your PC, it means that there was a malfunction in your system operation. Common reasons include incorrect or failed installation or uninstallation of software that may have left invalid entries in your Windows registry, consequences of a virus or malware attack, improper system shutdown due to a power failure or another factor, someone with little technical knowledge accidentally deleting a necessary system file or registry entry, as well as a number of other causes. The immediate cause of the «HPET mode on Gigabyte boards x64 or x86» error is a failure to correctly run one of its normal operations by a system or application component.
Using timers
One-shot mode
To enable one-shot mode:
// "time" is time in femtoseconds from now to interrupt
if (time < COUNTER_CLK_PERIOD)
{
time = adjust_time(time);
}
write_register_64(timer_configuration(n), (ioapic_input << 9) | (1 << 2));
write_register_64(timer_comparator(n), read_register(main_counter) + time);
I hope the above code is obvious. If it’s not, please analyze the meaning of specific fields in registers used above.
Periodic mode
To enable periodic mode:
// "time" is time in femtoseconds from now to interrupt
if (time < COUNTER_CLK_PERIOD)
{
time = adjust_time(time);
}
write_register_64(timer_configuration(n), (ioapic_input << 9) | (1 << 2) | (1 << 3) | (1 << 6));
write_register_64(timer_comparator(n), read_register(main_counter) + time);
write_register_64(timer_comparator(n), time);
This snippet requires some more comments.
Bit 2 is the same as above, Interrupt Enable. Bit 3 is also quite straightforward — 1 means periodic timer. But we’ve also set bit 6. Why?
Let’s take a look at quote from the HPET specification:
This means that next write to timer N comparator register will have the usual meaning, while second next write will write directly to the accumulator. I believe that the wording could’ve been much better.
Принцип работы
До появления HPET в персональных компьютерах использовались аппаратные таймеры RTC (Часы реального времени) и Intel 8254. Однако эти таймеры во многом не соответствуют современным требованиям. В частности, их тактовая частота не превышает нескольких десятков килогерц, а из-за невысокой скорости работы они зачастую генерируют множество неиспользуемых прерываний. Кроме того, они обладают невысокой точностью определения временных интервалов.
Эта ситуация не устраивала как производителей программного обеспечения, так и производителей аппаратного обеспечения. В результате две ведущие компании в обеих областях, Microsoft и Intel, объединили свои усилия, и в 2005 г. появилась их совместная разработка, таймер событий высокой точности (High Precision Event Timer, HPET).
Данный таймер разрабатывался преимущественно для улучшения работы мультимедийных приложений и поэтому поначалу получил название мультимедийного таймера (Multimedia Timer). Однако впоследствии оказалось, что мультимедийными таймерами назывались программные таймеры, использовавшиеся в графических операционных оболочках семейства Windows 3.x, поэтому название таймера было заменено на HPET.
Применение таймера событий высокой точности позволило улучшить работу многих прикладных программ, а также игр, использующих мультимедийный контент, и повысить плавность его воспроизведения.
Для работы таймера HPET требуется его поддержка со стороны операционной системы. Большинство современных операционных систем, начиная с Windows Vista, поддерживают его. Хотя в Windows XP, начиная с SP2, также присутствует драйвер HPET, однако фактически эта операционная система не использует данный таймер. Кроме того, таймер поддерживается современными версиями Mac OS X, Linux, Solaris и FreeBSD.
На аппаратном уровне в большинстве чипсетов таймер HPET расположен в южном мосте материнской платы. Он работает на частоте в 10 МГц и имеет 64-разрядный главный счетчик. Кроме того, timer обладает большим набором (от 3 до 256) специальных вспомогательных счетчиков-компараторов, которые способны генерировать прерывания и могут управляться как операционной системой, так и прикладными программами. Компараторы поддерживают как 32-разрядный, так и 64-разрядный режимы работы.
Таймер событий высокой точности изначально разрабатывался для 64-разрядных операционных систем. Однако он может работать и в 32-разрядных системах. Для переключения режима работы компараторов с 32-разрядного режима на 64-разрядный и предназначена опция HPET Mode.
Функция может быть доступна лишь после включения общего режима поддержки технологии High Precision Event Timer в BIOS при помощи функций HPET или HPET Support.
Источники информации
Электронные документы, доступные на сайте developer.intel.com.
1) IA-PC HPET (High Precision Event Timers) Specification. Revision 1.0a. 2) Intel 64 and IA-32 Architectures Software Developer’s Manual. Volume 1: Basic Architecture. Order Number 253665-023US. 3) Intel 64 and IA-32 Architectures Software Developer’s Manual. Volume 2A: Instruction Set Reference, A-M. Order Number 253666-023US. 4) Intel 64 and IA-32 Architectures Software Developer’s Manual. Volume 2B: Instruction Set Reference, N-Z. Order Number 253667-023US. 5) Intel 64 and IA-32 Architectures Software Developer’s Manual. Volume 3A: System Programming Guide, Part 1. Order Number 253668-023US. 6) Intel 64 and IA-32 Architectures Software Developer’s Manual. Volume 3B: System Programming Guide, Part 2. Order Number 253669-023US. 7) Intel 915G/915P Express Chipset Datasheet. Document Number 301467-001. 8) Intel I/O Controller Hub 6 (ICH6) Family Datasheet. Document Number 301473-001.
Электронные документы, доступные на сайте developer.amd.com.
9) AMD64 Architecture Programmer’s Manual. Volume 1: Application Programming. Publication No. 24592. 10) AMD64 Architecture Programmer’s Manual. Volume 2: System Programming. Publication No. 24593. 11) AMD64 Architecture Programmer’s Manual. Volume 3: General-Purpose and System Instructions. Publication No. 24594. 12) AMD64 Architecture Programmer’s Manual. Volume 4: 128-Bit Media Instructions. Publication No. 26568. 13) AMD64 Architecture Programmer’s Manual. Volume 5: 64-Bit Media and x87 Floating-Point Instructions. Publication No. 26569. 14) BIOS and Kernel Developer’s Guide for AMD Athlon 64 and AMD Opteron Processors. Publication No. 26094. 15) BIOS and Kernel Developer’s Guide for AMD NPT Family 0Fh Processors. Publication No. 32559. 16) BIOS and Kernel Developer’s Guide (BKDG) For AMD Family 10h Processors. Publication No. 31116.
Электронные документы, доступные на сайте acpi.info.
18) Advanced Configuration and Power Interface Specification. Hewlett-Packard Corporation, Intel Corporation, Microsoft Corporation, Phoenix Technologies Ltd., Toshiba Corporation. Revision 3.0.
19) В.Л. Григорьев. Микропроцессор i486. Архитектура и программирование. Москва ТОО «ГРАНАЛ» 1993. 20) В.Г. Артюхов, А.А. Будняк. В.Ю. Лапий. С.М. Молявко, А.И. Петренко. Проектирование микропроцессорной электронно-вычислительной аппаратуры. Справочник. Киев «Тэхника» 1988. 21) К. Г. Самофалов, О.В. Викторов. Микропроцессоры. Библиотека инженера. Киев «Тэхника» 1989. 22) 2B ProGroup: В.А. Вегнер, А.Ю. Крутяков, В.В. Серегин, В.А. Сидоров, А.В. Спесивцев. Аппаратура персональных компьютеров и ее программирование. IBM PC/XT/AT и PS/2. Москва «Радио и связь» 1995. 23) Ю.М. Казаринов, В.Н. Номоконов, Г.С. Подклетнов, Ф.В. Филиппов. Микропроцессорный комплект К1810. Структура, программирование, применение. Справочная книга. Москва «Высшая школа» 1990.