Отложенная очистка буферов быстрого преобразования адресов - RU2004134452A

Код документа: RU2004134452A

Реферат

1. Способ очистки устаревших записей из первого из множества кэш-буферов отображений, причем каждый из упомянутого множества кэш-буферов отображений ассоциирован с соответствующим ему одним из множества устройств обработки данных из состава вычислительного устройства, при этом каждый из кэш-буферов используется для преобразования виртуальных адресов в физические адреса и сохранения отображений, основанных на карте преобразования адресов, причем способ включает в себя этапы, на которых поддерживают счетчик; обновляют упомянутый счетчик каждый раз, когда первый из упомянутого множества кэш-буферов отображений очищают; записывают значение упомянутого счетчика в качестве реакции на изменение в карте преобразования адресов; определяют, на основе результата сравнения упомянутого значения счетчика с записанным значением счетчика, что первый из упомянутого множества кэш-буферов отображений, не был доподлинно очищен с тех пор, когда произошло упомянутое изменение карты преобразования адресов; и очищают первый из упомянутого множества кэш-буферов отображений.

2. Способ по п.1, в котором упомянутый счетчик является одним из множества счетчиков, причем каждый счетчик ассоциирован с соответствующим ему одним из кэш-буферов отображений.

3. Способ по п.2, в котором каждый из упомянутого множества счетчиков обновляют, когда кэш-буфер отображений, соответствующий счетчику, очищают.

4. Способ по п.1, в котором карта преобразования адресов включает в себя ссылки на страницы памяти, включая первую страницу, и в котором упомянутое изменение содержит перевод карты преобразования адресов в состояние, в котором карта преобразования адресов не содержит каких-либо ссылок на упомянутую первую страницу.

5. Способ по п.1, в котором карта преобразования адресов определяет части памяти, которые доступны для чтения объектом, причем упомянутые части упомянутой памяти, включают в себя первую часть, и в котором упомянутое изменение содержит перевод карты преобразования адресов в состояние, в котором упомянутая первая часть не читаема упомянутым объектом.

6. Способ по п.1, в котором карта преобразования памяти определяет части памяти, которые доступны для записи объектом, причем упомянутые части упомянутой памяти включат в себя первую часть, и в котором упомянутое изменение содержит перевод карты преобразования адресов в состояние, в котором упомянутая первая часть не доступна для записи упомянутым объектом.

7. Способ по п.1, в котором политика определяет дозволенный доступ к памяти, при этом способ дополнительно включает в себя этапы, на которых осуществляют управление содержимым карты преобразования адресов так, чтобы карта преобразования адресов не предоставляла объекту отображений виртуальных адресов, которые позволили бы упомянутому объекту осуществить доступ к упомянутой памяти в нарушение упомянутой политики; при этом упомянутое изменение содержит либо модификацию карты, которая переводит или поддерживает карту в состояние, согласующееся с упомянутой политикой, либо модификацию карты, которая ограничивает упомянутому объекту доступ на запись к карте.

8. Способ по п.7, в котором карта преобразования адресов содержит ссылку на часть упомянутой памяти, при этом управление содержимым карты преобразования адресов включает в себя этап, на котором делают упомянутую часть упомянутой памяти недоступной для упомянутого объекта, и при этом упомянутое изменение включает в себя удаление всех ссылок на упомянутую часть упомянутой памяти из карты преобразования адресов.

9. Способ по п.1, дополнительно включающий в себя этап, на котором определяют, что произошло событие, которое потенциально делает возможным использование состояния карты преобразования адресов, предшествующее упомянутому изменению; при этом очистку первого из упомянутого множества кэш-буферов отображений выполняют в качестве реакции на определение того, что упомянутое событие произошло.

10. Способ по п.9, в котором упомянутое событие содержит преобразование виртуального адреса в физический адрес, который содержится в части памяти, ссылки на которую были удалены из карты преобразования адресов посредством упомянутого изменения.

11. Система для управления использованием кэш-буферов отображений адресов, включающая в себя множество процессоров, каждый из которых имеет кэш-буферов отображений и счетчик, ассоциированный с ним; память, хранящая карту преобразований адресов, причем каждый из кэш-буферов отображений хранит отображения, основывающиеся на упомянутой выше карте преобразования адресов, при этом имеется политика, которая регламентирует доступ к упомянутой памяти, причем осуществляется управление содержимым карты преобразования адресов для предотвращения предоставления отображений, которые могут обеспечить доступ к упомянутой памяти в нарушение упомянутой политики; первое логическое средство, которое очищает первый из кэш-буферов отображений, и которое увеличивает первый из счетчиков, когда первый из кэш-буферов отображений очищается; второе логическое средство, которое записывает текущее значение упомянутого первого счетчика в качестве реакции на изменение в упомянутой карте преобразования адресов или в свойстве, относящемуся к упомянутой карте преобразования адресов, причем записанное значение счетчика сохраняется в соответствии с упомянутым изменением; третье логическое средство, которое сравнивает записанное значение счетчика с текущим значением первого счетчика и которое вызывает очистку первого из кэш-буферов отображений, если результат сравнения показывает, что первый из кэш-буферов отображений не очищался с момента упомянутого изменения.

12. Система по п.11, в которой каждый из процессоров ассоциирован с первым из счетчиков, и в котором первое логическое средство увеличивает первый из счетчиков, когда любой из кэш-буферов отображений очищается.

13. Система по п.11, в которой каждый из кэш-буферов отображений ассоциирован с отличным от остальных одним из упомянутого множества счетчиков, и в котором первое логическое средство увеличивает счетчик, соответствующий заданному кэш-буферу отображений, когда этот кэш-буфер отображений очищается.

