арм в биосе что это
АРМ (Advanced Power Management) – это набор функций, позволяющий программам управлять энергопотреблением устройств персонального компьютера. Спецификация АРМ реализована на уровне BIOS. Это значит, что BIOS практически полностью управляет энергопотреблением и определяет состояния устройств персонального компьютера.
Спецификация АРМ имеет ряд существенных недостатков. Главным недостатком технологии Advanced Power Management является то, что БИОС управляет энергопотреблением компонентов ПК без согласования с операционной системой.
Кроме этого, алгоритм стандарта АРМ встроен в BIOS. Это значит, что реализация данной технологии зависит от поставщика BIOS. Поэтому ошибочная реализация стандарта АРМ поставщиком БИОС приведет к необходимости перепрошивки содержимого БИОС (в случае неудачного процесса обновления, возникает опасность безвозвратной потери рабочего состояния системы).
На данный момент стандарт АРМ заменен усовершенствованным интерфейсом расширенного конфигурирования и управления питанием ACPI.
Для технологии АРМ определяют пять глобальных состояний энергопотребления системой (компьютер):
Компьютер включен – режим энергопотребления, при котором ПК включен, но ни одно из его компонентов не находятся в любом из энергосберегающих режимов (технология АРМ отключена).
APM включён – режим энергопотребления, при котором ПК включен, а для устройств компьютера имеется возможность применения режимов энергопотребления, согласно стандарту АРМ.
APM Standby – режим уменьшенного энергопотребления. При данном режиме большинство устройств находится в режиме энергосбережения. Процессор либо в энергосберегающем режиме, либо вообще выключен. Питание подается на оперативную память (в ней хранится информация о состоянии системы).
APM Suspend – ждущий режим. При данном режиме энергосбережения питание подается только на оперативную память (в ней хранится информация о состоянии системы). Имеется возможность сохранения информации о состоянии системы на жесткий диск. Все другие компоненты ПК отключены.
Компьютер выключен – полное отключение ПК.
990x.top
Простой компьютерный блог для души)
HPC Mode в биосе — что это такое? (APM Master Mode)
Приветствую друзья! Разбираемся с биосом, сегодня выясним для чего предназначена опция HPC Mode. Постараюсь написать все простыми словами, чтобы было понятно каждому.
HPC Mode — что это такое?
Технология, при которой процессор AMD FX немного быстрее работает в тяжелых многопоточных задачах, но при этом немного увеличивается тепловыделение.
При активации функции увеличивается риск срабатывания защиты процессора (троттлинг), если нет должного охлаждения. Например у одного юзера когда температура на крышке ядер была 57-58 градусов, то множитель падал в x7, а частота — 1400 МГц. Да, в таком случае опцию лучше отключить, но правильнее будет улучшить охлаждение проца (в том числе и обдув элементов питания).
HPC расшифровывается как High Performance Computing — вычисления высокой производительности.
Также у вас может быть опция APM Master Mode (AMD Application Power Management) — технология внутри процессора FX, работающая в сочетании с функцией AMD Turbo Core, которая позволяет процу достигать скорости Turbo Core (работающей выше базовой тактовой частоты) до тех пор, пока имеется запас тепла и напряжения. PS: я могу ошибаться, но вроде бы запас тепла, то есть значение TDP еще можно настраивать в биосе для AMD, просто не помню точно как называется опция.
Все дело в том, что высокая нагрузка на процессор, на все ядра, особенно с использованием инструкций AVX (улучшения, помогающие работать процу быстрее) — приводят к высокому нагреву. Если не снижать частоту — будет перегрев и сработает система защиты, встроенная в сам процессор — он просто начнет пропускать такты, и этим снизит частоту принудительно, в любом случае. Поэтому при активации HPC Mode желательно позаботиться о качественном охлаждении процессора.
Например такая опция присутствует для FX-8120.
Опция в материнке MSI.
Заключение
Надеюсь информация оказалась полезной. Удачи и добра, до новых встреч друзья!
990x.top
Простой компьютерный блог для души)
AMD Application Power Management — что это в биосе?
Приветствую. Сегодня поговорим про одну настройку в биосе, которая влияет на работу процессора.
AMD Application Power Management — что это такое? (APM)
Настройка ограничивает тепловыделение процессора AMD: если 8 ядер то TDP максимум будет 125W, если 4 или 6 ядер — то максимум 95W.
Функция может спокойно работать с технологией Turbo Core, которая позволит процессору достигать высокой частоты, но только при условии что есть запас тепла и напряжения. В итоге все упирается в 125W или 95W.
Настройки в BIOS ASRock:
Возможно в настройке можно указать цифру. Думаю имеется ввиду вручную задать значение TDP в ваттах (W). Имейте ввиду — чем меньше значение, тем меньше греется проц, меньше потребляет энергии и разумеется производительность тоже снижается.
Что такое TDP?
Каждый процессор Intel или AMD имеет такое значение как TDP. Простыми словами значение показывает насколько сильно проц может греться. Но также дает представление о том, сколько потребляет энергии. Указывается в ваттах.
Например TDP до 65 — считается офисным вариантом, то есть не особо греется, но также нельзя сказать что процессор подойдет для игр, ведь чем ниже TDP тем меньше производительность.
Основная задача TDP — помочь корректно подобрать систему охлаждения. Если до 65 ватт то справится и обычный радиатор с вентилятором, даже тот что шел в комплекте с процессором. Но если 100 и выше — то стоит подумать о водяном охлаждении. Топовые модели могут иметь TDP 140 и больше, здесь уже лучше использовать исключительно водяное охлаждение.
Обычно значение указывается в характеристиках проца:
Лучше всего характеристики смотреть на офф сайте.
Узнать TDP самостоятельно можно легко, например используя утилиту CPU-Z — значение указывается в поле Max TDP.
Что ставить при разгоне процессора?
При разгоне в принципе советуют отключать все функции, которые могут влиять на работу процессора.
К ним относятся любые энергосберегающие настройки, было время считалось что и потоки нужно отключать.
Разумеется что AMD Application Power Management, а также Load-Line Calibration (уменьшает просадки напряжения) — лучше отключать.
Кстати включенная опция также может влиять на FPS в играх, собственно как и включенные энергосберегающие технологии.
Загрузка ОС на ARM
Недавно попросили в двух словах рассказать серьезным людям о загрузке операционной системы на ARM и дать оценку угроз безопасности этого процесса. Вообще ARM-процессоров и вообще ОС. Вы понимаете, все ведь слышали про эти ARM, и что такое ОС тоже все знают. Желательно, на уровне квадратиков со стрелками.
Загрузка ARM в четырех прямоугольниках — под катом.
Сразу ограничим уровень детализации. Нас интересует, что происходит, а не как, то есть конкретные инструкции процессора оставим в стороне. Постараемся найти общее у всех процессоров и всех ОС. Поищем угрозы безопасности.
Разновидности процессоров ARM
Если вы знаете про ARM, то этот раздел можно смело пропустить.
В производстве и эксплуатации сейчас встречаются процессоры ARM пяти архитектур: ARMv4, ARMv5, ARMv6, ARMv7 и ARMv8. Компания ARM дает этим архитектурам коммерческие названия, поэтому ARMv4 называется, например, ARM7, ARMv5 – ARM9, а название Cortex имеют процессоры на архитектурах ARMv6, v7, v8. Следующая таблица перечисляет основные разновидности.
Архитектура | Коммерческое название | Распространенные виды | Запуск Linux |
ARMv4 | ARM7 | ARM7TDMI | Нецелесообразно |
ARMv5 | ARM9 | ARM926EJ-S | Да |
ARMv6 | ARM11 | ARM1176JZF-S | Да |
Cortex-M0 | Cortex-M0 | Нет | |
ARMv7 | Cortex-M | Cortex-M3 | Нецелесообразно |
Cortex-A | Cortex-A9 | Да | |
Cortex-R | Cortex-R4 | Да | |
ARMv8 | Cortex-A | Cortex-A53 | Да |
Например, кнопочные телефоны в основном используют ARM7, а смартфоны – Cortex-A. Современные смартфоны строятся преимущественно на ARMv8, единственных 64-битных. Процессоры ARM7 и ARM9 широко применялись в различных промышленных контроллерах, сетевом оборудовании, а сейчас фокус переходит на использование в них Cortex-A. В различной бытовой технике, мелких электронных приборах, в области безопасности и т.п. применяются микроконтроллеры Cortex-M.
Вообще все устройства ARM можно условно разбить на микроконтроллеры и Application Processor.
Виды ОС
Какие есть варианты запуска ОС:
В дальнейшем мы будем говорить только о запуске ОС (Linux, Android) или RTOS на ARM. По способу запуска “большие” RTOS попадают в одну группу с Linux, а “малые” RTOS объединяются с программами без ОС.
Для запуска Linux хорошо подходят процессоры ARM9, ARM11, Cortex-A. Усеченную версию Linux также можно загрузить на ARM7, Cortex-M4 и Cortex-M7, но это нецелесообразно.
Для запуска малых RTOS подходят микроконтроллеры и процессоры ARM7, ARM9, Cortex-M. В некоторых случаях для RTOS используют начальные модели Cortex-A, например, Cortex-A5. Большинство же процессоров Cortex-A столь сложны, что их возможности можно использовать только совместно с поставляемым производителем Linux/Android SDK, что и определяет выбор в пользу Linux.
Загрузчик ОС
С точки зрения разработчика системное ПО устройства делится на загрузчик и ОС. Основную функцию всегда выполняет программа, работающая под управлением ОС или RTOS.
Загрузчик обеспечивает загрузку ОС и сервисные функции, такие, как:
Таким образом, с точки зрения разработчика изделия запуск ОС выглядит следующим образом:
Здесь знаком // отмечен момент подачи питания или сброса процессора. Такой простой способ запуска был у некоторых процессоров ARM7. В последовавших за ними версиях процесс запуска в реальности сложнее, чем на приведенной схеме, но для разработчика конечного решения это обычно не существенно.
Схема “Загрузчик-ОС” очень удобна из практических соображений, ведь загрузчик берет на себя всю низкоуровневую работу:
В то же время, загрузчик зачастую слабо защищен или не защищен вовсе. В большинстве домашних роутеров достаточно открыть крышку и подключиться к разъему UART, чтобы войти в меню управления загрузчиком. В телекоммуникационном оборудовании более высокого класса вход в меню загрузчика зачастую возможен по недокументированной комбинации клавиш или нажатой кнопке в момент включения устройства. Иными словами, зачастую загрузчик не защищен от локального нарушителя.
Рассмотрим работу загрузчика на примере u-boot, загружающего Linux, по шагам.
Запуск загрузчика – предзагрузчик
Однако в реальности почти никогда не бывает, чтобы команды загрузчика выполнялись первыми после включения или сброса процессора. Это еще было на процессорах ARM7, но почти не встречалось далее.
Любое ядро процессора ARM при сбросе начинает исполнение с адреса 0, где записан вектор “reset”. Старые серии процессоров буквально начинали загружаться с внешней памяти, отображенной по нулевому адресу, и тогда первая команда процессора была командной загрузчика. Однако для такой загрузки подходит только параллельная NOR Flash или ROM. Эти типы памяти работают очень просто – при подаче адреса они выдают данные. Характерный пример параллельной NOR Flash – микросхема BIOS в персональных компьютерах.
В современных системах используются другие виды памяти, потому что они дешевле, а объем больше. Это NAND, eMMC, SPI/QSPI Flash. Эти типы памяти уже не работают по принципу: подал адрес — читаешь данные, а значит, для прямого исполнения команд из них не подходят. Даже для простого чтения тут требуется написать драйвер, и мы имеем проблему «курицы и яйца»: драйвер нужно откуда-то заранее загрузить.
По этой причине в современные процессоры ARM интегрировано ПЗУ с предзагрузчиком. ПЗУ отображено в памяти процессора на адрес 0, и именно с него начинает исполнение команд процессор.
В задачи предзагрузчика входят следующие:
Подобный предзагрузчик устанавливается как в процессорах ARM, таких, как Cortex-A, так и в микроконтроллерах, даже таких маленьких, как Cortex-M0. Вместе с предзагрузчиком процедура запуска ОС выглядит так:
Анализ угроз на этом этапе
Исходный код предзагрузчика пишется производителем процессора, а не компанией ARM, является частью микросхемы как продукта компании-производителя и защищен авторским правом. Например, в процессорах ARM компаний Atmel и NXP предзагрузчики написаны, соответственно, Atmel и NXP.
В некоторых случаях предзагрузчик можно прочитать из ROM и проанализировать, но иногда доступ к нему ограничен. Например, предзагрузчик процессора серии Psoc4000 компании Cypress был закрыт несколькими слоями защиты (но был взломан талантливым хакером).
Использования предзагрузчика в большинстве сценариев избежать нельзя. Можно рассматривать его как вариант BIOS, которого в ARM-системах нет.
Сам по себе предзагрузчик в ROM несет в себе угрозу нарушения порядка загрузки и выполнения произвольного кода. Но после того как управление передано загрузчику ОС, предзагрузчик уже безвреден. Мы можем просто не передавать ему управление, перенастроить все обработчики прерываний и так далее.
В некоторые небольшие микроконтроллеры производители интегрируют в ROM-библиотеки для работы с периферийными устройствами, которые требуется вызывать на протяжении всей работы микроконтроллера. В этом случае системное ПО (загрузчик и ОС) само периодически передает управление куда-то в область предзагрузчика, и схема передачи управления получается следующей:
Это в общем случае небезопасно, но встречается только в некоторых микроконтроллерах на архитектуре ARM. На таких микроконтроллерах обычно запускаются программы без ОС или малые RTOS, и дизайнер системы может оценить риски.
Загрузка с TrustZone
В процессоры ARM Cortex-A и Cortex-R встраивается технология TrustZone. Эта технология позволяет на аппаратном уровне выделить два режима исполнения: Secure (Безопасный) и Non-Secure (Гостевой).
Эти процессоры в основном нацелены на рынок смартфонов и планшетных компьютеров, и TrustZone используется для создания в режиме Secure доверенной “песочницы” для исполнения кода, связанного с криптографией, DRM, хранением пользовательских данных.
В режиме Secure при этом запускается специальная ОС, называемая в общем случае TEE (Trusted Execution Environment, доверенная среда исполнения), а нормальная ОС, такая, как Linux, Android, iOS, запускается в режиме Non-Secure. При этом права доступа к некоторым устройствам ограничены для нормальной ОС, поэтому ее еще называют гостевой ОС.
Из-за наложенных ограничений гостевая ОС вынуждена время от времени вызывать функции TEE для исполнения некоторых операций. TEE продолжает существовать параллельно с гостевой ОС все время, и гостевая ОС не может ничего с этим поделать.
Например, гостевая ОС использует функции TEE для:
Почему же разработчики систем соглашаются на такой режим функционирования? В процессоры с поддержкой TrustZone встроен и механизм Secure Boot в том или ином виде.
С Secure Boot предзагрузчик проверяет подпись загружаемого образа с помощью прошитого на этапе производства открытого ключа. Таким образом, гарантируется, что загружен будет только подписанный образ. Это функция безопасности.
То есть загрузка ОС становится следующей:
Далее действует лень — c TEE все работает, а без TEE даже не запускается. Разработчики используют SDK с TEE, вызывают закрытый бинарный код из ядра Linux и не волнуются.
Как проверить свой проект на обращения к TrustZone
Может даже показаться, что всей этой TrustZone не существует, по крайней мере, в вашей конкретной разработке. Проверить это совсем несложно.
Дело в том, что все процессоры с TrustZone стартуют в режиме Secure, а только потом переключаются в Normal. Если ваша ОС запущена в режиме Normal, то какая-то Secure OS (TEE) существует в системе и перевела ее в этот режим.
Лакмусовой бумажкой является обращение к TEE для включения кэш-памяти 2-го уровня. По какой-то причине архитектура ARM не позволяет этого делать из Normal World. Поэтому для включения кэша ядру ОС потребуется сделать хоть один вызов к TrustZone. Делается это единственной командой: smc #0, и вы можете поискать ее сами в ядре Linux или Android.
Разумеется, мы и сами поискали, и нашли такие вызовы в коде поддержки ряда процессоров Qualcomm, Samsung, Mediatek, Rockchip, Spreadtrum, HiSilicon, Broadcom, Cavium.
Загрузка ARM Cortex-A и анализ угроз
На схеме пунктиром обозначен путь обращения из ядра ОС в TEE.
В двух блоках — неизвестный нам код. Посмотрим, чем это грозит.
Технически, любой из компонентов системного ПО может содержать ошибки, намеренные закладки и так далее. Однако в большинстве случаев загрузчик, ОС и системное ПО можно проверить, изучив исходные коды. Сконцентрируемся на возможных угрозах, исходящих от предзагрузчика и TEE, исходные коды к которым закрыты.
Предзагрузчик работает на самом раннем этапе, когда схема подключения к процессору различных периферийных устройств еще не известна, никакие коммуникационные устройства (WiFi, 3G и т.д.) не настроены, коммуникационные протоколы не работают. При этом предзагрузчик – небольшая программа, с размером кода порядка нескольких десятков килобайт, и сложно представить размещение в нем полных стеков протоколов или серьезной эвристики по определению подключенных устройств. Поэтому предзагрузчик вряд ли таит в себе серьезные закладки, связанные со слежкой, передачей данных и т.п.
Гораздо более интересной точкой атаки является TEE, так как его функции вызываются в процессе работы ОС, когда все периферийные устройства работают, а коммуникационные протоколы настроены. Создание шпионской закладки в коде TEE позволяет практически неограниченно следить за пользователем СВТ.
В небольшом исследовании мы показали реализуемость закладки в TEE, незаметно перехватывающей системные вызовы ОС Linux. Для активации закладки нужно только одно обращение из ядра Linux в TEE (например, то самое, для кэша второго уровня), после чего система становится полностью управляемой. Это позволяет:
Выводы
Мы рассмотрели процесс загрузки различных микроконтроллеров и процессоров ARM.
У микроконтроллеров наиболее уязвимым местом в процессе загрузки является загрузчик ОС.
Современные процессоры ARM Cortex-A включают в себя TrustZone — и от этого никуда не уйти. TrustZone предполагает запуск перед ОС доверенной среды исполнения TEE.
TEE является самой уязвимой точкой в процессе загрузки ОС на ARM Cortex-A, потому что обращения к TEE приводят к выполнению закрытого системного кода, известного производителю, но скрытого от нас.
Без контроля над TEE невозможно обеспечить безопасность и доверенность исполнения любой ОС на ARM Cortex-A.
AMD CPU fTPM Switch: что это в BIOS
В BIOS материнских плат для процессоров AMD можно встретить опции под названиями AMD fTPM Switch и AMD CPU fTPM. Данные опции по умолчанию отключены и до последнего времени мало интересовали обычных пользователей. Но, с анонсом Windows 11 стало известно, что TPM 2.0 является обязательным условием для работы этой операционной системы. В результате интерес к технологии TPM значительно возрос.
В этой статье мы расскажем, что такое AMD CPU fTPM Switch в BIOS и как эта функция включается на материнских платах GIGABYTE, ASUS, ASRock и MSI.
Что такое AMD fTPM Switch или AMD CPU fTPM
fTPM или Firmware-based Trusted Platform Module – это технология программной эмуляции модуля TPM на основе прошивки BIOS. А опции AMD fTPM Switch и AMD CPU fTPM в BIOS отвечают за включение или отключение этой функции. Если эта опция включена, то компьютер эмулирует работу модуля TPM, без использования реального физического модуля, который должен подключаться к материнской плате.
Кроме fTPM существуют и другие подобные аббревиатуры, которые обозначают разные варианты реализации TPM, например:
Также часто используются такие аббревиатуры как:
Как и настоящий TPM модуль, fTPM используется для защиты информации и шифрования. В частности, он может использоваться для генерации ключей и случайных чисел, хранения ключей шифрования, шифрования и дешифрования небольших объемов данных.
Многие функции Windows требуют наличия TPM модуля. Например, без TPM не будут работать такие функции как: измеряемая загрузка, шифрование устройства, защитник Windows System Guard (DRTM), аттестация работоспособности устройства, виртуальная смарт-карта, SecureBIO.
А для операционной системы Windows 11 наличие модуля TPM 2.0 является обязательным требованием.
Как включить AMD CPU fTPM в BIOS
Поддержка AMD CPU fTPM – это достаточно новая функция, которая появилась в BIOS материнских плат относительно недавно. На платах для процессоров AMD она присутствует начиная с первого поколения Ryzen (чипсеты AMD 300). Если такая функция есть на вашей плате, то ее нужно включить вручную, так как по умолчанию она отключена.
Из-за значительных отличий в BIOS разных производителей, процесс включения fTPM также сильно отличается от одной материнской платы к другой. Ниже мы рассмотрим несколько примеров, как включить AMD CPU fTPM на платах от GIGABYTE, ASUS, ASRock и MSI.
GIGABYTE
На материнских платах GIGABYTE для процессоров AMD программная эмуляция работает с чипсетами AMD 300-й, 400-й, 500-й и TRX40-й серии. Для включения данной функции нужно зайти в BIOS и перейти в раздел « Settings – Miscellaneous – AMD CPU fTPM ».
На платах GIGABYTE AOURUS данная функция может быть доступна в разделе « Settings – AMD CPU fTPM ».
Подробнее в статье:
На платах ASUS для процессоров AMD программная эмуляция модуля TPM доступна с чипсетами AMD 300, 400, 500, TRX40 и WRX80. Для активации этой функции нужно открыть настройки BIOS и перейти в раздел « Advanced – AMD fTPM configuration – Firmware TPM »
Подробнее в статье:
На материнских платах от MSI для процессоров AMD программная эмуляция поддерживается с чипсетами AMD 300, 400, 500, TRX40 и X399. Чтобы включить данную функцию нужно перейти в настройки BIOS и открыть раздел « Settings – Security – Trusted Computing – AMD fTPM switch – AMD CPU fTPM »
Подробнее в статье:
ASRock
На платах от ASRock для процессоров AMD программная эмуляция TPM должна присутствовать как минимум на чипсетах AMD 300, 400, 500. Для включения этой функции нужно открыть BIOS и перейти в раздел « Advanced – CPU Configuration – AMD fTPM Switch ».
Если у вас Ryzen 1-го поколения или новее, но вы не можете найти опцию включения fTPM в BIOS, то вам нужно обратиться к инструкции к материнской плате. Там должно быть описано расположение этой опции.
Подробнее в статье:
Ошибка New CPU installed, fTPM NV corrupted
Если на вашем компьютере включен fTPM, то после установки нового процессора вы можете получить ошибку со следующим сообщением « New CPU installed, fTPM NV corrupted or fTPM NV structure changed ».
Причина данной проблемы в том, что при каждом включении компьютера fTPM проверяет его конфигурацию и если она изменилась, то доступ к ключам шифрования блокируется. Для продолжения работы можно нажать на клавишу « Y » для сброса всех настроек TPM и удаления ключей шифрования. В этом случае вы можете потерять все данные, если они были зашифрованы с помощью Bitlocker. Либо можно нажать « N » и продолжить загрузку без TPM. В этом случае можно установить старый процессор и восстановить ключи TPM.
Возможно вам будет интересно:
Создатель сайта comp-security.net, автор более 2000 статей о ремонте компьютеров, работе с программами, настройке операционных систем.
Задайте вопрос в комментариях под статьей или на странице «Задать вопрос» и вы обязательно получите ответ.
Здравствуйте, подскажите, возможно нажал N, после появления ошибки и теперь никак не могу вернуть fTPM, в БИОСе включен но ОС упорно не видит, уже переустанавливал ОС