Кэш жадыны ҧйымдастыру ҥшін, өткізу жолағын жоғарылатудан
гөрі жадының кешігуін азайту маңызды. Дегенмен, жадыны өткізу
жолағын ҧлғайтқан кезде, мҥлт кету кезіндегі шығынды елеулі
ҧлғайпастан, кэш-жады блоктарының өлшемін арттыруға болады.
Жад өткізу жолағын арттырудың негізгі əдістері: жадының санатын
немесе «енін» арттыру; жадының қабатталуын пайдалану; жадының
тəуелсіз банктерін пайдалану; жады банктеріне конфликтсіз байланысу
режимін қамтамасыз ету; жад динамикалық микросҧлбасының арнайы
жҧмыс режимдерін пайдалану.
Негізгі жады санатын арттыру. Көптеген жағдайларда бірінші
деңгейдегі кэш-жады сөздегі санаттардың санына сəйкес келетін
деректер шинасының физикалық еніне ие, өйткені көптеген
компьютерлер осы ақпарат бірліктеріне өтініштер жасайды. Екінші
деңгейлі кэш-жадысыз жҥйелерде негізгі жады деректер шинасының
шина ені кэш-жады деректері шиналарының еніне сəйкес келеді. Кэш-
жадының жəне негізгі жадтың шинасының енін екі есе көбейту немесе
төрт есе көбейту жады жҥйесін өткізу жолағының енін екі еселейді
немесе төрт есе көбейтеді.
Барынша кеңірек шиналарды іске асыру кэш-жады мен процессор
арасында деректерді мультиплекстеуді қажет етеді, өйткені
процессордағы деректерді өңдеудің негізгі бірлігі сөз болып қалады.
Осы мультиплексорлар процессорға ақпараттық ағын тҥсуінің
сынжолында болады. Екінші деңгейдегі кэш-жады бҧл мəселені
біршама жеңілдетеді, себебі бҧл жағдайда мультиплексорлар екі
деңгейлі кэш жады арасында орналасуы мҥмкін, яғни олармен
енгізілетін кідіріс соншалықты шиеленіскен емес. Жад санатының
артуына байланысты басқа проблема, жҥйені пайдалану орнында
қолданушының өзімен орындалатын, жадты кезең-кезеңмен кеңейту
ҥшін шағын көлемді (инкрементті) анықтау қажеттілігімен белгіленеді.
Жадтың енін екі еселеу немесе төрт еселеу осы ең төменгі инкрементті
екі есе көбейтуге немесе төрт есеге көбейтуге алып келеді. Сонымен
қатар, кең жадыдағы жҥйелерде қателерді тҥзетуді ҧйымдастыру
проблемалары да бар.
Қабаттанатын жады. Көптеген микросҧлбалар жҥйесінде
жадының болуы осындай ҧйымға тəн əлеуетті параллелизмді
пайдалану мҥмкіндігін береді. Ол ҥшін жад микросҧлбалары сөздердің
бекітілген санын қамтитын банктер немесе модульдергежиі
біріктіріледі, мҧнда осы банктердің біреуіне ғана кез келген уақытта
байланысуға болады. Жоғарыда айтылғандай, нақты жҥйелерде мҧндай
жады банктеріне қолжетімділік жылдамдығы кейде ғана жеткілікті
болады. Одан туындайтыны, қолжетімділіктің жоғары жылдамдығын
алу ҥшін көптеген жады банктеріне бір мезгілде қол жеткізуді жҥзеге
асыру қажет.
Бҧл ҥшін қолданылатын жалпы əдістердің бірі жадыны қабаттау деп
аталады. Жады банкінің қабаттауы кезінде, əдетте, жадыдағы банктер N
жадының кезеңді мекенжайларының i, i+ 1, i + 2, ..., i + (N - 1) əр тҥрлі
N банктеріне келетіндей реттеледі. і-ші жады банкінде тек
мекенжайлары келесі тҥрде болатын сөздер ғана бар:
kN + i,
мҧндағыk = M- 1 (M — бір банктегі сөздер саны).
Әр банктегі деректерге қол жеткізуді қамтамасыз ететін болсақ,
оның
жекелеген
банкіне
қарағанда,
жалпы
қолжетімділік
жылдамдығын N жадыға дейін қол жеткізе аласыз. Осындай
қабатталған қҧрылымдарды іске асырудың əр тҥрлі əдістері бар.
Олардың көпшілігі əртҥрлі банктерге мекенжайлардың жіберілуін
қамтамасыз ететін жəне банктерден келіп тҥсетін деректерді
мультиплекстеуге арналған конвейерлерді еске тҥсіреді. Осылайша,
қабаттанудың дəрежесі немесе коэффициенті жады банктеріне
мекенжайларды бөлуді анықтайды. Мҧндай жҥйелер оқу кезінде кэш-
жадына ақпарат жинаған кезде, сондай-ақ кэш-жадысының кері
көшірмелеу механизмдерін пайдаланған жағдайда тəн болып
табылатын, жадтың кезеңді мекенжайлары бойынша өтініштерді
оңтайландырады. Дегенмен, кезеңді орналасқан жадыдағы сөздерге қол
жеткізу талап етілетін болса, қабаттасқан жадтың өнімділігі
айтарлықтай азайтылуы мҥмкін.
Жадтың қабаттануын жинақтау - бірнеше жад бақылаушылары
жадыдағы банктерге (немесе жадының қабаттанған топтарына) тəуелсіз
жҧмыс істеуіне мҥмкіндік беретін бірнеше тəуелсіз өтініштерді іске
асыру мҥмкіндігі.
Егер жады жҥйесі көптеген тəуелсіз сҧраныстарды (кэш-жадымен
жҧмыс істеген кезде, көппроцессорлы жəне векторлы өңдеуді іске
асыру кезінде) қолдау ҥшін əзірленген болса, жҥйенің тиімділігі көп
дəрежеде əр тҥрлі банктерге тəуелсіз сҧраныстардың тҥсу жиілігіне
байланысты болады. Кезеңді мекенжайларға өтініш немесе тақ саннан
өзгешеленетін мекенжайларға қатысты жалпы жағдайда, қабатталған
жады дəстҥрлі жолдарымен жақсы өңделеді. Мекенжайлардағы кезеңді
өтініштер саны айырмашылығы тақ болатын болса, қиындықтар пайда
болады. Ірі компьютерлерде пайдаланылатын шешімдердің бірі - ол
жады банктерінің санын едəуір арттыру арқылы осындай кері
өтініштердің ықтималдығын статистикалық тҥрде азайту. Мысалы,
NEC SX/3 суперкомпьютерінде 128 жады банктері пайдаланылады.
Ҧқсас проблемалар бағдарламалық жəне аппараттық қҧралдармен
шешілуі мҥмкін.
ДЕІЕҚ
ерекшелігі қасиеттерін пайдалану.
ДЕІЕҚ
өтініш екі
кезеңнен тҧрады: дерекқор жолына қол жеткізу жəне бағанға өтініш.
Достарыңызбен бөлісу: |