Timeline
Chat
Prospettiva
CLMUL
set di istruzioni per x86 Da Wikipedia, l'enciclopedia libera
Remove ads
Carry-less Multiplication (CLMUL) è un'estensione del set di istruzioni x86 utilizzato dai microprocessori Intel e AMD, proposto da Intel nel marzo 2008[1] e reso disponibile nei processori Intel Westmere annunciati all'inizio del 2010.
Un uso di queste istruzioni è quello di migliorare la velocità delle applicazioni di cifratura a blocchi in modalità Galois/Counter, che dipende dalla moltiplicazione GF(2k) a campo finito, che può essere implementata in modo più efficiente[2] con le nuove istruzioni CLMUL rispetto al tradizionale set di istruzioni. Un'altra applicazione è il calcolo veloce dei valori CRC,[3] compresi quelli utilizzati per implementare l'algoritmo DEFLATE in zlib e pngcrush della finestra scorrevole LZ77.[4]
Remove ads
Nuove istruzioni
L'istruzione calcola il prodotto carry-less a 128 bit di due valori a 64 bit. La destinazione è un registro XMMM a 128 bit. La sorgente può essere un altro registro XMMM o memoria. Un operando immediato specifica quali metà degli operandi a 128 bit vengono moltiplicati. Sono inoltre definite delle mnemoniche che specificano valori specifici dell'operando immediato:
Remove ads
CPU con CLMUL
- Intel
- Westmere
- Sandy Bridge
- Ivy Bridge
- Haswell
- Broadwell (con una maggiore produttività e una minore latenza[5])
- Skylake
- Kaby Lake
- Coffee Lake
- AMD
La presenza del set di istruzioni CLMUL può essere verificata testando uno dei bit delle caratteristiche della CPU.
Note
Voci correlate
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads