CLMUL ko'rsatmalar to'plami - CLMUL instruction set

Ko'paytmani tashiysiz (CLMUL) kengaytmasi x86 tomonidan ishlatiladigan ko'rsatmalar to'plami mikroprotsessorlar dan Intel va AMD Intel tomonidan 2008 yil mart oyida taklif qilingan[1] va mavjud bo'lgan Intel Westmere protsessorlari Matematik jihatdan, ko'rsatma polinomlarni ko'paytirishni amalga oshiradi cheklangan maydon GF (2), bu erda bitstring polinomni ifodalaydi . CLMUL ko'rsatmasi GF (2) katta sonli maydonlarni chambarchas ko'paytirishni yanada samarali amalga oshirishga imkon beradik) an'anaviy ko'rsatmalar to'plamidan ko'ra.[2]

Ushbu ko'rsatmalardan biri bu blokirovka qilingan shifrlashni amalga oshiradigan dasturlarning tezligini oshirishdir Galois / hisoblagich rejimi, bu cheklangan maydonga bog'liq (2)k) ko'paytirish. Boshqa dastur - bu tezkor hisoblash CRC qiymatlari,[3] amalga oshirish uchun foydalaniladigan, shu jumladan LZ77 toymasin oyna YUBORISH algoritm zlib va pngcrush.[4]

ARMv8-da CLMUL versiyasi mavjud. SPARC o'zlarining "XOR ko'paytmasi" uchun XMULX versiyasini chaqiradi.

Yangi ko'rsatmalar

Ko'rsatma 128-bitni hisoblab chiqadi tashuvchisiz mahsulot 64 bitli ikkita qiymat. Belgilangan joy a 128-bitli XMM registri. Manba boshqa XMM registri yoki xotira bo'lishi mumkin. Darhol operand 128 bitli operandlarning qaysi yarmi ko'paytirilishini aniqlaydi. Tez operandning o'ziga xos qiymatlarini ko'rsatadigan mnemonika ham aniqlanadi:

Yo'riqnomaOpcodeTavsif
PCLMULQDQ xmmreg, xmmrm, imm[rmi: 66 0f 3a 44 / r ib]Ikkala 64-bitli polinomlarni cheklangan maydon bo'ylab ko'chirmasdan ko'paytirishni bajaring GF(2k).
PCLMULLQLQDQ xmmreg, xmmrm[rm: 66 0f 3a 44 / r 00]Ikkala registrning past yarmlarini ko'paytiring.
PCLMULHQLQDQ xmmreg, xmmrm[rm: 66 0f 3a 44 / r 01]Belgilangan registrning yuqori yarmini manba registrining past yarmiga ko'paytiring.
PCLMULLQHQDQ xmmreg, xmmrm[rm: 66 0f 3a 44 / r 10]Belgilangan registrning past yarmini manba registrining yuqori yarmiga ko'paytiring.
PCLMULHQHQDQ xmmreg, xmmrm[rm: 66 0f 3a 44 / r 11]Ikkala registrning yuqori yarmini ko'paytiring.

EVEX vektorlashtirilgan versiyasi (VPCLMULQDQ) AVX-512.

CLMUL ko'rsatmalar to'plamiga ega protsessorlar

CLMUL ko'rsatmalar to'plamining mavjudligini ulardan birini sinab ko'rish orqali tekshirish mumkin CPU xususiyatlari.

Shuningdek qarang

Adabiyotlar

  1. ^ "Intel dasturiy ta'minot tarmog'i". Intel. Arxivlandi asl nusxasi 2008-04-07 da. Olingan 2008-04-05.
  2. ^ Shay Gueron (2011-04-13). "Intel Carry-Less Multiplication Instruction va undan GCM rejimini hisoblash uchun foydalanish - Rev 2". Intel.
  3. ^ "PCLMULQDQ dan foydalanadigan umumiy polinomlar uchun tezkor CRC hisoblash" (PDF).
  4. ^ Vlad Krasnov (2015-07-08). "Saraton kasalligiga qarshi kurash: Bizning kodimizni ochiq manbalardan kutilmagan foydasi". CloudFlare. Olingan 2016-09-04.
  5. ^ Yoxan De Gelas (2017-03-31). "Intel Xeon E5 v4-ning sharhi: Broadwell-EP-ni server talab qiladigan ish yuklari bilan sinovdan o'tkazish". Anandtech. p. 3.
  6. ^ "Yaguarning Bobcat ustidagi yaxshilanishlari haqida slayd". AMD. Olingan 3 avgust, 2013.
  7. ^ Deyv Kristi (2009 yil 6-may). "Balansni saqlash". AMD Developer bloglari. Arxivlandi asl nusxasi 2013 yil 9-noyabrda. Olingan 2011-03-11.