В «Битовых масках» — подкасте «Истового инженера» — ведущие знакомят слушателей с инженерами, преподавателями и энтузиастами, которые делают железо и низкоуровневое ПО понятнее, ближе и интереснее.

В обширном списке тем — современные инструменты проектирования, open-source-инициативы, архитектуры процессоров, компиляторы, история вычислительной техники. В этом обзоре мы расскажем о самых известных гостях «Битовых масок» и поделимся планами по нему.

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

Известные гости «Битовых масок»

Артём Кашканов

Инженер из группы мониторинга производительности ПО YADRO, ранее — специалист по аппаратной трассировке в Intel. Создает необычные вычислительные устройства, восстанавливает старую технику и рассказывает об этом на Хабре и в своем блоге. В подкасте пролил свет на свой путь в профессию и пользу трассировки на уровне «железа».

Юрий Панчул

Специалист по дизайну процессоров и обучению схемотехнике. Работал в MIPS Technologies, Juniper Networks, вел стартап C Level Design, а сейчас — инженер GPU в Samsung Advanced Computing Lab (США). В выпуске Юрий подробно рассказал о развитии индустрии, принципах проектирования чипов и о Школе синтеза цифровых схем, где готовят будущих архитекторов процессоров.

Антон Бондарев

Создатель и главный разработчик Embox — свободной кроссплатформенной RTOS для встроенных систем. В выпуске обсуждаются особенности Linux в embedded-мире, POSIX-совместимость, портирование драйверов и архитектур, а также развитие студентов, начинающих свой путь в системном программировании.

Пётр Советов

Преподаватель РТУ МИРЭА, разработчик компиляторов для спецпроцессоров, исследователь в области языков программирования и синтеза программ. В беседе рассказал, зачем нужны предметно-ориентированные языки, как устроено проектирование специализированных ускорителей и почему сейчас — золотой век архитектур, заточенных под конкретные задачи.

Константин Владимиров

Инженер с более чем 20-летним опытом разработки на C/C++. В серии выпусков подкаста он объясняет, как устроены GPU-компиляторы, почему undefined behaviour в языке не всегда зло, и что нового появится в тогда еще грядущем C++26. Слушателей ждет много полезных инсайтов о LLVM, MLIR и особенностях гетерогенного программирования.

Следующим же гостем «Битовых масок» станет Михаил Коробков — основатель и «вождь» известного сообщества FPGA-Systems. На этом мы завершим первый сезон подкаста, но обязательно вернемся с новыми силами.

Слушать и смотреть подкаст на всех платформах → 

Telegram-канал «Битовые маски» → 

Опрос для слушателей, который нам очень поможет →

