Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
MProc / M8 / Исполнительная среда Itanium.doc
Скачиваний:
39
Добавлен:
16.04.2013
Размер:
340.48 Кб
Скачать

3.1.2. Основные регистры.

Набор из 128 (64-битных) регистров обеспечивает главный ресурс для всех целочисленных и мультимедиа- целочисленных вычислений. Они пронумерованы от GR0 доGR127 и доступны для всех программ на всех уровнях привилегий. Каждый основной регистр имеет 64 бита для хранения нормальных данных плюс дополнительный битNaT(Not a Thing), который используется для отслеживания отложенных спекулятивных исключений.

Основные регистры разделены на два подмножества. Регистры от 0 до 31 называются статическими основными регистрами. Причем,GR0 сделан так, что если он является исходным операндом, то всегда читается как ноль, а попытка записи вGR0 вызовет ошибку «Запрещенная операция». Основные регистры с 32 по 127 называютсястековыми основными регистрами. Стековые регистры делаются доступными для программ при выделении окна регистрового стека содержащего программируемое количество локальных и выходных регистров. Это описано в разделе 4.1 «Стек регистров». Части регистрового стека могут быть программно переименованы для ускорения циклов. См. раздел 4.5.1 «Поддержка модульно планируемых циклов».

Основные регистры от 8 до 32 содержат регистры IA-32 – целочисленные, селекторы и дескрипторы сегментов. Подробнее см. раздел 6.2.1 «Размещение общих регистровIA-32».

3.1.3. Регистры с плавающей точкой

Набор из 128 (82-битных) регистров с плавающей точкой используется для всех вычислений с плавающей точкой. Они пронумерованы от FR0 доFR127 и доступны для всех программ на всех уровнях привилегий. Регистры с плавающей точкой разделены на два подмножества. Регистры от 0 до 31 называютсястатические регистры с плавающей точкой. Причем,FR0 иFR1 являются специальными. При использовании в качестве исходного операнда,FR0 всегда читается как +0.0, аFR1 всегда читается как +1.0. Если любой из них использовать в качестве приемника, то вызывается ошибка. Отложенные спекулятивные исключения записываются в виде специального регистрового значения, которое называетсяNaTVal(Not a Thing Value).

Регистры с плавающей точкой от 32 до 127 называются ротируемыми регистрами с плавающей точкой. Эти регистры могут быть программно переименованы для ускорения циклов. См. раздел 4.5.1 «Поддержка модульно планируемых циклов».

Регистры с плавающей точкой от 8 до 32 содержат регистры IA-32 – с плавающей точкой и мультимедиа. Подробнее см. раздел 6.2.5 «Регистры с плавающей точкойIA-32».

3.1.4. Предикатные регистры

Набор из 64 (1-битных) предикатных регистровиспользуется для хранения результатов инструкций сравнения. Эти регистры пронумерованы отPR0 доPR63 и доступны для всех программ на всех уровнях привилегий. Эти регистры используются для условного выполнения инструкций.

Предикатные регистры разделены на два подмножества. Предикатные регистры от 0 до 15 называются статические предикатные регистры. Причем, при использовании в качестве исходного операндаPR0 всегда читается как 1, а при использовании в качестве приемника результат игнорируется. Статические предикатные регистры также используются в условном ветвлении. См. раздел 4.3.1 «Предикация».

Предикатные регистры с 16 по 63 называются ротируемые предикатные регистры. Эти регистры могут быть программно переименованы для ускорения циклов. См. раздел 6.2.5 «Поддержка модульно планируемых циклов».

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