Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Архитектура вычислительных систем(шпоры и лекции).doc
Скачиваний:
276
Добавлен:
10.05.2014
Размер:
534.02 Кб
Скачать

33. Защита виртуальной памяти.

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

Механизм защиты виртуальной памяти разделяется на две час­ти: управление памятью и защита по привилегиям.

Схема управления памятью обнаруживает большинство про­граммных ошибок, например, формирование неверных адресов, выход индексов за пределы размера массива, искажение стека вы­зова/возврата и т.п.

Защита привилегий позволяет выявлять более тонкие ошибки и попытки нарушения функционирования. Большинство современных микропроцессоров имеет четыре уровня защиты привилегий для изоляции программ пользователей друг от друга и от операци­онной системы. Микропроцессор (МП) управляет межуровневым доступом к данным и процедурам, согласно следующим правилам.

  1. Данные, хранящиеся в сегменте с уровнем привилегий, могут быть доступны только при выполнении команд с тем же самым уровнем привилегии или меньшим.

  2. Кодовый сегмент с уровнем привилегий может быть вызван задачей, выполняемой на том же самом уровне или более привиле­гированном уровне.

Аппаратура защиты - общая для обоих способов управления памятью, т.е. защита действует при преобразовании как сегмента, так и страницы. Каждое обращение к памяти контролируется с це­лью выяснения, удовлетворяет ли оно правилам защиты. Все про­верки производятся перед выполнением команд. Любое нарушение защиты приводит к завершению текущей команды и прерыванию по исключительной ситуации. Контроль производится одновре­менно с формированием адресов.

34. Расслоение памяти. Способы и их особенности.

В современных ЭВМ предъявляются достаточно высокие требо­вания к объему основной памяти (ОП) и времени доступа к ней, которые, как правило, оказываются недостижимыми. Это обуслов­лено определенными технологическими ограничениями на воз­можность построения банка ОП с необходимым объемом и време­нем доступа, соизмеримым с временем выполнения операции АЛУ. Скорость доступа к отдельному банку ОП, как правило, ока­зывается недостаточной для обеспечения эффективной работы процессора. Особенную остроту этой проблеме предает использо­вание в современных ЭВМ конвейеризации выполнения команд арифметических операций. При рассмотрении этой проблемы учи­тывается запросное время - отношение скорости доступа к скорости конвейера.

Обычно при разбиении памяти на банки используется принцип последовательной адресации памяти. Адресное пространство пер­вого банка памяти выстраивается за адресным пространством ну­левого банка и т.д. При таком способе адресации банки памяти могут иметь разные объемы.

При последовательном доступе к памяти необходимо выдерживать время перезарядки сигнала (RAS), которое составляет при­мерно 30% длительности цикла обращения к памяти, и поэтому между циклами обращения к памяти необходимо вносить задерж­ку.

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

В простейшем случае предполагается адресация банков памяти со смещением на слово. При применении расслоения памяти используют количество бан­ков памяти, кратное двум (2, 4, 8 банков). При расслоении на два банка они адресуются со смещением на слово, т.е. в нулевом банке памяти находятся слова с четными значениями адресов, а в первом банке - с нечетными значениями адресов. Объемы банков при этом должны быть одинаковыми. Распределение адресов упорядочива­ется таким образом, чтобы последовательные обращения к памяти приходились на разные банки памяти. При на­рушении такой последовательности адресации, т.е. когда последо­вательные обращения производятся к одному и тому же банку па­мяти, потребуется учитывать задержку на подзаряд сигналов, что неминуемо будет приводить к снижению эффективного времени доступа к памяти. Возможен другой, альтернативный способ по­строения памяти с расслоением, при котором эффект нарушения последовательности адресации банков памяти может быть сведен к минимуму, получившему название сложного расслоения памяти. Для управления памяти со сложным рас­слоением необходим специальный контроллер памяти. На кон­троллер возлагается обязанность регулирования последовательно­стей доступов в тот или иной банк памяти.

Из-за относительной сложности контроллера во многих систе­мах памяти, для которых требуется большая кратность расслоения (N > 5), часто прибегают к комбинации методов расслоения памяти простого и сложного.