SSSE3
SSSE3, Supplemental Streaming SIMD Extensions 3, azzuppa operazzioni 'e nummere interi packed comme shuffle 'e byte, aritmèteca orizzuntale e operazzioni 'e segno. Chilla S 'e cchiù 'o sparte da SSE3.
Chello ca t'hê 'a sapé
SSSE3, Supplemental Streaming SIMD Extensions 3, azzuppa operazzioni 'e nummere interi packed comme shuffle 'e byte, aritmèteca orizzuntale e operazzioni 'e segno. Chilla S 'e cchiù 'o sparte da SSE3.
Comme fonsiona
PSHUFB sciglie 'e byte ausanno 'nu vettore 'e cuntrollo pe ogne byte, addiventanno assaje utile pe reassuttì e fà piccirille trasfurmazzioni 'e tabbella. N'ati istruzzioni SSSE3 'ncludeno valore assuluti packed, furme 'e multiplicazzione-somma e aritmèteca 'e nummere interi orizzuntale. Larghezza 'e ll'operando e regule 'e saturazzione s'hanno dda verificà pe ll'operazzione specifica.
Addò serve
'Nu codec o 'na routine 'e trattenimento testo pò ausà 'nu shuffle 'e byte pe riurganizzà ll'input primma 'e ll'aritmèteca. Chesto nun vò dicere ca PSHUFB dà 'nu lookup senza limite dinto a 'na memoria qualsiasi: 'o dominio suojo 'e ricerca è 'o dato sorgente 'e ll'istruzzione e 'o perimetro definito d''a corsia.
Comme se cuntrolla 'o supporto e ll'abbilitazzione
CPUID.01H:ECX bit 9 'ndica SSSE3. 'Nu dispatcher 'e runtime adda pruvà chillu bit primma d'ausà 'o percorso legacy SSSE3, e pruvà ll'estenziona addizziunale addicotta primma 'e scigliere cudifeche cchiù llarche.
Na carattarìstica SIMD descrive istruzzioni, nun core 'e cchiù. 'A forma 'e ll'istruzzione decide 'a larghezza 'e ll'elemento, 'o segno, ll'arrutunnamento, ll'allineamento e quale corsie s'azzìccano. 'O software ha da astipà 'o stato d' 'e reggistre 'e ll'ABI e ausà n'ambiente 'e secuzzione suppurtato.
Chello ca 'a funzionalita nun stabbilisce
SSSE3 nun tene dinto ogne istruzzione SSE4. 'O nomme semmele nun vo' dicere ca SSE3 e SSSE3 songo target 'e cumbilatore intercambiabbili. Furme successive cchiù llarche VEX o EVEX teneno requesite 'e funzione 'n cchiù.
Cumpatibbilita e prestazziune dint' 'a prateca
Nomme cchiù nuove d' 'a famiglia SSE tènono bit 'e carattarìstica a parte. Pe nu binario distribuito, verificate tutt' 'o 'nzieme minimo 'e carattarìstiche, 'nzieme a llibrarìe e codece d'avvìo. Na soluzzione 'e fallback serve sulo si nisciuna istruzzione nun suppurtata gèra primma d' 'o passo 'e scelta.
Na lista 'e verifeca prateca
- Riggistra 'o mudello esatto d' 'o prucessore o d' 'a piattaforma e 'e vversione 'e ll'applicazzione, d' 'o sistema operativo e d' 'o runtime cumbulute. Mantien' 'e pparole esatte 'e ll'errore o d' 'o requisito overo.
- Cuntrolla 'o riferimento d' 'o costruttore pe chillu mudello esatto, po verifeca 'a capacita effettiva e 'o stato abbilitato dint'a ll'ambiente addò gira 'o prugramma.
- Cunfrunta ogne requisito d' 'o binario o backend sciveto. Na funzionalita cu nu nomme sumigliante, n'alias o n'etichetta tecnologgeca generale nun abbasta.
- Cunferma ca ll'applicazzione ha sciveto ll'implementazzione vuluta. Ausa 'a diagnosteca documentata soja e n'alternativa supportata quanno 'e requisite nun songo rispettate.
- Fa nu sulo cagnamento supportato a ll'avota e ripete 'o stesso carico 'e fatica. Mantien' 'a cunfigurazzione origginale e 'a via 'e recuppero a portata 'e mana.
Si 'a funzionalita sta scritta ma 'o software nun 'a po ausà
Pparti d' 'o cumponente esatto ca falla. Nu database hardware descrive 'a capacita riggistrata; 'o sistema operativo o ll'hypervisor po mustrà n'ambiente effettivo diverzo. N'errore 'e struzzione illegale addimanna pure 'e verificà 'a struzzione ca sgarra overamente e 'a build d' 'o binario, pecché na corruzzione o n'ata struzzione nun supportata po dà nu sintomo simile.
Stalla 'a vversione 'e ll'applicazzione, d' 'o driver o d' 'o runtime supportata p' 'a piattaforma esatta, e ausa 'a baseline documentata d' 'o costruttore o na build 'e fallback si serve. N'aggiurnamento software nun po crià na struzzione ca 'o prucessore nun tene. 'E cagnamiente a 'o firmware e 'e puliteche 'e sicurezza hann' 'a siguità 'a prucedura d' 'o costruttore d' 'o sistema e nu pピアノ 'e recuppero mméce 'e na ricetta generale 'e uttimizzazzione.
Funte e ambito 'e sta spiegazzione
Intel 64 and IA-32 Architectures Software Developer's Manual · x86-64 psABI: levielle d'architettura e microarchitettura d'o prucessore
Sti riferimente stabbilisceno 'o cumpurtamento 'e ll'architettura e 'e requisite d' 'o software. Nun verificano 'e manera 'ndipennente ogne valore 'e funzionalita ngopp'a na paggena 'e nu mudello hardware culegato. P' 'o supporto d' 'o mudello, ausa ll'evidenze d' 'o costruttore 'e chella paggena e verifeca 'a cunfigurazzione effettiva d' 'o sistema. St'articulo nun furnesce benchmark, certificazzione o data 'e revisone 'ndipennente.
Funte e verìfeca
Prupietà editoriale: Feex. Nisciuna data 'e revisizzione 'ndipennente è riggistrata. Comme facimmo 'e recerche.
- Intel 64 and IA-32 Architectures Software Developer's Manual · 'E Vulume 1 e 2 descrivono 'e ffamiglie 'e struzzione cu nomme e 'o CPUID; 'o Vulume 3 descrive 'o stato, 'a pagginazzione, VMX e 'e cuntrolle 'e prutezzione. 'A documentazzione 'e ll'architettura nun stabbilisce 'o supporto pe nu mudello particulare.
- x86-64 psABI: levielle d'architettura e microarchitettura d'o prucessore · Machine Interface, Processor Architecture: tabbella d'e cundizzione 'e base e cumulative v2/v3/v4, cuntrolle d'o stato d'o SO e cunsiglie p'o sveluppo.
È servuto chist'articulo?
Basta nu sì o nu no. Si vuó, sciglie na mutivazzione o miett' na nota corta.
Grazie. Chisto nce dà 'na mano a fa mèglio 'sta paggena.