0 дауыс
521 көрілді
Уақытша есте сақтау құрылғысының ұйымдастырылу принциптері?

1 жауап

0 дауыс

Кэш-жадысының ұйымдастырылуын, жады иерархиясына қатысты төрт сұраққа жауап беру арқылы егжей-тегжейлі қарастырайық. Блоктардың кэш-жадыға орналасу принциптері олардың ұйымдастыруының үш негізгі типін анықтайды: Егер негізгі жадының әр блогы тек ғана бір белгіленген, онда кэш-жадыда пайда бола алатын, орынға ие болса, онда бұндай кэш-жады тікелей көрсетілімді кэш (direct mapped) деп аталады. Бұл кэш-жадының ең қарапайым ұйымдасқан түрі, ол кезде негізігі жадының блоктарының адрестерін көрсету үшін кәш-жадының адрестеріне блок адрестерінің жай ғана кіші разрядтары қолданылады. Сөйтіп, негізгі жадының өз адрестерінде бірдей кіші разрядқа ие барлық блоктар кэш-жадысының бір блогына түседі, яғни

(Кэш жадының блогының адресі) =(негізгі жадының блогының адресі) mod (Кэш жадыдағы блоктар саны). Егер негізгі жадының кейбір блоктары кэш-жадының кез келген орнында орналаса алса, онда кэш толық ассоцияланған (fully associative) деп аталады. Егер негізгі жадының кейбір блоктары кэш-жадының көптеген шектеулі орнында орналаса алса, онда кэш көптік-ассоцияланған(set associative) деп аталады. Көбіне көптік кэштегі блоктардың екі немесе одан көп саныннан құралған топты білдіреді. Егер көптік n блоктардан тұрса, онда ондай орналасу n каналды көптік-ассоцияланған (n-way set associative) деп аталады. Блокты орналастыру үшін ең алдымен көптікті анықтау керек. Көптік жады блогының адресінің кіші разрядымен (индекспен) анықталады: (Кэш жадының көптіктің адресі) =(негізгі жадының блогының адресі) mod (Кэш жадыдағы көптіктер саны) Әрмен қарай блок берілген көптіктің кез келген орнында орналаса алады. Кэш-жадының мүмкін ұйымдасқан диапазоныөте кең: тікелей көрсетілімді кэш-жады жай ғана бір каналды көптік-ассоцияланған кэш-жады, ал m блокты толық ассцияланған кэш-жады m-каналды көптік-ассоцияланғандеп аталуы мүмкін. Қазіргі процессорларда дұрысында тікелей көрсетілімді кэш-жады не екі - (төрт-) каналды көптік-ассоцияланған кэш-жады қолданылады. Кэш-жадыдағы әр блоктың, негізгі жадыдағы қандай блок кэш-жадыдағы берілген блокты білдіретінін көрсететін тегтер адресі болады. Бұл тегтер көбіне 23 бір уақытылы процессор шығаратын жадының блок адресімен салыстырылынады.

Сонымен қатар, кэш-жадыдағы блок қолдануға жарамды немесе дұрыс ақпарат құратындығын анықтайтын тәсілдер қажет. Бұл мәселені шешудің ортақ тәсілі тегке дұрыстық биті (valid bit) деп аталатын қосу ьолып табылады. Көптік-ассоцияланған кэш-жадыны адресациялау процессордан түскен адресті үшке бөлу арқылы орындалады: жылжыту алаңы кэш-жадының блогының ішінде байт таңдау үшін қолданылады, индекс алаңы көптіктің нөмірін анықтайды, ал тег алаңы салыстыру үшін қолданылады. Егер кэш-жадысының өлшемі белгіленген болса, онда ассоциялық деңгейін өсіру көптікте блоктар санының өсуіне әкес соқтырады, сонымен қатар, индеск өлшемі кішірейіп, тег өлшемі өседі. Тікелей көріністі ұйымдастыруды қолданудан түсетін пайда бұл жердегі аппараттық шешімдер барынша қарапайымдылығында. Таңдайтын ештеңе жоқ: тиюге тек бір блок тексеріледі және тек осы блок ғана алмастырыла алады. Кэш-жадыны толық ассоцияланған немесе көптік –ассоцияланған ұйымдастыру кезінде, олардан мүлт кеткен жағдайда кандидат таңдау қажет болатын бірнеше блоктар болады.Дұрысында, блоктарды ауыстыру үшін екі басты стратегия қолданылады: кездейсоқ және LRU. Бірінші жағдайда, бірдей бөлістіру алу үшін, блок-кандидаттар кездейсоқ таңдалады. Кейбір жүйелерде көшірмелі әрекеті, әсіресе аппаратураны тексергенде пайдалы, алу үшін ауыстырудың жалған кездейсоқ алгоритмі қолданылады. Екінші жағдайда, жақын уақытта қажет болып қалуы мүмкін ақпараттарды лақтыру ықтималдылығын төмендету үшін блоктарға жүгінулердің барлығы белгіленеді. Барлығынан ұзағырақ қолданылмаған блок ауыстырылады (LRU - Least-Recently Used). Кездейсоқ тәсілдің жетістігі оны аппаратурада іске асыру оңайырақ. Трассаны қалыпта ұстауға арналған блоктар саны өскен кезде, LRU алгоритмі соғұрлым қымбат және жие тек жақындатылған болып келеді. Кэш-жадыға шынайы бағдарламада жүгінген кезде оқу бойынша жүгіну басым болады. Бұйрықтарға жүгінудің барлығы оқу бойынша жүгіну болып табылады, және бұйрықтардың көбін жадыға жазбайды. Көбіне жазу операциялары жадының жалпы трафигінің 10% артық емесін құрайды. Жалпы жағдайды едәуір жылдам қылу ойы кэш-жадыны оқу операциясын орындау үшін жақсартуды білдіреді, бірақта мәліметтердің жоғары өнімділікті өңдеуді іске асыру кезінде жазу операциясының да жылдамдығын ескерген жөн. Кэш-жадыдан блок сол оның тегі оқылып салыстырылған уақытта оқылады. Сөйтіп, блокты оқу блок адресі қолға түскен кезде-ақ тез басталады. Егер оқу тию арқылы орындалса, онда блок тез арада процессорға бағытталады. Егер мүлт кетсе, онда алдын ала оқылған блоктан түк пайда жоқ, бірақ зияны да жоқ.

https://kzref.org/azastan-respublikasini-bilim-jyene-ilim-ministrligi-v2.html?page=3

...