Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Диспетчер памяти



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

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

Информация обычно передается порциями, состоящими из фиксированного числа битов; МП 80386 использует порции размером 32 бит, если только он не получил указаний об уменьшении размеров порции до 16 бит. Эти порции носят названия слов. Процесс записи слова в запоминающую систему называется записью в память, процесс получения слова из памяти - чтением из памяти.

Существуют два метода доступа к памяти: произвольный и последовательный. Последовательный доступ используется в тех запоминающих системах, где обращение к словам осуществляется в некотором определенном заранее порядке. Произвольный доступ, с другой стороны, предполагает возможность обращения к словам запоминающей системы в любом порядке и приблизительно за то же время.

Каким бы совершенным ни было ЗУ, при прохождении сигнала между устройствами возникают задержки в его распространении. Задержка распространения определяется как время, требуемое для прохождения логического сигнала через устройство или последовательность устройств, образующих логическую цепочку. Эта задержка также учитывает прохождение сигнала по всем соединительным линиям между микросхемами.

Прямой доступ к памяти (ПДП)

Прямой доступ к памяти предоставляет возможность внешним устройствам и памяти непосредственно обмениваться данными без вмешательства программы. ПДП обеспечивает максимальную скорость ввода-вывода и максимальный параллелизм процессов. В то время как ввод-вывод по прерываниям и программно-управляемый ввод-вывод пересылают данные через процессор, в случае ПДП данные передаются непосредственно между устройством ввода-вывода и памятью.

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

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

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

Канал содержит регистр для хранения адреса ячейки памяти, в которую или из которой осуществляется пересылка данных, В большинстве случаев в канал входит также счетчик слов для отсчета числа выполненных прямых пересылок. Кроме того, канал должен содержать схему, обеспечивающую обмен управляющими сигналами, синхронизацию и другие вспомогательные операции. На рис. 13.4 показаны логические связи между ЦП и контроллером ПДП.

Компоненты ПДП. Основными компонентами ПДП являются триггер запроса, регистр адреса, счетчик и регистр данных, который используется периферийным устройством. Пересылка данных по каналу ПДП включает несколько этапов: 1) инициализация логики ПДП для выполнения ПДП в течение повторяющихся циклов занятия магистрали; 2) асинхронная по отношению к операциям программы активизация ПДП; 3) оповещение об окончании пересылок (по сигналу от счетчика или в результате изменении состояния устройства); 4) вызов программы «очистки» при окончании пересылок; 5) завершение ПДП с помощью программы обработки прерываний, которая возвращает управление в основную программу.

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

ПДП с занятием цикла памяти. Программа инициирует пересылку блока, помещая стартовый адрес в адресный счетчик, а число слов - в счетчик слов. и выдавая команду запуска. Этот тип ПДП часто называют ПДП с занятием цикла памяти, поскольку он приостанавливает выполнение программы каждый раз приблизительно на один машинный цикл.

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





Дата публикования: 2014-10-19; Прочитано: 1820 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.009 с)...