Kev tawm tsam tshiab ntawm microarchitectural qauv ntawm Intel thiab AMD processors

Ib pawg ntawm cov kws tshawb fawb los ntawm University of Virginia thiab University of California tau nthuav tawm hom tshiab ntawm kev tawm tsam ntawm cov qauv microarchitectural ntawm Intel thiab AMD processors, txheeb xyuas thaum rov qab engineering ntawm cov ntaub ntawv tsis muaj ntaub ntawv CPU. Txoj kev tawm tsam kev tawm tsam suav nrog kev siv qhov nruab nrab micro-op cache hauv cov txheej txheem, uas tuaj yeem siv los khaws cov ntaub ntawv khaws tseg thaum xav txog kev ua tiav cov lus qhia.

Rau optimization lub hom phiaj, tus processor pib ua ib co lus qhia nyob rau hauv speculative hom, tsis tau tos rau yav dhau los xam kom tiav, thiab yog hais tias nws ces txiav txim siab tias qhov kev twv tsis raug cai, nws dov rov qab mus rau lub qub lub xeev, tab sis cov ntaub ntawv ua thaum lub sij hawm. speculative execution yog tso rau hauv ib lub cache, cov ntsiab lus uas yuav txiav txim tau.

Nws tau raug sau tseg tias txoj kev tshiab no ua tau zoo tshaj qhov Spectre v1 nres, ua rau qhov kev tawm tsam nyuaj rau kev ntes thiab tsis thaiv los ntawm cov txheej txheem uas twb muaj lawm ntawm kev tiv thaiv sab-channel tawm tsam tsim los thaiv qhov tsis zoo tshwm sim los ntawm kev xav txog kev ua tiav cov lus qhia (piv txwv li, kev siv. ntawm LFENCE cov lus qhia thaiv cov xau hauv cov theem kawg ntawm kev ua tiav, tab sis tsis tiv thaiv tawm los ntawm microarchitectural qauv).

Cov txheej txheem cuam tshuam rau Intel thiab AMD processor qauv tso tawm txij li xyoo 2011, suav nrog Intel Skylake thiab AMD Zen series. Niaj hnub nimno CPUs rhuav tshem cov lus qhia ua haujlwm yooj yim rau hauv RISC-zoo li micro-kev ua haujlwm, uas yog cached nyob rau hauv ib qho cache cais. Cov cache no yog qhov sib txawv los ntawm qib siab dua cache, tsis tuaj yeem nkag ncaj qha thiab ua raws li cov kwj tsis rau kev nkag mus sai rau cov txiaj ntsig ntawm kev txiav txim siab CISC cov lus qhia rau hauv RISC microinstructions. Txawm li cas los xij, cov kws tshawb fawb tau pom txoj hauv kev los tsim cov xwm txheej uas tshwm sim thaum cache nkag mus rau qhov tsis sib haum xeeb thiab tso cai rau ib tus los txiav txim cov ntsiab lus ntawm micro-kev ua haujlwm cache los ntawm kev txheeb xyuas qhov sib txawv ntawm lub sijhawm ua tiav ntawm qee yam kev ua.

Kev tawm tsam tshiab ntawm microarchitectural qauv ntawm Intel thiab AMD processors

Lub micro-kev ua haujlwm cache hauv Intel processors yog segmented nyob rau hauv kev sib raug zoo rau CPU threads (Hyper-Threading), thaum AMD Zen processors siv ib tug sib koom cache, uas tsim tej yam kev mob rau cov ntaub ntawv leakage tsis tau tsuas yog nyob rau hauv ib tug ua tiav xov, tab sis kuj ntawm txawv threads nyob rau hauv SMT. (tej zaum cov ntaub ntawv xau ntawm cov lej khiav ntawm cov txheej txheem sib txawv CPU cores).

Cov kws tshawb fawb tau npaj ib txoj hauv kev los txheeb xyuas cov kev hloov pauv hauv micro-kev ua haujlwm cache thiab ntau qhov xwm txheej tawm tsam uas tso cai rau tsim cov ntaub ntawv zais cov kab sib kis thiab siv cov lej tsis zoo kom xau cov ntaub ntawv tsis pub lwm tus paub, ob qho tib si hauv ib txheej txheem (piv txwv li, xau cov ntaub ntawv txheej txheem thaum ua tiav. Cov neeg thib peb cov cai hauv cov cav nrog JIT thiab hauv cov tshuab virtual), thiab nruab nrab ntawm cov ntsiav thiab cov txheej txheem hauv cov neeg siv qhov chaw.

Thaum txhim kho qhov sib txawv ntawm Spectre nres siv micro-kev ua haujlwm cache, cov kws tshawb fawb tau ua tiav qhov kev ua tau zoo ntawm 965.59 Kbps nrog qhov ua yuam kev ntawm 0.22% thiab 785.56 Kbps thaum siv kev kho qhov yuam kev, nyob rau hauv rooj plaub ntawm kev teeb tsa lub xau hauv tib qhov chaw nyob. qhov chaw thiab theem cai. Nrog rau qhov sib txawv ntawm cov cai sib txawv (nruab nrab ntawm cov ntsiav thiab chaw siv), kev ua haujlwm yog 85.2 Kbps nrog kev kho qhov yuam kev ntxiv thiab 110.96 Kbps nrog qhov yuam kev ntawm 4%. Thaum tawm tsam AMD Zen processors, tsim kom muaj qhov sib txawv ntawm cov txheej txheem sib txawv CPU cores, qhov kev ua tau zoo yog 250 Kbps nrog qhov yuam kev ntawm 5.59% thiab 168.58 Kbps nrog kev kho qhov yuam kev. Piv nrog rau txoj kev Spectre v1 classic, qhov kev tawm tsam tshiab yog 2.6 npaug sai dua.

Nws cia siab tias kev tiv thaiv micro-op cache nres yuav xav tau kev hloov pauv uas yuav txo qis kev ua haujlwm ntau dua li yog tias koj qhib Spectre nres tiv thaiv. Raws li kev pom zoo kev pom zoo, nws tau thov kom thaiv cov kev tawm tsam tsis yog los ntawm kev tsis ua haujlwm caching, tab sis nyob rau theem ntawm kev saib xyuas qhov tsis txaus ntseeg thiab txheeb xyuas lub xeev cache uas raug rau kev tawm tsam.

Raws li nyob rau hauv Spectre tawm tsam, kev teeb tsa lub xau los ntawm cov ntsiav lossis lwm cov txheej txheem yuav tsum tau ua tiav ntawm qee cov lus txib (gadgets) nyob rau sab ntawm cov txheej txheem raug tsim txom, ua rau kev ua tiav ntawm cov lus qhia. Txog 100 yam khoom zoo sib xws tau pom nyob rau hauv Linux ntsiav, uas yuav raug tshem tawm, tab sis kev ua haujlwm rau lawv tiam tau pom ib ntus, piv txwv li, ntsig txog kev khiav tshwj xeeb tsim BPF cov kev pab cuam hauv cov ntsiav.

Tau qhov twg los: opennet.ru

Ntxiv ib saib