Nos ugy gondoltam e hetvegi ugykodesem melto arra, hogy elso blogbejegyzesem targya legyen.
Ebben a threadben felmerult, hogy meg kene merni a core 2 processzor pipelinejanak hosszat. Erre a legkezenfekvobb modszer a jol megjosolt es a rosszul megjosolt fuggvenyhivasok kozti idokulonbseg kimerese. Mert hogy mit is jelent ez? Mint tudjuk a modernebb processzorokban van ugynevezet branch prediction, amikor is a processzor a feltetles es indirekt ugrasokrol megprobalja kitalalni, hogy hova erkeznek. Igy nem kell megvarnia amig pipelineban eltoltott sok orajel alatt kiertekelodik az ugroutasitas es kiderul, hogy hol folytatodik a program az ugras utan, hanem a joslat szerint folyamatosan tolti be a tippelt helyrol az epp kovetkezo utasitasokat a pipelineba. Ha jol tippelt a proci akkor az ugras nulla idokiesest jelent, ha azonban rosszul, akkor amikor a tevedes kiderul (az ugroutasitas teljesen kiertekelodik) el kell dobni a pipeline teljes tartalmat, es az ugras utan ujra kell feltolteni. Szoval ha rosszul tippelte az ugrast a proci, akkor egy pipeline hossznyi idokiesest jelent az ugras.