Общая часть (часть 2) (2015) (by Кибитова) (1161598), страница 19
Текст из файла (страница 19)
В общемпредставляетаппаратнуюкомпьютерыимеют два независимыхКЭШа:случае,КЭШкэшданныхи КЭШ собоюкоманд,каждыйизразделяетсянаблокиодинаковогоразмера.Обмен1.Условно,всяпамятьодинаковогоразмера.Обменкоторыхработаетсосвоимпотокоминформации—потокомкомандипотокомпереходаневыполняется,топереходнап.1.Иначе,вычисляетсяисполнительныйадрес«емкость»,вкоторойаккумулируютсянаиболеечастоиспользуемыеданныеизкоторых работает со своим потоком информации — потоком команд и потокомданными АпереходамеждуКЭШемоперативнойпамятьюосуществляетсяблокамиоперандов.даннымипамятьюосуществляетсяблокамиоперанда, затем:СчКдоступа=иАпереходаи осуществляетсяпереходп.1. соизмеримаоперативнойпамяти.Скоростьк информации,размещённойвнаКЭШе,операндов.фиксированногоможемвидетьвозможноепроявлениепреимуществафиксированногообъёма.Здесьмывозможноепроявлениепреимуществасо скоростью обработки информации в ЦП.
Обмен данными при выполнении программыиспользованиятак как 39загрузкаблокапамятииспользованияблока изиз оперативнойоперативнойпамяти(чтениекоманд,памятичтениес расслоением,значений операндов,запись результатов)происходитне с ввКЭШ осуществляетсяосуществляетсяпараллелизмаработыКЭШиспользованиемработы«расслоенной»оперативнойячейкамиоперативнойс памяти,а с содержимымКЭШа.При «расслоенной»необходимостиоперативнойиз КЭШапамяти.«выталкивается»часть данных в ОЗУ или загружаются из ОЗУ новые данные.
Варьируя памяти.2. КЭШа,Каждыйблокимеет спецификатордоступа–– тэг,вв которомнаходитсяразмеры2.можноблоксущественноминимизироватьчастотуреальныхобращенийкКаждыйимеетспецификатордоступатэг,которомнаходитсяслужебная информация,информация,характеризующаятэгеможетсодержатьсяоперативнойпамяти. Размещениеи команд, и данныйданных вблок.одномВкслужебнаяхарактеризующаяданныйблок.ВКЭШетэге можетможетприводитьсодержатьсяинформациятом, какойкакойобластиОПблока,занятилитому,что командыи данныеначинаютвытеснять содержимоедруг друга,данногоувеличиваяприэтоминформацияоо том,областиОП соответствуетсоответствуетсодержимоеданногоблока,занятилисвободен блок,блок,производилисьизменениявв данномблокепроцессоруобращенияк оперативнойпамяти.измененияДля исключениянедетерминированнойконкуренциивсвободенпроизводилисьданномблоке илиили нет.нет.
КогдаКогдапроцессорунужнообратитьсязакомандойилизаданнымивОП,сначалапроисходитобращениеКЭШемеждукомандамипрограммыиобрабатываемымиданнымисовременныенужно обратиться за командой или за данными в ОП, сначала происходит обращение ккКЭШу. ПоПо содержимомусодержимомуадресного тэгаможнооднозначносодержимоеблока.компьютерыимеют два независимыхКЭШа:КЭШданных адресоватьи КЭШ команд,каждыйизКЭШу.адресноготэгаможнооднозначноадресоватьсодержимоеблока. АнализРис.тэговблоковКЭШапроизводитсяаппаратно.Такимобразом,послекоторыхработаетсосвоимпотокоминформациипотокомкомандпотокомАнализтэговблоковКЭШапроизводитсяаппаратно.—Такимобразом,послеивычислениявычисления28.
ОбщаясхемаработыКЭШа.исполнительного адресаадреса операндаоперанда илиоперандов.исполнительногоили командыкоманды устройствоустройство управленияуправления можетможет определить,определить,находитсялисоответствующаяинформацияводномизблоковКЭШ-памятинаходится ли соответствующая информация в одном из блоков КЭШ-памяти илиили нет.нет.40ФактнахожденияискомыхданныхвКЭШеназываетсяпопаданием(hit)–вэтомслучаеФакт нахождения искомых данных в КЭШе называется попаданием (hit) – в этом случаеданныеРис.берутсяиз КЭШа,КЭШа,и обращениеобращениеОП не осуществляется. Если искомых данных28. Общаясхема работыКЭШа. вданныеберутсяизиРис.28.
Общаясхема работыКЭШа. в ОП не осуществляется. Если искомых данныхнет вв КЭШе,КЭШе, тото фиксируетсяфиксируется промахпромах (cacheнет(cache miss).miss).3.Привозникновениипромахапроисходит3.При возникновении промаха 40происходит вытеснениевытеснение –– обновлениеобновлениесодержимогоКЭШа.Дляэтоговыбираетсяблок-претендентнавытеснение,40содержимого КЭШа. Для этого выбирается блок-претендент на вытеснение, т.е.т.е. блок,блок,содержимое которогокоторого будетбудет заменено.заменено. СтратегиясодержимоеСтратегия этогоэтого выборавыбора зависитзависит отот конкретнойконкретнойслужебнаяхарактеризующаяданныйсодержимоеблок. В тэгеможетсодержатьсяинформациятом, какойкакой областиобластиОП соответствуетсоответствуетсодержимоеданногоблока,занят илиилиинформацияинформация,информацияоо том,ОПданногоблока,занятинформацияо том,какой областиизмененияОП соответствуетсодержимоеблока,процессорузанят илисвободенблок,производилисьизмененияданномблоке илиилиданногонет.
КогдаКогдапроцессорусвободен блок,свободенпроизводилисьвв данномблокенет.свободенблок, производилисьизмененияв данномилипроисходитнет. Когда обращениепроцессорукнужнообратитьсяза командойкомандой илиилиза даннымиданнымиОП,блокесначаланужно обратитьсянужнозазавв ОП,сначалапроисходит обращениекнужноза командойили тэгаза даннымив ОП, сначалапроисходитобращениекКЭШу.По содержимомусодержимомуадресногоможно однозначнооднозначноадресоватьсодержимоеблока.КЭШу.обратитьсяКЭШу.Поадресноготэга можноадресоватьсодержимоеблока.КЭШу.Посодержимомуадресноготэга можнооднозначноадресоватьблока.Анализтэговблоков КЭШаКЭШапроизводитсяаппаратно.Такимобразом,содержимоепосле вычислениявычисленияАнализ тэговАнализблоковпроизводитсяаппаратно.Такимобразом,послеАнализтэговблоковКЭШапроизводитсяаппаратно.Такимобразом,послевычисленияисполнительногоадреса операндаоперанда илиили командыкоманды устройствоустройство управленияуправления можетможет определить,определить,исполнительногоадресаисполнительногоисполнительногоадреса операндаинформацияили команды устройствоможет определить,находитсяли соответствующаясоответствующаяодном изиз управленияблоков КЭШ-памятиКЭШ-памятиили нет.нет.находится линаходитсяинформация вв одномблоковилинаходитсяли соответствующаяинформацияв одном изпопаданиемблоков КЭШ-памятиилислучаенет.ФактнахожденияискомыхданныхвКЭШеназывается(hit)–вэтомФактнахожденияФакт нахождения искомых данных в КЭШе называется попаданием (hit) – в этом случаеФакт нахождения искомых данных в КЭШе называется попаданием (hit) – в этом случаеданныеберутся изиз КЭШа,КЭШа, ии обращениеобращение вв ОПОП нене осуществляется.осуществляется.
ЕслиЕсли искомыхискомых данныхданныхданные берутсяданныеданные берутся из КЭШа, и обращение в ОП не осуществляется. Если искомых данныхнетКЭШе,то фиксируетсяфиксируется промахпромах (cache(cache miss).miss).нетвввКЭШе,КЭШе,тонет нет в КЭШе, то фиксируется промах (cache miss).3.При возникновениивозникновении промахапромаха происходитпроисходит вытеснениевытеснение –– обновлениеобновление3.При3.При возникновении промаха происходит вытеснение – обновлениесодержимогоКЭШа.
Для этогоэтого выбирается блок-претендентблок-претендент нана вытеснение,вытеснение, т.е.т.е. блок,блок,содержимого КЭШа.содержимогосодержимого КЭШа. ДляДля этого выбираетсявыбирается блок-претендент навытеснение, т.е.блок,содержимоекоторогобудетзаменено.Стратегияэтоговыборазависитотконкретнойсодержимоесодержимоеэтого выборавыбора зависитзависит отот конкретнойконкретнойсодержимое которогокоторого будетбудет заменено.заменено. СтратегияСтратегия этогоорганизациипроцессора.
СуществуютСуществуют КЭШи,КЭШи, вытеснениевытеснение блоковблоков которыхкоторыхорганизации процессора.организацииорганизации процессора. Существуют КЭШи, вытеснение блоков которыхосуществляетсяслучайным образом,образом, т.е.т.е. номерномер блока,блока, которыйкоторый должендолжен бытьбыть вытеснен,вытеснен,осуществляется случайнымосуществляетсяосуществляется случайным образом, т.е. номер блока, который должен быть вытеснен,определяетсяиспользованием встроенного генераторагенератора случайныхслучайных чисел.чисел.
АльтернативойАльтернативойопределяется ссс использованиемопределяетсяопределяетсяиспользованием встроенноговстроенного генератора случайныхчисел. Альтернативойслучайноговытесненияявляетсявытеснениенаименее«популярного»блокаКЭШа,т.е.т.е.случайногослучайноговытесненияявляетсявытеснениенаименее«популярного»блокаКЭШа,т.е.случайного вытеснения является вытеснение наименее «популярного» блока КЭШа,блока,содержимомукоторого происходилопроисходило наименьшеенаименьшее числочисло обращенийобращений (LRU(LRU——блока, ккк содержимомублока,наименьшеечислообращений(LRU—блока,содержимому которогокоторогопроисходилоLeast-RecentlyUsed).Least-RecentlyLeast-RecentlyUsed). Least-Recently Used).4.Отдельноследуетобратитьвниманиенаорганизациювытесненияблокав4.Отдельновнимание нана организациюорганизацию вытеснениявытеснения блокаблока вв4.Отдельно следуетследует обратитьобратить вниманиеКЭШеданных,т.к.содержимоеблоковКЭШаможетнесоответствоватьсодержимомуКЭШеКЭШеданных,т.к.содержимоеблоковКЭШаможетнесоответствоватьсодержимомуКЭШе данных, т.к.
содержимое блоков КЭШа может не соответствовать содержимомупамяти(этовозникаетпри обработкеобработке командкоманд записизаписи данныхданных ввв память).память). ВВВ этомэтом случаеслучаепамяти (этопамятизаписиданныхпамять).этомслучаепамяти(это возникаетвозникает приприобработкекомандтакже возможнотакжевозможноиспользование несколькихнескольких стратегийстратегий вытеснения.вытеснения.
ПерваяПервая—— сквозноесквозноетакжестратегийвытеснения.Первая—сквозноетакжевозможно использованиеиспользованиенесколькихкэшированиекэширование(write-throughcaching):привыполнениикомандызаписиданныхкэширование(write-throughcaching):привыполнениикомандызаписиданныхкэширование (write-through caching): при выполнении команды записи данныхобновлениеобновлениепроисходиткаквКЭШе,такивоперативнойпамяти.Такимобразом,приобновлениеи вв оперативнойоперативной памяти.памяти. ТакимТаким образом,образом, приприобновление происходитпроисходит каккак вв КЭШе,КЭШе, тактак ивытеснении блокавытесненииблокаиз КЭШаКЭШа происходитпроисходит толькотолько загрузказагрузка содержимогосодержимого новогонового блока.блока.вытеснениитолькозагрузкасодержимогоновогоблока.вытесненииблока изизКЭШапроисходитДаннаяДаннаястратегияоправдана,т.к.статистическиеисследованияпоказывают,чточастотаДаннаястратегияоправдана,т.к.статистическиеисследованияпоказывают,чточастотаДанная стратегия оправдана, т.к.
статистические исследования показывают, что частотачтения данныхчтенияданныхпревосходит частотучастоту ихих записизаписи нана порядок.порядок. ДругойДругой стратегиейстратегией являетсяявляетсячтениянапорядок.Другойстратегиейявляетсячтенияданных превосходитпревосходитчастотуихзаписикэшированиекэшированиесобратнойсвязью(write-backcaching),сутькоторойзаключаетсякэшированиесобратнойсвязью(write-backcaching),сутькоторойзаключаетсякэширование с обратной связью (write-back caching), суть которой заключается вввиспользовании специальногоиспользованииспециального тегатега модификациимодификации (dirty(dirty bit).bit). ПриПри выполнениивыполнении командыкомандыиспользовании(dirtybit).Привыполнениикомандыиспользованииспециальноготегамодификациизаписи позаписипоадресу,содержимое которогокоторого кэшируетсякэшируется ввв одномодном изиз блоков,блоков, происходитпроисходитзаписикэшируетсяодномизблоков,происходитзаписипо адресу,адресу, содержимоесодержимоекоторогообновлениеобновлениесоответствующейэтомуадресуинформациитольковблокеКЭШа,такжеобновлениесоответствующейэтомуадресуинформациитольковблокеКЭШа,такжеобновление соответствующейтолько в блоке КЭШа, ааатакжеустановка ввв блокеустановкаблоке тегатега модификации.модификации.