Организация вычислительных систем и сетей. Халабия Р.Ф. - 111 стр.

UptoLike

Составители: 

111
пространством. Нам требовался эффективный механизм для защиты областей
памяти от пользователей, не имеющих к ним прав доступа. В МI адресация
выполнялась через 16-байтовые указатели. Указатель содержит некоторый
адрес, который пользователь может изменить. Поскольку измененный адрес
указывает на любую область памяти, необходимо предоставить способ
предотвращения неавторизованных изменений адресов пользователями.
С каждым
словом памяти System/38 связан специальный бит защиты
памятибит тега (tag bit). В слове памяти System/38 — 32 разряда данных.
Указатель МI занимает четыре таких слова. Всякий раз, когда операционная
система сохраняет в четырех последовательных словах памяти указатель,
аппаратура включает (устанавливает в 1) 4 бита тега для индикации того, что
указатель содержит адрес, допустимый для этого пользователя. Если
пользователь
изменяет в памяти любую часть указателя, то аппаратура
выключает (устанавливает в О) бит тега. Если хотя бы один из битов тега
сброшен, то адрес в указателе неверен и его нельзя использовать для доступа к
памяти.
В целях безопасности бит тега необходимо скрыть: он должен храниться
в недоступной пользователю области памяти
. Бит тега не может быть одним из
битов данных внутри слова, поскольку такие биты пользователь может видеть
и изменять. Он должен храниться отдельно. System/38 использует для каждого
слова памяти биты кода коррекции ошибок. Часть памяти с этими битами
невидима программам, работающим поверх МI. Разработчики добавили к
битам кода коррекции ошибок еще
один бит и использовать его как бит тега.
Если какая-либо пользовательская программа изменяет слово памяти,
процессор должен автоматически сбрасывать скрытый бит тега. Если данное
слово является частью указателя, то последний становится неверным. Только
микрокод, расположенный ниже МI, имеет команды для включения битов тега.
AS/400 также использует биты тега в памяти.
Поскольку в архитектуре
PowerPC биты тега не предусмотрены, было добавлено к ней режим активных
тегов (tags-active mode). В этом режиме процессор знает о наличии битов тега и
будет сбрасывать их всякий раз, когда пользователь изменяет слово в памяти.
Все процессоры AS/400 работают в режиме активных тегов, а процессоры
PowerPC используют режим неактивных тегов.
9.3. 65 - разрядный
процессор
В AS/400 ширина слова памяти возросла до 64 разрядов данных. Каждая
восьмерка байтов памяти AS/400 связывает бит тега, и указатель МI занимает
два таких слова. Разработчики полагали, что хранить два теговых бита в
регистрах новых RISC-процессоров, как и в памяти, в некоторой степени
выгодно. Кроме того, необходимо было сократить размер указателей МI
до 8
байт. Внутри 16-байт указателей было неиспользуемое пространство, которое
нужно сжать.
пространством. Нам требовался эффективный механизм для защиты областей
памяти от пользователей, не имеющих к ним прав доступа. В МI адресация
выполнялась через 16-байтовые указатели. Указатель содержит некоторый
адрес, который пользователь может изменить. Поскольку измененный адрес
указывает на любую область памяти, необходимо            предоставить способ
предотвращения неавторизованных изменений адресов пользователями.
      С каждым словом памяти System/38 связан специальный бит защиты
памяти — бит тега (tag bit). В слове памяти System/38 — 32 разряда данных.
Указатель МI занимает четыре таких слова. Всякий раз, когда операционная
система сохраняет в четырех последовательных словах памяти указатель,
аппаратура включает (устанавливает в 1) 4 бита тега для индикации того, что
указатель содержит адрес, допустимый для этого пользователя. Если
пользователь изменяет в памяти любую часть указателя, то аппаратура
выключает (устанавливает в О) бит тега. Если хотя бы один из битов тега
сброшен, то адрес в указателе неверен и его нельзя использовать для доступа к
памяти.
       В целях безопасности бит тега необходимо скрыть: он должен храниться
в недоступной пользователю области памяти. Бит тега не может быть одним из
битов данных внутри слова, поскольку такие биты пользователь может видеть
и изменять. Он должен храниться отдельно. System/38 использует для каждого
слова памяти биты кода коррекции ошибок. Часть памяти с этими битами
невидима программам, работающим поверх МI. Разработчики добавили к
битам кода коррекции ошибок еще один бит и использовать его как бит тега.
Если какая-либо пользовательская программа изменяет слово памяти,
процессор должен автоматически сбрасывать скрытый бит тега. Если данное
слово является частью указателя, то последний становится неверным. Только
микрокод, расположенный ниже МI, имеет команды для включения битов тега.
       AS/400 также использует биты тега в памяти. Поскольку в архитектуре
PowerPC биты тега не предусмотрены, было добавлено к ней режим активных
тегов (tags-active mode). В этом режиме процессор знает о наличии битов тега и
будет сбрасывать их всякий раз, когда пользователь изменяет слово в памяти.
Все процессоры AS/400 работают в режиме активных тегов, а процессоры
PowerPC используют режим неактивных тегов.

      9.3. 65 - разрядный процессор
      В AS/400 ширина слова памяти возросла до 64 разрядов данных. Каждая
восьмерка байтов памяти AS/400 связывает бит тега, и указатель МI занимает
два таких слова. Разработчики полагали, что хранить два теговых бита в
регистрах новых RISC-процессоров, как и в памяти, в некоторой степени
выгодно. Кроме того, необходимо было сократить размер указателей МI до 8
байт. Внутри 16-байт указателей было неиспользуемое пространство, которое
нужно сжать.




                                     111