Комментарии (15)


  1. checkpoint
    17.10.2025 00:45

    Подкаст с Артёмом Кашкановым получился очень интересным, спасибо. Из его рассказов я узнал, что у интелловых процессоров есть самодостаточная аппаратная трассировка и что появилась она относительно недавно. Было бы интересно увидеть и прочитать здесь на Хабре статью на эту тему, с примерами использования. :)


    1. unreal_undead2
      17.10.2025 00:45

      В принципе ещё на Pentium 4 был BTS (Branch Trace Store), но там оверхед был заметно выше, чем у PT/RTIT. По использованию PT можно начать отсюда. А так то @radiolokздесь тоже бывает )


      1. Blacpaul57
        17.10.2025 00:45

        Во времена NetBurst его преподносили как нечто прорывное, но на практике он так замедлял систему, что годился разве что для очень специфичных задач) PT на его фоне просто космос по эффективности


        1. unreal_undead2
          17.10.2025 00:45

          Не надо сравнивать тёплое с мягким ) Микроархитектура P4 - отдельная история; BTS и PT сами по себе заметно отличаются по формату и размеру генерируемых данных. С какого то момента BTS совсем вырезали, сейчас даже упоминаний в SDM не вижу.


      1. radiolok
        17.10.2025 00:45

        Неплохой штукой оказалась технология LBR, которая позволяла на самплинге получать неплохие стеки вызовов. С BTS я не взаимодействовал и ничего толкового сказать не могу


    1. Indemsys
      17.10.2025 00:45

      У ARM трассировка с рождения была.
      Я как-то решил использовать ее и вставил в свой контроллер. И получил такое мессиво данных что оно практически бесполезно. Рядовой ПК с таким объемом еле справляется. Сессия записи короткая, но еще хуже софт, который эти данные обрабатывает. Он тупо показывает бесконечные пирамиды вызовов, там зумить будешь вечно пока доберешься до нужного места. А что искать сам не знаешь.
      Вообщем смысла нет, легче свой отладочный вывод организовать через то же канал и свой софт для анализа. К счастью теперь есть Claude.

      В подкасте мужик немного пургу несет, его проблема решается бреикпойнтами по паттенам данных. Инструменальный код для этого писать не надо.


      1. checkpoint
        17.10.2025 00:45

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

        Я совершенно не в теме, но что-то мне подсказывает, что должны быть механизмы задающие различные условия для начала трассировки (переход по адресу например, или доступ к данным по адресу) чтобы ограничить обьем.


        1. radiolok
          17.10.2025 00:45

          Собственно поэтому на Linux я порекомендую VTune для анализа PT трасс. Все же там много было сделано чтобы не пришлось пробираться через бесконечные пирамиды вызовов.
          Что до аппаратной фильтрации - у Intel-а они очень убогие.


      1. danial72
        17.10.2025 00:45

        Есть ощущение, что трассировка нужна для крайне бедовых ситуаций, когда нет надежды на отладочный вывод.


        1. radiolok
          17.10.2025 00:45

          Да. Трассировка - это микроскоп для забивания гвоздей. Очень мощный инструмент там где все остальное уже не помогает. Отлично подходит для неинвазивной отладки драйверов или самого ядра, где не получится просто так поставить бряку. И всё без инструментации и перекомпиляции.


          1. Indemsys
            17.10.2025 00:45

            Был бы этот инструмент мощным его бы все применяли. А так это действительно микроскоп. Нужен только условным "ботаникам" с очень нишевым интересом.

            Надо помнить - лог трассировщика не содержит данных. Он ничего не говорит о том что обрабатывалось. Это только голая последовательность инструкций и вызовов функций.


    1. Blacpaul57
      17.10.2025 00:45

      Относительно недавно - это смотря с чем сравнивать. Идеи аппаратной трассировки витали в воздухе давно, просто в потребительских CPU это стало доступно не так давно и что важнее с более-менее вменяемым инструментарием


      1. unreal_undead2
        17.10.2025 00:45

        Конкретно у Интела PT, про который рассказывал Артём, доступен начиная c Broadwell; на Silvermont была очень похожая технология (RTIT), но там трасса выдавалась через отдельные проводки (JTAG или что то вроде), для конечного пользователя не очень удобно )


        1. radiolok
          17.10.2025 00:45

          История про то как я на ночь ставил сгружаться трассу по JTAG - это как раз про RTIT :) Это не другая технология - это тот же PT, только с внешним доступом через JTAG.

          Впрочем, не знаю как именно на Silvermont, но на следующем поколении атомов - Goldmont, на которых я и веселился - полноценный доступ к PT был и через JTAG(спойлер: стриминг по USB DCI как раз и не работал) и со стороны системы.

          Что касается Broadwell - PT впервые появилось именно там, но было бессмысленно для анализа производительности. Там лютый оверхед при коллекции трассы и нет микротаймстампов. Сколько помню мы в VTune его даже не поддерживали. Да и в принципе Broadwell на мой взгляд вышли неудачными. Один FPMUL на два потока чего только стоит. Поэтому и не упоминаю.


  1. NinaNina89
    17.10.2025 00:45

    Отличный подкаст, без воды