Спец часть (часть 2) (3 поток) (2015) (by Кибитова) (1161602), страница 17
Текст из файла (страница 17)
регистре,извлечениетаблицыии осуществлениеоперативнойпамяти,тогда данныхкаждоеКизпреобразованиепроисходитпреобразования.через обращениек ОЗУ,чтосовсемнеэффективно.аппаратурепредъявляютсяследующиетребования:долженоперативнойпамяти,тогда каждое преобразованиепроисходитк ОЗУ,Возможнооптимизироватьрассмотренныйподход зазачерезсчетобращениеиспользованияВозможнооптимизироватьрассмотренныйподходсчетиспользованиячто совсемнеэффективно.Каппаратурепредъявляютсяследующиетребования:долженбытьрегистр,ссылающийсяна началотаблицыв ОЗУ,а такжестраницдолжнопроисходитаппаратночтосовсемнеэффективно.аппаратурепредъявляютсятребования:долженкэшированияL1илиL2.СКоднойстороны,посколькукследующиетаблицекэшированияL1илиL2.Соднойстороны,посколькуктаблицестраницпроисходитбыть регистр,ссылающийсянаначалотаблицывОЗУ,атакжедолжноаппаратноподдерживатьсяобращениевоперативнуюпамятьпоадресу,хранящемусявуказанномбытьрегистр,ссылающийсянаначалотаблицывОЗУ,атакжедолжноаппаратнопостоянноеобращение,странички изиз памятьданной потаблицы«зависают»КЭШе.Но,еслиеслив впостоянноеобращение,страничкиданнойтаблицы«зависают»ввКЭШе.Но,поддерживатьсявданныхоперативнуюадресу,хранящемусяв указанномрегистре,обращениеизвлечениеизтаблицыи иосуществлениепреобразования.поддерживатьсяобращениевоперативнуюпамятьпоадресу,хранящемусявуказанномкомпьютереиспользуетсявсегоодинКЭШдляпотокауправления,идляпотокаданных,компьютереиспользуетсявсего одинКЭШи для потокауправления,для потокаданных,регистре,извлечениеданныхиз таблицыи осуществлениепреобразования.Возможнооптимизироватьрассмотренныйподходза и счетиспользованиярегистре,извлечениеданныхиз таблицыи осуществлениепреобразования.товэтомслучаечерезнегонаправляетсяещеипотокпреобразованиястраниц.Посколькутовэтомслучаечерезнегонаправляетсяещеипотокпреобразованиястраниц.ПосколькуВозможнооптимизироватьрассмотренныйподходподходзасчетиспользованиякэшированияL1 илиL2.
С однойпосколькук таблицестраницпроисходитВозможнооптимизироватьрассмотренныйза счетиспользованияэтипотокиимеютсвоиособенности,стороны,то добавлениедобавлениедополнительногопотокасвоимиэтипотокиимеютособенности,тодополнительногопотокасососвоимикэшированияL1илиL2.Соднойстороны,посколькуктаблицестраницпроисходитпостоянноеобращение,страничкиизданнойтаблицы«зависают»вКЭШе.Но, если вкэшированияL1илиL2.Соднойстороны,посколькуктаблицестраницпроисходитиндивидуальнымихарактеристикамиприведетккснижениюснижениюэффективностиэффективностисистемы.системы.индивидуальнымихарактеристикамиприведетпостоянноеобращение,страничкииз даннойтаблицы«зависают»в КЭШе.Но,если данных,весли в компьютереиспользуетсявсегоодин КЭШи дляпотокауправления,ипотокапостоянноеобращение,страничкиданнойтаблицы«зависают»в дляКЭШе.Стоиттакже отметить,что ввизсовременныхсовременныхсистемахтаблицыстраницНо,каждогоСтоитчтосистемахтаблицыстраницкаждогокомпьютеревсегонегоодинКЭШдляещепотокауправления,и для потокаданных,то в используетсяэтом случаечерезнаправляетсяи потокпреобразованияПосколькукомпьютереиспользуетсявсегоодиниКЭШибольшими,дляпотокауправления,истраниц.для потокаданных,процессамогутоказатьсядостаточнобольшими,мультипрограммныеОСпроцессамогутдостаточно-мультипрограммныеОСто в этомслучаечерезнегонаправляетсяещеипотокпреобразованиястраниц.Посколькуэтипотокиимеютсвоиособенности,тодобавлениедополнительногопотокасо своимитовэтомслучаечерезнегонаправляетсяещеипотокпреобразованиястраниц.Посколькуподдерживаютили дажедаже тысячтысяч процессов,процессов,поэтомупоэтомудержатьдержатьвсювсютаблицутаблицуподдерживают обработку сотен илииндивидуальнымихарактеристикамиприведеткдополнительногоснижениюэффективностиэти потокиимеют имеютсвои особенности,то добавлениепотокапотокасосистемы.своимиэтипотокисвоипамятиособенности,то добавлениедополнительногососвоимистраницоперативнойтакжедорогимзанятием.страницвв оперативнойтакже оказываетсяоказываетсядорогимзанятием.ССдругойдругойстороны,стороны,Стоиттакжеотметить,приведетчто вприведетсовременныхсистемахтаблицыстраницкаждогоиндивидуальнымихарактеристикамик снижениюэффективностисистемы.индивидуальнымихарактеристикамикснижениюэффективностисистемы.есливОЗУхранитьлишьоперативнуючастьэтойтаблицы,товозникаютпроблемы,если в ОЗУ хранитьоперативную часть этой таблицы, то возникают проблемы,процессамогутоказатьсядостаточнобольшими,мультипрограммныеОССтоиттакжечто в современныхсистемахтаблицыстраницоткачиватькаждогоСтоиттакжеотметить,что необходимовнеобходимосовременныхсистемахкаждогосвязанныесо отметить,процессов:будетчастьтаблицывовосвязанныесосменойпроцессов:будетчасть таблицытаблицыстраницоткачиватьподдерживаютобработкусотенилидажетысячпроцессов,поэтомудержатьвсютаблицупроцессамогут память,оказатьсядостаточнобольшими,-что являетсямультипрограммныеОС ОСпроцессамогутдостаточнобольшими,мультипрограммныевнешнююподкачивать,достаточновнешнююпамять,а оказатьсячасть — наоборот,наоборот,подкачивать,что являетсядостаточнотрудоемкойтрудоемкойстраницвоперативнойпамятитакжеоказываетсядорогимзанятием.Сдругойподдерживаютобработкусотенилидажетысячпроцессов,поэтомудержатьвсютаблицуподдерживают обработку сотен или даже тысяч процессов, поэтому держать всюстороны,таблицуеслив ОЗУхранитьлишьоперативнуючастьэтойтаблицы,товозникаютпроблемы,страницстраницв оперативнойпамятитакжеоказываетсядорогимзанятием.Сдругойстороны,234234в оперативной памяти также оказывается дорогим занятием.
С другой стороны,связанныесменойпроцессов:необходимобудетчастьтаблицыоткачиватьвоесли в еслиОЗУлишьоперативнуючастьэтойто возникаютпроблемы,вхранитьОЗУ сохранитьлишьоперативнуючастьтаблицы,этойтаблицы,товозникаютпроблемы,внешнююпамять,ачасть—наоборот,подкачивать,чтоявляетсядостаточнотрудоемкойсвязанныесо сменойпроцессов:необходимобудет будетчасть частьтаблицыоткачиватьвосвязанныесо сменойпроцессов:необходимотаблицыоткачиватьвовнешнююпамять,ачасть—наоборот,подкачивать,чтоявляетсядостаточнотрудоемкойвнешнюю память, а часть — наоборот, подкачивать,234 что является достаточно трудоемкой234234имеет свои преимущества и недостатки, в реальности применяют смешанные, илигибридные,гибридные,решения.решения.гибридные,решения.ЧтокасаетсяалгоритмовспособоворганизацииданныхдляЧтокасается используемыхиспользуемых алгоритмовалгоритмов иии способовспособов организацииорганизацииданныхданныхдлядляЧто касаетсяиспользуемыхмоделистраничногораспределенияпамяти,тотрадиционноприменяютсярешения,модели страничногостраничного распределенияраспределения памяти,памяти, тото традиционнотрадиционно применяютсяприменяютсярешения,решения,моделисвязанныесиерархическойорганизациейэтихтаблиц.связанныесиерархическойорганизациейэтихтаблиц.связанные с иерархической организацией этих таблиц.Типоваятаблицыстраниц(Рис.135)содержитинформациюТиповая структураструктура записизаписи таблицытаблицы страницстраниц(Рис.(Рис.135)135)содержитсодержитинформациюинформациюоооТиповаяструктуразаписиномерефизическойстраницы,атакжесовокупностьатрибутов,необходимыхдляномере физическойфизической страницы,страницы, аа такжетакже совокупностьсовокупность атрибутов,атрибутов, необходимыхнеобходимых длядляномереописаниястатусаданнойстраницы.Средиатрибутовможетбытьатрибутописаниястатусаданнойстраницы.Средиатрибутовможетбытьатрибутописания статуса данной страницы.
Среди атрибутов может быть атрибутприсутствия/отсутствияатрибутрежимазащитыстраницы(чтение,запись,присутствия/отсутствия страницы,страницы, атрибутатрибут режимарежима защитызащитыстраницыстраницы(чтение,(чтение,запись,запись,присутствия/отсутствиястраницы,выполнение),содержимогостраницы,атрибут,характеризующийвыполнение), флагфлаг модификациимодификации содержимогосодержимого страницы,страницы, атрибут,атрибут, характеризующийхарактеризующийвыполнение),флагмодификацииобращениякданнойстранице,чтобыиметьвозможностьопределения«старения»обращениякданнойстранице,чтобыиметьвозможностьопределения«старения»обращения к данной странице, чтобы иметь возможность определения «старения»страницы,атрибутблокировкикэшированияит.д.Итак,вкаждойзаписиможетстраницы, атрибутатрибут блокировкиблокировки кэшированиякэширования ии т.д.т.д.
Итак,Итак, в в каждойкаждой записизаписиможетможетстраницы,присутствоватьатрибутов,которыеаппаратноинтерпретируемы:присутствовать целаяцелая совокупностьсовокупность атрибутов,атрибутов, которыекоторые аппаратноаппаратноинтерпретируемы:интерпретируемы:присутствоватьцелаясовокупностьнапример,данныестраницу,закрытуюназапись,произойдетнапример, припри попыткепопытке записатьзаписать данныеданные ввв страницу,страницу,закрытуюзакрытуюнаназапись,запись,произойдетпроизойдетнапример,припопыткезаписатьпрерывание.прерывание.прерывание.εεεδδδγγγβββαααНомерфизическойстраницыНомерфизическойфизическойстраницыстраницыНомерРис.135.записитаблицыстраниц.Здесь:—присутствие/135.Рис.135.МодельнаяМодельнаяструктураструктуразаписизаписитаблицытаблицыстраниц.страниц.Здесь:Здесь:ααα——присутствие/присутствие/МодельнаяструктураВирт.Рис.адресотсутствие;β—(чтение,чтение/запись,выполнение);защита(чтение,чтение/запись,выполнение);отсутствие; β — защита (чтение, чтение/запись, выполнение);γγ—γ——отсутствие;(чтение,запись,выполнение);блокировкаФизическаяизменения;блокировкаизменения;δδ——обращениеобращение(чтение,(чтение,запись,запись,выполнение);выполнение);εε—ε——блокировкаVPoffset изменения;кэширования.память:кэширования.кэширования.TLBВоптимизацииработыпамятьюсталоВВ качествекачествеодногокачестве одногоодного изиз первыхпервых решенийрешений оптимизацииоптимизацииработыработыссспамятьюпамятьюсталосталоhitвирт.стр.
физ. стр.(Translationиспользованиет.н.TLB-таблицLook-asideBuffer—таблицабыстрогоиспользованиеLook-asideт.н.TLB-таблицBuffer—таблицабыстрогоиспользование т.н. TLB-таблиц (Translation Look-aside Buffer — таблица быстрогоФиз.адреспреобразованияметодподразумеваетналичиеаппаратнойпреобразованияподразумеваетадресов,наличиепреобразования адресов,адресов, Рис.Рис.136).136). ДанныйДанный методметодподразумеваетналичиеаппаратнойаппаратнойтаблицыотносительнонебольшого(порядка8–128записей).Даннаятаблицытаблицыотносительноразмера(порядка8–128записей).Даннаятаблицы относительно небольшого размера (порядка8 – 128 записей).
ДаннаятаблицытаблицыFPoffsetконцептуальностолбца:первыйстолбецконцептуальносодержиттрипервыйстолбец—этономервиртуальнойсодержит—этономервиртуальнойконцептуально содержит три столбца: первый столбец — это номер виртуальнойстраницы,второйстраницы,страницы,страницы,которойнаходитсяуказанная—страницы, второйвторой——…этоэто номерномер физическойфизическойстраницы,вввкоторойкоторойнаходитсянаходитсяуказаннаяуказаннаяmissвиртуальнаястраница,содержитупомянутыевышеатрибуты.виртуальнаястраница,атретийстолбецсодержитупомянутыевышеатрибуты.виртуальная страница, а третий столбец содержит упомянутые выше атрибуты.ВиртуальныйадресВиртуальныйвиртуальнойстраницы(VP)смещенияВиртуальный адресадрес состоитсостоитизизномераномеравиртуальнойвиртуальнойстраницыстраницы(VP)(VP)ииисмещениясмещениявввней(offset).Страницанейадресаномервиртуальнойстраницыней (offset).(offset). СтраницаСтраница изымаетизымает изиз этогоэтого адресаадреса номерномер виртуальнойвиртуальной страницыстраницыиииосуществляетоптимизированныйпоиск(т.е.поискнепоследовательный,апараллельный)осуществляетоптимизированныйпоискнепоследовательный,апараллельный)осуществляет оптимизированный поиск (т.е.