Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Архив1 / doc200 / #noname_00 (2).doc
Скачиваний:
18
Добавлен:
01.08.2013
Размер:
97.28 Кб
Скачать
  1. Страничная организация памяти:

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

  • Адрес страницы в оперативной памяти;

  • Статус страницы (в данный момент страница находится в памяти или выгружена на диск);

  • Права доступа к этой странице (для работы в многозадачном режиме);

  • Оценочная информация (для реализации алгоритма замены страниц);

Схематично это выглядит так:

Номер виртуальной страницы

Номер

байта

Регистр номера

программы

n

p

l

Виртуальный адрес

Страничная таблица n-й программы

P(n, p)

Номер физической страницы из страничной таблицы

P(n, p)

l

Физический

адрес

Рис. 2 Преобразование виртуального адреса в физический.

Страничные таблицы часто имеют двухуровневую организацию. Распределение памяти страницами имеет следующие недостатки:

  • Потери на преобразование адресов. Для предотвращения этого замедления в процессор вводится буфер ассоциативной трансляции TKB(Translation Look aside buffer) для хранения интенсивно использующихся строк таблиц. Буфер представляет собой полностью ассоциативный кэш на 32 строки таблиц трансляции.

  • Необходим оптимальный алгоритм определения, какая из страниц в ОП подлежит замене при страничном сбое.

  • Часть страницы может не использоваться, что приводит к нерациональному использованию адресного пространства.

Во многих системах со страничной организацией страницы имеют размер порядка 4Кбайт. При обращении к странице, которая в данный момент не присутствует в ОП, вырабатывается процессорное (страничное) прерывание. После этого управление передается управляющей программе (части ядра ОС) и происходит загрузка страницы из внешней памяти.

  1. Система прерываний:

Прерывание – это изменение текущей последовательности команд. Различают четыре источника прерываний:

    1. Внутренние прерывания процессора и сопроцессора;

    2. Немаскируемые внешние прерывания;

    3. Маскируемые внешние прерывания;

    4. Программно - вызываемые прерывания.

Причем последние не являются прерываниями в строгом смысле этого слова.

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

Задание подразумевает реализацию радиальной системы прерываний с обработкой на уровне макрокоманд. В качестве контроллера прерываний будет использоваться микросхема КМ1804ВН1, которая позволяет реализовать схему векторного приоритетного прерывания с возможностью наращивания до 16 аппаратных прерываний. Такая схема называется радиальной структурой прерываний. Для каждого устройства предусмотрена своя линия запроса, что позволяет уменьшить время идентификации источника прерываний. Сигналы прерываний, поступающие на входы контроллера прерываний, преобразуются в вектор (в простейшем случае это простая шифрация). Полученный вектор поступает в дешифратор векторного адреса (ПЗУ), где происходит вычисление начального адреса процедуры обработки прерывания, который нужно загрузить в секвенсор. Обработка прерываний на уровне команд имеет как свои плюсы, так и свои минусы. Из плюсов можно отметить следующие: минимальное количество запоминаемой информации (для выхода из программы обработки прерываний), нет необходимости опрашивать устройства в поисках пославшего запрос. Обработка прерываний на уровне команд имеет следующий недостаток – такая система не обладает минимальным временем отклика, т.к. запрос на прерывание будет обработан только после выполнения текущей команды, а не микрооперации. Некоторые прерывания должны обрабатываться на микроуровне, тогда запрос на прерывание подается в секвенсер после выполнения текущей микрооперации. Система прерываний показана на Рис.3

Соседние файлы в папке doc200