I-AMD iqinisekise ukuba sesichengeni okunokwenzeka kwe-AMD Zen 3 CPUs kuhlaselo lweSpecter-STL

I-AMD ipapashe ingxelo ehlalutya ukhuseleko lwe-PSF (i-Predictive Store Forwarding) ubuchwepheshe obuphunyeziweyo kwi-Zen 3 series processors. I-teknoloji ye-PSF, kodwa ekusebenzeni, akukho templates yekhowudi ekwazi ukukhokelela ekuhlaselweni ayikafunyanwa kwaye ingozi iyonke ivavanywa njengento engabalulekanga.

Masikhumbule ukuba i-Specter-v4 (i-Speculative Store Bypass) ihlaselo isekelwe ekubuyiseleni idatha ehlala kwi-cache yeprosesa emva kokulahla isiphumo sokwenziwa kwemisebenzi eqikelelwayo xa kusetyenzwa ngokutshintshana kokubhala kunye nokufunda imisebenzi usebenzisa idilesi engathanga ngqo. Xa umsebenzi wokufunda ulandela umsebenzi wokubhala (umzekelo, mov [rbx + rcx], 0x0; mov rax, [rdx + rsi]), i-offset yedilesi efundiweyo isenokuba sele isaziwa ngenxa yemisebenzi efanayo eyenziwayo (funda imisebenzi yenziwe rhoqo kakhulu kwaye ufundo lunokwenziwa kwi-cache) kwaye umqhubekekisi unokwenza ufundo phambi kokubhala ngaphandle kokulinda ukubalwa kwe-offset yokubhalwa kwezalathiso.

Eli nqaku livumela umyalelo wokufunda ukufikelela kwixabiso elidala kwidilesi ethile ngelixa umsebenzi wevenkile ungekagqitywa. Ukuba kukho impazamo yokuxela kwangaphambili, umsebenzi oqikelelwayo ongaphumelelanga uya kulahlwa, kodwa umkhondo wokwenziwa kwawo uya kuhlala kwicache yeprosesa kwaye unokufunyanwa ngenye yeendlela zokumisela imixholo yecache esekwe kuhlalutyo lotshintsho ekufikeleleni. ixesha lokufihla kunye nedatha engagcinwanga.

Yongezwe kwi-AMD Zen 3 iprosesa, i-PSF yenza ukuba i-STLF (i-Store-To-Load-Forwarding), eyenza imisebenzi yokufunda ngokuqikelelwa ngokuqikelela ubudlelwane phakathi kokufunda nokubhala imisebenzi. Xa usebenzisa i-STLF yakudala, iprosesa yenza umsebenzi "womthwalo" kwidatha ethunyelwa ngokuthe ngqo kumyalelo "wevenkile" yangaphambili, ngaphandle kokulinda ukuba umphumo ubhalwe kwimemori, kodwa uqinisekisa ukuba iidilesi ezisetyenziswe "kumthwalo" kunye nemiyalelo "yevenkile" ihambelana. Ukulungiswa kwe-PSF kwenza ukuba ukujonga idilesi kube yinto eqikelelwayo kwaye yenze umsebenzi "womthwalo" phambi kokuba ulwazi lwedilesi lubalwe ukuba ivenkile/impahla ezibini elawula idilesi enye ibikhe yasetyenziswa ngaphambili. Ukuba uqikelelo aluphumeleli, urhulumente ubuyiselwa umva, kodwa idatha ihlala kwi-cache.

Uhlaselo lwe-PSF lunokwenzeka kuphela ngaphakathi kwesakhelo senqanaba elinye lamalungelo, lugubungela kuphela umxholo wenkqubo yangoku kwaye ivalwe ngeendlela zokuhlukanisa indawo yedilesi okanye iindlela ze-sandbox ye-hardware. Kule meko, iindlela zesanti zesoftware kwiinkqubo zinokuchaphazeleka yingxaki. Uhlaselo lubeka isoyikiso kwiinkqubo ezifana neziphequluli, ii-code execution machines, kunye ne-JITs ezenza ikhowudi yomntu wesithathu ngaphakathi kwenkqubo enye (uhlaselo lunokuvumela ikhowudi ye-sandboxed engathembekanga ukuba ifumane ukufikelela kwenye idatha yenkqubo).

I-AMD ibonelele ngenani leendlela zokukhubaza ngokupheleleyo okanye ngokukhetha ukukhubaza i-PSF, kodwa inikwe umngcipheko ongabalulekanga kuninzi lwezicelo, iye yacebisa ukuba oku kulungiswa kungakhutshazwa ngokungagqibekanga. Ukukhusela ngokukhetha iinkqubo ezibeka bucala abo benza ikhowudi engathembekanga, kucetywa ukuba kukhubazwe i-PSF ngokuseta "i-SSBD" kunye ne-"PSFD" ye-MSR bits, kubandakanywa nemisonto nganye. Iipetshi zilungiselelwe i-Linux kernel ngokuphunyezwa kwe "psfd" kunye ne "nopsfd" iinketho zomyalelo womyalelo olawula indlela iPSF evulwa ngayo kwaye icinywe ngayo.

umthombo: opennet.ru

Yongeza izimvo