Citace Původně odeslal Eagle Zobrazit příspěvek
Cache ti zvýší výkon jen ve specifických úlohách. Většina programů se pohodlně vejde do 512 kB a z další kapacity už moc netěží (určitě ne za tu vyšší cenu).
Porad tady mluvis jen o cache, ale vysvetli mi jednu vec: pokud program (rikejme mu proces) pracuje s daty typicky o velikosti max. 512kB, jedna se o jediny proces. V modernim OS ale bezi velka kopa procesu zaraz a moderni process scheduler dokaze provest jen urcite mnozstvi instrukci z kazdeho aktivniho procesu (dozadujici se prideleni procesoroveho casu). Granularita process scheduleru muze dosahnout bezne 0.5ms na proces. V pripade velke cache (2MB?) se do ni muzou takto vejit data az ctyr procesu zaraz, podle me to prinese celkem slusny narust vykonu. Tohle vse samozrejme za predpokladu, ze v systemu budou bezet zminene ctyri procesy zaraz. Nebo je to snad uloha memory prefetch, aby vzdy pri prepinani aktivniho procesu nacetl pozadovany blok dat z RAM (proces swapovani mezi cache a RAM)?
Vsechno je to o paralelizaci, mohli bychom tady rozvinout dalsi debatu na tema multicore, ale ta uz bezi vedle a tady to nechci zasirat. 512kB cache pro cely procesor tedy rozhodne nestaci a pri typickem desktopovem vyuziti pak souhlasim s narustem vykonu u C2D pri rozdilu 2MB vs. 4MB cache. Pokud cache je jeden z bottlenecku, bude to pri nekterych aplikacich citit u 65nm AMD celkem znatelne (at uz je to problem rychlosti, latenci nebo velikosti).