Pêşniyara şaxê hêmanek krîtîk a mîmariyên CPU-ya nûjen e ku ji bo zêdekirina performansê hatî çêkirin bi spekulasyona rêwerzên şaxê (mînak, daxuyaniyên heke-yên din) berî ku ew werin çareser kirin, hatî çêkirin. Ev spekulasyon destûrê dide CPU-yê ku li ser riya pêşbînîkirî talîmatan ji pêş ve bîne û bicîh bîne, bi vî rengî derengiya têgihîştî kêm bike û rêwerziya giştî baştir bike. Lêbelê, ev xweşbîniya performansê qelsiyên potansiyel ên ku dikarin di êrişên dema CPU de werin bikar anîn destnîşan dike, nemaze di çarçoweya derketina agahdariya hesas de.
Pêşbîniya şaxê bi domandina dîroka encamên şaxê dixebite û vê dîrokê bikar tîne da ku şaxên pêşerojê pêşbîn bike. Dema ku rêwerzek şaxek tê dîtin, pêşbînker vê daneya dîrokî bikar tîne da ku texmîn bike ka dê şax were girtin an na. Ger pêşbînî rast be, CPU bê navber darvekirinê didomîne. Ger xelet be, divê CPU paşde vegere û riya rast bimeşîne, ku cezayê performansê vedigire. Ev ceza, her çend hindik be jî, ji hêla êrîşkaran ve dikare were pîvandin û îstîsmarkirin.
Êrîşkar dikarin pêşbînkera şaxê manîpule bikin da ku di navbera şaxên rast û nerast pêşbînîkirî de cûdahiyek demjimêra pîvandî biafirînin. Ev cûdahî dikare were bikar anîn da ku rêça darvekirinê ya bernameyekê destnîşan bike, ku di encamê de dikare agahdariya hesas eşkere bike. Yek ji mînakên herî naskirî yên êrîşek wusa zerafeta Specter e, ku ji darvekirina spekulatîf û pêşbîniya şaxê bi kar tîne da ku bigihîje cihên bîranînê yên nedestûr.
Di êrîşek Specter a tîpîk de, êrîşkar pêşî pêşbînkerê şaxê perwerde dike da ku şêwazek taybetî bişopîne. Vê qonaxa perwerdehiyê pêkanîna rêzek rêwerzên şaxê ku pêşbînker şert dike ku pêşbîniyek taybetî bike pêk tîne. Dema ku pêşbînker were perwerde kirin, êrîşkar beşek koda qurbaniyê ku şaxek bi daneyên veşartî ve girêdayî ye pêk tîne. Ger pêşbînker li ser bingeha perwerdehiya êrîşkar pêşbîniyek nerast bike, CPU dê bi spekulatîf rêwerzên ku li ser bingeha daneyên veşartî digihîje bîranînê bicîh bîne. Her çend van rêwerzên spekulatîf di dawiyê de têne avêtin jî, ew şopan di cache ya CPU de dihêle.
Dûv re êrîşkar dikare demên gihîştina cîhên bîranînê yên cihêreng bipîve da ku diyar bike ka kîjan dane bi spekulatîf gihîştiye. Ev teknîka ku wekî êrişa demjimêra cache tê zanîn, dihêle ku êrîşkar daneyên veşartî li ser bingeha cûdahiyên demjimêrên çavdêrîkirî derxe holê. Pêngavên sereke di êrîşek weha de ev in:
1. Perwerdehiya Pêşniyarê Şaxê: Êrîşkar rêzek rêwerzên kontrolkirî dimeşîne ku bandorê li rewşa pêşbînkerê şaxê dike. Mînakî, çend caran pêkanîna talîmatek şaxek bi encamek domdar (mînak, her gav tête girtin) şertê dide ku pêşbînker wê encamê di darvekirinên pêşerojê de hêvî bike.
2. Pêşxistina Darvekirina Spekulatîf: Êrîşkar koda qurbanê bi rêwerzek şaxê ve girêdayî bi daneyên veşartî dimeşîne. Ji ber perwerdehiya pêşîn a êrîşkar, pêşbînkerê şaxê bi spekulatîf riya xelet dimeşîne, ku tê de gihîştina bîranînê li ser bingeha daneyên veşartî pêk tîne.
3. Pîvana Cache Access Times: Piştî înfaza spekulatîf, êrîşkar dema ku ew digire da ku bigihîje cihên taybetî yên bîranînê dipîve. Demên gihîştina zûtir destnîşan dikin ku dane di cache de heye, ku tê vê wateyê ku ew bi spekulatîf hatî gihîştin. Bi analîzkirina van demjimêran, êrîşkar dikare daneyên veşartî derxe holê.
Ji bo ronîkirina vê yekê bi mînakek berbiçav, senaryoyek bihesibînin ku daneyên nehênî nîşaneya gihîştina rêzek di nav şaxekê de destnîşan dike. Êrîşkar pêşî pêşbînkerê şaxê perwerde dike da ku rêgezek şaxek diyar bike. Dema ku koda mexdûr dimeşe, pêşbînkerê şaxê bi spekulatîf gihandina rêzê li ser bingeha rêwerziya perwerdekirî pêk tîne. Ger spekulasyon bigihîje hêmanek rêzek taybetî, xeta cache ya têkildar tê barkirin. Dûv re êrîşkar dikare rêzek gihîştinên bîranîna demkî pêk bîne da ku diyar bike ka kîjan xetên cache-ê têne barkirin, bi vî rengî navnîşa nepenî derxe holê.
Kêmkirina êrîşên bi vî rengî gelek stratejiyan vedihewîne. Çareseriyên-based hardware di nav xwe de başkirina veqetandinê di navbera riyên darvekirinê yên spekulatîf û ne-spekulatîf de vedihewîne û piştrast dike ku darvekirina spekulatîf bandorê li çavkaniyên hevpar ên mîna cache nake. Çareseriyên-based nermalavê teknîkên wekî têxistina rêwerzên "dence" vedihewîne da ku pêşî li darvekirina spekulatîf ji hin xalên di kodê re derbas bike, an jî karanîna pratîkên bernamesaziyê yên domdar bikar bîne da ku pê ewle bibe ku dema darvekirinê bi daneyên veşartî ve ne girêdayî ye.
Tevlihevî û sofîstîkebûna êrişên demkî yên li ser bingeha pêşbînkerê şaxê hewcedariya lêkolîn û pêşkeftina domdar hem di ewlehiya hardware û hem jî nermalavê de destnîşan dike. Gava ku mîmarên CPU pêşve diçin, divê stratejiyên ji bo parastina li dijî van û celebên din ên êrişên kanala alî jî werin domandin.
Pirs û bersivên din ên vê dawiyê di derbarê Êrîşên dema CPU:
- Hin ji dijwarî û danûstendinên ku di pêkanîna kêmkirina hardware û nermalavê de li hember êrişên demkî digel domandina performansa pergalê de têkildar in çi ne?
- Meriv çawa dikare bernamesaziya dem-domdar arîkariya kêmkirina xetera êrişên demkî di algorîtmayên krîptografî de bike?
- Darvekirina spekulatîf çi ye, û ew çawa beşdarî bêhêziya pêvajoyên nûjen ên ji bo dema êrîşên mîna Spectre dike?
- Êrîşên demkî çawa cûdahiyên di dema darvekirinê de bikar tînin da ku agahdariya hesas ji pergalê derxînin?
- Êrîşa demkî çi ye?