Jump to content

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

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

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

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

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

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

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

Инструкция Код операции Описание
PCLMULQDQ xmmreg,xmmrm,imm[rmi: 66 0f 3a 44 /r ib]Выполните умножение без переноса двух 64-битных полиномов над конечным полем GF (2)[ X ].
PCLMULLQLQDQ xmmreg,xmmrm[rm:  66 0f 3a 44 /r 00]Умножьте младшие половины двух регистров.
PCLMULHQLQDQ xmmreg,xmmrm[rm:  66 0f 3a 44 /r 01]Умножьте старшую половину регистра назначения на младшую половину регистра источника.
PCLMULLQHQDQ xmmreg,xmmrm[rm:  66 0f 3a 44 /r 10]Умножьте младшую половину регистра назначения на старшую половину регистра источника.
PCLMULHQHQDQ xmmreg,xmmrm[rm:  66 0f 3a 44 /r 11]Умножьте старшие половины двух регистров.

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

ЦП с набором команд CLMUL

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

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

См. также

[ редактировать ]
  1. ^ «Сеть программного обеспечения Intel» . Интел. Архивировано из оригинала 7 апреля 2008 г. Проверено 5 апреля 2008 г.
  2. ^ Шей Герон; Майкл Э. Кунавис (20 апреля 2014 г.). «Инструкция Intel по умножению без переноса и ее использование для вычисления режима GCM – версия 2.02» (PDF) . Интел . Архивировано из оригинала 06 августа 2019 г.
  3. ^ «Быстрое вычисление CRC для универсальных полиномов с использованием PCLMULQDQ» (PDF) .
  4. ^ Влад Краснов (08.07.2015). «Борьба с раком: неожиданная польза от открытого исходного кода нашего кода» . CloudFlare . Проверено 4 сентября 2016 г.
  5. ^ Йохан Де Гелас (31 марта 2017 г.). «Обзор Intel Xeon E5 v4: тестирование Broadwell-EP с требовательными серверными нагрузками» . Анандтех . п. 3.
  6. ^ «Слайд с подробным описанием улучшений Jaguar по сравнению с Bobcat» . АМД . Проверено 3 августа 2013 г.
  7. ^ Дэйв Кристи (6 мая 2009 г.). «Достижение баланса» . Блоги разработчиков AMD. Архивировано из оригинала 9 ноября 2013 года . Проверено 11 марта 2011 г.
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: fff504671183b00136e04884c2ec650f__1682471880
URL1:https://arc.ask3.ru/arc/aa/ff/0f/fff504671183b00136e04884c2ec650f.html
Заголовок, (Title) документа по адресу, URL1:
CLMUL instruction set - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)