14. Система по п.11, в которой упомянутое изменение содержит перевод упомянутой карты преобразования адресов в состояние, в котором все ссылки на первую страницу упомянутой памяти удалены из упомянутой карты преобразования адресов.

15. Система по п.11, в которой упомянутое изменение содержит перевод упомянутой карты преобразования адресов в состояние, в котором отсутствуют ссылки, позволяющие осуществлять запись, на первую страницу упомянутой памяти.

16. Система по п.11, в которой третье логическое средство вызывается в качестве реакции на обнаружение того, что результат упомянутого изменения должен быть использован.

17. Система по п.16, в которой упомянутое изменение содержит перевод упомянутой карты преобразования адресов в состояние, в котором все ссылки на первую страницу упомянутой памяти удалены из упомянутой карты преобразования адресов, и в которой упомянутое обнаружение основывается на виртуальном адресе, преобразованном в местоположение на упомянутой первой странице.

18. Машиночитаемый носитель информации, имеющий закодированные на нем машиноисполняемые команды, выполняющие способ управления очисткой буфера быстрого преобразования адресов, который кэширует отображения адресов, при этом способ включает в себя этапы, на которых принимают запрос на доступ, указывающий целевое местоположение с помощью виртуального адреса; преобразуют упомянутый виртуальный адрес для получения физического адреса целевого местоположения; сравнивают (1) сохраненное значение счетчика, связанное со страницей, которая содержит упомянутый целевой адрес с (2) текущим значением счетчика; определяют на основе результата сравнения сохраненного значения счетчика и упомянутого текущего значения счетчика, что буфер быстрого преобразования адресов не очищался с момента возникновения события, повлиявшего на то, что отображение для упомянутой страницы изменилось; и очищают буфер быстрого преобразования адресов.

19. Машиночитаемый носитель информации по п.18, в котором отображения адресов определяются картой преобразования адресов, хранящийся в памяти, при этом буфер быстрого преобразования адресов кэширует отображения, которые основаны на упомянутой карте преобразования адресов.

20. Машиночитаемый носитель информации по п.18, в котором политика определяет возможность доступа к памяти для программного объекта, и в котором упомянутое выше событие включает в себя удаление ссылок на страницу упомянутой памяти из карты преобразования адресов, на которой основываются упомянутые отображения адресов, причем упомянутая страница становится недоступной для упомянутого программного объекта в соответствии с упомянутой политикой.

21. Машиночитаемый носитель информации по п.18, в котором политика определяет возможность доступа к памяти для программного объекта, и в котором упомянутое выше событие включает в себя корректировку карты преобразования адресов для того, чтобы сделать отображения на страницу не доступными для записи, при этом: либо (1) упомянутая политика определяет упомянутую страницу как недоступную для записи для упомянутого программного объекта, либо (2) упомянутая страница сохраняет часть упомянутой карты преобразования адресов.

22. Машиночитаемый носитель информации по п.18, в котором средство управления преобразованием адресов определяет принадлежность набора страниц памяти, которые могут быть использованы для хранения частей таблицы преобразования адресов, и в котором упомянутое событие включает в себя изменение в принадлежности упомянутого набора.

23. Способ по очистки устаревших записей из первого из множества кэш-буферов отображений, причем каждый из упомянутого множества кэш-буферов отображений ассоциирован с соответствующим ему одним из множества устройств обработки данных из состава вычислительного устройства, при этом каждый из кэш-буферов отображений используется для преобразования виртуальных адресов в физические адреса и хранения отображений, основывающихся на карте преобразования адресов, при этом способ включает в себя этапы, на которых поддерживают объект, на основе которого можно определить последовательность возникновения событий; записывают значение упомянутого объекта в качестве реакции на изменение в карте преобразования адресов, которое удаляет одно или более из (1) разрешения на доступ для чтения, или (2) разрешения на доступ для записи, со страницы; в ответ на запрос на доступ к упомянутой странице, определяют на основе результата сравнения текущего значения упомянутого объекта с записанным значением, что первый из упомянутого множества кэш-буферов отображений был очищен с момента происшествия упомянутого изменения; и если нельзя определить с уверенностью, основываясь на упомянутом результате сравнения, что первый из упомянутого множества кэш-буферов отображений был очищен с момента происшествия упомянутого изменения, то очищают первый из упомянутого множества кэш-буферов отображений.

24. Способ по п.23, в котором упомянутый объект содержит часы.

25. Способ по п.23, в котором упомянутый объект содержит счетчик, который увеличивают каждый раз, когда первый из упомянутого множества кэш-буферов отображений очищают.

26. Способ по п.23, в котором упомянутый объект включает в себя множество счетчиков, причем каждый из счетчиков соответствует одному из упомянутого множества кэш-буферов отображений, при этом каждый из счетчиков увеличивают, когда соответствующий ему кэш-буфер отображений очищают.

27. Способ по п.23, в котором упомянутое изменение включает в себя удаление разрешения доступа на чтение к упомянутой странице, и в котором упомянутый запрос на доступ включает в себя запрос на чтение упомянутой страницы.

28. Способ по п.23, в котором упомянутое изменение включает в себя удаление разрешения доступа на чтение/запись к упомянутой странице, и в котором упомянутый запрос на доступ включает в себя запрос на запись в упомянутой странице.

Авторы

Заявители

СПК: G06F2212/682

Публикация: 2006-05-10

Дата подачи заявки: 2004-11-25

0
0
0
0
Невозможно загрузить содержимое всплывающей подсказки.
Поиск по товарам