Сброс элементов TLB является весьма трудоемкой операцией, поэтому ядро должно по возможности оптимизировать выполнение поставленной задачи. При этом важно определить, насколько недостоверность информации может оказаться безвредной для системы. Поясним на примере.
Также вам может показаться, что такая тема как http://www.kpsu.ru/abiturient/ никак не связана и даже не тематична. Хотя, может быть и связана. В любом случае все-таки зайдите на сайт kpsu.ru. Тема колледжи Екатеринбурга там представлена весьма широко. На том сайте можно узнать много интересного на тему колледжи Екатеринбурга. Что означает вообще тема колледжи Екатеринбурга, где найти колледжи Екатеринбурга - про это написано на сайте kpsu.ru. Это очень важная для многих людей тема - колледжи Екатеринбурга. Спасибо сайту kpsu.ru за информацию на тему колледжи Екатеринбурга.
Представьте, что ядро производит изменение атрибута защиты страницы от «только для чтения» до «чтения-записи». После этой операции информация в соответствующем вхождении TLB не совпадает с данными элемента таблицы страниц, однако все еще нет необходимости сбрасывать корректность такого вхождения. В худшем случае процесс попытается произвести запись в страницу и обнаружит, что вхождение TLB этой страницы показывает, что она доступна только для чтения. В этот момент времени обработчик ошибки (или аппаратная часть системы) может загрузить новое вхождение TLB, обладающее правильной информацией. Отсрочка выполнения операции загрузки данных во вхождение TLB чревата тем, что через некоторое время вообще не понадобится производить эти действия. Например, вхождение TLB может оказаться сброшенным при возникновении такого события, как переключение контекста.
При работе с несколькими страницами ядро вправе выбирать, сбросить ли весь буфер TLB или выполнить действия по отношению к индивидуальным вхождениям. Сброс корректности буфера целиком является более быстрым, так как осуществим одной операцией. Однако такой подход может привести к большему числу последующих промахов, что приводит к увеличению длительности дальнейших операций (системе придется потратить время на Сброс элементов TLB является весьма трудоемкой операцией, поэтому ядро должно по возможности оптимизировать выполнение поставленной задачи. При этом важно определить, насколько недостоверность информации может оказаться безвредной для системы. Поясним на примере. Представьте, что ядро производит изменение атрибута защиты страницы от «только для чтения» до «чтения-записи». После этой операции информация в соответствующем вхождении TLB не совпадает с данными элемента таблицы страниц, однако все еще нет необходимости сбрасывать корректность такого вхождения. В худшем случае процесс попытается произвести запись в страницу и обнаружит, что вхождение TLB этой страницы показывает, что она доступна только для чтения. В этот момент времени обработчик ошибки (или аппаратная часть системы) может загрузить новое вхождение TLB, обладающее правильной информацией. Отсрочка выполнения операции загрузки данных во вхождение TLB чревата тем, что через некоторое время вообще не понадобится производить эти действия. Например, вхождение TLB может оказаться сброшенным при возникновении такого события, как переключение контекста.
При работе с несколькими страницами ядро вправе выбирать, сбросить ли весь буфер TLB или выполнить действия по отношению к индивидуальным вхождениям. Сброс корректности буфера целиком является более быстрым, так как осуществим одной операцией. Однако такой подход может привести к большему числу последующих промахов, что приводит к увеличению длительности дальнейших операций (системе придется потратить время на загрузку отсутствующих вхождений). Оптимальное решение, как правило, зависит от количества сбрасываемых вхождений.
Корректность TLB в многопроцессорных системах
Поддержка актуальности информации TLB в многопроцессорных системах разделения времени является намного более сложной проблемой. Несмотря на то, что все процессоры системы разделяют между собой память машины, каждый из них имеет свой собственный буфер TLB. Определенная трудность возникает в том случае, если один из процессоров изменяет вхождение таблицы страниц, которое используется в это же время другим процессором. Такой процессор может обладать копией вхождения в своем буфере TLB и продолжать обращаться к уже устаревшим данным. Становится очевидным, что необходимо передавать изменения TLB всем процессорам системы, которые осуществляют обработку страниц.
загрузку отсутствующих вхождений). Оптимальное решение, как правило, зависит от количества сбрасываемых вхождений.
Корректность TLB в многопроцессорных системах
Поддержка актуальности информации TLB в многопроцессорных системах разделения времени является намного более сложной проблемой. Несмотря на то, что все процессоры системы разделяют между собой память машины, каждый из них имеет свой собственный буфер TLB. Определенная трудность возникает в том случае, если один из процессоров изменяет вхождение таблицы страниц, которое используется в это же время другим процессором.
Такой процессор может обладать копией вхождения в своем буфере TLB и продолжать обращаться к уже устаревшим данным. Становится очевидным, что необходимо передавать изменения TLB всем процессорам системы, которые осуществляют обработку страниц.
Опубликовал katy
June 22 2015 19:32:22 ·
0 Комментариев ·
2853 Прочтений ·
• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •
Комментарии
Нет комментариев.
Добавить комментарий
Рейтинги
Рейтинг доступен только для пользователей.
Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.
Нет данных для оценки.
Гость
Вы не зарегистрированны? Нажмите здесь для регистрации.