Jump to content

Аппаратное ускорение

(Перенаправлено с Аппаратного ускорителя )
Карта криптографического ускорителя позволяет выполнять криптографические операции с большей скоростью.

Аппаратное ускорение — это использование компьютерного оборудования, предназначенного для более эффективного выполнения определенных функций по сравнению с программным обеспечением, (ЦП) общего назначения работающим на центральном процессоре . Любое преобразование данных , которое можно рассчитать с помощью программного обеспечения, работающего на обычном ЦП, также можно рассчитать с помощью специально изготовленного оборудования или с помощью того и другого.

Чтобы более эффективно выполнять вычислительные задачи, обычно можно инвестировать время и деньги в улучшение программного обеспечения, улучшение оборудования или и то, и другое. Существуют различные подходы с преимуществами и недостатками с точки зрения уменьшения задержки , увеличения пропускной способности и снижения энергопотребления . Типичные преимущества сосредоточения внимания на программном обеспечении могут включать большую универсальность, более быструю разработку , более низкие единовременные затраты на проектирование, повышенную мобильность и простоту обновления функций или исправления ошибок за счет накладных расходов на вычисление общих операций. Преимущества сосредоточения внимания на аппаратном обеспечении могут включать ускорение , снижение энергопотребления , [1] меньшая задержка, повышенный параллелизм [2] и пропускная способность , а также лучшее использование площади и функциональных компонентов, доступных на интегральной схеме ; ценой более низкой возможности обновлять конструкции после того, как они были выгравированы на кремнии, а также более высоких затрат на функциональную проверку , времени выхода на рынок и потребности в большем количестве деталей. В иерархии цифровых вычислительных систем, от процессоров общего назначения до полностью настраиваемого оборудования, существует компромисс между гибкостью и эффективностью, причем эффективность возрастает на порядки, когда какое-либо конкретное приложение реализуется выше в этой иерархии. [3] Эта иерархия включает в себя процессоры общего назначения, такие как ЦП, [4] более специализированные процессоры, такие как программируемые шейдеры в графическом процессоре , [5] фиксированная функция , реализованная на программируемых пользователем вентильных матрицах (FPGA), [6] и фиксированные функции, реализованные на интегральных схемах специального назначения (ASIC). [7]

Аппаратное ускорение выгодно для производительности и практично, когда функции фиксированы, поэтому обновления не так необходимы, как в программных решениях. С появлением перепрограммируемых логических устройств , таких как FPGA, ограничение аппаратного ускорения полностью фиксированными алгоритмами с 2010 года ослабло, что позволяет применять аппаратное ускорение к проблемным областям, требующим модификации алгоритмов и потока управления обработкой . [8] [9] Однако недостатком является то, что во многих проектах с открытым исходным кодом требуются проприетарные библиотеки, которые не все поставщики стремятся распространять или предоставлять, что затрудняет интеграцию в такие проекты.

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

Вычислительная эквивалентность аппаратного и программного обеспечения

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

Поскольку все машины Тьюринга могут выполнять любую вычислимую функцию , всегда можно создать собственное оборудование, выполняющее ту же функцию, что и данная часть программного обеспечения. И наоборот, программное обеспечение всегда можно использовать для эмуляции функций данного оборудования. Специальное оборудование может обеспечивать более высокую производительность на ватт для тех же функций, которые можно указать в программном обеспечении. Языки описания оборудования (HDL), такие как Verilog и VHDL, могут моделировать ту же семантику, что и программное обеспечение, и синтезировать проект в список соединений , который можно запрограммировать на FPGA или включить в логические элементы ASIC.

Компьютеры с хранимой программой

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

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

Аппаратные исполнительные блоки

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

Аппаратные исполнительные блоки обычно не полагаются на архитектуру фон Неймана или модифицированную Гарвардскую архитектуру и не требуют выполнения этапов выборки и декодирования инструкций в цикле команд и несут накладные расходы на этих этапах. Если необходимые вычисления указаны в аппаратном обеспечении уровня передачи регистров (RTL), затраты времени и площади схемы, которые могут возникнуть на этапах выборки команд и декодирования, могут быть возвращены и использованы для других целей.

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

Новые аппаратные архитектуры

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

Более широкая настройка RTL аппаратных проектов позволяет новым архитектурам, таким как вычисления в памяти , архитектуры, управляемые транспортом (TTA) и сети на кристалле (NoC), получать дополнительную выгоду от повышенной локальности данных в контексте выполнения, тем самым уменьшая задержку вычислений и связи между модули и функциональные блоки.

