Keshtiń pataslanıwı

Kesh pataslanıwı — bul orınlanıp atırǵan kompyuter programması zárúr bolmaǵan maǵlıwmatlardı processor keshine júkleytuǵın jaǵdaylardı táriyipleydi. Bul basqa paydalı maǵlıwmatlardıń keshten yad ierarxiyasınıń tómengi dárejelerine shıǵarılıwına alıp kelip, ónimlilikti tómenletedi. Mısalı, kóp yadrolı processorda bir yadro basqa yadrolar tárepinen alınǵan bloklardı ulıwma keshte almastırıwı múmkin, yamasa aldın ala alınǵan bloklar talap boyınsha alınǵan bloklardı keshten almastırıwı múmkin.

 Mısal 
Tómendegi mısaldı qarań:
  T[0] = T[0] + 1;
  for i in 0..sizeof(CACHE)
    C[i] = C[i] + 1;
  T[0] = T[0] + C[sizeof(CACHE)-1];
(Bul jerde mınaday boljamlar bar: kesh tek bir dárejeden ibarat, ol qulıplanbaǵan, almastırıw siyasatı psevdo-LRU, barlıq maǵlıwmatlar keshlenetuǵın, keshtiń ornatılǵan associativligi N (N > 1 bolǵan jaǵdayda), hám baǵdarlama mánislerin saqlaw ushın eń kóp degende bir processor registri bar).

Cikl baslanıwdan aldın, T[0] yadtan keshke alınıp, onıń mánisi jańalanadı. Biraq, cikl orınlanǵan waqıtta, cikl paydalanatuǵın maǵlıwmat elementleriniń sanı keshtiń tolıq sıyımlılıǵın toltırıwdı talap etkenlikten, T[0] di óz ishine alǵan kesh blogı shıǵarılıwı kerek boladı. Solay etip, baǵdarlama keyingi ret T[0] di jańalawdı soraǵan waqıtta, kesh qáteligi júz beredi, hám kesh basqarıwshısı tiyisli kesh blogın tiykarǵı yaddan qaytadan alıp keliw ushın maǵlıwmat shinasına soraw jiberiwi kerek boladı.

Bul jaǵdayda kesh «pataslanǵan» dep esaplanadı. T[0] diń birinshi jańalanıwın cikl menen ekinshi jańalanıw arasına jaylastırıw arqalı maǵlıwmatlarǵa kirisiw úlgisin ózgertiw bul nátiyjesizlikti saplastırıwı múmkin:
  for i in 0..sizeof(CACHE)
    C[i] = C[i] + 1;
  T[0] = T[0] + 1;
  T[0] = T[0] + C[sizeof(CACHE)-1];

 Sheshimler 
Joqarıda aytılǵan kodtı qayta dúziwden basqa, kesh pataslanıwınıń sheshimi tek joqarı qayta paydalanıw maǵlıwmatlarınıń keshte saqlanıwın támiyinlew bolıp tabıladı. Oǵan arnawlı keshti basqarıw buyrıqların, operaciyalıq sistema qollawın yamasa apparatlıq támiynat qollawın paydalanıw arqalı erisiwge boladı.

Arnawlı apparatlıq támiynat buyrıqlarınıń mısallarına PowerPC AltiVec tárepinen berilgen «lvxl» kiredi. Bul buyrıq 128 bit keńliktegi mánisti registrge júkleydi hám sáykes kesh blogın «eń az jaqında paydalanılǵan» dep belgileydi, yaǵnıy óz kesh toplamınan bloktı shıǵarıw zárúrligi tuwılǵanda, onı shıǵarıw ushın tiykarǵı talaban etip belgileydi. Joqarıdaǵı mısal kontekstinde bul buyrıqtı durıs paydalanıw ushın, cikl paydalanatuǵın maǵlıwmat elementleri usı buyrıq arqalı júkleniwi kerek. Usılay ámelge asırılǵanda, kesh pataslanıwı orın almaǵan bolar edi, sebebi bunday cikldıń orınlanıwı T[0] diń keshten waqtınan burın shıǵarılıwına alıp kelmegen bolar edi. Bul cikl alǵa ilgerlegen sayın, C daǵı elementlerdiń adresleri bir kesh jolına sáykes keletuǵını sebepli aldın alınǵan bolar edi, bul arqalı haqıyqatında gónergen (biraq «eń az jaqında paydalanılǵan» dep belgilenbegen) maǵlıwmatlar basqa jol(lar)da buzılmay qalar edi. Tek eń eski maǵlıwmatlar (berilgen mısal ushın áhmiyetli emes) keshten shıǵarılǵan bolar edi, al T[0] buǵan kirmeydi, sebebi onıń jańalanıwı cikl baslanıwınan dál aldın júz beredi.

Usıǵan uqsas, operaciyalıq sistema (OS) járdeminde, tiykarǵı yadtaǵı C maǵlıwmat massivine sáykes keletuǵın betler «keshlewge qadaǵan etilgen» yamasa basqasha aytqanda, keshlenbeytuǵın etip belgileniwi múmkin. Sonday-aq, apparatlıq támiynat dárejesinde, tómen qayta paydalanıw maǵlıwmatların programmanıń kirisiw úlgisi tiykarında anıqlaytuǵın hám olardı keshten aylanıp ótetuǵın keshti aylanıp ótiw sxemaları qollanılıwı múmkin. Bunnan tısqarı, ortalastırılǵan kesh islep atırǵan qollanbalar arasındaǵı buzıwshı tásirdi aldın alıw ushın bóleklerge ajıratılıwı múmkin. Bul sheshimlerdegi kompromiss sonnan ibarat, OSǵa tiykarlanǵan sxemalar úlken keshigiwge iye bolıwı múmkin, bul kesh pataslanıwın aldın alıw arqalı erisiletuǵın paydanı biykarlawı múmkin (eger yad aymaǵı baslawdan-aq keshlenbeytuǵın bolmasa), al apparatlıq támiynat tiykarlanǵan usıllar programmanıń basqarıw aǵımı hám yadqa kirisiw úlgisiniń ulıwma kórinisine iye bolmawı múmkin.

 Áhmiyetiniń artıwı 
Kesh pataslanıwın basqarıwdıń áhmiyeti artıp barmaqta, sebebi «yad diywalı» dep atalatuǵın qubılıs keltirip shıǵaratuǵın zıyanlar ósiwin dawam etpekte. Chip óndiriwshiler yad penen processor arasındaǵı salıstırmalı keshigiwdiń úziliksiz ósiwin jeńiw ushın jańa usıllardı oylap tabıwdı dawam etpekte. Olar bunı kesh kólemlerin arttırıw hám programmalıq támiynat injenerlerine maǵlıwmatlardıń processorǵa keliwi hám onda qalıwın basqarıwdıń paydalı usılların usınıw arqalı ámelge asırmaqta. Kesh pataslanıwın basqarıw - (tiykarınan engizilgen sistemalar menen shuǵıllanıwshı) baǵdarlamashıǵa qoljetimli kóplegen qurallarlıń biri. Degen menen, basqa da usıllar, olardıń kópshiligi menshikli hám belgili bir apparatlıq támiynat hám qosımshaǵa tiyisli bolıp, qollanılmaqta.

 Derekler 

__BÖLİDİMÖNDEMEW__

Kategoriya:Kompyuter arxitekturası