SSE
SSE, Streaming SIMD Extensions, ntruducìu li riggistri XMM di x86 e l'upirazzioni a vìrgula mòbbili 'n pricisioni sìngula impaccata. È lu primu mèmmiru d'una siquenza d'estinzioni SIMD idintificàbbili 'n modu ndipinnenti.
Chiḍḍu ca t'hà sapiri
SSE, Streaming SIMD Extensions, ntruducìu li riggistri XMM di x86 e l'upirazzioni a vìrgula mòbbili 'n pricisioni sìngula impaccata. È lu primu mèmmiru d'una siquenza d'estinzioni SIMD idintificàbbili 'n modu ndipinnenti.
Comu funziona
Un riggistru XMM cunteni 128 bit. L'upirazzioni 'n pricisioni sìngula impaccata travàgghianu supra 4 valuri a vìrgula mòbbili a 32 bit, mentri li formi scalari upèranu supra un sìngulu valuri cu un cumpurtamentu spicìficu di l'istruzzioni pî bit arristanti. SSE ntruducìu puru l'ambienti di cuntrollu e statu MXCSR pi l'eccizzioni e l'arrutunnamentu a vìrgula mòbbili SIMD.
Unni e' ùtili
Li routine di gràfica e àudiu ponnu applicari la stissa upirazzioni a cchiù valuri ndipinnenti. Li corsi SIMD sù elementi di dati dintra n'istruzzioni, nun core CPU o thread dû sistema upirativu. Lu prugramma circustanti gistisci sempri li carricamenti, li sarvî e li valuri eccizziunali.
Comu cuntrollari lu supportu e l'abbilitazzioni
CPUID.01H:EDX bit 25 ìndica SSE. Lu sistema upirativu havi a furniri la gistioni dû statu XMM/MXCSR apprupriata. Dintra n'ABI x86-64 nurmali suppurtata, SSE e SSE2 sù strutturi di basi, ma n'applicazzioni a 32 bit havi la sò linia di basi di deployment.
Na carattirìstica SIMD discrivi istruzzioni, nun nuclei agghiuntivi. La forma di l'istruzzioni ditèrmina la larghizza di l'elementu, lu signu, l'arrutunnamentu, l'alliniamentu e quali curzìi 'ntiragìscinu. Lu software àvi a prisirvari lu statu dî riggistri di l'ABI e usari n'ambienti d'esecuzzioni suppurtatu.
Zoccu la funziunalitati nun stabbilisci
SSE di sulu nun stabbilisci l'upirazzioni a nteri o 'n pricisioni duppia di SSE2, estinzioni SSE succissivi, AVX o na pulìtica di supportu dû sistema upirativu. Arcuni istruzzioni legacy addumannanu n'alliniamentu spicìficu dâ mimòria, ca lu prugrammaturi havi a rispittari.
Cumpatibbilitati e pristazzioni nnâ pràtica
Noma cchiù tardivi dâ famigghia SSE ànnu bit di carattirìstica siparati. Pi un binariu distribbuitu, esaminati lu gruppu mìnimu cumpretu di carattirìstichi, cumprisi li libbrirìi e lu còdici d'avviamèntu. Un fallback servi sulu si nudda istruzzioni nun suppurtata veni esiguita prima dû passu di silizzioni.
Na lista di virìfica pràtica
- Riggistra lu mudellu esattu dû prucissuri o dâ piattafurma e li virsioni di l'applicazzioni, dû SO e dû runtime cuinvorti. Manteni la formulazzioni di l'erruri o dû requisitu riali.
- Cuntrolla lu rifirimentu dû prudutturi pi ddu mudellu esattu, poi spizziona la capacitati effittiva e lu statu abbilitatu nta l'ambienti unni lu prugramma gira.
- Cunfrunta ogni requisitu dû binariu o dû backend silizziunatu. Na funziunalitati cû nomu sìmili, un pseudònimu o n'etichetta ticnulòggica ginèrica nun abbàstanu.
- Cunferma ca l'applicazzioni hà silizziunatu la mplimintazzioni privista. Usa la sò diagnòstica ducumintata e un fallback suppurtatu quannu li requisiti nun sunnu suddisfatti.
- Fai un canciamentu suppurtatu a la vota e ripeti lu stissu caricu di travagghiu. Manteni dispunìbbili la cunfigurazzioni urigginali e lu pircorsu di ricùp ситуаazzioni.
Si la funziunalitati e' ndicata ma lu software nun la po usari
Accumenza cû cumpunenti esattu ca fallisci. Un database d'hardware discrivi la capacitati riggistrata; lu sistema upirativu o l'hypervisor ponnu ammustrari n'ambienti effittivu diffirenti. N'erruri di struzzioni illigali addanna puru n'indàggini supra la struzzioni ca fallisci pi daveru e supra la build binaria, picchì la curruzzioni o na struzzioni nun currilata e nun suppurtata ponnu fari un sìntumu sìmili.
Installa la virsioni di l'applicazzioni, dû driver o dû runtime suppurtata pâ piattafurma esatta, e usa la build di basi o di fallback ducumintata dû prudutturi si n'hai bisognu. N'aggiurnamentu dû software nun po criari na struzzioni ca manca nnô prucissuri. Li canciamenti di firmware e di pulìtica di sicurizza avìssiru a sèquiri la prucidura dû prudutturi dû sistema e un pianu di ricùpiru mmeci d'un ricittariu d'uttimizzazzioni ginèricu.
Funti e scanciu di st'esplicazzioni
Intel 64 and IA-32 Architectures Software Developer's Manual · psABI x86-64: liveddi d'architittura e micrarchitittura dû prucissuri
Sti rifirimenti stabbilìscinu lu cumpurtamentu architittùnicu e li requisiti dû software. Nun virìficanu di manera ndipinnenti ogni valuri di funziunalitati nta na pàggina d'un mudellu hardware culligatu. Pû supportu dû mudellu, usa li provi dû prudutturi di dda pàggina e cuntrolla la cunfigurazzioni effittiva dû sistema. St'artìculu nun duna un benchmark, na cirtificazzioni o na data di rivisioni ndipinnenti.
Funti e virìfica
Titularità editoriali: Feex. Nudda data di rivisioni nnipinnenti è riggistrata. Comu facemu i ricerchi.
- Intel 64 and IA-32 Architectures Software Developer's Manual · Li Vulumi 1 e 2 discrìvinu li famigghi di struzzioni muntuati e CPUID; lu Vulumi 3 discrivi statu, pagginazzioni, VMX e cuntrolli di prutizzioni. La ducumintazzioni d'architittura nun stabbilisci lu supportu pi un mudellu particulari.
- psABI x86-64: liveddi d'architittura e micrarchitittura dû prucissuri · Machine Interface, Processor Architecture: tabbella dî carattirìstichi baseline e cumulativi v2/v3/v4, cuntrolli dû statu di l'OS e raccumannazzioni pâ distribbuzzioni.
Fu ùtili st'artìculu?
Un sì o un no abbasta. Scegghi un mutivu si voi, o junci na nota curta.
Grazzi. Chistu n'aiuta a megghiurari sta pàggina.