Возможности специального аппаратного обеспечения ограничены только площадью и логическими блоками, доступными на кристалле интегральной схемы . [10] Таким образом, аппаратное обеспечение гораздо более свободно обеспечивает массовый параллелизм, чем программное обеспечение на процессорах общего назначения, предлагая возможность реализации модели параллельной машины с произвольным доступом (PRAM).

Обычно многоядерные и многоядерные процессоры создаются на основе схем IP-ядра микропроцессора на одной FPGA или ASIC. [11] [12] [13] [14] [15] Аналогично, специализированные функциональные блоки могут компоноваться параллельно, как при цифровой обработке сигналов, без их внедрения в IP-ядро процессора . Поэтому аппаратное ускорение часто используется для повторяющихся фиксированных задач, требующих небольшого условного ветвления , особенно для больших объемов данных. Именно так CUDA Nvidia . реализована линейка графических процессоров

Показатели реализации

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

По мере роста мобильности устройств были разработаны новые показатели, которые измеряют относительную производительность конкретных протоколов ускорения с учетом таких характеристик, как размеры физического оборудования, энергопотребление и пропускная способность операций. Их можно свести к трем категориям: эффективность выполнения задач, эффективность реализации и гибкость. Соответствующие показатели учитывают площадь оборудования, а также соответствующую производительность операций и потребляемую энергию. [16]

Приложения

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

Примеры аппаратного ускорения включают функцию побитового ускорения в графических процессорах (GPU), использование мемристоров для ускорения нейронных сетей и аппаратное ускорение регулярных выражений для контроля спама в серверной отрасли, предназначенное для предотвращения атак типа «отказ в обслуживании» с использованием регулярных выражений (ReDoS). [17] Аппаратное обеспечение, выполняющее ускорение, может быть частью ЦП общего назначения или отдельным блоком, называемым аппаратным ускорителем, хотя обычно их называют более конкретным термином, например, 3D-ускорителем или криптографическим ускорителем .

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

Современные процессоры являются многоядерными и часто имеют параллельные блоки «одна инструкция; несколько данных» ( SIMD ). Несмотря на это, аппаратное ускорение по-прежнему дает преимущества. Аппаратное ускорение подходит для любого алгоритма с интенсивными вычислениями, который часто выполняется в задаче или программе. В зависимости от степени детализации аппаратное ускорение может варьироваться от небольшого функционального блока до большого функционального блока (например, оценка движения в MPEG-2 ).

Единицы аппаратного ускорения по приложениям

[ редактировать ]
Приложение Аппаратный ускоритель Акроним
Компьютерная графика Графический процессор графический процессор
  • ГПГПУ
  • ДРУГОЙ
  • РТХ
  • Н/Д
Цифровая обработка сигналов Цифровой сигнальный процессор ЦСП
Аналоговая обработка сигналов Программируемая пользователем аналоговая матрица ФПАА
  • ФПРФ
Обработка звука Звуковая карта и микшер звуковой карты Н/Д
Компьютерные сети Сетевой процессор и контроллер сетевого интерфейса НПУ и сетевая карта
  • №C
  • TCPOE или TOE
  • I/OAT или IOAT
Криптография Криптографический ускоритель и защищенный криптопроцессор Н/Д
Искусственный интеллект ИИ-ускоритель Н/Д
  • ВПУ
  • ННП
  • Н/Д
Полилинейная алгебра Тензорный процессор ТПУ
Физическое моделирование Физический процессор ППУ
Регулярные выражения [17] Сопроцессор регулярных выражений Н/Д
Сжатие данных [18] Ускоритель сжатия данных Н/Д
Обработка в памяти Сеть на чипе и систолический массив Ночь; НА
Обработка данных Блок обработки данных ДПУ
Любая вычислительная задача Компьютерное оборудование ХВ (иногда)
  • ПЛИС
  • ASIC
  • CPLD
  • SoC
    • MPSoC
    • PSoC

См. также

