2018-01-08-2921289

պատմեմ ձեզ, երեխաներ, ինթելի վերջերս յայտնաբերուած բագի մասին։ նախ ասեմ, որ երեք բագ ա, դրանցից մէկն ա շատ կրիտիկական ու կայ ինթելում միայն, էն մնացածից մէկը կայ ամդ֊ում ու արմի կոնկրետ մի վարկածում։ ի՞նչ ա լինում՝ մի պրոցեսը կարողանում ա կարդալ այլ պրոցեսի յիշողութիւն։ ու էդ ոչինչ, եթէ ունես ասենք ամազոնում վիրտուալ սերուեր, քո ծրագիրը նաեւ կարող ա կարդալ նոյն իրական մեքենայի վրայ գտնուող ուրիշին պատկանող վիրտուալ այլ սերուերի յիշողութիւն։

բագը գտնւում ա շատ հետաքրքիր տեղ՝ branch prediction մեխանիզմի մէջ։ գուցէ արդէն գիտէք, որ ինթելների վրայ, ի տարբերութիւն տեսութեանը, զանգուածի մէջ ինսերթն աւելի արագ ա կատարւում, քան կապակցուած ցուցակի։ դա բացատրւում ա պրոցեսորի քեշաւորման մեխանիզմներով․ վիճակագրութիւն ա հաւաքում, տեսնում ա էս յիշողութեան սեգմենտին մի երկու անգամ դիմել են, այդ մասը բեռնում ա քեշի մէջ, իսկ քեշի մէջ թէկուզ տուեալներ շիֆթ անելով ինսերթն աւելի արագ ա, քան օպերատիւ յիշողութեան մէջ՝ կապակցուած ցուցակում ցուցիչներ փոխելով։

նման մի բան ա եւ branch prediction֊ը՝ վիճակագրութիւն ա հաւաքում, ասենք ունես BNE (branch if not equal) պրոցեսորի հրաման, ու եթէ քանի անգամ պայմանը կատարուել ա, պրոցեսորը ենթադրում ա որ էլի կը կատարուի, ու աշխատեցնում ա համապատասխան կոդ, ընթացքում, սակայն, ստուգումը կատարւում ա։ եթէ պարզուի, որ ճիշտ չի պայմանը, ապա ծրագրի սթէյթը բերում ա նախկին վիճակի, ու այլ տեղ ա բրենչ անում։

սա տալիս ա զգալի արագութեան աճ, եթէ ասենք լուփի մէջ increment ես անում մի թիւ, ու ստուգում ես, ասենք n թուից փոքր ա թէ մեծ, ու եթէ փոքր ա, մի բան ես անում, եթէ չէ՝ այլ։ նշանակում ա, որ պրոցեսորը շատ արագ կը կատարի այդ պրոցեսի երկու մասը։ իսկ եթէ թիւը չես մեծացնում, այլ պատահական թիւ ես վերցնում, բնականաբար, արագ չի կատարւում, որովհետեւ prediction֊ը լաւ չի կարողանում աշխատել։

այդ մեխանիզմի պատճառով էլ կայ այլ պրոցեսի յիշողութեանը դիմելու բագ։ ծրագրային լուծումներ հիմա կան, կոնտեքստի փոփոխութեան ժամանակ են կատարւում, ու դանդաղեցնում են աշխատանքը, որոշ հատուածներում ունենում ես մինչեւ երեսուն տոկոսի արագութեան անկում։ դա խնդիր ա, ու հետաքրքիր ա, որ ինթելի գլուխներից մէկը այդ բագը բացայայտելուց մի քանի օր առաջ իր բոլոր, ինչքան իրաւունք ունէր ունենալու (թէ՞ ծախելու, չեմ յիշում) բաժնետոմսերը վաճառել ա։

ամդ֊ն այսօր աւելի լաւ վիճակում ա, ստացւում ա։

տենց։ #տեղեկատուական_տեխնոլոգիաներ

բնօրինակ սփիւռքում(եւ մեկնաբանութիւննե՞ր)

պիտակներ՝ տեղեկատուական_տեխնոլոգիաներ