Архив статей журнала
Применимость методов машинного обучения для тестирования моделей процессора в настоящее время исследуется в крупнейших иностранных технологических компаниях (исследовательские центры ARM, Intel, IBM и другие) и институтах. Однако исследования проводятся только с точки зрения машинного обучения в области формальной верификации, генерации тестов с использованием символического выполнения и решения ограничений, а также для поиска нерегулярных ошибок в уже изготовленном кристалле СБИС микропроцессора. Новизна предлагаемого решения в применении машинного обучения для имитации поведения приложений пользователя с целью повышения качества тестирования RTL-модели микропроцессора направленными псевдослучайными методами генерации тестов. В рамках данной работы планируется показать применимость инструментов машинного обучения для функциональной верификации RTL-модели микропроцессора на системном уровне. Основным результатом проведенного исследования является возможность имитировать поведение набора пользовательских приложений на уровне машинного кода, а также автоматизация процесса анализа труднодостижимых в рамках классического маршрута верификации ситуаций с целью повышения тестового покрытия.
В статье рассмотрены отечественные и зарубежные технологии аппаратной поддержки вычислений процессоров и анализаторов программного обеспечения как методов снижения уязвимостей памяти. Приведены основные архитектурные отличия таких технологий защиты как Эльбрус, CHERI и Arm MTE. Исследованы существующие статические и динамические программные анализаторы на предмет методологии работы и преимуществ по выявлению дефектов в программном коде.
Рассматриваются хеш-функции, основанные на замещении символов алфавита целыми неотрицательными числами. Основным параметром таких функций является отображение T, осуществляющее замещение; основное назначение функций - выполнение статического хеширования; главные преимущества -высокая скорость работы и простота их реализации. Предлагается алгоритм, выполняющий оптимизацию параметра T с целью уменьшения количества коллизий для заданного словаря. Приводятся примеры эффективных хеш-функций, основанных на замещении символов.
Описан пример синтеза многопроцессорной вычислительной структуры. В основе алгоритмов синтеза лежат сетевые модели и тензорная методология. Описаны основные этапы синтеза вычислительных структур, которые включают декомпозицию исходной модели, вычисление тензора преобразования, формирование программы синтеза новой структуры, а также синтез самой вычислительной структуры. Проанализированы результаты синтеза с точки зрения эффективности загрузки процессорных элементов.
Самосинхронные цифровые схемы имеют ряд преимуществ перед другими типами схем. Для обеспечения этих преимуществ необходимо специальное построение и устройств с памятью, и информационной части схем и индикаторной подсхемы. Одними из главных проблем синтеза самосинхронной схемы являются снижение затрат в транзисторах и улучшение быстродействия информационной части схемы и индикаторной подсхемы. Оба показателя прямо зависят от наличия в библиотеке для синтеза однокаскадных элементов с одним выходом и большим числом входов. Целью работы было найти регулярный способ определения таких элементов. Предлагается формализованный метод выбора библиотечных логических элементов для синтеза самосинхронных схем. Метод позволяет сформировать такой состав библиотеки, который будет давать оптимальные решения при синтезе самосинхронных схем с использованием критериев минимального числа транзисторов и максимального быстродействия.
В данной статье представлен метод трехуровневой логической минимизации. Основой для него послужил алгоритм двухуровневой минимизации Espresso. Ключевое различие состоит в том, что логическая функция представляется в виде суммы произведений литералов и XOR-группы. Такое представление позволяет адаптировать под себя алгоритмы Espresso и сделать их более эффективными. Масштабируемость метода гарантируется за счет сведения его реализации к алгоритмам Espresso, а также использования матричных операций, позволяющих проводить вычисления на графических ускорителях. На данный момент реализованы и протестированы трехуровневые аналоги expand и irredundant. Тестирование проводилось на схемах из набора LGSynth’91. Предметом оценки являлась эффективность алгоритма в сокращении входной логической функции, а также его быстродействие. Для сравнения использовалось программное средство Espresso в аналогичной конфигурации. Результаты экспериментов показывают, что при дальнейшем исследовании темы у трехуровневой оптимизации есть потенциал развития.
В работе предложен подход к построению схем функционального контроля, который заключается в автоматизированной генерации помехоустойчивого кода для каждой конкретной комбинационной схемы. Генерация помехоустойчивого кода основана на кластеризации информационных слов по критерию минимизации вероятности перехода внутри кластера. Под переходом понимается искажение выхода комбинационной схемы. Вероятность такого искажения оценивается путём моделирования схемы при инжектировании однократных ошибок. Такой подход позволяет строить коды, наилучшим образом адаптированные для каждой конкретной комбинационной схемы, достигая максимальных вероятностей исправления ошибок.