Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Arkhitektura_kompyuternoy_sistemy_1.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
713.22 Кб
Скачать

Аппаратная защита адресов памяти в системах с теговой архитектурой

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

Адрес в системе с теговой архитектурой представлен специальным адресным словом - дескриптором ( descriptor ). Дескриптор ( descriptor ) – адресное слово в системах с теговой архитектурой; содержит тег дескриптор, адрес начала адресуемого массива в памяти, длину массива и 4 бита зашиты – от чтения, от записи, от выполнения и от записи адресной информации. Формирование и изменение дескриптора возможно только средствами ОС в привилегированном режиме. Пользовательская программа не может ни сформировать, ни изменить дескриптор и работает со своей областью памяти как с массивом, защищенным тегом и дескриптором, образовывая от него подмассивы и формируя их дескрипторы. Допустимая операция над массивом - индексация, в которой аппаратно проверяется, что индекс не выходит за границы массива. Таким образом, обращение в "чужую" область памяти в такой системе принципиально невозможно. Невозможна также адресная арифметика так как попытка выполнения арифметической операции над словом с тегом дескриптор приводит к немедленному прерыванию.

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

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

Рис. 8. Схема аппаратной защиты адресов памяти

Прерывания по таймеру

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

В системах с теговой архитектурой только привилегированная команда может сформировать новый дескриптор на область памяти, либо изменить поле в дескрипторе (например, адрес начала или длину).

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

Команда записи значения в таймер является привилегированной.