Педагогика технологиялар институты б. К. Казбекова



жүктеу 1,77 Mb.
Pdf просмотр
бет18/67
Дата04.01.2022
өлшемі1,77 Mb.
#36148
1   ...   14   15   16   17   18   19   20   21   ...   67
Kazbekova Kompjuter arkhitek. 80

 

Кэш-жады

 

Кэш-жадысының  ұйымдастырылуын,  жады  иерархиясына  қатысты  тӛрт 



сұраққа жауап беру арқылы егжей-тегжейлі қарастырайық. 

Блоктардың кэш-жадыға орналасу принциптері олардың ұйымдастыруының үш 

негізгі типін анықтайды: 

-  Егер  негізгі  жадының  әр  блогы  тек  ғана  бір  белгіленген,  онда  кэш-жадыда 

пайда  бола  алатын,      орынға  ие  болса,  онда  бұндай  кэш-жады  тікелей 

кӛрсетілімді кэш (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%  артық  емесін  құрайды.  Жалпы  жағдайды 

едәуір  жылдам  қылу  ойы  кэш-жадыны  оқу  операциясын  орындау  үшін 

жақсартуды  білдіреді,  бірақта  мәліметтердің  жоғары  ӛнімділікті  ӛңдеуді  іске 

асыру кезінде жазу операциясының да жылдамдығын ескерген жӛн. 

Кэш-жадыдан  блок  сол  оның  тегі  оқылып  салыстырылған  уақытта  

оқылады. Сӛйтіп, блокты оқу блок адресі қолға түскен кезде-ақ тез басталады. 

Егер оқу тию арқылы орындалса, онда блок тез арада процессорға бағытталады. 

Егер мүлт кетсе, онда алдын ала оқылған блоктан түк пайда жоқ, бірақ зияны да 

жоқ. 



24 

 

Бірақта  жазу  операциясын  орындау  кезінде  жағдай  түбімен  ӛзгереді. 



Процессордың ӛзі жазудың ӛлшемін (кӛбіне 1-ден 8 байтқа дейін)  анықтайды 

және  блоктың  дәл  осы  бӛлігі  ӛзгертіле  алады.  Жалпылама  жағдайда бұл  деген 

блоктармен  оқу-ӛзгерту-жазу  операцияларының  тізбегін  орындауды  білдіреді. 

Сонымен  қатар,  блок  ӛзгеруі  жүгіну  тию  екеніне  кӛз  жеткізу  үшін  тег 

тексеріліп  жатқан  кезде  бастала  алмайды.  Тегтерді  тексеру  басқа  жұмыспен 

параллельді  орындалатынлықта  онда  жазу  операциясы  оқу  операциясына 

қарағанда кӛп уақыт алады. 

Ӛте  жие  кэш-жадыны  түрлі  машиналарда  ұйымдастыру  осы  жазуды 

орындау стратегиясынымен ерекшеленеді. Жазу оырндалған кезде  кэш-жадыда 

екі базалық мүмкіндік бар: 

-     Тура  жазу  (write  through,  store  through)  –  ақпарат  екі  орынға  жазылады:  

кэш-жадысының блогына және жадының неғұрлым тӛменгі деңгейдің блогына.  

-     Кері  кӛшірмелі  жазу  (write  back,  copy  back,  store  in)  –ақпарат  тек  кэш-

жадының блогына жазылады. 

Кэш-жадының ӛзгертілген блогы негізгі жадыға тек ол ауысқан кезде ғана 

жазылады.  Блоктардың  кӛшірілунің  жиілігін  қысқарту  үшін  ауыстыру  кезінде 

кӛбіне  кэш-жадының  әр  блогы  арқылы  ӛзгеріс  биті  (dirty  bit)  деп  аталатын 

байланыстырылады.  Бұл  күй    биті  кэш-жадыда  орналасқан  блок  ӛзгертілді  ме 

екенін кӛрсетеді. Егер ол ӛзгертілмесе, онда кері кӛшіру болдырмайды, ӛйткені 

тӛменгі деңгей кэш-жадағы  секілді ақпараттарды құрайды.  

Екі  амалда  жазуды  ұйымдастыруда  ӛздерінің жетістіктері  мен  кемшіліктері  де 

бар.Кері 

кӛшірмелі 

жазу 


кезінде 

жазу 


операциясы 

кэш-жадының 

жылдамдығымен орындалады және бірнеше жазбалардың сол бір блог жадыда 

неғұрлым  тӛменгі  деңгейлі  бір  жазбаны  талап  етеді.  Бұл  жағдайда  негізгі 

жадыға жүгіну сирек болады, жалпы  айтқанда жадының аз ӛткізу жолы керек, 

бұл деген мультипроцессорлік жүйелер  үшін тартымды. Тура жазу кезінде оқу 

бойынша  мүлт  кетулер  соғұрлым  жоғары  деңгейдегі  жазбаға  әсер  етпейді  , 

сонымен  қатар  тура  жазу  кері  кӛшірмелі  жазуға  қарағанда  оңай  іске 

асырылады.  Тура  жазу,  сонымен  қатар  негізгі  жадыда  мәліметтердің  жаңа 

кӛшірме  болатындығымен  пайдалы.  Бұл  мультипроцессорлік  жүйелер  үшін, 

сонымен қатар енгізу/шығаруды ұйымдастыру үшін де  маңызды. 

Тура  жазу  орындалу  барысында  роцессор  жазудың  аяқталуын  күткен 

кезде  ол  жазу  үшін  тоқтайды  дейді      (write  stall).  Жазу  бойынша  тоқтауларды 

азайту  тәсілдері,  процессорға  жады  іші  жаңару  уақытында  бұйрықтарды 

орындауды жалғастыруға рұқсат беретін жазу буферін (write buffer) қолданумен 

байланысты.  Жазу  бойынша тоқтаулар жазу буферлері болса да туындайды. 

Жазу уақытында мүлт кетулерде  екі қосымша мүмкіншіліктер болады:  

-     Жазуды  кэш-жадыға  орналастыру  (write  allocate)  (сонымен  қатар  жазу 

кезіндегі  таңдау  деп  аталады  (fetch  on  write)).  Блок  кэш-жадыға  жүктеледі, 

ізінен тию жазуын орындағандағыдай ұқсас әрекеттер орындалады.  

-      Жазуды  кэш-жадыға  орналастырмау  (сонымен  қатар  қоршауға  жазу  деп 

аталады (write around)). Блок неғұрлым тӛменгі деңгейде ӛзгертіледі және кэш-

жадыға жүктелмейді.  



25 

 

 кэш-жадыға,  кері  кӛшірмелі  жазуды  іске  асыраты,  жазуды  кэш-жадыға 



орналастыру қолданылады (келесі жазу бұл блокқа ұсталады деген үмітпен), ал 

тура  жазулы  кэш-жадыда  жазуды  кэш-жадыға    орналастыру  жие 

қолданылмайды (ӛйткені келесі жазу бұл блокқа бәрі бір түспейді) 

Кэш-жадылы  жүйелерде    жадыға  кірудің  орташа  уақытына  арналған 

формула келесі түрде беріледі:    

 

Кірудің  орташа  уақыты  =  тию  кезінде  жүгіну  уақыты  +  Мүлт  кету  үлесі* 



Мүлт кету кезіндегі жоғалту    

 

Бұл  формула  кэш-жадының  жұмыс  жақсартудың  жолдардың  кӛрнекі 



түрде  кӛрсетеді:  мүлт  кетулердің  үліс  қысқарту,  мүлт  кету  кезінде  жоғалтуды 

қысқарту, сонымен қатар тию кезінде кэш-жадыға жүгіну уақытын қысқарту.  

 


жүктеу 1,77 Mb.

Достарыңызбен бөлісу:
1   ...   14   15   16   17   18   19   20   21   ...   67




©g.engime.org 2024
әкімшілігінің қараңыз

    Басты бет
рсетілетін қызмет
халықаралық қаржы
Астана халықаралық
қызмет регламенті
бекіту туралы
туралы ережені
орталығы туралы
субсидиялау мемлекеттік
кеңес туралы
ніндегі кеңес
орталығын басқару
қаржы орталығын
қаржы орталығы
құрамын бекіту
неркәсіптік кешен
міндетті құпия
болуына ерікті
тексерілу мемлекеттік
медициналық тексерілу
құпия медициналық
ерікті анонимді
Бастауыш тәлім
қатысуға жолдамалар
қызметшілері арасындағы
академиялық демалыс
алушыларға академиялық
білім алушыларға
ұйымдарында білім
туралы хабарландыру
конкурс туралы
мемлекеттік қызметшілері
мемлекеттік әкімшілік
органдардың мемлекеттік
мемлекеттік органдардың
барлық мемлекеттік
арналған барлық
орналасуға арналған
лауазымына орналасуға
әкімшілік лауазымына
инфекцияның болуына
жәрдемдесудің белсенді
шараларына қатысуға
саласындағы дайындаушы
ленген қосылған
шегінде бюджетке
салығы шегінде
есептелген қосылған
ұйымдарға есептелген
дайындаушы ұйымдарға
кешен саласындағы
сомасын субсидиялау