On 2008.09.14 18:20, Alvidon wrote: > Nieks to nedaro dėl vienos esminės priežasties - kešas per brangus, > kad apsimokėtų tokie žaidimai. T.y. rinka neprisirpus mokėti tokius > pinigus už tokį pagreitėjimą. Šiaip čia yra dveji dalykai - viena, tokie CPU egzistuoja ir yra naudojami (žr. kad ir pakankamai specializuotus CPU - bet jie dažniausiai nėra pritaikyti "bendro pobūdžio užduotims" spręsti), kita - SRAM kaina nėr tokia ir kosminė kad būtų "per brangu" - bet niekam to nereikia. Iš kitos pusės, man žinomi kompileriai visi turi opcijas (ir bent jau patys stengias tai daryt "padefoltu") kad aligninti bytecode pagal kešą. Rimtesnės programos (paimkim kad ir populiarią DBVS - MySQL kaip pavyzdį) stengiasi operuoti duomenų kiekiais kurie telpa cache. Pagrindinis apkrovimas tada - ant CPU, bet operacinkė tuo metu beveik nieko neveikia (apart multitaskingo) - tai nafyg dar naudot cache vietą kažkokiai operacinkei, kuri tik suės daug atminties, o darbo nepadarys? Juo labiau kad ir greičio jai nereikia. Programų sąrašą galima tęsti minint ir daugelį JIT kompilerį naudojančių programų (JAVA, etc), ir žaidimus taipogi ;-) Tai kaip ir iš vienos pusės - na, sakykim tu atsikratai DMA, susigalvoji savo architektūrą ir taip toliau, ir pakrauni OS į kešą. Bet tai klausimas - nafig? OS dažniausiai nereikia greičio, jo reikia taikomosioms programoms + duomenims, o tai yra naudojama ir dabar - t.y. duomenų prefetchinimas, pastangos sukišt viską į cache ir operacijos su duomenimis vien ten, etc - viskas yra dabar. T.y. viskas ko reikia greitam programos darbui. Tai nafyg dar laikyt ten kernelį, kuris apskritai dirba kokius 0.01% CPU ir I/O laiko? =)