Блоки динамического предсказания переходов высокопроизводительных суперскалярных RISC микропроцессоров ответственного применения тема диссертации и автореферата по ВАК РФ 05.13.05, кандидат наук Барских Михаил Евгеньевич
- Специальность ВАК РФ05.13.05
- Количество страниц 206
Оглавление диссертации кандидат наук Барских Михаил Евгеньевич
Содержание
Введение
Актуальность темы
Объект исследования
Цель и задачи работы
Научная новизна исследования
Практическая ценность
Доклады и публикации
Структура и объем работы
Глава 1. Обзор и анализ алгоритмов динамического предсказания переходов
современных микропроцессоров
Алгоритмы статического предсказания переходов
Алгоритмы динамического предсказания переходов
Схема "bimodal"
Схемы с использованием регистра истории переходов
Схема "gSelect" (Index Selection)
Схема "ghare" (Index Sharing)
Схема с глобальной историей переменной длины
Комбинированная схема (Combining)
Мажоритарная (или ассиметричная) схема (skewed)
Согласованная схема (agree)
YAGS схема
Улучшенная YAGS схема
Другие попытки улучшить точность предсказаний
Branch Target Buffer: буфер целевых адресов переходов
Схемы динамического предсказания переходов, используемые в коммерческих процессорах
Содержание
INTEL
Pentium
PentiumPro, Pentium2, Pentium3
Pentium4
Core Duo, Core
Nehalem
Sandy Bridge, Ivy Bridge
Haswell
Atom
VIA
C7 и Nano
AMD
K8 и K10
Bulldozer
ALPHA
Alpha
Alpha
Alpha 21464 (EV8)
SUN
IBM
Серия Z
POWER
ARM
MIPS
Анализ текущего состояния
Проблемы, не освещаемые в статьях
Выводы и постановка задач диссертационной работы
Глава 2. Метод проектирования и валидации блока динамического
предсказания переходов
3
Содержание
Современные методы тестирования
Методы тестирования и оценки его качества
Universal Verification Methodology (UVM)
Существующий маршрут разработки и тестирования
Тестирование на этапе разработки RTL-модели
Блочное тестирование
Модульное тестирование
Тестирование на этапе сборки проекта
Оценка производительности
Наборы тестов производительности
Микротесты
Результаты тестов буфера инструкций для процессора 1890ВМ6Я... 79 Методика функционального тестирования на примере блока динамического
предсказания переходов
Модификация методики блочного тестирования
Методика валидации блока динамического предсказания переходов
Определение параметров для валидации
Критерии выбора
Выбранные параметры для блока динамического предсказания
переходов
Выводы
Глава 3. Проектирование блока динамического предсказания переходов
Требования к блоку динамического предсказания переходов
Конвейер процессора и буфер инструкций
Операции, выполняемые блоком динамического предсказания переходов
в процессоре
Поддержка отладки
Структура блока динамического предсказания переходов
Общая схема блока
4
Содержание
Блок предсказания переходов
Временная диаграмма работы блока предсказания переходов
Чтение и запись данных в память
Декодирование и обновление истории
Блок расчета целевых адресов
Организация адресного сумматора
Стек возвратов
Общая схема блока расчета целевых адресов
Блок очереди предсказанных переходов
Запись очереди истории предсказания
Организация коротких циклов
Управляющие и контрольные регистры
Схема конфигурирования блока динамического предсказания
Разработанная схема блока динамического предсказания переходов
Выводы
Глава 4. Тестирование и валидация блока динамического предсказания
ветвления
Тестирование
Функциональное тестирование
Анализ тестового покрытия
Тестирование для целей ответственного применения
Валидация
Выбор тестов и их длительности
Анализ полученных результатов
Точность динамического предсказания
Точность разных видов динамического предсказания
Влияние размера памяти
Анализ алгоритма обновления двухбитного счетчика истории
Содержание
Результаты тестов буфера инструкций для процессоров 1890ВМ8Я и
1890ВМ9Я с использованием микротестов
Выводы
Глава 5. Оптимизация блока динамического предсказания ветвления
Оптимизация блока динамического предсказания ветвления
Анализ функций адресации памятей истории
Анализ интерференции
Оценка качества блока динамического предсказания на тестах SPEC
Анализ возможности снижения аппаратных затрат
Использование упрощенной схемы
Уменьшение глубины очереди предсказания
Выводы
Заключение
Литература
Приложение А. Копии полученных патентов РФ на изобретение
Приложение Б. Акты о внедрении
Введение
Рекомендованный список диссертаций по специальности «Элементы и устройства вычислительной техники и систем управления», 05.13.05 шифр ВАК
Исследование и разработка конвейера команд процессора с архитектурой явного использования параллелизма команд2001 год, кандидат технических наук Столярский, Евгений Зиновьевич
Высокопроизводительные сопроцессоры для параллельной обработки данных в формате с плавающей точкой в системах цифровой обработки сигналов2013 год, кандидат технических наук Пантелеев, Алексей Юрьевич
Методы и алгоритмы оптимизации переходов в компиляторе базового уровня системы двоичной трансляции для архитектуры "Эльбрус"2013 год, кандидат наук Рыбаков, Алексей Анатольевич
Разработка и анализ объектно-атрибутной архитектуры распределенной вычислительной системы с управлением потоком данных2012 год, кандидат технических наук Салибекян, Сергей Михайлович
Метод автоматизации имитационного тестирования микропроцессоров с конвейерной архитектурой на основе формальных спецификаций2008 год, кандидат физико-математических наук Камкин, Александр Сергеевич
Введение диссертации (часть автореферата) на тему «Блоки динамического предсказания переходов высокопроизводительных суперскалярных RISC микропроцессоров ответственного применения»
Введение Актуальность темы
Основным фактором повышения производительности вычислительных систем является создание высокопроизводительного микропроцессора. Производительность микропроцессора определяется рядом факторов: частотой его функционирования, архитектурой (возможностью одновременного выполнения нескольких инструкций, обрабатывать несколько потоков данных, наличием нескольких ядер, архитектурными особенностями и пр.), характеристиками кэш-памятей различного уровня и системой команд. Основным фактором, сдерживающим увеличение частоты современных микропроцессоров, является значительный рост потребляемой мощности микропроцессора, приводящий к невозможности эффективного отвода тепла. Именно поэтому основным фактором повышения производительности микропроцессоров является развитие именно архитектурных решений. Одним из наиболее значимых и актуальных направлений в развитии архитектур RISC микропроцессоров является развитие методов предсказания условных переходов. Этому направлению и посвящена диссертационная работа.
Команды ветвления в программе создают зависимости по управлению,
определяя порядок выполнения инструкций в конвейере. Поэтому новые
инструкции не могут запрашиваться до тех пор, пока не будет вычислено
условие перехода и, соответственно, не будет определен адрес следующей
инструкции для её выборки и выполнения. Решением данной проблемы
является использование предсказания переходов, которое позволяет
осуществлять предварительную выборку инструкций и данных из памяти, и
начать выполнять инструкции, находящиеся после условного перехода, до
того, как он будет выполнен и проверено его условие. Использование
предсказания переходов де-факто является неотъемлемой частью всех
7
Введение
современных микропроцессоров, так как позволяет оптимально использовать вычислительные ресурсы процессора.
Самой простой реализацией предсказания переходов является статическое предсказание. Недостатком метода является зависимость точности предсказания от типа исполняемой программы. Например, для программ с большим количеством циклов статическое предсказание может показать точность выше 90%, а в случае наличии в программе анализа данных точность метода может быть порядка 50%, т.е. не выше случайного угадывания. Поэтому практически во всех современных процессорах используется динамическое предсказание ветвлений, которое основывается на анализе накопленной истории выполнения команд ветвления.
Методам предсказания ветвления было посвящено большое количество теоретических и практических исследований как в различных университетах, так и в ведущих компаниях-разработчиках микропроцессоров. Анализ литературы показал, что в проводимых университетских и академических исследованиях исследуются только показатели точности предлагаемой схемы без учета практической реализуемости предлагаемых решений и их реального влияния на производительность выделенного круга решаемых задач. Это приводит к неэффективности таких методов для ряда областей, в первую очередь для систем управления и контроля важнейшими изделиями промышленности. Другим недостатком независимых исследований является ограниченность моделирования, на основании которого делается вывод о потенциале использования схем предсказания. В публикациях же ведущих мировых производителей микропроцессоров отсутствует детальная информация о применяемых алгоритмах предсказания, указывается только общая информация, нередко маркетингового характера, что объясняется соображениями конкуренции.
ФГУ ФНЦ НИИСИ РАН в течение многих лет разрабатывает и выпускает микропроцессоры для создания систем управления и контроля
8
Введение
промышленных объектов, авиационных и космических систем и пр. Проведенные исследования показали, что для эффективного решения таких задач необходима ориентация архитектур микропроцессоров на эти задачи, то есть учет особенностей прикладных программ и условий эксплуатации микропроцессоров. В этой связи возрастает актуальность проводимых исследований по развитию методов оптимизации архитектур высокопроизводительных суперскалярных RISC микропроцессоров встроенного применения, включая методы предсказания ветвления.
Объект исследования
Объектом исследования является RTL-модель проектируемого блока динамического предсказания переходов RISC-микропроцессора, процесс его функциональной верификации и оптимизации.
Цель и задачи работы
Целью диссертационной работы является развитие методов проектирования сложнофункциональных блоков и их применение при разработке блока динамического предсказания условных переходов, оптимизированного для использования в составе микропроцессоров с архитектурой КОМДИВ разработки ФГУ ФНЦ НИИСИ РАН.
Научная новизна исследования
Научной новизной обладают следующие результаты исследования:
1. Метод тестирования RTL-моделей блоков с использованием случайной генерации тестовых воздействий, управляемый функциональным покрытием (metric driven testing);
2. Методика валидации разрабатываемого блока предсказания ветвления и доказательства корректности его работы;
Введение
3. Методика оптимизации блока предсказания ветвления для использования в составе процессора с заданной микроархитектурой.
Практическая ценность
Спроектированный с использованием разработанных методов и методик блок динамического предсказания ветвления использовался в составе 64-разрядных RISC микропроцессорах 1890ВМ6Я, 1890ВМ8Я и 1890ВМ9Я разработки ФГУ ФНЦ НИИСИ РАН, а также при разработке микропроцессора следующего поколения при выполнении ОКР «Базис-Б2». Благодаря комплексному применению созданных средств тестирования, валидации и оптимизации блок может быть использован в других микропроцессорах для оптимизации по числу используемых транзисторов, потреблению питания и производительности, или, наоборот, для максимального повышения производительности.
Впервые в России в маршруте разработки были использованы САПР формальной верификации JasperGold® Formal Verification: Formal Property Verification и Coverage Unreachability фирмы Cadence. На этапе валидации использовался аппаратный ускоритель Cadence Palladium® XP, опыт адаптации проекта и управляющие скрипты для которого могут быть повторно использованы в следующих проектах.
Результаты работы могут использоваться в ФГУ ФНЦ НИИ Системных Исследований РАН, а также в других научных и промышленных организациях, занимающихся разработкой высокопроизводительных суперскалярных RISC микропроцессоров ответственного применения.
Доклады и публикации
Основные положения диссертации доложены на следующих конференциях и семинарах:
Введение
1. V, VI, VII, IX, XIII и XIV научно-технические конференции "Электроника, Микро- и Наноэлектроника" (г. Нижний Новгород, 2003, 2004, 2005, 2007, 2011, 2012 гг.);
2. Проблемы разработки перспективных микро- и наноэлектронных систем (МЭС-2005, МЭС-2014, МЭС-2016, г. Зеленоград);
3. Семинарах НИИ системных исследований РАН (г. Москва, 2012, 2014, 2016 гг.);
4. 2-й научной конференции «Интегральные схемы и микроэлектронные модули» («Микроэлектроника-2016», Республика Крым, г. Алушта, 2016г.).
По теме диссертации автором опубликованы 15 работ, в том числе 6 в рецензируемых изданиях, входящих в перечень рекомендованных ВАК, полно отражающие основные результаты диссертации.
Опыт использования аппаратного ускорителя Palladium® XP и САПР формальной верификации JasperGold® Formal Verification были автором доложены на международных конференциях Cadence CDNLive EMEA (г. Мюнхен, Германия, 2014 и 2016 гг.).
По теме диссертации автором зарегистрирован патент «Устройство динамического предсказания команд условного перехода микропроцессора», Рег. № 2503996, 2012, РФ.
Структура и объем работы
Работа состоит из введения, пяти глав, заключения, списка литературы и двух приложений. Основной текст диссертации (без приложений и списка литературы) занимает 177 страниц, содержит 84 рисунка, 9 таблиц, список литературы состоит из 104 наименований.
Глава 1
Глава 1. Обзор и анализ алгоритмов динамического предсказания переходов современных микропроцессоров
Команды ветвления создают зависимости по управлению, определяя порядок выполнения инструкций. Это приводит к простоям конвейера: новые инструкции не запрашиваются до тех пор, пока не будет вычислено условие перехода и, соответственно, не будет определен адрес следующей инструкции для выборки и выполнения (следующей за командой перехода или по целевому адресу перехода). В архитектуре MIPS [1] был введен «слот задержки»: инструкция, следующая за командой ветвления, которая обязательно выполняется после инструкции перехода. Это решение работало в случае 5-ти стадийного конвейера с одним исполняющим конвейером, когда обязательное выполнение инструкции из слота задержки скрывало 1 такт, требуемый для расчета условия. Однако в случае суперскалярного конвейера такое решение не только перестало приносить пользу, но добавило проблем: слот задержки надо было отслеживать при любых зависимостях по данным, но сам слот перестал скрывать задержку в вычислении условия. Проблема усугубляется при более глубоком (6 стадий и больше) конвейере.
Общее решение заключается в предсказании (прогнозировании) выполнения инструкций перехода, основываясь или на данных об этой инструкции или на истории выполнения предыдущих инструкций ветвления. Одна из первых статей, посвященных изучению поведения инструкций ветвления и предсказанию переходов [2], была опубликована еще в 1981 году. Она описывала 7 стратегий предсказания переходов с анализом их точности на отобранных для этого программах на Фортране, но об аппаратной реализации в ней не говорилось.
Глава 1
Работы, направленные именно на анализ аппаратных реализаций блоков предсказания переходов, начали появляться только в начале 90-х годов. Эти работы, ставшие сейчас классическими, ввели понятия «статического» и «динамического» предсказания переходов, названия алгоритмов предсказания и анализ их точности.
В данной работе в дальнейшем при описании будут использоваться термины «инструкций ветвления выполняется», «инструкция, предсказывается выполняющейся». Под этим понимается, что результат сравнения условия инструкции ветвления «истинный» (или предсказан таковым) и дальше программы выполняется с целевого адреса перехода. Наоборот, «невыполненная инструкция ветвления» или «инструкция, предсказывается не выполняющейся» означает, что условие перехода не выполнено (предсказано не выполняющимся) и выполнение программы будет продолжено с инструкции, следующей далее по коду за этой командой ветвления. Поскольку, команды ветвления сами не вызывают исключений (не путать с возникновение исключительных ситуаций при запросе инструкций после исполнения инструкций переходов), то данное употребление слов «выполняется» и «не выполняется» не должно вносить путаницы.
Алгоритмы статического предсказания переходов
Идея статических алгоритмов проста и интуитивно понятна: инструкция условного перехода считается (предсказывается) выполняемой в зависимости или от ее типа, знака ее смещения или все инструкции ветвления всегда считаются выполняемыми (или наоборот, всегда не выполняемыми). Эти алгоритмы практически ничего не стоят с точки зрения аппаратной реализации (самый «сложный» из них анализ знака смещения) и не изменяют своего поведения в процессе работы программы. Т.е. они заложены в логику работы процессора при его разработке.
Глава 1
Реально используется два из возможных алгоритмов:
1. Все инструкции переходов предсказываются выполняющимися;
2. Все инструкции переходов «назад» считаются циклами и предсказываются выполняющимися, «вперед» считаются условиями ветвления и предсказываются не выполняющимися.
Точность таких алгоритмов сильно зависит от исполняемой программы. Например, для программ с большим количеством циклов даже такие схемы могут показать точность выше 90%, а в случае программы анализа данных (хороший пример - сортировка) их точность будет порядка 50%, т.е. не выше случайного угадывания.
Но, тем не менее, учитывая минимальные аппаратные затраты, эти схемы могут быть полезны как для первой реализации блока предсказаний, так и для реализации в составе несложных процессорных ядер. С ними можно отладить весть механизм выбора инструкций по предсказанной ветви программы, обработку исключительных ситуаций и отмену неправильных предсказаний.
Алгоритмы динамического предсказания переходов
Алгоритмы динамического предсказания переходов используют
информацию о выполнении предыдущих инструкций ветвления (выполнилось
условие перехода или не выполнилось) для предсказания направления
перехода следующих инструкций. По мере выполнения программы история
накапливается, улучшая точность предсказаний. В работе [3] были
предложены несколько схем накопления истории переходов: однобитный
флаг и двухбитные счетчики с различными вариантами обновления истории.
С использованием этих счетчиков в дальнейшем [4,5] были описаны
многоуровневые схемы предсказаний с лучшей точностью, но большими
аппаратными затратами. Отчет [6] был первой работой по систематизации и
14
анализу точности предсказаний многоуровневых схем динамических предсказаний, а сама работа стала классической. Представленные в этой работе схемы двухуровневых предсказаний затем использовались для реализации в коммерческих процессорах. Однако, термин «многоуровневые схемы» в современных работах понимается как использование нескольких уровней таблиц, выходы первых из которых используются как адреса следующих, когда только в последней таблице содержится собственно двухбитный код, отвечающий собственно за предсказание направления перехода.
Схема "bimodal"
Идея заключается в сохранении истории выполнения предыдущих команд перехода, находящихся по определенному адресу, на основании которой предсказывается выполнение следующей, находящейся по этому адресу, инструкции. Для этого используется таблица истории переходов (Branch History Table, BHT), в которой хранятся двухбитные счетчики предсказаний, адресуемая младшими битами программного счетчика.
Принципиальная схема с анализом точности ее работы в зависимости от размера таблицы показаны на рис. 1 (из [6]). Точность работы схемы тем выше, чем больше размер используемой памяти, поскольку выполнение инструкций переходов, младшие биты адресов которых совпадают, будут взаимно «портить» историю друг друга. Данная проблема называется «интерференцией» и в той или иной степени присуща всем схемам предсказания переходов. Другая проблема заключается с принципиальной невозможности предсказать последнюю итерацию цикла, поскольку инструкция перехода всегда будет предсказываться выполняющейся из-за накопленной ранее истории. Но такая схема, в отличие от схем с глобальной историей переходов (см. далее), хорошо предсказывает инструкции ветвления, выполнение которых постоянно и не зависит от предыдущего кода программы.
^ 98 4-
о 97 -
•Д--А-Д--A-А-А
А
a bimodal
1
88
32 64 128 256 512 1К 2К 4К 8К 16К 32К 64К
Predictor Size (bytes)
Предсказание перехода
а) Bimodal Predictor Structure
б) Bimodal Predictor Performance
Рис. 1 а) Схема предсказания перехода "bimodal"; б) анализ ее точности
Схемы с использованием регистра истории переходов
Что бы улучшить предсказания переходов для инструкций, чье поведение зависит от предыдущего выполнения программы, и уменьшить взаимное влияние разных инструкций были предложены схемы, использующие для адресации таблицы двухбитных счетчиков предсказаний сдвиговый регистр, содержащий историю выполнения n последних инструкций ветвления (Branch History Shift Register, BHSR). Код "1" означает, что инструкция ветвления выполнялась (условие перехода было выполнено), а код "0" - что не выполнялась (условие перехода выполнено не было). Глубина истории соответствует разрядности регистра для ее хранения. После выполнения очередной инструкции ветвления значение этого регистра сдвигается влево; старший бит, соответствующий самой «старой» инструкции, теряется, а в младший бит записывается результат выполнения текущей инструкции.
Кроме варианта с сохранением общей истории выполнения всех инструкций ветвления возможен вариант, когда история накапливается для
каждого значения программного счетчика независимо. В работе [5] описаны все 3 возможных варианта организации подобных схем:
1. С использованием одного сдвигового регистра для хранения истории всех ранее выполненных команд условных переходов (см. рис. 2-а). Такая схема называется Global History Register, Global Pattern History Table (GAg).
2. Битовая история выполнения инструкций переходов храниться отдельно для каждого адреса, в свою очередь, адресуя одну общую таблицу с двухбитными счетчиками предсказаний (см. рис. 2-б). Такая схема называется Per-address Branch History Table, Global Pattern History Table (PAg).
3. Битовая история выполнения инструкций переходов храниться отдельно для каждого адреса, и адресует независимые таблицы двухбитных счетчиков предсказаний. Число таких таблиц 2n, где n -количество бит адреса, используемых для адресации таблицы истории переходов (см. рис. 2-в). Такая схема называется Per-address Branch History Table, Per-address Pattern History (PAp).
Рис. 2 Варианты схем с использованием сдвигового регистра истории
переходов
Анализ и сравнение описанных выше схем GAg и PAp приводится в работе [6]. Точность схем, называемых в этой работе соответственно "global" и "local", в зависимости от размера используемых таблиц показана на рис. 3. Несмотря на то, что схемы GAg и PAp показывают лучший результат при одинаковых объемах используемой памяти (по сравнению с bimodal-схемой), они по-прежнему не могут правильно предсказывать окончание цикла, если количество его итераций превышает длину регистра BHSR. Что касается схемы PAp, то она слишком требовательна к аппаратным ресурсам даже по современным меркам, что бы ее можно было рассматривать как кандидата на реализацию. Размер памяти, необходимой для реализации схемы, вычисляется по формуле:
5 = 2х 2n+m + nx2m, где n - Глубина хранимой глобальной истории переходов (размер BHSR), m - Количество бит PC, используемой для адресации таблицы BHSR.
es- 98
о 97
Cö
88 4-1-1-1-1-1-1-1-1-1-1-U
32 64 128 256 512 1K 2K 4K 8K 16K 32K 64K
Predictor Size (bytes)
a) Global History Predictor Performance
98
Predictor Size (bytes)
б) Local History Predictor Performance
Рис. 3 Анализ точности работы схем а) "global", б) "local"
И если взять для примера размер таблицы счетчиков в 8Кб, то при использовании двухбитного счетчика размер регистра BHSR должен быть 12 бит. Количество бит программного счетчика (PC), используемых для адресации таблицы истории, возьмем равным 8. В результате, необходимый для реализации размер памяти, составляет чуть больше 2Мб. Даже уменьшая разрядность регистров BHSR и количество используемых бит PC, объем
требуемой памяти все равно остается значительным (и, как минимум, сравнимым с размеров кэш-памятей).
Пытаясь исправить этот недостаток схем PAp, Ravi Nair в работе [7] предложил использовать регистр глобальной истории переходов для выбора таблиц предсказаний, а адресовать их программным счетчиком (см. рис. 4). Это позволяет уменьшить объем требуемой для реализации памяти, но достигается это за счет уменьшения хранимой длины глобальной истории переходов (регистра BHSR), что негативно скажется на точности предсказания переходов. Так, в указанной работе анализ точности работы схемы показан для BHSR размером всего 8 бит, для которого требуется, соответственно, 256 таблиц истории. А всего такая схема потребует 512КБ памяти.
Branch Address
2-bit Predictor Tables
I • j
Iz.
Prnn"h fc I I ; II I Ifc outcom e LLLLLU
Pattern History Register
Рис. 4. Логическая организация схемы с корреляцией шаблонов истории
Схема "gSelect" (Index Selection)
Что бы объединить достоинства схемы "bimodal" при предсказании отдельных инструкций переходов и схемы "local" (PAg) при предсказании последовательности команд ветвления, в работе [8] предложена идея совместного использования младших бит PC и бит глобальной истории BHSR. Схема и анализ ее точности в зависимости от размера таблицы показаны соответственно на рис. 5-а и рис. 5-б. Действительно, точно работы этой схемы
оказывается даже выше чем "local". Однако использование небольшого числа бит PC будет плохо сказываться на точности работы схемы с большим количеством инструкций переходов или при «наложении» младших адресов этих инструкций.
Предсказание перехода
а) gSelect Predictor Structure б) gSelect Predictor Performance
Рис. 5 а) Схема предсказания перехода "gSelect"; б) анализ ее точности
Схема "ghare" (Index Sharing)
Другим возможным, и даже более естественным, способом комбинирования адресов инструкций ветвления и глобальной истории является объединение их по функции XOR (см. рис. 6-а). Точность такой схемы немного лучше, чем у схемы "gSelect" (см. рис. 6-б), но при одинаковых аппаратных затратах такая схема будет более устойчива как к перекрытию адресов инструкций, так и повторению истории переходов за счет большей глубины регистра BHSR.
BHSR
PC
XOR<-
Предсказание перехода
а) gSare Predictor Structure
б) gShare Predictor Performance
Рис. 6 а) Схема предсказания перехода '^ЗИаге"; б) анализ ее точности
Схема с глобальной историей переменной длины
При изучении поведения инструкций ветвления в работе [9] был проведен анализ частоты выполнения команд ветвления. В результате, было замечено, что инструкции ветвления делятся на две примерно равные группы: инструкции ветвления, которые в основном переходят по одному направлению, и другая группа команд, направление перехода которых бывает разным. Критерием отнесения к первой группе было, что в более 90% случаях инструкций выполнялась одинаково. При этом неважно направление перехода или то, что условие не выполнялось. Главное, что поведение инструкции было одинаковым в более чем 90% случаев. Остальные команды относились ко второй группе. В результате авторами была предложена схема, которая использует разную длину глобальной истории переходов для предсказания поведения инструкций из разных классов (см. рис. 7).
Глава 1
Такая схема показывает отличный результат, превосходя по точности предсказаний схему '^ЗИаге", но, к сожалению, при анализе этой схемы использовалось предварительное разделение инструкций перехода на два описанных класса, основываясь на трассе выполнения программы. Поэтому реализация данной схемы затруднительна, не смотря на хороший результат ее работы.
PC
Branch Class
k
))
Л )L л W
k ^ г-А
г
У BHSR <1
Предсказание перехода
Рис. 7 Схема предсказания ОЛ§ переменной длинной регистра истории
Комбинированная схема (СошЫшп§)
Описанные выше схемы имеют каждая свои достоинства и следующим
вариантом построения алгоритмов предсказания переходов является попытка
объединить их в одной схеме. Такая комбинированная схема содержит два
блока предсказания, которые формируют каждый свой результат и
дополнительную таблицу, которая обеспечивает выбор предсказания для
дальнейшего использования (см. рис. 8-а). Таблица счетчиков истории для
выбора предсказания (таблица выбора), так же, как и основные таблицы
предсказаний, содержит двухбитные счетчики. Однако алгоритм их
обновления отличается: счетчик таблицы выбора не изменяется, если обе
23
k
k
n
схемы предсказания выдали одинаковый результат (неважно, правильный или нет) или изменяется в сторону схемы, выдавшей правильное предсказание. Счетчики таблиц предсказания меняются всегда. В качестве двух возможных комбинаций схем предсказания P1 и P2 в работе [6] были проанализированы схемы "bimodarV'gShare" и "local'7"gShare" Выбор именно этих комбинаций объясняется попыткой получить преимущества схемы "gShare" для последовательностей инструкций переходов и получить правильные предсказания для независимых от предыдущего кода команд ветвления, как в схеме "bimodal".
Предсказание перехода
а) Combining Predictor Structure
32 64 128 256 512 1К 2К 4К 8К 16К 32К 64К
Predictor Size (bytes) а) Combining Predictor Performance
Глава 1
Рис. 8 а) Комбинированная схема предсказания перехода; б) анализ ее
точности
Отдельной проблемой при этом остается адресация таблицы выбора, т.к. она будет наследовать все преимущества и недостатки адресации схем предсказаний. Если ее адресовать программным счетчиком, то схема выбора будет зависеть от расположения инструкций переходов в программе; если адресовать глобальной историей переходов, то будут возникать коллизии при выполнении циклов. Тем не менее, поскольку функция обновления истории в таблице выбора отличается от функции обновления истории переходов в таблицах предсказания, эти две таблицы не будут коррелировать друг с другом даже при одинаковой адресации этих таблиц (точность работы схемы показана на Ошибка! Источник ссылки не найден.-б). Анализ различных вариантов дресации таблицы выбора был представлен в работе [10], описание использования данной схемы представлено в работе [11].
Мажоритарная (или ассиметричная) схема (skewed)
Кроме комбинированной схемы, где есть схема выбора, возможен вариант мажоритарной (ассиметричной) схемы с нечетным количеством блоков предсказания. Количество блоков обычно равно трем или пяти, а результат выбирается по мажоритарному принципу: как предсказали большинство блоков. Главная идея такой схемы в том, чтобы отдельные блоки имели разные хэш-функции для адресации своих таблиц предсказаний. В таком случае они будут работать независимо, и давать репрезентативный результат конечного предсказания.
Пример схемы с функциями адресации таблиц предсказаний независимых блоков и анализом ее точности приведен в работе [12] (схема приведена на рис. 9).
Похожие диссертационные работы по специальности «Элементы и устройства вычислительной техники и систем управления», 05.13.05 шифр ВАК
Метод тестирования производительности и корректности микропроцессоров при помощи нацеленных тестовых программ2013 год, кандидат наук Зубковская, Наталья Владимировна
Исследование и оптимизация применения трасс исполнения приложения для статической бинарной трансляции под RISC архитектуры2022 год, кандидат наук Лисицын Сергей Алексеевич
Микро-ЭВМ с преобразованием информации отображением множеств на основе структур данных, размещаемых в едином запоминающем устройстве1984 год, доктор технических наук Мелехин, Виктор Федорович
Метод моделирования косвенной адресации в рамках динамической символьной интерпретации2023 год, кандидат наук Куц Даниил Олегович
Поиск ошибок выхода за границы буфера в бинарном коде программ2018 год, кандидат наук Каушан Вадим Владимирович
Список литературы диссертационного исследования кандидат наук Барских Михаил Евгеньевич, 2018 год
Литература
Литература
1. MIPS Technologies, Inc. MIPS64™ Architecture For Programmers (vol. I-III). San Jose. 2003. 908 pp.
2. Jim E. Smith. A Study of Branch Prediction Strategies. International Symposium on Computer Architecture // A Study of Branch Prediction Strategie. 1981. pp. 135-148.
3. J.Lee and A.J.Smith. Branch Prediction Strategies and Branch Target Buffer Design // Journal Computer, Т. 17, № 1, January 1984. С. 6-22.
4. Tse-Yu Yeh and Yale N. Patt. Two-Level Adaptive Training Branch Prediction, in 24th annual international symposium on Microarchitecture NY, USA. 1991. pp. 51-61.
5. Tse-Yu Yeh and Yale N. Patt. Alternative Implementations of Two-Level Adaptive Branch Prediction, in 19th Annual International Symposium on Computer Architecture NY, USA. 1992. Vol. 20. pp. 124-135.
6. S. McFarling. Combining Branch Predictors // Technical Report TN-36, 1993.
7. Ravi Nair. Dynamic Path-Based Branch Correlation. in International Symposium on Microarchitecture NY, USA. 1995. С. 15-23.
8. S. T. Pan, K. So, and J. T. Rahmeh. Improving the accuracy of dynamic branch prediction using branch correlation // Proceedings of ASPLOS V, October 1992. С. 76-84.
9. Chang, P., Hao, E., Yeh, T., and Patt, Y. Branch Classification: a New Mechanism for Improving Branch Predictor Performance // MICRO, 1994.
10. P-Y Chang, E Hao, and Y. Patt. Alternative Implementations of Hybrid Branch Predictors // 28th ACM/IEEE International Symposium on Microarchitecture, 1995. pp. 252-257.
11. M. Evers, Po-Yung Chang, and Y.N. Patt. Using Hybrid Branch Predictors to Improve Branch Prediction Accuracy in the Presence of Context Switches // 23th Annual International Symposium on Computer Architecture, 1996. pp. 311.
12. P. Michaud, A. Seznec, and R. Uhlig. Trading Conflict and Capacity Aliasing in Conditional Branch Predictors // 24th Annual International Symposium on Computer Architecture, 1997. pp. 0-0.
13. E. Sprangle, R. S. Chappell, M. Alsup, and Y. N. Patt. The Agree Predictor A Mechanism for Reducing Negative Branch History Interference. // ISCA-24. 1997.
14. A. N. Eden and T. N. Mudge. The YAGS Branch Prediction Scheme. // MICRO. 1998.
15. H. Vandierendonck. Improving the YAGS Branch Predictor, ELIS Technical Report, August 2005 // ELIS Technical Report. 2005.
16. T. Juan, S. Sanjeevan and J.J. Navarro. Dynamic History-Length Fitting: A Third Level of Adaptivity for Branch Prediction. // ISCA. 1998.
17. Z.Lu, J.Lach, M.R.Stan, K. Skadron. Alloyed Branch History Combining Global and Local Branch History for Robust Performance 2003.
18. K.Kise, T.Katagiri, H.Honda, and T.Yuba. The Bimode++ Branch Predictor // IWIA'05. 2005.
19. P-Y Chang, M. Evers, and Y Patt. Improving Branch Prediction Accuracy by Reducing Pattern History Table Interference. 1996.
20. J. Stokes. The Pentium 4 and the G4e: an Architectural Comparison: Part I // arstechnica.com. 2001. URL: http://arstechnica.com/cpu/01q2/p4andg4e/ p4andg4e-1.html (дата обращения: 14.08.2015).
21. G. Hinton, D. Sager и др. The Microarchitecture of the Pentium4 Processor // Intel Technology Journal, No. 1, Dec 2001. pp. 1-13.
22. S. Gochman, R. Ronen и др. The Intel Pentium M Processor: Microarchitecture and Performance // Intel Technology Journal, Vol. 7, No. 2, май 2003. pp. 21-36.
23. Intel Corp SHPYTY, A method and apparatus for branch prediction using a second level branch prediction table, W02000014628 A1, Mar 16, 2000.
24. G. Glenn Henry. The VIA Isaiah Architecture // www.via.com.tw. 2008. URL: http://www.via.com.tw/en/downloads/whitepapers/processors/ WP080124Isaiah-architecture-brief.pdf (дата обращения: 02.09.2015).
25. Hans de Vries. Understanding the detailed Architecture of AMD's 64 bit Core // www.chip-architect.com. 2003. URL: http://www.chip-architect.com/news/ 2003_09_21_Detailed_Architecture_of_AMDs_64bit_Core.html (дата обращения: 20.08.2015).
26. AMD. Software Optimization Guide for AMD Family 15h Processors // www.amd.com. 2014. URL: http://support.amd.com/TechDocs/ 47414_15h_sw_opt_guide.pdf (дата обращения: 26.08.2015).
27. Compaq. Alpha 21164 Microprocessor Hardware Reference Manual. 1998.
28. R. E. Kessler. The Alpha 21264 microprocessor // IEEE Micro, Vol. 19, No. 2, 03-04 1999. pp. 24-36.
29. Compaq. Alpha 21264 Microprocessor Hardware Reference Manual, 1999.
30. A.Seznec, S.Felix, V.Krishnan, Y.Sazeides. Design Tradeoffs for the Alpha EV8 Conditional Branch Predictor // ?, ?
31. A. Seznec and P. Michaud. De-aliased Hybrid Branch Predictors, INRIA, №3618, 1999.
32. SUN Microsystems. UltraSPARC User's Manual. San Antonio: SUN Microsystems, 1997.
33. Sun Microelectronics. UltraSPARC-I: First Generation SPARC v9 64-Bit Microprocessor With VIS. 1997.
34. Sun Microsystems. Second Generation SPARC v9 64-Bit Microprocessor With VIS. 1997.
35. Sun Microsystems. UltraSPARC III Cu User's Manual. 2002.
36. Peter Song. UltraSparc-3 Aims at MP Servers // Microprocessor Report, Oct 1997. pp. 1-6.
37. Kevin Krewell. Fujitsu's Sparc64 V Is Real Deal // Microprocessor Report, No. 16, Oct 2002. pp. 1-4.
38. Fujitsu Limited. SPARC64 V Processor for UNIX Server. 2004.
39. Ian Wienand. UltraSPARC T1 // http://www.cse.unsw.edu.au. 2006. URL: http://www.cse.unsw.edu.au/~cs9244/06/seminars/09-ianw.pdf (дата обращения: 12.09.2015).
40. Adam Wiggins. The UltraSPARC III from architecture to implementation, UNSW, CS9244, 2003.
41. // http://www.realworldtech.com: [сайт]. [2006]. URL: http:// www.realworldtech.com/niagara2/2/ (дата обращения: 12.09.2015).
42. Charles Webb. IBM z6 - The Next-Generation Mainframe Microprocessor, 2007.
43. C.-L. K. Shum, F. Busaba, S. Dao-Trong и др. Design and microarchitecture of the IBM System z10 microprocessor // IBM J. RES. & DEV, Vol. 53, No. 1, 2009.
44. Bill White, Erik Bakker, Parwez Hamid и др. IBM zEnterprise 196 Technical Guide // ibm.com/redbooks. 2011. URL: http://www.redbooks.ibm.com/ redbooks/pdfs/sg247833.pdf (дата обращения: 01.10.2015).
45. David Kanter. IBM z196 Mainframe Architecture // http://www.realworldtech.com. 2012. URL: http://www.realworldtech.com/ z196-mainframe/ (дата обращения: 02.10.2015).
46. B. Sinharoy, R. N. Kalla, J. M. Tendier, R. J. Eickemeyer, J. B. Joyner. POWER5 system microarchitecture // IBM J. RES. & DE, Vol. 49, No. 4/5, 2005. pp. 505-521.
47. H. Q. Le, W. J. Starke, J. S. Fields и др. IBM POWER6 microarchitecture // IBM J. RES. & DEV, Vol. 51, No. 6, 2007. pp. 639-662.
48. B. Sinharoy, R. Kalla, W. J. Starke и др. IBM POWER7 multicore server processor // IBM J. RES. & DEV, Vol. 55, No. 3, 2011. pp. 1-29.
49. ARM. ARM11 76JZF-S™ Processor Technical Reference Manual (Revision: r2p0) // www.arm.com. 2009. URL: http://infocenter.arm.com/help/topic/ com.arm.doc.ddi0301h/DDI0301H_arm1176jzfs_r0p7_trm.pdf (дата обращения: 01.10.2015).
50. ARM. Cortex™-R5 Technical Reference Manual (Revision: r1p2) // www.arm.com. 2011. URL: http://infocenter.arm.com/help/topic/ com.arm.doc.ddi0460d/DDI0460D_cortex_r5_r1p2_trm.pdf (дата обращения: 01.10.2015).
51. ARM. ARM Cortex-A5 Technical Reference Manual (Revision: r0p1) // www.arm.com. 2010. URL: http://infocenter.arm.com/help/topic/ com.arm.doc.ddi0433b/DDI0433B_cortex_a5_r0p1_trm.pdf (дата обращения: 01.10.2015).
52. ARC. Cortex™-A7 MPCore™ Technical Reference Manual (Revision: r0p5) // www.arm.com. 2013. URL: http://infocenter.arm.com/help/topic/ com.arm.doc.ddi0464f/DDI0464F_cortex_a7_mpcore_r0p5_trm.pdf (дата обращения: 01.10.2015).
53. ARM. Cortex-A8 Technical Reference Manual (Revision r3p2) // www.ARM.com. 2010.
54. ARM. Cortex A9 Technical Reference Manual (revision: r4p1) // www.arm.com. 2012.
55. ARM. ARM Cortex-A53 MPCore Processor Technical Reference Manual (Revision: r0p4) // www.qrm.com. 2014. URL: http://infocenter.arm.com/ help/topic/com.arm.doc.ddi0502f/DDI0502F_cortex_a53_r0p4_fpu_trm.pdf (дата обращения: 01.10.2015).
56. ARM. ARM® Cortex®-A57 MPCore Processor Technical Reference Manual (Revision r1p3) // www.arm.com. 2014. URL: http://infocenter.arm.com/help/ topic/com.arm.doc.ddi0488g/DDI0488G_cortex_a57_mpcore_trm.pdf (дата обращения: 01.10.2015).
57. ARM. ARM® Cortex®-A72 MPCore Processor Technical Reference Manual (Revision r0p2) // www.arm.com. 2015. URL: http://infocenter.arm.com/help/ topic/com.arm.doc.100095_0002_03_en/
cortex_a72_mpcore_trm_100095_0002_03_en.pdf (дата обращения: 01.10.2015).
58. Kenneth C. Yeager. The MIPS R10000 Superscalar Microprocessor // IEEE Micro, Apr 1996. pp. 28-40.
59. Linley Gwennap. MIPS R12000 to Hit 300 MHz // Microprocessor report, Vol. 11, No. 13, Oct 1997. pp. 1-3.
60. Ian Williams. An Illustration of the Benefits of the MIPS® R12000® Microprocessor and OCTANETM System Architecture, Silicon Graphics Computer Systems, 1999.
61. MIPS Technologies, Inc. MIPS64™ 20Kc™ Processor Core User's Manual. 2002. 296 pp.
62. K.R. Kishore, V. Rajagopalan, G. Beloev, and R. Thekkath. Architectural Strengths of the MIPS32® 74K™ Core Family // www.imgtec.com. 2007. URL: http://cdn.imgtec.com/mips-documentation/login-required/ architectural_strengths_mips32_74k_core_family.pdf
63. MIPS Technologies Inc. MIPS32® 74K™ Processor Core Family Software User's Manual. 2007. 298 pp.
64. MIPS Technologies, Inc. MIPS32® 1004K™ CPU Family Software User's Manual. 2011. 451 pp.
65. MIPS Technologies, Inc. MIPS32® 1074K™ CPU Family Software User's Manual. 2011. 395 pp.
66. J. Scott Gardner. MIPS APTIV Cores Hit The Mark // Microprocessor Report, May 2012. pp. 1-6.
67. Tom R. Halfhill. P5600 Extends Mips Performance // Microprocessor Repotr, Oct 2013. pp. 1-5.
68. Imagination Technologies Ltd. MIPS32® P5600 Multiprocessing System Software User's Manual. 2015. 887 pp.
69. J.P. Shen and M.H. Lipasti. Modern Processor Design. Waveland Press, Inc., 2013. 642 pp.
70. Hennessy J.L., Patterson D.A. Computer Architecture - a Quantitative Approach. San Francisco: Morgan Kaufmann Publishers, 2003. 1072 pp.
71. // OpenVera: [сайт]. URL: http://www.open-vera.com/ (дата обращения: 25.10.2015).
72. // IEEE 1850-2005: Property Specification Language (PSL) : [сайт]. [2005]. URL: http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=4408637 (дата обращения: 25.10.2015).
73. // IEEE 1800-2012: SystemVerilog (SV): [сайт]. [2012]. URL: http:// standards.ieee.org/getieee/1800/download/1800-2012.pdf (дата обращения: 25.10.2015).
74. // 1647-2011 - IEEE Standard for the Functional Verification Language e: [сайт]. [2011]. URL: http://standards.ieee.org/findstds/standard/1647-2011.html (дата обращения: 25.10.2015).
75. // e Verification Language, IEEE1647: [сайт]. [2015]. URL: http:// www.cadence.com/products/fv/pages/e_overview.aspx (дата обращения: 25.10.2015).
76. // cadence.com: [сайт]. URL: http://www.cadence.com/products/sd/ enterprise_manager/pages/default.aspx (дата обращения: 25.10.2015).
77. // synopsys.com: [сайт]. URL: http://www.synopsys.com/Tools/Verification/ FunctionalVerification/Pages/verification-compiler-ds.aspx (дата обращения: 25.10.2015).
78. S. Iman. Step-by-step Functional Verification with SystemVerilog and OVM. Hansen Brown Publishing Company, 2008.
79. J. Bergeron, E. Cerny, A. Hunter, A. Nightingale. Verification Methodology Manual for SystemVerilog. Springer, 2005. 503 pp.
80. // VMM central: [сайт]. [2015]. URL: https://vmmcentral.org/ (дата обращения: 25.10.2015).
81. Universal Verification Methodology (UVM) 1.2 Class Reference. Accellera Systems Initiative , 2014. 938 pp.
82. // UVM world: [сайт]. [2015]. URL: www.uvmworld.org (дата обращения: 25.10.2015).
83. Аряшев С., Корниленко А., Подковыров А. Тестирование моделей микропроцессоров с использованием прототипов, реализованных на ПЛИС // Электронные компоненты, Vol. 12, 2006. pp. 57-61.
84. Грибков И.В., Захаров А.В., Кольцов П.П., Котович Н.В., Кравченко А.А., Куцаев А.С., Осипов А.С., Хисамбеев И.Ш., Коганов М.А. Развитие системы стохастического тестирования микропроцессоров INTEG // Программные продукты и системы. 2010. № 2. С. 14-23 // Программные продукты и системы, Vol. 2, 2010. pp. 14-23.
85. Аряшев С.И., Барских М.Е., Чибисов П.А. Оценка покрытия тестами машин состояний RTL-модели процессора // Электроника, микро- и наноэлектроника. Сборник научных трудов/под ред. В.Я.Стенина. Москва. 2007. pp. 153-156.
86. Аряшев С.И., Барских М.Е., Рогаткин Б.Ю. Современные методы функциональной верификации RTL-блоков // МЭС-2014. Зеленоград. 2014. Vol. IV.
87. Аряшев С. И., Николина Н. В., Чибисов П. А. Организация регрессионного процесса тестирования RTL-моделей микропроцессоров // Параллельные вычисления и задачи управления. Сборник трудов конференции PAC0'2012. Москва. 2012. pp. 231-237.
88. Иванников В.П., Камкин А.С., Кулямин В.В., Петренко А.П. Применение технологии UniTESK для функционального тестирования моделей аппаратного обеспечения // Препринт 8, Институт системного программирования РАН., 2005.
89. // Standart Performance Evaluation Corporation: [сайт]. [2015]. URL: http:// www.spec.org (дата обращения: 10.11.2015).
90. // Embedded Benchmark Consortium: [сайт]. [2015]. URL: http:// www.eembc.org (дата обращения: 10.11.2015).
91. // Berkeley Design Technology, Inc.: [сайт]. [2015]. URL: http:// www.bdti.com/ (дата обращения: 10.11.2015).
92. Kramer K., Stolze T., Oppelt A. Microprocessor Benchmarks - A Detailed Look at Techniques, Problems and Solutions // ICSENG '11 Proceedings of the 2011 21st International Conference on Systems Engineering., 2011. pp. 337-340.
93. // Linpack: [сайт]. [2015]. URL: http://www.top500.org/project/linpack/ (дата обращения: 10.11.2015).
94. Strohmaier E., Shan H. EuroPar2005 // Apex-Map: A Synthetic Scalable Benchmark Probe to Explore Data Access Performance on Highly Parallel Systems. 2005. pp. 114-123.
95. // NAS Parallel Benchmarks: [сайт]. [2015]. URL: http://www.nas.nasa.gov/ publications/npb.html (дата обращения: 10.11.2015).
96. Микротесты для оценки производительности RTL-моделей микропроцессоров // Программые продукты и системы, No. 3, Mar 2012. pp. 103-107.
97. Бобков С.Г. Методика проектирования микросхем для компьютеров серии «Багет» // Информационные технологии, No. 3, Mar 2008. pp. 2-7.
98. // synopsys.com: [сайт]. [2017]. URL: https://www.synopsys.com/ verification/static-and-formal-verification/vc-formal.html (дата обращения: 16.06.2017).
99. // cadence.com: [сайт]. [2017]. URL: https://www.cadence.com/content/ cadence-www/global/en_US/home/tools/system-design-and-verification/ formal-and-static-verification/j asper-gold-verification-platform. html (дата обращения: 16.06.2017).
100. S. Aryashev, M. Barskikh, O. Esula, M. Jacob, J. Mueller. SRISA Jasper Gold® Approach // cadence.com. 2016. URL: http://www.cadence.com/ pages/dh.aspx?vfile=/cdnlive/library/documents/2016/eu/ FV10_BarskikhM_SRISA.pdf&topic=CDNLive%20EU%202016%20Procee dings (дата обращения: 16.06.2017).
101. S. Aryashev, M. Barskikh, A. Arakelov, V. Wegner. SRISA Palladium XP Approach // cadence.com. 2014. URL: https://www.linkedin.com/redir/ redirect?url=http%3A%2F%2Fwww%2Ecadence%2Ecom%2Fcdnlive%2Fe u%2F2014%2Fpages%2Fproceedingssummary%2Easpx&urlhash=R_n6&tr k=prof-publication-title-link (дата обращения: 16.06.2017).
102. T.-Y. Yeh and Y. N. Patt. A Comparison of Dynamic Branch Predictors that Use Two Levels of Branch History // in 24th annual ACM/IEEE International Symposium on Microarchitecture. 1993. pp. 257-266.
103. J. Stark, M. Evers, and Y. N. Patt. Variable Length Path Branch Prediction // in 8th international conference on Architectural support for programming languages and operating systems. 1998. pp. 170-179.
104. J.P. Shen, M.H. Lipasti. Modern Processor Design: Fundamentals of Superscalar Processors // Waveland Press, Inc., USA, 2013. Waveland Press, Inc., 2013.
Приложение А
Приложение А. Копии полученных патентов РФ на изобретение
Автор(ы): Бетелин Владимир Борисович (Ш?), Бобков Сергей Геннадьевич (Я11), Аряшев Сергей Иванович (НУ), Барских Михаил Евгеньевич (Я11), Зубковский Павел Сергеевич (1111), Ивасюк Евгений Вячеславович (Н11)
Приложение Б
Приложение Б. Акты о внедрении
ФАНО РОССИИ
УТВЕРЖДАЮ
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ УЧРЕЖДЕНИЕ «ФЕДЕРАЛЬНЫЙ НАУЧНЫЙ ЦЕНТР НАУЧНО-ИССЛЕДОВАТЕЛЬСКИЙ ИНСТИТУТ СИСТЕМНЫХ ИССЛЕДОВАНИЙ РОССИЙСКОЙ АКАДЕМИИ НАУК» (ФГУ ФНЦ НИИСИ РАН)
Директор ФГУ ФНЦ НИИСИ РАН,
д.т.н.
На
от
Почт, адрес: Нахимовский просп. 36-1, Москва, 117218 Телефон: (499) 124-97-44, Факс: (495) 719-76-81 E-mail: niisi@niisi.msk.ru http://www.niisi.ru ОКПО 05825395. ОГРН 1027700384909 ИНН/КПП 7727086772/772701001
№
от
Бобков С.Г. 2017
АКТ
о внедрении в ФГУ ФНЦ НИИСИ РАН результатов диссертационной работы Барских М.Е. «Блоки динамического предсказания переходов высокопроизводительных суперскалярных RISC микропроцессоров ответственного применения», представленной на соискание ученой степени кандидата технических наук.
Комиссия в составе:
Председатель комиссии: заместитель директора по наноэлектронике, к.т.н. М.С. Горбунов.
Члены комиссии: заведующий отделением разработки вычислительных систем, к.т.н. С.И. Аряшев, заместитель заведующего отделением по проектированию ЭВМ и модулей, к.т.н. О.В. Сердин.
составила настоящий акт о том, что результаты диссертационной работы «Блоки динамического предсказания переходов высокопроизводительных суперскалярных RISC микропроцессоров ответственного применения» использованы в работах ФГУ ФНЦ НИИСИ РАН.
1. Форма внедрения: разработан блок динамического предсказания переходов, входящий в состав буфера выборки-выдачи инструкций и оптимизированный для работы в составе RISC микропроцессоров архитектуры «КОМДИВ».
2. Масштаб внедрения: разработанный блок использовался при проектировании высокопроизводительных СБИС 1890ВМ6Я, изготовленной по КМОП технологии объемного кремния 180 нм в рамках ОКР «Обнова-Б», и СБИС 1890ВМ8Я (ОКР «Процессор-5») и 1890ВМ9Я (ОКР «Процессор-6»), изготовленных по КМОП технологии объемного кремния 65 нм.
3. Новизна результатов: к новым научным результатам можно отнести предложенный метод тестирования RTL-моделей блоков с использованием случайной генерации тестовых воздействий, управляемый функциональным покрытием, позволяющее сократить затраты
на тестирование модулей на начальном этапе проектирования; методику валидации блока предсказания переходов и доказательства корректности его работы; методику оптимизации блока предсказания переходов для использования в составе процессора с заданной микроархитектурой. Новизна решений подтверждается полученными патентами РФ на изобретения № 2 503 996, № 2 504 ООО, № 2 556 364, № 2 584 470.
4. Научный уровень: научный уровень результатов соответствует уровню отечественных и мировых достижений.
5. Эффективность внедрения: технический эффект внедрения результатов состоит в том, что использование разработанного блока динамического предсказания переходов и комплекса решений в составе буфера выборки-выдачи инструкций позволило увеличить производительность СБИС микропроцессоров архитектуры «КОМДИВ» 1890ВМ6Я на 15%; 1890ВМ8Я и 1890ВМ9Я на 20%.
Председатель комиссии:
Заместитель директора по наноэлектронике, к.т.н., М.С. Горбунов
Члены комиссии:
Заведующий отделением разработки вычислительных систем, к.т.н., С.И. Аряшев
Заместитель заведующего отделением по проектированию ЭВМ и модулей к.т.н., О.В. Сердин '
УТВЕРЖДАЮ
Генеральный директор
'л'ОлфИИ «Субмикрон»,
.-У^у."" 1с,
д.тдц йрофессор
Сиренко В. Г.
юня 2017 г.
АКТ
о внедрении результатов диссертационной работы Барских М.Е. «Блоки динамического предсказания переходов высокопроизводительных суперскалярных ШСБ микропроцессоров ответственного применения», представленной на соискание ученой степени кандидата технических наук.
Комиссия в составе: председателя комиссии Первого заместителя Генерального директора - Главного конструктора к.т.н. Гришина В.Ю. и членов комиссии Первого заместителя Главного конструктора Еремеева П.М. и ведущего инженера-электроника Косарева В.А., настоящим актом подтверждают, что результаты диссертационной работы Барских М.Е., а именно разработанный в результате диссертационной работы блок динамического предсказания переходов и созданный с его использованием 64-разрядный микропроцессор 1890ВМ6Я, внедрены на предприятии Акционерное Общество «Научно-исследовательский институт «Субмикрон» при разработке прибора БЦВС ЮШКР.467444.171.
Положительный эффект от внедрения заключается в том, что оказалось возможным реализовать высокопроизводительный алгоритм с большим числом ветвлений по управлению изделием ракетной техники на базе отечественного
ОРДЕНА ТРУДОВОГО КРАСНОГО ЗНАМЕНИ АКЦИОНЕРНОЕ ОБЩЕСТВО КОНЦЕРН
- ОКЕАНПРИБОР -
(АО чКОНЦЕРН « ОКЕАНПРИБОР») Чкаловский пр., 46, Санкт-Петербург. 197376 Теп. 7(812)320 80-40/41 Факс 7(812)230-64-60, 7(812)320-80-52 таИ@осевпрпЬог ги ОКПО 07504258, ОГРН 1067847424160, ИНН/КПП 78133415467781301001
АКТ
dd Ов .«¿Oft № ¿QQ - Ш -fjd
Санкт-Петербург
Г 1
АКТ
о внедрении результатов диссертационной работы Барских М.Е. «Блоки динамического предсказания переходов высокопроизводительных суперскалярных RISC микропроцессоров ответственного применения», представленной на соискание ученой степени кандидата технических наук.
Комиссия в составе:
Председатель комиссии - Главный учёный секретарь АО «Концерн «Океанприбор», доктор технических наук, профессор, Максимов Василий Васильевич;
члены комиссии:
начальник 3 НИО, Челпанов Алексей Владимирович; заместитель начальника 3 НИО, заместитель главного конструктора по АПК изделия "Иртыш-Амфора-Б-055А" Македонский Михаил Александрович,
составили настоящий акт о том, что результаты диссертационной работы Барских М.Е., а именно:
разработанный в результате диссертационной работы блок динамического предсказания переходов;
созданный с его использованием 64-разрядный микропроцессор 1890ВМ6Я;
внедрены на предприятии АО «Концерн «Океанприбор» при разработке цифрового вычислительного комплекса в рамках ОКР "Иртыш-Амфора-Б-055А" и цифрового вычислительного комплекса в рамках ОКР "Олимп-Г".
Использование микропроцессора 1890ВМ6Я в ЦВК ГАК изделий "Иртыш-Амфора-Б-055А" и "Олимп-Г", описанных в ИКЛМ.365111.017 РЭ16 и ИКЛМ.365111.019 РЭ14, позволило выполнить разработку модульной, открытой, реконфигурируемой архитектуры ЦВК ГАК, обеспечивающего обработку в реальном масштабе времени больших потоков сигналов от многоэлементных гидроакустических антенн. Тем самым сделан значительный шаг в направлении повышения ТТХ систем гидроакустического вооружения с одновременным значительным снижением трудоемкости и сроков их создания, уменьшением энергопотребления, улучшением массогабаритных характеристик и повышением надежности их функционирования.
В составе изделий "Иртыш-Амфора-Б-055А" и "Олимп-Г" аппаратура прошла стендовые испытания и представлена заказчику для проведения заводских, ходовых, государственных испытаний.
Председатель комиссии:
Главный учёный секретарь АО «Концерн «Океанприбор», доктор технических наук, профессор, Максимов Василий Васильевич
Члены комиссии: Начальник 3 НИО, Челпанов Алексей Владимирович
заместитель начальника 3 НИО, заместитель главного конструктора по АПК изделия "Иртыш-Амфора-Б-055А", Македонский Михаил Александрович
УТВЕРЖДАЮ Исполнительный директор | КБ «КОРУНД-М»
.М. Шпильман
2017 г.
АКТ
о внедрении результатов диссертационной работы Барских М.Е. «Блоки динамического предсказания переходов высокопроизводительных суперскалярных RISC микропроцессоров ответственного применения», представленной на соискание ученой степени кандидата технических наук.
Комиссия в составе: председателя комиссии заместителя исполнительного директора технического директора к.т.н. Гришина Е.П. и членов комиссии начальника группы схемотехники к.фльн Кондратьевой Н.В., заместителя технического директора начальника отдела разработки Коряковцева В.В. настоящим актом подтверждают, что результаты диссертационной работы Барских М.Е., а именно:
- разработанный в результате диссертационной работы блок динамического предсказания переходов;
- созданные с его использованием 64-разрядные процессорное ядро архитектуры «КОМДИВ64», входящее в состав СнК 1890ВМ8Я,
внедрены на предприятии АО КБ «КОРУНД-М» при разработке модулей: МБТ23-216; МБТЗЗ-216; МБТ83-206; ЦП16-23В; ЦП 16-3 ЗВ; TABLET VM8; КП11-201; MITX C1VM8.
Данные модули имеют статус опытных и макетных образцов. После завершения испытаний ряд модулей предполагается к освоению в серийном производстве АО КБ «КОРУНД-М».
Применение СнК 1890ВМ8Я позволило обеспечить возможность решения задачи импортозамещения в отношении таких важных систем управления, какими являются управляющие микропроцессоры.
Председатель комиссии: Заместитель исполнительного директора технический директор к.т.н.
Члены комиссии:
Начальник группы схемотехники к.фтМ.н.
Заместитель технического директора начальник отдела разработки
/
Обратите внимание, представленные выше научные тексты размещены для ознакомления и получены посредством распознавания оригинальных текстов диссертаций (OCR). В связи с чем, в них могут содержаться ошибки, связанные с несовершенством алгоритмов распознавания. В PDF файлах диссертаций и авторефератов, которые мы доставляем, подобных ошибок нет.