[ редактировать ]
  1. ^ «Microsoft расширяет возможности поиска Bing с помощью программируемых чипов» . ПРОВОДНОЙ . 16 июня 2014 г.
  2. ^ "Встроенный" . Архивировано из оригинала 8 октября 2007 г. Проверено 18 августа 2012 г. «Архитектура FPGA от А до Я», Клайв Максфилд, 2006 г.
  3. ^ Синан, Куфеоглу; Махмут, Озкуран (2019). «Рисунок 5. Минимальное энергопотребление процессора, графического процессора, FPGA и ASIC между пересчетами сложности». . Энергопотребление при майнинге биткойнов . дои : 10.17863/CAM.41230 .
  4. ^ Ким, Ёнмин; Конг, Джунхо; Мунир, Арслан (2020). «Совместное планирование ЦП и ускорителя для ускорения CNN на периферии» . Доступ IEEE . 8 : 211422–211433. дои : 10.1109/ACCESS.2020.3039278 . ISSN   2169-3536 .
  5. ^ Линь, Ибо; Цзян, Цзысюань; Гу, Цзяци; Ли, Уси; Дхар, Шунак; Рен, Хаосин; Хайлани, Брюсек; Пан, Дэвид З. (апрель 2021 г.). «DREAMPlace: ускорение графического процессора с помощью набора инструментов глубокого обучения для современного размещения СБИС» . Транзакции IEEE по автоматизированному проектированию интегральных схем и систем . 40 (4): 748–761. дои : 10.1109/TCAD.2020.3003843 . ISSN   1937-4151 . S2CID   225744481 .
  6. ^ Ляхов, Павел; Валуева, Мария; Валуев Георгий; Нагорнов, Николай (18 декабря 2020 г.). «Метод повышения производительности цифрового фильтра на основе усеченных многократно-накопительных единиц» . Прикладные науки . 10 (24): 9052. дои : 10.3390/app10249052 . ISSN   2076-3417 . Аппаратное моделирование на FPGA повысило производительность цифрового фильтра.
  7. ^ Мохан, Прашант; Ван, Вэнь; Юнгк, Бернхард; Нидерхаген, Рубен; Сефер, Якуб; Май, Кен (октябрь 2020 г.). «Ускоритель ASIC на 28 нм для схемы постквантовой цифровой подписи XMSS» . 38-я Международная конференция по компьютерному дизайну (ICCD) , IEEE, 2020 г. Хартфорд, Коннектикут, США: IEEE. стр. 656–662. дои : 10.1109/ICCD50377.2020.00112 . ISBN  978-1-7281-9710-4 . S2CID   229330964 .
  8. ^ Морган, Тимоти Прикет (3 сентября 2014 г.). «Как Microsoft использует FPGA для ускорения поиска в Bing» . Корпоративные технологии . Проверено 18 сентября 2018 г.
  9. ^ «Проект Катапульта» . Исследования Майкрософт .
  10. ^ MicroBlaze Soft Processor: Часто задаваемые вопросы, заархивировано 27 октября 2011 г. на Wayback Machine.
  11. ^ Вассани, Иштван (1998). «Реализация процессорных массивов на ПЛИС» . Программируемая пользователем логика и приложения от FPGA до парадигмы вычислений . Конспекты лекций по информатике. Том. 1482. стр. 446–450. дои : 10.1007/BFb0055278 . ISBN  978-3-540-64948-9 .
  12. ^ Чжокун ВАН и Омар ХАММАМИ. «Проектирование 24-процессорной системы на кристалле FPGA с сетью на кристалле». [1]
  13. ^ Джон Кент. «Массив Micro16 — простой массив ЦП»
  14. ^ Кит Итон. «Достигнута 1000-ядерная ЦП: ваш будущий настольный компьютер станет суперкомпьютером». 2011. [2]
  15. ^ «Ученые втиснули более 1000 ядер в один чип» . 2011. [3] Архивировано 5 марта 2012 г. в Wayback Machine.
  16. ^ Кинле, Франк; Вен, Норберт; Мейр, Генрих (декабрь 2011 г.). «О сложности, энергоэффективности и эффективности реализации канальных декодеров». Транзакции IEEE по коммуникациям . 59 (12): 3301–3310. arXiv : 1003.3792 . дои : 10.1109/tcomm.2011.092011.100157 . ISSN   0090-6778 . S2CID   13863870 .
  17. ^ Перейти обратно: а б «Регулярные выражения в аппаратном обеспечении» . Проверено 17 июля 2014 г.
  18. ^ «Ускорители сжатия — исследования Microsoft» . Исследования Майкрософт . Проверено 7 октября 2017 г.
  19. ^ Перейти обратно: а б Фарабет, Клеман и др. « Аппаратно ускоренные сверточные нейронные сети для систем синтетического зрения» [ мертвая ссылка ] .. Схемы и системы (ISCAS), Материалы Международного симпозиума IEEE 2010 г. IEEE, 2010 г.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: c1b02951f3426cba89781a2f38b3b34c__1718093100
URL1:https://arc.ask3.ru/arc/aa/c1/4c/c1b02951f3426cba89781a2f38b3b34c.html
Заголовок, (Title) документа по адресу, URL1:
Hardware acceleration - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)