stringtranslate.com

Набор инструкций CLMUL

Умножение без переноса ( CLMUL ) — это расширение набора инструкций x86 , используемого микропроцессорами Intel и AMD , которое было предложено Intel в марте 2008 года [1] и стало доступным в процессорах Intel Westmere, анонсированных в начале 2010 года. Математически инструкция реализует умножение полиномов над конечным полем GF(2), где битовая строка представляет полином . Инструкция CLMUL также позволяет более эффективно реализовать тесно связанное умножение больших конечных полей GF(2 k ), чем традиционный набор инструкций. [2]

Одно из применений этих инструкций — повышение скорости приложений, выполняющих блочное шифрование в режиме Галуа/счетчика , которое зависит от конечного поля GF(2 k ) умножения. Другое применение — быстрый расчет значений CRC , [3] включая те, которые используются для реализации алгоритма DEFLATE скользящего окна LZ77 в zlib и pngcrush . [4]

ARMv8 также имеет версию CLMUL. SPARC называет свою версию XMULX, что означает «умножение XOR».

Новые инструкции

Инструкция вычисляет 128-битное произведение без переноса двух 64-битных значений. Место назначения — 128-битный регистр XMM . Источником может быть другой регистр XMM или память. Непосредственный операнд указывает, какие половины 128-битных операндов умножаются. Также определены мнемоники, указывающие конкретные значения непосредственного операнда:

Векторная версия EVEX (VPCLMULQDQ) присутствует в AVX-512 .

Процессоры с набором инструкций CLMUL

Наличие набора инструкций CLMUL можно проверить, проверив один из битов функций ЦП .

Смотрите также

Ссылки

  1. ^ "Intel Software Network". Intel. Архивировано из оригинала 2008-04-07 . Получено 2008-04-05 .
  2. ^ Шей Герон; Майкл Э. Кунавис (2014-04-20). "Инструкция Intel Carry-Less Multiplication Instruction и ее использование для вычисления режима GCM – Версия 2.02" (PDF) . Intel . Архивировано из оригинала 2019-08-06.
  3. ^ «Быстрое вычисление CRC для универсальных полиномов с использованием PCLMULQDQ» (PDF) .
  4. ^ Влад Краснов (2015-07-08). "Борьба с раком: неожиданная выгода от открытого исходного кода". CloudFlare . Получено 2016-09-04 .
  5. ^ Йохан Де Гелас (31.03.2017). «Обзор Intel Xeon E5 v4: тестирование Broadwell-EP с требовательными серверными рабочими нагрузками». Anandtech . стр. 3.
  6. ^ "Слайд с подробным описанием улучшений Jaguar по сравнению с Bobcat". AMD. 29 августа 2012 г. Получено 3 августа 2013 г.
  7. Дэйв Кристи (6 мая 2009 г.). «Нахождение баланса». Блоги разработчиков AMD. Архивировано из оригинала 9 ноября 2013 г. Получено 11.03.2011 г.