Глубоко внутри чипа Exynos в Galaxy S7 кроется нейросеть для предсказания переходов

Вчера на специализированной конференции по микроэлектронике Hot Chips в Калифорнии инженеры Samsung впервые показали на презентации чертежи таинственных процессорных ядер M1 (кодовое название Mongoose), которые работает в смартфонах S7 и S7 Edge.

В международных версиях этих Android-смартфонов установлен 14-нанометровая система на кристалле FinFET Exynos 8890. На ней четыре стандартных ядра ARM Cortex-A53 (1,6 ГГц) и четыре проприетарных ядра M1, работающих на частотах 2,3 ГГц и 2,6 ГГц.

14-нанометровая система на кристалле FinFET Exynos 8890

Американская группа разработчиков разработала M1 с нуля за три года по собственному проекту. В бенчмарках Exynos 8890 уступает микросхеме iPhone 6S A9 по производительности на одном ядре, но выигрывает в многоядерных задачах.

План ядра M1. Изображение: Samsung

Одна из составляющих ядра M1 — встроенный предсказатель переходов (branch predictor), который предсказывает, будет ли выполнен условный переход в исполняемой программе. Предсказание ветвлений позволяет сократить время простоя конвейера, за счёт предварительной загрузки и исполнения инструкций, которые должны выполниться после выполнения инструкции условного перехода. Прогнозирование ветвлений критически важно, потому что позволяет оптимально использовать вычислительные ресурсы процессора.

Прогнозирование ветвлений через предсказатель переходов

— вполне стандартная функция в процессорах. Уже в первых процессорах SPARC и MIPS использовался примитивный статичный метод предсказания ветвлений, когда в конвейер всегда загружаются инструкции, расположенные после инструкции условного перехода. В современных процессорах реализованы более продвинутые методы динамического предсказания переходов:

  • с анализом общей истории переходов (бимодальный счётчик, адаптивный двухуровневый предсказатель, глобальное предсказание перехода);
  • с анализом собственной истории переходов для каждого условного перехода (локальное предсказание перехода);
  • гибридный предсказатель, который выбирает результаты наиболее успешных предсказателей, в том числе предсказателя для цикла;
  • предсказатель косвенных переходов, у которых может быть больше двух ветвлений.

Так вот, оказывается, в ядре M1 инженеры Samsung реализовали предсказание ветвлений с помощью нейросети. Это относительно новый тип предсказателя переходов. Впервые его предложил использовать в теоретической работе профессор Лучан Винтан (Lucian Vintan) в 1999 году (научная статья " Towards a High Performance Neural Branch Predictor "). Спустя два года был разработан первый предсказатель переходов на персептронах, который теоретически можно было реализовать в аппаратном обеспечении (научная статья " Fast Path-Based Neural Branch Prediction ", автор — профессор Даниэль Хименез (Daniel A. Jiménez) из Рутгерского университета в США).

Ключевым преимуществом предсказателя на нейросети является линейный рост ресурсов при увеличении анализа истории переходов (в классических предсказателях потребление ресурсов растёт экспоненциально при увеличении истории). По этой причине предсказатель на нейросети более эффективен. Уже первая нейросеть из работы Даниэля Хименеза демонстрировала прирост эффективности 5,7% по сравнению с гибридным предсказателем Скотта Макфарлинга.

В последующие годы тот же Даниэль Хименез и другие исследователи работали над устранением недостатков предсказателя переходов, в том числе большой задержкой при вычислениях.

Новейшие идеи для предсказателей переходов исследователи предлагают на конкурсе Championship Branch Prediction, последний из которых проходил в июне 2016 года в рамках симпозиума по компьютерной архитектуре ISCA 2016 в Сеуле.

Несмотря на бурные научные исследования в этой области, до сих пор не было известно ни об одном массовом процессоре, в котором реализован предсказатель переходов на персептронах. Дело не в том, что FinFET Exynos 8890 с ядрами M1 в смартфонах S7 и S7 Edge — первый такой процессор. Просто разработчики Samsung и других компаний держат информацию в секрете, и это можно понять. Предсказатели переходов — один из наиболее охраняемых секретов в полупроводниковой отрасли. Производители часто даже не патентуют свои предсказатели переходов, чтобы не выдать секрета конкурентам, а также потому, что потом трудно будет доказать факт нарушения патента, учитывая сложнейшую логику в современных проприетарных процессорах.

Слайд из презентации Samsung на конференции Hot Chips. На нём изображён модуль предсказателя переходов с использованием нейросети. Изображение: Samsung

Samsung — первая компания, которая официально объявила об использовании нейросети в своём предсказателе переходов. Эксперты в микроэлектронной индустрии говорят, что похожая технология, по всей видимости, используется в предсказателях Jaguar и Bobcat в чипах AMD. Неудивительно, что нынешний вице-президент Samsung и директор по разработке процессоров Samsung, глава научно-исследовательского центра Samsung в Остине (Техас) Брэд Берджесс (Brad Burgess) раньше возглавлял проект по разработке микроархитектуры Bobcat в компании AMD.

Вполне вероятно, что Intel и AMD втихую используют предсказатели на персептронах в десктопных и серверных процессорах. Как уже было сказано, эта информация держится в секрете и даже не патентуется.

Samsung первым нарушил обет молчания. Возможно, разработчики микроархитектуры Exynos просто решили похвастаться.

Пожалуйста, оцените статью:
Ваша оценка: None Средняя: 4.7 (3 votes)
Источник(и):

geektimes.ru