Скачиваний:
74
Добавлен:
16.04.2013
Размер:
430.08 Кб
Скачать

4.7. Пересылки регистрового файла

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

Табл. 4.32. Инструкции пересылки регистровых файлов.

Мнемоника

Действие

getf.exp, getf.sig

Перенести порядок или мантиссу из FRвGR

getf.s, getf.d

Перенести число в формате с одинарной или двойной точностью из FRвGR

setf.s, setf.d

Перенести из GRвFR, число в формате с одинарной или двойной точностью

setf.exp, setf.sig

Перенести из GRвFRпорядок или мантиссу

mov =br

Перенести из BRвGR

mov br=

Перенести из GRвBR

mov =pr

Перенести набор предикатов в GR

mov pr=, mov pr.rot=

Перенести из GRв набор предикатов

mov ar=

Перенести из GRвAR

mov =ar

Перенести из ARвGR

mov =psr.um

Перенести из маски пользователя в GR

mov psr.um=

Перенести из GRв маску пользователя

sum, rum

Установить или сбросить маску пользователя

mov =pmd[…]

Перенести данные из регистра мониторинга производительности в GR

mov =cpuid[…]

Перенести из регистра идентификации процессора в GR

mov =ip

Перенести данные из указателя инструкций

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

Определены два класса обменов между основными регистрами и регистрами с плавающей точкой. Первый тип перемещает мантиссу или порядок со знаком (getf.sig,setf.sig, getf.exp, setf.exp). Второй тип перемещает числа с одинарной или двойной точностью (getf.s, setf.s, getf.d, setf.d). Эти инструкции также выполняют преобразования между форматами маркеров отложенных исключений.

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

Определены инструкции для обмена между файлом предикатных регистров и основным регистром. Эти инструкции работают в «широкополосной» (broadside) манере, благодаря чему множество предикатных регистров передается параллельно (предикатный регистрNсоответствует битуNосновного регистра). Инструкция загрузки предикатов (mov pr=) заполняет множество предикатных регистров из общего регистра в соответствии с маской задаваемой непосредственным значением. Маска содержит по одному биту для каждого статического предикатного регистра (отPR1 доPR15, аPR0 аппаратно установлен в 1) и один бит для всех ротационных предикатов (отPR16 доPR63). Предикатный регистр записывается из соответствующего бита общего регистра, если соответствующий бит маски установлен в 1. Если бит маски сброшен, то предикатный регистр не изменяется. Для ротационных предикатов перемещение осуществляется так, как будто бы полеCFM.rrb.prсодержит ноль. Фактическое значение поляCFM.rrb.prигнорируется и остается неизменным. Инструкция извлечения предикатов (mov =pr) перемещает целиком весь файл предикатных регистров в принимающий общий регистр.

Кроме этого, определены инструкции для перемещения значений между файлом общих регистров и маской пользователя (mov psr.um=иmov =psr.um). Инструкцииsumиrumустанавливают и сбрасывают маску пользователя. Маска пользователя является не привилегированной частью регистраPSR(регистра состояния процессора).

Инструкция mov =pmd[…] определена для переноса из регистра данных мониторинга выполнения (PMD) в основной регистр. Если операционная система запрещает чтение на уровне пользователя, регистров данных мониторинга выполнения, то возвращаются все нули. Инструкцияmov =cpuid[…] определена для переноса из регистра идентификации процессора в основной регистр.

Инструкция mov =ip обеспечивает копирование текущего значения указателя инструкций (IP) в основной регистр.

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