Jump to content

Аппаратный счетчик производительности

В компьютерах имеются аппаратные счетчики производительности ( HPC ), [ 1 ] или аппаратные счетчики — это набор регистров специального назначения , встроенных в современные микропроцессоры для хранения данных об аппаратных действиях в компьютерных системах. Опытные пользователи часто полагаются на эти счетчики для проведения низкоуровневого анализа производительности или настройки .

Реализации

[ редактировать ]

Количество доступных аппаратных счетчиков в процессоре ограничено, при этом каждая модель ЦП может иметь множество различных событий, которые разработчик может захотеть измерить. Каждый счетчик может быть запрограммирован с индексом типа события, подлежащего мониторингу, например, промаха кэша L1 или неправильного предсказания ветвления.

Один из первых процессоров, реализовавших такой счетчик и связанную с ним инструкцию. RDPMC для доступа к нему был Intel Pentium , но они не были задокументированы до тех пор, пока Терье Матисен не написал статью об их обратном проектировании в журнале Byte в июле 1994 года. [ 2 ]

В следующей таблице показаны некоторые примеры ЦП и количества доступных аппаратных счетчиков:

Процессор доступные счетчики аппаратного обеспечения
УльтраСпарк II 2
Пентиум III 2
ARM11 2
AMD Атлон 4
ИА-64 4
ARM Кортекс-А5 2 [ 3 ]
ARM Кортекс-А8 4
ARM Cortex-A9 MPCore 6
МОЩНОСТЬ4 8
Пентиум 4 18

Сравнение программных методов

[ редактировать ]

По сравнению с программными профилировщиками аппаратные счетчики обеспечивают доступ с минимальными издержками к большому количеству подробной информации о производительности, связанной с функциональными блоками ЦП, кэшами, основной памятью и т. д. Еще одним преимуществом их использования является то, что в целом не требуется никаких модификаций исходного кода. Однако типы и значения аппаратных счетчиков различаются в зависимости от архитектуры из-за различий в организации оборудования.

Могут возникнуть трудности при сопоставлении показателей производительности низкого уровня с исходным кодом. Ограниченное количество регистров для хранения счетчиков часто вынуждает пользователей проводить несколько измерений для сбора всех желаемых показателей производительности.

Выборка на основе инструкций

[ редактировать ]
Вывод профиля IBS из CodeAnalyst .

Современные суперскалярные выполняют несколько инструкций вне очереди процессоры планируют и одновременно . Эти «текущие» инструкции могут выйти из эксплуатации в любой момент, в зависимости от доступа к памяти, попаданий в кэш, остановок в конвейере и многих других факторов. Это может привести к тому, что события счетчика производительности будут приписаны неверным инструкциям, что затруднит или сделает невозможным точный анализ производительности.

AMD представила методы устранения некоторых из этих недостатков. Например, в процессорах Opteron реализована [ 4 ] в 2007 году был использован метод, известный как выборка на основе инструкций (или IBS). Реализация IBS от AMD предоставляет аппаратные счетчики как для выборки выборки (начало суперскалярного конвейера), так и для выборки операций (задняя часть конвейера). Это приводит к тому, что дискретные данные о производительности связывают устаревшие инструкции с «родительской» инструкцией AMD64.

См. также

[ редактировать ]
  1. ^ Мэлоун, Кори; Захран, Мохамед; Карри, Рамеш (2011). «Являются ли аппаратные счетчики производительности экономичным способом проверки целостности программ» (PDF) . Материалы шестого семинара ACM по масштабируемым доверенным вычислениям . стр. 71–76. дои : 10.1145/2046582.2046596 . ISBN  9781450310017 . S2CID   16409864 . Проверено 17 ноября 2022 г.
  2. ^ «Секреты Пентиума» . Gamedev.net . Проверено 14 февраля 2012 г.
  3. ^ «Документация — Arm Developer» . Developer.arm.com .
  4. ^ «Выборка на основе инструкций: новый метод анализа производительности процессоров семейства AMD 10h» (PDF) . АМД . Проверено 16 октября 2015 г.
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 951b2bd17c4b0134e279d8c4f6e36c21__1691398080
URL1:https://arc.ask3.ru/arc/aa/95/21/951b2bd17c4b0134e279d8c4f6e36c21.html
Заголовок, (Title) документа по адресу, URL1:
Hardware performance counter - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)