home | login | register | DMCA | contacts | help | donate |      

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
А Б В Г Д Е Ж З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Э Ю Я


my bookshelf | genres | recommend | rating of books | rating of authors | reviews | new | форум | collections | читалки | авторам | add
fantasy
space fantasy
fantasy is horrors
heroic
prose
  military
  child
  russian
detective
  action
  child
  ironical
  historical
  political
western
adventure
adventure (child)
child's stories
love
religion
antique
Scientific literature
biography
business
home pets
animals
art
history
computers
linguistics
mathematics
religion
home_garden
sport
technique
publicism
philosophy
chemistry
close

реклама - advertisement



Регистр состояния машины

Процесс трансляции адресов управляется режимом активных и неактивных тегов и состоянием процессора. Состояние процессора определяется специальным регистром, называемым регистром состояния машины MSR (Machine State Register). Разряды этого регистра управляют некоторыми операциями процессора, в том числе трансляцией адреса. В главе 9 мы рассмотрим этот регистр и способ изменения его разрядов. А пока, чтобы лучше понять трансляцию адреса, затронем лишь несколько разрядов MSR, а именно:

•Разряд 64-разрядного режима (MSRSF):

— процессор работает 32-разрядном режиме;

— процессор работает 64-разрядном режиме.

•Разряд перемещения команд (MSRIR):

— трансляция адреса команды отключена;

— трансляция адреса команды: включена.

•Разряд перемещения данных (MSRDR):

— трансляция адреса данных отключена;

— трансляция адреса данных включена.

•Разряд защиты C2 (MSRC2):

— защита C2 отключена;

— защита C2 включена.

•Проблемное состояние (MSRPR):

— процессор может исполнять любые команды;

— процессор может исполнять только непривилегированные команды.

•Пользовательское состояние (MSRUS):

— исполняется код ОС;

— исполняется пользовательский код.

Для определения размера адреса в процессе его трансляции используется разряд 64-разрядного режима (MSRSF). Например, в 32-разрядном режиме архитектура PowerPC определяет, что эффективный адрес имеет длину лишь 32 разряда. В режиме активных тегов процессоров AS/400 аппаратура поддерживает только 64-разрядный режим. Таким образом, SLIC, управляющий значениями разрядов MSR, будет устанавливать только 64-разрядный режим.

Разряды перемещения команд (MSRIR) и данных (MSRDR) позволяют процессору работать в режиме реальной адресации. Когда SLIC отключает перемещение, механизмы трансляции адреса не используются, и младшие 52 разряда эффективного адреса передаются как реальный адрес непосредственно подсистеме памяти. Подсистема памяти состоит из памятей кэша и основной. В архитектуре PowerPC для команд и данных — раздельные кэши, и соответственно отдельные разряды перемещения. Такая модель называется гарвардским кэшем[ 70 ].

Первоначально бит защиты С2 (MSRC2) предназначался для того, чтобы вынуждать механизм трансляции адреса использовать сегментные регистры для всех пользовательских обращений, если процессор работает в режиме активных тегов и защита С2 включена. Использование системных таблиц гарантировало, что при включенной защите С2 ОС может контролировать и регистрировать доступ пользователей к любым объектам. Хотя данный разряд по-прежнему присутствует в некоторых процессорах PowerPC, он не используется для аудита С2. Вместо этого на уровне защиты 50 (защита С2) мониторинг и регистрацию пользовательского доступа компонент защиты SLIC осуществляет непосредственно, без использования сегментных регистров.

Разряд проблемного состояния (MSRPR) используется в процессе трансляции адреса и для защиты памяти. Он определяет, может ли процессор исполнять привилегированные команды PowerPC. Не следует путать эти привилегированные команды с привилегированными командами MI (такими как «PWRDWNSYS,» с которой мы встречались в главе 7) — привилегированные команды PowerPC исполняет только SLIC. Примером привилегированных команд PowerPC могут служить команды работы с тегами, например «lq».

Разряд пользовательского состояния (MSRUS) поддерживает уровни защиты AS/ 400 от 40 и выше. Он позволяет различать системное и пользовательское состояние процесса. Разряд пользовательского состояния определяет, могут ли полномочия быть помещены в указатель, и может ли процесс выполнять привилегированные команды MI. Данный разряд используется также для защиты памяти. Обратите внимание, что разряд пользовательского состояния также задействован только в режиме активных тегов.

Основы AS|400


Характеристики модели памяти | Основы AS|400 | Обзор трансляции адреса