Диспетчер памяти ЭВМ "Электроника 100-25"

Диспетчер памяти (ДП) обеспечивает расширение адресного пространства от 64 до 256 Кбайт, перераспределение виртуального адреса в физический и защиту памяти в системах с распределением времени, использование различных областей адресов для режима пользователя и внутреннего режима. Для этого диспетчер памяти содержит два набора из 16 регистров (16-разрядных) по одному набору на каждый режим работы. Выбор, набора осуществляется регистром состояния процессора (разряды 14, 15). Каждый набор состоит из восьми регистров признака страницы и восьми регистров адреса страницы.

Схема формирования физического адреса

Регистр адреса страницы (РАС) содержит базовый адрес страницы (рис.3.5,а), с помощью которого вычисляется физический адрес в памяти. Регистр признака страницы (РПС) определяет правила пользования страницей (рис.3.5,6). Возникновение ошибок при работе диспетчера памяти вызывает внутреннее прерывание (отказ) и устанавливает соответствующие разряды в регистре состояния диспетчера (РСО) (адрес 777572), формат которого приведен на рис.3.5,в. Все отказы вызывают прерывание с адресом вектора 250. Еще один регистр состояния РС2 (адрес 777576) используется в диспетчере памяти для хранения виртуального адреса, поступающего из блока обработки данных (рис.3.5,г).

Расширение адресуемой памяти производится за счет преобразования 16-разрядного виртуального адреса, поступающего из блока обработки и управления данных, в 18-разрядный физический адрес памяти (рис.3.6).

Регистр границы стека представляет собой 8-разрядный регистр (адрес 777774(5)), обращение к которому осуществляется так же, как к ячейке памяти. В РГС хранится только старший байт, что позволяет устанавливать и перемещать нижнюю границу стека. При изменении его содержимого от 0 до 17748 нижняя граница стека перемещается соответственно от 400 до 20000. Фиксацию нарушения границы стека осуществляет компаратор, сравнивающий содержимое регистров адреса и границы стека.

Таймер обеспечивает совместную работу процессора и периферийных устройств в реальном масштабе времени, осуществляя разбиение машинного времени на равные интервалы длительностью 20 мс. Синхронизация таймера осуществляется с частотой сети (50 Гц). Логика таймера вырабатывает запрос Канала мини-ЭВМ на 6-м приоритетном уровне, получение Канала, формирует адрес вектора прерывания (100) и обеспечивает обращение к регистру состояния таймера. Регистр состояния таймера (адрес 777546) содержит два разряда: 06 и 07. Первый разрешает работу таймера в режиме прерывания программы, а второй указывает на то, что прерывание произошло от таймера. В режиме без прерывания таймер используется как переключатель, который анализируется программой.